]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
[grub2.git] / ChangeLog
CommitLineData
fc3182c7
VS
12013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
4 unknown types through.
5
f90a3cc0
VS
62013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
9 (grub_util_check_char_device): Likewise.
10 * include/grub/emu/getroot.h: Likewise.
11
1e3e7419
VS
122013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
13
14 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
15 memset rather than inline static function.
16
92c88fc8
VS
172013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
18
19 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
20 not doing embedded decompressor.
21
3cd910a2
VS
222013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
23
24 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
25 shadowing.
26 * grub-core/kern/disk.c: Likewise.
27 * grub-core/kern/misc.c: Likewise.
28 * include/grub/parser.h: Likewise.
29 * include/grub/script_sh.h: Likewise.
30 * include/grub/zfs/zfs.h: Likewise.
31
7b3aca00
VS
322013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
33
34 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
35
97dfe7e4
VS
362013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
37
38 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
39 defined before trying to use it.
40
bf919aa9
VS
412013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
42
43 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
44 warning.
45
f4ccf29d
VS
462013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
47
48 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
49 Use __unused__ rather than __used__ on gcc < 3.2.
50
0d3a6f85
VS
512013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
52
53 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
54 gcc < 4.0.
55 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
56
757e3eb7
VS
572013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
58
59 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
60
fb320faf
VS
612013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
62
63 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
64 * include/grub/emu/misc.h: Likewise.
65
ea73acd2
VS
662013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
67
68 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
69 cur_color.
70
71237a6f
VT
712013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
72
73 * grub-core/tests/checksums.h: Regenerated due to progress bar
74 get_minimal_size changes.
75
3d46c22f
BC
762013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
77
78 Added `tr' command support.
79
80 * grub-core/commands/tr.c: New file.
81 * grub-core/Makefile.core.def: Build rules for new module.
82
83 * tests/grub_cmd_tr.in: New test.
84 * Makefile.util.def: Build rules for new test.
85
47e0a61f
VT
862013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
87
88 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
89
946fd073
VT
902013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
91
92 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
93 * docs/gurb.texi: Likewise.
94
9c13c576
VT
952013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
96
97 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
98 Pixmap highlighted section with east and west slices was displayed
99 incorrectly due to negative width of the central slice.
100
ad543f12
VT
1012013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
102
103 * docs/grub.texi: Graphical options information update.
104 Removed outdated. Updated current. Inserted missed.
105
6176a0cd
VS
1062013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
107
108 * docs/grub.texi: Mention few new platform-specific commands.
109
9688cae2
VS
1102013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
111
112 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
113 currently used so this doesn't really have any effect.
114 Reported by: Douglas Ray <dougray>
115
8154884d
VS
1162013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
117
118 * util/grub-mkstandalone.in: Remove needless copying since we already
119 pass the files to tar.
120
f7b69a3f
VS
1212013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
122
123 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
124 compilation but prevents gcc from displaying messages in non-Latin
125 alphabets.
126 * conf/Makefile.common: Likewise.
127
ceca6ddf
HY
1282013-10-16 Hiroyuki YAMAMORI
129
130 Handle Japanese special keys.
131 Reported by: Hiroyuki YAMAMORI.
132 Codes supplied by: Hiroyuki YAMAMORI.
133
ac48d334
VT
1342013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
135
136 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
137
b2b71bff
VT
1382013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
139
140 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
141 * docs/grub.texi: Likewise.
142
669fc449
VS
1432013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
144
145 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
146 value in case of incomplete read.
147 (grub_util_fd_write): Likewise.
148
59381678
VS
1492013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
150
151 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
152
bacfefbb
VS
1532013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
154
155 * util/grub-editenv.c (create_envblk_file): More from here ...
156 * util/editenv.c (grub_util_create_envblk_file): ... to here.
157
f7c49570
VS
1582013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
159
160 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
161 canonicalize file name before doing the rest.
162
7b83ca44
VS
1632013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
164
165 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
166 mingw32.
167
df1e64c9
VS
1682013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
169
170 Define grub_util_is_directory/regular/special_file and
171 use OS-dependent versions rather than to rely on stat().
172
ec16e026
VS
1732013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
174
175 * util/grub-mkimage.c: Move backend part to ...
176 * util/mkimage.c: ... here.
177
4b4eeb3c
VS
1782013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
179
180 Allow compilation with mingw64 albeit with warnings due to lack of
181 %llx/%llu.
182
183 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
184 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
185 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
186 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
187 on mingw64.
188 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
189
f4e0adc0
VS
1902013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
191
192 Remove leftover references to some of the system headers.
193
e0127364
VS
1942013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
195
196 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
197 read.
198
20d53541
VS
1992013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
200
201 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
202 of strerror.
203
5a869940
VS
2042013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
205
206 Split out blocklist retrieving from setup.c to
207 grub-core/osdep/blocklist.c and add windows implementation since
208 generic version doesn't work on NTFS on Windows due to aggressive
209 unflushable cache.
210
c06c7520
VS
2112013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
212
213 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
214 files.
215
8f53bb3f
VS
2162013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
217
218 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
219 Cut tailing newline. Remove arbitrary limitation. Always use
220 grub_util_tchar_to_utf8.
221
148f1007
VS
2222013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
223
224 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
225 * tests/printf_unit_test.c (printf_test): Add %% tests.
226 Reported by: Paulo Flabiano Smorigo.
227
af3b06be
VS
2282013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
229
230 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
231 implement fsync.
232
27f9d02e
VS
2332013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
234
235 * configure.ac: Check for nvlist_lookup_string in nvpair since we
236 use nvlist_lookup_string and don't use nvlist_print.
237
f6a81f0a
VS
2382013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
239
240 Add wrappers around rename, unlink, mkdir, opendir, readdir and
241 closedir to handle filename charset translation.
242
d7750b32
VS
2432013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
244
245 * include/grub/emu/hostdisk.h: Move file operations to
246 * include/grub/emu/hostfile.h: ... here.
247
2859196e
VS
2482013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
249
250 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
251 unicode path.
252
c018c968
VS
2532013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
254
255 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
256
7e45abce
VS
2572013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
258
259 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
260 and remove export.h.
261
23934da2
VS
2622013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
263
264 * grub-core/kern/emu/error.c: Removed.
265 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
266 explicitly as it's already in libgnu.a.
267
c11ebcc8
VS
2682013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
269
270 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
271 config-util.h include.
272
70671037
VS
2732013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
274
275 Split emunet into platform-dependent and GRUB-binding parts. Keep
276 platform-dependent part in kernel for easy access to OS functions.
277
25ac643a
VS
2782013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
279
280 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
281 open/read/write.
282
69ca5876
VS
2832013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
284
285 * grub-core/osdep/windows/emuconsole.c: New file.
286
d9d68ef0
AB
2872013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
288
289 * conf/Makefile.extra-dist: Add osdep/*/init.c
290
58e211cc
VS
2912013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
292
293 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
294
588744d0
VS
2952013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
296
297 * util/grub-probe.c (probe): Separate different drives in hint-str
298 by spaces and not newlines.
299 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
300
44016e52
AB
3012013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
302
303 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
304 Handle CD-ROMs.
305
6de9ee86
VS
3062013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
307
308 Pass-through unknown E820 types. It required reorganisation of mmap
309 module.
310
f8f3f155
AB
3112013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
312
313 * Makefile.util.def: Add osdep/init.c to grub-mount files.
314
b73249d2
VS
3152013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
316
317 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
318 fseeko.
319
dac86b18 3202013-10-14 qwertial <qwertial>
321
322 * grub-core/gdb_grub.in: Fix overflow and wrong field.
323
17614b84
JM
3242013-10-14 Jon McCune <jonmccune@google.com>
325
326 * docs/grub.texi: Document new signatures possibility.
327
6de292cb
VS
3282013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
329
330 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
331
84379b61
VS
3322013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
333
334 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
335 missing prototype.
336 (grub_util_tchar_to_utf8): Likewise.
337
21d85db1
VS
3382013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
339
340 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
341 * grub-core/kern/emu/main.c: Add missing include.
342 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
343 Don't call grub_util_init_nls.
344 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
345 Likewise.
346
66a1b3ee
VS
3472013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
348
349 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
350 stat.
351
e19bec17
VS
3522013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
353
354 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
355
ee8c1b29
VS
3562013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
357
358 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
359
bb338aaf
VS
3602013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
361
362 Add a wrapper for fopen. On unix-like systems just pass-through. On
363 windows use unicode version.
364
ae5540d3
VS
3652013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
366
367 Move set_program_name and init_nls to host_init. On windows
368 fix in this fuction console and argument charset as well.
369
4cd3c4fe
AB
3702013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
371
372 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
373 GRUB_ENABLE_CRYPTODISK.
374
375 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
376 GRUB_ENABLE_CRYPTODISK.
377 * util/grub-mkconfig_lib.in: Likewise.
378
78170f3e
CCZ
3792013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
380
381 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
382
3414b6c0
MC
3832013-10-12 Melki Christian <Christian.melki@saabgroup.com>
384
385 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
386 error when enabling debug.
387
6d0740e8
IB
3882013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
389
390 * configure.ac: Use -melf_*_obsd on openbsd.
391
ff2d4dc4
VS
3922013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
393
394 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
395
eac6ae82
VS
3962013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
397
398 * include/grub/misc.h: Use gnu_printf rather than printf as format
399 template since our functions are independent of libc.
400
ba9baabe
VS
4012013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
402
403 * util/grub-setup.c (setup): Move copying of partition table as
404 futher up as possible to avoid possible overwrite by floppy routines.
405
4062013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
407
408 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
409
145e2369
VT
4102013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
411
412 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
413 * docs/grub.texi: Likewise.
414
3530bc9d
VS
4152013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
416
417 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
418 it's mostly unused. Move vestiges to the callers.
419
fb9f59c3
VS
4202013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
421
422 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
423 version of salt and hash. Use grub_snprintf rather than snprintf.
424
9be1c255
VS
4252013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
426
427 * docs/grub.texi: Fix problem with braces.
428
ed8c0887
VS
4292013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
430
431 * conf/Makefile.extra-dist: Fix extra-dist list.
432 * grub-core/Makefile.core.def: Likewise.
433
f72ab14e
VS
4342013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
435
436 * docs/grub.texi: Document disk names used on Windows and AROS.
437
2fe53a22
VS
4382013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
439
440 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
441 with AROS devs.
442 * grub-core/osdep/aros/hostdisk.c: Likewise.
443
71c1d67a
VS
4442013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
445
446 Avoid including hostfile.h when not necessarry as it pulls
447 in OS-specific headers which may redefine generic names
448 like "far".
449
ad297ec7
VT
4502013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
451
452 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
453 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
454 scrollbar_bottom_pad
455 * docs/grub.texi: Likewise.
456
6e9e5dc9
VT
4572013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
458
459 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
460
761c718b
VS
4612013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
462
463 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
464
37149a2f
VS
4652013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
466
467 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
468 Removed.
469 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
470 Made static.
471
3837a151
VS
4722013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
473
474 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
475 leftover.
476
caca1c70
VS
4772013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
478
479 Move OS-specific driver configuration to grub_util_fd_open. This
480 moves OS-dependent parts from kern/emu/hostdisk.c to
481 grub-core/osdep/*/hostdisk.c.
482
f7676b70
VS
4832013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
484
485 * util/grub-mkimage.c (generate_image): Use size_t instead of
486 grub_size_t.
487 * util/grub-mkimagexx.c (locate_sections): Likewise.
488 (load_image): Likewise.
489
22f98db2
VS
4902013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
491
492 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
493 size_t.
494 (grub_util_write_image): Likewise.
495
b102ce69
VS
4962013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
497
498 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
499 get random when no RNG is available.
500 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
501
acbbe5cb
VS
5022013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
503
504 * include/grub/util/lvm.h: Removed.
505
2112fb3f
VS
5062013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
507
508 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
509 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
510
79f78fbf
VS
5112013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
512
513 * grub-core/osdep/windows/sleep.c: Add missing config.h.
514
c2e6f705
VS
5152013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
516
517 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
518
aabe433a
VS
5192013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
520
521 * grub-core/net/drivers/emu/emunet.c: Move to ..
522 * grub-core/osdep/linux/emunet.c: ..here.
523
9a2c903f
VS
5242013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
525
526 * util/ieee1275/ofpath.c: Move to ...
527 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
528 * grub-core/osdep/basic/ofpath.c: ..here.
529
4a445f58
VS
5302013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
531
532 Move password-querying (util-version) routines to grub-core/osdep.
533
c1ca4244
VS
5342013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
535
536 Move sleep routines to grub-core/osdep.
537
672fa55e
VS
5382013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
539
540 Move OS-dependent files to grub-core/osdep and document it.
541
a5b0365a
VS
5422013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
543
544 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
545 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
546
29072e99
VS
5472013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
548
549 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
550
f8772ea7
VS
5512013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
552
553 * util/misc.c: Remove leftover inclusion of malloc.h.
554
a1a315e7
VS
5552013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
556
557 * include/grub/setjmp.h: Remove leftover GRUBOF.
558
cef86fef
VS
5592013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
560
561 * util/raid.c: Fold into ...
562 * util/getroot_linux.c: ... here. Make all functions static.
563
c4cf25ee
VS
5642013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
565
566 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
567 macros to GRUB ones.
568
53a5f5c2
VT
5692013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
570
571 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
572 occasional bug. If there are too many boot entries or too low
573 scrollbar height then we need to use another formula to calculate
574 the position and size of the scrollbar thumb.
575
de300af2
VS
5762013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
577
c4cf25ee 578 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 579
c5827364
VT
5802013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
581
582 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
583 * docs/grub.texi: Likewise.
584
dd2ed8b0
VT
5852013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
586
587 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
588 viewport.
589
7286c384
VT
5902013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
591
ffdfc1f3
VT
592 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
593 minimal width calculations.
7286c384 594
ea547e14
VS
5952013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
596
597 * docs/grub.texi: Update note on colors on emu console.
598
b726be76
VS
5992013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
600
601 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
602 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
603 it's FS and not GRUB limitation.
604
a5f6ade6
VS
6052013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
606
607 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
608
3b0f3aa2
VS
6092013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
610
611 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
612
1db38304
ST
6132013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
614
615 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
616 kernels by version order.
617
fb295fc0
VS
6182013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
619
620 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
621
47345010
VS
6222013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
623
624 Add AROS hostdisk and getroot routines.
625
bf25f879
VS
6262013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
627
628 Make cryptodisk and diskfilter probe data retrievable programmatically
629 and not just printable.
630
24ca4512
VS
6312013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
632
633 Split random retrieving code into separate files.
634
c7c177f0
VS
6352013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
636
637 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
638 R_ARM_V4BX.
639
d71b45ae
VS
6402013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
641
642 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
643 condition.
644 * grub-core/tests/fake_input.c: Likewise.
645 * grub-core/tests/cmdline_cat_test.c: Likewise.
646
e44b9a83
VS
6472013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
648
649 * grub-core/video/capture.c: Do not do finalization when .fini
650 is called as there is explicit capture_end.
651
4fa60739
VS
6522013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
653
654 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
655 changing windows to avoid crash.
656
17c8bc37
VS
6572013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
658
659 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
660
9d4d7977
VS
6612013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
662
663 * po/exclude.pot: Add several strings to exclude.
664
0caa407c
VS
6652013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
666
667 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
668
9ae393da
VS
6692013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
670
671 * autogen.sh: Add ./util/grub-gen-widthspec.c and
672 ./util/grub-gen-asciih.c to exclude list.
673
498d5033
VS
6742013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
675
676 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
677 and don't mark error strings for translation.
678
7d93298f
VS
6792013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
680
681 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
682 properly in case of missing block size.
683
b2cae20c
VS
6842013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
685
686 * grub-core/lib/arm/setjmp.S: Add missing license section.
687
3896d6b4
VS
6882013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
689
690 * po/swiss.sed: Add replacement for key names and for term computer.
691
ebc1da55
VT
6922013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
693
694 * grub-core/gfxmenu/theme_loader.c: New global options for the
695 theme background image handling. desktop-image-scale-method,
696 desktop-image-h-align, desktop-image-v-align.
697 * grub-core/gfxmenu/view.c: Likewise.
698 * include/gfxmenu_view.h: Likewise.
699 * include/bitmap_scale.h: Proportional scale functions introduced.
700 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
701 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
702 cases of unexpected input variables for scale functions.
703 * docs/grub.texi: Updated documentation for new options.
704
c5739143
VS
7052013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
706
707 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
708
be74aeb3
VT
7092013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
710
711 * grub-core/tests/checksums.h: Corrected due to changes in
712 bilinear interpolation function.
713
d999ac72
VT
7142013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
715
716 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
717 to eliminate artefacts in bilinear interpolation.
718
2b131610
VS
7192013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
720
721 * grub-core/video/readers/tga.c: Support paletted tga.
722
de6e5ff8
VS
7232013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
724
725 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
726 incorrect cbcr setting when in color mode.
727
fa31ee9c
VS
7282013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
729
730 * grub-core/video/readers/png.c: Support paletted images and clean up
731 greyscale support.
732
e84f8188
VS
7332013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
734
735 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
736 usage of wrong table which resulted in mishandling of 4-byte
737 sequences.
738
7392013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
740
741 * grub-core/term/terminfo.c: Add Home and End key sequences.
742
d72bff09
VS
7432013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
744
745 * grub-core/video/readers/png.c (grub_png_decode_image_header):
746 Fix formula for computing total number of bytes.
747
29648c5d
VS
7482013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
749
750 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
751 image processing, fix big-endian and support grayscale.
752
4a876492
VS
7532013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
754
755 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
756 Correctly will with maximum transparency when using index color.
757
3ccf16df
VS
7582013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
759
760 * grub-core/video/readers/png.c: Support grayscale
761
7622013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
763
764 * grub-core/video/readers/jpeg.c: Support grayscale.
765
3ccf16df 7662013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
767
768 * grub-core/commands/loadenv.c: Support skipping signature check
769 and variable names filtering.
770
30b7f58f
VS
7712013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
772
773 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
774 * grub-core/kern/emu/hostfs.c: Likewise.
775 * util/getroot_unix.c: Likewise.
776
bab7b1eb
VS
7772013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
778
779 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
780 Migrate all explicit defines to this new one.
781
43b1c99d
VS
7822013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
783
784 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
785 grub_util_fd_strerror when using grub_util_fd_*.
786 (grub_util_fd_open_device): Likewise.
787 (grub_util_biosdisk_read): Likewise.
788 (grub_util_biosdisk_write): Likewise.
789 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
790 (grub_util_fd_strerror): Likewise.
791 (grub_util_fd_sync): Likewise.
792 (grub_util_fd_close): Likewise.
793 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
794 (grub_util_fd_close): Likewise.
795 (grub_util_fd_strerror): Likewise.
796 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
797 function proto rather than macro.
798 (grub_util_fd_sync): Likewise.
799 (grub_util_fd_open): Likewise.
800 (grub_util_fd_strerror): New proto.
801
e8fd80bc
VS
8022013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
803
804 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
805 platforms on which it doesn't work.
806
bf645fda
VS
8072013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
810 stat immediately to where it's used.
811
5177ba14
VS
8122013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * util/getroot.c (grub_util_check_block_device): Move to ...
815 * util/getroot_unix.c (grub_util_check_block_device): ... here.
816 * util/getroot.c (grub_util_check_char_device): Move to ...
817 * util/getroot_unix.c (grub_util_check_char_device): ... here.
818
9db826e1
VS
8192013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
820
821 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
822 disk closing logic.
823
49120085
AB
8242013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
825
826 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
827
b3328b68
AB
8282013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
829
830 * docs/grub.texi (File name syntax): Document ZFS filenames
831 (/volume@snapshot/...).
832
3fff48ab
VS
8332013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
834
835 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
836 Always return full path. Fixes a problem with mkrelpath.
837
39cfdaa9
PFS
8382013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
839
840 * util/grub-install.in: Add GPT PReP support.
841 * util/grub-probe.c (probe): Support GPT partition type.
842 (main): Support -t gpt_parttype.
843
7c680e1f 8442013-09-23 Aleš Nesrsta <starous@volny.cz>
845
846 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
847
890bdabe
MM
8482013-09-23 Massimo Maggi <me@massimo-maggi.eu>
849
850 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
851
9c262ff9
TH
8522013-09-23 Tim Hardeck <thardeck>
853
854 * util/grub.d/10_hurd.in: Filter out character for the class.
855 * util/grub.d/10_kfreebsd.in: Likewise.
856 * util/grub.d/10_linux.in: Likewise.
857 * util/grub.d/20_linux_xen.in: Likewise.
858
d755342a
MC
8592013-09-23 Melki Christian <Christian.melki@saabgroup.com>
860
861 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
862 "changed".
863
68b77707
JT
8642013-09-23 Josh Triplett <josh@joshtriplett.org>
865
866 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
867 boot partition.
868
efa68bfa
VS
8692013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
870
871 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
872 doesn't use posix_wrap. Keep literal -fno-builtin however.
873
d9104204
VS
8742013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
875
876 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
877
c248781a 8782013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
8792013-09-23 neil
880
5830df88 881 * configure.ac: Do not enable -Wmissing-noreturn as its
882 usefulness is limited and creates problems on some OS notably with
883 code generated by bison.
884
8852013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
8862013-09-23 neil
887
888 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 889 supported by all gcc and when it is, it's already enabled by -Wall.
890
621bed69
VS
8912013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
892
893 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
894 desactivated use of EDID at all.
895
71764dc8 8962013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
8972013-09-23 neil
898
899 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
900 video if no text is available.
901
affce7d4 9022013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
9032013-09-23 neil
904
905 * configure.ac: Substitute TARGET_RANLIB.
906
9072013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
9082013-09-23 neil
affce7d4
VS
909
910 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
911
912 Based on patches from AROS.
913
0e8daad0 9142013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 9152013-09-23 neil
0e8daad0
VS
916
917 * grub-core/Makefile.am: Override STRIP and RANLIB.
918 * configure.ac: compute TARGET_RANLIB.
919 * INSTALL: Document TARGET_RANLIB
920
921 Based on patches from AROS.
922
3f7d9c82
VS
9232013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
924
925 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
926 that floppies are unpartitioned.
927
bca8873a
VS
9282013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
929
930 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
931 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
932
9332013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
934
935 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
936 less nice but more portable.
937 * grub-core/lib/posix_wrap/wchar.h: Likewise.
938
a47a78be
VS
9392013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
940
941 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
942 for cheat_fd.
943 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
944 functions.
945 (grub_cryptodisk_cheat_insert): Likewise.
946 (grub_cryptodisk_close): Likewise.
947
e85a5d5c
VS
9482013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
949
950 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
951 Use windows path for DEFAULT_DIRECTORY.
952
dad9fa6b
VS
9532013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
954
955 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
956 difference was likely just gcc version, not anything mingw-related.
957
7e518ca8
VS
9582013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
959
960 Use Winapi on both cygwin and mingw32 to share more code between both.
961
d68d0157
AB
9622013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
963
964 * util/grub-install.in: Add --grub-editenv option.
965 * util/grub-install_header (grub_compress_file): Explicitly check for
966 plain file to avoid cp error.
967
775b284d
AB
9682013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
969
970 * docs/grub.texi (Device syntax): Document new LVM UUID based device
971 names; fix LVM driver name (lvm, not lv).
972 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
973 names.
974
3ff4063d
VS
9752013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
976
977 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
978 files rather than one file with loads of #if's.
979 * util/getroot.c: Likewise.
980
287faafe
VS
9812013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
982
983 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
984
d1983764
VS
9852013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
986
987 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
988 GNU/Hurd to the list of checked PRNG.
989
15ce95c4
VS
9902013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
991
992 * configure.ac: On FreeBSD use -melf_*_fbsd format.
993
207862dd 9942013-09-21 Ales Nesrsta <starous@volny.cz>
995
7c680e1f 996 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 997
63653cfd
VS
9982013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
1001 * grub-core/disk/lvm.c: Add LVM UUIDs.
1002 * util/getroot.c: Use LVM UUIDs whenever possible.
1003
f5d3e7ef
AB
10042013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
1005
1006 * docs/grub.texi (Networking commands): Add documentation for
1007 network related commands.
1008
53c6b7d6
VS
10092013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1010
1011 * util/getroot.c (grub_util_open_dm): Check major rather than the name
1012 to determine if device is handled by devmapper.
1013 (convert_system_partition_to_system_disk): Likewise.
1014 (get_dm_uuid): Don't check explicitly if device is mapped, it's
1015 already done in grub_util_open_dm.
1016
e70d6736
LL
10172013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
1018
1019 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
1020 Clean up stack manipulation (sync_caches_armv*)
1021
90379808
VS
10222013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1023
1024 * util/lvm.c: Remove since unused. Remove remaining references.
1025
386701a8
VS
10262013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 Handle the case of partitioned LVM properly.
1029
1030 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1031 Stop on meeting LVM, mpath or DMRAID.
1032 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
1033 (read_device_map): Likewise.
1034 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
1035 device is full disk rather than erroring out on LVM and similar cases.
1036
53070787
VS
10372013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1038
1039 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
1040
1bc783bd
VS
10412013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1042
1043 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
1044 4K before the end.
1045 Reported by: Leif Lindholm
1046
436ad5c3
PW
10472013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
10482013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1049
1050 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
1051 codes.
1052
607319c9
CW
10532013-09-18 Colin Watson <cjwatson@ubuntu.com>
1054
1055 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
1056 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
1057
d404d154
DR
10582013-09-18 Douglas Ray <dougray@cpan.org>
1059
1060 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
1061 as secure.
1062
28851ef6
AN
10632013-09-18 Aleš Nesrsta <starous@volny.cz>
1064
1065 * docs/grub.texi: Fix broken link.
1066
897c3bc6
MC
10672013-09-18 Melki Christian <Christian.melki@saabgroup.com>
1068
1069 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
1070 to break endless loop.
1071
f1630459
VS
10722013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 * util/grub-fstest.c: Fix several printf formats.
1075 * util/grub-mkimage.c: Likewise.
1076 * util/grub-mkimagexx.c: Likewise.
1077 * util/grub-script-check.c: Likewise.
1078
64463dfd
VS
10792013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1080
1081 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
1082 error.
1083
48972495
VS
10842013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
1087
5dd5e64b
VS
10882013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
1091 removed in current versions cygwin_conv_*.
1092
1c1f31e5
VS
10932013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1094
1095 * configure.ac: Disable efiemu runtime on cygwin.
1096
c546a259
VS
10972013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1098
1099 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
1100 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
1101
81690478
VS
11022013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1103
1104 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
1105 error message.
1106
6b87c10a
VS
11072013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1108
1109 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
1110 windows variant.
1111 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
1112 data.
1113
8f0baaac
VS
11142013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1115
1116 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
1117 when on x86 and not cygwin.
1118 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
1119 -Wl,-melf_x86_64.
1120
b224c266
VS
11212013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 * configure.ac: Set CPP to build one when checkoing for freetype for
1124 build.
1125
506b336b
VS
11262013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
1129 [!GRUB_BUILD]: Remove has_argument.
1130
8c8c87b7
VS
11312013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
1134 Replace with a dummy.
1135
7dc5ca13
VS
11362013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1137
1138 * configure.ac: Don't change host_os from mingw to cygwin.
1139
c3302aa5
VS
11402013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 * configure.ac: Change target_os from windows to cygwin.
1143
7b780018
VS
11442013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 Handle grub-pe2elf and grub-mkfont for cases when build != host.
1147
1148 * Makefile.am (build-grub-mkfont): Don't include gnulib.
1149 (build-grub-gen-asciih): Likewise.
1150 (build-grub-gen-widthspec): Likewise.
1151 * Makefile.util.def (grub-pe2elf): Remove.
1152 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
1153 * configure.ac: Separate tests for build.
1154 Move ./build-grub-pe2elf to grub-core.
1155 Fix typo.
1156 * grub-core/Makefile.am (build-grub-pe2elf): New target.
1157 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
1158 defined.
1159 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
1160 constants.
1161 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
1162 * util/grub-pe2elf.c: Simplify not to rely on getopt.
1163 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
1164
984cfd8a
VS
11652013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1166
1167 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
1168 mingw32 as well based on grub_util_get_disk_size.
1169 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
1170 grub_util_get_fd_size.
1171 (sync): Removed.
1172 (fsync): Moved to ...
1173 * grub-core/kern/emu/misc.c (fsync): ... here.
1174
f82d79c9
VS
11752013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 * include/grub/mm.h (grub_extend_alloc): Remove.
1178 * grub-core/loader/i386/pc/plan9.c: Use own version of
1179 grub_extend_alloc with appropriate types.
1180
fd7dd66d
VS
11812013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1182
1183 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
1184
43ffba7c
VS
11852013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1186
1187 * util/getroot.c: Include sys/wait.h only when we need waitpid.
1188
3c7eac44
VS
11892013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1190
1191 Fix dependencies on cygwin.
1192
1193 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
1194 dependencies when used and defined.
1195 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
1196
bdb5ba47
VS
11972013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1198
1199 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
1200 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
1201
ed7fbf43
VS
12022013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1203
1204 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
1205 implementation available to cause compile-time rather than runtime
1206 error.
1207
fc46e9fc
VS
12082013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1209
1210 * util/grub-fstest.c: Don't check for symlinks on windows.
1211
7f68269a
VS
12122013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1213
1214 * INSTALL: Mention unavailability of man pages when cross-compiling.
1215
8ed358e0
VS
12162013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1217
1218 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
1219 and gcry_log_bug.
1220 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
1221
fc97214f
VS
12222013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 * INSTALL: Document cross-compilation.
1225 * acinclude.m4: Determine whether nm support -P and --defined-only.
1226 * configure.ac: Add TARGET_ to all variables pertaining to target
1227 that don't have it yet.
1228 * gentpl.py: Likewise.
1229 * grub-core/Makefile.am: Likewise.
1230 * grub-core/genmod.sh.in: Likewise.
1231 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
1232 as well.
1233
ca1fb563
IB
12342013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
1235
1236 * configure.ac: Remove -Wempty-body. It's not essential and needs
1237 recent gcc.
1238
0031b229
IB
12392013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
1240
1241 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
1242 * util/getroot.c: Likewise.
1243
54ea2f44
VS
12442013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1245
1246 * grub-core/disk/ahci.c: Add needed explicit cast.
1247 * grub-core/lib/backtrace.c: Likewise.
1248 * grub-core/net/ip.c: Likewise.
1249 * grub-core/net/tcp.c: Likewise.
1250 * grub-core/net/udp.c: Likewise.
1251
3c601f8c
VS
12522013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1253
1254 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
1255
1d679dda
VS
12562013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1257
1258 * util/import_gcry.py: Add final newline in visibility.h.
1259
00c28dd9
VS
12602013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1261
1262 * conf/Makefile.common: Fix typo.
1263
32af299a
VS
12642013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1265
1266 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
1267
e733cf52
VS
12682013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 * Makefile.am (widthspec.h): Fix typo.
1271 * util/grub-gen-widthspec.c: Likewise.
1272
c6b066f2
VS
12732013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1274
1275 Move ascii.h and widthspec.h generation to a separate build-time-only
1276 tool.
1277
ad1fe3f9 12782013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
1279
1280 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
1281 Always fill bootdisk info and improve check for NetBSD disklabel.
1282
92a52dd4
VS
12832013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1284
1285 * conf/Makefile.extra-dist: Add util/bin2h.c.
1286 Reported by: floppym.
1287
b2e9d276
VS
12882013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1289
1290 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
1291
7b966834
VS
12922013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1293
1294 * configure.ac: Disable unifont and starfield if no freetype was found.
1295
d5c1eef1
VS
12962013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
1299 on NetBSD and OpenBSD.
1300
66345b50 13012013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
1302
1303 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
1304
66345b50 13052013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
1306
1307 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
1308 reduced. Inheritant options are processed during the theme loading.
1309
66345b50 13102013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
1311
1312 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
1313
369508b3
AS
13142013-08-14 Avik Sil <aviksil@in.ibm.com>
1315
1316 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
1317
13182013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
1319
1320 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
1321 using qemu.
1322
6f27a3f6
PFS
13232013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1324
1325 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
1326 remove-potcdate.sed.
1327
c6ed362a
AB
13282013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1329
1330 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
1331 unused attribute from pull argument.
1332
5e7d9464
AB
13332013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1334
1335 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
1336 memory leak.
1337
dea55e2a
AB
13382013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1339
1340 * util/getroot.c (pull_lvm_by_command): add --separator option
1341 to vgs call to disable padding of output to 10 characters.
1342
f0b94ded
VS
13432013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1344
1345 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
1346 here ...
1347 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
1348 here.
1349
b828fb5d
VS
13502013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1351
1352 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
1353 length.
1354
7c9d0c39
VS
13552013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1356
1357 Fix handling of build-time grub-bin2h and grub-mkfont when doing
1358 full Canadian cross. Tested with build=x86_64, host=arm,
1359 target=ppc-ieee1275.
1360
816719c8
VS
13612013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1362
1363 * configure.ac: Error if no $BUILD_CC could be found.
1364 Reported by: DevHC.
1365
2af2353b
VS
13662013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1367
1368 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
1369 i386-multiboot.
1370
797abd0a
VS
13712013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1372
1373 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
1374 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
1375
36e87d25
CW
13762013-08-13 Colin Watson <cjwatson@ubuntu.com>
1377
1378 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
1379 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
1380 falling back to the partition device, otherwise a later call to this
1381 function may fail spuriously.
1382 Reported by Axel Beckert. Fixes Debian bug #708614.
1383
273349fe
GS
13842013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
1385
1386 * autogen.sh: Replace find -not by the POSIX-compliant find !.
1387
418f86c6
GS
13882013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
1389
1390 Prevent shadowing of stdlib's devname(3) on BSD.
1391
1392 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
1393 and devlast to diskname and disklast, respectively.
1394
c137aea0
CW
13952013-08-11 Colin Watson <cjwatson@ubuntu.com>
1396
1397 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
1398
272dc8df 13992013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
1400
1401 * docs/grub.texi: Introduce terminal window position options:
1402 terminal-left: terminal window's left position
1403 terminal-top: terminal window's top position
1404 terminal-width: terminal window's width
1405 terminal-height: terminal window's height
1406 terminal-border: terminal window's border width
1407 * grub-core/gfxmenu/theme-loader.c: Likewise.
1408 * include/grub/gfxmenu_view.h: Likewise.
1409 * po/exlude.pot: Likewise.
1410 * grub-core/gfxmenu/view.c: Likewise.
1411 Also updated minimal window size.
1412 Also terminal_sanity_check function has been introduced.
272dc8df
VT
1413 * grub-core/tests/checksums.h: Update (terminal window height
1414 is adjusted now for low resolution screen)
b4743461 1415
748a4533
VS
14162013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1417
1418 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
1419 position).
1420
fca5f944
VS
14212013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1422
1423 * po/exclude.pot: Add few recent exceptions.
1424
4f47d809
VS
14252013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1426
1427 * tests/grub_func_test.in: Add unicode.pf2.
1428
a62ae90c
VS
14292013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1430
1431 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
1432 standard rather than noral color, in line with other terminals.
1433
4ed41392
VS
14342013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
1437 analysis.
1438
3719fbc5
VS
14392013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 * grub-core/loader/arm/linux.c: Change printf to dprintf.
1442
459b1d91
VS
14432013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1444
1445 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
1446 inappropriate printf.
1447
f4e1ab9d
AB
14482013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
1449
1450 * .bzrignore: Remove grub-core/lib/dtc-grub,
1451 grub-core/Makefile.libfdt.def
1452 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
1453
fa471bfa
VS
14542013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1455
1456 * include/grub/video.h (grub_video_register): Keep double-linked as
1457 well as single-linked invariants.
1458 Reported by: qwertial.
1459
d65be02b
VS
14602013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1461
1462 * grub-core/commands/nativedisk.c (get_uuid): Handle
1463 GRUB_DISK_DEVICE_UBOOTDISK_ID.
1464
ba8bc620
VT
14652013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
1466
1467 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
1468 maximum of NW, N, NE heights instead of N's height and maximum of
1469 NW, W, SW widths instead of W's width. (So the box will be always
1470 correctly drawn)
1471
4f0ad029
GS
14722013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
1473
1474 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
1475 Fix misuse of variable count.
1476
43d53b72
LL
14772013-07-18 Leif Lindholm <leif.lindholm@arm.com>
14782013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
14792013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 1480
43d53b72
LL
1481 New ports to arm-uboot and arm-efi.
1482 Mostly by Leif Lindholm with some additions from
1483 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 1484
88f8d146
VS
14852013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1486
1487 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
1488 and not before.
1489 Reported by: Leon Drugi.
1490
3f42504c
VS
14912013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1492
1493 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
1494 Reported by: Paulo Flabiano Smorigo.
1495
d110499b
VT
14962013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
1497
1498 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
1499
a8674ad3
VT
15002013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
1501
1502 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
1503
286fe4b3
VS
15042013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1505
1506 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
1507
1bd57aa3
VS
15082013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1509
1510 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
1511
7a87d69f
AB
15122013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
1513
1514 * grub-core/net/bootp.c: Export net_* variables.
1515 * grub-core/net/net.c: Likewise.
1516
b2182299
VS
15172013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1518
1519 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
1520
795b3dc0
VS
15212013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
1524
68714c43
VS
15252013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
1528
af211bab
VS
15292013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1530
1531 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
1532
0036f02d
MM
15332013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1534
1535 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
1536 <= 0.
1537
6d0ddff3
MM
15382013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1539
1540 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
1541 functions.
1542
038016f4
MM
15432013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1544
1545 * grub-core/fs/zfs/zfs_lz4.c: New file.
1546 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
1547
776bdce2
MM
15482013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1549
1550 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
1551
c71dbd40
MM
15522013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1553
1554 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
1555 (check_pool_label): Likewise.
1556 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
1557
15582013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
1559
1560 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
1561
8e67b50f
AB
15622013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
1563
1564 * docs/grub.texi (Commands): Document postition parameters
1565 for menuentry command.
1566
f5ae3717
AB
15672013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
1568
1569 * util/grub-mknetdir.in: Remove stray line from help output.
1570
9c28da2a
VS
15712013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 Remove early sm712 init as there is no reason for it (the "watchdog"
1574 effect was due to wrong GPIO map).
1575
139072b8
VS
15762013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1577
1578 * grub-core/commands/pcidump.c: Remove static variables.
1579
c6a61bda
VS
15802013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1581
1582 * grub-core/commands/sleep.c: Refresh screen before sleeping.
1583
51369614
VS
15842013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1585
1586 * configure.ac: Move delimiter after the infos.
1587
efa8640a
VS
15882013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1589
1590 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
1591
6f80a7b2
VS
15922013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1593
1594 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
1595 not filling whole 8x16 space.
1596
a2371e19
VS
15972013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1598
1599 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
1600
64fce2d8
VS
16012013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1602
1603 * configure.ac: Indicate which liblzma is used if any.
1604
eb272d84
PW
16052013-06-21 Paul Wise <pabs3@bonedaddy.net>
16062013-06-21 Craig Sanders <savannah@taz.net.au>
1607
1608 * util/grub-reboot.in: Document submenu usage.
1609
a9e5abee
CW
16102013-06-25 Colin Watson <cjwatson@ubuntu.com>
1611
1612 * .bzrignore: Update with a number of new test-related files.
1613
e639c204
CW
16142013-06-25 Colin Watson <cjwatson@ubuntu.com>
1615
1616 * util/grub-script-check.c: Fail on scripts containing no
1617 commands, to guard against corrupted grub-mkconfig setups that
1618 produce no useful output.
1619 * tests/grub_script_no_commands.in: New test.
1620 * Makefile.util.def (grub_script_no_commands): Add.
1621 Reported by Hans Putter. Fixes Debian bug #713886.
1622
a4c89b17
AB
16232013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1624
1625 * grub-core/disk/diskfilter.c: Forgot to remove comment
1626 from previous commit.
1627
5b06b53c
AB
16282013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1629
1630 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
1631 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
1632
702da5c9
AB
16332013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1634
1635 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
1636
aa62a5b7
AB
16372013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1638
1639 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
1640 rescan diskfilter devices until nothing new is found.
1641
4aa237c8
VS
16422013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 Fix casts when compiling coreboot-specific code for 64-bit EFI.
1645
93d8479b
VS
16462013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1647
1648 Don't try to detect cbfs on *-emu.
1649
837222cc
VS
16502013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1651
1652 * grub-core/term/gfxterm.c: USe right background color when scrolling.
1653
99c971af
VS
16542013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1655
1656 Add support for processed coreboot payload chainloading.
1657
e6930a45
VS
16582013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1659
1660 Enable coreboot information commands even when not loaded as
1661 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
1662
5027af38
VS
16632013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1664
1665 Support for cbfs. Also factor out the part which is common
1666 for all archives to a separate module. This splits tar from cpio
1667 as they are very different but keeps cpio, cpio_be, odc and newc
1668 together since they're very similar.
1669
a5b55c4b
DM
16702013-06-15 David Michael <fedora.dm0@gmail.com>
1671
1672 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
1673 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
1674
0301a8b3
VS
16752013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1676
1677 * tests/grub_script_eval.in: Really add the eval test.
1678
3d84cb17
VS
16792013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
1680
1681 Move flavour-specific parts out of common cpio.c file and
1682 rename remaining to cpio_common.c
1683
593e430c
AB
16842013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1685
1686 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
1687 off new function grub_script_execute_new_scope. Change callers to use
1688 either of them as appropriate.
1689 * grub-core/commands/eval.c: New command eval.
1690 * docs/grub.texi (Commands): Document it.
1691
63c29849
AB
16922013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1693
1694 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
1695 to fetch values when listing.
1696
cc284112
AB
16972013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1698
1699 Fix make dist on non-pc.
1700
17012013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
1702
1703 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
1704 without a device name.
1705
69544d1e
VS
17062013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1707
1708 Remove enable_executable_check as it's not needed anymore.
1709 Reported by: dougray.
1710
96dbe648
VS
17112013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1712
1713 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
1714 ambigouos RAID before discovering RAIDs on top of it.
1715 Reported by: bodom.
1716
ccfc0bdb
VS
17172013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1718
1719 Fix typo (failback vs fallback).
1720
f2587088
AB
17212013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
1722
1723 * util/grub.d/30_os-prober.in: Add support for probing EFI
1724 System Partition (as of os-prober 1.58).
1725
cec5cf0c
VS
17262013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1727
1728 * configure.ac: Add yet another path to unifont. For parabola.
1729
e40b4596
JT
17302013-05-30 Josh Triplett <josh@joshtriplett.org>
1731
1732 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
1733 handling to copy the killed characters to the kill buffer as
1734 UCS4 stored as grub_uint32_t rather than as 8-bit characters
1735 stored as char. Eliminates UCS4 truncation and corruption
1736 observed when killing characters with Ctrl-u and yanking them
1737 back with Ctrl-y.
1738
fc4c4fdd
VS
17392013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1740
1741 Detach optional parts of gfxterm and integrate in with coreboot init.
1742
6570b205
VS
17432013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1744
1745 Move blit and fill dispatcher to appropriate files to decrease export
1746 and relocation overhead.
1747
b8323067
VS
17482013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1749
1750 * grub-core/font/font.c, include/grub/font.h: Inline simple font
1751 functions.
1752
3cc1878f
VS
17532013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1754
1755 * grub-core/Makefile.am: Fix compilation problem with some
1756 automake versions.
1757
4b80e43c
VS
17582013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1759
1760 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
1761
57e0c20c
VS
17622013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1763
1764 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
1765 automake versions.
1766
4fd42c53
VS
17672013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1768
1769 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
1770 SSDT.
1771
1e908b34
RS
17722013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
1773
1774 * grub-core/partmap/dfly.c: New partition map.
1775
1359e474
VS
17762013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1777
1778 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
1779 checking.
1780 Reported by: Francesco Lavra.
1781
17806392
AB
17822013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
1783
1784 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
1785 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
1786 false conditions.
1787 * conf/Makefile.common: define dist_grubconf_DATA
1788
cdce14fa
VS
17892013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1790
1791 Progressively skip menu elements on small terminals rather
1792 than crashing.
1793
c8d6cc3c
VS
17942013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1795
1796 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
1797 to avoid losing last column.
1798
a73b31ce
VS
17992013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1800
1801 * po/exclude.pot: Add missing string "%C".
1802
1202c764
VS
18032013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1804
1805 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
1806 after the test.
1807
50268344
VS
18082013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1809
1810 * util/grub-install.in: Gettextize "Not found" message.
1811
62b15edf
VS
18122013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1813
1814 Fix distfiles list.
1815 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1816
18172013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
1818
1819 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
1820 present.
1821 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
1822
709ad61b
VS
18232013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1824
1825 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
1826
d128901a
VS
18272013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1828
1829 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
1830 attribute since structure is not necessarily aligned.
1831
34b22f5c
AB
18322013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
1833
1834 * docs/grub.texi (Device syntax): Clarify description of network
1835 drives.
1836
0f7e980b
VS
18372013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1838
1839 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
1840 for vasprintf presence.
1841
30b03dc2
VS
18422013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1843
1844 * util/grub-install.in: Handle efibootmgr presence check.
1845 Reported by: Leif Lindholm.
1846
0dc11c08
VS
18472013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1848
1849 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
1850 new strings to translate.
1851
f8024c3f
VS
18522013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1853
1854 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
1855 yet another string (pun intended) to translate.
1856
b4c1da62
VS
18572013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1858
1859 * po/POTFILES-shell.in: Autogenerate it.
1860
0ef7478b
VS
18612013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1862
1863 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
1864
8200fa15
VS
18652013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1866
1867 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
1868 misnomer.
1869
091945b2
AB
18702013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
1871
1872 * docs/grub.texi (Network): Add description of net_default_interface,
1873 net_default_ip and net_default_mac. Rewrite variables description
1874 to emphasize that they are per-interface.
1875
0e7b2e32
VS
18762013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 New test: cmdline and cat.
1879
16f7c8f6
VS
18802013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1881
1882 * grub-core/commands/cat.c: Show UTF-8 characters.
1883
3e912fda
VS
18842013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1885
1886 * conf/Makefile.common: Poison float and double on non-emu.
1887
ee0220bc
VS
18882013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1889
1890 * configure.ac: Don't disable extended registers on emu.
1891
89e0240c
VS
18922013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1893
1894 * configure.ac: Don't use extended registers on x86_64.
1895 Reported by: Peter Jones.
1896
e56d9637
VS
18972013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1898
1899 * grub-core/term/efi/console.c: Fix compile error.
1900
8098f655
VS
19012013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1902
1903 Compressed HFS+ support.
1904
16940e07
VS
19052013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
1908 pixel".
1909
c5dbc13d
VS
19102013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1911
1912 Menu color test.
1913
011f8ae8
VS
19142013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 * grub-core/tests/setjmp_test.c: New test.
1917
2aa072d7
VS
19182013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 New variables 'net_default_*' to determine MAC/IP of default interface.
1921
43fe02cb
VS
19222013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1923
1924 * tests/gettext_strings_test.in: A test to check for strings not
1925 marked for translation.
1926
bed06142
VS
19272013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1928
1929 * autogen.sh: Exclude unused libgcrypt files from translation.
1930
fb2666b5
VS
19312013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1932
1933 Simplify few strings.
1934
d22840ec
VS
19352013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1936
1937 Mark few forgotten strings for translation.
1938
e34092fd
VS
19392013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1940
1941 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
1942 rather than printf.
1943
47cf82b4
VS
19442013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1945
1946 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
1947 rather than printf.
1948 * grub-core/video/readers/tga.c: Likewise.
1949
1eed0e6e
VS
19502013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1951
1952 * tests/priority_queue_unit_test.cc: New test.
1953
c5b7697b
VS
19542013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1955
1956 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
1957 than printf.
1958
5945c2f8
AB
19592013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
1960
1961 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
1962 variable for one time boot menu entry.
1963
fa292343
B
19642013-05-05 Bean <bean123ch@gmail.com>
1965
1966 * grub-core/commands/testspeed.c: New command testspeed.
1967
310d4214
VS
19682013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1969
1970 Factor-out human-size printing.
1971
85002bf3
VS
19722013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1973
1974 Agglomerate more mallocs to speed-up gfxterm.
1975
22b06e96
VS
19762013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 Speed-up gfxterm by slightly agglomerating mallocs.
1979
b7c036bc
VS
19802013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1981
1982 More video checks.
1983
92323d1f
VS
19842013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1985
1986 Speed-up gfxterm by saving intermediate results in index+alpha
1987 format.
1988
0fb356a3
VS
19892013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1990
1991 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
1992 test.
1993
44dea3f9
VS
19942013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1995
1996 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
1997 line of timeout as it may contain the rest of long line.
1998
14af86e4
VS
19992013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2000
2001 * grub-core/normal/main.c: Fix freed memory dereference.
2002
03f7c8c3
VS
20032013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2004
2005 Fix several memory leaks.
2006
c686014c
VS
20072013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2008
2009 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
2010
0788a695
VS
20112013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2012
2013 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
2014
daf01d61
VS
20152013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2016
2017 Fix test -a and -o precedence.
2018 Reported by: adrian15.
2019
82ae74d7
VS
20202013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2021
2022 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
2023
8cec7bd4
AB
20242013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
2025
2026 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
2027 and add it as source to functional_test module.
2028
aa73d688
VS
20292013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2030
2031 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
2032
c104b6f9
VS
20332013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2034
2035 New series of tests for gfxterm and gfxmenu.
2036
7391c4d5
VS
20372013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2038
2039 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
2040 the theme path relative to $prefix/themes.
2041
cff50118
VS
20422013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2043
2044 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
2045 Fix order bug.
2046 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
2047
7c332bdc
VS
20482013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
2051 descriptor.
2052
a4f9a5ff
VS
20532013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2054
2055 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
2056 grub_gfxmenu_timeout_notifications.
2057 (grub_gfxmenu_view_destroy): Likewise.
2058
b5a2114d
VS
20592013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2060
2061 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
2062
a8905e8a
VS
20632013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2064
2065 Several fixes to ieee1275 and big-endian video.
2066
813c1622
VS
20672013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2068
2069 Add missing exports on mips.
2070
3f3e7326
VS
20712013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
2074 if no unifont is found.
2075 Restore original keyboard.
2076
095accd1
VS
20772013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2078
2079 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
2080 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
2081
50361660
VS
20822013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2083
2084 First automated video test (running videotest and comparing results)
2085
cd0f6eec
VS
20862013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2087
2088 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
2089 instead of 2 to have full RGB/CMY test pattern.
2090
3f9634e5
VS
20912013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2092
2093 Add few more tests.
2094
583e5b64
VS
20952013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2096
2097 * include/grub/arc/arc.h: Account for missing "other" peripheral on
2098 ARCS. All users updated.
2099
aa7bcb99
VS
21002013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2101
2102 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
2103
95ef1a54
VS
21042013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2105
2106 * grub-core/partmap/amiga.c: Fix size of checksummed block.
2107
46546fc5
VS
21082013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2109
2110 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
2111 Reported by: qwertial.
2112
3476e0ef
VT
21132013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
2114
2115 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
2116 with syntax "XXX deg"/"XXX °".
2117
96f33fed
VS
21182013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 Make PCI init in i386-qemu port more robust.
2121
21222013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
2123
2124 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
2125 cached view is reused.
2126 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
2127 open boot menus.
2128
c53b4e67
VS
21292013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2130
2131 Unify more code in grub-install_header.
2132
f7457fb2
VS
21332013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 Add few new tests.
2136
e2f27a8c
VS
21372013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 Enforce disabling of firmware disk drivers when native drivers kick in.
2140
ef9d8cd5
VS
21412013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2142
2143 * grub-core/commands/nativedisk.c: Customize the list of modules on
2144 platform. Don't try to search for disks already using native drivers.
2145
f7bf6c31
VS
21462013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2147
2148 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
2149 platforms.
2150
bdc4add8
VS
21512013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2152
2153 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
2154 handling of variables containing backslash.
2155
e9e46c9a
VS
21562013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
2159 dereference.
2160 Reported by: qwertial.
2161
0e90dee8
VS
21622013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2163
2164 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
2165
e0aacf24
VS
21662013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2167
2168 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
2169 dereference.
2170 Reported by: qwertial.
2171
3c0003c3
VS
21722013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2173
2174 * docs/grub.texi: Add a comment about usefullness of nativedisk.
2175
adb7d667
VS
21762013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2177
2178 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
2179
7cd0df84
VS
21802013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2181
2182 New command `nativedisk'.
2183
02adbb93
VS
21842013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2185
2186 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
2187 * grub-core/loader/i386/bsd.c: Likewise.
2188
9fb0fd4f
VS
21892013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2190
2191 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
2192
bd69257a
VS
21932013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2194
2195 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
2196 grub_get_unaligned16 rather than shifts.
2197
178c2764
VS
21982013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2199
2200 * grub-core/kern/file.c: Use const char * rather than casting to
2201 non-const.
2202
eadfad24
VS
22032013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2204
2205 * grub-core/commands/probe.c: Add missing grub_device_close.
2206
9f73ebd4
VS
22072013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 * INSTALL: Document linguas.sh.
2210
965fa829
VS
22112013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2212
2213 Remove POTFILES.in and regenerate it in autogen.sh.
2214
d417ddc4
VS
22152013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2216
2217 Move --directory/--override-directorry to grub-install_header and unify.
2218
f97ec546
VS
22192013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2220
2221 * grub-core/term/morse.c: Macroify dih and dah.
2222
b2d7470c
PFS
22232013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2224
2225 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
2226
141e2a78
VS
22272013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 * grub-core/term/ns8250.c: Systematically probe ports by writing
2230 to SR before using them.
2231
1dd70ebd
PFS
22322013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2233
2234 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
2235 disks.
2236 (check_sas): Get sas_adress info.
2237
c796a107
VS
22382013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
2241 ports.
2242
43168646
LD
22432013-04-27 Leon Drugi <eyak>
2244
2245 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
2246 BSS clearing.
2247
e7b8fd08
VS
22482013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2249
2250 Core compression test.
2251
17f9fd29
VS
22522013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2253
2254 Implement grub_machine_get_bootlocation for ARC.
2255
dc2a6c8b
VS
22562013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 Improve AHCI detection and command issuing.
2259
f25a2ba6
VS
22602013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2261
2262 Fix pseries test.
2263
a6393224
VS
22642013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2265
2266 Make 'make check' work on emu.
2267
db99fbe8
VS
22682013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 Replace libcurses with our own vt100 handling for the ease of testing
2271 and decreasing prerequisites.
2272
b24ca7cd
VS
22732013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
2276
63314aa4
VS
22772013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2278
2279 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
2280 compile when not needed.
2281
c1b00fff
VS
22822013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2283
2284 * tests/pseries_test.in: New test.
2285
f93e89ef
VS
22862013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2287
2288 Add test to check that different boot mediums work.
2289
c4b456d3
VS
22902013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2291
2292 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
2293 ofw limited ISO support.
2294
5fe67f39
VS
22952013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2296
2297 * configure.ac: Fix loongson conditional.
2298
7f63a64f
VS
22992013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2300
2301 Enable mipsel-arc.
2302
b04b5990
VS
23032013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2304
2305 Add serial on ARC platform.
2306
88d2f302
VS
23072013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2308
2309 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
2310 commit.
2311
86eb23bc
VS
23122013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2313
2314 * tests/partmap_test.in: Add missing double semicolon.
2315
eec3bb75
VS
23162013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2317
2318 * util/grub-mkrescue.in: Fix loongson filename.
2319
e0810df3
VS
23202013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2321
2322 * util/grub-mkrescue.in: Move all files that don't have a location
2323 set in stone under /boot/grub. Use ISO hard links rather than copies
2324 to save some space.
2325
65a6b30b
VS
23262013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2327
2328 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
2329 bogus SLOF values.
2330
6aff0107
VS
23312013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 Make check work on mips-arc.
2334
5e013e56
VS
23352013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2336
2337 * util/grub-mkrescue.in: Alias sashARCS as sash.
2338
d1989e2e
VS
23392013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
2342 it's serial.
2343
1a25e72c
VS
23442013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 * util/grub-install.in: Fix target fo qemu_mips.
2347 Fix extension on EFI.
2348
a59a9826
VS
23492013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2350
2351 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
2352 in front of chosen entry to mark it even if highlighting is lost.
2353
1a40f80c
VS
23542013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2355
2356 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
2357 gfxpayload=keep if cbfb is active.
2358
e343549c
VS
23592013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2360
2361 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
2362
45fbd9a2
VS
23632013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2364
2365 Add missing video ids to coreboot and ieee1275 video.
2366
ab1440bd
VS
23672013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2368
2369 * util/grub-mkrescue.in: Add mips-arc support.
2370
cdeb8324
VS
23712013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2372
2373 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
2374
8528c879
VS
23752013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2376
2377 Move mips-arc link address. Previous link address was chosen
2378 in belief that RAM on SGI platforms grows down while in fact it
2379 grows up from an unusual base.
2380
17fca573
VS
23812013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2382
2383 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
2384 Fix a type which prevented CD-ROM and floppy boot.
2385
d178788e
VS
23862013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2387
2388 Support coreboot framebuffer.
2389
2390 * grub-core/video/i386/coreboot/cbfb.c: New file.
2391
fe4c3e7e
VS
23922013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2393
2394 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
2395 detecting too small regions.
2396
ec2dd179
VS
23972013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2398
2399 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
2400
872dac83
VS
24012013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
2404 Remove dprintf.
2405 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
2406
90ec4b7f
VS
24072013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2408
2409 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
2410 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2411 * grub-core/loader/powerpc/ieee1275/linux.c
2412 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2413
f32555dd
VS
24142013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2415
2416 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
2417 Look for /boot-rom as well as /rom/boot-rom.
2418
38649799
VS
24192013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2420
2421 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
2422 handling when creating text_layer failed.
2423 * grub-core/video/video.c (grub_video_create_render_target):
2424 Set result to 0 on error.
2425 (grub_video_delete_render_target): Do not dereference NULL.
2426
aeace7f7
VS
24272013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
2430 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
2431 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
2432 (grub_linux_load64): Mask out 2 high bits.
2433
4eafa175
AB
24342013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
2435
2436 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
2437 more place.
2438
daaa64bd
VS
24392013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 Add support for pseries and other bootinfo machines to grub-mkrescue.
2442
2443 Tested by: Paulo Flabiano Smorigo.
2444
d0d2daa6
VS
24452013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2446
2447 * util/grub-mkrescue.in: Add GPT for EFI boot.
2448
b193e100
VS
24492013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2450
2451 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
2452 It improves performance in qemu.
2453
a0f8f3ac
VS
24542013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2455
2456 * build-aux/snippet: Add missing gnulib files.
2457
284df0e2
AB
24582013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
2459
2460 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
2461
740201f3
AB
24622013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
2463
2464 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
2465
a7e03923
PJ
24662013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
24672013-04-15 Peter Jones <pjones@redhat.com>
2468
2469 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
2470 sectors.
2471 Based on patch by Peter Jones.
2472
25fc51a8
VS
24732013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2474
2475 Fix DMRAID partition handling.
2476
88017d47
VS
24772013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 * tests/grub_cmd_date.in: Skip on sparc64.
2480
fa7d914e
VS
24812013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2482
2483 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
2484 firmware error messages.
2485
cbe57a48
VS
24862013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2487
2488 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
2489 source and destination differ.
2490
21aecce0
VS
24912013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2492
2493 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
2494 detection.
2495
25092d29
VS
24962013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2497
2498 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
2499 match config-util.h to avoid warnings and increase compatibility.
2500
79451522 25012013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 25022013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
2503
2504 Add option to compress files on install/image creation.
2505
78b7d77b
VS
25062013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2507
2508 * docs/grub-dev.texi: Rearrange menu to match the section order.
2509 Reported by: Bryan Hundven.
2510
cc2fa5ec
VS
25112013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2512
2513 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
2514
b49fe879
VS
25152013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2516
2517 Move GRUB out of system area when using xorriso 1.2.9 or later.
2518
5351da81
VS
25192013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2520
2521 * tests/grub_cmd_date.in: Add missing exit 1.
2522
c9d586ea
VS
25232013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2524
2525 * tests/partmap_test.in: Skip on sparc64.
2526
3f729741
VS
25272013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2528
2529 Support grub-shell on sparc64.
2530
8ca86b3a
VS
25312013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2532
2533 Support mkrescue on sparc64.
2534
aa1af9bb
VS
25352013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2536
2537 Allow IEEE1275 ports on path even if it wasn't detected automatically.
2538 Needed on OpenBIOS due to incomplete device tree.
2539
ac4fea79
VS
25402013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2541
2542 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
2543 would be otherwise excluded.
2544
25452013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
2546
2547 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
2548 Inline name defines used only once.
2549
fe22b071
VS
25502013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2551
2552 Fix memory leaks in ofnet.
2553 Reported by: Francesco Lavra.
2554
9d21381b
VS
25552013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2556
2557 * docs/man/grub-glue-efi.h2m: Add missing file.
2558
07aec23c
VS
25592013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2560
2561 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
2562
67ab8353
VS
25632013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2564
2565 Better support Apple Intel Macs on CD.
2566
ba44ca6d
VS
25672013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2568
2569 Replace stpcpy with grub_stpcpy in tools.
2570
bbdd6305
VS
25712013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2572
2573 Handle Japanese special keys.
2574 Reported by: Hiroyuki YAMAMORI.
2575 Codes supplied by: Hiroyuki YAMAMORI.
2576
8573d302
VS
25772013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2578
2579 * util/grub-mkimage.c: Document memdisk implying --prefix.
2580
d70dbab7
VS
25812013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2582
2583 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
2584 much we can do about it anyway.
2585
51a4c3e3
AN
25862013-04-12 Aleš Nesrsta <starous@volny.cz>
2587
2588 Fix handling of split transfers.
2589
92c8f58d
VS
25902013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2591
2592 * grub-core/net/http.c: Fix bad free.
2593
b7d17a49
VS
25942013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2595
2596 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
2597 than buffer size.
2598
a3d566d4
VS
25992013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2600
2601 Disable partmap check on i386-ieee1275 due to openfirmware issues.
2602
a936af56
VS
26032013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 * tests/util/grub-shell.in: Fix it on powerpc.
2606
51212234
VS
26072013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 Turn off QEMU ACPI-way since new releases don't have shutdown port
2610 anymore.
2611
a21eec9e
VS
26122013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2613
2614 * docs/grub.texi: Update coreboot status info.
2615
e3734b84
VS
26162013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 * tests/grub_cmd_date.in: New test for datetime.
2619
f9d40055
VS
26202013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2621
2622 * tests/partmap_test.in: Fix missing qemudisk setting.
2623
dbc56d8f
VS
26242013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2625
2626 Support i386-ieee1275 grub-mkrescue and make check on it.
2627
a79b8a15
VS
26282013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2629
2630 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
2631 feature for it.
2632
48f39bb4
VS
26332013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2634
2635 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
2636 GRUB_CMDLINE_XEN_DEFAULT.
2637 Reported by: Marc Warne (GigaTux) <gigatux>
2638
053cfcdd
VS
26392013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2640
2641 Import new gnulib.
2642
93cd84df
VS
26432013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2644
2645 Use ACPI shutdown intests as traditional port was removed.
2646
f4b1fa4f
AB
26472013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
2648
2649 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
2650 distinction.
2651
49818a59
VS
26522013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2653
2654 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
2655 Fix few warining messages and leaks while on it.
2656
9277a306
AB
26572013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
2658
2659 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
2660 links under grub-core/lib/libgcrypt-grub/mpi.
2661
d5e2a158
VS
26622013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2663
2664 Fix ia64-efi image generation on big-endian machines. Deduplicate
2665 some code while on it.
2666 Reported by: Leif Lindholm.
2667
18866643
AB
26682013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
2669
2670 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
2671 as extra_dist.
2672
ca53deb8
AB
26732013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
2674
2675 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
2676
d4c4b8e1
BH
26772013-04-08 Bryan Hundven <bryanhundven@gmail.com>
2678
2679 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
2680 texinfo-5.1.
2681
47043f95
VS
26822013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2683
2684 * grub-core/normal/term.c: Few more fixes for menu entry editor
2685 rendering.
2686 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2687
a3216068
VS
26882013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 * grub-core/normal/term.c: Few more fixes for menu entry editor
2691 rendering.
2692 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2693
21026747
AB
26942013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
2695
2696 * conf/Makefile.extra-dist (EXTRA_DIST): Add
2697 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
2698
59624ca8
AB
26992013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
2700
2701 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
2702 instead of hardcoding grub.mo.
2703
1f44478c
FN
27042013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
2705
2706 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
2707
eeada7b1
VS
27082013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2709
2710 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
2711 grub-core/disk/geli.c.
2712
132867de
VS
27132013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2714
2715 * util/grub-mkfont.c: Prefer enum to #define.
2716
de73de17
VS
27172013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2718
2719 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
2720
1865baa7
VS
27212013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2722
2723 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
2724
ce7d92a9
VS
27252013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2726
2727 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
2728
52eab656
VS
27292013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2730
2731 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
2732
98b23b95
VS
27332013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2734
2735 * include/grub/bsdlabel.h: Use enums.
2736
0467a5dd
VS
27372013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2738
2739 Move GRUB_CHAR_BIT to types.h.
2740
16cc9f03
AB
27412013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
2742
2743 * docs/grub.texi: Document more user commands.
2744
3152aecb
AB
27452013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
2746
2747 * docs/grub.texi: Document menuentry --id option.
2748
c506fc30
FL
27492013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
2750
2751 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
2752
aa428238
VS
27532013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 Unify file copying setup across different install scripts. Add
2756 options for performing partial install.
2757
efe0cdda
PJ
27582013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
27592013-04-04 Peter Jones <pjones@redhat.com>
2760
2761 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
2762
f75835bd
VS
27632013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2764
2765 Use TSC as a possible time source on i386-ieee1275.
2766
2cd5ce6c
VS
27672013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2768
2769 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
2770 Init err.
2771
c9625630
VS
27722013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2773
2774 * util/grub-setup.c (setup): Handle some corner cases.
2775
be008941
VS
27762013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2777
2778 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
2779
1a78d573
VS
27802013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2781
2782 * grub-core/commands/verify.c: Save verified file to avoid it being
2783 tampered with after verification was done.
2784
db8ff59f
VS
27852013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2786
2787 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
2788 reported width by one to compensate for curesor algorithm problem.
2789
91bf46b1
VS
27902013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2791
2792 Fix screen corruption in menu entry editor and simplify the code
2793 flow while on it.
2794
a7b1d693
AB
27952013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
2796
2797 * util/grub-mount.c (fuse_init): Return error if fuse_main
2798 failed.
2799
31df9ad8
FL
28002013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
2801
2802 * include/grub/elf.h: Add missing ARM relocation codes and fix
2803 existing ones.
2804
07f392eb
VT
28052013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
2806
2807 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
2808
9efd73ec 28092013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
28102013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2811
2812 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
2813 into account when calculating radius.
2814
28152013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
2816
2817 * grub-core/gfxmenu/view.c: Fix off-by-one error.
2818
4985ddaa
VT
28192013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
2820
2821 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
2822
8c3635ff
RS
28232013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
2824
2825 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
2826 missing closing bracket.
2827
74a35e69
RS
28282013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
2829
2830 * INSTALL: Mention xorriso requirement.
2831
40f1c000
AB
28322013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
2833
2834 * grub-core/commands/verify.c: Fix hash algorithms values for
2835 the first three hashes - they start with 1, not with 0.
2836
e75fdee4
VS
28372013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2838
2839 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
2840 Try terminating EFI services several times due to quirks in some
2841 implementations.
2842
33028f4c
CW
28432013-03-26 Colin Watson <cjwatson@ubuntu.com>
2844
2845 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
2846 skipping Event, Device, Processor, PowerRes, ThermalZone, and
2847 BankField extended opcodes.
2848 (get_sleep_type): Add minimal scope handling (just enough to
2849 handle setting the scope to the root path).
2850 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
2851 * include/grub/acpi.h: Add enumeration values for Event, Device,
2852 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
2853
33871a10
VT
28542013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
2855
2856 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
2857 memory leak.
2858
8990963a
VS
28592013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2860
2861 * grub-core/disk/ahci.c: Give more time for AHCI request.
2862
daae8f9e
VS
28632013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2864
2865 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
2866 command.
2867
6a7fb94b
VS
28682013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2869
2870 Replace the region at 0 from coreboot tables to available in BSD
2871 memory map.
2872
ff99babd
VS
28732013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2874
2875 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
2876 non-BIOS platforms.
2877
30d6b1b2
VS
28782013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2879
2880 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
2881 platforms.
2882
6ccd0b31
VS
28832013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2884
2885 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
2886 handling of multi-device filesystems.
2887
23c9cc04
VS
28882013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
2891 platforms.
2892
ce50dbd7
VS
28932013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2894
2895 Add new 'proc' filesystem framework and put luks_script into it.
2896
d975e8d5
VS
28972013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2898
2899 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
2900 and qemu.
2901
e73ba5e8
VS
29022013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
2903
2904 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
2905
92750e4c
VS
29062013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
2907
2908 Add ability to generate newc additions on runtime.
2909
0ec45a68
VS
29102013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
2911
2912 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
2913 description.
2914
320abd43
VS
29152013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
2916
2917 * po/POTFILES.in: Regenerate.
2918
d7a6506e
VS
29192013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2920
2921 * grub-core/commands/verify.c (hashes): Add several hashes
2922 from the spec.
2923
8fe05def
VS
29242013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2925
2926 Slight improve in USB-related boot-time checkpoints.
2927
524e2766
VS
29282013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2929
2930 * grub-core/commands/boottime.c: Fix copyright header.
2931
cc19857a
VS
29322013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2933
2934 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
2935 coreboot tables content. Support for cbmemc.
2936
ef8810e9
VS
29372013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2938
2939 Fix a conflict between ports structures with 2 controllers of
2940 same kind.
2941
e9dabdfa
VS
29422013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2943
2944 * include/grub/boottime.h: Add missing file.
2945
f6df57d2
VS
29462013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2947
2948 Initialize USB ports in parallel to speed-up boot.
2949
d745dda7
VS
29502013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2951
2952 Fix USB devices not being detected when requested
2953 due to delayed attach.
2954
e5a2dd7b
VS
29552013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2956
e744219b
VS
2957 Implement boot time analysis framework.
2958
29592013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2960
2961 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
2962 descriptor to just receive it as argument rather than endpoint
2963 address.
2964
5dd6f587
VS
29652013-03-19 Aleš Nesrsta <starous@volny.cz>
2966
2967 Better estimate the maximum USB transfer size.
2968
2f1071d5
VS
29692013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
2970
2971 Resend a packet if we got the wrong buffer in status.
2972
46ecfc49
VS
29732013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2974
2975 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
2976 multiplication rather than division.
2977
ea811130
VS
29782013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2979
2980 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
2981 than divisions.
2982
d2789cf0
VS
29832013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2984
2985 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
2986 operations to have intended shifts and not divisions.
2987
a9c94590
VS
29882013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2989
2990 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
2991 intended shifts rather than division.
2992
84cfe81b
VS
29932013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2994
2995 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
2996 computation for some years before epoch. Avode confusing division
2997 while on it.
2998
21344ef6
VS
29992013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3000
3001 * grub-core/video/i386/pc/vbe.c
3002 (grub_video_vbe_print_adapter_specific_info): Replace division by
3003 shifts.
3004
3f2b4d1a
VS
30052013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3006
3007 Adjust types in gdb module to have intended unsigned shifts rather than
3008 signed divisions.
3009
3dac5878
VS
30102013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3011
3012 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
3013 maximum size is 4G - 1 on hfs
3014
5341c0fb
VS
30152013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3016
3017 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
3018
fc3ff2a2
VS
30192013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3020
3021 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
3022 function.
3023
81455e8e
AB
30242013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
3025
3026 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
3027 causing gcc error with gcc 4.7.1.
3028
efd4f117
NZ
30292013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
3030
3031 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
3032 dereference null pointer. While the code is technically correct, gcc
3033 may eliminate a null check if pointer is already dereferenced.
3034
e11645f4
NZ
30352013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
3036
3037 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
3038 OOM check.
3039 * grub-core/normal/term.c (read_terminal_list): Likewise.
3040
77468368
VS
30412013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3042
3043 Lift up core size limits on some platforms. Fix potential memory
3044 corruption with big core on small memory systems. Document remaining
3045 limits.
3046
f6b58fe5
VS
30472013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3048
3049 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
3050 gotoxy to 0,0.
3051
19ce697d
VS
30522013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3053
3054 Remove all trampoline support. Add -Wtrampolines when
3055 present. Remove symbols used for trampolines to make
3056 link fail if trampolines are present.
3057
73b5d90f
VS
30582013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3059
3060 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
3061 append out of its parent.
3062
cb758e96
VS
30632013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3064
3065 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
3066 parent.
3067
3188131f
VS
30682013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3069
3070 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
3071 all vars to a macro. All users updated.
3072
e42b2514
VS
30732013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3074
3075 * grub-core/disk/ieee1275/nand.c: Fix compilation on
3076 i386-ieee1275.
3077
83e1a1a1
VS
30782013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3079
3080 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
3081
1d5a880f
VS
30822013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3083
3084 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
3085
6e4146c4
VS
30862013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 Move to more hookless approach in IEEE1275 devices handling.
3089
99fcda8a
VS
30902013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3091
3092 * grub-core/kern/term.c (grub_term_normal_color),
3093 (grub_term_highlight_color): Add back lost defaults.
3094
73bf57e2
VS
30952013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3096
3097 Make elfload not use hooks. Opt for flags and iterators instead.
3098
7f8c105f
VS
30992013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3100
3101 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
3102 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
3103
396d4091
VS
31042013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3105
3106 * grub-core/script/execute.c (gettext_append): Remove nested functions.
3107
31082013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
3111 hook pass-through parameter. All users updated and unnested.
3112
74a27421
VS
31132013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
3116 out of its parent.
3117
b46d4213
VS
31182013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3119
3120 * grub-core/fs/hfs.c: Remove nested functions.
3121
e114c3cc
VS
31222013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3123
3124 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
3125 the context through.
3126 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
3127
f9b7d780
VS
31282013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3129
3130 * util/grub-editenv.c (list_variables): Move print_var out of its
3131 parent.
3132
ca9c2608
VS
31332013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3134
3135 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
3136 function.
3137
5d983f5f
VS
31382013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3139
3140 * grub-core/gentrigtables.c: Make tables const.
3141
3056d3e7
VS
31422013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3143
3144 Remove nested functions from videoinfo iterators.
3145
e2303774
VS
31462013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3147
3148 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
3149 for 64-bit platforms.
3150
f42e3a2f
VS
31512013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3152
3153 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
3154 a FOR_CHILDREN macro.
3155
be174e5e
VS
31562013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3157
3158 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
3159 platform from firmware path.
3160
0789b672
VS
31612013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3162
3163 Enable linux16 on non-BIOS systems for i.a. memtest.
3164
3165 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
3166 correctly.
3167 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
3168
005a9c32
VS
31692013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3170
3171 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
3172 Fix end of table condition.
3173
ff2b3cd9
VS
31742013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3175
3176 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
3177 out of its parent.
3178
4fc40ff8
VS
31792013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3180
3181 * grub-core/fs/jfs.c: Remove nested functions.
3182
be42d97a
VS
31832013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3184
3185 * grub-core/fs/minix.c: Remove nested functions.
3186
99373ce4
VS
31872013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3188
3189 * grub-core/fs/iso9660.c: Remove nested functions.
3190
5aec2afe
VS
31912013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
3194 of parent function.
3195
6c69e691
VS
31962013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3197
3198 * util/grub-fstest.c: Remove nested functions.
3199
43c91882
VS
32002013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3201
3202 * grub-core/loader/machoXX.c: Remove nested functions.
3203
4eb8b756
CW
32042013-02-27 Colin Watson <cjwatson@ubuntu.com>
3205
3206 Remove nested functions from disk and file read hooks.
3207
3208 * include/grub/disk.h (grub_disk_read_hook_t): New type.
3209 (struct grub_disk): Add read_hook_data member.
3210 * include/grub/file.h (struct grub_file): Likewise.
3211 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
3212 argument.
3213
3214 Update all callers.
3215
df6da5a5
AB
32162012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
3217
3218 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
3219 Fix off by one error in enumerating extended partitions.
3220
21aecde5
AB
32212013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
3222
3223 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
3224 memory leak if device name is not found.
3225
f1a19118
AB
32262013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3227
3228 * grub-core/normal/menu_entry.c (update_screen): remove
3229 unused variable `off' which caused scroll down arrow to be always shown.
3230
958bfd20
AB
32312013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3232
3233 * grub-core/normal/menu_entry.c (insert_string): fix off by one
3234 access to unallocated memory.
3235
b7b78edb
AB
32362013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3237
3238 * Makefile.util.def: Add partmap/msdos.c to common library.
3239 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
3240 * grub-core/disk/ldm.c: Check for existence of
3241 GRUB_PC_PARTITION_TYPE_LDM.
3242
28d468d6
VS
32432013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3244
3245 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
3246 sizes and display sector size.
3247
d55ffb02
VS
32482013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3249
3250 Implement new command cmosdump.
3251
b5ea6ce0
VS
32522013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3253
3254 Support Openfirmware disks with non-512B sectors.
3255
3256 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
3257 size of the disk.
3258 * (grub_ofdisk_get_block_size): New function.
3259 * (grub_ofdisk_prepare): Use the correct block size.
3260 * (grub_ofdisk_read): Likewise.
3261 * (grub_ofdisk_write): Likewise.
3262 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
3263 New proto.
3264
cc0e476f
VS
32652013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3266
3267 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
3268
c5dbdc33
VS
32692013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
3272 on first error.
3273
3f078c0f
VS
32742013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3275
3276 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
3277 freeing it.
3278
66a93674
VS
32792013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3280
3281 Implement USBDebug (full USB stack variant).
3282
c9f0c134
VS
32832013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3284
3285 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
3286 unless they have unexpected values.
3287
cfe1288b
VS
32882013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3289
3290 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
3291 grub_print_error.
3292
e42b9969
VS
32932013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3294
3295 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
3296 zero-out of port structure.
3297
cf94fd62
VS
32982013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3299
3300 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
3301 of extended attributes.
3302
f81ef4b5
AB
33032013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
3304
3305 * util/grub-install.in: change misleading comment about
3306 device.map creation
3307
af18fdb4
VS
33082013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
3311 when menu highlight color isn't set.
3312
08bcec50
M
33132013-01-27 C. Masloch <pushbx@38.de>
3314
3315 Improve FreeDOS direct loading support compatibility.
3316
3317 * include/grub/i386/relocator.h (grub_relocator16_state):
3318 New member ebp.
3319 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
3320 variable.
3321 (grub_relocator16_boot): Handle %ebp.
3322 * grub-core/lib/i386/relocator16.S: Likewise.
3323 * grub-core/loader/i386/pc/freedos.c:
3324 Load BPB to pass kernel which partition to load from.
3325 Check that kernel file is not too large.
3326 Set register dl to BIOS unit number as well.
3327
7782b8a6
CW
33282013-01-22 Colin Watson <cjwatson@ubuntu.com>
3329
3330 * util/grub-reboot.in (usage): Document the need for
3331 GRUB_DEFAULT=saved.
3332 * util/grub-set-default.in (usage): Likewise.
3333 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
3334
e661c180
VS
33352013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3336
3337 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
3338 than defining WORDS_BIGENDIAN manually.
3339
1c22ca9a
VS
33402013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3341
3342 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
3343 invariants.
3344
d44892fe
CW
33452013-01-21 Colin Watson <cjwatson@ubuntu.com>
3346
3347 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
3348 nested.
3349 (blit_comb: add_device_width): Likewise.
3350
5fdbaed1
CW
33512013-01-21 Colin Watson <cjwatson@ubuntu.com>
3352
3353 Remove nested functions from USB iterators.
3354
3355 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
3356 (grub_usb_controller_iterate_hook_t): Likewise.
3357 (grub_usb_iterate): Add hook_data argument.
3358 (grub_usb_controller_iterate): Likewise.
3359 (struct grub_usb_controller_dev.iterate): Likewise.
3360
3361 Update all implementations and callers.
3362
4250985a
VS
33632013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
3366 margin when not needed.
3367
7d8848f3
VS
33682013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3369
bc136973 3370 Make color variables global instead of it being per-terminal.
7d8848f3
VS
3371
33722013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3373
bc136973
VS
3374 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
3375 asterisk.
7d8848f3 3376
ed12a003
CW
33772013-01-21 Colin Watson <cjwatson@ubuntu.com>
3378
3379 Fix powerpc and sparc64 build failures caused by un-nesting memory
3380 map iterators.
3381
6a0db449
CW
33822013-01-21 Colin Watson <cjwatson@ubuntu.com>
3383
3384 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
3385 parameter declarations.
3386
ccd86b21
VS
33872013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3388
3389 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
3390
822b726b
VS
33912013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3392
3393 Improve spkmomdem reliability by adding a separator between bytes.
3394
115c2cc1
CW
33952013-01-21 Colin Watson <cjwatson@ubuntu.com>
3396
3397 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
3398 an Acer registration utility with several sightings in the wild.
3399 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
3400
fc524edf
CW
34012013-01-21 Colin Watson <cjwatson@ubuntu.com>
3402
3403 Remove nested functions from filesystem directory iterators.
3404
3405 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
3406 (struct grub_fs.dir): Add hook_data argument.
3407
3408 Update all implementations and callers.
3409
53d3e4e3
CW
34102013-01-21 Colin Watson <cjwatson@ubuntu.com>
3411
3412 * docs/grub.texi (Multi-boot manual config): Fix typo for
3413 "recommended".
3414
c821711f
LL
34152013-01-20 Leif Lindholm <leif.lindholm@arm.com>
3416
3417 * util/grub-mkimage.c (main): Postpone freeing arguments.output
3418 until after its use in generate_image.
3419
6a0debbd
CW
34202013-01-20 Colin Watson <cjwatson@ubuntu.com>
3421
3422 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
3423 initrd size to addr_min, since the initrd will be allocated after
3424 this address.
3425
f41e08db
AB
34262013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
3427
3428 * conf/Makefile.common: Fix autogen rules to pass definition
3429 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
3430
77529e0f
LL
34312013-01-20 Leif Lindholm <leif.lindholm@arm.com>
3432
3433 * include/grub/elf.h: Update ARM definitions based on binutils.
3434
b879aa7b
VS
34352013-01-20 Aleš Nesrsta <starous@volny.cz>
3436
3437 Split long USB transfers into short ones.
3438
8eb8284d
AB
34392013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
3440
3441 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
3442 is interrupted by ESC.
3443
08dad2dc
VS
34442013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3445
3446 * util/grub-script-check.c (main): Uniform the error message.
3447
6c724b85
CW
34482013-01-20 Colin Watson <cjwatson@ubuntu.com>
3449
3450 Remove nested functions from ELF iterators.
3451
25239370
CW
34522013-01-20 Colin Watson <cjwatson@ubuntu.com>
3453
3454 Remove nested functions from device iterators.
3455
3456 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
3457 (grub_arc_iterate_devs): Add hook_data argument.
3458 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
3459 (struct grub_ata_dev.iterate): Add hook_data argument.
3460 * include/grub/device.h (grub_device_iterate_hook_t): New type.
3461 (grub_device_iterate): Add hook_data argument.
3462 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
3463 (struct grub_disk_dev.iterate): Add hook_data argument.
3464 (grub_disk_dev_iterate): Likewise.
3465 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
3466 Likewise.
3467 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
3468 Likewise.
3469 * include/grub/partition.h (grub_partition_iterate_hook_t): New
3470 type.
3471 (struct grub_partition_map.iterate): Add hook_data argument.
3472 (grub_partition_iterate): Likewise.
3473 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
3474 (struct grub_scsi_dev.iterate): Add hook_data argument.
3475
3476 Update all callers.
3477
6c0314d6
CW
34782013-01-20 Colin Watson <cjwatson@ubuntu.com>
3479
3480 Fix typos for "developer" and "development".
3481
600dc5f1
VS
34822013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3483
3484 Add license header to spkmodem-recv.c.
3485
17334a6b
VS
34862013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
3487
3488 Rewrite spkmodem to use PIT for timing. Double the speed.
3489
7d462559
VS
34902013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3491
3492 Add new command pcidump.
3493
b78d6c32
VS
34942013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3495
3496 New terminal outputs using serial: morse and spkmodem.
3497
34f71cb8
VS
34982013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3499
3500 Improve bidi handling in entry editor.
3501
4542e71b
VS
35022013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3503
3504 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
3505 argument to prevent name collision.
3506
09fd6d82
CW
35072013-01-15 Colin Watson <cjwatson@ubuntu.com>
3508
3509 Remove nested functions from script reading and parsing.
3510
3511 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
3512 getline_data argument, passed to getline.
3513 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
3514 getline_data argument, passed to grub_parser_split_cmdline.
3515 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
3516 lexerstate->getline_data to lexerstate->getline.
3517 (grub_script_lexer_init): Add getline_data argument, saved in
3518 lexerstate->getline_data.
3519 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
3520 argument, passed to grub_script_parse.
3521 * grub-core/script/script.c (grub_script_parse): Add getline_data
3522 argument, passed to grub_script_lexer_init.
3523 * include/grub/parser.h (grub_parser_split_cmdline): Update
3524 prototype. Update all callers to pass appropriate getline data.
3525 (struct grub_parser.parse_line): Likewise.
3526 (grub_rescue_parse_line): Likewise.
3527 * include/grub/reader.h (grub_reader_getline_t): Add void *
3528 argument.
3529 * include/grub/script_sh.h (struct grub_lexer_param): Add
3530 getline_data member.
3531 (grub_script_parse): Update prototype. Update all callers to pass
3532 appropriate getline data.
3533 (grub_script_lexer_init): Likewise.
3534 (grub_normal_parse_line): Likewise.
3535
3536 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
3537 data argument.
3538 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
3539 static instead of nested. Rename to ...
3540 (grub_parser_execute_getline): ... this.
3541 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
3542 data argument.
3543 * grub-core/normal/main.c (read_config_file: getline): Make static
3544 instead of nested. Rename to ...
3545 (read_config_file_getline): ... this.
3546 (grub_normal_read_line): Add unused data argument.
3547 * grub-core/script/execute.c (grub_script_execute_sourcecode:
3548 getline): Make static instead of nested. Rename to ...
3549 (grub_script_execute_sourcecode_getline): ... this.
3550 * util/grub-script-check.c (main: get_config_line): Make static
3551 instead of nested.
3552
d0d4b8a0
CW
35532013-01-15 Colin Watson <cjwatson@ubuntu.com>
3554
3555 Remove nested functions from memory map iterators.
3556
3557 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
3558 argument, passed to hook.
3559 * grub-core/kern/i386/coreboot/mmap.c
3560 (grub_linuxbios_table_iterate): Likewise.
3561 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
3562 instead of nested.
3563 (grub_machine_mmap_iterate): Add hook_data argument.
3564 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
3565 Add hook_data argument, passed to hook.
3566 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
3567 Likewise.
3568 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
3569 Likewise.
3570 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
3571 Likewise.
3572 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
3573 Likewise.
3574 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
3575 Likewise.
3576 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
3577 Likewise.
3578 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
3579 (grub_machine_mmap_iterate): Likewise.
3580 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
3581 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
3582 prototype.
3583 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
3584 Remove NESTED_FUNC_ATTR from here and from all users.
3585 (grub_mmap_iterate): Update prototype.
3586 (grub_efi_mmap_iterate): Update prototype. Update all callers to
3587 pass appropriate hook data.
3588 (grub_machine_mmap_iterate): Likewise.
3589
3590 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
3591 static instead of nested.
3592 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
3593 Rename to ...
3594 (lsmmap_hook): ... this.
3595 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
3596 Likewise.
3597 (grub_efiemu_mmap_fill: fill_hook): Likewise.
3598 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
3599 heap_init): Likewise.
3600 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
3601 Rename to ...
3602 (mmap_iterate_hook): ... this.
3603 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
3604 Likewise.
3605 * grub-core/lib/ieee1275/relocator.c
3606 (grub_relocator_firmware_get_max_events: count): Likewise.
3607 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
3608 to ...
3609 (grub_relocator_firmware_fill_events_iter): ... this.
3610 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
3611 hook): Likewise. Rename to ...
3612 (grub_relocator_alloc_chunk_align_iter): ... this.
3613 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
3614 Rename to ...
3615 (generate_e820_mmap_iter): ... this.
3616 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
3617 Rename to ...
3618 (count_hook): ... this.
3619 (grub_linux_boot: hook): Likewise. Rename to ...
3620 (grub_linux_boot_mmap_find): ... this.
3621 (grub_linux_boot: hook_fill): Likewise. Rename to ...
3622 (grub_linux_boot_mmap_fill): ... this.
3623 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
3624 hook): Likewise. Rename to ...
3625 (grub_fill_multiboot_mmap_iter): ... this.
3626 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
3627 hook): Likewise. Rename to ...
3628 (count_hook): ... this.
3629 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
3630 hook): Likewise. Rename to ...
3631 (grub_fill_multiboot_mmap_iter): ... this.
3632 * grub-core/loader/powerpc/ieee1275/linux.c
3633 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
3634 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
3635 Likewise. Rename to ...
3636 (alloc_phys_choose): ... this.
3637 (determine_phys_base: get_physbase): Likewise.
3638 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
3639 find_hook): Likewise.
3640 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
3641 (malloc_hook: count_hook): Likewise.
3642 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
3643 Likewise. Rename to ...
3644 (lower_hook): ... this.
3645 (grub_mmap_get_upper: hook): Likewise. Rename to ...
3646 (upper_hook): ... this.
3647 (grub_mmap_get_post64: hook): Likewise. Rename to ...
3648 (post64_hook): ... this.
3649 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
3650 Likewise. Rename to ...
3651 (lower_hook): ... this.
3652 (grub_mmap_get_upper: hook): Likewise. Rename to ...
3653 (upper_hook): ... this.
3654 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
3655 (grub_mmap_iterate: fill_hook): Likewise.
3656 (fill_mask): Pass addr and mask within a single struct.
3657 (grub_cmd_badram: hook): Make static instead of nested. Rename
3658 to ...
3659 (badram_iter): ... this.
3660 (grub_cmd_cutmem: hook): Likewise. Rename to ...
3661 (cutmem_iter): ... this.
3662
22099030
VS
36632013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3664
3665 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
3666 delimit path in strings using quotes.
3667 * util/getroot.c (grub_guess_root_devices): Likewise.
3668 (grub_make_system_path_relative_to_its_root): Likewise.
3669 * util/grub-probe.c (probe): Likewise.
3670 * util/ieee1275/ofpath.c (find_obppath): Likewise.
3671 (xrealpath): Likewise.
3672
4a9950ec
VS
36732013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3674
3675 Fix compilation with older compilers.
3676
3677 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
3678 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
3679 declarations.
3680 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
3681 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
3682 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
3683 identifier with b.
3684 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
3685 * include/grub/crypto.h: Add type defines.
3686 * util/import_gcrypth.sed: Remove duplicate type defines.
3687
adcc6020
VS
36882013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3689
3690 New command list_trusted.
3691
3692 * grub-core/commands/verify.c (grub_cmd_list): New function.
3693
a4528937
CW
36942013-01-13 Colin Watson <cjwatson@ubuntu.com>
3695
3696 * util/grub-mkimage.c (generate_image): Fix "size of public key"
3697 info message.
3698
ca3a7446
CW
36992013-01-13 Colin Watson <cjwatson@ubuntu.com>
3700
3701 Remove nested functions from PCI iterators.
3702
3703 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
3704 passed to hook. Update all callers to pass appropriate hook data.
3705 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
3706 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
3707 Remove NESTED_FUNC_ATTR from here and from all users.
3708 (grub_pci_iterate): Update prototype.
3709 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
3710 instead of nested. Rename to ...
3711 (grub_cs5536_find_iter): ... this.
3712 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
3713 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
3714 Likewise.
3715 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
3716 Likewise.
3717 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
3718 Likewise.
3719 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
3720 Likewise.
3721 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
3722 * grub-core/video/radeon_fuloong2e.c
3723 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
3724 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
3725 find_card): Likewise.
3726 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
3727 Likewise.
3728
f8e98fee
VS
37292013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3730
3731 * grub-core/commands/verify.c: Mark messages for translating.
3732
055b36b6
VS
37332013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3734
3735 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
3736 fatal.
3737
f7ff879b
VS
37382013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3739
3740 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
3741 fatal.
3742
37432013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
3744
3745 * autogen.sh: Do not try to delete nonexistant files.
3746 * util/import_gcrypth.sed: Add some missing header removals.
3747
01323d49
CW
37482013-01-12 Colin Watson <cjwatson@ubuntu.com>
3749
3750 Clean up dangling references to grub-setup.
3751 Fixes Ubuntu bug #1082045.
3752
3753 * docs/grub.texi (Images): Refer generally to grub-install rather
3754 than directly to grub-setup.
3755 (Installing GRUB using grub-install): Remove direct reference to
3756 grub-setup.
3757 (Device map) Likewise.
3758 (Invoking grub-install): Likewise.
3759 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
3760 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
3761 * util/grub-install.in (usage): Likewise.
3762
3763 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
3764 Apply to grub-bios-setup and grub-sparc64-setup rather than to
3765 grub-setup.
3766 * configure.ac: Remove grub_setup output variable.
3767
3768 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
3769 to grub-bios-setup.
3770 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
3771 grub-setup to grub-sparc64-setup.
3772
5e3b8dcb
VS
37732013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3774
3775 Import gcrypt public-key cryptography and implement signature checking.
3776
535714bd
VS
37772013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3778
3779 * grub-core/fs/ntfs.c: Ue more appropriate types.
3780 * grub-core/fs/ntfscomp.c: Likewise.
3781 * include/grub/ntfs.h: Likewise.
3782
3e4f3566
VS
37832013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3784
3785 Support Apple FAT binaries on non-Apple platforms.
3786
3787 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
3788 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
3789 Likewise.
3790 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
3791 Apple FAT binaries.
3792
4dedb13f
VS
37932013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
3796 sector devices.
3797
f8861eaf
CW
37982013-01-07 Colin Watson <cjwatson@ubuntu.com>
3799
3800 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
3801 explicitly zeroing elements.
3802 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
3803 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
3804 of elements in a structure already allocated using grub_zalloc.
3805 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
3806
86065b0a
CW
38072013-01-07 Colin Watson <cjwatson@ubuntu.com>
3808
3809 * docs/grub.texi (grub_cpu): New subsection.
3810 (grub_platform): Likewise.
3811
c6f1e92f
VS
38122013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3813
3814 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
3815
f797ec85
VS
38162013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3817
3818 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
3819 divisions.
3820
033d0b4b
VS
38212013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3822
3823 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
3824 * grub-core/fs/ntfscomp.c: Likewise.
3825 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
3826 (grub_ntfs_comp): Likewise.
3827
21d1b9a0
VS
38282013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3829
3830 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
3831 Rename to ...
3832 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
3833 of groups_per_block. All users updated.
3834
10ca8645
VS
38352013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3836
3837 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
3838 grub_error properly.
3839 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
3840 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
3841
a4c3ed4c
VS
38422013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3843
3844 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
3845 always in /boot/zfs.
3846 Reported by: Yuta Satoh.
3847
0b716507
YS
38482013-01-03 Yuta Satoh <nigoro>
3849
3850 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
3851 ${grub_probe}
3852
00c05e22
VS
38532013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 * configure.ac: Extend -Wno-trampolines to host.
3856
dadddb76
VS
38572013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3858
3859 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
3860 entry->len = 0.
3861
54ce53ca
CW
38622013-01-03 Colin Watson <cjwatson@ubuntu.com>
3863
3864 * docs/grub.texi (Invoking grub-mkrelpath): New section.
3865 (Invoking grub-script-check): Likewise.
3866
8912efca
CW
38672013-01-03 Colin Watson <cjwatson@ubuntu.com>
3868
3869 * docs/grub.texi (Invoking grub-mount): New section.
3870 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
3871
c3fc8394
CW
38722013-01-02 Colin Watson <cjwatson@ubuntu.com>
3873
3874 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
3875 test failures, so that a failing unit test correctly causes 'make
3876 check' to fail.
3877
45d26abb
CW
38782013-01-02 Colin Watson <cjwatson@ubuntu.com>
3879
3880 Fix failing printf test.
3881
3882 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
3883 '$' in the correct order when collecting type information.
3884
971dd2c6
CW
38852013-01-02 Colin Watson <cjwatson@ubuntu.com>
3886
3887 * docs/grub.texi (configfile): Explain environment variable
3888 handling.
3889 (source): New section.
3890 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
3891
5c67ea6c
CW
38922012-12-31 Colin Watson <cjwatson@ubuntu.com>
3893
3894 Remove several trivially-unnecessary uses of nested functions.
3895
3896 * grub-core/commands/i386/pc/sendkey.c
3897 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
3898 instead of nested.
3899 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
3900 Rename to ...
3901 (legacy_file_getline): ... this.
3902 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
3903 Likewise.
3904 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
3905 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
3906 to ...
3907 (probe_dummy_iter): ... this.
3908 * grub-core/kern/i386/coreboot/mmap.c
3909 (grub_linuxbios_table_iterate: check_signature): Likewise.
3910 * grub-core/kern/parser.c (grub_parser_split_cmdline:
3911 check_varstate): Likewise. Mark inline.
3912 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
3913 an additional parameter.
3914 (find_long: fnd_long): Likewise. Pass two additional parameters.
3915 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
3916 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
3917 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
3918 Likewise. Rename to ...
3919 (grub_cmos_find_port_iter): ... this.
3920 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
3921 Rename to ...
3922 (find_rtc_iter): ... this.
3923
3924 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
3925 function directly into the function body, since it is only called
3926 once.
3927
33a68ac6
CW
39282012-12-30 Colin Watson <cjwatson@ubuntu.com>
3929
3930 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
3931 __attribute__ ((unused)).
3932 * grub-core/video/bochs.c (find_card): Likewise.
3933 * grub-core/video/cirrus.c (find_card): Likewise.
3934 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
3935 * grub-core/video/sis315pro.c (find_card): Likewise.
3936 * grub-core/video/sm712.c (find_card): Likewise.
3937
608b647a
CW
39382012-12-28 Colin Watson <cjwatson@ubuntu.com>
3939
3940 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
3941 Fixes Savannah bug #37821.
3942
fd49ceb3
CW
39432012-12-28 Colin Watson <cjwatson@ubuntu.com>
3944
3945 Apply program name transformations at build-time rather than at
3946 run-time. Fixes Debian bug #696465.
3947
3948 * acinclude.m4 (grub_TRANSFORM): New macro.
3949 * configure.ac: Create output variables with transformed names for
3950 most programs.
3951 * util/bash-completion.d/grub-completion.bash.in: Use
3952 pre-transformed variables for program names.
3953 * util/grub-install.in: Likewise.
3954 * util/grub-kbdcomp.in: Likewise.
3955 * util/grub-mkconfig.in: Likewise.
3956 * util/grub-mkconfig_lib.in: Likewise.
3957 * util/grub-mknetdir.in: Likewise.
3958 * util/grub-mkrescue.in: Likewise.
3959 * util/grub-mkstandalone.in: Likewise.
3960 * util/grub-reboot.in: Likewise.
3961 * util/grub-set-default.in: Likewise.
3962 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3963 * tests/util/grub-shell-tester.in: Remove unused assignment.
3964 * tests/util/grub-shell.in: Likewise.
3965 * util/grub.d/00_header.in: Likewise.
3966
7024b3c0
CW
39672012-12-28 Colin Watson <cjwatson@ubuntu.com>
3968
3969 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
3970
3971 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
3972 HAVE_RAW_DECL_GETS.
3973 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
3974
e3501b13
VS
39752012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
3976
3977 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
3978 Reported by: Eriks Latosheks <foresterlv>.
3979
b40c88a9
VS
39802012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3981
3982 * docs/grub.texi (Network): Update instructions on generating netboot
3983 image.
3984
ce96d01c
VS
39852012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3986
3987 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
3988 around device name if necessarry.
3989
0f596201
PFS
39902012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3991
3992 * util/grub-install.in: Follow the symbolic link parameter added
3993 to the file command.
3994
600d5bdb
AB
39952012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
3996
3997 * util/grub-install.in: Remove stale TODO.
3998
64ebd2f4
PFS
39992012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4000
4001 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
4002 dynamic allocation for the bootpath buffer.
4003
74b2fe3e
DTB
40042012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
4005
4006 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
4007 window too small.
4008
969b804f
VS
40092012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4010
4011 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
4012 argument rather than font name. All users updated.
4013 (grub_gfxterm_set_window): Likewise.
4014
b9f5ebd6
VT
40152012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
4016
4017 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
4018 from working.
4019
258f43b7
VS
40202012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4021
4022 * util/getroot.c (convert_system_partition_to_system_disk): Support
4023 nbd disks.
4024
cc1ce5f9
VS
40252012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4026
4027 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
4028 infinite loop on corrupted FS.
4029
e77a16ca
VS
40302012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
4031
4032 Fix big-endian mtime.
4033
4034 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
4035 together sec and usec.
4036 (grub_ufs_dir): Use correct byteswapping for UFS time.
4037
d9c48c7b
VS
40382012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
4039
4040 Support big-endian UFS1.
4041
4042 * Makefile.util.def (libgrubmods): Add ufs_be.c
4043 * grub-core/Makefile.core.def (ufs1_be): New module.
4044 * grub-core/fs/ufs_be.c: New file.
4045 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
4046 the file.
4047
2f9f40ba
LL
40482012-11-28 Leif Lindholm <leif.lindholm@arm.com>
4049
4050 * include/grub/types.h: Fix functionality unaffecting typo in
4051 GRUB_TARGET_WORDSIZE conditional macro.
4052
48ff0889
PFS
40532012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4054
4055 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
4056
03711240
GS
40572012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
4058
4059 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
4060 that /netbsd appears first (when it exists).
4061
a31b11bd
CJ
40622012-10-12 Christoph Junghans <ottxor@gentoo.org>
4063
4064 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
4065 Fixes Savannah bug #37558.
4066
e8a5d5d4
CW
40672012-10-12 Colin Watson <cjwatson@ubuntu.com>
4068
4069 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
4070 description of extract_entries_configfile.
4071
40722012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
4073
4074 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
4075 preferred_address.
4076 (grub_cmd_linux): Likewise.
4077 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
4078 preferred_lifetime. Update all users.
4079
288c757d
CW
40802012-09-26 Colin Watson <cjwatson@ubuntu.com>
4081
4082 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
4083 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
4084
0d35da3f
CW
40852012-09-26 Colin Watson <cjwatson@ubuntu.com>
4086
4087 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
4088 errors from grub-probe to /dev/null, not stdout.
4089
b78c3127
VS
40902012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
4091
4092 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
4093 sector 1.
4094
473959f0
CW
40952012-09-24 Colin Watson <cjwatson@ubuntu.com>
4096
4097 * util/grub-install.in: Make the error message if $source_dir
4098 doesn't exist more useful.
4099
794c8c33
CW
41002012-09-22 Colin Watson <cjwatson@ubuntu.com>
4101
4102 Fix grub-emu build on FreeBSD.
4103
4104 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
4105 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
4106 headers on Linux.
4107 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
4108 implementation is currently Linux-specific.
4109 * util/getroot.c (exec_pipe): Define only on Linux or when either
4110 libzfs or libnvpair is unavailable.
4111 (find_root_devices_from_poolname): Remove unused path variable.
4112
86d08fdb
CW
41132012-09-19 Colin Watson <cjwatson@ubuntu.com>
4114
4115 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
4116 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
4117 should fit before end == 63.
4118
735abf54
CW
41192012-09-19 Colin Watson <cjwatson@ubuntu.com>
4120
4121 * util/grub-setup.c (write_rootdev): Remove unused core_img
4122 parameter. Update all callers.
4123 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
4124 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
4125 GRUB_SETUP_BIOS.
4126
140acd3c
VS
41272012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4128
4129 * util/grub-mkconfig_lib.in (grub_tab): New variable.
4130 (grub_add_tab): New function.
4131 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
4132 * util/grub.d/10_illumos.in: Likewise.
4133 * util/grub.d/10_kfreebsd.in: Likewise.
4134 * util/grub.d/10_linux.in: Likewise.
4135 * util/grub.d/10_netbsd.in: Likewise.
4136 * util/grub.d/10_windows.in: Likewise.
4137 * util/grub.d/10_xnu.in: Likewise.
4138 * util/grub.d/20_linux_xen.in: Likewise.
4139 * util/grub.d/30_os-prober.in: Likewise.
4140
7ddffdad
VS
41412012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4142
4143 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4144 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
4145 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
4146 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
4147 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
4148 ieee1275-nocursor.
4149 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
4150 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
4151
4e092454
VS
41522012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4153
4154 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
4155 le-conversion.
4156 Reported by: BURETTE, Bernard.
4157
735abf54 41582012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
4159
4160 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
4161 from comment.
4162
dfd39dbd
CW
41632012-09-14 Colin Watson <cjwatson@ubuntu.com>
4164
4165 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
4166 IEEE1275 machines. Fixes powerpc-emu compilation.
4167 * include/grub/terminfo.h: Likewise.
4168
3bfa763c
VS
41692012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4170
4171 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
4172 a const pointer.
4173 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
4174 const pointer.
4175 (efiemu_set_variable): Make vendor_guid a const pointer.
4176
250e475b
VS
41772012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4178
4179 Don't require grub-mkconfig_lib to generate manpages for programs.
4180
4181 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
4182 dependencies, don't add grub-mkconfig_lib.
4183 (program): Pass empty adddeps.
4184 (script): Pass grub-mkconfig_lib as adddeps.
4185
592fd0e4
VS
41862012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4187
4188 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
4189 * util/getroot.c (grub_find_device): Likewise.
4190 (get_mdadm_uuid): Likewise.
4191 (grub_util_is_imsm): Likewise.
4192 (grub_util_pull_device): Likewise.
4193 * util/grub-probe.c (probe): Likewise.
4194
801a3027
BG
41952012-09-10 Benoit Gschwind <gschwind>
4196
4197 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
4198 (devs): Add devpath_8.
4199
c5052c81
PJ
42002012-09-08 Peter Jones <pjones@redhat.com>
4201
4202 * grub-core/Makefile.core.def (efifwsetup): New module.
4203 * grub-core/commands/efi/efifwsetup.c: New file.
4204 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
4205 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
4206 New define.
4207 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
4208
8e832f71
JS
42092012-09-05 Jiri Slaby <jslaby@suse.cz>
4210
4211 * configure.ac: Add SuSe path.
4212
f0f55752
CW
42132012-09-05 Colin Watson <cjwatson@ubuntu.com>
4214
4215 * NEWS: Fix typo.
4216
ecadc4c2
CW
42172012-09-05 Colin Watson <cjwatson@ubuntu.com>
4218
4219 * util/import_gcry.py: Sort cipher_files, to make build system
4220 generation more deterministic.
4221
64498f25
VS
42222012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4223
4224 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
4225 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
4226 (grub_set_datetime): Likewise.
4227
9cc836a2
VS
42282012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4229
4230 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
4231 warnings.
4232
bcfcea01
VS
42332012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4234
4235 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
4236
a4099485
VS
42372012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4238
4239 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
4240
265c162a
CW
42412012-09-04 Colin Watson <cjwatson@ubuntu.com>
4242
4243 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
4244 required for checkouts from bzr, but it may be useful for users or
4245 distributors wishing to update translations against a tarball
4246 distribution, and it can be helpful for the tarball to be a superset
4247 of what's in bzr.
4248
3d171e95
CW
42492012-09-04 Colin Watson <cjwatson@ubuntu.com>
4250
4251 * Makefile.am (EXTRA_DIST): Add
4252 grub-core/tests/boot/linux.init-mips.S,
4253 grub-core/tests/boot/linux.init-ppc.S, and
4254 grub-core/tests/boot/linux-ppc.cfg.
4255
f2c2503e
CW
42562012-09-04 Colin Watson <cjwatson@ubuntu.com>
4257
4258 * grub-core/mmap/mips/loongson: Remove empty directory.
4259
42602012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
4261
4262 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
4263 gone.
4264
ab2163d5
CW
42652012-09-04 Colin Watson <cjwatson@ubuntu.com>
4266
4267 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
4268 grub-sparc64-setup.
4269
ce938140
GS
42702012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
4271
4272 * configure.ac: Strengthen the test for working -nostdinc -isystem.
4273
529f58a5
GS
42742012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
4275
4276 * po/POTFILES.in: Regenerated.
4277
16cf79e9
GS
42782012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
4279
4280 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
4281 (NetBSD): New subsection.
4282
39b27f1e 42832012-07-22 Ales Nesrsta <starous@volny.cz>
4284
4285 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
4286 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
4287
a885261b
VS
42882012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4289
4290 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
4291 * util/grub.d/10_hurd.in: Add missing quoting.
4292 * util/grub.d/10_illumos.in: Likewise.
4293 * util/grub.d/10_kfreebsd.in: Likewise.
4294 * util/grub.d/10_linux.in: Likewise.
4295 * util/grub.d/20_linux_xen.in: Likewise.
4296
7bd29c01
VS
42972012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4298
4299 New command `lsefi'.
4300
4301 * grub-core/Makefile.core.def (lsefi): New module.
4302 * grub-core/commands/efi/lsefi.c: New file.
4303 * include/grub/efi/api.h: Add more GUIDs.
4304
ac625d8f
VS
43052012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4306
4307 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
4308 (grub_bsd_elf32_hook): Likewise.
4309 (grub_bsd_elf64_size_hook): Likewise.
4310 (grub_bsd_elf64_hook): Likewise.
4311 (grub_bsd_load_elf): Likewise.
4312
e73bb801
VS
43132012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4314
4315 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
4316 if hash function is unavailable.
4317 (dec_stream_header): Likewise.
4318
e81db8b5
VS
43192012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4320
4321 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
4322 filter state.
4323
d187a1c3
VS
43242012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4325
4326 Fix coreboot compilation.
4327
4328 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
4329 (grub_vga_text_init_real): ... this.
4330 (grub_vga_text_fini): Rename to ...
4331 (grub_vga_text_fini_real): ... this.
4332
91a05f64
VS
43332012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4334
4335 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
4336
6af96df7
VS
43372012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4338
4339 * grub-core/lib/legacy_parse.c: Support clear and testload.
4340
4d569e12
VS
43412012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4342
4343 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
4344
073b57bb
VS
43452012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4346
4347 * grub-core/fs/ext2.c: Experimental support for 64-bit.
4348
a706f4cc
VS
43492012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4350
4351 * grub-core/net/tftp.c (ack): Fix endianness problem.
4352 (tftp_receive): Likewise.
4353 Reported by: Michael Davidsaver.
4354
e7850aa9
VS
43552012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4356
4357 * gentpl.py: Make mans depend on grub-mkconfig_lib.
4358
43592012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4360
4361 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
4362 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
4363 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
4364
35692881
VS
43652012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4366
4367 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
4368 efi_mmap_size.
4369 Reported by: Stuart Hayes.
4370
c35fc5bd
VS
43712012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
4372
4373 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
4374
4375 * grub-core/Makefile.core.def (mda_text): New module.
4376 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
4377 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
4378 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
4379 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
4380 here.
4381 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
4382 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
4383 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
4384 here.
4385 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
4386 to ..
4387 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
4388 ... here
4389 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
4390 here.
4391 * grub-core/term/i386/vga_common.c: Removed.
4392 * include/grub/i386/vga_common.h: Likewise.
4393 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
4394 (grub_vga_cr_bw_read): Likewise.
4395 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
4396 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
4397 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
4398 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
4399 grub_vga_cr_read/grub_vga_cr_write.
4400 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
4401
5f91f701
VS
44022012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4403
4404 * configure.ac: Bump version to 2.00.
4405 * grub-core/normal/main.c (features): Add feature_200_final.
4406
0c4f85f6
VS
44072012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
44082012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
4409
4410 * NEWS: Fix unclarity and language mistakes.
4411
f923ad22
VS
44122012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4413
4414 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
4415 additional size to 3 pages.
4416 Reported by: Stuart Hayes.
4417
d22029ba
VS
44182012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4419
4420 * NEWS: Add 2.00 entry.
4421
58eee08f
VS
44222012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4423
4424 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
4425 put explicit "/" for empty path.
4426 (wildcard_expand): Improve dprintf.
4427
c59bdff7
VS
44282012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4429
4430 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
4431 it's equal to currnode. This can happen with "" symlink.
4432
5e6a440a
YB
44332012-06-27 Yves Blusseau <blusseau@zetam.org>
4434
4435 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
4436 echo shell command by printf command.
4437
73a68bcb
VS
44382012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
4441 the value returned by firmware is the maximal position, not diumension.
4442 (grub_terminfo_output_state): Use a more sane fallback.
4443
392a603b
VS
44442012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4445
4446 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
4447
42d0867f
VS
44482012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4449
4450 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
4451 frequency to 150 MHz.
4452
489509f4
VS
44532012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4454
4455 Apple fixes.
4456
4457 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
4458 __APPLE_
4459 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
4460 definition.
4461 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
4462
9f3fc883
VS
44632012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4464
4465 Handle slash in HFS label.
4466
4467 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
4468 (grub_hfs_dir): Tanslate slash.
4469 (grub_hfs_label): Don't translate slash.
4470
54853fd7
VS
44712012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4472
4473 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
4474 network protocol listing since it introduces problematic dependency on
4475 net module.
4476
4dc02ddf
VS
44772012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4478
4479 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
4480
c50c867d
VS
44812012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4482
4483 Init video early on yeeloong to avoid being rebooted by watchdog.
4484
4485 * grub-core/Makefile.am (gensm712): New target.
4486 (sm712_start.S): Likewise.
4487 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
4488 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
4489 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
4490 description.
4491 * include/grub/vga.h: Move registry definitions to...
4492 * include/grub/vgaregs.h: ... here.
4493
5f92c8a1
VS
44942012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4495
4496 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
4497 signedness.
4498
e9e6f111
VS
44992012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4500
4501 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
4502 platforms with firmware disk drivers in the core.
4503
754ad9eb
VS
45042012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4505
4506 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
4507 informative verbose message.
4508 (read_lv): Handle 64-bit segment size.
4509
315654c2
VS
45102012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4511
4512 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
4513
fb022c79
VS
45142012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4515
4516 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
4517 character but still remove trainling spaces.
4518 (grub_fat_label): Ignore archive flag.
4519
8645f72c
VS
45202012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
4523 cast between linux_kernel_header and linux_kernel_params.
4524
36498496
VS
45252012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4526
4527 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
4528 type for size.
4529 (grub_raid6_recover_func_t): Likewise.
4530 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
4531 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
4532
0b5ea6b8
VS
45332012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4534
4535 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
4536
650cfcfe
GS
45372012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
4538
4539 Fix overflow.
4540
4541 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
4542 [__NetBSD__]: Add explicit cast before bitshift.
4543
8a4d6a44
VS
45442012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4545
4546 * configure.ac: Bump to 2.00~rc1.
4547
2fb97ed3
VS
45482012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4549
4550 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
4551 half of $a0.
4552
1fa097dc
VS
45532012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
45542012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
4555
4556 * docs/grub.texi: Fix search syntax.
4557 (Multi-boot manual config): Put msdos rather than GPT example.
4558 Grammar corrections.
4559
c890ba78
VS
45602012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4561
4562 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
4563
0f92dca7
VS
45642012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4565
4566 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
4567
3988c4a0
VS
45682012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4569
4570 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
4571 message on double free. Put the value of magic in case of mismatch.
4572
9e86d4c5
VS
45732012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4574
4575 Speed-up video on yeeloong.
4576
4577 * grub-core/video/sm712.c (framebuffer): Remove render_target and
4578 add cached_ptr.
4579 (grub_video_sm712_video_fini): Unmap cached_ptr.
4580 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
4581 (grub_video_sm712_set_active_render_target): Removed.
4582 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
4583 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
4584 sync caches.
4585
ed24c312
VS
45862012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4587
4588 Avoid flushing the same line multiple times on loongson.
4589
4590 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
4591 Step in 32 bytes and not 1 byte.
4592 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
4593 Likewise.
4594
d1718e7d
VS
45952012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4596
4597 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
4598 subvolumes.
4599
982f1909
VS
46002012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4601
4602 Implement flow control for http.
4603
4604 * grub-core/net/http.c (parse_line): Handle response 206.
4605 (http_receive): Stall if too many packets are in the queue.
4606 (http_establish): Fix range header.
4607 (http_seek): Fix double free.
4608 (http_close): Likewise.
4609 (http_packets_pulled): New function.
4610 (grub_http_protocol): Set http_seek
4611 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
4612 (ack_real): Set window depending on i_stall.
4613 (grub_net_send_tcp_packet): Likewise.
4614 (grub_net_tcp_stall): New function.
4615 (grub_net_tcp_unstall): Likewise.
4616 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
4617 (grub_net_tcp_unstall): Likewise.
4618
bd407d6e
VS
46192012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4620
4621 * grub-core/net/tftp.c: Decrease stall to 50 packets.
4622
c7564b8e
VS
46232012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4624
4625 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
4626
a3706162
VS
46272012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4628
4629 * tests/util/grub-shell.in: Fix a typo.
4630
b27069e0
VS
46312012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4632
4633 Implement flow control for tftp.
4634
4635 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
4636 packets but stop only if stop condition is satisfied.
4637 (grub_net_fs_read_real): Call packets_pulled after real read. Use
4638 `stall' instead of `eof' as stop condition.
4639 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
4640 (http_err): Likewise.
4641 * grub-core/net/tftp.c (ack): Replace the first argument with data
4642 instead of socket.
4643 (tftp_receive): Stall if too many packets are in wait queue.
4644 (tftp_packets_pulled): New function.
4645 (grub_tftp_protocol): Set packets_pulled.
4646 * include/grub/net.h (grub_net_packets): New field count.
4647 (grub_net_put_packet): Increment count.
4648 (grub_net_remove_packet): Likewise.
4649 (grub_net_app_protocol): New field `packets_pulled'.
4650 (grub_net): New field `stall'.
4651
6b9cfac6
VS
46522012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4653
4654 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
4655 sync part to handle them.
4656
f35abd81
VS
46572012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4658
4659 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
4660 * grub-core/net/drivers/ieee1275/ofnet.c
4661 (grub_ieee1275_net_config_real): Likewise.
4662
0e7ec820
VS
46632012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4664
4665 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
4666 the direct route for server/gateway.
4667
9d611a31
VS
46682012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4669
4670 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
4671 IP address to server name since we may not hame the DNS.
4672
418f45ab
VS
46732012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4674
4675 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
4676 freeing random buffer on failure.
4677 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
4678
44a0efc1
VS
46792012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4680
4681 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
4682
531e2241
VS
46832012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4684
4685 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
4686 reserved bytes.
4687 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
4688 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
4689 Handle malloc error correctly.
4690
cde393c9
VS
46912012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
4694 blocks.
4695
538478d0
VS
46962012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4697
4698 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
4699 increment.
4700
9b55efe0
VS
47012012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
4704 none is explicitly specified.
4705
9eb832c3
VS
47062012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4707
4708 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
4709 while reallocating.
4710
d6b7c7c9
VS
47112012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4712
4713 Respect netmask from bootp/dhcp.
4714
4715 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
4716 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
4717 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
4718 into ...
4719 (grub_net_add_ipv4_local): ... this.
4720 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
4721 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
4722 (grub_net_add_ipv4_local): New proto.
4723
67caf9eb
VS
47242012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4725
4726 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
4727 determining EFI memory map size.
4728
43657558
VS
47292012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4730
4731 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
4732
eb6d0dd3
VS
47332012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4734
4735 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
4736 when looking for partition separator.
4737
31230544
VS
47382012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4739
4740 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4741 Escape commas.
4742
918a2517
VS
47432012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4744
4745 Restructure FAT driver to avoid hook in label reading as it hits a
4746 GCC bug.
4747
4748 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
4749 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
4750 (grub_fat_iterate_dir): Split into ...
4751 (grub_fat_iterate_init): ... this, ...
4752 (grub_fat_iterate_fini): ... this, ...
4753 (grub_fat_iterate_dir_next): ... and this. All users updated.
4754
9f1d654e
VS
47552012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4756
4757 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
4758 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
4759 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4760 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
4761 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
4762 New fields last_key and last_key_time.
4763 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
4764 extended key-esc into extended key-extended key.
4765
52f0f643
VS
47662012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4767
4768 Avoid unnecessary memcpy of whole video buffer.
4769
4770 * grub-core/video/fb/video_fb.c (dirty): New struct.
4771 (framebuffer): Add members current_dirty and previous_dirty.
4772 (dirty): New function.
4773 (grub_video_fb_fill_rect): Update dirty.
4774 (common_blitter): Likewise.
4775 (grub_video_fb_scroll): Likewise.
4776 (doublebuf_blit_update_screen): Copy only dirty part.
4777 (doublebuf_pageflipping_update_screen): Likewise.
4778 (grub_video_fb_doublebuf_blit_init): Init dirty.
4779 (doublebuf_pageflipping_init): Likewise.
4780 (grub_video_fb_setup): Likewise.
4781
e169a180
VS
47822012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4783
4784 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
4785 poll rate.
4786
48556879
VS
47872012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4788
4789 Fix wildcard regexp dot and other special characters handling.
4790 Reported by: Robert Mabee.
4791
4792 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
4793 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
4794 (split_path): Trigger expansion on '?'.
4795 (unescape): New function.
4796 (wildcard_expand): Unescape parts copied without globbing.
4797 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
4798 (grub_script_arglist_to_argv): Don't unescape expansions.
4799
0494408e
VS
48002012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4801
4802 * include/grub/net.h (grub_net_card): New member txbufsize.
4803 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
4804 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
4805 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
4806 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
4807 txbufsize.
4808 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
4809 compatible property to check for macs. Set
4810 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
4811 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
4812 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
4813 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
4814 (send_card_buffer): Use txbuf.
4815 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
4816 nested function out of the parent while on it.
4817
cc35fe8f
VS
48182012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4819
4820 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
4821 presence check.
4822 (grub_ieee1275_net_config_real): Fix config pointer.
4823
970a0a09
VS
48242012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4825
4826 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
4827 filename parsing to non-block devices.
4828
3e19bf87
VS
48292012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4830
4831 * grub-core/kern/device.c (grub_device_open): Remove dead code.
4832
c62d1a0c
VS
48332012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
4836 All users updated.
4837
ef76bec3
VS
48382012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4839
4840 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
4841 UUID search command even if hints probing failed.
4842
48432012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
4844
4845 * po/POTFILES.in: Regenerated.
4846
70aaf305
VS
48472012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
4848
4849 Speed-up video on fuloong.
4850
4851 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
4852 New function.
4853 (grub_pci_device_unmap_range): Handle non-cached address.
4854 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
4855 add direct_ptr.
4856 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
4857 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
4858 (grub_video_sis315pro_set_active_render_target): Removed.
4859 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
4860 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
4861 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
4862 sync caches.
4863 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
4864 New proto.
4865
10400f0b
VS
48662012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4867
4868 * docs/grub.texi (Multi-boot manual config): New section.
4869
ba67e2c6
VS
48702012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4871
4872 Avoid slow read-back from VRAM.
4873
4874 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
4875 Move from here ...
4876 * grub-core/video/fb/video_fb.c
4877 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
4878 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
4879 (front_target): Remove front_target. Add pages.
4880 (grub_video_fb_init): Skip setting front_pages.
4881 (grub_video_fb_fini): Likewise.
4882 (doublebuf_blit_update_screen): Use pages.
4883 (grub_video_fb_doublebuf_blit_init): Likewise.
4884 (doublebuf_pageflipping_init): Allocate offscreen buffer.
4885 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
4886 (grub_video_fb_setup): Prefer doublebuffing.
4887
377c98cb
VS
48882012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4889
4890 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
4891 gzio.
4892
eac49cff
VS
48932012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4894
4895 Add loongson tests.
4896
4897 * tests/util/grub-shell.in: Handle loongson.
4898 * tests/partmap_test.in: Add loongson to the list of platform using ATA
4899 drivers.
4900 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
4901 Reboot instead of shutdown if REBOOT is defined.
4902
0321415e
VS
49032012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4904
4905 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
4906 sized ports since unlike on real hardware qemu supports only 32-bit
4907 regs.
4908
3f2bdd8f
VS
49092012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4910
4911 * Makefile.util.def (grub-mkrescue): Enable on loongson.
4912 * util/grub-mkrescue.in: Handle loongson.
4913
29a049c9
VS
49142012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
4915
4916 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
4917 Set is_part appropriately.
4918 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
4919 names. Canonicalize partition without full disk.
4920
4abde346
VS
49212012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4922
4923 Revert usb-quiesce since it's wrong.
4924
4925 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
4926 (grub_ofdisk_init): Don't do quiesce.
4927
61f1d93b
VS
49282012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4929
4930 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
4931 PowerMac workaround to Xserves as well.
4932 Information supplied by: Benjamin Herrenschmidt.
4933
a09eb541
VS
49342012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4935
4936 Don't assume that beginning address is also the entry point on ppc.
4937
4938 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
4939 (grub_linux_boot): Use linux_entry.
4940 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
4941 (grub_linux_load64): Likewise.
4942
505b3c9b
VS
49432012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4944
4945 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
4946
cbe0b4ef
VS
49472012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4948
4949 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
4950 needlessly lose the console.
4951
3006e981
VS
49522012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4953
4954 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
4955 space.
4956
4e5a96b0
VS
49572012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
4958
7da036bb
VS
4959 Remove non-functional EFI grub_get_rtc. Put a better fatal message
4960 than current grub_get_rtc() not implemented when booted with
4961 coreboot without TSC.
4962
4963 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
4964 Add machine/time.h to kernel headers on loongson.
4965 * grub-core/Makefile.core.def (kernel): Remove
4966 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
4967 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
4968 (grub_get_rtc): Likewise.
4969 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
4970 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
4971 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
4972 * grub-core/kern/i386/tsc.c (grub_tsc_init)
4973 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
4974 rather than installing known non-working time source.
4975 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
4976 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
4977 * include/grub/time.h: Don't include machine/time.h.
4978 * include/grub/efi/time.h: Removed.
4979 * include/grub/i386/efi/time.h: Likewise.
4980 * include/grub/i386/ieee1275/time.h: Likewise.
4981 * include/grub/powerpc/ieee1275/time.h: Likewise.
4982 * include/grub/sparc64/ieee1275/time.h: Likewise.
4983 * include/grub/x86_64/efi/time.h: Likewise.
4984
49852012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
4986
4987 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
4988
4989 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
4990 value.
4991 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
4992 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
4993 with dotless variants when any combining above is present.
4994
5561c22d
VS
49952012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4996
4997 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
4998 text and not binary.
4999
96f7e60e
VS
50002012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5001
5002 Stop polling as soon as we have the packet we were waiting for.
5003
5004 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
5005 All users updated.
5006 * grub-core/net/arp.c (have_pending): New var.
5007 (pending_req): Likewise.
5008 (grub_net_arp_send_request): Fill pending_req and use have_pending as
5009 stop indicator.
5010 (grub_net_arp_receive): Set have_pending.
5011 * grub-core/net/dns.c (recv_data): New field stop.
5012 (recv_hook): Set stop.
5013 (grub_net_dns_lookup): Init stop and use as stop condition.
5014 * grub-core/net/http.c (http_establish): Use headers_recv as stop
5015 condition.
5016 * grub-core/net/net.c (grub_net_poll_cards): New argument
5017 stop_condition. Stop when it goes true.
5018 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
5019 indicator.
5020 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
5021
3e747239
VS
50222012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5023
5024 Keep TX and RX buffers on EFI rather than always allocate new ones.
5025
5026 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
5027 card. All users updated.
5028 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
5029 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
5030 (get_card_packet): Likewise.
5031 (grub_efinet_findcards): Init new fields.
5032
f695e99a
VS
50332012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5034
5035 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
5036 compilation error on sparc64.
5037
9e5e66d1
VS
50382012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5039
5040 Use ITC on IA64 rather than broken routine based on daytime.
5041
5042 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
5043 ia64.
5044 (grub_get_rtc) [__ia64__]: Likewise.
5045 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
5046 (get_itc): New function.
5047 (grub_rtc_get_time_ms): Likewise.
5048 (grub_machine_init): Calibrate ITC.
5049 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
5050 Keep only on non-ia64. Don't export since it's broken and used only
5051 if TSC is unavailable.
5052
a1767404
VS
50532012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5054
5055 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
5056 even if it's used.
5057 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
5058 Skip if parent is unused.
5059
34b2bced
VS
50602012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5061
5062 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
5063
5e619f40
VS
50642012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5065
5066 Fix wildcard escaping.
5067
5068 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
5069 * grub-core/script/execute.c (wildcard_escape): .. to here.
5070 Don't escape dot.
5071 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
5072 * grub-core/script/execute.c (wildcard_unescape): .. to here.
5073 Don't escape dot.
5074 * grub-core/script/execute.c (gettext_append): Always escape.
5075 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
5076 * grub-core/script/yylex.l: Don't cut away the escaping.
5077 * tests/grub_script_echo1.in: Add tests with wildcard.
5078
c8ca5855
VS
50792012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5080
5081 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
5082 (ftdi_hw_configure): Likewise.
5083 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
5084 define.
5085 (real_config): Handle 1.5 stop bits.
5086 (pl2303_hw_configure): Likewise.
5087
7183452c
VS
50882012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5089
5090 * Makefile.am: Add ppc linux bootcheck.
5091 * grub-core/tests/boot/linux-ppc.cfg: New file.
5092 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
5093
f57c84cd
VS
50942012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5095
5096 * tests/grub_script_expansion.in: Skip network protocols.
5097
ecfc6207
VS
50982012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5099
5100 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
5101
8d03d284
VS
51022012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5103
5104 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
5105 --rom-directory.
5106 Add -graft-points.
5107
61c42af0
VS
51082012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5109
5110 ESCC serial driver for conducting sautomated tests in qemu.
5111 Not tested on real hardware.
5112
5113 * include/grub/serial.h (grub_serial_port): New field escc_desc.
5114 * grub-core/term/ieee1275/escc.c: New file.
5115 * grub-core/Makefile.core.def (escc): New module.
5116
08fd1291
VS
51172012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5118
5119 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
5120 invalid on error.
5121 (serial_hw_fetch): Don't read invalid handle.
5122 (serial_hw_put): Don't write into invalid handle.
5123
08dafeea
VS
51242012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5125
5126 Add a 1.5 stop bits value.
5127
5128 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
5129 * include/grub/serial.h (grub_serial_stop_bits_t): Add
5130 GRUB_SERIAL_STOP_BITS_1_5.
5131
9068fdcf
VS
51322012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5133
5134 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
5135 value rather than let it uninited.
5136
f4d5820f
VS
51372012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5138
5139 * grub-core/commands/wildcard.c (+check_file): New function.
5140 (wildcard_expand): Don't expand to non-existing files, expand with
5141 suffix and not attempt to expand if not needed.
5142
3d2de9a7
VS
51432012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5144
5145 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
5146 out of partitions containing other partitions.
5147
c5c81ff9
VS
51482012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5149
5150 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
5151 on some qemu versions with GRUB.
5152
5153 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
5154 define.
5155 (grub_openbsd_bootarg_pcibios): New struct.
5156 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
5157 Add PCIINFO.
5158
08a14e0b
VS
51592012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5160
5161 * tests/util/grub-shell.in: Trim firmware output on EFI.
5162
cede3ca3
VS
51632012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5164
5165 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
5166 and coreboot since it's already in kernel.
5167
558d3a60
VS
51682012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5169
5170 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
5171 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5172 to here. New return value start. All users updated.
5173 Recursively scan linear mappings.
5174 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
5175 proto.
5176 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
5177 Use grub_util_get_dm_node_linear_info.
5178 * util/getroot.c (convert_system_partition_to_system_disk): Use
5179 grub_util_info rather than grub_dprintf.
5180 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
5181
60fde14d
VS
51822012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5183
5184 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
5185
5186 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
5187 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
5188
24bd8838
VS
51892012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 * include/grub/types.h (grub_set_unaligned64): New function.
5192 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
5193 (setup): Likewise.
5194
7bc06a49
VS
51952012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5196
5197 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
5198 (grub_ofdisk_fini): Quiesce USB devices.
5199
49cea015
VS
52002012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5201
5202 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
5203 caches.
5204
8dcbe03b
VS
52052012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
5208
5b258735
VS
52092012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5210
5211 * grub-core/disk/pata.c (grub_pata_pio_read)
5212 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
5213 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
5214
37ba07eb
VS
52152012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5216
5217 Extend automated tests to qemu-mips.
5218
5219 * Makefile.am: reorganise tests and enable qemu-mips.
5220 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
5221 * grub-core/tests/boot/linux.init-mips.S: New file.
5222 * tests/partmap_test.in: Handle ata0 disks.
5223 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
5224 non-pc i386.
5225
070038f8
VS
52262012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5227
5228 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
5229 ia64.
5230 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
5231 quotes while on it.
5232
004be2cd
VS
52332012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5234
5235 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
5236 (grub_halt): Likewise.
5237 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
5238
b1622487
VS
52392012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5240
5241 * grub-core/term/serial.c (grub_serial_register)
5242 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
5243 the behaviour in line with x86 platforms.
5244
b7b4ab33
VS
52452012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5246
5247 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
5248 (grub_ata_strncpy): Likewise.
5249 (grub_ata_identify): Add missing byteswaps.
5250
5e3535ae
VS
52512012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5252
5253 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
5254 byte-swap.
5255 (screen_read_char): Likewise.
5256 (grub_vga_text_cls): Likewise.
5257
c21b17e6
VS
52582012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5259
5260 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
5261 filenames.
5262 (make_file_path): Likewise.
5263
bf293dec
VS
52642012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5265
5266 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
5267 machines.
5268 Tested by: Paulo Flabiano Smorigo.
5269 Crucial information about API supplied by: Coleen <Last name unknown>.
5270 Reviewed by: Coleen <Last name unknown>.
5271
81f6ef0e
VS
52722012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5273
5274 * util/grub-mkimage.c: Disable -Wcast-align.
5275
7284143a
VS
52762012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5277
5278 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
5279 as they are fatal.
5280
b99f3e00
VS
52812012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5282
5283 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
5284
944f752d
VS
52852012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5286
5287 * util/grub-probe.c (escape_of_path): Fix double free.
5288
6cce6f38
VS
52892012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 * grub-core/commands/videoinfo.c (hook): Show pitch.
5292
1e1eb50e
VS
52932012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5294
5295 * util/grub.d/20_linux_xen.in: Skip xen-syms.
5296
1c715b5a
VS
52972012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5298
5299 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
5300 (probe): Add ieee1275 to OFW devices.
5301
007ae52d
VS
53022012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5303
5304 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
5305
4557a36d
VS
53062012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5307
5308 Handle IBM OFW path.
5309
5310 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
5311 available.
5312 (of_path_of_scsi): Handle vdevice.
5313
efbeefe9
VS
53142012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
5315
5316 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
5317 Allocate in multiples of 16 to avoid adding a few bytes free region the
5318 windows bugs upon.
5319
15a940bb
VS
53202012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
5321
5322 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
5323 Allocate in multiples of 16 to avoid adding a few bytes free region the
5324 windows bugs upon.
5325 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
5326
6e5efd60
VS
53272012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5328
5329 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
5330 resolutions.
5331 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
5332 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
5333
0d3d137e
IS
53342012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
5335
5336 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
5337
45dbe300
VS
53382012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5339
5340 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
5341 resulted in \\ at the end of the line.
5342
6d8db947
VS
53432012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5344
5345 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
5346 (grub_parser_cmdline_state): Likewise.
5347 (grub_parser_split_cmdline): Likewise.
5348
de89d338
VS
53492012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5350
5351 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
5352 /dev/root and /dev/dm-*.
5353
00d41dee
VS
53542012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5355
5356 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
5357 fix partially stale display.
5358
f95d1f11
VS
53592012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5360
5361 * grub-core/normal/menu_entry.c (backward_char): Use right line for
5362 substraction.
5363
6297e197
VS
53642012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
5367 Fix MBR remapping workaround.
5368 (grub_util_biosdisk_read) [__linux__]: Likewise.
5369
8a7ecad3
VS
53702012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
5371
5372 * util/grub-install.in: Check for ieee1275 and not ieee1276.
5373
2b34f944
VS
53742012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5375
5376 * configure.ac: Bump to beta6.
5377
684aef11
CW
53782012-05-31 Christer Weinigel <christer@weinigel.se>
5379
5380 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
5381
05b0bb91
VS
53822012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5383
5384 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
5385 (grub_cmd_linux): Likewise.
5386
bda36bfa
CW
53872012-05-31 Christer Weinigel <christer@weinigel.se>
5388
5389 Fix EHCI low-speed.
5390
5391 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
5392 (GRUB_EHCI_MULT_TWO): Likewise.
5393 (GRUB_EHCI_MULT_THREE): Likewise.
5394 (GRUB_EHCI_CMASK_MASK): New enum value.
5395 (GRUB_EHCI_SMASK_MASK): Likewise.
5396 (GRUB_EHCI_CMASK_OFF): Likewise.
5397 (GRUB_EHCI_SMASK_OFF): Likewise.
5398 (grub_ehci_pci_iter): Enable periodic schedule.
5399 (grub_ehci_parse_notrun): Likewise.
5400 (grub_ehci_restore_hw): Likewise.
5401 (grub_ehci_setup_qh): Set flags for low speed transfers.
5402 (grub_ehci_find_qh): Use periodic list for low speed.
5403 (grub_ehci_setup_transfer): Check periodic queue as well.
5404 (grub_ehci_check_transfer): Likewise.
5405 (grub_ehci_cancel_transfer): Cancel periodic transfer.
5406
e12bcb1c
PFS
54072012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5408
5409 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
5410 parameter is used.
5411
bcc75fb3
PJ
54122012-05-31 Peter Jones <pjones@redhat.com>
5413
5414 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
5415 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
5416 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
5417
f19cb95e
VS
54182012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5419
5420 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
5421 uninited variable. Allocate at least setup_sects.
5422
a4e5ca80
VS
54232012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5424
5425 Fix handling of EFI with big memory maps.
5426
5427 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
5428 (real_mode_mem): Likewise.
5429 (real_mode_target): Likewise.
5430 (real_mode_pages): Likewise.
5431 (prot_mode_pages): Likewise.
5432 (linux_params): New var.
5433 (linux_cmdline): Likewise.
5434 (free_pages): Don't set real mode variables.
5435 (allocate_pages): Don't allocate real mode memory.
5436 (grub_e820_add_region): Remove the limit.
5437 (grub_linux_boot): Allocate and copy real mode memory.
5438 (grub_linux_unload): Free linux_cmdline.
5439 (grub_cmd_linux): Use temporary storage for parameters.
5440 (grub_cmd_initrd): Likewise.
5441 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
5442 (linux_kernel_params): Make it 1K big.
5443
ddb73558
VS
54442012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5445
5446 * Makefile.util.def: Remove -Wno-format.
5447 * grub-core/Makefile.core.def: Likewise.
5448
1c4afb60
VS
54492012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5450
5451 * tests/cmp_unit_test.c: Add missing failure message.
5452 * tests/example_unit_test.c: Likewise.
5453 * tests/printf_unit_test.c: Likewise.
5454
941e3a6d
VS
54552012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5456
5457 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
5458 relaxation of protective MBR requirements.
5459
b105df76
VS
54602012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5461
5462 * configure.ac: Add condition for COND_HOST_XNU.
5463 * Makefile.util.def (10_xnu): New script.
5464 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
5465
84e1569e
VS
54662012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5467
5468 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
5469 objconv bug.
5470
130c0f77
VS
54712012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5472
5473 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
5474 Binary on other platforms stays identical.
5475
6fd0b143
VS
54762012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5477
5478 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
5479 Apple.
5480
0af1751d
VS
54812012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5482
5483 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
5484
176d5f7d
VS
54852012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5486
5487 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
5488 rather than defining size_t ourselves to avoid conflict.
5489
7de5e20a
VS
54902012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5491
5492 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
5493 initialisation to avoid __bzero reference.
5494
f7143efe
VS
54952012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5496
5497 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
5498 version.
5499 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
5500 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
5501 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
5502 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
5503 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
5504
e6ad0555
VS
55052012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5506
5507 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
5508 * grub-core/kern/misc.c: Likewise.
5509 * grub-core/loader/i386/xnu.c: Likewise.
5510 * include/grub/i386/tsc.h: Likewise.
5511 * include/grub/symbol.h: Likewise.
5512
4a5a3c4a
VS
55132012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5514
5515 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
5516 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
5517 on older compiler.
5518
037f6d90
VS
55192012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5520
5521 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
5522 Implement Apple flavour.
5523 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
5524
f7194551
VS
55252012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5526
5527 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
5528 (memmove) [__APPLE__]: Likewise.
5529 (memcpy) [__APPLE__]: Likewise.
5530 (memset) [__APPLE__]: Likewise.
5531 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
5532 (memmove) [__APPLE__]: Likewise.
5533 (memcpy) [__APPLE__]: Likewise.
5534 (memset) [__APPLE__]: Likewise.
5535
85a730ca
VS
55362012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5537
5538 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
5539 dependency discard.
5540
40e80b94
VS
55412012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5542
5543 * grub-core/normal/main.c (read_config_file): Provide config_file and
5544 config_directory.
5545 * util/grub.d/41_custom.in: Use config_directoy when available.
5546
9da59c32
VS
55472012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5548
5549 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
5550 (grub_bfs_dir): Likewise.
5551
2787ae53
PJ
55522012-05-27 Peter Jones <pjones@redhat.com>
5553
5554 The old code gives arguments to a printf function which can't work
5555 correctly, and the compiler complains.
5556
5557 * grub-core/tests/example_functional_test.c (example_test): Add
5558 missing text.
5559 * grub-core/tests/lib/test.c (add_failure): Rewrite.
5560 * include/grub/test.h (grub_test_assert_helper): New declaration.
5561 (grub_test_assert): Use grub_test_assert_helper.
5562
526ef13d
VS
55632012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5564
5565 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
5566 (exfctest): ... this to avoid overlong filenames.
5567 All users updated.
5568
20dd511c
VS
55692012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5570
5571 Handle "." and ".." on squashfs.
5572
5573 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
5574 Make inode numbers into stack.
5575 (grub_squash_read_symlink): Use stack.
5576 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
5577 (make_root_node): Fill stack.
5578 (grub_squash_open): Use stack.
5579
1d80c62a
VS
55802012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5581
5582 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
5583 freeing.
5584
d336f652
VS
55852012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5586
5587 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
5588 stderr on test calls.
5589
8b43f587
VS
55902012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5591
5592 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
5593
80a3dc3f
VS
55942012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5595
5596 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
5597
47e297d4
VS
55982012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5599
5600 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
5601 "..".
5602
df042ccb
VS
56032012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5604
5605 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
5606 (grub_hfsplus_iterate_dir): Add "." and "..".
5607
fc977f48
VS
56082012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5609
5610 * grub-core/fs/cpio.c (canonicalize): Handle "..".
5611 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
5612
f3250e5f
VS
56132012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5614
5615 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
5616 (find_path): Handle "." and "..".
5617
fd8ed4c5
VS
56182012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5619
5620 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
5621 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
5622 (grub_affs_iterate_dir): Handle hardlinks.
5623
4ce776d2
MG
56242012-05-26 Matthew Garrett <mjg@redhat.com>
5625
5626 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
5627 (grub_efi_console_fini): Likewise.
5628 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
5629 (grub_video_gop_fill_mode_info): Rename to ...
5630 (grub_video_gop_fill_real_mode_info): ... this.
5631 (grub_video_gop_fill_mode_info): New function.
5632 (grub_video_gop_setup): Setup double framebuffer.
5633 (grub_video_gop_get_info_and_fini): Use original framebuffer.
5634 Free offscreen.
5635 (grub_video_gop_swap_buffers): Copy framebuffer.
5636 (grub_video_gop_fini): Free offscreen buffer.
5637 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
5638 New enum.
5639 (grub_efi_gop_blt_pixel): New struct.
5640
683031ba
VS
56412012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
5642
5643 * gentpl.py: Remove error disabling for objconv.
5644
c2deb798
VS
56452012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
5646
5647 * configure.ac: Remove -Wunitialized as it's not available on older
5648 compilers.
5649
56502012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
5651
5652 Fix extent overflow comparator.
5653
5654 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
5655 (grub_hfsplus_read_block): Set type.
5656 (grub_hfsplus_cmp_extkey): Compare type.
5657
d6b1fd36
VS
56582012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
5659
5660 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
5661
0a9aa0f6
VS
56622012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5663
5664 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
5665 than 0.
5666
8360e159
VS
56672012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5668
5669 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
5670 (dejavu_bold_14.pf2): New target.
5671
501b9e4b
VS
56722012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5673
5674 * configure.ac: Fix djvu font detection.
5675
7026b0e2
VS
56762012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5677
5678 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
5679 ext* instead of ext2.
5680
c2a51ade
VS
56812012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5682
5683 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
5684 name with \0.
5685
8f803a5d
JU
56862012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
5687
5688 * docs/grub-dev.texi: Remove dot from .png.
5689
13c6353f
VS
56902012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5691
5692 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
5693 protective entry in any slot.
5694 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
5695 if protective entry is found in any slot.
5696
5697 Protective entry in non-first slot make no sense but is a widespread
5698 brain damage.
5699
4cf6be1b
VS
57002012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5701
5702 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
5703
937d1c44
VS
57042012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5705
5706 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
5707 with old reiserfs.
5708 (grub_reiserfs_open): Don't free root.
5709
021d90ec
VS
57102012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
5713 after freeing for safety.
5714
967b2b64
VS
57152012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5716
5717 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
5718 Reported by: Jordan Uggla.
5719
34274d02
JU
57202012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
5721
967b2b64
VS
5722 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
5723 actual implementation. Specifically, clarify that the grub menu will
5724 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
5725 passed.
34274d02 5726
dcaaae9d
BH
57272012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
5728
5729 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
5730 of r0.
5731
7086ad52
VS
57322012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5733
5734 Remove unjustified hard dependency of normal.mod on gfxterm.
5735
5736 * include/grub/term.h (grub_term_output): New member fullscreen.
5737 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
5738 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
5739 (grub_gfxterm): Set .fullscreen.
5740 * grub-core/normal/menu.c (menu_init): Use fullscreen.
5741 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
5742
37ed2c9b
VS
57432012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5744
5745 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
5746 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 5747 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 5748
a4469c88
VS
57492012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5750
5751 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
5752
4e461486
VS
57532012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5754
5755 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
5756 a bad FS.
5757
aa78f5c4
VS
57582012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5759
5760 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
5761 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
5762
197626b5
VS
57632012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5764
5765 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
5766 (grub_jfs_mount): Fill caseins.
5767 (grub_jfs_find_file): Respect caseins.
5768
8ad3f28c
VS
57692012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5770
5771 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
5772 through UTF-16.
5773
0c6c324e
VS
57742012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5775
5776 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
5777 New argument origpath. All users updated.
5778
c6666ba6
VS
57792012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5780
5781 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
5782 (read_attr): Ensure that we read start of possibly compressed block.
5783
e28e5fe5
VS
57842012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5785
5786 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
5787 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
5788 All users updated.
5789
5fc23ab2
VS
57902012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5791
5792 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
5793 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
5794 (dejavu.pf2): Replace with ...
5795 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
5796 this.
5797
79dbc21c
VS
57982012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5799
5800 * util/grub.d/20_linux_xen.in: Add missing line.
5801
d2fcfb0c
VS
58022012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5803
5804 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
5805 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
5806 (grub_utf16_to_utf8): Likewise.
5807
5560e9d6
VS
58082012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5809
5810 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
5811 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
5812 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5813 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
5814 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
5815 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
5816
58172012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
5818
5819 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
5820 a bad FS.
5821
5560e9d6 58222012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
5823
5824 * grub-core/fs/udf.c (read_string): Bail out on size=0.
5825 (grub_udf_read_symlink): Handle read_string failure.
5826
5eae3175
VS
58272012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5828
5829 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
5830 comment.
5831
c1ad82db
VS
58322012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5833
5834 Fix handling of UDF symlinks.
5835
5836 * grub-core/fs/udf.c (read_string): New argument outbuf.
5837 All users updated.
5838 (grub_ufs_read_symlink): Rename to ...
5839 (grub_udf_read_symlink): ... this. All users updated.
5840 Handle symlinks with more than one component.
5841
33eca6e0
VS
58422012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5843
5844 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
5845 symlinks. Replace leading colon with a slash.
5846
57f4a70b
VS
58472012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
5850 filename.
5851
38c8ee20
VS
58522012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5853
5854 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
5855 match in inner node.
5856
2e57f28f
VS
58572012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5858
5859 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
5860 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
5861 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
5862 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
5863 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
5864 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
5865 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
5866 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
5867 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
5868
fe8c2f11
VS
58692012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5870
5871 Use grub-probe and not cmp to check that disk is empty.
5872
5873 * util/grub-install.in: Use grub-probe for zero-check.
5874 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
5875 (probe): Handle PRINT_ZERO_CHECK.
5876 (argp_parser): Handle -t zero_check.
5877
58782012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
5879
5880 Flush block cache on adding disk to device map.
5881
5882 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
5883 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
5884 adding.
5885 (read_device_map): Likewise.
5886 (open_device): Flush on opening.
5887
690434e8
VS
58882012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5889
5890 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
5891 (handle_symlink): Fix off-by-one error.
5892 Canonicalize the target.
5893 (grub_cpio_dir): Canonicalize the name.
5894 Fix memory leak.
5895 Set directory.
5896 (grub_cpio_open): Canonicalize the name.
5897
742d2be6
VS
58982012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5899
5900 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
5901 handling.
5902
3244fe96
VS
59032012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5904
5905 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
5906 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
5907
8aeb1837
VS
59082012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5909
5910 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
5911 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 5912 All users updated.
8aeb1837 5913
9133fd05
VS
59142012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5915
5916 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
5917 counterpart.
5918
6d521c5b
VS
59192012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5920
5921 Fix UFS1 big file support.
5922
5923 * grub-core/fs/ufs.c (INODE): Removed.
5924 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
5925 64-bit.
5926 (INODE_MODE): Simplify.
5927 (grub_ufs_inode): Use uint64_t for size and not int64_t.
5928 (grub_ufs_lookup_symlink): Don't use INODE.
5929
21b82e17
VS
59302012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5931
5932 Fix minixfs with non-power-of-two blocks since it's supported by minix.
5933
5934 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
5935 (grub_minix_data): Replace log_block_size with block_size.
5936 (grub_minix_read_file): Use block_size but avoid 64-bit division.
5937 (grub_minix_mount): Fill block_size.
5938
59392012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
5940
5941 * configure.ac: Bump to beta5.
5942
f417ed04
VS
59432012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5944
5945 Fix wrapped HFS+ handling.
5946
5947 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
5948 blocks_start. All users updated.
5949 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
5950 wrapping offset.
5951 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
5952
607d282b
VS
59532012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5954
5955 Fix long symlinks on reiserfs.
5956
5957 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
5958 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
5959 (grub_reiserfs_iterate_dir): Save size for non-directories.
5960 (grub_reiserfs_open): Don't reread stat block as we already know the
5961 size.
5962 (grub_reiserfs_read): Split into...
5963 (grub_reiserfs_read_real): ... and ...
5964 (grub_reiserfs_read): ...this.
5965
ae16024d
VS
59662012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5967
5968 Fix non-indexed JFS.
5969
5970 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
5971 (grub_jfs_data): New field namecomponentlen.
5972 (grub_jfs_mount): Fill namecomponentlen.
5973 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
5974
eea1e26e
VS
59752012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5976
5977 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
5978 * tests/grub_script_echo1.in: Add tests.
5979
df760f77
VS
59802012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5981
5982 * util/grub-install.in: Ignore empty devicetree directory.
5983
5efb817d
B
59842012-05-08 Bean <bean123ch@gmail.com>
5985
5986 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
5987 All users updated.
5988 (free_rsm): Free header as well.
5989 (free_old_fragments): Fix memory leak.
5990 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
5991 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
5992 (destroy_pq): Likewise.
5993 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
5994
668ea6d2
VS
59952012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5996
5997 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
5998 resulting hash as a precaution.
5999
1739b1fe
VS
60002012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6001
6002 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
6003 '_' in variable names.
6004 * grub-core/net/net.c (grub_net_network_level_interface_register):
6005 Likewise.
6006
6ae485aa
VS
60072012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6008
6009 Fix AFFS with non-512B blocks.
6010
6011 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
6012 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
6013 (grub_affs_data): Replace blocksize with log_blocksize.
6014 (grub_affs_read_block): Fix non-512B blocks.
6015 (grub_affs_read_symlink): Likewise.
6016 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
6017 (grub_affs_read): Fix non-512B blocks.
6018 (grub_affs_label): Likewise.
6019 (grub_affs_mtime): Likewise.
6020 (grub_affs_mount): Fix block detection routine.
6021
d20fab84
VS
60222012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6023
6024 Add filesystem mtime to AFFS.
6025
6026 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
6027 (aftime2ctime): New function.
6028 (grub_affs_dir): Use aftime2ctime.
6029 (grub_affs_label): Fix return value.
6030 (grub_affs_mtime): New function.
6031 (grub_affs_fs): Add mtime.
6032
e87b10f5
VS
60332012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6034
6035 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
6036 UTF-8.
6037
7dceec9b
VS
60382012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6039
6040 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
6041 UTF-8.
6042
2f48221f
VS
60432012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6044
6045 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
6046
dacd85cf
VS
60472012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6048
6049 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
6050 flags.
6051 (FLAGS_CASE_SENSITIVE): New enum value.
6052 (cache_entry): New struct.
6053 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
6054 cache_size and cache.
6055 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
6056 Add log_blocksize and fshelp_flags.
6057 (grub_sfs_read_extent): Handle non-512 blocks.
6058 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
6059 (grub_sfs_read_file): Handle non-512 blocks.
6060 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
6061 fshelp_flags.
6062 (grub_sfs_read_symlink): Handle non-512 blocks.
6063 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
6064 (grub_sfs_dir): Free cache.
6065 (grub_sfs_close): Likewise.
6066
24e9a854
VS
60672012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6068
6069 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
6070 filesystems.
6071
62ace64d
VS
60722012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6073
6074 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
6075
83b2e89c
VS
60762012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6077
6078 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
6079
75ccaea3
VS
60802012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6081
6082 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
6083 (grub_sfs_read_extent): Likewise.
6084 (grub_sfs_read_block): Likewise.
6085 (grub_sfs_mount): Likewise.
6086 (grub_sfs_iterate_dir): Likewise.
6087 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
6088 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
6089
1b8463f2
VS
60902012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6091
6092 Fix errors on compressed NTFS with 512B clusters.
6093
6094 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
6095 types.
6096 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
6097 not 0.
6098 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
6099 Relax check for inline extents.
6100 (ntfscomp): Return correct -1 on error and not 0.
6101
4f8e368f
VS
61022012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6103
6104 * util/grub-install.in: Fix handling of prefix containing spaces.
6105
6f5d5ee8
VS
61062012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
6109 (grub_squash_read_data): Fix offset byte-swapping.
6110
ce41ab7a
VS
61112012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6112
6113 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
6114 per common usage and preffered in several parts of code.
6115 (grub_memcmp): Likewise.
6116 (grub_strncmp): Likewise.
6117 * include/grub/misc.h (grub_strcasecmp): Likewise.
6118 (grub_strncasecmp): Likewise.
6119 * Makefile.util.def (cmp_test): New test.
6120 (grub_script_strcmp): Likewise.
6121 * tests/cmp_unit_test.c: New file.
6122 * tests/grub_script_strcmp.in: Likewise.
6123 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
6124
49717bf4
VS
61252012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6126
6127 * include/grub/pci.h: Move enums into no-asm part.
6128
0a308f64
VS
61292012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6130
6131 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
6132
1796965f
ST
61332012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
6134
6135 * util/getroot.c (find_hurd_root_device): Try to make error message
6136 and comments to translators clearer.
6137
4e9b2819
VS
61382012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6139
6140 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
6141
076aeb50
VS
61422012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6143
6144 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
6145 btrfs.
6146
19424d94
VS
61472012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6148
6149 * docs/grub.cfg: Update.
6150
ebb73076
VS
61512012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6152
6153 * docs/grub.texi (PXE): Remove not present variables.
6154
9a1b669c
VS
61552012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6156
6157 * grub-core/net/net.c (defserver_set_env): New function.
6158 (defserver_get_env): Likewise.
6159 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
6160
d38bf7d3
VS
61612012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6162
6163 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
6164 entries.
6165
61662012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
6167
6168 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
6169 * grub-core/kern/emu/hostdisk.c: Likewise.
6170
e5e4ca48
ST
61712012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
6172
6173 Handle hurd userspace partitions.
6174
6175 * util/getroot.c (find_hurd_root_device): New function.
6176 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
6177
56bb5dd5
VS
61782012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6179
6180 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
6181 names.
6182 Reported by: Bastian Blank.
6183
9e8bc27a
VS
61842012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6185
6186 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
6187 crossing page boundary.
6188
aa01499d
VS
61892012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6190
6191 Fix B-tree search in BFS, especially in presence of non-ASCII
6192 characters.
6193
6194 * grub-core/fs/bfs.c (bfs_strcmp): New function.
6195 (find_in_b_tree): Use standard bsearch + btree algorithm.
6196
57006035
VS
61972012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6198
6199 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
6200 and so on.
6201
9d34bb85
MG
62022012-05-03 Matthew Garrett <mjg@redhat.com>
62032012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6204
6205 Suspend broadcom cards in order to stop their DMA.
6206
6207 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
6208 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
6209 (pci): Don't build on x86 EFI.
6210 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
6211 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
6212 New function.
6213 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
6214 stop_broadcom if running on EFI.
6215 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
6216 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
6217 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
6218 (grub_pci_find_capability): New proto.
6219
01aab997
VS
62202012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6221
6222 * docs/grub.texi: Remove dot from the extension as it apparently
6223 doesn't work with some makeinfo versions.
6224
fbd8dca6
VS
62252012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6226
6227 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
6228 with GRUB expectance.
6229
dab797f4
VS
62302012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6231
6232 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
6233
1516bfb4
VS
62342012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6235
6236 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
6237 zero after directory block since last entry may be not 0-terminated if
6238 it ends on block boundary. Use continue instead of if spanning whole
6239 loop.
6240
a3a0eace
VS
62412012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6242
6243 Support 4K sectors UDF inline files.
6244
6245 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
6246 (grub_udf_extended_file_entry): Likewise.
6247 (grub_fshelp_node): Name the anonymous union. Put block at the end.
6248 All users updated.
6249 (get_fshelp_size): New function.
6250 (grub_udf_read_icb): Read whole block.
6251 (grub_udf_iterate_dir): Likewise.
6252 (grub_udf_dir): Likewise.
6253 (grub_udf_open): Likewise.
6254
c82f16c1
VS
62552012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6256
6257 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
6258
59fd2aac
VS
62592012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6260
6261 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
6262 inline symlinks in addition to workaround.
6263
3b4afb4d
VS
62642012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6265
6266 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
6267
f45c794a
VS
62682012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6269
6270 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
6271
f25cecbd
VS
62722012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6273
6274 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
6275
bb9a34e8
VS
62762012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6277
6278 Fix reiserfs big seek times.
6279
6280 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
6281 exact. All users updated.
6282 (grub_reiserfs_read): Use nearest btree search for seeking.
6283 Fix return value on error.
6284
dc478aea
VS
62852012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6286
6287 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
6288 entries.
6289 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
6290 * docs/grub.texi: Update menuentry description.
6291
8db10f47
VS
62922012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6293
6294 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
6295 crash when embedding onto filesystem.
6296
bcb288ed
VS
62972012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6298
6299 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
6300 name.
6301
a626fdd7
VS
63022012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6303
6304 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
6305
b2f68477
VS
63062012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6307
6308 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
6309 commit.
6310
ba15b2af
B
63112012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
63122012-05-01 Bean <bean123ch@gmail.com>
6313
6314 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
6315
a188012e
VS
63162012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6317
6318 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
6319 Special behaviour for len = 0 to read whole file isn't used anywhere and
6320 can cause buffer ovewrflows in several places.
6321
f0a53ed2
VS
63222012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6323
6324 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
6325
5ed554f0
VS
63262012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6327
6328 Handle RAIDZ on non-512B sectors.
6329
6330 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
6331 max_children_ashift.
6332 (fill_vdev_info_real): Fill max_children_ashift.
6333 (read_device): Use max_children_ashift.
6334
ddc58357
VS
63352012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6336
6337 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
6338
e3282399
VS
63392012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6340
6341 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
6342 disk names.
6343 * docs/grub.texi: Update device.map parts.
6344
ee618bd4
VS
63452012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6346
6347 Don't scan into non-diskfilter devices having diskfilter names.
6348
6349 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
6350 (scan_disk): New argument accept_diskfilter. Fix recursion depth
6351 handling.
6352 (scan_disk_hook): New function.
6353
bdf88864
B
63542012-04-29 Bean <bean123ch@gmail.com>
6355
6356 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
6357 allocation.
6358
32745f51
MK
63592012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
6360
6361 * configure.ac: Detect starfield theme font path
6362 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
6363
bc95c8c0
VS
63642012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6365
6366 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
6367 geometry on serial consoles.
6368
147fbcab
VS
63692012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6370
6371 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
6372 because of network consoles.
6373
0f42c889
VS
63742012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6375
6376 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
6377 handling.
6378
4a3594c9
VS
63792012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6380
6381 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
6382 falls on Q syndrom.
6383
5cb53879
VS
63842012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6385
6386 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
6387 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
6388
b282dfe5
VS
63892012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6390
6391 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
6392 Allocate at lest 8192 for temporary buffer as required for lzo.
6393
daa59f47
VS
63942012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6395
6396 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
6397 to cluster_bits, since it's already added in.
6398 (grub_fat_read_data): Likewise.
6399
986748ce
VS
64002012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6401
6402 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
6403 as long as cluster size is multiple of 512 bytes.
6404
a20f6ad0
VS
64052012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
6406
6407 * util/grub-mkrescue.in: Fix locale directory.
6408
385f9abb
VS
64092012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
6410
6411 * grub-core/kern/emu/hostdisk.c (map): Make static.
6412
1c557d30
B
64132012-04-23 Bean <bean123ch@gmail.com>
6414
6415 * util/grub-fstest.c (fstest): Add missing break.
6416
524b5d3a
ST
64172012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
6418
6419 Fix hurd build.
6420
6421 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
6422 not define nr variable.
fe4824e9 6423 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
6424 find_root_devices_from_poolname, find_root_devices_from_libzfs,
6425 grub_find_device): Do not define.
524b5d3a 6426
9a06490c
VS
64272012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6428
6429 Fix kfreebsd compile and behaviour.
6430
6431 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
6432 format-security.
6433 * util/getroot.c: Fix wait.h include.
6434 (grub_guess_root_devices): Error if grub_find_device fails.
6435 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
6436 (grub_util_get_dev_abstraction): Likewise.
6437 (grub_util_pull_device): Likewise.
6438 (grub_util_get_grub_dev): Likewise.
6439 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
6440
48143d96
VS
64412012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6442
6443 Fix and unify wholedisk detection.
6444
6445 * util/getroot.c (convert_system_partition_to_system_disk): New argument
6446 is_part. All users updated.
6447 (device_is_wholedisk): Removed.
6448 (grub_util_biosdisk_get_grub_dev): Use is_part.
6449
ebbd24f3
VS
64502012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6451
6452 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
6453 mode.
6454
56f7aa1e
VS
64552012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6456
6457 * configure.ac: Bump to beta4.
6458
9c815e01
VS
64592012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6460
6461 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
6462 --fs-uuid --set UUID syntax.
6463
59e2651a
VS
64642012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6465
6466 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
6467 disunification.
6468
54e03cfc
VS
64692012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
6472
81092a75
MK
64732012-04-18 Mads Kiilerich <mads@kiilerich.com>
6474
6475 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
6476
f8315e14
MG
64772012-04-18 Mike Gilbert <floppym@gentoo.org>
6478
6479 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
6480
1501ac21
B
64812012-04-18 Bean <bean123ch@gmail.com>
6482
6483 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
6484 place.
6485
cb7f944e
VS
64862012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6487
6488 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
6489 users updated.
6490 (grub_util_biosdisk_read): Handle Linux partitions not exactly
6491 corresponding to GRUB partitions.
6492 (grub_util_biosdisk_write): Likewise.
6493
b72d44a1
VS
64942012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6495
6496 Scan mdraid before LVM.
6497
6498 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
6499 (grub_diskfilter_register_front): ... this.
6500 (grub_diskfilter_register_back): New function.
6501 All users of grub_diskfilter_register updated.
6502
33d918b8
VS
65032012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6504
6505 * util/grub-install.in: Fix an automatic target detection bug.
6506
c6ca973d
VS
65072012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6508
6509 * util/grub-install.in: New option --efi-directory.
6510
b41be562
VS
65112012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6512
6513 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
6514 boot services if we have no other choice.
6515
65162012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6517
6518 * util/grub-mknetdir.in: Rename --override-directory to --directory and
6519 document it.
6520 * tests/util/grub-shell.in: Update to --directory.
6521
e0595a73
VS
65222012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6523
6524 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
6525
4ed80652
VS
65262012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6527
6528 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
6529 (grub_minix_read_file): Likewise.
6530 (grub_minix_read_inode): Likewise.
6531 (grub_minix_find_file): Likewise.
6532 (grub_minix_dir): Likewise.
6533
56008077
VS
65342012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6535
6536 * util/grub-setup.c (setup): Fix partition handling and blocklist
6537 check.
6538
ee520775
VS
65392012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6540
6541 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
6542 redundant buggy overlap check.
6543
16fc9293
VS
65442012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6545
6546 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
6547 and grub-mknetdir.
6548
9bab65c4
VS
65492012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6550
6551 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
6552 kh.loadflags on pre-2.00 kernels.
6553
3c491b47
VS
65542012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6555
6556 Terminate UNDI and PXE before launching the payload to avoid problems
6557 with DMA.
6558
6559 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
6560 (grub_loader_flags): ... this. All users updated.
6561 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
6562 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
6563 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
6564 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
6565 function.
6566 (grub_pxe_restore): Likewise.
6567 (fini_hnd): New var.
6568 (GRUB_MOD_INIT): Register shutdown hook.
6569 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
6570 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
6571 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
6572 (grub_loader_set): Rename second argument to flags.
6573
851ffada
VS
65742012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6575
6576 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
6577 written bytes.
6578 (grub_get_num_of_utf8_bytes): New function.
6579 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
6580 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
6581 executing it.
6582 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
6583 (grub_ucs4_to_utf8): Change return type.
6584
491c57a8
VS
65852012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6586
6587 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
6588 warning.
851ffada
VS
6589 * grub-core/fs/bfs.c (hop_level): Likewise.
6590 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 6591
756773df
VS
65922012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6593
6594 * grub-core/lib/adler32.c: Recode due to license unclearness.
6595
fd556a96
VS
65962012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6597
6598 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
6599 (test_header): Likewise.
6600
9f9d3f69
VS
66012012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6602
6603 Fix --help formatting.
6604
6605 * util/grub-mkconfig_lib.in (print_option_help): New function.
6606 (grub_fmt): Likewise.
6607 * util/grub-install.in: Use print_option_help and grub_fmt.
6608 * util/grub-kbdcomp.in: Likewise.
6609 * util/grub-mkconfig.in: Likewise.
6610 * util/grub-mknetdir.in: Likewise.
6611 * util/grub-mkrescue.in: Likewise.
6612 * util/grub-mkstandalone.in: Likewise.
6613 * util/grub-reboot.in: Likewise.
6614 * util/grub-set-default.in: Likewise.
6615 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6616
561ec77e
VS
66172012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6618
6619 * linguas.sh: Remove autogenerated *.po.
6620
7ec2b021
VS
66212012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6622
6623 * po/README: Move language fetcing to ...
6624 * linguas.sh: ... here.
6625 * po/README: Point to linguas.sh.
6626
a88f3270
VS
66272012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6628
6629 * po/README: Exclude ko.po due to disclaimer problems.
6630
d61357ce
VS
66312012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6632
6633 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
6634 len = 0.
6635 (grub_gettext_translate_real): Handle 0th string.
6636 (grub_gettext_translate): Ensure that "" isn't translated.
6637
505e41dc
VS
66382012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6639
6640 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
6641 TRANSLATORS comment.
6642 (grub_diskfilter_print_partmap): Propagate changing of error into
6643 warning.
6644
e44092db
VS
66452012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6646
6647 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
6648 to uint64_t to prevent overflow.
6649 (grub_diskfilter_lv): Increase start_extent and extent_count
6650 to uint64_t to prevent overflow.
6651
9b83956a
VS
66522012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6653
6654 * configure.ac: Increase version.
6655
da0d5b3f
VS
66562012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6657
6658 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
6659
6660 * po/Rules-translit: New file.
6661 * po/arabic.sed: Likewise.
6662 * po/cyrillic.sed: Likewise.
6663 * po/greek.sed: Likewise.
6664 * po/hebrew.sed: Likewise.
6665 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
6666 * po/Makefile.in.in: Add extra_dist4.
6667
ac66b453
VS
66682012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6669
6670 Handle big-endian minixfs (fixes minixfs tests on bigendian).
6671
6672 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
6673 modify names. Introduce MODE_BIGENDIAN.
6674 * grub-core/fs/minix_be.c: New file.
6675 * grub-core/fs/minix2_be.c: Likewise
6676 * grub-core/fs/minix3_be.c: Likewise.
6677 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
6678 minix3_be.
6679 * grub-core/Makefile.core.def (minix_be): New module.
6680 (minix2_be): Likewise.
6681 (minix3_be): Likewise.
6682
66832012-04-01 Felix <email@hamburg.de>
6684
6685 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
6686 (devs): Add MBP 2011.
6687
0a2d5a82
VS
66882012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6689
6690 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
6691
d1625889
VS
66922012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6693
6694 * grub-core/normal/cmdline.c (print_completion): New field
6695 prompt_len.
6696 (grub_cmdline_get): Handle width properly.
6697
6d36a236
VS
66982012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6699
6700 * grub-core/commands/lsacpi.c (options): Add missing terminator.
6701
9576977e
VS
67022012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6703
6704 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 6705 after 29th of February.
9576977e 6706
d73ff15d
VS
67072012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6708
6709 Fix exfat endianness handling.
6710
6711 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
6712 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
6713 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
6714 Byte-swap utf16 when necessary.
6715 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
6716
bbb39a45
AB
67172012-03-31 Anton Blanchard <anton@samba.org>
67182012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6719
6720 Fix btrfs endianness handling.
6721
6722 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
6723 (lower_bound): Make root uint64_t. Use root in le.
6724 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
6725 (find_path): Fix template key init.
6726 (grub_btrfs_dir): Fix mtime byteswap.
6727 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
6728
354e0af7
VS
67292012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6730
6731 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
6732 recursion_depth. Break infinite resursions. All users updated.
6733
4e75f21c
VS
67342012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6735
6736 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
6737 after free.
6738 Reported by: Peter Jones.
6739
25581802
AB
67402012-03-31 Anton Blanchard <anton@samba.org>
6741
6742 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
6743 8 bit values.
6744
08fbf92e
VS
67452012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6746
6747 * util/grub-install.in: Fix nvram call for PreP.
6748
5d1182a6
VS
67492012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6750
6751 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
6752 the error when some elements are missing into a warning.
6753
3f8cdd90
VS
67542012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6755
6756 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
6757
51006716
CW
67582012-03-28 Colin Watson <cjwatson@ubuntu.com>
6759
6760 * docs/grub.texi (Invoking grub-probe): New section.
6761 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
6762
e1bd676b
VS
67632012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
6764
6765 Fix tab and wide character handling in editor and menu.
6766
6767 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
6768 agglomerate control characters with combining marks.
6769 (bidi_line_wrap): Allow break on tab.
6770 (grub_unicode_get_comb_start): New function.
6771 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
6772 and tab correctly.
6773 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
6774 with a space.
6775 * grub-core/normal/term.c (print_ucs4_terminal): New argument
6776 fixed_tab_size. All users updated.
6777 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
6778 (grub_term_getcharwidth): Handle \t.
6779 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
6780 and copy.
6781
22e6a774
VS
67822012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6783
6784 Handle big-endian mdraid.
6785
6786 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
6787 * grub-core/Makefile.core.def (mdraid09_be): New module.
6788 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
6789 rather than grub_le_to_cpu* and grub_cpu_to_le*.
6790 * grub-core/disk/mdraid_linux_be.c: New file.
6791
3c0eae66
VS
67922012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6793
6794 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
6795
b6cf74c9
VS
67962012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6797
6798 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
6799 missing quotes which caused confusion among translators.
6800
83c93b9c
VS
68012012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6802
6803 * util/grub-mkconfig_lib.in: Fix typo.
6804
ac6fd218
VS
68052012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6806
6807 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
6808 spaces.
6809 * tests/grub_script_leading_whitespace.in: New file.
6810 * Makefile.util.def (grub_script_leading_whitespace): New test.
6811
ba287dd8
VS
68122012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6813
6814 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
6815 to work.
6816
d2d58d0a
VS
68172012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6818
6819 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
6820 starts with control character.
6821
0382d9bb
VS
68222012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6823
6824 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
6825 overflow.
6826 (grub_gdb_outbuf): Likewise.
6827
d83ff9f9
VS
68282012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6829
6830 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
6831 zero terminator. Fixes a crash.
6832
2282da4a
VS
68332012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6834
6835 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
6836 beyond 4 GiB.
6837 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
6838 images independently of preffered adderss field.
6839
0ae4f0bd
VS
68402012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6841
6842 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
6843 * grub-core/commands/regexp.c: Likewise.
6844 * grub-core/loader/i386/linux.c: Likewise.
6845 * grub-core/partmap/msdos.c: Likewise.
6846 * grub-core/script/execute.c: Likewise.
6847 * grub-core/term/gfxterm.c: Likewise.
6848
546fbe9b
VS
68492012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6850
6851 Add variable parsing in $"..." and fix several mismatches with bash.
6852
6853 * Makefile.util.def (grub_script_gettext): New test.
6854 * grub-core/script/execute.c (parse_string): New function.
6855 (gettext_append): Likewise.
6856 (grub_script_arglist_to_argv): Use gettext_append.
6857 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
6858 * tests/grub_script_gettext.in: New file.
6859
9fdb2d7b
VS
68602012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6861
6862 Fix handling of leading spaces in scripts.
6863
6864 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
6865 spaces.
6866 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
6867 other than skipping \r. All users updated.
6868 * tests/grub_script_echo1.in: Add space-related tests.
6869 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
6870
1a1ac4f6
VS
68712012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6872
6873 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
6874
b63d89b6
VS
68752012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6876
6877 * configure.ac: Bump up the version to beta2.
6878
17f38c0f
VS
68792012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6880
6881 Fix gettext reload bugs (e.g. inability to disable gettext
6882 once enabled).
6883
6884 * grub-core/gettext/gettext.c: Encapsulate all static variables in
6885 main_context and secondary_context. All functions updated.
6886 (grub_gettext_translate): Rename to ...
6887 (grub_gettext_translate_real): ... this. Return NULL on failed
6888 translate.
6889 (grub_gettext_translate): Handle secondary context.
6890 (grub_gettext_delete_list): Close file and zero-out the context.
6891 (grub_mofile_open): Don't call grub_gettext_delete_list.
6892 Don't close file.
6893 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
6894 if locale="" to avoid pointless error message.
6895 (grub_gettext_env_write_lang): Update lang even if load fails.
6896 Handle secondary context.
6897 (grub_gettext_reread_prefix): New function.
6898 (read_main): Likewise.
6899 (read_secondary): Likewise.
6900 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
6901 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
6902 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
6903 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
6904
8e56f870
VS
69052012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6906
6907 * configure.ac: Decrease warning level to avoid spurious warnings and
6908 to be able to compile with GCC 4.2.
6909 * Makefile.util.def: Remove -Wno-error=logical-op.
6910
82f6d455
WB
69112012-03-10 William Bittner <william.bittner@gmail.com>
6912
6913 * util/import_unicode.py: Add missing brackets around string for
6914 python 3 support.
6915
1ecd61a4
VS
69162012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6917
6918 Fix efi chainloader on network root.
6919
6920 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
6921 network devices.
6922 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
6923 New function.
6924
14361ee8
VS
69252012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6926
6927 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
6928 unused show_text member.
6929 * docs/grub.texi: Document "text" property.
6930
922aabf3
VS
69312012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6932
6933 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
6934 in dprintf.
6935
ec316771
VS
69362012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6937
6938 Fix IMSM handling on Fedora.
6939
6940 * util/getroot.c (grub_util_is_imsm): New function.
6941 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
6942
0f021838
VS
69432012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6944
6945 * Makefile.am: Strip gold section.
6946 * conf/Makefile.common: Likewise.
6947 * gentpl.py: Likewise.
6948 * grub-core/Makefile.core.def: Likewise.
6949 * grub-core/genmod.sh.in: Likewise.
6950
1039c8eb
VS
69512012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6952
6953 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
6954 * util/grub.d/20_linux_xen.in: Likewise.
6955 Based on Debian patch.
6956
6dd412cd
VS
69572012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6958
6959 * util/grub.d/10_linux.in: Fix syntax error resulting in
6960 Richard Laager's patch.
6961 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
6962
3fd8bae5
VS
69632012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6964
6965 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
6966 dependencies.
6967
7eea1671
RL
69682012-03-10 Richard Laager <rlaager@wiktel.com>
6969
6970 * util/grub.d/10_linux.in: Fix ZFS root passing.
6971
e8e0566b
VS
69722012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6973
6974 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
6975 * grub-core/commands/xnu_uuid.c: Likewise.
6976 * grub-core/loader/efi/appleloader.c: Likewise.
6977 * grub-core/script/execute.c: Likewise.
6978 * grub-core/script/main.c: Likewise.
6979 * util/grub-mkfont.c: Likewise.
6980
1acc5b1f
VS
69812012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6982
6983 * util/grub-mkfont.c (options): Use more appropriate "select" that
6984 "set" for face index.
6985
35d70620
VS
69862012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6987
6988 * util/grub-editenv.c (options): Gettextize command summaries.
6989
c9eb96b5
VS
69902012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6991
6992 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
6993 "out of memory" error messagge.
6994
1f493136
VS
69952012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6996
6997 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
6998 of diskfilter for diskfilter on diskfilter support.
6999
6d790129
VS
70002012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7001
7002 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
7003
005f46c9
VS
70042012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7005
7006 * util/grub-install.in: Check for themes/starfield/theme.txt and not
7007 themes/starfield.
7008
c8f778a0
VS
70092012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7010
7011 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
7012
de1e64eb
VS
70132012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7014
7015 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
7016
c6d54211
VS
70172012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7018
7019 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
7020 of error message.
7021
dd390777
VS
70222012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
7023
7024 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
7025
5fd1c522
VS
70262012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
7027
7028 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
7029 message.
c6d54211 7030 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 7031
fae01f6c
VS
70322012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7033
7034 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
7035 Gettextize.
7036 * util/grub-mount.c (options): Likewise.
7037
292fdaff
VS
70382012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7039
7040 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
7041 gettextize.
7042 * grub-core/commands/search_wrap.c (options): Likewise.
7043
ecdbae77
VS
70442012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7045
7046 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
7047
52bfedfa
VS
70482012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7049
7050 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
7051 size calculation.
7052 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
7053 none is known.
7054
55b20e58
VS
70552012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7056
7057 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
7058 "temporary" since it's used in identifier and is limited in space.
7059
fda9d101
VS
70602012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7061
7062 * po/POTFILES.in: Regenerate. Include *.h since they contain
7063 translatable strings as well.
7064
6a0295e2
VS
70652012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7066
7067 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
7068 byte-swap on big-endian.
7069 Reported by: Lennart Sorensen
7070
807fb77c
VS
70712012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7072
7073 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
7074 (allocate_pages): Improve dprintf.
7075 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
7076 code32_start. Fill code32_start and kernel_alignment in params.
7077 (grub_cmd_initrd): Use prot_init_space.
7078
61ac50ba
VS
70792012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7080
7081 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
7082
abdd26dd
VS
70832012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7084
7085 * util/grub-install.in: Add missing dot at the end of sentence.
7086
6e69da9c
VS
70872012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7088
7089 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
7090 * grub-core/commands/videotest.c: Likewise.
7091 * grub-core/loader/i386/linux.c: Likewise.
7092
4a929343
VS
70932012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7094
7095 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
7096 sentence.
7097 Reported by: Milo Casagrande.
7098
bb51c6c6
VS
70992012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7100
7101 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
7102 * grub-core/commands/gptsync.c: Likewise.
7103 * grub-core/commands/hashsum.c: Likewise.
7104 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7105 * grub-core/commands/legacycfg.c: Likewise.
7106 * grub-core/io/gzio.c: Likewise.
7107 * grub-core/net/net.c: Likewise.
7108 * grub-core/term/gfxterm.c: Likewise.
7109 * grub-core/term/terminfo.c: Likewise.
7110 * grub-core/tests/test_blockarg.c: Likewise.
7111 * grub-core/video/video.c: Likewise.
7112 * util/grub-install.in: Likewise.
7113 * util/grub-mkfont.c: Likewise.
7114
b2b149cb
VS
71152012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7116
7117 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
7118
c7c080ad
VS
71192012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7120
7121 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 7122 Reported by: David Prévot.
c7c080ad 7123
f2e243c0
VS
71242012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7125
7126 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
7127 description.
7128
09963c76
VS
71292012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7130
7131 * util/grub-script-check.c (main): Fix a syntax error message which was
7132 unclear.
7133
a50514a8
VS
71342012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7135
7136 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
7137
4650daec
VS
71382012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7139
7140 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
7141 messages.
7142
71432012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
7144
7145 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
7146 without argument.
7147 * util/grub-mount.c (options): Likewise.
7148
bbc5a342
VS
71492012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7150
7151 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
7152
ef292a87
VS
71532012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7154
7155 * grub-core/net/http.c: Add TRANSLATORS comments.
7156 * grub-core/normal/cmdline.c: Likewise.
7157 * grub-core/normal/misc.c: Likewise.
7158 * grub-core/partmap/msdos.c: Likewise.
7159 * grub-core/parttool/msdospart.c: Likewise.
7160 * grub-core/script/execute.c: Likewise.
7161 * grub-core/script/main.c: Likewise.
7162 * grub-core/term/terminfo.c: Likewise.
7163 * grub-core/video/bitmap.c: Likewise.
7164 * util/grub-install.in: Likewise.
7165 * util/grub-mkimage.c: Likewise.
7166 * util/grub-mklayout.c: Likewise.
7167 * util/grub-setup.c: Likewise.
7168
0fc19bd0
VS
71692012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7170
7171 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
7172 with similar messages in grub-fstest.
7173
d95862ef
VS
71742012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7175
7176 * util/grub-install.in: Unify "option requires an argument" message
7177 with similar messages in other files.
7178 * util/grub-mkconfig.in: Likewise.
7179
b7308f90
VS
71802012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7181
7182 * util/grub-set-default.in: Replace printf with gettext_printf (the
7183 string in in question is already translated from grub-reboot)
7184
559dc587
VS
71852012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7186
7187 * configure.ac: Bump up the version to beta1.
7188
1a11761f
VS
71892012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7190
7191 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
7192 case when min_align = 0.
7193
24539abd
VS
71942012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7195
7196 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
7197 and fix a case when line_start overflows.
7198
32bd735b
VS
71992012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7200
7201 * util/grub-reboot.in (usage): Mention id posibility.
7202 * util/grub-set-default.in (usage): Likewise.
7203
1a2fd1e6
VS
72042012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7205
7206 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
7207 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
7208 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
7209 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
7210 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
7211 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7212 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7213
90eeab76
VS
72142012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7215
7216 * grub-core/commands/menuentry.c (options): Remove
7217 GRUB_ARG_OPTION_REPEATABLE.
7218 Reported by: Andreas Vogel
7219
5ad1be82
AV
72202012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
7221
7222 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
7223
cb055286
HE
72242012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
7225
7226 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
7227 error.
7228
93b1cd79
VS
72292012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7230
7231 Use sort -V by the idea of Georgi Georgiev.
7232
7233 * util/grub-mkconfig_lib.in (version_sort): New function.
7234 (version_test_numeric): Use version_sort.
7235
0cdc126c
VS
72362012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7237
7238 Use submenus in grub-mkconfig.
7239
7240 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
7241 * util/grub-mkconfig_lib.in (grub_quote): New function.
7242 (gettext_printf): Use gettext and not gettext_quoted to fix several
7243 messages.
7244 * util/grub.d/10_hurd.in: Use submenus.
7245 * util/grub.d/10_kfreebsd.in: Likewise.
7246 * util/grub.d/10_linux.in: Likewise.
7247 * util/grub.d/10_netbsd.in: Likewise.
7248 * util/grub.d/20_linux_xen.in: Likewise.
7249 * util/grub.d/30_os-prober.in: Likewise.
7250 * util/grub.d/10_illumos.in: Add missing quoting.
7251 * util/grub.d/10_windows.in: Likewise.
7252
d9bef9bc
VS
72532012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7254
7255 Fix menu title instability bug.
7256
7257 * grub-core/commands/menuentry.c (options): New option --id.
7258 (grub_normal_add_menu_entry): New argument id. All users updated.
7259 (grub_cmd_menuentry): Handle --id.
7260 (grub_menu_init): Accept unknown arguments.
7261 * grub-core/normal/main.c (features): Add feature_menuentry_id and
7262 feature_menuentry_options.
7263 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
7264 saved_entry.
7265 (get_entry_number): Match with id as well.
7266 * include/grub/menu.h (grub_menu_entry): New member id.
7267 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
7268 * util/grub.d/00_header.in: Define menuentry_id_option.
7269 * util/grub.d/10_hurd.in: Define id.
7270 * util/grub.d/10_illumos.in: Likewise.
7271 * util/grub.d/10_kfreebsd.in: Likewise.
7272 * util/grub.d/10_linux.in: Likewise.
7273 * util/grub.d/10_netbsd.in: Likewise.
7274 * util/grub.d/10_windows.in: Likewise.
7275 * util/grub.d/20_linux_xen.in: Likewise.
7276 * util/grub.d/30_os-prober.in: Likewise.
7277
72782012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
7279
7280 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
7281 "scope" with "body".
7282
7c8d0ce7
VS
72832012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7284
7285 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
7286 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
7287 prot_size and prot_file_size.
7288
49de079b
VS
72892012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7290
7291 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
7292 All users updated. If easily=1 require raid-5/-6 to be full.
7293 (is_node_readable): Likewise.
7294 (scan_devices): Scan incomplete but readable LVs at the end.
7295 (grub_diskfilter_memberlist): Pull missing devices.
7296 (insert_array): Skip scanning until device is complete or scan is
7297 done otherwise.
7298 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
7299 check.
7300 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
7301 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
7302
aff05d45
MG
73032012-03-03 Matthew Garrett <mjg@redhat.com>
73042012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7305
7306 Avoid EFI boot services when loading Linux.
7307
7308 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
7309 avoid_efi_bootservices. All users updated.
7310 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
7311 argument avoid_efi_bootservices. All users updated.
7312 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
7313 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
7314 align, min_align, relocatable, prefered_address. All users updated.
7315 Allocate avoiding boot services if kernel is relocatable.
7316 (grub_cmd_linux): Check if kernel is relocatable.
7317 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
7318 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
7319 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
7320 avoid_efi_boot_services.
7321 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
7322 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
7323 (linux_kernel_params): Likewise.
7324
3935dde2
MG
73252012-03-03 Matthew Garrett <mjg@redhat.com>
73262012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7327
7328 Use EDID on EFI.
7329
7330 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
7331 datasize_out.
7332 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
7333 modes. Set gop_handle.
7334 (grub_video_gop_get_edid): New function.
7335 (grub_gop_get_preferred_mode): Likewise.
7336 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
7337 (grub_video_efi_gop_adapter): Set .get_edid.
7338 * include/grub/efi/edid.h: New file.
7339 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
7340
32107ec0
VS
73412012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7342
7343 * util/grub-install.in: Load efivars unconditionally.
7344
e70a2c50
VS
73452012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7346
7347 * po/Rules-piglatin: Change suffix from .po-update-en to
7348 .po-update-en-piglatin.
7349
8f9cace1
VS
73502012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7351
7352 Add a pig farm.
7353
7354 * po/piglatin.sed: New file.
7355 * po/en@piglatin.header: Likewise.
7356 * po/Rules-piglatin: Likewise.
7357 * po/README: Add en@piglatin to autogenerated languages.
7358
8f95d002
VS
73592012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7360
7361 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
7362 "Command for ...".
7363 * grub-core/commands/hdparm.c (options): Use "Display" rather than
7364 "Check" since we don't check anything.
7365 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
7366 is 64-bit one.
7367 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
7368 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
7369 (grub_md_sha512_real): Likewise.
7370
805a8dcc
VS
73712012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7372
7373 * grub-core/commands/gptsync.c: Fix typographic quoting.
7374 * grub-core/commands/ieee1275/suspend.c: Likewise.
7375 * grub-core/commands/parttool.c: Likewise.
7376 * grub-core/commands/search_wrap.c: Likewise.
7377 * grub-core/commands/videoinfo.c: Likewise.
7378 * grub-core/gfxmenu/gui_label.c: Likewise.
7379 * grub-core/hello/hello.c: Likewise.
7380 * grub-core/kern/emu/main.c: Likewise.
7381 * grub-core/net/net.c: Likewise.
7382 * grub-core/normal/menu.c: Likewise.
7383 * grub-core/normal/menu_text.c: Likewise.
7384 * grub-core/normal/misc.c: Likewise.
7385 * util/grub-editenv.c: Likewise.
7386 * util/grub-install.in: Likewise.
7387 * util/grub-kbdcomp.in: Likewise.
7388 * util/grub-mkconfig.in: Likewise.
7389 * util/grub-mknetdir.in: Likewise.
7390 * util/grub-mkrescue.in: Likewise.
7391 * util/grub-mkstandalone.in: Likewise.
7392 * util/grub-reboot.in: Likewise.
7393 * util/grub-set-default.in: Likewise.
7394 * util/grub-setup.c: Likewise.
7395 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7396
40211ab8
VS
73972012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7398
7399 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
7400 * grub-core/commands/keystatus.c: Likewise.
7401 * grub-core/commands/loadenv.c: Likewise.
7402 * grub-core/commands/probe.c: Likewise.
7403 * grub-core/commands/regexp.c: Likewise.
7404 * grub-core/commands/true.c: Likewise.
7405 * grub-core/commands/videoinfo.c: Likewise.
7406 * grub-core/disk/cryptodisk.c: Likewise.
7407 * grub-core/disk/ldm.c: Likewise.
7408 * grub-core/disk/loopback.c: Likewise.
7409 * grub-core/disk/luks.c: Likewise.
7410 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7411 * grub-core/kern/disk.c: Likewise.
7412 * grub-core/kern/emu/hostdisk.c: Likewise.
7413
0c7d99c7
VS
74142012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7415
7416 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
7417 * util/grub-install.in: Add missing quote in the comment.
7418
e7d2559b
VS
74192012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7420
7421 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
7422 * grub-core/commands/lsmmap.c: Likewise.
7423 * grub-core/commands/minicmd.c: Likewise.
7424 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
7425 * grub-core/commands/regexp.c: Likewise.
7426 * grub-core/gdb/gdb.c: Likewise.
7427 * grub-core/term/gfxterm.c: Likewise.
7428 * util/grub-mkconfig.in: Likewise.
7429 * util/grub-mkfont.c: Likewise.
7430 * util/grub-mklayout.c: Likewise.
7431 * util/grub-mknetdir.in: Likewise.
7432 * util/grub-mkrescue.in: Likewise.
7433 * util/grub.d/30_os-prober.in: Likewise.
7434
49ce9e50
VS
74352012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7436
7437 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
7438 with "Direct color" and "Packed" with "Packed pixel".
7439 (grub_cmd_videoinfo): Simplify legend.
7440
e4b791fa
VS
74412012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7442
7443 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
7444 absolutely unclear error message.
7445
fd1265cb
VS
74462012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7447
7448 * util/grub-mkstandalone.in: Remove confusing leftover print.
7449
8822a8a0
VS
74502012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7451
7452 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
7453 comments.
7454 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
7455 (GRUB_MOD_INIT): Likewise.
7456 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
7457 VGA mode.
7458 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
7459 comments.
7460 * util/grub-install.in (usage): Likewise.
7461 Spell ID in whole letters.
7462 Add missing ending dot.
7463 Quote variables.
7464 * util/grub-reboot.in: Fix capitalisation.
7465 * util/grub-set-default.in: Likewise.
7466
937fd0cc
VS
74672012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7468
7469 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
7470 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
7471 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
7472 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
7473 Disable -Werror for -Wdeprecated-declarations.
7474 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
7475 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
7476 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
7477 (grub_util_get_grub_dev): Make luks handling dependent on
7478 HAVE_DEVICE_MAPPER and not __linux__.
7479 (get_win32_path): Fix format security.
7480 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
7481 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
7482 Don't try grub_find_zpool_from_dir.
7483 (grub_make_system_path_relative_to_its_root) [!__linux__]:
7484 #ifdef-out paresdir.
7485
1bab1ae3
VS
74862012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7487
7488 * util/grub-pe2elf.c (usage): Add missing noreturn.
7489 (write_section_data): Rename name to shname to avoid shadowing.
7490 (write_symbol_table): Rename name to symname to avoid shadowing.
7491 Fix write_reloc_section call.
7492
ef023e42
VS
74932012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7494
7495 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
7496 to ensure that it's after the last byte of .text.
7497
48afcb75
VS
74982012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7499
7500 * util/ieee1275/ofpath.c (my_isdigit): New function.
7501 (trailing_digits): Use my_isdigit.
7502 (strip_trailing_digits): Likewise.
7503
88d51eff
VS
75042012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7505
7506 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
7507 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
7508
17edc2ba
VS
75092012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7510
7511 * grub-core/kern/i386/pc/startup.S: Define __start.
7512
ad5518d7
VS
75132012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7514
7515 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
7516 strip already transforms he format.
7517
9e95e1bf
VS
75182012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7519
7520 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
7521
9cc3ee5c
VS
75222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7523
7524 * util/grub-install.in: Add missing gettext init.
7525 * util/grub-kbdcomp.in: Likewise.
7526 * util/grub-mkconfig.in: Likewise.
7527 * util/grub-mknetdir.in: Likewise.
7528 * util/grub-mkrescue.in: Likewise.
7529 * util/grub-mkstandalone.in: Likewise.
7530 * util/grub-reboot.in: Likewise.
7531 * util/grub-set-default.in: Likewise.
7532 * util/grub.d/00_header.in: Likewise.
7533 * util/grub.d/10_hurd.in: Likewise.
7534 * util/grub.d/10_windows.in: Likewise.
7535 * util/grub.d/30_os-prober.in: Likewise.
7536 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7537
49e08a06
VS
75382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7539
7540 * po/Rules-swiss: Fix header comment.
7541
3809cb41
AV
75422012-02-29 Andreas Vogel <anvoit>
7543
7544 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
7545 resulted in leak of arguments.
7546
fa6ec573
VS
75472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7548
7549 * grub-core/boot/i386/pc/startup_raw.S: Use separate
7550 reed_solomon_size const definition instead of computing it since
7551 Apple assembler doesn't support the later.
7552
22899b9c
VS
75532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7554
7555 * gentpl.py (kernel): Rewrite Apple part.
7556
a132afc3
VS
75572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7558
7559 * include/grub/kernel.h (FOR_MODULES): Check module magic.
7560
9d742bd4
VS
75612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7562
7563 * util/grub-mkimagexx.c (locate_sections): Support non-standard
7564 ELF section gap.
7565 (load_image): Likewise.
7566
f04a9a21
VS
75672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7568
7569 * configure.ac: Fix a typo in previous commit.
7570
46cf439c
VS
75712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7572
7573 Don't add -Wl,-N on Apple platform.
7574
7575 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
7576 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
7577
c4c48c54
VS
75782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7579
7580 * grub-core/Makefile.core.def (lzma_decompress): Use
7581 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
7582
31a12124
VS
75832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7584
7585 * grub-core/genmod.sh.in: Rewrite the Apple part.
7586
4f3aa1af
VS
75872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7588
7589 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
7590 comparison.
7591
7bd8b0c7
VS
75922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7593
7594 * acinclude.m4 (grub_CHECK_PIC): New test.
7595 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
7596
97304d7c
VS
75972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7598
7599 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
7600 to avoid the warning.
7601
fb883812
VS
76022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7603
7604 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
7605 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
7606 after. All users updated.
7607
a121c964
VS
76082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7609
7610 Use the common size routine in hostfs so we can read disks as well.
7611
7612 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
7613 (grub_util_get_fd_size): ... this. Return size in bytes.
7614 All users updated.
7615 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
7616 grub_util_get_fd_size.
7617
c66d6410
VS
76182012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7619
7620 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
7621 Add blocksize retrieval.
7622
dfc8aeb0
VS
76232012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7624
7625 * configure.ac: Restore CFLAGS after efiemu check.
7626
403e25a5
VS
76272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7628
7629 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
7630 Apple bug.
7631
382775d1
VS
76322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7633
7634 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
7635
6fd4e6e4
VS
76362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7637
7638 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
7639 (grub_cmd_halt): Likewise.
7640
bea359d6
VS
76412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7642
7643 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
7644 for local arithmetics.
7645 Break %sp init into 2 instructions.
7646 Add 0 byte at the end.
7647
32eb6ee1
VS
76482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7649
7650 * grub-core/disk/diskfilter.c (read_segment): Initialise err
7651 before loops.
7652
e8377389
VS
76532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7654
7655 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
7656 for context.
7657
8cb17de7
VS
76582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7659
7660 * grub-core/disk/ldm.c (make_vg): Init part.name.
7661 (grub_ldm_detect): Silence spurious warning.
7662 (grub_util_is_ldm): Likewise.
7663
595717e6
VS
76642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7665
7666 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
7667 sane value to avoid a spurious warning.
7668
c4b7e588
VS
76692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7670
7671 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
7672 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
7673
59824957
VS
76742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7675
7676 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
7677 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
7678
70115b99
VS
76792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7680
7681 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
7682 hardcoding the relevant info.
7683
56733740
VS
76842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7685
7686 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
7687 missing const qualifiers.
7688 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
7689
43481481
VS
76902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7691
7692 * util/getroot.c [__APPLE__]: Add missing includes.
7693 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
7694
3cb38f01
VS
76952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7696
7697 * util/grub-mkimage.c (generate_image): Silence spurious warning.
7698
d9dbf11e
VS
76992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7700
7701 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
7702 avoid conflicts.
7703
0c42a45d
VS
77042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7705
7706 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
7707
46c34eb0
VS
77082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7709
7710 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
7711 and grub_file_close call.
7712
99ce1597
VS
77132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7714
7715 Add LZSS Mach-O support (needed for new xnu kernelcache).
7716
7717 * grub-core/Makefile.core.def (xnu): Add file lzss.c
7718 * grub-core/loader/lzss.c: New file.
7719 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
7720 on Mach-O open failure.
7721 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
7722 Don't free cmdsXX in uncompressedXX is set.
7723 (grub_macho_file): Init new fields.
7724 New argument is_64bit. All users updated.
7725 Handle compressed. Error out if no suitable architecture is found.
7726 Don't close file.
7727 (grub_macho_open): New argument is_64bit. All users updated.
7728 * grub-core/loader/macho32.c: Add defines for new fields.
7729 * grub-core/loader/macho64.c: Likewise.
7730 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
7731 (grub_macho_parse): Handle compressed.
7732 Defer actual processing if compressed.
7733 (grub_macho_cmds_iterate): Decompress if compressed. New argument
7734 "filename". All users updated.
7735 (grub_macho_size): New argument "filename". All users updated.
7736 (grub_macho_get_entry_point): Likewise.
7737 (grub_macho_load): Handle compressed.
7738 * include/grub/macho.h (grub_macho_lzss_header): New struct.
7739 (GRUB_MACHO_LZSS_OFFSET): New define.
7740 (grub_decompress_lzss): New proto.
7741 * include/grub/machoload.h (grub_macho_file): New fields to handle
7742 compressed.
7743 (grub_macho_contains_macho64): Remove proto.
7744 (grub_macho_contains_macho32): Likewise.
7745 * util/grub.d/30_os-prober.in: Use kernel cache if available.
7746
ebd17d6f
VS
77472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7748
7749 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
7750
2702b4e4
VS
77512012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7752
7753 Fix make dist.
7754
7755 * Makefile.am (starfield_theme_files): New var.
7756 (starfield_DATA): Use starfield_theme_files.
7757 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
7758 Add bootcheck-related files.
7759 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
7760 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
7761 and font_char_metrics.txt.
7762 * grub-core/Makefile.core.def (kernel): Update extra_dist.
7763 (setjmp): Add lib/ia64/longjmp.S.
7764 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
7765 * po/POTFILES.in: Regenerate.
7766 * po/Rules-swiss: use DISTFILES.common.extra2 and not
7767 DISTFILES.common.extra1.
7768 * util/devicemap.c: Removed.
7769 * grub-core/lib/i386/relocator_backward.S: Likewise.
7770 * util/import_gcry.py: Remove unused files. Add extra_dist for
7771 ChangeLog.
7772
cf1adfdf
VS
77732012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7774
7775 * grub-core/gettext/gettext.c (grub_mofile_open): Call
7776 grub_gettext_delete_list before changing grub_gettext_max to avoid
7777 running out of array bounds.
7778
77792012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
7780
7781 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
7782 grub_vga_text_init/grub_vga_text_fini.
7783
cf1adfdf 77842012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
7785
7786 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
7787
541d92e9
VS
77882012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7789
7790 * configure.ac: Bump to 2.00~beta0.
7791
7931dddf
VS
77922012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7793
7794 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
7795 missing initialisation.
7796
f1b16fa3
VS
77972012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7798
7799 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
7800
83ddae23
VS
78012012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7802
7803 Support v2 xnu boot arguments.
7804
7805 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
7806 New argument fsbfreq_out.
7807 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
7808 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
7809 be used.
7810 * grub-core/loader/machoXX.c (grub_macho_load): New argument
7811 darwin_version.
7812 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
7813 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
7814 (grub_xnu_boot_params): Rename to ...
7815 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
7816 (grub_xnu_boot_params_v2): New struct.
7817
dc693fe6
VS
78182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7819
7820 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
7821 zeroing of CRC field before computing CRC.
7822
5a6e39c2
VS
78232012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7824
7825 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
7826 Change order of allocations to decrease fragmentation.
7827
6c21f5d7
VS
78282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7829
7830 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
7831
cfe456dc
CW
78322012-02-27 Colin Watson <cjwatson@ubuntu.com>
7833
7834 Use write-combining MTRR to speed up video with buggy BIOSes.
7835
7836 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
7837 (cpuid): New define.
7838 (rdmsr): Likewise.
7839 (wrmsr): Likewise.
7840 (mtrr_base): Likewise.
7841 (mtrr_mask): Likewise.
7842 (grub_vbe_enable_mtrr_entry): New function.
7843 (grub_vbe_enable_mtrr): Likewise.
7844 (grub_vbe_disable_mtrr): Likewise.
7845 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
7846 control off to BIOS.
7847 (grub_video_vbe_init): Fill mtrr.
7848 (grub_video_vbe_fini): Disable mtrr.
7849 (grub_video_vbe_get_info_and_fini): Likewise.
7850 (grub_video_vbe_setup): Enable mtrr.
7851
e3c78337
CW
78522012-02-27 Colin Watson <cjwatson@ubuntu.com>
7853
7854 * include/grub/partition.h (grub_partition_map): Change prototype of
7855 embed to take a maximum value for nsectors.
7856 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
7857 * include/grub/fs.h (grub_fs): Likewise.
7858 * grub-core/partmap/msdos.c (embed_signatures): New array.
7859 (pc_partition_map_embed): Check for and avoid sectors matching any
7860 of the signatures in embed_signatures, up to max_nsectors.
7861 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
7862 returned sector map to max_nsectors.
7863 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
7864 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
7865 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
7866 * util/grub-setup.c (setup): Allow for the embedding area being
7867 split into multiple blocklists. Tell dest_partmap->embed the
7868 maximum number of sectors we care about.
7869
78702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7871
7872 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
7873 Specify blocklist_install and reserver_first_sector for all fs.
7874 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
7875 blocklists.
7876
984b973f
VS
78772012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7878
7879 * util/grub-install.in: Clarify strings.
7880 Fix source dir check.
7881
f122e0d6
RL
78822012-02-27 Richard Laager <rlaager@wiktel.com>
7883
7884 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
7885 "zfs" and "fuse.zfs" as synonyms.
7886
071114bb
VS
78872012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7888
7889 * configure.ac: Put platform and target_cpu substitutions back since
7890 they are used for directories.
7891
817e6abc
RL
78922012-02-27 Richard Laager <rlaager@wiktel.com>
78932012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7894
7895 * util/grub.d/10_linux.in: Add ZFS-related arguments.
7896 * util/grub.d/20_linux_xen.in: Likewise.
7897
897b7419
RL
78982012-02-27 Richard Laager <rlaager@wiktel.com>
7899
7900 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
7901 with full paths.
7902
a414bd15
RL
79032012-02-27 Richard Laager <rlaager@wiktel.com>
7904
7905 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
7906 unescape.
7907
30ac48c4
VS
79082012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7909
7910 Don't use insecure popen in getroot.
7911
7912 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
7913 (exec_pipe): ... here.
7914 (find_root_devices_from_poolname): Use exec_pipe.
7915
53f13848
VS
79162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7917
7918 Remove platform and target_cpu replacement.
7919
7920 * configure.ac: Remove platform and target_cpu substitutions.
7921 * tests/util/grub-shell.in: Use modinfo.
7922 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
7923 explicitly.
7924
90cb2803
VS
79252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7926
7927 Autodetect platform in grub-install but allow override.
7928
7929 * util/grub-install.in: Autodetect platform. Support --target and
7930 --directory. Read platform from modinfo.sh.
7931
b9136427
VS
79322012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7933
7934 Support btrfs multi-volume probe.
7935
7936 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
7937 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
7938 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
7939 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
7940 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
7941 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
7942 grub_find_root_devices_from_btrfs if on btrfs.
7943
c36e5cd1
VS
79442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7945
7946 Remove any awareness of *.c util files about target.
7947
7948 * Makefile.util.def (grub-setup): Split to ...
7949 (grub-bios-setup): ... and this.
7950 (grub-sparc64-setup): ... and this.
7951 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
7952 * docs/man/grub-setup.h2m: Split into ...
7953 * docs/man/grub-sparc64-setup.h2m: ... this.
7954 * docs/man/grub-bios-setup.h2m: ... and this.
7955 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
7956 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
7957 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
7958 (grub_target_addr_t): Remove.
7959 (grub_target_size_t): Remove.
7960 (grub_target_ssize_t): Remove.
7961 * util/grub-install.in: Use new grub-*-setup.
7962 * util/grub-mkimagexx.c (Elf_Word): New define.
7963 (Elf_Half): Likewise.
7964 (Elf_Section): Likewise.
7965 (ELF_ST_TYPE): Likewise.
7966 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
7967 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
7968
584b2f8a
VS
79692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7970
7971 Replace grub_target_addr with more appropriate types.
7972
7973 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
7974 grub_target_addr with grub_addr.
7975 * grub-core/commands/iorw.c (grub_cmd_read): Replace
7976 grub_target_addr with grub_port.
7977 (grub_cmd_write): Likewise.
7978 * grub-core/commands/memrw.c (grub_cmd_read): Replace
7979 grub_target_addr with grub_addr.
7980 (grub_cmd_write): Likewise.
7981 * grub-core/video/efi_uga.c (find_line_len): Likewise.
7982
5a0dc6fb
VS
79832012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7984
7985 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
7986 const qualifier for vendor_guid.
7987
786aff6e
VS
79882012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7989
7990 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
7991 const qualifier.
7992 (efiemu_memequal): Likewise.
7993 (find_variable): Likewise.
7994
49017b17
VS
79952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7996
7997 Fix missing console prototype on qemu-mips.
7998
7999 * include/grub/mips/qemu_mips/console.h: New file.
8000
c5988629
MG
80012012-02-27 Matthew Garrett <mjg@redhat.com>
80022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8003
8004 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
8005 * include/grub/efi/efi.h: Likewise.
8006 * include/grub/efi/api.h: Add guid for EFI-specified variables.
8007 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
8008 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
8009 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
8010 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
8011 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
8012
e33f8d69
MG
80132012-02-27 Matthew Garrett <mjg@redhat.com>
8014
8015 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
8016
fb312cd9
VS
80172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8018
8019 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
8020 error.
8021
7134247c
VS
80222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8023
8024 * configure.ac: Remove inappropriate use of program_transform_name
8025 on grubdir and bootdir but allow explicit specification of those
8026 variables.
8027
6a313124
VS
80282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8029
8030 * util/grub-mknetdir.in (grub_prefix): Removed.
8031 (subdir): Use @bootdirname@ and @grubdirname@.
8032
2311c5ca
VS
80332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8034
8035 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
8036
7d5d60f7
VS
80372012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8038
8039 * po/POTFILES.in: Regenerated.
8040
8151bc82
VS
80412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8042
8043 Remove improper use of program_transform_name on pkglibrootdir.
8044
8045 * configure.ac (pkglibrootdir): Removed.
8046 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
8047 * util/grub-mkimage.c: Likewise.
8048
b4a6a533
VS
80492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8050
8051 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
8052 warning.
8053
668f304f
VS
80542012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8055
8056 * util/grub-install.in: Use file identifier if no UUID is available
8057 or user explicitly prompted for it.
8058
665f2341
NP
80592012-02-27 Navdeep Parhar <nparhar@gmail.com>
8060
8061 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
8062 (freebsd_get_zfs): New function.
8063 (grub_freebsd_boot): Pass zfs UUID.
8064 (grub_cmd_freebsd): Set zfs UUID.
8065
8151bc82 80662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
8067
8068 * conf/Makefile.common (platformdir): Base on pkglibdir and not
8069 pkglibrootdir.
8070
e4c498a1
MG
80712012-02-27 Mike Gilbert <floppym@gentoo.org>
8072
8073 Add configure flag to control libzfs integration.
8074
8075 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
8076
1e9a9a3f
VS
80772012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8078
8079 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
8080 device.
8081 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
8082 small devices.
8083
036985b8
VS
80842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8085
8086 Remove grub_{modname}_init and grub_{modname}_fini. They should never
8087 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
8088 be used on non-modules.
8089
8090 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
8091 Rename to grub_boot_init.
8092 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
8093 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
8094 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
8095 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
8096 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
8097 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
8098 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
8099 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
8100 includes.
8101 (grub_machine_init): Remove empty inits.
8102 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
8103 includes.
8104 (grub_machine_init): Remove empty inits.
8105 * grub-core/term/arc/console.c: Remove explicit proto.
8106 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
8107 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
8108 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8109 grub_at_keyboard_fini.
8110 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
8111 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
8112 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8113 grub_gfxterm_fini.
8114 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
8115 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
8116 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8117 grub_vgatext_fini.
8118 * grub-core/term/ieee1275/console.c: Remove explicit proto.
8119 * grub-core/term/serial.c (GRUB_MOD_INIT)
8120 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
8121 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8122 grub_serial_fini.
8123 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
8124 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
8125 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8126 grub_terminfo_fini.
8127 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
8128 (GRUB_MOD_FINI): Likewise.
8129 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
8130 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
8131 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8132 grub_video_radeon_fuloong2e_fini.
8133 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
8134 [LOONGSON]: Rename to grub_video_sis315pro_init.
8135 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8136 grub_video_sis315pro_fini.
8137 * grub-core/video/sm712.c (GRUB_MOD_INIT)
8138 [LOONGSON]: Rename to grub_video_sm712_init.
8139 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8140 grub_video_sm712_fini.
8141 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
8142 (grub_at_keyboard_fini): Likewise.
8143 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
8144 Don't declare grub_{modname}_init.
8145 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
8146 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
8147 New proto.
8148 (grub_keylayouts_fini) [!EMU]: Likewise.
8149 * include/grub/serial.h (grub_serial_init) [!EMU]:
8150 New proto.
8151 (grub_serial_fini) [!EMU]: Likewise.
8152 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
8153 New proto.
8154 (grub_terminfo_fini) [!EMU]: Likewise.
8155 * include/grub/video.h (grub_font_init) [!EMU]:
8156 New proto.
8157 (grub_font_fini) [!EMU]: Likewise.
8158 (grub_gfxterm_init) [!EMU]: Likewise.
8159 (grub_gfxterm_fini) [!EMU]: Likewise.
8160 (grub_video_sm712_init) [!EMU]: Likewise.
8161 (grub_video_sm712_fini) [!EMU]: Likewise.
8162 (grub_video_sis315pro_init) [!EMU]: Likewise.
8163 (grub_video_sis315pro_fini) [!EMU]: Likewise.
8164 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
8165 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
8166
d5534665
VS
81672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8168
8169 Make nand a prefix for nand devices.
8170
8171 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
8172
10133b5f
VS
81732012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8174
8175 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
8176 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
8177
8e307a62
VS
81782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8179
8180 * include/grub/env.h (grub_env_find): Remove prototype.
8181 * grub-core/kern/env.c (grub_env_find): Make static.
8182 (grub_env_set): Remove useless set.
8183
a4c65f34
VS
81842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8185
8186 * grub-core/kern/i386/realmode.S: Remove useless align.
8187
d87893d5
VS
81882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8189
8190 * include/grub/dl.h (grub_dl_load_file): Don't export.
8191
50159add
VS
81922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8193
8194 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
8195 grub_dprintf.
8196
b2582b84
VS
81972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8198
8199 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
8200 grub_errors.
8201 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
8202 not reloading whole superblock but only the part which is really needed.
8203 Remove useless grub_errors.
8204 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
8205 grub_errors.
8206
e2a83395
VS
82072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8208
8209 Don't export grub_get_rtc.
8210
8211 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
8212 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
8213
e7d2a906
VS
82142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8215
8216 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
8217
6cf1363b
VS
82182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8219
8220 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 8221 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 8222
eece3349
VS
82232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8224
8225 Remove prio_list.
8226
8227 * include/grub/list.h (grub_prio_list): Removed.
8228 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
8229 GRUB_COMMAND_PRIO_MASK.
8230 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
8231 GRUB_COMMAND_FLAG_ACTIVE.
8232 (grub_prio_list_insert): Removed.
8233 (grub_prio_list_remove): Likewise.
8234 (GRUB_AS_PRIO_LIST): Likewise.
8235 (GRUB_AS_PRIO_LIST_P): Likewise.
8236 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
8237 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
8238 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
8239 * grub-core/kern/command.c (grub_register_command_prio): Inline
8240 the prio_list code.
8241 (grub_unregister_command): Likewise.
8242
94f064b4
VS
82432012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8244
8245 Fix interrupt mixup from previous commit.
8246
8247 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
8248 (grub_realidt): New var.
8249 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
8250 Load idt.
8251 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
8252 New declaration.
8253 (grub_relocator16_boot): Set grub_relocator16_idt.
8254 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
8255 (LOCAL(realidt)): ... this.
8256 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
8257 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
8258 (grub_realidt): New variable.
8259
27317084
VS
82602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8261
8262 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
8263 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
8264 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
8265 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
8266 Gettextize.
8267 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
8268 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
8269 * po/POTFILES.in: Regenerate.
8270
47b40053
VS
82712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8272
8273 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
8274 errors.
8275
2b343101
VS
82762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8277
8278 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
8279 \0.
8280 (add_length): Likewise.
8281
ff27c3dd
LK
82822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
82832012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
8284
8285 GDB serial and backtrace support.
8286
8287 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
8288 (prot_to_real): Likewise.
8289 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
8290 * grub-core/Makefile.core.def (backtrace): New module.
8291 (gdb): Likewise.
8292 * grub-core/gdb/cstub.c: New file.
8293 * grub-core/gdb/gdb.c: Likewise.
8294 * grub-core/gdb/i386/idt.c: Likewise.
8295 * grub-core/gdb/i386/machdep.S: Likewise.
8296 * grub-core/gdb/i386/signal.c: Likewise.
8297 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 8298 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
8299 * include/grub/backtrace.h: Likewise.
8300 * include/grub/gdb.h: Likewise.
8301 * include/grub/i386/gdb.h: Likewise.
8302
83032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
8304
8305 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
8306 New function.
8307 (add_length): Likewise.
8308 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
8309 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
8310 proto.
8311 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
8312 __argp_get_display_len.
8313
ff27c3dd 83142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
8315
8316 $"..." support in scripts.
8317
8318 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
8319 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
8320 * grub-core/script/yylex.l: Likewise.
8321 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
8322 value.
8323
ff27c3dd 83242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
8325
8326 * gentpl.py: Remove obsolete pkglib_DATA handling.
8327
ff27c3dd 83282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
8329
8330 Don't transform PACKAGE_TARNAME following a discussion on autoconf
8331 mailing list.
8332
8333 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
8334 * util/grub-kbdcomp.in: Likewise.
8335 * util/grub-mkconfig.in: Likewise.
8336 * util/grub-mkconfig_lib.in: Likewise.
8337 * util/grub-mknetdir.in: Likewise.
8338 * util/grub-mkrescue.in: Likewise.
8339 * util/grub-mkstandalone.in: Likewise.
8340 * util/grub-reboot.in: Likewise.
8341 * util/grub-set-default.in: Likewise.
8342 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8343
ff27c3dd 83442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
8345
8346 Remove GRUB_PREFIX.
8347
8348 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
8349 * util/grub.d/00_header.in: Compute prefix in the only place it's still
8350 used for backward compatibility.
8351
ff27c3dd 83522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
8353
8354 Add new all_video module.
8355
8356 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
8357 * grub-core/Makefile.core.def (all_video): New module.
8358 * grub-core/genmoddep.awk: Generate dependency of all_video from
8359 video.lst.
8360 * grub-core/lib/fake_module.c: New file.
8361 * grub-core/normal/main.c (features): Add feature_all_video_module.
8362 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
8363 don't do explicit search again.
47454da5 8364 insmod all_video in load_video if available.
22c7ce85 8365
ff27c3dd 83662012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
8367
8368 Another round of string clarification and adding TRANSLATORS comments.
8369
ff27c3dd 83702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
8371
8372 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
8373
ff27c3dd 83742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
8375
8376 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
8377 to grub_ssize_t.
8378 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
8379 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
8380
ff27c3dd 83812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
8382
8383 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
8384 trailing newline implicitly. All users updated.
8385
ff27c3dd 83862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
8387
8388 Implement serial on IEEE1275 and EFI.
8389
8390 * docs/grub.texi (Platform-specific limitations): Fix the columen video
8391 on emu. Mention arc and emu as the only platforms without serial
8392 support.
8393 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
8394 ieee1275 platforms.
8395 * grub-core/term/efi/serial.c: New file.
8396 * grub-core/term/ieee1275/serial.c: Likewise.
8397 * grub-core/term/serial.c (grub_serial_find): Disable direct port
8398 specification if no ns8250 driver is available.
8399 (grub_cmd_serial): Likewise.
8400 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
8401 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
8402 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
8403 (grub_efi_parity_type_t): New type.
8404 (grub_efi_stop_bits_t): Likewise.
8405 (grub_efi_serial_io_interface): New struct.
8406 * include/grub/serial.h (grub_serial_port): Make 'broken' field
8407 available for all interfaces.
8408 Add EFI and IEEE1275 fields.
8409 (grub_ofserial_init): New proto.
8410 (grub_efiserial_init): Likeiwse.
8411 * util/grub.d/00_header.in: Don't check for the presence of serial
8412 module.
8413
ff27c3dd 84142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
8415
8416 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
8417 name as if it was an alias.
8418
114076ef
VS
84192012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8420
8421 * grub-core/commands/lsacpi.c (options): Fix typo.
8422
6a656b0e
VS
84232012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8424
8425 Convert grub-emu to argp.
8426
8427 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
8428 emu.
8429 * util/argp_common.c: Rename to ...
8430 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
8431 Add missing includes.
8432 * grub-core/kern/emu/main.c: Convert to argp.
8433 * po/POTFILES.in: Regenerate.
8434 * util/grub-install.in (usage): Make first letter lowcase in messages
8435 for uniformity.
8436 * util/grub-setup.c (options): Likewise.
8437
1e3f8ae8
VS
84382012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8439
8440 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
8441 Put back accidently commented-out code.
8442
ed167a80
VS
84432012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8444
8445 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
8446 loop check using Brent algorithm.
8447 (grub_hfsplus_btree_search): Likewise.
8448
6753c0ec
VS
84492012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8450
8451 * util/grub-install.in: Fix usage of wrong device for PreP install.
8452
4e27343f
VS
84532012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8454
8455 * conf/Makefile.common (CFLAGS_GNULIB): Add
8456 -Wno-unsafe-loop-optimizations.
8457 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
8458 on tools.
8459 * grub-core/commands/legacycfg.c: Add pragma to skip
8460 -Wunsafe-loop-optimizations.
8461 (check_password_md5_real): Fix loop counter type.
8462 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
8463 reading.
8464 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
8465 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
8466 loop condition.
8467 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
8468 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
8469 * grub-core/net/net.c (grub_net_route_address): Add safety loop
8470 condition.
8471 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
8472 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
8473 avoid possible infinite loops.
8474 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
8475 and -Wunsafe-loop-optimizations.
8476 * grub-core/script/yylex.l: Likewise.
8477 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
8478 (print_glyphs): Avoid infinite loops.
8479 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
8480
697f18b0
GS
84812012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
8482
8483 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
8484 to avoid infinite loop.
8485 (disp_acpi_rsdt_table): Likewise.
8486
274416e8
VS
84872012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8488
8489 * grub-core/font/font.c (grub_font_load): Add support for default
8490 path for fonts ($prefix/fonts).
8491 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
8492 for checking if string is a path.
8493 * grub-core/normal/main.c (features): Add feature_default_font_path.
8494 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
8495 * util/grub.d/00_header.in: Use default directory if possible.
8496 * util/grub-install.in: Install unicode.pf2.
8497
b3e08622
VS
84982012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8499
8500 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
8501 * po/Rules-swiss: New file.
8502 * po/swiss.sed: Likewise.
8503
fe42ce09
VS
85042012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
8505
8506 * grub-core/fs/btrfs.c (find_device): Fix typos.
8507 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
8508 * util/grub-mkrelpath.c (argp_parser): Likewise.
8509 Reported by: Yuri Chornoivan.
8510
72f1d065
DO
85112012-02-23 Dalet Omega <daletomega@gmail.com>
8512
8513 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
8514 for usual informative messages.
8515
c5884973
DO
85162012-02-23 Dalet Omega <daletomega@gmail.com>
8517
8518 Starfield theme.
8519
8520 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
8521 * conf/Makefile.common: Define starfielddir.
8522 * configure.ac: Configure starfield.
8523 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
8524 * themes/starfield/README: Likewise.
8525 * themes/starfield/blob_w.png: Likewise.
8526 * themes/starfield/boot_menu_c.png: Likewise.
8527 * themes/starfield/boot_menu_e.png: Likewise.
8528 * themes/starfield/boot_menu_n.png: Likewise.
8529 * themes/starfield/boot_menu_ne.png: Likewise.
8530 * themes/starfield/boot_menu_nw.png: Likewise.
8531 * themes/starfield/boot_menu_s.png: Likewise.
8532 * themes/starfield/boot_menu_se.png: Likewise.
8533 * themes/starfield/boot_menu_sw.png: Likewise.
8534 * themes/starfield/boot_menu_w.png: Likewise.
8535 * themes/starfield/slider_c.png: Likewise.
8536 * themes/starfield/slider_n.png: Likewise.
8537 * themes/starfield/slider_s.png: Likewise.
8538 * themes/starfield/src/blob_nw.xcf: Likewise.
8539 * themes/starfield/src/bootmenu/: Likewise.
8540 * themes/starfield/src/bootmenu/center.xcf: Likewise.
8541 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
8542 * themes/starfield/src/bootmenu/side.xcf: Likewise.
8543 * themes/starfield/src/slider_c.xcf: Likewise.
8544 * themes/starfield/src/slider_n.xcf: Likewise.
8545 * themes/starfield/src/slider_s.xcf: Likewise.
8546 * themes/starfield/src/terminalbox/: Likewise.
8547 * themes/starfield/src/terminalbox/center.xcf: Likewise.
8548 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
8549 * themes/starfield/src/terminalbox/side.xcf: Likewise.
8550 * themes/starfield/starfield.png: Likewise.
8551 * themes/starfield/terminal_box_c.png: Likewise.
8552 * themes/starfield/terminal_box_e.png: Likewise.
8553 * themes/starfield/terminal_box_n.png: Likewise.
8554 * themes/starfield/terminal_box_ne.png: Likewise.
8555 * themes/starfield/terminal_box_nw.png: Likewise.
8556 * themes/starfield/terminal_box_s.png: Likewise.
8557 * themes/starfield/terminal_box_se.png: Likewise.
8558 * themes/starfield/terminal_box_sw.png: Likewise.
8559 * themes/starfield/terminal_box_w.png: Likewise.
8560 * themes/starfield/theme.txt: Likewise.
8561
17d73325
VS
85622012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
8563
8564 * util/grub.d/00_header.in: Add missing export theme.
8565
dbebaf92
VS
85662012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8567
8568 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
8569 already included.
8570 Reported by: Eren D.
8571
3d68bffb
VS
85722012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8573
8574 * conf/Makefile.common (grubdatadir): Removed.
8575 (Makefile.am): Move eveything grubdata to pkgdata.
8576
4b59234d
VS
85772012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8578
8579 * grub-core/commands/acpihalt.c (get_sleep_type):
8580 Remove unused variable.
8581
463dcadc
VS
85822012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8583
8584 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
8585 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
8586 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
8587 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
8588 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
8589 i18n with gettext no-op.
8590 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
8591 GRUB_ACPI_OPCODE_STRING_CONST.
8592 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
8593 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
8594
e5b90c82
VS
85952012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8596
8597 * po/POTFILES.in: Regenerate.
8598
2a704ca9
VS
85992012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8600
8601 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
8602 -Wno-error=missing-noreturn.
8603
84f9d341
VS
86042012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8605
8606 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
8607 condition to avoid possibly infinite loops.
8608 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
8609 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
8610
d46683f9
VS
86112012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8612
8613 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
8614 condition to avoid possibly infinite loops.
8615
c44866b2
VS
86162012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8617
8618 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
8619 on show_error.
8620
96790539
VS
86212012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8622
8623 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
8624
1ba7e295
VS
86252012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8626
8627 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
8628
21ffe8f1
VS
86292012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8630
8631 * util/bin2h.c (usage): Add missing attribute noreturn.
8632
0ccb6b3c
VS
86332012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8634
8635 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
8636 if the size isn't divisible by 512.
8637
b00d7fb6
VS
86382012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8639
8640 Make list_push and list_remove functions rather than inline functions
8641 to decrease size and avoid aliasing violations.
8642
8643 * include/grub/list.h (grub_list_push): Move to ...
8644 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
8645 * include/grub/list.h (grub_list_remove): Move to ...
8646 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
8647
9d369087
VS
86482012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8649
8650 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
8651 and -Wunused-result.
8652
af0250d9
VS
86532012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
8654
8655 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
8656 Reported by: Seth Goldberg
8657
aad32b14
VS
86582012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
8659
8660 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
8661
ac96441c
ST
86622012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
8663
8664 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
8665 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
8666 command line.
8667 * docs/grub.texi (Simple configuration): Document
8668 GRUB_CMDLINE_GNUMACH.
8669
86702012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
8671
8672 * conf/Makefile.common (platform_SCRIPTS): New variable.
8673 (platform_PROGRAMS): Likewise.
8674 * gentpl.py: Mark *,module and *.image for install.
8675 * grub-core/gdb_grub.in: Add a notice of expected environment.
8676 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
8677 (gmodule.pl): Likewise.
8678
ac96441c 86792012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
8680
8681 Replace grub_checkkey with grub_getkey_noblock.
8682
8683 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
8684 (grub_getkey_noblock): ... this. All users updated.
8685
ac96441c 86862012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
8687
8688 * grub-core/kern/emu/console.c: Move to ...
8689 * grub-core/term/emu/console.c: ...here.
8690 (grub_ncurses_getkey): Fix return value if no key is detected.
8691
e51b5666
VS
86922012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8693
8694 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
8695 (grub_unit_test_fini): Likewise.
8696 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
8697
86982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8699
8700 * include/grub/test.h (GRUB_UNIT_TEST)
8701
d9a62292
VS
87022012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8703
8704 * grub-core/script/execute.c (grub_script_break): Clarify logic.
8705 Better error handling.
8706 (grub_script_return): Likewise.
8707 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
8708
77c9182f
VS
87092012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8710
8711 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
8712 rimplicit redifinition.
8713
edb13cf9
VS
87142012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8715
8716 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
8717 GRUB.
8718
a9e9dc7c
VS
87192012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8720
8721 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
8722 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
8723 prompt here.
8724
b4ba8e02
VS
87252012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8726
8727 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
8728 as GRUB_ERR_BUG. Don't malloc if no device is available.
8729
dded5540
VS
87302012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8731
8732 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
8733 Mark calling with invalid term as GRUB_ERR_BUG.
8734
0cf69874
VS
87352012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8736
8737 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
8738 packets rather than raising an error.
8739
59bfe502
VS
87402012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8741
8742 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
8743 in if.
8744
db5fc596
VS
87452012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8746
8747 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
8748 diagnostic to dprintf.
8749 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8750
e4b7f404
VS
87512012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8752
8753 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
8754 device name.
8755
e7b02f9e
VS
87562012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8757
8758 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
8759 (grub_ntfs_iterate_dir): Likewise.
8760
0331e102
VS
87612012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8762
8763 Efiemu stylistic fixes and gettext.
8764
8765 * grub-core/efiemu/i386/loadcore32.c
8766 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
8767 * grub-core/efiemu/i386/loadcore64.c
8768 (grub_arch_efiemu_relocate_symbols64): Likewise.
8769 * grub-core/efiemu/i386/pc/cfgtables.c
8770 (grub_machine_efiemu_init_tables): Likewise.
8771 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
8772 (grub_efiemu_loadcore_initXX): Add a filename argument.
8773 All users updated.
8774 Improved error message.
8775 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
8776 Add a filename argument.
8777 All users updated.
8778 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
8779 Reclassify double relocation as GRUB_ERR_BUG.
8780
306fc074
VS
87812012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8782
8783 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
8784 handling.
8785
794d8ef2
VS
87862012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8787
8788 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
8789 on partition.
8790
87912012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
8792
8793 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
8794
794d8ef2 87952012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
8796
8797 Improve string. Gettextize.
8798
78dde88e
VS
87992012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8800
8801 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
8802 utils.
8803 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
8804
4786a90f
VS
88052012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8806
8807 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
8808 [GRUB_UTIL]: New function.
8809 (insert_array) [GRUB_UTIL]: Store partmaps.
8810 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
8811 partmaps.
8812 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
8813 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
8814 (probe_abstraction): Print diskfilter and not raid.
8815 Reported by: Lennart Sorensen
8816
0b6225bd
VS
88172012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8818
8819 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
8820 * util/grub-mkimagexx.c (MASK3): New define.
8821 (add_value_to_slot_20b): Use MASK3.
8822 (add_value_to_slot_21): Likewise.
8823 (relocate_addresses): Fix format specification.
8824 (load_image): Explicitly init symtab_section.
8825
b055f8f6
VS
88262012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8827
8828 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
8829 (grub_util_biosdisk_get_grub_dev): Fix format specification.
8830
b77c2fb7
VS
88312012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8832
8833 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
8834 on powerpc.
8835 Reported by: Lennart Sorensen
8836
e3ec28ab
VS
88372012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8838
8839 * gentpl.py: Add missing license header.
8840 * docs/grub.texi: Update copyright year.
8841
c8d9ead6
GS
88422012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
8843
8844 Source grub-mkconfig_lib from the build directory at build time.
8845 Suggested by: Vladimir Serbinenko.
8846
8847 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
8848 * util/grub-install.in: Define pkgdatadir if not already set, and source
8849 grub-mkconfig_lib from there.
8850 * util/grub-kbdcomp.in: Likewise.
8851 * util/grub-mkconfig.in: Likewise.
8852 * util/grub-mknetdir.in: Likewise.
8853 * util/grub-mkrescue.in: Likewise.
8854 * util/grub-mkstandalone.in: Likewise.
8855 * util/grub-reboot.in: Likewise.
8856 * util/grub-set-default.in: Likewise.
8857 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8858
ebcecdf1
VS
88592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8860
8861 Increase warning level.
8862
8863 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
8864 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
8865 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
8866 (TARGET_CFLAGS): Likewise.
8867 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
8868 * grub-core/Makefile.core.def (decompressor_xz): Add
8869 -Wno-unreachable-code.
8870 (normal): Add -Wno-redundant-decls.
8871 (xzio): Add -Wno-unreachable-code.
8872 (lzopio): Add -Wno-redundant-decls -Wno-error.
8873 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
8874 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
8875 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
8876 * grub-core/kern/dl.c: Add exception to -Wcast-align.
8877 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
8878 * grub-core/kern/i386/coreboot/init.c: Add exception to
8879 -Wsuggest-attribute=noreturn.
8880 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
8881 * grub-core/kern/ia64/dl_helper.c: Likewise.
8882 * grub-core/kern/mips/dl.c: Likewise.
8883 * grub-core/kern/sparc64/dl.c: Likewise.
8884 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
8885 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
8886 (memcmp): Likewise.
8887 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
8888 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
8889 * grub-core/loader/mips/linux.c: Likewise.
8890 * grub-core/loader/multiboot_elfxx.c: Likewise.
8891 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
8892 * grub-core/video/sm712.c: Add exception to -Wcast-align.
8893 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
8894 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
8895 fixme.
8896 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
8897 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
8898 Fix prototype.
8899
37bb97fe
VS
89002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8901
8902 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
8903 address.
8904
29a3550b
VS
89052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8906
8907 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
8908 Avoid improper use of strings.
8909 (grub_cmd_legacy_initrdnounzip): Likewise.
8910
dfdffd0d
VS
89112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8912
8913 * include/grub/emu/misc.h (grub_util_warn): Add missing format
8914 attribute.
8915 (grub_util_info): Likewise.
8916 (grub_util_error): Likewise.
8917
102fae4a
VS
89182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8919
8920 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
8921 * util/grub-fstest.c (fstest): Likewise.
8922
7e94d044
VS
89232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8924
8925 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
8926 (grub_md_sha512_real): Likewise.
8927 (grub_util_get_geli_uuid): Likewise.
8928 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
8929 (grub_util_biosdisk_open): Fix format specification.
8930 Respect format security.
8931 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
8932 (xrealloc): Likewise.
8933 (xasprintf): Likewise.
8934
5ebd9769
VS
89352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8936
8937 * util/import_gcry.py: Include grub/crypto.h in init.c.
8938
495fc8c1
VS
89392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8940
8941 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
8942 (generate_image): Make prefix a const char *.
8943 Fix format specifications. Respect format security.
8944 Avoid void * arithmetics.
8945 Avoid shadowing.
8946 (argp_parser): Remove unused variable. Respect format security.
8947 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
8948 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
8949 (count_funcs): Remove unused variable.
8950 (relocate_addresses): Fix format specification.
8951 Disable x86-64 with elf32. Remove unused variables.
8952 (add_fixup_entry): Avoid shadowing.
8953 (make_reloc_section): Fix format specification.
8954 Use assert.
8955 (locate_sections): Fix format specifications.
8956 (load_image): Avoid shadowing.
8957
043c2ea3
VS
89582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8959
8960 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
8961 Fix format specifications. Respect format security.
8962 Don't translate already translated grub_errmsg.
8963 (argp_parser): Remove unused variable
8964
3ec65a81
VS
89652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8966
8967 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
8968
a4d9fe4a
VS
89692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8970
8971 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
8972 (main): Likewise. Use xmalloc. Respect format security.
8973
15b81d49
VS
89742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8975
8976 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
8977 a const char *.
8978 (argp_parser): Remove unused variable.
8979
31731fc0
VS
89802012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8981
8982 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
8983 (add_pixel): Make static.
8984 (add_font): Likewise.
8985 (write_string_section): Make name and str a const char *.
8986 (write_be16_section): Make name a const char *.
8987 (print_glyphs): Make static.
8988 (write_font_ascii_bitmap): Likewise.
8989 (write_font_width_spec): Likewise.
8990 (write_font_pf2): Likewise.
8991 (argp_parser): Remove unused variable.
8992 Respect format security.
8993 (main): Avoid shadowing. Respect format security.
8994
0809527b
VS
89952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8996
8997 * util/grub-editenv.c (argp_parser): Make static.
8998 (create_envblk_file): Use xmalloc.
8999 (open_envblk_file): Likewise.
9000 Resepect format security.
9001 (set_variables): Respect format security.
9002
45b0c8b7
VS
90032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9004
9005 * util/getroot.c (grub_find_device): Respect format security.
9006 (get_mdadm_uuid): Remove unused variable.
9007 (grub_util_pull_device): Dont call gettext on already translated
9008 grub_errmsg.
9009 (find_system_device): Remove unused variable.
9010 (grub_util_get_grub_dev): Likewise.
9011 (grub_make_system_path_relative_to_its_root): Respect format security.
9012
1b024b4e
VS
90132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9014
9015 * util/grub-fstest.c (execute_command): Make first argument
9016 a const char *.
9017 (read_file): Avoid shadowing.
9018 Reuse underlying error message if device open fails.
9019 (cmd_cmp): Respect format security.
9020 (root): Make const char *.
9021 (fstest): Remove args argument and use global copy.
9022 Respect format security.
9023 (argp_parser): Make static.
9024 (main): Make default_root const char *.
9025
5d1d4e28
VS
90262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9027
9028 * util/grub-mount.c (root): Make const char *.
9029 (execute_command): Make first argument a const char *.
9030 (fuse_init): Respect format security.
9031 (argp_parser): Make static. Remove unused variable.
9032 (main): Make default_root a const char *.
9033 Respect format security.
9034
36eb7379
VS
90352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9036
9037 * util/grub-probe.c (probe): Don't call gettext on already translated
9038 grub_errmsg.
9039 Remove unused variables.
9040 (argp_parser): Remove unused variable.
9041
76fb2ea9
VS
90422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9043
9044 * util/grub-script-check.c (argp_parser): Remove unused variable.
9045 (main): Rename read to curread to avoid shadowing.
9046
56c98584
VS
90472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9048
9049 * util/misc.c (grub_util_write_image_at): Fix format specification.
9050 (grub_util_write_image): Likewise.
9051 (grub_script_execute_argument_to_string): Removed (unused).
9052 (grub_script_execute_menuentry): Likewise.
9053 (grub_putchar): Likewise.
9054
164ebb48
VS
90552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9056
9057 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
9058 (FUNCTION) [GRUB_UTIL]: Likewise.
9059 (VARIABLE) [GRUB_UTIL]: Likewise.
9060
44318d61
VS
90612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9062
9063 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
9064 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
9065
31a26002
VS
90662012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9067
9068 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
9069 buffer.
9070
90712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9072
9073 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
9074 (LzmaEnc_SaveState): Removed (unused).
9075 (LzmaEnc_RestoreState): Likewise.
9076 (LzmaEnc_InitPriceTables): Made static.
9077 (LzmaEnc_Construct): Likewise.
9078 (LzmaEnc_FreeLits): Likewise.
9079 (LzmaEnc_Destruct): Likewise.
9080 (LzmaEnc_Init): Likewise.
9081 (LzmaEnc_InitPrices): Likewise.
9082 (LzmaEnc_Finish): Likewise.
9083 (LzmaEnc_PrepareForLzma2): Removed (unused).
9084 (LzmaEnc_MemPrepare): Likewise.
9085 (LzmaEnc_GetNumAvailableBytes): Likewise.
9086 (LzmaEnc_GetCurBuf): Likewise.
9087 (LzmaEnc_CodeOneMemBlock): Likewise.
9088
6fa67967
VS
90892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9090
9091 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
9092 (grub_util_ldm_embed): Likewise.
9093
9a7428e6
VS
90942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9095
9096 * util/grub-editenv.c (print_var): Rename name to varname to
9097 avoid shadowing.
9098 (main): Rename index to curindex to avoid shadowing.
31a26002 9099 Make filename a const char *.
9a7428e6 9100
4f96abd1
VS
91012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9102
9103 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
9104 to arg_getline to avoid shadowing.
9105
44d10dad
VS
91062012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9107
9108 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
9109 disk_ to avoid shadowing.
9110
340ba63e
VS
91112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9112
9113 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
9114 curindex to avoid shadowing.
9115 Make static.
9116 (MatchFinder_GetNumAvailableBytes): Make static.
9117
22965bce
VS
91182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9119
9120 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
9121 avoid shadowing.
9122
7b5784d4
VS
91232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9124
9125 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
9126 argument from encrypt to do_encrypt to avoid shadowing.
9127
6f48ca01
VS
91282012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9129
9130 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
9131 incorrect nesting of #if's.
9132
a4ea2dff
VS
91332012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9134
9135 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
9136 checks which are always false on some platforms.
9137 (grub_cmd_lsacpi): Likewise.
9138 * grub-core/kern/misc.c (grub_strtoul): Likewise.
9139 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
9140 Likewise.
9141
def9fc1b
VS
91422012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9143
9144 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
9145 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
9146
a67b2a04
VS
91472012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9148
9149 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
9150 re_dfa_t to avoid breaking alignment invariants.
9151 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
9152 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
9153
44c6828d
VS
91542012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9155
9156 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
9157 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
9158
bebe0dd0
VS
91592012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9160
9161 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
9162 Fix declaration.
9163
a9cdb3cf
VS
91642012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9165
9166 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
9167 conserve alignment invariants.
9168 (grub_ehci_ehcc_read16): Likewise.
9169 (grub_ehci_oper_read32): Likewise.
9170 (grub_ehci_oper_write32): Likewise.
9171 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
9172 Conserve alignment invariants.
9173
ccc3b1b8
VS
91742012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9175
9176 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
9177 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
9178 declarations.
9179
987fbd95
VS
91802012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9181
9182 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
9183 Remove unused variable.
9184
0df363f3
VS
91852012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9186
9187 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
9188 Remove set in if.
9189
b2c0c4a6
VS
91902012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9191
9192 * include/grub/net.h: Remove double declarations.
9193
690c531f
VS
91942012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9195
9196 Remove "payload" command in ia64 Linux loader since I couldn't
9197 find any evidence of it being used for anything.
9198 Replace "relocate" command with an environment variable
9199
9200 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
9201 fields.
9202 (ia64_boot_payload): Removed.
9203 (last_payload): Likewise.
9204 (RELOCATE_OFF): Likewise.
9205 (RELOCATE_ON): Likewise.
9206 (RELOCATE_FORCE): Likewise.
9207 (relocate): Likewise.
9208 (free_pages): Don't free payloads.
9209 (grub_load_elf64): Use common error messages.
9210 Use "linux_relocate" variable.
9211 Increase the space after boot_params.
9212 (grub_cmd_payload): Removed.
9213 (grub_cmd_relocate): Likewise.
9214 (grub_cmd_fpswa): Improve messages.
9215 (cmd_payload): Removed.
9216 (cmd_relocate): Likewise.
9217 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
9218 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
9219
01783768
VS
92202012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9221
9222 Convert UHCI to DMA framework.
9223
9224 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
9225 (grub_uhci_pci_iter): Fill new members
9226 (grub_alloc_td): Use P2V and V2P functions.
9227 (grub_free_queue): Likewise.
9228 (grub_alloc_qh): Likewise.
9229 (grub_uhci_setup_transfer): Likewise.
9230 (grub_uhci_check_transfer): Likewise.
9231
43206939
VS
92322012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9233
9234 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
9235 Remove assignment in if while on it.
9236
571e140e
VS
92372012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9238
9239 * util/grub-mkstandalone.in: Fix modules directory.
9240
a9d96eeb
VS
92412012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9242
9243 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
9244 on i386-pc target.
9245 (argp_parser): Accept "auto" as compression specification.
9246
e4e37e8d
VS
92472012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9248
9249 Fix `help' with unloaded modules.
9250
9251 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
9252 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
9253 (grub_dyncmd_dispatcher): Small stylistic fix.
9254 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
9255 explicit help is requested.
9256
e1ea3ade
VS
92572012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9258
9259 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
9260 Explicitly init restart while on it.
9261
27556881
VS
92622012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9263
9264 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
9265 uninited variable.
9266
d65f6b36
VS
92672012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9268
9269 * util/grub-mknetdir.in: Use . rather than source for POSIX
9270 compatibility.
9271
0a1e473c
VS
92722012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9273
9274 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
9275
ce6647c8
VS
92762012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9277
9278 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
9279 variable.
9280
66747894
VS
92812012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9282
9283 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
9284 without quotes.
9285
71645f6e
VS
92862012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9287
9288 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
9289
0e1c1f61
VS
92902012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9291
9292 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
9293 iteration of partitions.
9294
9c4b5c13
VS
92952012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9296
9297 Improve gettext support. Stylistic fixes and error handling fixes while
9298 on it.
9299
215c90cb
VS
93002012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9301
9302 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
9303 part. Instead setup the correct stack in RM.
9304 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
9305 for stack.
9306 * include/grub/i386/relocator_private.h: New file.
9307
b5c1f9bf
VS
93082012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9309
9310 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
9311 argument.
9312 * util/grub-fstest.c (options): Add missing DEVICE part.
9313
b525fd83
VS
93142012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9315
9316 Clarify and unify messages.
9317
9318 * grub-core/commands/hashsum.c (options): Unify messages.
9319 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
9320 literal-only message as translatable.
9321 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
9322 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
9323 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
9324 commands.
9325 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
9326 key, not the key used to unlock. Clarify what it's used for.
9327 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
9328 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
9329 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
9330 * util/grub-editenv.c (options): Unify "verbose" message.
9331 * util/grub-fstest.c (read_file): Unify error message.
9332 (fstest): Add quotes around commands.
9333 (options): Unify "verbose" message.
9334 * util/grub-install.in: Add quotes around variable name.
9335 * util/grub-kbdcomp.in: Unify error message.
9336 * util/grub-mkfont.c (main): Likewise.
9337 * util/grub-mkrescue.in: Likewise.
9338 * util/grub-mklayout.c (options): Unify "verbose" message.
9339 * util/grub-mkstandalone.in: Unify help and verbose messages.
9340 * util/grub-mount.c (options): Unify "verbose" message.
9341 * util/grub-probe.c (options): Likewise.
9342 * util/grub-script-check.c (options): Likewise.
9343 * util/grub-setup.c (setup): Unify no-terminator message.
9344 (options): Use DEVICE and not DEV.
9345 Unify "verbose" message.
9346 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
9347
0ae70393
VS
93482012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9349
9350 Improve and unify messages.
9351
9352 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
9353 name. All users updated.
9354 Print filename in error.
9355 (read_device_map): Print filename in error.
9356 * util/getroot.c (grub_guess_root_devices): Print filename in error.
9357 (grub_util_get_os_disk): Likewise.
9358 (grub_util_biosdisk_get_grub_dev): Likewise.
9359 (grub_util_check_block_device): Likewise.
9360 (grub_util_check_char_device): Likewise.
9361 (grub_make_system_path_relative_to_its_root): Likewise.
9362 * util/grub-editenv.c (create_envblk_file): Likewise.
9363 (open_envblk_file): Likewise.
9364 (write_envblk): Likewise.
9365 * util/grub-fstest.c (cmd_cp): Likewise.
9366 (cmd_cat): Likewise.
9367 (cmd_cmp): Likewise.
9368 * util/grub-menulst2cfg.c (main): Likewise.
9369 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
9370 (write_font_width_spec): Likewise.
9371 (write_font_pf2): Likewise.
9372 * util/grub-mkimage.c (generate_image): New argument outname.
9373 All users updated.
9374 Remove unreacheable message.
9375 (options): Unify messages.
9376 (help_filter): Likewise.
9377 * util/grub-mklayout.c (usage): Removed (unused).
9378 (main): Print filename in error.
9379 * util/grub-mkrescue.in: Fix wrong quoting.
9380 * util/grub-setup.c (setup): Print filename in error.
9381 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
9382 (check_sas): Likewise.
9383 * util/misc.c (grub_util_get_fp_size): Removed.
9384 (grub_util_get_image_size): Print filename in error.
9385 (grub_util_read_at): Removed.
9386 (grub_util_read_image): Print filename in error.
9387 (grub_util_load_image): Likewise.
9388 (grub_util_write_image_at): New argument filename. All users updated.
9389 Print filename in error.
9390 (grub_util_write_image): New argument filename. All users updated.
9391 Print filename in error.
9392 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
9393 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
9394
0a96117d
VS
93952012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9396
9397 * grub-core/Makefile.core.def (pxechain): New module.
9398 * grub-core/loader/i386/pc/pxechainloader.c: New file.
9399 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
9400 function.
9401 (grub_pc_net_config_real): Use grub_pxe_get_cached.
9402 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
9403
aca002f7
VS
94042012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9405
9406 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
9407 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
9408 * include/grub/err.h (grub_error_saved): New struct.
9409 (grub_errmsg): Make array size explicit.
9410 * include/grub/misc.h (grub_error_save): New function.
9411 (grub_error_load): Likewise.
9412 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
9413 (grub_error_push): Update `errno' member name.
9414 (grub_error_pop): Likewise
9415 * grub-core/net/tftp.c (tftp_data): New member save_err.
9416 (tftp_receive): Save error.
9417 (tftp_open): Restore error.
9418
a51dab13
VS
94192012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9420
9421 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
9422 to real mode down to execute A20-related code in protected mode as
9423 intended.
9424
eb6e6649
GS
94252012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
9426
9427 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
9428 NULL when the argument `level' has an unexpected value.
9429
92cd0f6e
VS
94302012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9431
9432 Move platform-dependent files from $prefix to $prefix/$platform.
9433
9434 * config.h.in (GRUB_TARGET_CPU): New definition.
9435 (GRUB_PLATFORM): Likewise.
9436 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
9437 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
9438 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
9439 * grub-core/kern/dl.c (grub_dl_load): Likewise.
9440 * grub-core/normal/autofs.c (read_fs_list): Likewise.
9441 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
9442 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
9443 * grub-core/normal/term.c (read_terminal_list): Likewise.
9444 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
9445 $prefix/locale.
9446 (grub_gettext_init_ext): Likewise.
9447 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
9448 grub_platform.
9449 * util/grub-install.in: Update directories.
9450 * util/grub-mknetdir.in: Likewise.
9451 * util/grub-mkrescue.in: Likewise.
9452
db606889
VS
94532012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9454
9455 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
9456 grub_error framework. All users updated.
9457
c39992a4
VS
94582012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9459
9460 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
9461 lists (by always binsearching), improve caching (cache strings
9462 used for binsearch, not only results), improve
9463 maintainability (by using more structured binary search) and correct
9464 error handling.
9465
1e5ec32f
VS
94662012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9467
9468 * grub-core/script/execute.c (grub_script_return): Fix warning.
9469
ac576cde
VS
94702012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9471
9472 * grub-core/script/execute.c (grub_script_return): Fix potential
9473 NULL-dereference.
9474 Reported by: Jim Meyering.
9475
498453f6
VS
94762012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9477
9478 * po/POTFILES.in: Regenerate.
9479 * util/grub-install.in: Gettextize the strings missed in first pass.
9480
8be63f2e
VS
94812012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9482
9483 * Makefile.util.def (grub-mkdevicemap): Removed.
9484 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
9485 * include/grub/util/deviceiter.h: Removed.
9486 * util/deviceiter.c: Likewise.
9487 * util/getroot.c (grub_util_get_os_disk): New function.
9488 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
9489 replacement for EFI.
9490 * util/grub-mkdevicemap.c: Removed.
9491 * util/grub-probe.c (probe): Handle PRINT_DISK.
9492 (argp_parser): Handle -t disk.
9493
8e1e4e39
VS
94942012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9495
9496 * util/grub-mkfont.c: Migrate to argp.
9497 * util/grub-mklayout.c: Likewise.
9498 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9499 * util/grub-mkrelpath.c: Likewise.
9500 * util/grub-probe.c: Likewise.
9501 * util/grub-script-check.c: Likewise.
9502
4459819a
VS
95032012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9504
9505 * util/grub-reboot.in: Add missing datarootdir.
9506 Add missing newline.
9507 * util/grub-set-default.in: Add missing datarootdir.
9508 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
9509 * util/grub-mkrescue.in: Likewise.
9510
f65741c7
VS
95112012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9512
9513 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
9514
c1a33466
VS
95152012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9516
9517 * util/grub-kbdcomp.in: Add decent help and gettextize.
9518 * docs/man/grub-kbdcomp.h2m: New file.
9519
c76899a0
VS
95202012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9521
9522 Migrate grub-mkimage.c to argp.
9523
9524 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
9525 (grub-setup): Likewise.
9526 * util/grub-setup.c (print_version): Move to ...
9527 * util/argp_common.c (print_version): ... here.
9528 * util/grub-setup.c (argp_program_version_hook): Move to ...
9529 * util/argp_common.c (argp_program_version_hook): ... here.
9530 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
9531 safety.
9532 * util/grub-mkimage.c (main): Migrate to argp.
9533
57db0757
VS
95342012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9535
9536 * util/grub-mkrescue.in: Use same message as
9537 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
9538 for better translations.
9539
18534ad9
VS
95402012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9541
9542 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
9543 options with generic grub-mkrescue.in with the goal of future
9544 merge.
9545
c84ba308
VS
95462012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9547
9548 * grub-core/kern/mm.c: Add missing include of i18n.h
9549 * grub-core/lib/relocator.c: Likewise.
9550
347998c2
VS
95512012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9552
9553 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
9554 error.
9555 (allocate_pages): Check return value.
9556 Replace fatal with error.
9557 (grub_linux_boot): Replace printf with dprintf.
9558 Check find_mmap_size return value.
9559 Replace fatal with error.
9560 Don't call grub_machine_fini.
9561 (grub_load_elf64): Replace printf with dprintf.
9562 (grub_cmd_linux): Likewise.
9563 (grub_cmd_initrd): Likewise.
9564 (grub_cmd_payload): Likewise.
9565
c779226e
VS
95662012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9567
9568 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
9569 message.
9570 * grub-core/video/radeon_fuloong2e.c
9571 (grub_video_radeon_fuloong2e_setup): Likewise.
9572 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
9573 * grub-core/video/video.c (grub_video_set_mode): Don't override
9574 standard out of memory message.
9575
dc87d45a
GS
95762012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9577
9578 NetBSD disk wedge support.
9579
9580 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
9581 [__NetBSD__]: Handle NetBSD disk wedges.
9582 * util/getroot.c (convert_system_partition_to_system_disk)
9583 [__NetBSD__]: Likewise.
9584
055f856f
MW
95852012-02-03 Mark Wooding <mdw@distorted.org.uk>
9586
9587 * util/grub-mkconfig.in: Use umask rather than chmod to create
9588 grub.cfg.new to avoid insecure grub.cfg.
9589
4a9f8346
VS
95902012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9591
9592 * grub-core/commands/ls.c: Gettextize.
9593 * grub-core/commands/setpci.c: Likewise.
9594 * grub-core/commands/videotest.c: Likewise.
9595 * grub-core/disk/geli.c: Likewise.
9596 * grub-core/kern/mm.c: Likewise.
9597 * grub-core/lib/relocator.c: Likewise.
9598 * grub-core/loader/efi/appleloader.c: Likewise.
9599 * grub-core/loader/i386/xnu.c: Likewise.
9600 * grub-core/loader/ia64/efi/linux.c: Likewise.
9601 * grub-core/loader/xnu.c: Likewise.
9602 * grub-core/net/dns.c: Likewise.
9603 * grub-core/net/net.c: Likewise.
9604 * grub-core/script/lexer.c: Likewise.
9605 * grub-core/script/parser.y: Likewise.
9606 * grub-core/script/yylex.l: Likewise.
9607 * util/getroot.c: Likewise.
9608 * util/grub-setup.c: Likewise.
9609
a646a366
VS
96102012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9611
9612 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
9613 number.
9614
54e2be26
VS
96152012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9616
9617 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
9618
f7c71e68
VS
96192012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9620
9621 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
9622 macro.
9623 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
9624 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
9625
a32d5c71
VS
96262012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9627
9628 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
9629 * util/grub-install.in: Gettextize.
9630 * util/grub-mkconfig.in: Likewise.
9631 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
9632 if not available.
9633 (grub_warn): Gettextize.
9634 * util/grub-mknetdir.in: Gettextize.
9635 * util/grub-mkrescue.in: Likewise.
9636 * util/grub-mkstandalone.in: Likewise.
9637 * util/grub-reboot.in: Likewise.
9638 * util/grub-set-default.in: Likewise.
9639 * util/grub.d/00_header.in: Likewise.
9640 * util/grub.d/10_hurd.in: Likewise.
9641 * util/grub.d/10_kfreebsd.in: Likewise.
9642 * util/grub.d/10_linux.in: Likewise.
9643 * util/grub.d/10_netbsd.in: Likewise.
9644 * util/grub.d/10_windows.in: Likewise.
9645 * util/grub.d/20_linux_xen.in: Likewise.
9646 * util/grub.d/30_os-prober.in: Likewise.
9647 * po/POTFILES-shell.in: Regenerate.
9648
69edd81a
RL
96492012-02-03 Richard Laager <rlaager@wiktel.com>
9650
9651 * util/grub-mkimage.c (main): Fix format-security warning.
9652 * util/grub-mkrelpath.c (main): Likewise.
9653 * util/grub-probe.c (main): Likewise.
9654
65f08dbf
RL
96552012-02-03 Richard Laager <rlaager@wiktel.com>
9656
9657 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
9658 failure.
9659 Put back lost PRINT_DRIVE.
9660
e9084abe
RL
96612012-02-03 Richard Laager <rlaager@wiktel.com>
9662
9663 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
9664 (grub_guess_root_devices): Replace strlen with sizeof.
9665 Avoid crash.
9666 (find_root_devices_from_poolname): Remove unused variable.
9667 Handle raidzN.
9668
cf5f7ee7
VS
96692012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9670
9671 Support install on multi-device filesystems.
9672
9673 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
9674 (grub_guess_root_devices): ...this. Return char **. All users updated.
9675 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
9676 Removed.
9677 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
9678 (find_root_devices_from_poolname): ... here.
9679 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
9680 Support zfs-fuse.
9681 (grub_guess_root_device): Rename to ...
9682 (grub_guess_root_devices): ... this. Return char **. All users updated.
9683 * util/grub-install.in: Handle multi-device filesystems.
9684 * util/grub-probe.c (probe). Make device_names a char **. Add delim
9685 argument. All users updated.
9686 Handle multi-device filesystems.
9687 Use 'delim' as separator.
9688 Remove device check to allow filesystems on file.
9689 (main): Support -0 argument. Handle multi-device.
9690 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
9691 Fix a cross-device check while on it.
9692 (arguments): Remove root_dev.
9693 (argp_parser): Remove -r.
9694 (main): Remove root_dev.
9695
2f53a9ed
VS
96962012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9697
9698 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
9699
17e1d934
VS
97002012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9701
9702 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
9703 symbol.
9704 Reported by: NODA, Kai <nodakai>.
9705
d3e3fab5
VS
97062012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9707
9708 Fix ehci on amd64.
9709
9710 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
9711 pointers.
9712 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
9713 (grub_ehci_setup_qh): Likewise.
9714 (grub_ehci_find_qh): Likewise.
9715 (grub_ehci_transaction): Likewise.
9716 (grub_ehci_setup_transfer): Likewise.
9717 (grub_ehci_check_transfer): Likewise.
9718 (grub_ehci_portstatus): Likewise.
9719 (grub_ehci_detect_dev): Likewise.
9720 (grub_ehci_transfer_controller_data): New field td_last_phys.
9721 (grub_ehci_setup_transfer): Fill td_last_phys.
9722 (grub_ehci_check_transfer): Use td_last_phys.
9723
3008675b
SG
97242012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
9725
9726 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
9727 if no submenu is present.
9728
fc9b5652
AN
97292012-02-01 Aleš Nesrsta <starous@volny.cz>
9730
9731 CBI support.
9732
9733 * include/grub/usb.h (grub_usbms_protocol_t): New values
9734 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
9735 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
9736 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
9737 (grub_usbms_dev): Add subclass, protocol and intrpt.
9738 Remove in_maxsz and out_maxsz.
9739 (grub_usbms_reset): Rename to ...
9740 (grub_usbms_bo_reset): .. this.
9741 (grub_usbms_cbi_cmd): New function.
9742 (grub_usbms_cbi_reset): Likewise.
9743 (grub_usbms_reset): Likewise.
9744 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
9745 (grub_usbms_transfer): Rename to ...
9746 (grub_usbms_transfer_bo): ... this.
9747 (grub_usbms_transfer_cbi): Likewise.
9748 (grub_usbms_transfer): Likewise.
9749
a2b81d53
AN
97502012-02-01 Aleš Nesrsta <starous@volny.cz>
97512012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9752
9753 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
9754 the support for the CS5536 modification thereos and few bugfixes.
9755
9756 * grub-core/Makefile.core.def (ehci): New module.
9757 * grub-core/bus/usb/ehci.c: New file.
9758 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
9759 port and hubaddr. All users updated.
9760 Save port and hubaddr into dev structure.
9761 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
9762 define.
9763 * include/grub/pci.h (grub_dma_phys2virt): New function.
9764 (grub_dma_virt2phys): Likewise.
9765 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
9766
b1d51f02
VS
97672012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9768
9769 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
9770 check as some mkfs implementations omit it.
9771
fc694106
VS
97722012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9773
9774 * docs/grub.texi (Unicode): Mention identifier and space limitations.
9775
6c0920e3
VS
97762012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9777
9778 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
9779 Add new member volname2.
9780 (grub_jfs_label): Use volname2 if available.
9781
d1a46f9a
VS
97822012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9783
9784 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
9785 over last_mounted as seen in image generated by mkfs.nilfs2.
9786 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
9787
dec8ed14
VS
97882012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9789
9790 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
9791 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
9792 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
9793
7397c69b
VS
97942012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9795
9796 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
9797 over the sector.
9798
b3fe42ad
VS
97992012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9800
9801 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
9802 subvolume name (by removing a bogus and useless check).
9803
10476bb0
VS
98042012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9805
9806 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
9807 sizeof while on it.
9808
9c08ad87
VS
98092012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9810
9811 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
9812 (grub_scsi_read_capacity10): ... this.
9813 (grub_scsi_read_capacity16): New function.
9814 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
9815 0xffffffff.
9816 Fix off-by-one error.
9817 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
9818 64-bit unsigned.
9819 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
9820 (grub_scsi_read_capacity10): ... this.
9821 (grub_scsi_read_capacity_data): Rename to ...
9822 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
9823 (grub_scsi_read_capacity16): New struct.
9824 (grub_scsi_read_capacity16_data): Likewise.
9825 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
9826 grub_scsi_cmd_read_capacity10.
9827 New command grub_scsi_cmd_read_capacity16.
9828
bc8d0f45
VS
98292012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9830
9831 SCSI >2TiB support.
9832
9833 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
9834 (grub_scsi_write16): Likewise.
9835 (grub_scsi_read): Use read16 when necessary.
9836 (grub_scsi_write): Likewise.
9837 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
9838 (grub_scsi_write16): Likewise.
9839 (grub_scsi_cmd_t): Add READ16 and WRITE16.
9840
cc774926
VS
98412012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9842
9843 SCSI write support (for usbms mainly).
9844
9845 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
9846 a const pointer.
9847 (grub_scsi_write): Implement.
9848 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
9849
67639fd7
VS
98502012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9851
9852 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
9853 variable.
9854
9079d3ed
VS
98552012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9856
9857 * grub-core/lib/posix_wrap/string.h (memchr): New function.
9858
c6a6f204
VS
98592012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9860
9861 * po/POTFILES.in: Regenerate.
9862
ecbf8cd1
VS
98632012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9864
9865 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
9866 with grub_printf to avoid unnecessary fatal failure.
9867
0b3b3b38
VS
98682012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9869
9870 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
9871 (INT_MAX): Likewise.
9872 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
9873 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
9874 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
9875 (strcpy): Likewise.
9876 (strstr): Likewise.
9877 (strchr): Likewise.
9878 (strncpy): Likewise.
9879 (strcat): Likewise.
9880 (strncat): Likewise.
9881 (strcoll): Likewise.
9882 * include/grub/types.h (GRUB_SHRT_MAX): New define.
9883 (GRUB_INT_MAX): Likewise.
9884
db7337a3
VS
98852012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9886
9887 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
9888 unexpected error.
9889 (optimize_utf8): Likewise.
9890 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
9891
f37c87e1
VS
98922012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9893
9894 * grub-core/boot/i386/pc/lnxboot.S: Use
9895 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
9896 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
9897 location.
9898 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
9899 definition.
9900 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
9901
63fe43f3
VS
99022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9903
9904 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
9905 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
9906 now to avoid double free.
9907 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
9908 hostdisk.
9909 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
9910 * util/grub-probe.c (escape_of_path): Always return a new copy.
9911 (print_full_name): Escape path.
9912 (probe): Don't call grub_util_devname_to_ofpath on NULL.
9913 Fix hints on abstractions.
9914
ebe2c961
VS
99152012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9916
9917 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
9918 Don't add "root" line if no compatibility hont is available.
9919 Suggested by: Seth Goldberg.
9920
2b5336a2
VS
99212012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9922
9923 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
9924 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
9925 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
9926 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
9927
74310bd8
VS
99282012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9929
9930 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
9931
c30582ba
VS
99322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9933
9934 * util/grub-pe2elf.c (ehdr): Make static.
9935 (shdr): Likewise.
9936 (num_sections): Likewise.
9937 (offset): Likewise.
9938
5f47782c
VS
99392012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9940
9941 Eliminate ofpath limits and possible overflows.
9942
9943 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
9944 (OF_PATH_MAX): Removed.
9945 (MAX_DISK_CAT): New const.
9946 (find_obppath): Use allocated rather than preallocated buffer.
9947 Return result. Argument of_path removed. All users updated.
9948 Add missing fdstat.
9949 (xrealpath): New function.
9950 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
9951 Allocate rather than use preallocated buffer. All users updated.
9952 (__of_path_common): Use allocated rather than preallocatecd buffer.
9953 Return result. Argument of_path removed. All users updated.
9954 (vendor_is_ATA): Read only needed part form the file.
9955 (check_sas): Allocate depending on contents rather than fixed.
9956 (main) [STANDALONE]: Handle NULL result.
9957
f990cbf9
VS
99582012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9959
9960 * grub-core/normal/completion.c (iterate_dev): Close the disk.
9961
9c6e84b8
VS
99622012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9963
9964 Cryptodisk write support.
9965
9966 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
9967 (grub_cryptodisk_decrypt): Moved logic to ...
9968 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
9969 (grub_cryptodisk_write): Implement.
9970 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
9971 (grub_util_fd_write): ... this. Make global.
9972 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
9973
87cf9744
VS
99742012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9975
9976 * include/grub/list.h (grub_list_remove): Don't crash if element is
9977 removed twice.
9978
ca8c0baf
VS
99792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9980
9981 Rename ofconsole to console.
9982
9983 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
9984 as sysnonym to console.
9985 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
9986 * grub-core/term/ieee1275/console.c: ... this. All users updated.
9987 Rename grub_ofconsole_ to grub_console_. All users updated
9988 (grub_console_term_output): Rename "ofconsole" to "console".
9989 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
9990 as "console".
9991
64c8b8f6
VS
99922012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9993
9994 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
9995 handling.
9996 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
9997 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
9998 GRUB_DISK_DEVICE_FILE_ID.
9999
f6c434d5
VS
100002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10001
10002 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
10003 and improve performance.
10004
5858b42d
VS
100052012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10006
10007 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
10008 missing ieee1275/ prefix on whole disk.
10009
4ed3c26b
VS
100102012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10011
10012 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
10013 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
10014
df71143e
VS
100152012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10016
10017 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
10018
076e7c0f
VS
100192012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10020
10021 Merge common RAID and LVM logic to an abstract diskfilter.
10022 Add LDM support using the same framework.
10023
10024 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
10025 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
10026 (libgrubmods): Remove grub-core/disk/raid.c and
10027 grub-core/partmap/gpt.c.
10028 * grub-core/Makefile.core.def (ldm): New module.
10029 (raid): Renamed to diskfilter. All users updated.
10030 * grub-core/disk/raid.c: Moved to ...
10031 * grub-core/disk/diskfilter.c: ... here.
10032 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
10033 (lv_num): New var.
10034 (find_array): Renamed to ...
10035 (find_lv): ... this. Support multi-LV. Skip nameless LVs
10036 (grub_is_array_readable): Renamed to ...
10037 (grub_is_lv_readable): ... this. Support multinode hierarchy.
10038 (insert_array): New argument id.
10039 (is_node_readable): New function.
10040 (scan_device): Rename to ...
10041 (scan_disk): .. this. Restrict to one disk.
10042 (scan_devices): New function.
10043 (grub_diskfilter_iterate): Support multi-LV.
10044 Skip invisible and nameless LVs.
10045 (grub_diskfilter_memberlist): Support multi-LV.
10046 (grub_diskfilter_read_node): New function.
10047 (grub_raid_read): Most of logic moved to ...
10048 (read_segment): ... here
10049 (read_lv): New function.
10050 (grub_diskfilter_get_vg_by_uuid): New function.
10051 (grub_diskfilter_make_raid): Likewise.
10052 * grub-core/disk/ldm.c: New file.
10053 * grub-core/disk/lvm.c (vg_list): Removed.
10054 (lv_count): Likewise.
10055 (scan_depth): Likewise.
10056 (is_lv_readable): Likewise.
10057 (grub_lvm_getvalue): Advance pointer past the number.
10058 (find_lv): Removed.
10059 (do_lvm_scan): Refactored into ...
10060 (grub_lvm_detect): ... this. Support raid.
10061 (grub_lvm_iterate): Removed.
10062 (grub_lvm_memberlist): Likewise.
10063 (grub_lvm_open): Likewise.
10064 (grub_lvm_close): Likewise.
10065 (read_lv): Likewise.
10066 (read_node): Likewise.
10067 (is_node_readable): Likewise.
10068 (is_lv_readable): Likewise.
10069 (grub_lvm_read): Likewise.
10070 (grub_lvm_write): Likewise.
10071 (grub_lvm_dev): Use diskfilter
10072 (GRUB_MOD_INIT): Likewise.
10073 (GRUB_MOD_FINI): Likewise.
10074 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
10075 new interface.
10076 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
10077 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10078 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
10079 grub_diskfilter_read_node.
10080 Fix a bug with xor.
10081 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
10082 grub_diskfilter_read_node.
10083 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
10084 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
10085 (grub_disk_dev_iterate): Move from here...
10086 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
10087 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
10088 Make global.
10089 (grub_hostdisk_find_partition_start): Likewise.
10090 (grub_hostdisk_os_dev_to_grub_drive): New function.
10091 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
10092 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
10093 * util/getroot.c (make_device_name): ... here.
10094 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
10095 Move to ...
10096 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
10097 * grub-core/kern/emu/hostdisk.c
10098 (convert_system_partition_to_system_disk): Move to ...
10099 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
10100 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
10101 * util/getroot.c (device_is_wholedisk): ... here.
10102 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
10103 * util/getroot.c (find_system_device): ... here.
10104 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
10105 Move to ...
10106 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
10107 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
10108 Move to ...
10109 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
10110 Handle LDM.
10111 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
10112 Move to ...
10113 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
10114 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
10115 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
10116 DISKFILTER.
10117 * include/grub/raid.h: Renamed to ...
10118 * include/grub/diskfilter.h: ... this.
10119 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
10120 (GRUB_RAID_LAYOUT_*): Make into array.
10121 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
10122 (grub_diskfilter_vg): New struct.
10123 (grub_diskfilter_pv_id): Likewise.
10124 (grub_raid_member): Removed.
10125 (grub_raid_array): Likewise.
10126 (grub_diskfilter_pv): New struct.
10127 (grub_diskfilter_lv): Likewise.
10128 (grub_diskfilter_segment): Likewise.
10129 (grub_diskfilter_node): Likewise.
10130 (grub_diskfilter_get_vg_by_uuid): New proto.
10131 (grub_raid_register): Inline.
10132 (grub_diskfilter_unregister): Likewise.
10133 (grub_diskfilter_make_raid): New proto.
10134 (grub_diskfilter_vg_register): Likewise.
10135 (grub_diskfilter_read_node): Likewise.
10136 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
10137 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
10138 (grub_util_is_ldm): Likewise.
10139 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
10140 (grub_hostdisk_find_partition_start): Likewise.
10141 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
10142 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
10143 New definition.
10144 (grub_gpt_partition_map_iterate): New proto.
10145 * include/grub/lvm.h (grub_lvm_vg): Removed.
10146 (grub_lvm_pv): Likewise.
10147 (grub_lvm_lv): Likewise.
10148 (grub_lvm_segment): Likewise.
10149 (grub_lvm_node): Likewise.
10150 * util/getroot.c [...]
10151 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
10152 (probe_abstraction): Likewise.
10153 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
10154 (main): Remove dead logic.
10155
8a7f9b9c
VS
101562012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
10157
10158 Simplify root device discover and don't fail when trying to open
10159 incorrect devices.
10160
10161 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
10162 function.
10163 (get_diskname_from_path): Likewise.
10164 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
10165 of iterating.
10166
30545b85
VS
101672012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10168
10169 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
10170
28ea58cf
VS
101712012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10172
10173 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
10174 pastthe end.
10175
692dabca
VS
101762012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10177
10178 * util/grub-install.in: Add missing \.
10179 Reported by: gentoofan
10180
f6e4ea70
VS
101812012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
10182
10183 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
10184 (direct_read): Use correct compressed size.
10185 (grub_squash_read_data): Likewise.
10186
101872012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
10188
10189 * docs/grub.texi (Platform limitations): New section.
10190 (Platform-specific operations): Likewise.
10191 * docs/grub-dev.texi (Porting): Likewise.
10192
76261110
VS
101932012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10194
10195 IEEE1275 disk write support.
10196
10197 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
10198 const void *.
10199 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
10200 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
10201 and seek loginc to ...
10202 (grub_ofdisk_prepare): ... here.
10203 (grub_ofdisk_write): Implement.
10204
fc36d603
VS
102052012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10206
10207 ARC disk write support.
10208
10209 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
10210 (reopen): New argument writable. All users updated.
10211 Handle required access mode.
10212 (grub_arcdisk_write): Implement.
10213 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
10214 (grub_arc_firmware_vector): Make buffer to write a const buffer.
10215
e06c2e7a
VS
102162012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10217
10218 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
10219 (read_sblock): Don't attempt to read superblocks outside the disk size.
10220
ff447958
VS
102212012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10222
10223 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
10224 first superblock to find the second one when possible.
10225
9e88df39
VS
102262012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10227
10228 * util/grub-install.in: Fix an ARC bug.
10229 Print a warning if no platform-specific setup is available.
10230
bb26e4ff
VS
102312012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10232
10233 Use static allocation rather than scratch pointer in reed_solomon.
10234 It decreases its size significantly and avoids a variable in .text.
10235
10236 * grub-core/lib/reed_solomon.c (scratch): Removed.
10237 (chosenstat): New const or static array.
10238 (sigma): Likewise.
10239 (errpot): Likewise.
10240 (errpos): Likewise.
10241 (sy): Likewise.
10242 (mstat): Likewise.
10243 (errvals): Likewise.
10244 (eqstat): Likewise.
10245 (pol_evaluate): Replace x with log_x argument. All users updated.
10246 (syndroms): Removed.
10247 (gauss_solve): Use statically allocated arrays.
10248 (rs_recover): Likewise.
10249 Calculate syndroms directly.
10250 (decode_block): Use statically allocated arrays.
10251 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
10252 (main) [TEST]: Allow -DTEST -DSTANDALONE.
10253
2e13ede5
VS
102542012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10255
10256 Eliminate fixed limit on reed solomon decoder length.
10257
10258 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
10259 rather than hardcoding the address.
10260 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
10261 no_reed_solomon_length.
10262 Move gate_a20 to no-reed-solomon part.
10263 Don't force a particular size of no reed-solomon part.
10264 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
10265 Removed.
10266 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
10267 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
10268
f8a9ab12
VS
102692012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10270
10271 * grub-core/commands/wildcard.c (match_files): Handle filenames
10272 without explicit device.
10273 (wildcard_expand): Don't add explicit device if not already present.
10274 * tests/grub_script_echo1.in: Add a new expansion test.
10275
87edb894
VS
102762012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10277
10278 Replace single-linked with double-linked lists. It results in more
10279 compact and more efficient code.
10280
10281 * grub-core/kern/list.c (grub_list_push): Moved from here ...
10282 * include/grub/list.h (grub_list_push): ... to here. Set prev.
10283 (grub_list_remove): Moved from here ...
10284 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
10285 (grub_prio_list_insert): Set prev.
10286 * include/grub/list.h (grub_list): Add prev. All users updated.
10287
48b391e9
VS
102882012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10289
10290 Handle newer autotools. Add some missing quotes while on it.
10291
10292 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
10293 (pkglib_DATA): Move grub-mkconfig_lib from here ...
10294 (pkgdata_DATA): ... here.
10295 * Makefile.util.def (update-grub_lib): Removed.
10296 * conf/Makefile.common (pkglib_DATA): Removed.
10297 (pkglib_SCRIPTS): Likewise.
10298 (pkgdata_DATA): New variable.
10299 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
10300 needed.
10301 Add missing quotes.
10302 Remove unused variable while on it.
10303 * tests/util/grub-shell.in: Likewise.
10304 * util/grub-install.in: Likewise.
10305 * util/grub-mkconfig.in: Likewise.
10306 * util/grub-mknetdir.in: Likewise.
10307 * util/grub-mkrescue.in: Likewise.
10308 * util/grub-mkstandalone.in: Likewise.
10309 * util/grub.d/00_header.in: Likewise.
10310 * util/grub.d/10_hurd.in: Likewise.
10311 * util/grub.d/10_illumos.in: Likewise.
10312 * util/grub.d/10_kfreebsd.in: Likewise.
10313 * util/grub.d/10_linux.in: Likewise.
10314 * util/grub.d/10_netbsd.in: Likewise.
10315 * util/grub.d/10_windows.in: Likewise.
10316 * util/grub.d/20_linux_xen.in: Likewise.
10317 * util/grub.d/30_os-prober.in: Likewise.
10318 * util/update-grub_lib.in: Removed.
10319
103202012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
10321
10322 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
10323 a workaround for intel problem.
10324
66832792
PRP
103252012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
103262012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
103272012-01-23 pfsmorigo
10328
10329 * util/grub-install.in: Support dd'in into PreP partition.
10330 * util/grub-probe.c (probe): Support discovering partition type.
10331 (main): Support -t msdos_parttype.
10332
7816a17e
VS
103332012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
10334
10335 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
10336 infinite recursion using counter.
10337 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
10338 init to skip it if the magic check fails.
10339 (dec_stream_header): Init s->crc32.
10340
8f9d3a8c
ZB
103412012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
103422012-01-22 Zachary Bedell <pendorbound@gmail.com>
103432012-01-22 Richard Laager <rlaager@wiktel.com>
10344
10345 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
10346 All users updated.
10347 (find_bestub): Determine correct size.
10348 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
10349 (scan_disk): Align the size down.
10350 Call check pool before find_bestub to have ashift.
10351
b055dd32
VS
103522012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10353
10354 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
10355 dprintf in no-malloc zone.
10356
d779e9bd
ML
103572012-01-22 Mario Limonciello <mario_limonciello@dell.com>
10358
10359 * configure.ac: Add back in test for limits.h.
10360
b508af69
VS
103612012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10362
10363 Support 4K-sector NTFS.
10364
10365 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
10366 (grub_ntfs_data): Remove blocksize.
10367 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
10368 Remove data argument. All users updated.
10369
dad9c8b5
VS
103702012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10371
10372 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
10373 being in .text to avoid dprel references.
10374 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
10375 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
10376 (grub_arch_highmemsize): Likewise.
10377 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
10378 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
10379 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
10380
d43a777e
VS
103812012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10382
10383 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
10384
10385 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
10386 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
10387
34e4208f
VS
103882012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10389
10390 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
10391 GRUB_UTIL.
10392 (grub_set_datetime_cmos): Likewise.
10393
3ec0fc1c
VS
103942012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10395
10396 Make XZ compression parameters dependent on target and not host CPU.
10397
10398 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
10399 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
10400
22489834
VS
104012012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10402
10403 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
10404 set but not used variable.
10405
8502fbca
VS
104062012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10407
10408 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
10409 created when no uuid support is compiled into mkfs.reiser.
10410
76df2068
VS
104112012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10412
10413 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
10414 (utf8_to_macroman): Do the opposite.
10415 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
10416
64e3f8f6
VS
104172012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10418
10419 * configure.ac: Refise build qemu_mips w/o unifont.
10420
9c271078
VS
104212012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10422
10423 Eliminate grub_min/grub_max prone to overflow usage.
10424
10425 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
10426 (poll_nonroot_hub): Likewise.
10427 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
10428 (grub_affs_label): Likewise.
10429 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
10430 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
10431 (grub_hfs_label): Likewise.
10432 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
10433 * grub-core/fs/zfs/zfs.c (MIN): Remove.
10434 (zap_leaf_array_equal): Use grub_size. Remove MIN.
10435 (zap_leaf_array_get): Likewise.
10436 (dnode_get_path): Likewise.
10437 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
10438 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
10439 * grub-core/script/execute.c (grub_script_break): Likewise.
10440 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
10441 grub_max.
10442 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
10443 * include/grub/misc.h (grub_min): Removed.
10444 (grub_max): Likewise.
10445
80662dbc
VS
104462012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10447
10448 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
10449 direct.inode = 0.
10450
e6da1467
VS
104512012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10452
10453 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
10454
b1ac4cb1
VS
104552012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10456
10457 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
10458
b4bf7c3b
VS
104592012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10460
10461 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
10462 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
10463
8ee1101a
VS
104642012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10465
10466 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
10467 rather than a hack for grub_strncasemap.
10468
104692012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10470
10471 Support multiple initrds
10472 Note: part of this was accidently committed in r3739.
10473
10474 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
10475 initrd.
10476 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
10477 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
10478 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10479 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10480 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10481
4d1e2bc9
VS
104822012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10483
10484 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
10485 disks with unknown size.
10486 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
10487
75b49ebe
VS
104882012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10489
10490 Remove defines pertaining to arbitrary limits not affecting GRUB
10491 anymore.
10492
10493 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
10494 (EXT2_MAX_SYMLINKCNT): Likewise.
10495 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
10496 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
10497 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
10498 (GRUB_PXE_MAX_BLKSIZE): Likewise.
10499 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
10500 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
10501 (DN_MAX_OBJECT_SHIFT): Likewise.
10502 (DN_MAX_OFFSET_SHIFT): Likewise.
10503 (DN_MAX_OBJECT): Likewise.
10504 (DNODES_PER_LEVEL_SHIFT): Likewise.
10505 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
10506 (SPA_MAXBLOCKSIZE): Likewise.
10507 (SPA_BLOCKSIZES): Likewise.
10508 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
10509 (MZAP_MAX_BLKSZ): Likewise.
10510
74a1dce7
VS
105112012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10512
10513 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
10514 handle NULL appropriately.
10515 Remove MIN.
10516
30c7d3ce
VS
105172012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10518
10519 Fix efiemu.
10520
10521 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
10522 cpu/types.h.
10523 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
10524 * configure.ac: Fix efiemu check.
10525
3c76ea0c
VS
105262012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10527
10528 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
10529 grub_probe.
10530 Reported by: adamwill
10531
7e532280
SG
105322012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
10533
10534 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
10535
30492374
VS
105362012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10537
10538 Fix handling of wide characters in gfxterm.
10539
10540 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
10541 (clear_char): Likewise.
10542 (paint_char): Skip code == NULL chars.
10543 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
10544
e70cb72f
VS
105452012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10546
10547 * grub-core/normal/charset.c: Move comment to right place.
10548
5c827cf9
VS
105492012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10550
10551 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
10552 (GRUB_AFFS_FLAG_FFS): Put back where it was.
10553 (grub_affs_mount): Revert the correct version checking.
10554
53603892
VS
105552012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10556
10557 * docs/grub.texi (Unicode): Mention several other unsupported features.
10558
ff094b9b
VS
105592011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10560
10561 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
10562 case statements as compile-time one.
10563 (direct_read): Prevent spurious warnings.
10564 (grub_squash_read_data): Likewise.
10565
c029da8a
VS
105662011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10567
10568 Various squash4 fixes and LZO and XZ support.
10569
10570 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
10571 Add xzembed source files.
10572 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
10573 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
10574 (grub_squash_inode): New subtype long_dir.
10575 (SQUASH_TYPE_LONG_DIR): New inode type.
10576 (COMPRESSION): New enum.
10577 (XZBUFSIZ): New const.
10578 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
10579 (read_chunk): Use data->decompress.
10580 (zlib_decompress): New function.
10581 (lzo_decompress): Likewise.
10582 (xz_decompress): Likewise.
10583 (squash_mount): Set new data fields.
10584 (grub_squash_iterate_dir): Handle long dir.
10585 (squash_unmount): Free xzdec and xzbuf.
10586 (grub_squash_open): Check ino type.
10587 (direct_read): Stylistic fixes. Use data->decompress.
10588 (grub_squash_read_data): Likewise.
10589 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
10590 (get_byte): Likewise.
10591 (grub_zlib_disk_read): Removed.
10592 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
10593 (GRUB_POSIX_BOOL_DEFINED): New define.
10594 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
10595 * grub-core/lib/xzembed/xz.h: Addmissing includes.
10596 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
10597 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
10598
7a45a539
VS
105992011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10600
10601 Don't override more informative errors.
10602
10603 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
10604 * grub-core/font/font.c (open_section): Likewise.
10605 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
10606 filename. Don't override errors.
10607 (grub_cmd_openbsd_ramdisk): Don't override errors.
10608 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
10609 (grub_cmd_initrd): Likewise.
10610 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10611 (grub_cmd_initrd): Likewise.
10612 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
10613 (grub_cmd_linux): Likewise.
10614 (grub_cmd_initrd): Likewise.
10615 (grub_cmd_payload): Likewise.
10616 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10617 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
10618 (grub_cmd_module): Likewise.
10619 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10620 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10621 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
10622 (grub_cmd_xnu_mkext): Likewise.
10623 (grub_cmd_xnu_ramdisk): Likewise.
10624 (grub_xnu_check_os_bundle_required): Likewise.
10625 (grub_xnu_load_kext_from_dir): Likewise.
10626 (grub_cmd_xnu_kextdir): Likewise.
10627 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
10628
b2d004db
VS
106292011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10630
10631 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
10632 as 1024 in block size field. Found on one of my test images.
10633 Small optimisation while on it.
10634
ec000eac
VS
106352011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10636
10637 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
10638 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
10639 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
10640 performance fixes while on it.
10641 (grub_sfs_close): Fix memory leak while on it.
10642 (grub_sfs_label): Convert Latin1 to UTF-8.
10643
f50e1165
VS
106442011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10645
10646 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
10647 space to avoid overflows.
10648 (grub_hfs_label): Convert from macroman to UTF-8.
10649
2ae254de
VS
106502011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10651
10652 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
10653
0108f491
VS
106542011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10655
10656 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
10657
f45f5f89
VS
106582011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10659
10660 * unicode: Import Unicode 6.0 data.
10661
4d8c4765
VS
106622011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10663
63fa8ef9
VS
10664 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
10665 outside of range.
10666
106672011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10668
10669 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
10670
10671 * include/grub/charset.h (grub_getend): New function.
10672 * grub-core/script/function.c (grub_script_function_find): Use
10673 grub_getend.
10674 * grub-core/normal/completion.c (add_completion): Likewise.
10675
f3cb4a4e
VS
106762011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10677
10678 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
10679 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
10680 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
10681 (GRUB_UNICODE_TAG_END): Likewise.
10682 (GRUB_UNICODE_LAST_VALID): Likewise.
10683
5da8dbc5
VS
106842011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10685
10686 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
10687 len and make it smaller. All users updated.
10688 * util/import_unicode.py: Put length and not end character.
10689 Check length.
10690
8569f13d
VS
106912011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10692
10693 Make better Unicode-compliant and unify some UTF-8 code pathes.
10694
10695 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
10696 valid character.
10697 (grub_is_valid_utf8): Use grub_utf8_process.
10698 Check resulting code range.
10699 (grub_utf8_to_ucs4): Use grub_utf8_process.
10700 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
10701 valid character.
10702
cc4fddf5
VS
107032011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10704
10705 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
10706
bbc47747
VS
107072011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10708
10709 * docs/grub.texi (Filesystems): Mention AFS.
10710
f63d6bf4
VS
107112011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10712
10713 * docs/grub.texi (Filesystems): Clarify restrictions.
10714 (Regexp): Mention non-Unicode regexp behaviour.
10715 (Other): Mention non-Unicode matching behaviour.
10716
74bbf0db
VS
107172011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10718
f63d6bf4 10719 Make HFS implementation use MacRoman.
74bbf0db
VS
10720
10721 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
10722 (macroman): New const array.
10723 (macroman_to_utf8): New function.
10724 (utf8_to_macroman): Likewise.
10725 (grub_hfs_find_dir): Use utf8_to_macroman.
10726 (grub_hfs_dir): Use macroman_to_utf8.
10727 Set case_insensitive.
10728
4ea0316e
VS
107292011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10730
10731 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
10732
d3c13cbd
VS
107332011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10734
10735 Integrate hints into autogeneration scripts.
10736
10737 * docs/grub.texi (Filesystems): Add a hostdisk example.
10738 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
10739 (grub-probe): Add ofpath.
10740 * gentpl.py: Remove group nosparc64.
10741 * grub-core/commands/search.c (cache_entry): New struct.
10742 (cache): New var.
10743 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
10744 * grub-core/commands/search_wrap.c (options): Add platform-specific
10745 hint options.
10746 (grub_cmd_search): Handle platform-specific hints.
10747 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
10748 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
10749 (grub_util_biosdisk_data): Likewise.
10750 (grub_util_biosdisk_open): Set device_map.
10751 (read_device_map): Handle "" as indication of no map.
10752 Set device_map.
10753 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
10754 (grub_util_biosdisk_get_compatibility_hint): New function.
10755 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
10756 * include/grub/emu/hostdisk.h
10757 (grub_util_biosdisk_get_compatibility_hint): New proto.
10758 * util/grub-install.in: Don't call grub-mkdevicemap.
10759 Add platform-specific hint to load.cfg.
10760 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
10761 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
10762 hints. Set root preliminary to compatibility hint, not to OS name.
10763 * util/grub-probe.c (PRINT_*): Add hints.
10764 (print): Make static.
10765 (escape_of_path): New function.
10766 (guess_bios_drive): Likewise.
10767 (guess_efi_drive): Likewise.
10768 (guess_baremetal_drive): Likewise.
10769 (print_full_name): Likewise.
10770 (probe): Handle hints.
10771 (main): Likewise.
10772 * util/ieee1275/devicemap.c: Removed.
10773 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
10774 updated.
10775 (grub_util_devname_to_ofpath): Return NULL on failure.
10776
10777 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
10778 resource leak.
10779 * util/getroot.c (grub_util_pull_device): Fix memory leak.
10780
10781 * po/POTFILES.in: Regenerated.
10782
10783 Allow purely long options
10784
10785 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
10786 (SHORT_ARG_USAGE): Likewise.
10787 (grub_arg_show_help): Compare opt with help_options.
10788 (parse_option): Receive opt as argument. If makes big simplificatons.
10789 All users updated
10790
00ce2df3
VS
107912011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10792
10793 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
10794 Restructure to avoid warning.
10795
e77e325f
VS
107962011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10797
10798 * util/grub-install.in: Account for possible escaped comma in device
10799 name.
10800
165099ea
VS
108012011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10802
10803 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
10804 channel.
10805
ce4a999d
VS
108062011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10807
10808 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
10809 allocation and zero-setting.
10810 (grub_ieee1275_get_devname): Check that alias is complete.
10811
379586ad
VS
108122011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10813
10814 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
10815 unaligned segments.
10816
9197b0ad
VS
108172011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10818
10819 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
10820 prefix.
10821 (grub_ofdisk_open): Check and discard ieee1275 prefix.
10822 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
10823 Add ieee1275 prefix.
10824
edddb7f9
VS
108252011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10826
10827 * docs/grub.texi (Filesystems): Update.
10828
a1a8b1b9
VS
108292011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10830
10831 Support odc, newc and bigendian cpio formats.
10832
10833 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
10834 * grub-core/Makefile.core.def (newc): New module.
10835 (odc): Likewise.
10836 (cpio_be): Likewise.
10837 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
10838 (MAGIC): Likewise.
10839 (MAGIC2): Likewise.
10840 (head) [MODE_ODC]: Adapt for the format.
10841 (head) [MODE_NEWC]: Likewise.
10842 (head) [!MODE_*]: Write fields of interest as arrays.
10843 (MAGIC_USTAR): Removed.
10844 (read_number) [MODE_NEWC]: Change to hex.
10845 (read_number) [!MODE_*]: Parse binary arrays.
10846 (grub_cpio_find_file): Factor out the code for better structure and
10847 always use read_number.
10848 (grub_cpio_mount): Use MAGIC and MAGIC2.
10849 (grub_cpio_dir): Exit on first hook non-0 return.
10850 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
10851 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
10852 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
10853 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
10854 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
10855 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
10856 * grub-core/fs/newc.c: New file.
10857 * grub-core/fs/odc.c: Likewise.
10858 * grub-core/fs/cpio_be.c: Likewise.
10859
58eba9ee
VS
108602011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10861
10862 Fix handling of tar numbers occupying the whole field.
10863
10864 * grub-core/fs/cpio.c (read_number): New function.
10865 (grub_cpio_find_file): Use read_number instead of strtoull.
10866
a54a0e12
VS
108672011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10868
10869 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
10870 occupying the whole field size.
10871
a6120aca
LA
108722011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
10873
10874 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
10875
a93964ce
VS
108762011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10877
10878 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
10879
3ea1ca46
SG
108802011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
10881
10882 * grub-core/Makefile.core.def (lzma_decompress): Add missing
10883 TARGET_IMG_LDFLAGS.
10884
b87f7ef2
VS
108852011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10886
10887 * util/getroot.c (ESCAPED_PATH_MAX): New define.
10888 (mountinfo_entry): Increase the field size to take escaping into
10889 account.
10890 (find_root_device_from_libzfs): Add one byte to size of strings for
10891 security.
10892
62092395
VS
108932011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10894
10895 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
10896 an assert.
10897 * util/grub-setup.c (setup): Likewise.
10898
1f0b1a77
VS
108992011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10900
10901 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
10902 _LzmaDecodeA.
10903
8eba9997
VS
109042011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10905
10906 * docs/grub.texi (Internationalisation): New section.
10907
dd0c91e9
VS
109082011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10909
10910 * docs/grub.texi (Loopback booting): New section.
10911
109122011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
10913
10914 * util/grub-mkstandalone.in: Fix minor typo errors.
10915
198e150a
VS
109162011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10917
10918 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
10919
10920 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
10921 net/icmp.c and net/icmp6.c.
10922 (http): New module.
10923 (priority_queue): Likewise.
10924 * grub-core/io/bufio.c: Rewritten.
10925 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
10926 TYPE_WITH_CONFIGFILE_OPTION.
10927 (legacy_commands): Add bootp and dhcp.
10928 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
10929 (grub_legacy_parse): Likewise.
10930 * grub-core/lib/priority_queue.c: New file.
10931 * grub-core/net/arp.c: Add missing license header.
10932 (arp_find_entry): Removed.
10933 (arp_find_entry): Likewise.
10934 (grub_net_arp_resolve): Rename to ...
10935 (grub_net_arp_send_request): ...this.
10936 (grub_net_arp_receive): New card argument.
10937 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
10938 Set router and DNS server.
10939 (grub_net_configure_by_dhcp_ack): Handle routing information.
10940 (grub_cmd_bootp): Set checksum.
10941 (grub_bootp_init): Remove net_dhcp.
10942 * grub-core/net/dns.c: New file.
10943 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
10944 completion.
10945 (get_card_packet): Handle allocation.
10946 (grub_efinet_findcards): Set mtu.
10947 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
10948 (get_card_packet): Handle allocation.
10949 (emucard): Set mtu.
10950 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
10951 (GRUB_MOD_INIT): Set mtu.
10952 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
10953 mtu.
10954 (get_card_packet): Handle allocation.
10955 (grub_ofnet_findcards): Set mtu.
10956 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
10957 assert.
10958 (grub_net_recv_ethernet_packet): Handle IPv6.
10959 * grub-core/net/http.c: New file.
10960 * grub-core/net/icmp.c: Likewise.
10961 * grub-core/net/icmp6.c: Likewise.
10962 * grub-core/net/ip.c (ip6addr): New type.
10963 (ip6hdr): Likewise.
10964 (reassemble): Likewise.
10965 (cmp): New function.
10966 (reassembles): New variable.
10967 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
10968 (id): New variable.
10969 (send_fragmented): New function.
10970 (grub_net_send_ip_packet): Rename to ...
10971 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
10972 Handle non-UDP.
10973 (grub_net_recv_ip_packets): Rename to ...
10974 (handle_dgram): ... this. Check checksum. Handle non-UDP.
10975 (free_rsm): New function.
10976 (free_old_fragments): Likewise.
10977 (grub_net_recv_ip4_packets): New function.
10978 (grub_net_send_ip6_packet): Likewise.
10979 (grub_net_send_ip_packet): Likewise.
10980 (grub_net_recv_ip6_packets): Likewise.
10981 (grub_net_recv_ip_packets): Likewise.
10982 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
10983 (LINK_LAYER_CACHE_SIZE): New const.
10984 (link_layer_find_entry): New function.
10985 (grub_net_link_layer_add_address): Likewise.
10986 (grub_net_link_layer_resolve_check): Likewise.
10987 (grub_net_link_layer_resolve): Likewise.
10988 (grub_net_ipv6_get_slaac): Likewise.
10989 (grub_net_ipv6_get_link_local): Likewise.
10990 (grub_cmd_ipv6_autoconf): Likewise.
10991 (parse_ip): Handle one number representation.
10992 (parse_ip6): New functoion.
10993 (match_net): Handle IPv6.
10994 (grub_net_resolve_address): Handle IPv6 and DNS.
10995 (grub_net_resolve_net_address): Handle IPv6.
10996 (route_cmp): New function.
10997 (grub_net_route_address): Find best route.
10998 (grub_net_addr_to_str): Handle IPv6.
10999 (grub_net_addr_cmp): New function.
11000 (grub_net_add_addr): Register local route.
11001 (print_net_address): Handle net address.
11002 (grub_net_poll_cards): Retransmit TCP.
11003 (grub_net_poll_cards_idle_real): Likewise.
11004 (have_ahead): New function.
11005 (grub_net_seek_real): Use underlying seek.
11006 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
11007 * grub-core/net/tcp.c: New file.
11008 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
11009 (cmp): New function.
11010 (ack): Likewise.
11011 (tftp_receive): Handle unordered input.
11012 (destroy_pq): New function.
11013 (tftp_close): Close pq.
11014 * grub-core/net/udp.c: Put missing license header.
11015 (grub_net_udp_socket): New function.
11016 (udp_socket_register): Likewise.
11017 (grub_net_udp_close): Likewise.
11018 (grub_net_recv_udp_packet): Check checksum.
11019 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
11020 * include/grub/misc.h (grub_memchr): New function.
11021 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
11022 (grub_net_card_driver): Return buf in recv.
11023 (grub_net_slaac_mac_list): New struct.
11024 (grub_network_level_protocol_id): Add ipv6.
11025 (grub_net_network_level_addr): Likewise.
11026 (grub_net_network_level_net_addr): Likewise.
11027 (grub_net_app_protocol): Add seek.
11028 (grub_net_socket): Removed.
11029 (grub_net_sockets): Likewise.
11030 (grub_net_socket_register): Likewise.
11031 (grub_net_socket_unregister): Likewise.
11032 (FOR_NET_SOCKETS): Likewise.
11033 (grub_net_add_addr): Add const.
11034 (GRUB_NET_BOOTP_*): New enum.
11035 (grub_net_addr_cmp): New proto.
11036 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
11037 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
11038 (grub_net_hwaddr_to_str): NEw proto.
11039 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
11040 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
11041 (grub_dns_init): New proto.
11042 (grub_dns_fini): Likewise.
11043 (grub_net_tcp_retransmit): Likewise.
11044 (grub_net_link_layer_add_address): Likewise.
11045 (grub_net_link_layer_resolve_check): Likewise.
11046 (grub_net_link_layer_resolve): Likewise.
11047 (grub_net_dns_lookup): Likewise.
11048 (grub_net_add_dns_server): Likewise.
11049 (grub_net_remove_dns_server): Likewise.
11050 (GRUB_NET_TRIES): New const.
11051 (GRUB_NET_INTERVAL): Likewise.
11052 * include/grub/net/arp.h: Mostly rewritten.
11053 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
11054 * include/grub/net/ip.h: Mostly rewritten.
11055 * include/grub/net/netbuff.h: Indent.
11056 * include/grub/net/tcp.h: New file.
11057 * include/grub/net/udp.h: Mostly rewritten.
11058 * include/grub/priority_queue.h: New file.
11059 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
11060 (grub_swap_bytes64_compile_time): Likewise.
11061 (grub_cpu_to_be16_compile_time): Likewise.
11062 (grub_cpu_to_be32_compile_time): Likewise.
11063 (grub_cpu_to_be64_compile_time): Likewise.
11064 (grub_be_to_cpu64_compile_time): Likewise.
11065
215c1800
VS
110662011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
11067
11068 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
11069 UINT_TO_PTR with cast.
11070
c17e546c
VS
110712011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11072
11073 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
11074 don't use them.
11075
ff6b18b6
VS
110762011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11077
11078 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
11079 already there.
11080
70ffcc93
VS
110812011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11082
11083 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
11084 confusing ipxe.
11085
e5f4d260
VS
110862011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11087
11088 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
11089 Add missing const attribute.
11090 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
11091 Likewise.
11092 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
11093 Likewise.
11094
8e54b4b7
VS
110952011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11096
11097 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
11098 misaligned access.
11099 (serpent_setkey): Likewise.
11100 (serpent_encrypt_internal): Likewise.
11101 (serpent_decrypt_internal): Likewise.
11102 (serpent_encrypt): Don't put an alignment-increasing cast.
11103 (serpent_decrypt): Likewise.
11104 (serpent_test): Likewise.
11105
813c0a2b
VS
111062011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11107
11108 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
11109
f2b60fbd
VS
111102011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11111
11112 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
11113
11114 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
11115 grub_addr_t casts.
11116 (PTR_TO_UINT64): Likewise.
11117 (PTR_TO_UINT32): Likewise.
11118
5ef5c511
VS
111192011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11120
11121 * util/grub-mkimage.c (generate_image): Decrease the higher limit
11122 because of stack.
11123 * util/grub-setup.c (setup): Don't add redundancy past the higher load
11124 limit.
11125
c476e6df
VS
111262011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11127
11128 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
11129 text_width > available width a bit more gracefully.
11130
384ad7cc
VS
111312011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11132
11133 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
11134 current address calculation.
11135
96f8caf8
VS
111362011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11137
11138 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
11139 stack.
11140 (encode_block): Likewise.
11141
276b7a8b
VS
111422011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11143
11144 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
11145 certainety.
11146
e3fd394a
VS
111472011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11148
11149 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
11150 non-RS part to avoid RS messing with GDT.
11151 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
11152 Increase to suit in realmode routines.
11153
111542011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11155
11156 * grub-core/kern/i386/realmode.S: Increase alignment.
11157 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
11158
ee9c2e7a
VS
111592011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11160
11161 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
11162 be deterministic.
11163 (syndroms): Compute 0 syndrom.
11164 (rs_recover): Use 0 syndrom.
11165
7a7f7cc9
VS
111662011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11167
11168 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
11169
a14b16d1
VS
111702011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11171
11172 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
11173 brackets.
11174
9f59e9fc
VS
111752011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11176
ca1b552c
VS
11177 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
11178 account.
11179 (get_top_pad): Likewise.
11180 (get_right_pad): Likewise.
11181 (get_bottom_pad): Likewise.
11182
111832011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11184
11185 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 11186
e739d698
VS
111872011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11188
11189 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
11190 attribute as the structure isn't guaranteed to be properly aligned.
11191 (grub_efi_pci_device_path): Likewise.
11192 (grub_efi_pccard_device_path): Likewise.
11193 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
11194 specify the size of `memory_type'.
11195 (grub_efi_vendor_device_path): Likewise.
11196 (grub_efi_controller_device_path): Likewise.
11197 (grub_efi_acpi_device_path): Likewise.
11198 (grub_efi_expanded_acpi_device_path): Likewise.
11199 (grub_efi_atapi_device_path): Likewise.
11200 (grub_efi_scsi_device_path): Likewise.
11201 (grub_efi_fibre_channel_device_path): Likewise.
11202 (grub_efi_1394_device_path): Likewise.
11203 (grub_efi_usb_device_path): Likewise.
11204 (grub_efi_usb_class_device_path): Likewise.
11205 (grub_efi_i2o_device_path): Likewise.
11206 (grub_efi_mac_address_device_path): Likewise.
11207 (grub_efi_ipv4_device_path): Likewise.
11208 (grub_efi_ipv6_device_path): Likewise.
11209 (grub_efi_infiniband_device_path): Likewise.
11210 (grub_efi_uart_device_path): Likewise.
11211 (grub_efi_vendor_messaging_device_path): Likewise.
11212 (grub_efi_hard_drive_device_path): Likewise.
11213 (grub_efi_cdrom_device_path): Likewise.
11214 (grub_efi_vendor_media_device_path): Likewise.
11215 (grub_efi_file_path_device_path): Likewise.
11216 (grub_efi_protocol_device_path): Likewise.
11217 (grub_efi_piwg_device_path): Likewise.
11218 (grub_efi_bios_device_path): Likewise.
11219
cb8f88ea
VS
112202011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11221
11222 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
11223 (grub_ucs4_to_utf8_alloc): Likewise.
11224 (grub_ucs4_to_utf8): Likewise.
11225 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
11226 (grub_ucs4_to_utf8_alloc): Likewise.
11227
309e5352
VS
112282011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11229
11230 AFFS never uses unicode.
11231
11232 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
11233 (grub_latin1_to_utf8): New inline function.
11234 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
11235
e7987e1b
VS
112362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11237
11238 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
11239 overflow.
11240
efc2616e
VS
112412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11242
11243 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
11244 (grub_squash_dirent_header): Likewise.
11245 (read_chunk): Don't double swap.
11246 (grub_squash_iterate_dir): Fix swap sizes.
11247
3c349f5a
VS
112482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11249
11250 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
11251
b453412d
VS
112522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11253
11254 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
11255 (grub_hfs_iterate_dir): Likewise.
11256
12e9d4d1
VS
112572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11258
11259 Fix video on platforms where unaligned access is forbidden.
11260 Make several optimisations while on it.
11261
11262 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
11263 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11264 (grub_video_fbblit_replace_32bit_1bit): Likewise.
11265 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
11266 Disable.
11267 (grub_video_fbblit_replace_16bit_1bit):
11268 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11269 (grub_video_fbblit_replace_8bit_1bit): Likewise.
11270 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
11271 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
11272 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
11273 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
11274 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
11275 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
11276 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
11277 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
11278 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
11279 (grub_video_fbblit_replace_index_RGB888): Likewise.
11280 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
11281 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
11282 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
11283 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
11284 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
11285 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
11286 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
11287 Disable.
11288 (grub_video_fbblit_blend_XXX565_1bit):
11289 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11290 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
11291 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
11292 void *.
11293 * grub-core/video/fb/video_fb.c (common_blitter)
11294 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
11295 (grub_video_fb_create_render_target_from_pointer)
11296 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
11297 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
11298 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
11299 definition.
11300 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
11301
ace96609
VS
113022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11303
11304 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
11305 HH22 and HM10 relocations.
11306
fd261d73
VS
113072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11308
11309 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
11310
e59b7857
VS
113112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11312
11313 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
11314 allocation succeeded.
11315
9b4baaa4
VS
113162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11317
11318 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
11319 argument a u8 pointer. All users updated.
11320 Handle unaligned buffers.
11321
dc713193
VS
113222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11323
11324 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
11325 add_part to workaround compiler bug.
11326
30dd48c2
VS
113272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11328
11329 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
11330
0c6087a8
VS
113312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11332
11333 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
11334 Reserve alignment invariants.
11335 (grub_multiboot_load): Likewise.
11336 (retrieve_video_parameters): Likewise.
11337 (grub_multiboot_make_mbi): Likewise.
11338
c2e77777
VS
113392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11340
11341 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
11342 incorrect pointer.
11343
b70b6d11
VS
113442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11345
11346 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
11347 (grub_pata_pio_write): Likewise.
11348
02a2bf83
VS
113492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11350
11351 Add noreturn attributes and remove unreachable code.
11352
11353 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
11354 code.
11355 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
11356 code. Mark as noreturn.
11357 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
11358 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
11359 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
11360 unreachable code.
11361 * grub-core/kern/main.c (grub_main): Mark as noreturn.
11362 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
11363 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
11364 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
11365 * include/grub/kernel.h (grub_main): Mark as noreturn.
11366 * include/grub/reader.h (grub_rescue_run): Likewise.
11367
2019d09e
VS
113682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11369
11370 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
11371 redundant declaration.
11372
d1c501ee
VS
113732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11374
11375 * include/grub/net.h (grub_net_network_level_interfaces): Remove
11376 redundant declaration.
11377 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
11378
61664420
VS
113792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11380
11381 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
11382 to ensure alignment.
11383 (grub_hdparm_print_identify): Make argument uint16 * to ensure
11384 alignment. Ensure tmp alignment.
11385 (grub_cmd_hdparm): Ensure buf alignment.
11386 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
11387 to ensure alignment.
11388 (grub_ata_dumpinfo): Ensure text alignment.
11389 (grub_atapi_identify): Preserve alignment invariant.
11390 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
11391
0d51ee20
VS
113922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11393
11394 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
11395 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
11396 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
11397 * include/grub/misc.h (grub_reboot)
11398 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
11399 (grub_halt) [__mips__]: Likewise.
11400
753ef8c1
VS
114012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11402
11403 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
11404 Remove redundant declaration.
11405 (grub_mmap_get_post64): Likewise.
11406 (grub_mmap_get_upper): Likewise.
11407 (grub_mmap_get_lower): Likewise.
11408
85c85365
VS
114092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11410
11411 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
11412 uint32_t * to ensure alignment.
11413 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
11414
a23f2cc4
VS
114152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11416
93018f64
VS
11417 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
11418 uint16_t * to ensure alignment.
11419 (sun_pc_partition_map_iterate): Make `block' a union to ensure
11420 alignment.
11421
114222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11423
11424 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
11425 to ensure alignment.
11426 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
11427
58acccd6
VS
114282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11429
11430 * grub-core/fs/ntfs.c (u16at): Make into inline function.
11431 Handle unaligned pointers.
11432 (u32at): Likewise.
11433 (u64at): Likewise.
11434 (fixup): Use byte access instead of v16at.
11435 (find_attr): Fix imporper usage of v32at.
11436 (read_data): Likewise.
11437 (list_file): Handle byte-swapping and unaligned strings.
11438 (grub_ntfs_label): Likewise.
11439
9b05cad7
VS
114402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11441
11442 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
11443 as it's not necessarily aligned.
11444
b3950b84
VS
114452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11446
11447 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
11448 redundant declaration.
11449 (grub_serial_init): Likewise.
11450 (grub_terminfo_init): Likewise.
11451
fcd232b7
VS
114522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11453
11454 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
11455 function.
11456 (ZAP_HASH_IDX): Likewise.
11457 (ZAP_LEAF_HASH_SHIFT): Likewise.
11458 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
11459 (LEAF_HASH): Likewise.
11460 (ZAP_LEAF_NUMCHUNKS): Likewise.
11461 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
11462 alignment invariants. Return pointer. All users updated.
11463 (ZAP_LEAF_ENTRY): Make into inline function.
11464 (NBBY): Removed.
11465 (xor): LIkewise.
11466 (xor_out): Use grub_crypto_xor.
11467 (dnode_get_path): Use grub_get_unaligned.
11468 (nvlist_find_value): Likewise.
11469 (grub_zfs_nvlist_lookup_uint64): Likewise.
11470 (grub_zfs_nvlist_lookup_string): Likewise.
11471 (get_nvlist_size): Likewise.
11472 (grub_zfs_open): Likewise.
11473 (fill_fs_info): Likewise.
11474 (grub_zfs_dir): Likewise.
11475 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
11476 alignment invariants.
11477 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
11478 necessarily aligned.
11479
f138623a
VS
114802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11481
11482 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
11483
564840dc
VS
114842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11485
11486 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
11487 arithmetic to conserve alignment invariants.
11488
9b40df20
VS
114892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11490
11491 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
11492 redundant declaration.
11493 (grub_efiemu_mm_obtain_request): Likewise.
11494 (grub_efiemu_prepare): Likewise.
11495
d1c930f9
VS
114962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11497
11498 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
11499 to match types.
11500
4c5f3056
VS
115012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11502
11503 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
11504 case of aunaligned recptr.
11505 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
11506 alignment.
11507 (grub_hfsplus_btree_search): Handle unaligned index.
11508
728cba91
VS
115092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11510
11511 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
11512 to get freetag and skip.
11513
eb561f31
VS
115142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11515
11516 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
11517 array.
11518 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
11519 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
11520
20993fbb
VS
115212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11522
11523 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
11524 name for checksum and fix allocation algorithm.
11525
1f313b94
VS
115262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11527
11528 * include/grub/types.h (grub_properly_aligned_t): New type.
11529 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
11530 (grub_get_unaligned16): Add explicit casts.
11531 (grub_get_unaligned32): Likewise.
11532 (grub_get_unaligned64): Likewise.
11533 (grub_set_unaligned16): New function.
11534 (grub_set_unaligned32): Likewise.
11535
47ae27ec
VS
115362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11537
11538 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
11539
78c2cd1c
VS
115402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11541
11542 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
11543 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
11544 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
11545
53072f9b
VS
115462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11547
11548 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
11549 conditionals.
11550
055dc239
VS
115512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11552
11553 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
11554 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
11555
496bd074
VS
115562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11557
11558 Unify and improve RAID and crypto xor.
11559
11560 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
11561 changed to grub_crypto_xor
11562 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
11563 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
11564 Use bigger types when possible.
11565
ef6e4335
VS
115662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11567
11568 * grub-core/disk/raid.c (scan_devices): Fix condition.
11569
5d048bf2
VS
115702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11571
11572 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
11573 Make name a const ptr.
11574
ee533335
VS
115752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11576
11577 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
11578 first argument a const pointer.
11579 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
11580 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
11581 proto.
11582 (grub_children_iterate): Likewise.
11583 (grub_machine_mmap_iterate): Remove redundant declaration.
11584
cc8f3668
VS
115852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11586
11587 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
11588 (grub_cmd_acpi) [!x86]: Disable EBDA.
11589
c5fc563a
VS
115902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11591
11592 Enable UTF8 in gnulib regexp.
11593
11594 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
11595 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
11596 (isupper): Use grub_isupper.
11597 (isascii): New inline function.
11598 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
11599 * grub-core/lib/posix_wrap/wctype.h: Likewise.
11600 * grub-core/normal/charset.c (grub_utf8_process): New function.
11601 (grub_utf8_to_utf16): Use grub_utf8_process.
11602 (grub_encode_utf8_character): New function.
11603 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
11604 * include/grub/charset.h (grub_utf8_process): New declaration.
11605 (grub_encode_utf8_character): Likewise.
11606 * include/grub/misc.h (grub_islower): New inline function.
11607 (grub_isupper): Likewise.
11608 (grub_strchrsub): Moved down to fix the definitions.
11609
0af2346f
VS
116102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11611
11612 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
11613 specification.
11614
74dbd244
VS
116152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11616
11617 * include/grub/loader.h (grub_loader_register_preboot_hook):
11618 Use struct preboot * and not void * for handle. All users updated.
11619 (grub_loader_unregister_preboot_hook): Likewise.
11620
1bc8f60d
VS
116212011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
11622
11623 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
11624 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
11625 UTF-16-BE. All users updated.
11626 (grub_hfsplus_cmp_catkey): Fix unicode handling.
11627 (grub_hfsplus_iterate_dir): Likewise.
11628 (grub_hfsplus_label): Likewise.
11629
48d6e456
VS
116302011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
11631
11632 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
11633
bf3a3857
VS
116342011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
11635
11636 Add missing const qualifiers.
11637
11638 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
11639 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
11640 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
11641 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
11642 (grub_lvm_check_flag): Likewise.
11643 * grub-core/efiemu/i386/coredetect.c
11644 (grub_efiemu_get_default_core_name): Likewise
11645 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
11646 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
11647 * grub-core/fs/ntfs.c (fixup): Likewise.
11648 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
11649 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
11650 (fzap_lookup): Likewise.
11651 (zap_lookup): Likewise.
11652 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
11653 * grub-core/lib/legacy_parse.c (check_option): Likewise.
11654 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
11655 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
11656 (grub_freebsd_add_meta_module): Likewise.
11657 (grub_cmd_freebsd_module): Likewise.
11658 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
11659 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
11660 (grub_xnu_writetree_get_size): Likewise.
11661 (grub_xnu_writetree_toheap_real): Likewise.
11662 (grub_xnu_find_key): Likewise.
11663 (grub_xnu_create_key): Likewise.
11664 (grub_xnu_create_value): Likewise.
11665 (grub_xnu_register_memory): Likewise.
11666 (grub_xnu_check_os_bundle_required): Likewise.
11667 (grub_xnu_scan_dir_for_kexts): Likewise.
11668 (grub_xnu_load_kext_from_dir): Likewise.
11669 * grub-core/normal/color.c (color_list): Likewise.
11670 * grub-core/normal/completion.c (current_word): Likewise.
11671 * grub-core/normal/menu_entry.c (insert_string): Likewise.
11672 * grub-core/term/serial.c (grub_serial_find): Likewise.
11673 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
11674 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
11675 Likewise.
11676 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
11677 (grub_freebsd_add_meta_module): Likewise.
11678 * include/grub/lib/arg.h (grub_arg_option): Likewise.
11679 * include/grub/net.h (grub_net_card_driver): Likewise.
11680 (grub_net_card): Likewise.
11681 (grub_net_app_protocol): Likewise.
11682 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
11683 * include/grub/serial.h (grub_serial_find): Likewise.
11684 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
11685 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
11686 (grub_xnu_create_value): Likewise.
11687 (grub_xnu_find_key): Likewise.
11688 (grub_xnu_scan_dir_for_kexts): Likewise.
11689 (grub_xnu_load_kext_from_dir): Likewise.
11690
11691 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
11692 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
11693 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
11694 Moved from here ...
11695 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
11696
112b4837
CW
116972011-11-28 Colin Watson <cjwatson@ubuntu.com>
11698
11699 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
11700
49e891ac
VS
117012011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
11702
11703 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
11704 (read_device): Fix size calculation.
11705
fd258e5c
RM
117062011-11-25 Robert Millan <rmh@gnu.org>
11707
11708 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
11709 (find_root_device_from_libzfs): Add zpool output parser to be used
11710 as fallback when libzfs isn't available.
11711
78845dc2
SG
117122011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
11713
11714 * po/Makefile.in.in: Add missing escape-continuation.
11715
adac5211
VS
117162011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
11717
11718 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
11719
10b64f1c
VS
117202011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11721
11722 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
11723
bb416954
VS
117242011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11725
11726 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
11727
bdfe9eeb
VS
117282011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11729
11730 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
11731
581ffa8a
VS
117322011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11733
11734 * grub-core/lib/adler32.c: Add missing license specification.
11735 * grub-core/lib/crc64.c: Likewise.
11736 * grub-core/loader/i386/pc/plan9.c: Likewise.
11737 * grub-core/partmap/plan.c: Likewise.
11738
2536cf64
LK
117392011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
11740
11741 Add facility to debug GRUB with gdb under qemu.
11742
11743 * grub-core/gdb_grub.in: New file.
11744 * grub-core/gmodule.pl.in: Likewise.
11745 * grub-core/Makefile.core.def (gmodule.pl): New script.
11746 (gdb_grub): Likewise.
11747
bc108a4a
VS
117482011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11749
11750 * util/grub-mount.c (argp_parser): Accept relative pathes.
11751 * util/grub-fstest.c (argp_parser): Likewise.
11752
111c1778
VS
117532011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11754
11755 Plan9 support.
11756
11757 * Makefile.util.def (libgrubmods): Add
11758 grub-core/partmap/plan.c.
11759 * docs/grub.texi: Notice Plan9 support.
11760 * grub-core/Makefile.core.def (plan9): New module.
11761 (part_plan): Likewise.
11762 * grub-core/loader/i386/pc/plan9.c: New file.
11763 * grub-core/partmap/plan.c: Likewise.
11764 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
11765 define.
11766 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
11767 * include/grub/mm.h (grub_extend_alloc): New inline function.
11768
c30be3b6
VS
117692011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11770
11771 Make Reed-Solomon faster by using power of generator representation of
11772 GF(256)*.
11773
11774 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
11775 (gf_double_t): Likewise.
11776 (gf_invert): Removed.
11777 (gf_powx): New array.
11778 (gf_powx_inv): Likewise.
11779 (scratch): Move higher.
11780 (gf_reduce): Removed.
11781 (gf_mul): Use powx.
11782 (gf_invert): Likewise.
11783 (init_inverts): Replaced with ...
11784 (init_powx): ...this. All users updated.
11785 (pol_evaluate): Replace multiplications with additions.
11786 (rs_encode): Likewise.
11787 (gauss_eliminate): Call gf_invert.
11788 (grub_reed_solomon_add_redundancy): Call init_powx.
11789 (grub_reed_solomon_recover): Call init_powx unconditionally.
11790
fa5aeffc
VS
117912011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11792
11793 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
11794
a346b81c
VS
117952011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11796
11797 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
11798 disk->partiton for safety.
11799
d89ee414
VS
118002011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11801
11802 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
11803 Fix a memory leak.
11804 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
11805
91ee7b6d
VS
118062011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11807
11808 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
11809
91e5a33d
VS
118102011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11811
11812 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
11813
9edd7be2
VS
118142011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11815
11816 Fix spaces handling in proc/self/mountinfo.
11817
11818 * util/getroot.c (unescape): New function.
11819 (grub_find_root_device_from_mountinfo): Use unescape.
11820
ba102053
VS
118212011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11822
11823 Support ZFS embedding.
11824
11825 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
11826 (grub_zfs_fs): Register grub_zfs_embed.
11827
aa94b870
VS
118282011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11829
11830 Fix MIPS compilation.
11831
11832 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
11833 * include/grub/offsets.h: Rename decompressor fields from
11834 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
11835 * util/grub-mkimage.c (image_targets): Use new names.
11836
5fbdac14
VS
118372011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11838
11839 Defer multiboot device parsing until we're in compressed part.
11840
11841 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
11842 bsd_part. setdevice has fallen into disuse.
11843 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
11844 (bsd_part): Likewise.
11845 (boot_dev): New variable.
11846 (multiboot_trampoline): Don't parse multiboot device.
11847 Pass multiboot device in %edx.
11848 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
11849 grub_boot_device.
11850 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
11851 Likewise.
11852 * grub-core/kern/i386/pc/startup.S: Save edx.
11853 (grub_boot_drive): Removed.
11854 (grub_install_dos_part): Likewise.
11855 (grub_install_bsd_part): Likewise.
11856 (grub_boot_device): New variable.
11857 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
11858 (grub_install_bsd_part): Likewise.
11859 (grub_boot_drive): Likewise.
11860 (grub_boot_device): New variable.
11861 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
11862 Removed.
11863 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
11864 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
11865 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
11866 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
11867 * util/grub-install.in: Remove redundant condition.
11868
691cbb58
VS
118692011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11870
11871 Fix bug introduced by previous commit.
11872
11873 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
11874
60240b8b
VS
118752011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11876
11877 Use decompressors framework on i386-pc. It increases core size
11878 by 46 bytes but improves compatibility and maintainability.
11879
11880 * grub-core/Makefile.core.def (lzma_decompress): New image.
11881 (kernel): Add i386_pc_ldflags.
11882 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
11883 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
11884 to real_to_prot, prot_to_real and device info.
11885 * include/grub/offsets.h: Renamed decompressor offsets.
11886 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
11887 (image_target_desc): Remove raw_size and rename decompressor fields.
11888 (compress_kernel): Handle lzma.
11889 (generate_image): Handle decompressors on i386-pc.
11890
e9d3421c
VS
118912011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11892
11893 * configure.ac: Add -fno-asynchronous-unwind-tables.
11894
2b23074a
VS
118952011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11896
11897 Move assembly code to C by using intwrap. It increases core size
11898 by 88 bytes but improves compatibility and maintainability.
11899
11900 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
11901 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
11902 ... here. Translated to C.
11903 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
11904 * grub-core/term/i386/pc/console.c (grub_console_getkey):
11905 ... here. Translated to C.
11906 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
11907 * grub-core/term/i386/pc/console.c (grub_console_getxy):
11908 ... here. Translated to C.
11909 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
11910 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
11911 ... here. Translated to C.
11912 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
11913 * grub-core/term/i386/pc/console.c (grub_console_cls):
11914 ... here. Translated to C.
11915 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
11916 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
11917 ... here. Translated to C.
11918 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
11919 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
11920 Translated to C.
11921 * grub-core/term/i386/pc/console.c (int10_9): New function.
11922 (grub_console_putchar): Likewise.
11923 * include/grub/i386/pc/console.h: Removed the not anymore shared
11924 functions.
11925
678f4b67
VS
119262011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11927
11928 Move grub_chainloader_real_boot out of the kernel.
11929
11930 * grub-core/Makefile.am: Remove machine/loader.h.
11931 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
11932 Removed.
11933 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
11934 variable.
11935 (grub_relocator16_keep_a20_enabled): Likewise.
11936 (grub_relocator16_boot): Fill new variables.
11937 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
11938 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
11939 relocator.
11940 (grub_chainloader_unload): Likewise.
11941 (grub_chainloader_cmd): Likewise.
11942 * include/grub/i386/pc/loader.h: Removed.
11943 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
11944 and esi. All initialisers updated.
11945
4626edf6
VS
119462011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
119472011-11-12 Colin Watson <cjwatson@ubuntu.com>
11948
11949 * Makefile.util.def (grub-mount): New util.
11950 * .bzrignore: Add grub-mount.
11951 * configure.ac: Check for fuse and enable grub-mount if available.
11952 * docs/man/grub-mount.h2m: New file.
11953 * util/grub-mount.c: Likewise.
11954
10f0117b
VS
119552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11956
11957 * grub-core/commands/efi/fixvideo.c: Gettextize.
11958 * grub-core/commands/hashsum.c: Likewise.
11959 * grub-core/commands/i386/cmostest.c: Likewise.
11960 * grub-core/commands/i386/pc/drivemap.c: Likewise.
11961 * grub-core/commands/i386/pc/lsapm.c: Likewise.
11962 * grub-core/commands/i386/pc/sendkey.c: Likewise.
11963 * grub-core/commands/lsmmap.c: Likewise.
11964 * grub-core/commands/menuentry.c: Likewise.
11965 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
11966 * grub-core/commands/setpci.c: Likewise.
11967 * grub-core/loader/i386/bsd.c: Likewise.
11968 * grub-core/loader/i386/linux.c: Likewise.
11969 * util/getroot.c: Likewise.
11970 * util/grub-editenv.c: Likewise.
11971 * util/grub-fstest.c: Likewise.
11972 * util/grub-mkfont.c: Likewise.
11973 * util/grub-mkimage.c: Likewise.
11974 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11975 * util/grub-pe2elf.c: Likewise.
11976 * util/grub-probe.c: Likewise.
11977 * util/grub-setup.c: Likewise.
11978 * util/ieee1275/ofpath.c: Likewise.
11979 * util/misc.c: Likewise.
11980 * util/raid.c: Likewise.
11981
566f779b
RM
119822011-11-11 Robert Millan <rmh@gnu.org>
11983
11984 * util/getroot.c (grub_util_get_geom_abstraction): Remove
11985 __attribute__((unused)) from `os_dev', which *is* being used.
11986
b50787de
VS
119872011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11988
11989 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
11990 forgotten define.
11991 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
11992 GRUB_IA64_DL_GOT_ALIGN.
11993 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
11994 GRUB_IA64_DL_TRAMP_ALIGN.
11995
119d11c8
VS
119962011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11997
11998 Replace grub_fatal with normal errors in i386 linux loader.
11999
12000 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
12001 (allocate_pages): Check find_efi_mmap_size return value.
12002 (grub_e820_add_region): Return error.
12003 (grub_linux_boot): Check mmap return value.
12004
6e0632e2
VS
120052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12006
12007 * grub-core/commands/acpihalt.c: Gettextized.
12008 * grub-core/commands/cacheinfo.c: Likewise.
12009 * grub-core/commands/cmp.c: Likewise.
12010 * grub-core/commands/efi/loadbios.c: Likewise.
12011 * grub-core/commands/gptsync.c: Likewise.
12012 * grub-core/commands/ieee1275/suspend.c: Likewise.
12013 * grub-core/commands/legacycfg.c: Likewise.
12014 * grub-core/commands/memrw.c: Likewise.
12015 * grub-core/commands/minicmd.c: Likewise.
12016 * grub-core/commands/parttool.c: Likewise.
12017 * grub-core/commands/time.c: Likewise.
12018 * grub-core/commands/videoinfo.c: Likewise.
12019 * grub-core/disk/geli.c: Likewise.
12020 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
12021 * grub-core/disk/luks.c: Likewise.
12022 * grub-core/disk/lvm.c: Likewise.
12023 * grub-core/font/font_cmd.c: Likewise.
12024 * grub-core/fs/zfs/zfscrypt.c: Likewise.
12025 * grub-core/fs/zfs/zfsinfo.c: Likewise.
12026 * grub-core/gfxmenu/view.c: Likewise.
12027 * grub-core/kern/emu/hostdisk.c: Likewise.
12028 * grub-core/kern/emu/main.c: Likewise.
12029 * grub-core/kern/emu/misc.c: Likewise.
12030 * grub-core/kern/emu/mm.c: Likewise.
12031 * grub-core/kern/mips/arc/init.c: Likewise.
12032 * grub-core/kern/mips/loongson/init.c: Likewise.
12033 * grub-core/kern/partition.c: Likewise.
12034 * grub-core/lib/i386/halt.c: Likewise.
12035 * grub-core/lib/mips/arc/reboot.c: Likewise.
12036 * grub-core/lib/mips/loongson/reboot.c: Likewise.
12037 * grub-core/loader/i386/pc/chainloader.c: Likewise.
12038 * grub-core/loader/i386/xnu.c: Likewise.
12039 * grub-core/loader/multiboot.c: Likewise.
12040 * grub-core/net/bootp.c: Likewise.
12041 * grub-core/net/net.c: Likewise.
12042 * grub-core/normal/term.c: Likewise.
12043 * grub-core/partmap/bsdlabel.c: Likewise.
12044 * grub-core/parttool/msdospart.c: Likewise.
12045 * grub-core/term/gfxterm.c: Likewise.
12046 * grub-core/term/terminfo.c: Likewise.
12047 * grub-core/video/i386/pc/vbe.c: Likewise.
12048 * util/grub-menulst2cfg.c: Likewise.
12049 * util/grub-mkdevicemap.c: Likewise.
12050 * util/grub-mklayout.c: Likewise.
12051 * util/grub-mkrelpath.c: Likewise.
12052 * util/grub-script-check.c: Likewise.
12053 * util/ieee1275/grub-ofpathname.c: Likewise.
12054 * util/resolve.c: Likewise.
12055
073aa7a9
VS
120562011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12057
12058 Support %1$d syntax.
12059
12060 * tests/printf_unit_test.c: New file.
12061 * Makefile.util.def (printf_test): New test.
12062 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
12063
c76b5417
VS
120642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12065
12066 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
12067 fix.
12068
df067ad1
VS
120692011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12070
12071 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
12072 dprintf.
12073 * grub-core/font/font.c (grub_font_load): Likewise.
12074
5b289bc5
VS
120752011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12076
12077 * util/grub-macho2img.c: Add comment concerning gettext.
12078 * grub-core/lib/legacy_parse.c: Likewise.
12079
c1860f87
VS
120802011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12081
12082 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
12083 (grub_xvasprintf): Likewise.
12084
d35d0d37
VS
120852011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12086
12087 Add const keyword to grub_env_get and gettextize week days.
12088
12089 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
12090 (grub_read_hook_datetime): Return const char *.
12091 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
12092 updated.
12093 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
12094 Mark for gettext.
12095 (grub_get_weekday_name): Return const char *. Call gettext.
12096 * grub-core/script/argv.c (grub_script_argv_append): Receive const
12097 char * and len as the argument. All users updated.
12098 (grub_script_argv_split_append): Receive const char *.
12099 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
12100 * include/grub/env.h (grub_env_get): Likewise.
12101 (grub_env_read_hook_t): Return const char *.
12102 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
12103 (grub_script_argv_split_append): Likewise.
12104
9aed8a71
VS
121052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12106
12107 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
12108
067fdf00
VS
121092011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12110
12111 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
12112 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
12113
a8bd9d39
VS
121142011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12115
12116 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
12117 Fix prototype.
12118
f7ce5baf
VS
121192011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12120
12121 Fix mips compilation.
12122
12123 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
12124 normal decoder.
12125 (hashes): Use in embed decoder as well (for sizes).
12126 (dec_stream_header): Fix embed decompressor logic.
12127 (dec_stream_footer): Likewise.
12128
9bb182f3
VS
121292011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12130
12131 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
12132 an error and not a fatal on unrecognised relocation types.
12133
63a9e6f6
VS
121342011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12135
12136 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
12137 Issue error rather than printf on unknown arguments.
12138
4c458569
VS
121392011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12140
12141 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
12142 Make buf a const.
12143
e2d22baf
VS
121442011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12145
12146 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
12147 Fix module name.
12148
53dc8590
VS
121492011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12150
12151 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
12152 leftover debug printf.
12153
6c189294
VS
121542011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12155
12156 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
12157
f7688369
VS
121582011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12159
12160 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
12161 A stylistic fix.
12162
11a775a3
VS
121632011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12164
12165 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
12166
33f784e8
SL
121672011-11-10 Shea Levy <slevy@tieronedesign.com>
12168
12169 Allow all modules to perform serial IO
12170
12171 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
12172 * include/grub/serial.h (grub_serial_port_configure): New inline
12173 function.
12174 (grub_serial_port_fetch): Likewise.
12175 (grub_serial_port_put): Likewise.
12176 (grub_serial_port_fini): Likewise.
12177 (grub_serial_find): New proto.
12178
f6276525
VS
121792011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12180
12181 Put symlink at the end of the node and fix a potential
12182 memory corruption.
12183
12184 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
12185 Make symlink into an array.
12186 (set_rockridge): Set have_symlink and alloc_dirents.
12187 (grub_iso9660_read_symlink): Use new layout.
12188 (grub_iso9660_iterate_dir): Fix memory corruption.
12189 Use new layout.
12190 (grub_iso9660_dir): Set have_symlink.
12191 (grub_iso9660_open): Likewise.
12192
c3591189
VS
121932011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12194
12195 Remove local keyword.
12196
12197 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
12198 (version_test_gt): Likewise.
12199 (version_find_latest): Likewise.
12200 (gettext_printf): Likewise.
12201 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
12202
cb544caa
VS
122032011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12204
12205 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
12206
45bd824d
VS
122072011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12208
12209 Fix ZFS memory and resource leaks.
12210
12211 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
12212 All users updated.
12213 Free type on exit.
12214 (fill_vdev_info): New parameter inserted. All users updated.
12215 (check_pool_label): Likewise.
12216 (scan_disk): Likewise.
12217 (scan_devices): Close non-inserted disks.
12218 (fzap_iterate): Free l.
12219 (unmount_device): Free children descripto memory.
12220
ad9a2f44
VS
122212011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12222
12223 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
12224 argument (access out of bounds).
12225
6b68db81
VS
122262011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12227
12228 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
12229 >= 6 drives.
12230
28840fda
VS
122312011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12232
12233 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
12234 Fix declaration.
12235
8a5a3a5b
VS
122362011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12237
12238 Fix several memory leaks.
12239
12240 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
12241 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
12242 (grub_cpio_dir): Likewise.
12243 * grub-core/fs/fat.c (grub_fat_label): Likewise.
12244 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
12245 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
12246 (grub_romfs_label): Likewise.
12247 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
12248 (squash_unmount): New function.
12249 (grub_squash_dir): Fix memory leak.
12250 (grub_squash_open): Likewise.
12251 (grub_squash_read): Likewise.
12252 (grub_squash_mtime): Likewise.
12253 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
12254 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
12255 * util/grub-fstest.c (fstest): Likewise.
12256
57b01250
VS
122572011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12258
12259 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
12260 avoid accessing beyond the array.
12261
19e81ba7
VS
122622011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12263
12264 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
12265
52b656c0
VS
122662011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12267
12268 Several AFFS fixes.
12269
12270 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
12271 (GRUB_AFFS_FLAG_FFS): Removed.
12272 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
12273 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
12274 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
12275 (grub_fshelp_node): Make block 32-bit.
12276 Add block_cache and last_block_cache.
12277 (grub_affs_read_block): Fill and use block cache.
12278 (grub_affs_read_file): Removed.
12279 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
12280 boot block.
12281 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
12282 safety.
12283 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
12284 space.
12285 (grub_affs_close): Free block cache.
12286 (grub_affs_read): Use grub_fshelp_read_file directly.
12287
438a746a
VS
122882011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12289
12290 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
12291 with no error set.
12292
49a45021
VS
122932011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12294
12295 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
12296 used variable.
12297 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
12298 Likewise.
12299
3ae17eb8
VS
123002011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12301
12302 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
12303
12304 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
12305 byteswap when needed.
12306
27610c38
VS
123072011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12308
12309 Fix FreeBSD compilation.
12310
12311 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
12312 to avoid circular dependency.
12313 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
12314 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
12315 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
12316
4a19b601
VS
123172011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12318
12319 Fix ZFS crypto error types.
12320
12321 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
12322 (grub_gcm_decrypt): Likewise.
12323 (grub_zfs_load_key_real): Fix error code type. Handle possible error
12324 from PBKDF2.
12325
958ee221
VS
123262011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12327
12328 Illumos support.
12329
12330 * Makefile.util.def (10_illumos): New script.
12331 * configure.ac: Set COND_HOST_ILLUMOS.
12332 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
12333 Support Illumos calls.
12334 (find_partition_start) [__sun__]: Likewise.
12335 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
12336 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
12337 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
12338 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
12339 device.
12340 * util/grub-probe.c (probe) [__sun__]: Do character check.
12341 * util/grub.d/10_illumos.in: New file.
12342
cac14fb6
VS
123432011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12344
12345 Support escaped commas in hostdisk.
12346
12347 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
12348 (find_grub_drive): Use unescape_cmp.
12349 (make_device_name): Escape commas.
12350
78e08dc3
VS
123512011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12352
12353 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
12354
9f421dd1
VS
123552011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12356
12357 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
12358 variable.
12359
ed64e9e2
VS
123602011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12361
12362 Support trampoline jumps on powerpc.
12363
12364 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
12365 __ia64__ path.
12366 (grub_dl_load_segments): Set mod->sz.
12367 (grub_dl_flush_cache): Flush whole space occupied by module, not just
12368 segments.
12369 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
12370 (jump): Likewise.
12371 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
12372 function.
12373 (trampoline): New struct.
12374 (trampoline_template): New const.
12375 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
12376 * include/grub/dl.h (grub_dl): Add sz element.
12377 [__powerpc__]: Follow __ia64__.
12378 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
12379 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
12380 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
12381 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
12382
3084ede4
VS
123832011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12384
12385 ZFS crypto support.
12386
12387 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
12388 * grub-core/Makefile.core.def (zfscrypt): New module.
12389 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
12390 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
12391 it. All users updated.
12392 (grub_zfs_decrypt): New var.
12393 (grub_zfs_load_key): Likewise.
12394 (zio_checksum_functions): Add SHA256+MAC.
12395 (zio_checksum_verify): Handle incomplete comparison due to MAC.
12396 (zio_read): Handle encrypted blocks.
12397 (zap_verify): Remove incorrect check.
12398 (fzap_iterate): Handle non-standard fzap.
12399 (zap_iterate): Likewise.
12400 (zap_iterate_u64): New function.
12401 (dnode_get_fullpath): Load keys.
12402 * grub-core/fs/zfs/zfscrypt.c: New file.
12403 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
12404 (grub_crypto_ecb_encrypt): Make input const.
12405 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
12406 (grub_crypto_ecb_encrypt): Make input const.
12407 (GRUB_CIPHER_AES): New macro.
12408 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
12409 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
12410 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
12411 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
12412 prefix. All users updated.
12413 (grub_zfs_add_key): New proto.
12414 (grub_zfs_decrypt): Likewise.
12415 (grub_zfs_load_key): Likewise.
12416 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
12417 * util/grub-fstest.c (options): Add -K option.
12418 (argp_parser): Likewise.
12419
b632b404
VS
124202011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12421
12422 Support zle compression on ZFS.
12423
12424 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
12425 (decomp_table): Add zle.
12426 * include/grub/zfs/zio.h (zio_compress): Add zle.
12427
c7ba4f69
VS
124282011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12429
12430 Support BtrFS embedding.
12431
12432 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
12433 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
12434 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
12435 * util/grub-setup.c (setup): Use fs embedding if available.
12436 Add additional sanity check.
12437
455377d9
VS
124382011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12439
12440 * util/grub-install.in: Fix condition for config_opt.
12441
c2fd16ca
VS
124422011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12443
12444 Support third redundancy strip on raidz3.
12445
12446 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
12447 Return error on singularity. All users updated.
12448 (read_device): Don't stop on 3rd failure on raidz3.
12449
8622923b
VS
124502011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12451
12452 Support case-insensitive ZFS subvolumes.
12453
12454 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
12455 All users updated.
12456 (zap_hash): Likewise.
12457 (name_cmp): New function.
12458 (zap_leaf_array_equal): New parameter case_insensitive.
12459 All users updated.
12460 (zap_leaf_lookup): Likewise.
12461 (fzap_lookup): Likewise.
12462 (zap_lookup): Likewise.
12463 (dnode_get_path): New parameter case_insensitive. Retrieve case
12464 sensitiviness of a volume. All users updated.
12465 (dnode_get_fullpath): New parameter case_insensitive.
12466 All users updated.
12467 (grub_zfs_dir): Set info.case_insensitiveness.
12468
95f2e860
VS
124692011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12470
12471 Support second redundancy strip on raidz(2,3).
12472
12473 * grub-core/fs/zfs/zfs.c (powx): New array.
12474 (powx_inv): Likewise.
12475 (poly): New const.
12476 (xor_out): New function.
12477 (gf_mul): Likewise.
12478 (recovery): Likewise.
12479 (read_device): Use second redundancy strip.
12480
11ee4389
VS
124812011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12482
12483 Use a power of generator representation of GF(256) multiplication group
12484 to save space time and complexity.
12485
12486 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
12487 (raid6_table2): Likewise.
12488 (powx): New array.
12489 (powx_inv): Likewise.
12490 (poly): New const.
12491 (grub_raid_block_mul): Replace with ...
12492 (grub_raid_block_mulx): ...this.
12493 (grub_raid6_init_table): Rewritten.
12494 (grub_raid6_recover): Use power of generator representation.
12495
09e2763f
VS
124962011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12497
12498 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
12499 for the right device.
12500
8bec9a28
VS
125012011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12502
12503 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
12504 expected by grub-mkimage and it's more clear since there is no implicit
12505 padding.
12506
dbd3a32e
VS
125072011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12508
12509 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
12510 disk.
12511 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
12512
182c872a
PMH
125132011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
12514
12515 * util/grub-mkrescue.in: Fix handling xorriso option.
12516
1e51cabd
VS
125172011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12518
12519 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
12520 NULL.
12521
9cc3581d 125222011-11-03 crocket <crockabiscuit@gmail.com>
12523
12524 * util/grub.d/10_linux.in: Add Slackware initrd naming.
12525
158dc1ea
VS
125262011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12527
12528 XZ CRC64 and SHA256 support.
12529
12530 * Makefile.util.def (libgrubmods): Add crc64.c.
12531 * grub-core/Makefile.core.def (crc64): New module.
12532 * grub-core/lib/crc64.c: New file.
12533 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
12534 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
12535 Fix the type.
12536 (MAX_HASH_SIZE): New define.
12537 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
12538 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
12539 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
12540 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
12541 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
12542 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
12543 Handle non-crc32 hashes.
12544 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
12545 (dec_stream_header): Handle non-crc32 hashes.
12546 (dec_stream_footer): Likewise.
12547 (dec_block_header): Likewise.
12548 (dec_main): Likewise.
12549 (xz_dec_init): Likewise.
12550 (xz_dec_reset): Likewise.
12551 (xz_dec_end): Likewise.
12552 * util/import_gcry.py: Add CRC64 line.
12553
9d9b3d2f
VS
125542011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12555
12556 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
12557 as well.
12558
7d0ac931
VS
125592011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12560
12561 Make reiserfs label retrieval similar to other *_label functions.
12562
12563 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
12564 (REISERFS_MAX_LABEL_LENGTH): Removed.
12565 (REISERFS_LABEL_OFFSET): Likewise.
12566 (grub_reiserfs_label): Rewritten.
12567
125682011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12569
12570 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
12571 field.
12572
cf5ba824
VS
125732011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12574
12575 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
12576
17744004
VS
125772011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
12578
12579 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
12580 drive failure on both raidz and raidz2.
12581
aca5aefc
VS
125822011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
12583
12584 Fix RAIDZ(2) for >= 5 devices.
12585
12586 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
12587 asize argument. All users updated.
12588
ce8ca56e
VS
125892011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12590
12591 Fix RAIDZ(2).
12592
12593 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
12594 (fill_vdev_info_real): Set ashift.
12595 (read_device): Rewrite RAIDZ part based on reverse engineering.
12596
7c01e783
VS
125972011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12598
12599 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
12600 don't report potentially unavialiable fields in debug output.
12601 (find_path): Fix double-free and memory leak.
12602
ce109e84
VS
126032011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12604
12605 Read label on UFS1.
12606
12607 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
12608 (grub_ufs_fs): Always set .label.
12609
87661123
VS
126102011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12611
12612 Use shifts in UFS.
12613
12614 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
12615 (grub_ufs_data): New field log2_blksz.
12616 (grub_ufs_read_file): Use shifts.
12617 (grub_ufs_mount): Check block size and logarithm it.
12618
46bc1dc2
VS
126192011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12620
12621 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
12622 long symlinks.
12623
19ee2987
VS
126242011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12625
12626 Handle symlinks and long names on tar and cpio.
12627
12628 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
12629 (ATTR_FILE): Likewise.
12630 (ATTR_DIR): Likewise.
12631 (ATTR_LNK): Likewise.
12632 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
12633 (grub_cpio_find_file): Fill mode, handle linkname field as well as
12634 L and K entries.
12635 (grub_cpio_mount): Zero-fill data.
12636 (handle_symlink): New function.
46bc1dc2
VS
12637 (grub_cpio_dir): Handle symlinks.
12638 (grub_cpio_open): Likewise.
12639 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 12640
c83a08d8
VS
126412011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12642
12643 Fix iso9660 filename limitations and fix memory leaks.
12644
12645 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
12646 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
12647
45cdd3ea
VS
126482011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12649
12650 Fix JFS file name length limitations.
12651
12652 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
12653 (grub_jfs_diropen): Fix maximum filename length.
12654 (grub_jfs_getent): Fix filename length.
12655 (grub_jfs_lookup_symlink): Fix size checks.
12656
94ef05c2
VS
126572011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12658
12659 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
12660 string.
12661
785ab8c7
VS
126622011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12663
eb0b6b45
VS
12664 Leverage BFS implementation to read AFS.
12665
12666 * Makefile.util.def (libgrubmods): Add afs.c.
12667 * grub-core/Makefile.core.def (afs): New module
12668 * grub-core/fs/afs.c: New file.
12669 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
12670
126712011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12672
12673 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 12674
c4a1628f
VS
126752011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12676
12677 * grub-core/fs/bfs.c: Run indent.
12678
5825b379
VS
126792011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12680
12681 BFS implementation based on the specification.
12682
12683 * grub-core/fs/bfs.c: New file.
12684 * Makefile.util.def (libgrubmods): Add bfs.c.
12685 * grub-core/Makefile.core.def (bfs): New module.
12686
42b2a706
VS
126872011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12688
12689 * util/grub-fstest.c (cmd_cp): Clarify error message.
12690 (cmd_cmp): Likewise.
12691
61b99bfc
YB
126922011-10-30 Yves Blusseau <blusseau@zetam.org>
12693
12694 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
12695 and befs_be.
12696
faba3d16
VS
126972011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
12698
12699 Remove afs and befs because of copyright problem.
12700
12701 * grub-core/fs/afs.c: Removed.
12702 * grub-core/fs/afs_be.c: Removed.
12703 * grub-core/fs/befs.c: Removed.
12704 * grub-core/fs/befs_be.c: Removed.
12705 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
12706 * grub-core/Makefile.core.def (afs): Removed.
12707 (afs_be): Likewise.
12708 (befs): Likewise.
12709 (befs_be): Likewise.
12710
c39224b0
VS
127112011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12712
12713 Prefer rockridge over Joliet.
12714
12715 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
12716 to ...
12717 (set_rockridge): ... here.
12718 (grub_iso9660_mount): Check rockridge on the primary label when
12719 discovering. Ignore Joliet if Rockridge is present.
12720
e551115a
VS
127212011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12722
12723 Use shifts in nilfs2.
12724
12725 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
12726 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
12727 (grub_nilfs2_palloc_entries_per_group): Replace with ...
12728 (grub_nilfs2_log_palloc_entries_per_group): ... this.
12729 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
12730 (grub_nilfs2_entries_per_block): Replaced with ...
12731 (grub_nilfs2_log_entries_per_block_log): ... this.
12732 (grub_nilfs2_blocks_per_group): Replaced with ...
12733 (grub_nilfs2_blocks_per_group_log): ... this.
12734 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
12735 (grub_nilfs2_blocks_per_desc_block_log): ... this.
12736 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
12737 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
12738 (grub_nilfs2_palloc_entry_offset): Replaced ...
12739 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
12740 (grub_nilfs2_dat_translate): Use shifts.
12741 (grub_nilfs2_read_inode): Likewise.
12742 (GRUB_MOD_INIT): Ensure that logs are correct.
12743
564dd58c
VS
127442011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12745
12746 Use shifts in minix filesystem.
12747
12748 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
12749 (GRUB_MINIX_ZONE2SECT): Likewise.
12750 (grub_minix_data): Replace block_size with log_block_size.
12751 (grub_minix_read_file): Use shifts.
12752 (grub_minix_mount): Check block size and take a logarithm.
12753
ed9ba06d
VS
127542011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12755
12756 Use shifts in squash4.
12757
12758 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
12759 (squash_mount): Check block size and take logarithm.
12760 (direct_read): Use shifts.
12761
ad03fe76
VS
127622011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12763
12764 Correct befs block counting logic.
12765
12766 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
12767 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
12768 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
12769 (grub_afs_read_inode): Use block_shift.
12770 (RANGE_SHIFT): New definition.
12771 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
12772 unexpected conditions, use shifts and appropriate types.
12773 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
12774
6563f63d
VS
127752011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12776
12777 * grub-core/disk/raid.c (scan_devices): Check partition.
12778 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
12779
5b1ae25f
VS
127802011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
12781
12782 Support BFS (befs) UUID.
12783
12784 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
12785 (grub_afs_small_data_element_header): New struct.
12786 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
12787 (grub_afs_read_attribute) [MODE_BFS]: New function.
12788 (grub_afs_iterate_dir): Allocate for complete inode.
12789 (grub_afs_mount): Likewise.
12790 (grub_afs_uuid) [MODE_BFS]: New function.
12791 (grub_afs_fs) [MODE_BFS]: Add .uuid.
12792
f8d82408
VS
127932011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
12794
12795 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
12796 (zfs_unmount): Fix memory leak.
12797
5773fb64
VS
127982011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12799
12800 Support NTFS reparse points.
12801
12802 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
12803 (symlink_descriptor): New struct.
12804 (grub_ntfs_read_symlink): New function.
12805 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
12806 (grub_ntfs_open): Likewise.
12807
91c3fdde
VS
128082011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12809
12810 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
12811
3be82e10
VS
128122011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12813
12814 fstest xnu_uuid subcommand.
12815
12816 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
12817 grub-core/commands/xnu_uuid.c.
12818 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
12819 (fstest): Handle xnu_uuid.
12820 (options): Document xnu_uuid.
12821 (argp_parser): Parse xnu_uuid.
12822
8e32442e
VS
128232011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12824
12825 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
12826 -l argument. Add newline at the end if printing.
12827 (GRUB_MOD_INIT): Document -l.
12828
52a05075
VS
128292011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12830
12831 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
12832
1869edb5
VS
128332011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12834
12835 ZFS multi-device and version 33 support.
12836
12837 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
12838 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
12839 (grub_zfs_data): Add multidev-ice-related fields.
12840 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
12841 (dva_get_offset): Make dva const.
12842 (zfs_fetch_nvlist): New function.
12843 (fill_vdev_info_real): Likewise.
12844 (fill_vdev_info): Likewise.
12845 (check_pool_label): Likewise.
12846 (scan_disk): Likewise.
12847 (scan_devices): Likewise.
12848 (read_device): Likewise.
12849 (read_dva): Likewise.
12850 (zio_read_gang): Use read_dva.
12851 (zio_read_data): Likewise.
12852 (zap_leaf_lookup): Add missing endian conversion.
12853 (zap_verify): Add missing endian conversion. All users updated.
12854 (fzap_lookup): Likewise.
12855 (fzap_iterate): Likewise.
12856 (dnode_get_path): Handle SA bonus.
12857 (nvlist_find_value): Make input const. All users updated.
12858 (unmount_device): New function.
12859 (zfs_unmount): Use unmount_device.
12860 (zfs_mount): Use scan_disk.
12861 (zfs_mtime): New function.
12862 (grub_zfs_open): Handle system attributes.
12863 (fill_fs_info): Likewise.
12864 (grub_zfs_dir): Likewise.
12865 (grub_zfs_fs): Add mtime.
12866 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
12867 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
12868 (SA_MTIME_OFFSET): Likewise.
12869 (SA_SYMLINK_OFFSET): Likewise.
12870 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
12871 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
12872 (fstest): Support zfsinfo.
12873 (argp_parser): Likewise.
12874
186b4028
VS
128752011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12876
12877 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
12878 error.
12879
128802011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
12881
12882 ZFS fixes.
12883
12884 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
12885 sharing the same block. Iterate over correct number of indices.
12886 (dnode_get_path): Handle symlinks correctly.
12887
c0584900
VS
128882011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12889
12890 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
12891
67e2bd71
VS
128922011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12893
12894 Read label on HFS+.
12895
12896 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
12897 (grub_hfsplus_btree_search): Fix types.
12898 (grub_hfsplus_label): Implement.
12899
e9cc6b7b
VS
129002011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12901
12902 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
12903
19832ddb
VS
129042011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12905
12906 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
12907
66b40850
VS
129082011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12909
12910 Fix symlink handling on iso9660.
12911
12912 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
12913 All users updated.
12914 (grub_iso9660_susp_iterate): Accept zero-size iterate.
12915 (grub_iso9660_read_symlink): Moved most of code ...
12916 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
12917
db821363
VS
129182011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12919
12920 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
12921 Use union to avoid breaking strict-aliasing rules.
12922
e1211949
VS
129232011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12924
12925 Support multi-extent iso files.
12926
12927 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
12928 Add node.
12929 (grub_fshelp_node): Revamp. All users updated.
12930 (FLAG_*): New enum.
12931 (read_node): New function.
12932 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
12933 All users updated.
12934 (grub_iso9660_mount): Don't attempt to read sua when there is none.
12935 (get_node_size): New function.
12936 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
12937 entries.
12938 Fix memory leak on . and ..
12939 (grub_iso9660_read): Use read_node.
12940 (grub_iso9660_close): Free node.
12941
d4888031
VS
129422011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12943
12944 Fix tar 4G limit and handle paths containing dot.
12945
12946 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
12947 (canonicalize): New function.
12948 (grub_cpio_find_file): Use canonicalize. Store offs in
12949 grub_disk_addr_t.
12950 (grub_cpio_dir): Use grub_disk_addr_t.
12951 (grub_cpio_open): Likewise.
12952
9f12e664
VS
129532011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12954
12955 Fix handling of uncompressed blocks on squashfs and break 4G limit.
12956
12957 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
12958 unused flags.
12959 (grub_squash_inode): Add long_file and block_size.
12960 (grub_squash_cache_inode): New struct.
12961 (grub_squash_dirent): Make types into enum.
12962 (SQUASH_TYPE_LONG_REGULAR): New type.
12963 (grub_squash_frag_desc): Add field size.
12964 (SQUASH_BLOCK_FLAGS): New enum.
12965 (grub_squash_data): Use grub_squash_cache_inode.
12966 (grub_fshelp_node): Make ino_chunk 64-bit.
12967 (read_chunk): Minor argument change. All users updated.
12968 (squash_mount): Use correct le_to_cpu.
12969 (grub_squash_open): Handle LONG_REGULAR.
12970 (direct_read): New function.
12971 (grub_squash_read_data): Handle blocks correctly.
12972
9f326fba
VS
129732011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12974
12975 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
12976
f4d9b64b
VS
129772011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12978
12979 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
12980
5bbd28b8
VS
129812011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12982
12983 Fix 2G limit on ZFS.
12984
12985 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
12986 types.
12987 (uberblock_verify): Likewise.
12988 (dmu_read): Likewise.
12989 (grub_zfs_read): Likewise. Remove invalid cast.
12990
68c72069
VS
129912011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12992
12993 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
12994 (grub_jfs_blkno): Fix incorrect shift.
12995 (grub_jfs_read_file): Use more appropriate types.
12996
6e536dc8
VS
129972011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12998
12999 Support triple indirect on minix2 and minix3.
13000
13001 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
13002 Declare triple_indir_zone.
13003 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
13004 indirect.
13005
e0864e7a
VS
130062011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13007
13008 Minix FS fixes.
13009
13010 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
13011 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
13012 Rename ctime to mtime. All users updated.
13013 (grub_minix_get_file_block): Fix types and double indirect computations.
13014
89481cab
VS
130152011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13016
13017 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
13018 if no label is found.
13019 (grub_fat_iterate_dir): Fix file size type.
13020 (grub_fat_iterate_dir): Likewise.
13021
f646e143
VS
130222011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13023
13024 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
13025 save some space.
13026 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
13027 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13028
534d769e
VS
130292011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13030
13031 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
13032
e084ba18
VS
130332011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13034
13035 * util/import_gcry.py: Accept space between # and include.
13036
3471ecdf
VS
130372011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13038
13039 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
13040
124df5f6
VS
130412011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13042
13043 Fine grainely disable warnings on lexer. Remove Wno-error on it.
13044
13045 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
13046 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
13047 yylex_strncpy.
13048 * grub-core/script/yylex.l: Add fine-grained #pragma.
13049
4defb8d5
VS
130502011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13051
13052 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
13053 New inline function.
13054 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
13055 Likewise.
13056 (memset) [GRUB_UTIL]: Likewise.
13057 (memcmp) [GRUB_UTIL]: Likewise.
13058
4e94ae65
VS
130592011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13060
13061 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
13062 inline function rather than a define.
13063
18c575e5
VS
130642011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13065
13066 * util/grub-setup.c: Add missing include.
13067
f8bc22a8
VS
130682011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13069
13070 * util/ieee1275/grub-ofpathname.c: Add missing include.
13071
3ce69fc9
VS
130722011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13073
13074 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
13075 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
13076 Likewise.
13077
d1e293bb
VS
130782011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13079
13080 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
13081 grub_memcmp usage.
13082
7a5c54a4
VS
130832011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13084
13085 * util/grub-install.in: Add datarootdir as per automake manual
13086 suggestion.
13087 * util/grub-mknetdir.in: Likewise.
13088
130892011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
13090
13091 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
13092 suggestion.
13093 * util/grub.d/10_kfreebsd.in: Likewise.
13094 * util/grub.d/10_linux.in: Likewise.
13095 * util/grub.d/10_netbsd.in: Likewise.
13096 * util/grub.d/10_windows.in: Likewise.
13097 * util/grub.d/20_linux_xen.in: Likewise.
13098
766f7d08
VS
130992011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
13100
13101 Remove redundant grub_kernel_image_size.
13102
13103 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
13104 _edata and _start.
13105 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
13106 the small code. It moves it only by few bytes but simplifies the code.
13107 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
13108 _start.
13109 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
13110 (grub_kernel_image_size): Removed.
13111 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
13112 (grub_kernel_image_size): Removed.
13113 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
13114 compiled with Apple toolchain.
13115 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
13116 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
13117 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
13118 (grub_total_module_size): Likewise.
13119 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
13120 Removed.
13121 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
13122 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
13123 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
13124 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
13125 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
13126 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
13127 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
13128 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
13129 Removed.
13130 (grub_total_module_size): Removed.
13131 * util/grub-mkimage.c (image_target_desc): Remove image_size.
13132 (image_targets): Likewise.
13133 Set .compressed_size to no field on sparc.
13134 (generate_image): Remove kernel_image_size handling.
13135
fcf1d672
SJ
131362011-10-19 Szymon Janc <szymon@janc.net.pl>
13137
13138 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
13139 NULL pointer dereference.
13140
de9c615e
VS
131412011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13142
13143 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
13144 done with a dedicated section.
13145
13146 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
13147 Ensure the correct position of boot_path.
13148 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
13149 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
13150 other fields.
13151 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
13152 * include/grub/boot.h: Removed. All references removed.
13153 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
13154 Removed.
13155 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
13156
e55599dc
VS
131572011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13158
13159 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
13160 name.
13161
36dd20ad
VS
131622011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13163
13164 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
13165
f8f72eb8
VS
131662011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13167
13168 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13169 Don't add the bogus brackets.
13170
a374751b
VS
131712011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13172
13173 ExFAT support.
13174
13175 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
13176 * grub-core/Makefile.core.def (exfat): New module.
13177 * grub-core/fs/exfat.c: New file.
13178 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
13179 (GRUB_FAT_ATTR_*): Make into an enum.
13180 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
13181 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
13182 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
13183 (GRUB_FAT_MAXFILE): Removed.
13184 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
13185 (grub_current_fat_bpb_t): New type.
13186 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
13187 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
13188 (grub_fat_dir_node_t): New type.
13189 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
13190 (fat_log2) [MODE_EXFAT]: Removed.
13191 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
13192 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
13193 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
13194 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
13195 (grub_fat_label) [MODE_EXFAT]: New function.
13196 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
13197 reserved_first_sector to 0.
13198
544c2487
VS
131992011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13200
13201 Move grub_reboot out of the kernel.
13202
13203 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
13204 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
13205 * grub-core/lib/efi/reboot.c: ... here.
13206 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
13207 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
13208 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
13209 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
13210 * grub-core/lib/i386/reboot_trampoline.S: ... here.
13211 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
13212 * grub-core/lib/ieee1275/reboot.c: ... here.
13213 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
13214 * grub-core/lib/mips/arc/reboot.c: ... here.
13215 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
13216 * grub-core/lib/mips/loongson/reboot.c: ...here.
13217 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
13218 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
13219 * include/grub/emu/misc.h (grub_reboot): New function declaration.
13220 * include/grub/i386/reboot.h: New file.
13221 * include/grub/mips/loongson/ec.h: Fix includes.
13222 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
13223 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
13224 * grub-core/lib/i386/reboot.c: New file.
13225
a97501d2
VS
132262011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
13227
13228 Make grub_prefix into module to fix the arbitrary limit and save
13229 some space.
13230
13231 * grub-core/kern/emu/main.c (grub_prefix): Removed.
13232 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
13233 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
13234 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
13235 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
13236 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
13237 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
13238 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
13239 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
13240 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
13241 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
13242 * include/grub/ia64/efi/kernel.h: Removed.
13243 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
13244 (grub_prefix): Removed.
13245 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
13246 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
13247 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
13248 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
13249 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
13250 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
13251 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
13252 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
13253 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
13254 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
13255 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
13256 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
13257 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
13258 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
13259 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
13260 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
13261 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
13262 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
13263 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
13264 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
13265 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
13266 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
13267 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
13268 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
13269 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
13270 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
13271 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
13272 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
13273 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
13274 from module.
13275 * util/grub-mkimage.c (image_target_desc): Removed prefix and
13276 prefix_end.
13277 (image_targets): Likewise.
13278 (generate_image): Put prefix as a module.
13279
39705fad
VS
132802011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13281
13282 Replace grub_module_iterate with FOR_MODULES.
13283
13284 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
13285 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
13286 (grub_efi_modules_addr): ...this.
13287 * grub-core/kern/efi/init.c (grub_modbase): New variable.
13288 (grub_efi_init): Set grub_modbase.
13289 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
13290 (grub_modbase): New variable.
13291 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
13292 (grub_modbase): New variable.
13293 (grub_machine_init): Set grub_modbase.
13294 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
13295 (grub_modbase): New variable.
13296 (grub_machine_init): Set grub_modbase.
13297 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
13298 (grub_modbase): New variable.
13299 (grub_machine_init): Set grub_modbase.
13300 * grub-core/kern/main.c (grub_module_iterate): Remove.
13301 (grub_modules_get_end): Use grub_modbase.
13302 (grub_load_modules): Use FOR_MODULES.
13303 (grub_load_config): Likewise.
13304 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
13305 (grub_modbase): New variable.
13306 (grub_machine_init): Set grub_modbase.
13307 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
13308 (grub_modbase): New variable.
13309 (grub_machine_init): Set grub_modbase.
13310 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
13311 Removed.
13312 (grub_modbase): New variable.
13313 (grub_machine_init): Set grub_modbase.
13314 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
13315 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
13316 (grub_module_iterate): Likewise.
13317 (grub_modbase): New variable declaration.
13318 (FOR_MODULES): New macro.
13319
2afb7f6c
VS
133202011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13321
13322 * configure.ac: Check for __ctzdi2 and __ctzsi2.
13323 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
13324
366e34fa
VS
133252011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13326
13327 Fix few obvious type discrepancies.
13328
13329 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
13330 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
13331 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
13332 variable.
13333 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
13334 and connected types.
13335 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
13336 offset.
13337 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
13338 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
13339 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
13340 and connected types.
13341
177b960e
VS
133422011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13343
13344 Fix python 3.x incompatibilities.
13345
13346 * gentpl.py: Put brackets around print strings.
13347 * util/import_gcry.py: Open explicitly as utf-8.
13348 Use in instead of has_key.
13349
3b619ae1
VS
133502011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13351
13352 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
13353 (GRUB_XFS_INO_AGBITS): Make into inline function.
13354 (GRUB_XFS_INO_INOINAG): Likewise.
13355 (GRUB_XFS_INO_AG): Likewise.
13356 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
13357 (GRUB_XFS_EXTENT_OFFSET): Likewise.
13358 (GRUB_XFS_EXTENT_BLOCK): Likewise.
13359 (GRUB_XFS_EXTENT_SIZE): Likewise.
13360 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
13361 (GRUB_XFS_NEXT_DIRENT): Likewise.
13362 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
13363 (grub_xfs_read_file): Fix offset type.
13364
8bcebcb8
RM
133652011-10-15 Robert Millan <rmh@gnu.org>
13366
13367 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
13368
0017e5ef
RM
133692011-10-15 Robert Millan <rmh@gnu.org>
13370
13371 Fix build problem on FreeBSD and GNU/kFreeBSD.
13372
13373 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
13374
d8919552
VS
133752011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13376
13377 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
13378
13379 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
13380 types.
13381 (grub_hfsplus_btree_recoffset): Likewise.
13382 (grub_hfsplus_btree_recptr): Likewise.
13383 (grub_hfsplus_find_block): Likewise.
13384 (grub_hfsplus_btree_search): Likewise.
13385 (grub_hfsplus_read_block): Likewise.
13386 (grub_hfsplus_read_file): Likewise.
13387 (grub_hfsplus_mount): Likewise.
13388 (grub_hfsplus_btree_iterate_node): Likewise.
13389 (grub_hfsplus_btree_search): Likewise.
13390 (grub_hfsplus_iterate_dir): Likewise.
13391 (grub_hfsplus_read): A small code simplification.
13392
c81296b6
VS
133932011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13394
13395 * grub-core/kern/emu/hostdisk.c
13396 (convert_system_partition_to_system_disk): Don't assume that children
13397 of mapper nodes are mapper nodes.
13398
0eb8ffb1
VS
133992011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13400
13401 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
13402 * include/grub/misc.h (grub_isxdigit): New function.
13403 * grub-core/video/colors.c (my_isxdigit): Removed. All users
13404 switched to grub_isxdigit.
13405 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
13406 number starting with a letter.
13407
a98f4a08
RM
134082011-10-09 Robert Millan <rmh@gnu.org>
13409
13410 LVM support for FreeBSD and GNU/kFreeBSD.
13411
13412 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
13413 GNU/kFreeBSD.
13414 (LVM_DEV_MAPPER_STRING): Move from here ...
13415 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
13416 * util/getroot.c: Include `<grub/util/lvm.h>'.
13417 (grub_util_get_dev_abstraction): Enable
13418 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
13419 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
13420 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
13421 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
13422 support it.
13423 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
13424 GNU/kFreeBSD.
13425 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
13426 when LVM abstraction is required for ${GRUB_DEVICE}.
13427
050e8e90
SJ
134282011-10-06 Szymon Janc <szymon@janc.net.pl>
13429
13430 Add support for LZO compression in GRUB:
13431 - import of minilzo library,
13432 - LZO decompression for btrfs,
13433 - lzop files decompression.
13434
13435 * grub-core/io/lzopio.c: New file.
13436 * grub-core/lib/adler32.c: Likewise.
13437 * grub-core/lib/minilzo/lzoconf.h: Likewise.
13438 * grub-core/lib/minilzo/lzodefs.h: Likewise.
13439 * grub-core/lib/minilzo/minilzo.c: Likewise.
13440 * grub-core/lib/minilzo/minilzo.h: Likewise.
13441 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
13442 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
13443 grub-core/lib/minilzo/minilzo.c to common.
13444 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
13445 cflags in cppflags.
13446 * grub-core/Makefile.core.def (btrfs): Likewise.
13447 * grub-core/Makefile.core.def (lzopio): New module.
13448 (adler32): Likewise.
13449 * grub-core/fs/btrfs.c: Include minilzo.h.
13450 (GRUB_BTRFS_COMPRESSION_LZO): New define.
13451 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
13452 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
13453 (grub_btrfs_lzo_decompress): New function.
13454 (grub_btrfs_extent_read): Add support for LZO compression type.
13455 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
13456 (GRUB_USHRT_MAX): Likewise.
13457 (GRUB_UINT_MAX): Likewise.
13458 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
13459 (UINT_MAX): Likewise.
13460 (CHAR_BIT): Likewise.
13461 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
13462 grub-core/lib/posix_wrap/limits.h
13463 (UCHAR_MAX): Likewise.
13464 * include/grub/file.h (grub_file_filter_id): New compression filter
13465 GRUB_FILE_FILTER_LZOPIO.
13466 * include/grub/file.h (grub_file_filter_id): Set
13467 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
13468 * include/grub/types.h (grub_get_unaligned16): New function.
13469 (grub_get_unaligned32): Likewise.
13470 (grub_get_unaligned64): Likewise.
13471 * util/import_gcry.py (cryptolist): Add adler32.
13472
0eb8ffb1
VS
134732011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
13474
13475 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
13476 in perspective decreases the complexity of build system and fixes
13477 compilation right now.
13478
ce79cc99 134792011-10-01 Ales Nesrsta <starous@volny.cz>
13480
13481 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
13482 (fixed problem related to using UHCI with coreboot).
13483
8667a314
BC
134842011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
13485
13486 * gentpl.py: Use Autogen macros so that the output template file
13487 (Makefile.tpl) size is reduced.
13488
fc5efcc0
MK
134892011-09-29 Mads Kiilerich <mads@kiilerich.com>
13490
13491 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
13492 extra_dist.
13493
d1ab689d
ML
134942011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13495
13496 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
13497 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
13498
c05de032
ML
134992011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13500
13501 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
13502 _fullpath.
13503
cca7ccd8
ML
135042011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13505
13506 Remove extra declaration of sleep for mingw32.
13507
13508 * util/misc.c (sleep) [__MINGW32__]: Removed.
13509 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
13510
e0b0dc83
GS
135112011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
13512
13513 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
13514 type and packname.
13515 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
13516 Resurrected.
13517 (NETBSD_BTINFO_BOOTWEDGE): New definition.
13518 (grub_netbsd_btinfo_bootwedge): New struct.
13519 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
13520 New function.
13521 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
13522
91a1a164
TH
135232011-09-28 Thomas Haller <thomas.haller@fen-net.de>
13524
13525 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
13526 loader.
13527
2ded951e
AB
135282011-09-28 Andreas Born <futur.andy@googlemail.com>
13529
13530 Fix incorrect identifiers in bash-completion.
13531
13532 * util/bash-completion.d/grub-completion.bash.in
13533 (_grub_mkpasswd-pbkdf2): Rename to ...
13534 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
13535 (_grub_script-check): Rename to ...
13536 (_grub_script_check): ... this. All users updated.
13537
69915030
VS
135382011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
13539
13540 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
13541 Return 0 if disk isn't biosdisk.
13542
20fd15f9
GS
135432011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
13544
13545 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
13546 on NetBSD.
13547 * Makefile.util.def (grub-fstest): Likewise.
13548
1a7d7db9
GS
135492011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
13550
13551 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
13552 Get sector size from disk label.
13553
2221ab6c
CW
135542011-09-05 Colin Watson <cjwatson@ubuntu.com>
13555
13556 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
13557 */README* as well as README*.
13558 Reported by: Axel Beckert.
13559
ca51c4a0
VS
135602011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13561
13562 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
13563 case of less than 256 MiB of RAM.
13564
ab80f326
VS
135652011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13566
13567 * grub-core/commands/wildcard.c (make_regex): Handle @.
13568
4155e697
VS
135692011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13570
13571 * util/grub-install.in: Move cryptodisk logic to appropriate place.
13572
ab178c08
SJ
135732011-08-21 Szymon Janc <szymon@janc.net.pl>
13574
13575 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
13576 AC_LANG_CONFTEST macros.
13577
7dc3c686
SJ
135782011-08-20 Szymon Janc <szymon@janc.net.pl>
13579
13580 Add grub-fstest option to uncompress data for commands.
13581
13582 * util/grub-fstest.c (uncompress): New var.
13583 (options): New option -u.
13584
fe8d4a7b
SJ
135852011-08-20 Szymon Janc <szymon@janc.net.pl>
13586
13587 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
13588 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
13589
a5219af1
SJ
135902011-08-20 Szymon Janc <szymon@janc.net.pl>
13591
13592 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
13593 file type was not recognized correctly (not gzip or corrupted).
13594
f87abff5
VS
135952011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13596
13597 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
13598 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
13599
d94497ea
VS
136002011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13601
13602 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
13603 loongson.
13604 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
13605 video_radeon_fuloong2e.
13606 * grub-core/video/radeon_fuloong2e.c: New file.
13607 * include/grub/video.h (grub_video_id_t): Add new ID
13608 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
13609
0d1fd011
VS
136102011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13611
13612 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
13613 define.
13614 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
13615 that PRID matches the detected subplatform and reset the subplatform
13616 if it doesn't.
13617
84beb0ee
VS
136182011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13619
13620 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
13621
1227c133
VS
136222011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13623
13624 Fix PCI iterating on functions >= 4.
13625
13626 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
13627 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
13628 Removed.
13629 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
13630 (grub_pci_read): Fix bitmask.
13631 (grub_pci_read_word): Likewise.
13632 (grub_pci_read_byte): Likewise.
13633 (grub_pci_write): Likewise.
13634 (grub_pci_write_word): Likewise.
13635 (grub_pci_write_byte): Likewise.
13636
9594c689
VS
136372011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13638
13639 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
13640 can still be specified in TARGET_CFLAGS)
13641
14a2562c
VS
136422011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13643
13644 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
13645
13646 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
13647 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
13648 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
13649 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
13650 (FULOONG): Rename to ...
13651 (FULOONG2F): ... this. All users updated.
13652 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
13653 (machtype_fuloong2f_str): ... this.
13654 (machtype_fuloong2e_str): New string.
13655 Check for machtype_fuloong2e_str.
13656 * grub-core/loader/mips/linux.c (loongson_machtypes)
13657 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
13658 * grub-core/term/serial.c (loongson_defserial)
13659 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
13660 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
13661 loongson_defserial.
13662 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
13663 Rename to ...
13664 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
13665 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
13666 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
13667 to IMAGE_FULOONG2F_FLASH. All users updated.
13668 (image_targets): Rename images.
13669 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
13670
b526cbb6
SJ
136712011-08-19 Szymon Janc <szymon@janc.net.pl>
13672
13673 Make enable of disk cache statistics code configurable.
13674
13675 * configure.ac: --enable-cache-stats added.
13676 * config.h.in (DISK_CACHE_STATS): New define.
13677 * grub-core/Makefile.core.def (cacheinfo): New command.
13678 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
13679 * grub-core/commands/cacheinfo.c: New file.
13680 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
13681 moved to cacheinfo.c.
13682 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
13683 debug code.
13684 * include/grub/disk.h: Likewise.
13685
fb739ccd
SJ
136862011-08-19 Szymon Janc <szymon@janc.net.pl>
13687
13688 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
13689 * grub-core/Makefile.am: Likewise.
13690
2bba8cfd
VS
136912011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13692
13693 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
13694 non-zero pull.
13695
43526629
VS
136962011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13697
13698 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
13699 All users updated.
13700 (grub_jfs_lookup_symlink): Use correct starting inode.
13701
5c144cc8
VS
137022011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13703
13704 * util/grub-setup.c (main): Add missing gcry initialisation.
13705
b1257f65
VS
137062011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13707
13708 Don't accept text modes on EFI when booting Linux.
13709
13710 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
13711 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
13712
828bc390
ML
137132011-08-15 Mario Limonciello <mario_limonciello@dell.com>
137142011-08-15 Colin Watson <cjwatson@ubuntu.com>
13715
13716 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
13717 use of "/path/.." as in grub-install for EFI as well as handling
13718 symlinks correctly.
13719 Fixes Debian bug #637768.
13720
5f60ccac
CW
137212011-08-15 Colin Watson <cjwatson@ubuntu.com>
13722
13723 * util/grub-probe.c: Remove duplicate #include.
13724
6dc212f9
RM
137252011-08-10 Robert Millan <rmh@gnu.org>
13726
13727 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
13728
13729 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
13730 function.
13731 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
13732 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
13733
66816d85
RM
137342011-08-03 Robert Millan <rmh@gnu.org>
13735
13736 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
13737 la_array as packed.
13738 Reported by: Zachary Bedell
13739
20168fca
CW
137402011-07-26 Colin Watson <cjwatson@ubuntu.com>
13741
13742 * configure.ac: The Loongson port requires grub-mkfont due to its
13743 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
13744 be built.
13745
303b6246
CW
137462011-07-26 Colin Watson <cjwatson@ubuntu.com>
13747
13748 * util/grub-install.in: Don't source grub-mkconfig_lib until after
13749 processing arguments (otherwise help2man fails when GRUB has not yet
13750 been installed).
13751
6795300e
VS
137522011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13753
41aa28ea
VS
13754 New script grub-mkstandalone.
13755
13756 * Makefile.util.def (grub-mkstandalone): New script.
13757 * docs/man/grub-mkstandalone.h2m: New file.
13758 * util/grub-mkstandalone.in: Likewise.
13759
137602011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13761
13762 Support ATA disks with 4K sectors.
6795300e
VS
13763
13764 * include/grub/ata.h (grub_ata): New member log_sector_size.
13765 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
13766 (grub_ata_identify): Read sector size.
13767 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
13768
92227597
VS
137692011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13770
13771 * util/grub-install.in: Don't use uhci outside of x86.
13772
c77069f5
VS
137732011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13774
13775 * util/grub-mkrescue.in: Add missing quotes.
13776
137772011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
13778
13779 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
13780 dereference.
13781
583168a2
VS
137822011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13783
13784 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
13785
6be1c01f
VS
137862011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13787
13788 * include/grub/video.h: add missing EXPORT_FUND on
13789 grub_video_edid_checksum and grub_video_edid_preferred_mode.
13790
a1167439
VS
137912011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13792
13793 * include/grub/mips/kernel.h: Fix define conflict.
13794
bf66054f
VS
137952011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13796
13797 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
13798 all four ways.
13799
8fc4fa45
CW
138002011-07-21 Colin Watson <cjwatson@ubuntu.com>
13801
13802 Preferred resolution detection for VBE.
13803
13804 * grub-core/video/video.c (grub_video_edid_checksum): New function.
13805 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
13806 the Flat Panel extension, in line with the X.org VESA driver.
13807 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
13808 New function.
13809 (grub_vbe_bios_get_ddc_capabilities): Likewise.
13810 (grub_vbe_bios_read_edid): Likewise.
13811 (grub_vbe_get_preferred_mode): Likewise.
13812 (grub_video_vbe_setup): When the mode is "auto", try to get the
13813 preferred mode from VBE, and use the largest mode that is no larger
13814 than the preferred mode (some BIOSes expose a preferred mode that is
13815 not in their mode list!). If this fails, fall back to 640x480 as a
13816 safe conservative choice.
13817 (grub_video_vbe_get_edid): New function.
13818 (grub_video_vbe_adapter): Add get_edid.
13819 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
13820 (struct grub_video_adapter): Add get_edid.
13821 (grub_video_edid_checksum): Add prototype.
13822 (grub_video_edid_preferred_mode): Likewise.
13823 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
13824 structure.
13825
13826 * grub-core/commands/videoinfo.c (print_edid): New function.
13827 (grub_cmd_videoinfo): Print EDID if available.
13828
13829 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
13830 is more appropriate on a wider range of platforms than 640x480.
13831 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
13832 documentation.
13833
ca5572a9
VS
138342011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13835
13836 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
13837
e4bcf625
VS
138382011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13839
13840 * po/POTFILES.in: Regenerate.
13841
c4edd548
VS
138422011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13843
13844 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
13845 incorrect memory usage.
13846
16a2bab0
VS
138472011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13848
13849 * util/grub-install.in: Source grub-mkconfig_lib.
13850
2e418de6
VS
138512011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
13852
13853 Remove getroot.c from core on emu platform.
13854
13855 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
13856 kern/emu/raid.c.
13857 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
13858 useless.
13859 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
13860 * util/getroot.c (get_win32_path): ... here.
13861 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
13862 * util/getroot.c (fini_libzfs): ... here.
13863 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
13864 * util/getroot.c (grub_get_libzfs_handle): ... here.
13865 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
13866 Moved from here...
13867 * util/getroot.c (grub_find_zpool_from_dir): ... here.
13868 * grub-core/kern/emu/misc.c
13869 (grub_make_system_path_relative_to_its_root): Moved from here...
13870 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
13871 * grub-core/kern/emu/getroot.c: Moved from here ...
13872 * util/getroot.c: ... here. All users updated.
13873 * grub-core/kern/emu/raid.c: Moved from here ...
13874 * util/raid.c: ... here. All users updated.
13875
def9832a
VS
138762011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
13877
13878 * po/POTFILES.in: Regenerate.
13879
cd8fe79a
VS
138802011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
13881
13882 Fix compilation on GNU/Linux.
13883
13884 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
13885 Disable geli.
13886 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
13887 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
13888 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
13889
a251b719
VS
138902011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
138912011-07-07 Michael Gorven <michael@gorven.za.net>
138922011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
13893
13894 LUKS and GELI support.
13895
13896 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
13897 grub-core/disk/luks.c, grub-core/disk/geli.c,
13898 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
13899 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
13900 grub-core/lib/arg.c.
13901 (libgrubmods.a): Remove gcrypts cflags and cppflags.
13902 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
13903 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
13904 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
13905 (grub-bin2h): Add libgcry.a.
13906 (grub-mkimage): Likewise.
13907 (grub-mkrelpath): Likewise.
13908 (grub-script-check): Likewise.
13909 (grub-editenv): Likewise.
13910 (grub-mkpasswd-pbkdf2): Likewise.
13911 (grub-pe2elf): Likewise.
13912 (grub-fstest): Likewise.
13913 (grub-mkfont): Likewise.
13914 (grub-mkdevicemap): Likewise.
13915 (grub-probe): Likewise.
13916 (grub-ofpath): Likewise.
13917 (grub-mklayout): Likewise.
13918 (example_unit_test): Likewise.
13919 (grub-menulst2cfg): Likewise.
13920 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
13921 * grub-core/Makefile.core.def (cryptodisk): New module.
13922 (luks): Likewise.
13923 (geli): Likewise.
13924 * grub-core/disk/AFSplitter.c: New file.
13925 * grub-core/disk/cryptodisk.c: Likewise.
13926 * grub-core/disk/geli.c: Likewise.
13927 * grub-core/disk/luks.c: Likewise.
13928 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
13929 grub_util_is_lvm.
13930 (grub_util_get_dm_abstraction): New function.
13931 (grub_util_follow_gpart_up): Likewise.
13932 (grub_util_get_geom_abstraction): Likewise.
13933 (grub_util_get_dev_abstraction): Use new functions.
13934 (grub_util_pull_device): Pull GELI and LUKS.
13935 (grub_util_get_grub_dev): Handle LUKS and GELI.
13936 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
13937 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
13938 (follow_geom_up): Removed.
13939 (grub_util_fd_seek): New function.
13940 (open_device): Use grub_util_fd_seek.
13941 (nread): Rename to ..
13942 (grub_util_fd_read): ... this. All users updated.
13943 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
13944 (grub_crypto_cbc_decrypt): Likewise.
13945 (grub_crypto_hmac_write): Likewise.
13946 (grub_crypto_hmac_buffer): Likewise.
13947 (grub_password_get): Extend to util.
13948 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
13949 New member modname.
13950 (gcry_md_spec) [GRUB_UTIL]: Likewise.
13951 * include/grub/cryptodisk.h: New file.
13952 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
13953 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
13954 LUKS and GELI.
13955 (grub_util_follow_gpart_up): New proto.
13956 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
13957 (grub_util_fd_read): Likewise.
13958 (grub_cryptodisk_cheat_mount): Likewise.
13959 (grub_util_cryptodisk_print_uuid): Likewise.
13960 (grub_util_get_fd_sectors): Likewise.
13961 * util/grub-fstest.c (mount_crypt): New var.
13962 (fstest): Mount crypto if requested.
13963 (options): New option -C.
13964 (argp_parser): Parse -C.
13965 (main): Init and fini gcry.
13966 * util/grub-install.in: Support cryptodisk install.
13967 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
13968 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
13969 cryptodisk.
13970 (prepare_grub_to_access_device): Likewise.
13971 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
13972 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
13973 (probe_cryptodisk_uuid): New function.
13974 (probe_abstraction): Likewise.
13975 (probe): Use new functions.
13976 * util/import_gcry.py: Create Makefile.utilgcry.def.
13977 Add modname member.
13978
9bfdcbbc
VS
139792011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
13980
13981 Lazy device scanning.
13982
13983 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
13984 (grub-setup): Remove util/raid.c.
13985 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
13986 * grub-core/disk/lvm.c (scan_depth): New variable.
13987 (grub_lvm_iterate): Rescan if necessary.
13988 (find_lv): New function based on grub_lvm_open.
13989 (grub_lvm_open): Use find_lv. Rescan on error.
13990 (is_node_readable): New function.
13991 (is_lv_readable): Likewise.
13992 (grub_lvm_scan_device): Skip already found disks.
13993 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
13994 Stop if searched device is found and readable.
13995 * grub-core/disk/raid.c (inscnt): New variable.
13996 (scan_depth): Likewise.
13997 (scan_devices): New function based on grub_raid_register. Abort if
13998 looked for device is found.
13999 (grub_raid_iterate): Rescan if needed.
14000 (find_array): NEw function based on -grub_raid_open.
14001 (grub_raid_open): Use find_array and rescan.
14002 (insert_array): Set became_readable_at.
14003 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
14004 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
14005 New function.
14006 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
14007 (grub_util_pull_device): New function.
14008 (grub_util_get_grub_dev): Call grub_util_pull_device.
14009 * util/raid.c: Moved to ..
14010 * grub-core/kern/emu/raid.c: ... here.
14011 (grub_util_raid_getmembers): New parameter "bootable".
14012 All users updated. Support 1.x.
14013 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
14014 All users updated.
14015 * include/grub/disk.h (grub_disk_pull_t): New enum.
14016 (grub_disk_dev): Change iterate prototype.
14017 All users updated.
14018 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
14019 New proto.
14020 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
14021 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
14022 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
14023 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
14024 All users updated.
14025 * include/grub/util/raid.h: Removed.
14026
1c358e59
VS
140272011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
14028
14029 * po/POTFILES.in: Regenerate.
14030
abee94ed
VS
140312011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
14032
14033 Unify sparc init with other ieee1275.
14034
14035 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
14036 instead of kern/sparc64/ieee1275/init.c.
14037 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
14038 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
14039 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
14040 grub/machine/kernel.h.
14041 (grub_ieee1275_original_stack) [__sparc__]: New variable.
14042 (grub_claim_heap) [__sparc__]: Use sparc version.
14043 (grub_machine_init): Moved args parsing to
14044 (grub_parse_cmdline): ...this.
14045 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
14046 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
14047 New definition.
14048 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
14049
14050 Move BOOTP to separate file.
14051
14052 * grub-core/Makefile.core.def (net): Add net/bootp.c.
14053 * grub-core/net/net.c: Move all BOOTP functions to
14054 * grub-core/net/bootp.c: ... here.
14055
14056 Use frame interface on PXE.
14057
14058 * grub-core/Makefile.core.def (pxecmd): Removed.
14059 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
14060 * grub-core/commands/i386/pc/pxecmd.c: Removed.
14061 * grub-core/i386/pc/pxe.c: Moved from here ...
14062 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
14063 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
14064 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
14065
14066 EFI network support.
14067
14068 * grub-core/Makefile.core.def (efinet): New module.
14069 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
14070 here...
14071 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
14072 All users updated.
14073 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
14074 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
14075 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
14076 * grub-core/net/drivers/efi/efinet.c: New file.
14077 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
14078 (grub_efi_net_config): New extern var.
14079
14080 Various cleanups and bugfixes.
14081
14082 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
14083 error.
14084 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
14085 disk declared as partition.
14086 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
14087 leak on failure.
14088 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
14089 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
14090 (grub_debug_zalloc): Likewise.
14091 (grub_debug_realloc): Likewise.
14092 (grub_debug_memalign): Likewise.
14093 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
14094 Check that target is IPv4.
14095 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
14096 local-mac-address as fallback.
14097 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
14098 memory leak.
14099 * grub-core/net/ip.c (ipchksum): Rename to ...
14100 (grub_net_ip_chksum): ... this. All users updated.
14101 (grub_net_recv_ip_packets): Special handling for DHCP.
14102 * util/grub-mkimage.c (generate_image): Zero-out aout header.
14103
14104 Unify prefix handling
14105
14106 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
14107 (grub_machine_get_bootlocation): ... this.
14108 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
14109 (grub_machine_get_bootlocation): ... this.
14110 (grub_prefix): New variable.
14111 (prefix): Removed.
14112 (root_dev): New variable.
14113 (dir): Likewise.
14114 (main): Use new variables.
14115 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
14116 Revamped into ...
14117 (grub_machine_get_bootlocation): ... this.
14118 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
14119 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
14120 (grub_machine_get_bootlocation): ... this.
14121 (grub_machine_set_prefix): Removed.
14122 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
14123 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
14124 Revamped into ...
14125 (grub_machine_get_bootlocation): ... this.
14126 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
14127 (grub_set_prefix_and_root): ... this. All users updated.
14128 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
14129 Revamped into ...
14130 (grub_machine_get_bootlocation): ... this.
14131 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
14132 (grub_machine_get_bootlocation): New proto.
14133 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
14134
14135 Less intrusive and more reliable seek on network implementation.
14136
14137 * grub-core/kern/file.c (grub_file_net_seek): Removed.
14138 (grub_file_seek): Don't call grub_file_net_seek.
14139 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
14140 (grub_net_fs_read_real): .. this.
14141 (grub_net_seek_real): Use net->offset.
14142 (grub_net_fs_read): Seek if necessary.
14143
14144 Unify IEEE1275 netwotk config with the other platforms.
14145
14146 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
14147 New variable.
14148 (grub_machine_get_bootlocation): Support network.
14149 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
14150 Support type and device parsing.
14151 (grub_ieee1275_get_device_type): New function.
14152 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
14153 into ...
14154 (grub_ieee1275_net_config_real): ... this.
14155 (grub_ofnet_probecards): Removed.
14156 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
14157 * include/grub/ieee1275/ofnet.h: Removed.
14158 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
14159 extern var.
14160 (grub_ieee1275_get_device_type): New function.
14161
14162 Unify network device closing across platforms and make more robust.
14163
14164 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
14165 grub_grubnet_fini.
14166 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
14167 already.
14168 * grub-core/net/net.c (grub_net_network_level_interface_register):
14169 Update num_ifaces.
14170 (grub_net_card_unregister): Close all interfaces.
14171 (receive_packets): Don't poll if no iterfaces are registered.
14172 Open if necessary.
14173 (grub_net_fini_hw): New function.
14174 (grub_net_restore_hw): Likewise.
14175 (fini_hnd): New variable.
14176 (GRUB_MOD_INIT): Register preboot hook.
14177 (GRUB_MOD_FINI): Run and unregister preboot hook.
14178
14179 Poll network cards when idle.
14180
14181 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
14182 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
14183 * grub-core/net/net.c (receive_packets): Save last poll time.
14184 (grub_net_poll_cards_idle_real): New function.
14185 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
14186 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
14187 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
14188
14189 Rename ofnet interfaces.
14190
14191 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
14192 (grub_ofnet_findcards): Use ofnet_%s names.
14193
14194 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
14195
14196 Cleanup socket opening.
14197
14198 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
14199 (grub_net_fs_close): Likewise.
14200 (grub_net_fs_read_real): Use eof member.
14201 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
14202 (+grub_net_udp_close): New inline function.
14203
14204 * include/grub/net/tftp.h: Moved to the top of ...
14205 * grub-core/net/tftp.c: ... here.
14206 * include/grub/net/ip.h: Moved mostly to the top of ...
14207 * grub-core/net/ip.c: ... here.
14208 * include/grub/net/ethernet.h: Moved mostly to the top of ...
14209 * grub-core/net/ethernet.c: ... here.
14210
14211 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
14212
14213 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
14214 FS name.
14215
14216 * include/grub/net/ip.h (ipv4_ini): Removed.
14217 (ipv4_fini): Likewise.
14218
14219 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
14220 (grub_net_send_ip_packets): Likewise.
14221
cf1337aa
VS
142222011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14223
14224 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
14225 grub_read_cmos prototype.
14226
93c06ff9
VS
142272011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14228
14229 VGA text support in qemu-mips
14230
14231 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
14232 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
14233 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
14234 text.
14235 * grub-core/kern/i386/qemu/init.c: Renamed to ...
14236 * grub-core/kern/vga_init.c: ... this.
14237 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
14238 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
14239 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
14240 Adjust.
14241 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
14242 GRUB_MACHINE_PCI_IO_BASE.
14243
748ccabe
VS
142442011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14245
14246 MIPS qemu flash support.
14247
14248 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
14249 magic.
14250 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
14251 (grub_machine_init): Probe memory if its size isn't known.
14252 * util/grub-mkimage.c (image_targets): Add flash targets.
14253 (generate_image): Handle flash targets.
14254
d7345994
VS
142552011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14256
14257 MIPS qemu at_keyboard support.
14258
14259 * gentpl.py (videoinkernel): Add qemu-mips.
14260 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
14261 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
14262 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
14263 modules.
14264 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
14265 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
14266 * grub-core/term/serial.c (grub_serial_register)
14267 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
14268
a07a81b3
VS
142692011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14270
14271 CMOS support on sparc.
14272
14273 * gentpl.py (cmos): Add powerpc and sparc.
14274 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
14275 powerpc and sparc.
14276 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
14277 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
14278 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
14279 grub_set_datetime_cmos.
14280 * grub-core/lib/ieee1275/cmos.c: New file.
14281 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
14282 (find_rtc): Set no_ieee1275_rtc on error.
14283 (grub_get_datetime): Call grub_get_datetime_cmos on error.
14284 (grub_set_datetime): Call grub_set_datetime_cmos on error.
14285 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
14286 fail. Move value to argument. All users updated
14287 (grub_cmos_write): Likewise.
14288 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
14289 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
14290 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
14291 grub_get_datetime_cmos and grub_set_datetime_cmos.
14292
77546584
GS
142932011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
14294
14295 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
14296 sourcing grub-mkconfig_lib.
14297 * util/update-grub_lib.in: Likewise.
14298 * util/grub.d/00_header.in: Likewise.
14299 * util/grub.d/10_hurd.in: Likewise.
14300 * util/grub.d/10_kfreebsd.in: Likewise.
14301 * util/grub.d/10_linux.in: Likewise.
14302 * util/grub.d/10_netbsd.in: Likewise.
14303 * util/grub.d/10_windows.in: Likewise.
14304 * util/grub.d/20_linux_xen.in: Likewise.
14305 * util/grub.d/30_os-prober.in: Likewise.
14306
54894791
CW
143072011-06-28 Colin Watson <cjwatson@ubuntu.com>
14308
14309 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
14310 default_bg_color rather than black.
14311 (grub_gfxterm_fullscreen): Likewise.
14312 (grub_gfxterm_background_color_cmd): Save new background color in
14313 default_bg_color.
14314
8d5d8444
VS
143152011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14316
14317 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
14318
5afeb5bd
VS
143192011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14320
14321 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
14322 mismerge.
14323
ba7df45e
VS
143242011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14325
14326 Chainloading on coreboot support.
14327
14328 * grub-core/Makefile.core.def (chain): Add coreboot.
14329 * grub-core/loader/i386/coreboot/chainloader.c: New file.
14330
d0b526b2
VS
143312011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14332
14333 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
14334 if it happens.
14335
5ff1d945
VS
143362011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14337
14338 Implement time command.
14339
14340 * grub-core/Makefile.core.def (time): New module.
14341 * grub-core/commands/time.c: New file.
14342 * grub-core/script/parser.y: Remove "time" keyword.
14343 * grub-core/script/yylex.l: Likewise.
14344
5ebaad7e
VS
143452011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14346
14347 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
14348
bdea3798
VS
143492011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14350
14351 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
14352 when handling leftovers.
14353
b28c5655
VS
143542011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14355
14356 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
14357 so that help2man doesn't fail.
14358
b6f945dc
VS
143592011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14360
14361 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
14362 type in pointers on sparc64.
14363 (get_card_packet): Likewise.
14364
f9b75e8a
CW
143652011-06-27 Colin Watson <cjwatson@ubuntu.com>
14366
14367 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
14368 with `*'.
14369 (grub_cmd_videoinfo): Fetch current video mode.
14370
1e3d9b86
VS
143712011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14372
14373 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
14374 because of underlying system restrictions.
14375
efff4b1c
VS
143762011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14377
14378 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
14379 necessary.
14380
9fc9ce37
VS
143812011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14382
14383 Coreboot video support.
14384
14385 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
14386 (vbe): Likewise.
14387 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
14388 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
14389 here ...
14390 * grub-core/kern/i386/int.S: ... here.
14391 * grub-core/video/i386/pc/vbe.c: Updated includes.
14392 * grub-core/video/i386/pc/vga.c: Likewise.
14393 * include/grub/i386/coreboot/memory.h
14394 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
14395 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
14396 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
14397 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
14398 Disable interrupts.
14399 * include/grub/i386/pc/vga.h: Removed. All users updated.
14400
41bec7fe
VS
144012011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14402
14403 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
14404 definitions for dprintf.
14405 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
14406
ca80309d
VS
144072011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14408
14409 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
14410 prototype.
14411 (get_card_packet): Likewise.
14412
9e322ce8
YB
144132011-06-26 Yves Blusseau <blusseau@zetam.org>
14414
14415 Display the path of the file when file is not found
14416
14417 * grub-core/fs/fat.c: Display the filename when file is not found.
14418 * grub-core/fs/fshelp.c: Likewise.
14419 * grub-core/fs/hfs.c: Likewise.
14420 * grub-core/fs/jfs.c: Likewise.
14421 * grub-core/fs/minix.c: Likewise.
14422 * grub-core/fs/ufs.c: Likewise.
14423 * grub-core/fs/btrfs.c: Likewise.
14424 * grub-core/commands/i386/pc/play.c: Likewise.
14425
cbf597af
SJ
144262011-06-26 Szymon Janc <szymon@janc.net.pl>
14427
14428 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
14429 pointer checks before calling grub_free().
14430 * grub-core/commands/wildcard.c (match_devices): Likewise.
14431 * grub-core/commands/wildcard.c (match_files): Likewise.
14432 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
14433 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
14434 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
14435 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
14436 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
14437 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
14438 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
14439 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
14440 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
14441
6295b32f
P
144422011-06-25 Patrick <p55@mailinator.com>
14443
14444 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
14445
77c0840b
VS
144462011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
14447
14448 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
14449 (grub_pxe_send): Likewise.
14450 (GRUB_MOD_INIT): Fix types.
14451
40ea05de
SJ
144522011-06-24 Szymon Janc <szymon@janc.net.pl>
14453
14454 * grub-core/io/xzio.c: Fix code style issues
14455
90162423
MRA
144562011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
144572011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
14458
14459 Network infrastructure.
14460 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
14461
14462 * include/grub/net/arp.h: New file.
90162423
MRA
14463 * include/grub/net/device.h: Likewise.
14464 * include/grub/net/ethernet.h: Likewise.
14465 * include/grub/net/ip.h: Likewise.
14466 * include/grub/net/netbuff.h: Likewise.
14467 * include/grub/net/tftp.h: Likewise.
14468 * include/grub/net/udp.h: Likewise.
14469 * include/grub/ieee1275/ofnet.h: Likewise.
14470 * include/grub/emu/export.h: Likewise.
14471 * include/grub/net.h: Likewise.
14472 * grub-core/net/arp.c: Likewise.
14473 * grub-core/net/ethernet.c: Likewise.
14474 * grub-core/net/ip.c: Likewise.
14475 * grub-core/net/udp.c: Likewise.
14476 * grub-core/net/tftp.c: Likewise.
14477 * grub-core/net/netbuff.c: Likewise.
14478 * grub-core/net/net.c: Likewise.
14479 * grub-core/net/drivers/emu/emunet.c: Likewise.
14480 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
14481 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
14482 export.h.
14483 * grub-core/Makefile.core.def (net): New module.
14484 (tftp): Likewise.
14485 (ofnet): Likewise.
14486 (emunet): Likewise.
14487 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
14488 network protocols.
14489 * grub-core/kern/device.c (grub_net_open) : New variable.
14490 (grub_device_open): Handle network device.
14491 (grub_device_close): Likewise.
14492 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
14493 (grub_grubnet_fini): Likewise.
14494 (grub_file_seek): Seek in network device.
14495 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
14496 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
14497 network root.
14498 (grub_machine_fini): Call grub_grubnet_fini.
14499 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
14500 network.
14501 (grub_ieee1275_get_aliasdevname): New function.
14502 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14503 Add unofficial Solaris network info.
14504 (grub_multiboot_make_mbi): Likewise.
14505 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
14506 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
14507 * include/grub/device.h (grub_fs): Removed.
14508 * include/grub/err.h (grub_err_t): Add network-related values.
14509 * include/grub/i386/pc/pxe.h: Removed bootp parts.
14510 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
14511 (grub_ieee1275_get_aliasdevname): New proto.
14512 * include/grub/net.h: Rewritten.
423a1849 14513
031f22a0
VS
145142011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14515
14516 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
14517 names.
14518
4388ca72
VS
145192011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14520
14521 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
14522 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
14523 it truncates the output.
14524 Reported by: Ximin Luo.
14525
98e2f506
VS
145262011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14527
14528 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
14529
2a5e94d8
VS
145302011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14531
14532 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
14533 partmap before abstraction.
14534
535c1910
AK
145352011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
14536
14537 * util/grub-mkconfig_lib.in: Add missing quotes.
14538
bc09e1a2
VS
145392011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14540
14541 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
14542 old method if mountinfo would return /dev/root and /dev/root doesn't
14543 exist.
14544
290766fb
VS
145452011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14546
14547 ZFS zlib support
14548
14549 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
14550 (decomp_table): Add zlib entries.
14551 (zio_read): USe 8 bits for compression function rather than 3.
14552 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
14553
145542011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14555
14556 * grub-core/disk/ahci.c: Add missing license statements.
14557 * grub-core/fs/romfs.c: Likewise.
14558 * grub-core/lib/ia64/setjmp.S: Likewise.
14559 * grub-core/loader/i386/pc/freedos.c: Likewise.
14560 * grub-core/loader/ia64/efi/linux.c: Likewise.
14561 * grub-core/video/colors.c: Likewise.
14562 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
14563
5ab3f48a
VS
145642011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14565
14566 AHCI support.
14567
14568 * grub-core/Makefile.core.def (ata_pthru): Removed.
14569 (ahci): New module.
14570 (pata): Likewise.
14571 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
14572 on unload.
14573 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
14574 readwrite.
14575 (grub_hdparm_do_check_powermode_cmd): Likewise.
14576 (grub_hdparm_do_smart_cmd): Likewise.
14577 (grub_hdparm_set_val_cmd): Likewise.
14578 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
14579 * grub-core/disk/ahci.c: New file.
14580 * grub-core/disk/ata.c: Factor out the low-level part into ...
14581 * grub-core/disk/pata.c: ... here.
14582 * grub-core/disk/ata_pthru.c: Contents moved to ...
14583 * grub-core/disk/pata.c: ... here.
14584 * grub-core/disk/scsi.c (grub_scsi_names): New array.
14585 (grub_scsi_iterate): Use grub_scsi_names.
14586 (grub_scsi_open): Likewise.
14587 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
14588 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
14589 (grub_ata_regs_t): New struct.
14590 (grub_disk_ata_pass_through_parms): Likewise.
14591 (grub_ata_device): Renamed to ...
14592 (grub_ata): ... this.
14593 (grub_ata_dev): New struct.
14594 Removed all low-level inline functions.
14595 * include/grub/scsi.h: Add PATA and AHCI subsystems.
14596 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
14597 iterate hooks and open. All users updated.
14598 * util/grub-install.in: Handle AHCI disk module.
14599
c31dc5f5
SJ
146002011-06-23 Szymon Janc <szymon@janc.net.pl>
14601
14602 Add support for DRI and RSTn markers in JPEG files.
14603
14604 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
14605 (JPEG_MARKER_RST0): Likewise.
14606 (JPEG_MARKER_RST1): Likewise.
14607 (JPEG_MARKER_RST2): Likewise.
14608 (JPEG_MARKER_RST3): Likewise.
14609 (JPEG_MARKER_RST4): Likewise.
14610 (JPEG_MARKER_RST5): Likewise.
14611 (JPEG_MARKER_RST6): Likewise.
14612 (JPEG_MARKER_RST7): Likewise.
14613 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
14614 (grub_jpeg_decode_dri): New function.
14615 (grub_jpeg_decode_sos): Move image data related part into
14616 grub_jpeg_decode_data function.
14617 (grub_jpeg_decode_data): New function.
14618 (grub_jpeg_reset): New function.
14619 (grub_jpeg_decode_jpeg): Handle new markers.
14620
fe12fd5b
VS
146212011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14622
14623 * util/ieee1275/ofpath.c (check_sas): Close fd.
14624 (main): Free of_path.
14625 Reported by: David Volgyes <dvolgyes>.
14626
03147f46
VS
146272011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14628
14629 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
14630 Reported by: David Volgyes <dvolgyes>.
14631
cad3237f
VS
146322011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14633
14634 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
14635 file after stat.
14636 Reported by: David Volgyes <dvolgyes>.
14637
13548d26
VS
146382011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14639
14640 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
14641
14642 Reported by: David Volgyes <dvolgyes>.
14643
e061a1b5
VS
146442011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14645
14646 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
14647 Prevent memory leak.
14648
1abe47dc
VS
146492011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14650
14651 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
14652 (main): Close file.
e061a1b5 14653 Reported by: David Volgyes <dvolgyes>.
1abe47dc 14654
fbc62666
VS
146552011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14656
14657 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
14658 to continue if allocation is failed.
14659
14660 Reported by: David Volgyes <dvolgyes>.
14661
e98c83e9
DV
146622011-06-23 David Volgyes <dvolgyes>
14663
14664 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
14665 dereference.
14666
a199a8cd
VS
146672011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14668
14669 Fix spurious warning.
14670
14671 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
14672 (acorn_partition_map_find): Use .bin member.
14673
e2d1dba0
VS
146742011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14675
14676 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
14677 /dev/root as a valid device.
14678
8a5d6919
JM
146792011-06-23 Jim Meyering <meyering@redhat.com>
14680
e2d1dba0
VS
14681 Avoid NULL deref in grub_device_open.
14682
8a5d6919
JM
14683 * grub-core/kern/device.c (grub_device_open): Don't dereference
14684 a NULL pointer upon failed grub_env_get.
14685
f7db6f4a
VS
146862011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14687
14688 Support non-512B sectors and agglomerate reads.
14689
14690 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
14691 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
14692 (disk_io_guid): Removed.
14693 (make_devices): Locate solely by BlockIO.
14694 (grub_efidisk_open): Fill log_sector_size and total_sectors.
14695 (grub_efidisk_read): Use read_blocks.
14696 (grub_efidisk_write): Use write_blocks.
14697 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
14698 log_sector_size.
14699 (get_safe_sectors): Handle non-512B sectors.
14700 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
14701 sectors.
14702 (grub_biosdisk_write): Handle non-512B sectors.
14703 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
14704 (grub_scsi_read): Remove special non-512B block handling (now handled
14705 one level up).
14706 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
14707 and do sanity checks.
14708 (grub_disk_adjust_range): Handle non-512B sectors.
14709 (transform_sector): New function.
14710 (grub_disk_read_small): Likewise.
14711 (grub_disk_read): Rewritten.
14712 (grub_disk_write): Handle non-512B sectors.
14713 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
14714 log_sector_size.
14715 (open_device): Use log_sector_size.
14716 (grub_util_biosdisk_read): Likewise.
14717 (grub_util_biosdisk_write): Likewise.
14718 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
14719 non-512B sectors.
14720 (pc_partition_map_embed): Likewise.
14721 * include/grub/disk.h (grub_disk): New field log_sector_size.
14722 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
14723 (GRUB_DISK_CACHE_BITS): Increased to 6.
14724 * util/grub-fstest.c (fstest): New command testload.
14725 (argp_parser): Likewise.
14726
881ac815
RM
147272011-06-16 Robert Millan <rmh@gnu.org>
14728
14729 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
14730 `ata' driver on kernel of FreeBSD 9.
14731
14732 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
14733 (get_ataraid_disk_name): New functions.
14734 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
14735 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
14736 get_ataraid_disk_name() and get_ada_disk_name().
14737
1e9aef7d
CW
147382011-06-13 Colin Watson <cjwatson@ubuntu.com>
14739
14740 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
14741 input format.
14742
351c7c8a
CW
147432011-05-29 Colin Watson <cjwatson@ubuntu.com>
14744
14745 * docs/grub.texi (Obtaining and Building GRUB): Substitute
14746 `ftp.gnu.org' for `alpha.gnu.org'.
14747
6b4e6430
CW
147482011-05-27 Colin Watson <cjwatson@ubuntu.com>
14749
14750 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
14751 partitions under /dev/disk/by-id/.
14752
c64db050
CW
147532011-05-27 Colin Watson <cjwatson@ubuntu.com>
14754
14755 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
14756 after ten consecutive open failures. Scanning all the way up to
14757 10000 is excessive and can cause serious performance problems in
14758 some configurations.
14759 Fixes Ubuntu bug #787461.
14760
245f4aba
VS
147612011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14762
14763 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
14764 opening new one.
14765
f767c929
VS
147662011-05-21 Colin Watson <cjwatson@ubuntu.com>
147672011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14768
14769 Don't stat devices unless we have to.
14770
14771 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
14772 dir == /dev/mapper.
14773 (grub_guess_root_device): Use already known os_dev if possible.
14774 * grub-core/kern/emu/hostdisk.c
14775 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
14776 if device is known to be a dm one.
14777
f35fa3a6
CW
147782011-05-20 Colin Watson <cjwatson@ubuntu.com>
14779
14780 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
14781 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
14782 Reported by: Pawel Tecza.
14783
9a79fcf2
VS
147842011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
14785
14786 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
14787 (lsefisystab): Likewise.
14788 (lssal): Likewise.
14789 (lsefimmap): Likewise.
14790 (hdparm): Enable on qemu-mips.
14791 (setjmp): Add ia64 nodist.
14792 (serial): Simplify tags.
14793
63e3eea9
CW
147942011-05-18 Colin Watson <cjwatson@ubuntu.com>
14795
14796 * Makefile.util.def (grub-ofpathname): Install manual page.
14797
09728256
CW
147982011-05-18 Colin Watson <cjwatson@ubuntu.com>
14799
14800 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
14801
8b63a142
CW
148022011-05-18 Colin Watson <cjwatson@ubuntu.com>
14803
14804 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
14805
e775d8ed
VS
148062011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14807
14808 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
14809 into dprintf.
14810
bf947d36
VS
148112011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14812
14813 Use full 64-bit division.
14814
14815 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
14816 (grub_divmod64): ... this.
14817 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
14818 version.
14819
b84f26c5
CW
148202011-05-18 Colin Watson <cjwatson@ubuntu.com>
14821
14822 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
14823 `source'.
14824
5626056f
CW
148252011-05-18 Colin Watson <cjwatson@ubuntu.com>
14826
14827 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
14828 to avoid accidents when debugging with 'sh -x'.
14829 * grub-core/gensyminfo.sh.in: Likewise.
14830 * tests/example_scripted_test.in: Likewise.
14831 * tests/grub_cmd_regexp.in: Likewise.
14832 * tests/grub_script_blanklines.in: Likewise.
14833 * tests/grub_script_dollar.in: Likewise.
14834 * tests/grub_script_expansion.in: Likewise.
14835 * tests/grub_script_final_semicolon.in: Likewise.
14836 * tests/partmap_test.in: Likewise.
14837 * tests/util/grub-shell-tester.in: Likewise.
14838 * tests/util/grub-shell.in: Likewise.
14839
e2965f4a
CW
148402011-05-18 Colin Watson <cjwatson@ubuntu.com>
14841
14842 Move gfxmenu color handling to video, so that gfxterm can use it
14843 too.
14844
14845 * grub-core/gfxmenu/named_colors.c: Move to ...
14846 * grub-core/video/colors.c: ... here. Rename
14847 grub_gui_get_named_color to grub_video_get_named_color.
14848 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
14849 * grub-core/video/colors.c (my_isxdigit): ... here.
14850 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
14851 Move to ...
14852 * grub-core/video/colors.c (parse_hex_color_component): ... here.
14853 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
14854 to ...
14855 * grub-core/video/colors.c (grub_video_parse_color): ... here.
14856
14857 * include/grub/gui.h (grub_gui_color_t): Move to ...
14858 * include/grub/video.h (grub_video_rgba_color_t): ... here.
14859 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
14860 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
14861 * include/grub/gui.h (grub_gui_map_color): Move to ...
14862 * include/grub/video.h (grub_video_map_rgba_color): ... here.
14863 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
14864 to ...
14865 * include/grub/video.h (grub_video_get_named_color): ... here.
14866 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
14867 * include/grub/video.h (grub_video_parse_color): ... here.
14868
14869 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
14870 video/colors.c.
14871 (gfxmenu): Remove gfxmenu/named_colors.c.
14872 (video) [videomodules]: Add video/colors.c.
14873
14874 Add a background_color command.
14875
14876 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
14877 function.
14878 (GRUB_MOD_INIT): Register background_color command.
14879 (GRUB_MOD_FINI): Unregister background_color command.
14880 (redraw_screen_rect): Allow blend/replace of text layer to be
14881 controlled independently from whether there is a background bitmap.
14882 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
14883 changing bitmap.
14884
1e4b4390
VS
148852011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14886
26618ff0
VS
14887 Patch BPB in ntldr and chainloader --bpb.
14888
1e4b4390
VS
14889 * grub-core/fs/fat.c: Include grub/fat.h.
14890 (grub_fat_bpb): Moved to ...
14891 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
14892 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
14893 grub/ntfs.h.
14894 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
14895 Moved from here...
14896 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
14897 here.
14898 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
14899 New function.
14900 (grub_chainloader_cmd): Patch BPB if --bpb is given.
14901 (GRUB_MOD_INIT): Show --bpb.
14902 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
14903 * grub-core/normal/main.c (features): New variable.
14904 (GRUB_MOD_INIT): Set feature_* variables.
14905 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
14906 proto.
14907 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
14908
cf02731e
VS
149092011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14910
14911 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
14912 for cleanness.
14913
e3a1073f
VS
149142011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14915
14916 FreeDOS direct loading support.
14917
14918 * docs/grub.texi (Supported OS): Add FreeDOS.
14919 * grub-core/Makefile.core.def (freedos): New module.
14920 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
14921 variable.
14922 (grub_relocator16_boot): Handle %ebx.
14923 * grub-core/lib/i386/relocator16.S: Likewise.
14924 * grub-core/loader/i386/pc/freedos.c: New file.
14925
05caa461
VS
149262011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14927
14928 Long Linux command line support.
14929
14930 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
14931 (maximal_cmdline_size): New variable.
14932 (allocate_pages): Use maximal_cmdline_size.
14933 (grub_cmd_linux): Set and use maximal_cmdline_size.
14934 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
14935 (allocate_pages): Use maximal_cmdline_size.
14936 (grub_cmd_linux): Set and use maximal_cmdline_size.
14937 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
14938 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
14939 and cmdline_size.
14940
a2491e23
VS
149412011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
149422011-05-18 Colin Watson <cjwatson@ubuntu.com>
14943
14944 Improve devmapper support
14945
14946 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
14947 (grub_util_is_lvm): New function.
14948 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
14949 than lvm if not dmraid.
14950 Handle mapped md nodes.
14951 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
14952 (grub_util_device_is_mapped): ... this. Make always available. All users
14953 updated.
14954 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
14955 (convert_system_partition_to_system_disk): Handle lvm, mpath and
14956 dmraid nodes.
14957 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
14958
6ad6223e
VS
149592011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14960
14961 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
14962
14963 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
14964 * grub-core/modinfo.sh.in: New file.
14965 * grub-core/Makefile.core.def (modinfo.sh): New script.
14966 * util/grub-mknetdir.in: Use modinfo.sh.
14967 * util/grub-mkrescue.in: Likewise.
14968
543a8f6e
VS
149692011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14970
14971 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
14972 Fix potential usage of Elf32 instead of Elf64 when compiling on
14973 32-bit architecture. Add endianness macros while on it.
14974
4959e111
VS
149752011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14976
14977 Use mipsel- rather than mips- in directories involving mipsel ports to
14978 allow both endiannesses coexist.
14979
14980 * configure.ac: proparate target_cpu=mipsel rather than resetting to
14981 mips. All conditions adjusted.
14982 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
14983 variable.
14984 * util/grub-install.in: Adjust conditions to take renaming into account.
14985 * util/grub-mkimage.c (image_targets): Likewise. New target
14986 mips-qemu_mips-elf for bigendian mips.
14987
35341bbc
VS
149882011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14989
14990 Avoid unnecessary copying on MIPS.
14991
14992 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
14993 early if src == dest.
14994 * util/grub-mkimage.c (generate_image): Arange for src == dest if
14995 compression is none.
14996
b772baed
VS
149972011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14998
14999 Reduce memory footprint on SGI by putting modules before the kernel
15000 as opposed to after.
15001
15002 * grub-core/Makefile.core.def (kernel): Increase linking address.
15003 (none_decompress): Likewise.
15004 (xz_decompress): Likewise.
15005 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
15006 address.
15007 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
15008 layout change.
15009 (grub_arch_modules_addr): New function.
15010 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
15011 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
15012 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
15013 here.
15014 * grub-core/kern/mips/startup.S (total_size): Rename to ...
15015 (grub_total_modules_size): ... this. Make global.
15016 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
15017 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
15018 New definition.
15019 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
15020 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
15021 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
15022 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
15023 * util/grub-mkimage.c (image_target_desc): New flag
15024 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
15025 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
15026 (generate_image): Handle images with modules before kernel.
15027
566a1917
VS
150282011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15029
15030 Prevent potential loss of memory map by overwrite on qemu-mips.
15031
15032 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
15033 Save ram size in $s4.
15034 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
15035 All users changed to grub_arch_memsize.
15036 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
15037 Loongson.
15038 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
15039 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
15040 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
15041 external variable.
15042
5d420cd9
CW
150432011-05-17 Colin Watson <cjwatson@ubuntu.com>
15044
15045 * .bzrignore: Remove grub-dumpbios.
15046
d064b830
CW
150472011-05-17 Colin Watson <cjwatson@ubuntu.com>
15048
15049 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
15050 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
15051 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
15052 existing options which append).
15053 * docs/grub.texi (Simple configuration): Document new options.
15054 Reported by: Ian Jackson. Fixes Debian bug #617538.
15055
3ca2b466
CW
150562011-05-17 Colin Watson <cjwatson@ubuntu.com>
15057
15058 * util/grub-fstest.c (cmd_cat): New function.
15059 (fstest): Handle CMD_CAT.
15060 (options): Add cat.
15061 (argp_parser): Handle cat.
15062
24c9143a
CW
150632011-05-17 Colin Watson <cjwatson@ubuntu.com>
15064
15065 * Makefile.util.def (grub-bin2h): Don't install.
15066 * docs/man/grub-bin2h.h2m: Remove.
15067
90f7ac19
VS
150682011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15069
15070 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
15071 place.
15072
8d4a5178
VS
150732011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15074
15075 Reenable qemu-mips port.
15076
15077 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
15078 Fix small arc bug while on it.
15079 * gentpl.py: Handle qemu_mips.
15080 * grub-core/Makefile.am: Likewise.
15081 * grub-core/Makefile.core.def: Likewise.
15082 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
15083 inappropriate includes.
15084 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
15085 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
15086 * grub-core/kern/main.c (grub_modules_get_end)
15087 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
15088 * grub-core/kern/mips/qemu-mips: Moved to ..
15089 * grub-core/kern/mips/qemu_mips: ... this.
15090 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
15091 (grub_machine_init): Call terminfo_init and serial_init.
15092 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
15093 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
15094 New variable.
15095 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
15096 parameter passing.
15097 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
15098 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
15099 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
15100 * include/grub/mips/qemu_mips/cmos.h: New file.
15101 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
15102 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
15103 Removed.
15104 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
15105 Use correct mips-style address.
15106 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
15107 (GRUB_TICKS_PER_SECOND): Removed.
15108 (grub_get_rtc): Likewise.
15109 (grub_cpu_idle): Likewise.
15110 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
15111 New definition.
15112 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
15113 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
15114 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
15115 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
15116 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
15117 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
15118 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
15119 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
15120
400b9371
VS
151212011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15122
15123 SGI ARCS port.
15124
15125 * Makefile.util.def (libgrubmods.a): Add dvh.c.
15126 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
15127 platforms.
15128 * configure.ac: New target mips-arc.
15129 * gentpl.py: Likewise.
15130 * grub-core/Makefile.am: Likewise.
15131 * grub-core/Makefile.core.def: Likewise.
15132 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
15133 (none_decompress): Likewise.
15134 (lsdev): New module.
15135 (datetime): Use lib/arc/datetime.c on ARC.
15136 (part_dvh): New module.
15137 * grub-core/commands/arc/lsdev.c: New file.
15138 * grub-core/disk/arc/arcdisk.c: Likewise.
15139 * grub-core/kern/mips/arc/init.c: Likewise.
15140 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
15141 aligned addresses.
15142 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
15143 support.
15144 (grub_arch_dl_relocate_symbols): Likewise.
15145 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
15146 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
15147 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
15148 platforms.
15149 * grub-core/lib/arc/datetime.c: New file.
15150 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
15151 pci.h on non-loongson.
15152 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
15153 (grub_linux_boot): Set unused registers to 0.
15154 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
15155 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
15156 * grub-core/mmap/mips/uppermem.c: ...here.
15157 * grub-core/partmap/dvh.c: New file.
15158 * grub-core/term/arc/console.c: Likewise.
15159 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
15160 (grub_terminfo_set_current): Add terminal "arc".
15161 (grub_terminfo_readkey): Support ARC sequences.
15162 * include/grub/arc/arc.h: New file.
15163 * include/grub/arc/console.h: Likewise.
15164 * include/grub/disk.h (grub_disk_dev_id): Add
15165 GRUB_DISK_DEVICE_ARCDISK_ID.
15166 * include/grub/mips/arc/kernel.h: New file.
15167 * include/grub/mips/arc/memory.h: Likewise.
15168 * include/grub/mips/arc/time.h: Likewise.
15169 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
15170 * include/grub/mips/kernel.h (grub_halt): ... here.
15171 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
15172 here...
15173 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
15174 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
15175 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
15176 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
15177 proto.
15178 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
15179 from here ...
15180 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
15181 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
15182 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
15183 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
15184 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
15185 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
15186 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
15187 (grub_phys_addr_t): Moved from here ...
15188 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
15189 (grub_vtop): Moved from here ...
15190 * include/grub/mips/memory.h (grub_vtop): ... here.
15191 (grub_map_memory): Moved from here ...
15192 * include/grub/mips/memory.h (grub_map_memory): ... here.
15193 (grub_unmap_memory): Moved from here ...
15194 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
15195 (grub_machine_mmap_iterate): Moved from here ...
15196 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
15197 (grub_mmap_get_lower): Moved from here ...
15198 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
15199 (grub_mmap_get_upper): Moved from here ...
15200 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
15201 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
15202 here ...
15203 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
15204 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
15205 here ...
15206 * include/grub/mips/time.h (grub_get_rtc): ... here.
15207 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
15208 here ...
15209 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
15210 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
15211 here ...
15212 * include/grub/mips/time.h (grub_cpu_idle): ... here.
15213 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
15214 definition.
15215 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
15216 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
15217 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
15218 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
15219 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
15220 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
15221 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
15222 (GRUB_MACHINE_LINK_ADDR): Likewise.
15223 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
15224 to 6.
15225 * util/grub-install.in: Run dvhtool on ARC.
15226 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 15227 (generate_image): Handle ECOFF output for mips-arc.
400b9371 15228
c8ecc840
VS
152292011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15230
15231 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
15232 blocks.
15233
153a4b55
VS
152342011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15235
15236 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
15237 after enabling port.
15238
ff44d107
VS
152392011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15240
15241 Skip incorrect USB devices.
15242
15243 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
15244 configcnt == 0.
15245 * include/grub/usb.h (grub_usb_err_t): New enum value
15246 GRUB_USB_ERR_BADDEVICE.
15247
638dbe4f
VS
152482011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15249
15250 Fuloong video init support.
15251
15252 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
15253 well.
15254 (grub_vga_read_arx): New function.
15255 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
15256 definition.
15257 (framebuffer): New members io, mmioptr and mmiobase.
15258 (read_sis_cmd): New function.
15259 (write_sis_cmd): Likewise.
15260 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
15261 rather than 640x400.
15262 * grub-core/video/sis315_init.c: New file.
15263
c3fc520c
VS
152642011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15265
15266 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
15267 non-loongson.
15268 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
15269 to grub_dl_register_symbol.
15270
67b1e5c9
VS
152712011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15272
15273 Fix compilation errors.
15274
15275 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
15276 potentially unused.
15277 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
15278 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
15279 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
15280 to loongson machines.
15281
b756f75f
VS
152822011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15283
15284 Several FS mtime support.
15285
15286 * grub-core/fs/affs.c (grub_affs_time): New struct.
15287 (grub_affs_file): New field mtime.
15288 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
15289 type. Removed 'size'. New field 'di'. All users updated.
15290 (grub_affs_mount): Simplify checsum checking.
15291 (grub_affs_iterate_dir): New helper grub_affs_create_node.
15292 (grub_affs_dir): Handle mtime.
15293 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
15294 (grub_cpio_dir): Likewise.
15295 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
15296 (grub_hfs_filerec): New field mtime.
15297 (grub_hfs_dir): Handle mtime.
15298 (grub_hfs_mtime): New function.
15299 (grub_hfs_fs): Register grub_hfs_mtime.
15300 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
15301 (grub_iso9660_dir): New field mtime.
15302 (grub_fshelp_node): New field dirent.
15303 (iso9660_to_unixtime): New function.
15304 (iso9660_to_unixtime2): Likewise.
15305 (grub_iso9660_read_symlink): Use node->dirent.
15306 (grub_iso9660_iterate_dir): Likewise.
15307 (grub_iso9660_dir): Set mtime.
15308 (grub_iso9660_mtime): New function.
15309 (grub_iso9660_fs): Register grub_iso9660_mtime.
15310 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
15311 (grub_jfs_inode): New fields atime, ctime and mtime.
15312 (grub_jfs_dir): Set mtime.
15313 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
15314 * grub-core/fs/ntfs.c (list_file): Set mtime.
15315 (grub_ntfs_dir): Likewise.
15316 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
15317 (grub_reiserfs_iterate_dir): Set mtime.
15318 (grub_reiserfs_dir): Likewise.
15319 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
15320 (grub_fshelp_node): Likewise.
15321 (grub_sfs_iterate_dir): Set mtime.
15322 (grub_sfs_dir): Likewise.
15323 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
15324 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
15325 (grub_xfs_inode): New fields atime, mtime, ctime.
15326 (grub_xfs_dir): Set mtime.
15327 * include/grub/datetime.h (grub_datetime2unixtime): New function.
15328 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
15329 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
15330
15331 Support UDF symlinks.
15332
15333 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
15334 (grub_ufs_read_symlink): New function. All users updated.
15335
15336 Check amiga partmap checksum.
15337
15338 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
15339 (grub_amiga_partition): Likewise.
15340 (amiga_partition_map_checksum): New function.
15341 (amiga_partition_map_iterate): Check checksum.
15342
5470225d
VS
153432011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15344
15345 ROMFS support.
15346
15347 * Makefile.util.def (libgrubmods.a): Add romfs.
15348 * grub-core/Makefile.core.def (romfs): New module.
15349 * grub-core/fs/romfs.c: New file.
15350
d4680a35
VS
153512011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15352
15353 Squashfs v4 support.
15354
15355 * Makefile.util.def (libgrubmods.a): Add squash4.
15356 * grub-core/Makefile.core.def (squash4): New module.
15357 * grub-core/fs/squash4.c: New file.
15358 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
15359 disk_input_start, disk_input.
15360 (get_byte): Handle disk_input.
15361 (grub_zlib_disk_read): New function.
15362 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
15363
bcb18e74
FZ
153642011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
153652011-05-15 Feiran Zheng <famcool@gmail.com>
15366
15367 * Makefile.util.def (libgrubmods.a): Add minix3.
15368 * grub-core/Makefile.core.def (minix3): New module.
15369 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
15370 (GRUB_MINIX_BSIZE): Removed.
15371 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
15372 (grub_minix_ino_t): New type.
15373 (grub_minix_le_to_cpu_ino): New macro.
15374 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
15375 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
15376 (grub_minix_data): New field block_size.
15377 (grub_minix_read_file): Handle 64-bit correctly.
15378 * grub-core/fs/minix3.c: New file.
15379
32297d5f
TG
153802011-05-15 Tristan Gingold <gingold@free.fr>
153812011-05-15 Robert Millan <rmh.grub@aybabtu.com>
153822011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15383
15384 IA64 support.
15385
15386 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
15387 * configure.ac: Add ia64-efi target.
15388 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
15389 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
15390 * gentpl.py: Add ia64_efi platform.
15391 Rename x86_efi to efi and Add ia64-efi. All users updated.
15392 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
15393 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
15394 Remove kern/generic/rtc_get_time_ms.c on EFI.
15395 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
15396 kern/ia64/dl_helper.c on ia64-efi.
15397 Add kern/emu/cache.c on emu.
15398 (linux): Use on loader/ia64/efi/linux.c on ia64.
15399 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
15400 whether symbol is a function.
15401 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
15402 (grub_symbol): New field 'isfunc'.
15403 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
15404 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
15405 (grub_dl_load_segments): Place all sections into the same region.
15406 [__ia64__]: Create trampolines and got.
15407 [GRUB_MACHINE_EMU]: Call mprotect.
15408 (grub_dl_resolve_symbols): Resolve symbol type as well.
15409 [__ia64__]: Create function descriptors.
15410 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
15411 (grub_rtc_get_time_ms): ... this. Expressions simplified.
15412 (grub_get_rtc): New function.
15413 * grub-core/kern/emu/cache.c [__ia64__]: New file.
15414 * grub-core/kern/emu/cache.S: Renamed to ...
15415 * grub-core/kern/emu/cache_s.S: ... this.
15416 [__ia64__]: Add a nop.
15417 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
15418 [__ia64__]: New function.
15419 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
15420 * grub-core/kern/ia64/dl.c: New file.
15421 * grub-core/kern/ia64/dl_helper.c: Likewise.
15422 * grub-core/kern/ia64/efi/init.c: New file.
15423 * grub-core/kern/ia64/efi/startup.S: Likewise.
15424 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
15425 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
15426 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
15427 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
15428 * grub-core/loader/ia64/efi/linux.c: New file.
15429 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
15430 (GRUB_MOD_DEP): Likewise.
15431 (grub_dl) [__ia64__]: New fields got and tramp.
15432 (grub_dl): New field 'base'.
15433 (grub_dl_register_symbol): New argument isfunc. All users updated.
15434 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
15435 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
15436 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
15437 (grub_ia64_dl_get_tramp_got_size): New proto.
15438 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
15439 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
15440 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
15441 * include/grub/efi/api.h: Skip call wrappers on ia64.
15442 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
15443 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
15444 * include/grub/elf.h (ELF_ST_INFO): New definition.
15445 * include/grub/ia64/efi/kernel.h: New file.
15446 * include/grub/ia64/efi/memory.h: Likewise.
15447 * include/grub/ia64/efi/time.h: Likewise.
15448 * include/grub/ia64/kernel.h: Likewise.
15449 * include/grub/ia64/setjmp.h: Likewise (from glibc).
15450 * include/grub/ia64/time.h: New file.
15451 * include/grub/ia64/types.h: Likewise.
15452 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
15453 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
15454 New protos.
15455 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
15456 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
15457 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
15458 * util/grub-mkimage.c (image_target_desc): New field pe_target.
15459 All users updated.
15460 (EFI64_HEADER_SIZE): New definition. All users updated.
15461 (image_targets): Add ia64-efi.
15462 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
15463 jumpers_addr. All users updated.
15464 Create function descriptors.
15465 (count_funcs): New function.
15466 (unaligned_uint32): New struct.
15467 (MASK20): New definition.
15468 (MASK19): Likewise.
15469 (MASKF21): Likewise.
15470 (add_value_to_slot_20b): New function.
15471 (add_value_to_slot_21_real): Likewise.
15472 (add_value_to_slot_21): Likewise.
15473 (ia64_kernel_trampoline): New struct.
15474 (nopm): New variable.
15475 (jump): Likewise.
15476 (make_trampoline): New function.
15477 (relocate_addresses): Handle ia64.
15478 (make_reloc_section): Likewise.
15479 (load_image): Likewise.
15480
983b414d
VS
154812011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15482
15483 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
15484 warning. Move variables before code while on it.
15485
5d063cdc
VS
154862011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15487
15488 Fuloong support.
15489
15490 * configure.ac: Rename yeeloong platform to loongson. All users updated.
15491 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
15492 * grub-core/boot/mips/loongson/fuloong.S: New file.
15493 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
15494 Explicitly init CS5536.
15495 [FULOONG]: Don't use serial until CS5536 is available.
15496 Set GPIO based on dumps.
15497 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
15498 [FULOONG]: Handle GPIO and memory controller differences.
15499 Parse machine type in $a2.
15500 * grub-core/boot/mips/startup_raw.S: Determine and save the
15501 architecture.
15502 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
15503 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
15504 init on architecture type.
15505 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
15506 SIS315E. Don't init at_keyboard on fuloong.
15507 (grub_halt): Support Fuloong.
15508 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
15509 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
15510 (loongson_machtypes): New array.
15511 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
15512 type.
15513 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
15514 config. All users updated. Handle CS5536 serial.
15515 * grub-core/term/serial.c (grub_serial_register): Conditionalise
15516 default port on machine type. Register serial as inactive.
15517 * grub-core/video/sis315pro.c: New file.
15518 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
15519 definition.
15520 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
15521 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
15522 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
15523 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
15524 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
15525 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
15526 to ...
15527 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
15528 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
15529 definition.
15530 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
15531 (grub_arch_machine): New extern var.
15532 * include/grub/mips/loongson/serial.h
15533 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
15534 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
15535 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
15536 (GRUB_MACHINE_SERIAL_PORT0): ... this.
15537 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
15538 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
15539 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
15540 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
15541 * include/grub/term.h (grub_term_register_input_inactive): New inline
15542 function.
15543 (grub_term_register_output_inactive): Likewise.
15544 * include/grub/video.h (grub_video_driver_id): New value
15545 GRUB_VIDEO_DRIVER_SIS315PRO.
15546 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
15547 New field "names". All users updated.
15548 New field value IMAGE_FULOONG_FLASH.
15549 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
15550
6ada82d1
JU
155512011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
15552
15553 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
15554 and add some clarification.
15555
90c571a4
VS
155562011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15557
15558 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
15559 platforms if kernel is compressed.
15560
de04eecf
VS
155612011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15562
15563 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
15564 unused modules since currently referrence counter isn't reliable and
15565 there isn't much memory to recover there anyway.
15566
57688121
VS
155672011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15568
15569 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
15570 rather than resetting it to allow modules to reference themselves
15571 in init.
15572
3d2c7e35
VS
155732011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15574
15575 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
15576 counter on dependencies since grub_dl_unref already handles this.
15577
b25db218
VS
155782011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15579
15580 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
15581 on error if not already done.
15582
25a45338
VS
155832011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15584
15585 Fix few potential memory misusage.
15586
15587 * grub-core/font/font.c (load_font_index): Don't free char_index to
15588 avoid double free.
b25db218
VS
15589 (grub_font_load): Zero-fill font at alloc for safety.
15590 Close file on error.
15591 (free_font): Free bmp_idx.
25a45338 15592
0cac83df
VS
155932011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15594
15595 * docs/grub.texi (Installation): Fix several outdated claims.
15596
2217a143
VS
155972011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15598
15599 Handle module_license on windows.
15600
15601 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
15602 sections shifted.
15603 (insert_string): Make argument const char * instead of char *.
15604 (write_section_data): Handle long section names.
15605 Handle module_license.
15606
d4de6b01
VS
156072011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15608
15609 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
15610 handle class-free menuentries.
15611 (grub_normal_add_menu_entry): Add a check to be sure.
15612
4c2a3b43
VS
156132011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15614
15615 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
15616 PgUp and PgDown.
15617
85c6210f
VS
156182011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15619
15620 * configure.ac: Bump version to 1.99.
15621
36084912
VS
156222011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15623
15624 Give ATA device a bit more time on first try in order to allow disks
15625 to spin up.
15626
15627 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
15628 if dev->present is 1. Reset dev->present on failure.
15629 (grub_ata_device_initialize): Set dev->present to 1.
15630 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
15631 (grub_ata_device): New member 'present'.
15632
bda0e219
VS
156332011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15634
15635 * util/grub-mkimage.c (generate_image): Update hash.
15636
19e1c41b
VS
156372011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15638
15639 Flush caches on DMA memory.
15640
15641 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
15642 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
15643 (grub_dma_free): Likewise.
15644 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
15645
91bbcc0c
VS
156462011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15647
15648 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
15649 to avoid asm treating ld and sd as macros.
15650
60ddfad3
VS
156512011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15652
15653 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
15654 decompressor.
15655
a298aa04
VS
156562011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15657
15658 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
15659 grub_decompress_core since later would fail if grub_decompress_core
15660 is too far.
15661
9b44feca
VS
156622011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15663
15664 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
15665 R_MIPS_JALR since it's used by newer compiler.
15666
56dbe7b4
VS
156672011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
15668
15669 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
15670
52856af2
VS
156712011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15672
15673 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
15674 file_path to 0 for surety.
15675 (grub_chainloader_boot): Set exit_data to NULL.
15676 Unset the loader once done.
15677 (grub_cmd_chainloader): Fix confusing error message if file is empty.
15678
9c9bfc6d
VS
156792011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15680
15681 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
15682 unknown key into a dprintf.
15683
dd94a3df
VS
156842011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15685
15686 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
15687 on first non-existant partition.
15688
fa68d99c
VS
156892011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15690
15691 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
15692 openning fails.
15693 Reported by: Mark Korenberg.
15694
157effb7
VS
156952011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15696
15697 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
15698 overflow.
15699
ea75312f
VS
157002011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15701
15702 * util/grub-mkimage.c (main): Explicitely flush and sync the output
15703 before closing to ensure that it will be readable by grub-setup.
15704
072b5d31
VS
157052011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15706
15707 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
15708 (devpath_1): Use MAKE_PIWG_PATH.
15709 (devpath_2): Likewise.
15710 (devpath_3): Likewise.
15711 (devpath_4): Likewise.
15712 (devpath_5): Likewise.
15713 (devpath_6): Likewise.
15714
15715 The appleldr.mod was checked that to be binary identical to previous
15716 version.
15717
7fae0051
Z
157182011-05-05 Zach <mikezackles>
15719
15720 Support 2010 Macbooks.
15721
15722 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
15723 (devs): Add devpath_6.
15724
7c515bee
VS
157252011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15726
15727 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
15728 /dev/random. /dev/urandom is good enough for our purposes (salting).
15729
ed660bd8
VS
157302011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15731
15732 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
15733
ee5614b7
VS
157342011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15735
15736 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
15737 hexadecimal.
15738
664889a6
VS
157392011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15740
15741 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
15742 and not 0 on failure.
15743
bd405bbc
CW
157442011-05-03 Colin Watson <cjwatson@ubuntu.com>
15745
15746 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
15747 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
15748 disk; otherwise grub_fs_probe will not fall back to the next
15749 filesystem.
15750 (grub_pxefs_open): Likewise, for consistency.
15751 Reported and tested by: Ezekiel Grave.
15752
4ebff753
CW
157532011-05-03 Colin Watson <cjwatson@ubuntu.com>
15754
15755 * tests/partmap_test.in: Don't hardcode path to parted.
15756 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
15757
8f942553
CW
157582011-05-01 Colin Watson <cjwatson@ubuntu.com>
15759
15760 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
15761 of `ls' to find out which devices are available.
15762
3c62402d
VS
157632011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15764
15765 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
15766 than source address for efi mmap buffer.
15767
723f63f2
VS
157682011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15769
15770 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
15771 wrong action on non-detecting the magic.
15772
68797f92
VS
157732011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15774
15775 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
15776 already supplied by another part of the module (fixes compilation on
15777 FreeBSD).
15778
6be8715d
VS
157792011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15780
15781 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
15782 match the one used by mdadm.
15783
e91dba5b
CW
157842011-04-21 Colin Watson <cjwatson@ubuntu.com>
15785
15786 * po/README: Add instructions for creating po/LINGUAS.
15787
c85140b3
CW
157882011-04-21 Colin Watson <cjwatson@ubuntu.com>
15789
15790 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
15791 #551428.
15792
15793 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
15794 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
15795 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
15796 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
15797 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
15798 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
15799 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
15800 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
15801 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
15802 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
15803 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
15804 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
15805 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
15806 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
15807 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
15808 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
15809 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
15810 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
15811 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
15812 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
15813 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
15814 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
15815
92051871
CW
158162011-04-21 Colin Watson <cjwatson@ubuntu.com>
15817
15818 * grub-core/kern/emu/getroot.c
15819 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
15820 test that was incorrectly reintroduced in r3214.
15821 Reported by: Ian Dall. Fixes Savannah bug #33133.
15822
b13f79a4
CW
158232011-04-21 Colin Watson <cjwatson@ubuntu.com>
15824
15825 Fix stack pointer handling in 16-bit relocator.
15826
15827 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
15828 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
15829 Fixes Ubuntu bug #683904.
15830
9b710a88
VS
158312011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15832
15833 * configure.ac: Bump version to 1.99~rc2.
15834
d97e7b59
VS
158352011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15836
15837 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
15838 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
15839 * grub-core/lib/x86_64/setjmp.S: Likewise.
15840 * grub-core/lib/mips/setjmp.S: Likewise.
15841 * grub-core/lib/powerpc/setjmp.S: Likewise.
15842 * grub-core/lib/sparc64/setjmp.S: Likewise.
15843
0624551c
VS
158442011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15845
15846 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
15847 * grub-core/lib/efi/datetime.c: Likewise.
15848
e8f28d4c
VS
158492011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15850
15851 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
15852 New function.
15853 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
15854 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
15855 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
15856
bba79a15
VS
158572011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15858
15859 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
15860 bitmap.
15861 (grub_gfxterm_term_init): Likewise.
15862
abc474ef
VS
158632011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15864
15865 Take into account the decorations the computing menu entry width.
15866
15867 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
15868 (grub_gfxmenu_create_box): Register get_border_width.
15869 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
15870 if available.
15871 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
15872 get_border_width.
15873
e74b3947
EP
158742011-04-18 Endres Puschner <code@e7p.de>
15875
15876 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
15877 Don't skip first class.
15878
34faa595
VS
158792011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15880
15881 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
15882 chunks.
15883 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
15884
93a777e3
VS
158852011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15886
15887 Complete 64-bit division support.
15888
15889 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
15890 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
15891 * include/grub/misc.h (grub_divmod64): Rename to ...
15892 (grub_divmod64_full): ... this.
15893 (grub_divmod64): New inline function.
15894
a5102d94
VS
158952011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15896
15897 * util/grub-mkimage.c (generate_image): Add forgotten comma.
15898
f3fb7b36
VS
158992011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15900
15901 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
15902 performing the necessary test.
15903
9ac718b0
VS
159042011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
15905
15906 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
15907 (kfreebsd.elf): Likewise.
15908 (pc-chainloader.elf): Likewise.
15909 (ntldr.elf): Likewise.
15910
50d2cc5a
VS
159112011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
15912
15913 Identify RAID by its UUID rather than (guessed) name.
15914
15915 * grub-core/disk/raid.c (ascii2hex): New function.
15916 (grub_raid_open): Accept mduuid/%s specification.
15917 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
15918 (get_mdadm_uuid): ... this.
15919 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
15920
e03f7bea
VS
159212011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
15922
15923 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
15924 to negative size.
15925
e74c3112
CW
159262011-04-13 Colin Watson <cjwatson@ubuntu.com>
15927
15928 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
15929 btrfs subvolume.
15930 * util/grub.d/20_linux_xen.in: Likewise.
15931
78fa584f
CW
159322011-04-13 Colin Watson <cjwatson@ubuntu.com>
15933
15934 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
15935 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
15936
15937 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
15938 Build a list of relevant visible mounts using the mnt_id and
15939 parent_mnt_id fields, and then scan that list at the end.
15940
9d5f8162
CW
159412011-04-12 Colin Watson <cjwatson@ubuntu.com>
15942
15943 * docs/grub.texi (normal): New section.
15944 (normal_exit): New section.
15945 (Embedded configuration): Add reference to normal.
15946 (GRUB only offers a rescue shell): Likewise.
15947 * docs/grub-dev.texi (Error Handling): Fix typo.
15948
09a9d66f
CW
159492011-04-12 Colin Watson <cjwatson@ubuntu.com>
15950
15951 * NEWS: Drop obsolete entry about probe-only btrfs support.
15952
0c676933
CW
159532011-04-12 Colin Watson <cjwatson@ubuntu.com>
15954
15955 * util/import_gcry.py: Fix typo.
15956
ec9f5e0d
VS
159572011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15958
15959 * NEWS: Add btrfs support.
15960
fe6b2cba
VS
159612011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
159622011-04-11 Colin Watson <cjwatson@ubuntu.com>
15963
15964 BtrFS support. Written by me (Vladimir) with important bugfixes and
15965 even more important testing by Colin.
15966
15967 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
15968 * grub-core/Makefile.core.def (btrfs): Add crc.c.
15969 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
15970 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
15971 mem_input_off and mem_input. All users updated to accept in-RAM input.
15972 (gzio_seek): New function.
15973 (test_zlib_header): Likewise.
15974 (grub_gzio_read): Likewise.
15975 (grub_zlib_decompress): Likewise.
15976 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
15977 Accept partial and non-virtual mounts.
15978 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
15979 avoid receiving /dev/dm-X as device.
15980 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
15981 Handle bind and partial mounts.
15982 * grub-core/lib/crc.c: New file.
15983 * include/grub/deflate.h: Likewise.
15984 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
15985 proto.
15986 * include/grub/lib/crc.h: New file.
15987
e745cf0c
VS
159882011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15989
15990 Implement automatic module license checking according to new GNU
15991 guidelines.
15992
15993 * grub-core/kern/dl.c (grub_dl_check_license): New function.
15994 (grub_dl_load_core): Use grub_dl_check_license.
15995 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
15996 (GRUB_MOD_LICENSE): Likewise.
15997 (GRUB_MOD_DUAL_LICENSE): Likewise.
15998 All modules updated.
15999
2a9bc016
CW
160002011-04-11 Colin Watson <cjwatson@ubuntu.com>
16001
16002 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
16003 reserved_first_sector to 1. btrfs reserves plenty of space for boot
16004 loaders.
16005 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
16006
8a3bc88e
VS
160072011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16008
16009 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
16010
af869a4a
VS
160112011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16012
16013 * util/grub-fstest.c (read_file): Report GRUB error if file opening
16014 failed.
16015
9ee8d94f
VS
160162011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16017
16018 * grub-core/kern/file.c (grub_file_open): Don't take into account the
16019 parenthesis in the middle of the filename.
16020
b01abe3e
VS
160212011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16022
16023 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
16024 rather than trying to put initrd way too high.
16025 Reported by: Ryan Lortie <desrt@desrt.ca>
16026
335bda1e
VS
160272011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16028
16029 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
16030 improperly removed string.
16031
5ca1a64d
VS
160322011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16033
16034 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
16035 is_disk.
16036 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
16037 (open_device) Likewise.
16038 (grub_util_biosdisk_close): Likewise.
d8ce9995 16039 Reported by: Mark Korenberg.
5ca1a64d 16040
cbac5b1e
AK
160412011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
16042
16043 * util/grub-mkconfig_lib.in: Add missing quotes.
16044
088cdb65
CW
160452011-04-10 Colin Watson <cjwatson@ubuntu.com>
16046
16047 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
16048 is NULL.
16049
8b8a81fa
VS
160502011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16051
16052 Dynamically count the number of lines for the lower banner.
16053
16054 * grub-core/normal/menu_entry.c (per_term_screen): New member
16055 num_entries.
16056 (print_down): Use num_entries.
16057 (update_screen): Likewise.
16058 (grub_menu_entry_run): Set num_entries.
16059 * grub-core/normal/menu_text.c (menu_viewer_data): New member
16060 num_entries.
16061 (grub_print_message_indented): Move real part to ...
16062 (grub_print_message_indented_real): ... here. Additional argument
16063 dry_run.
16064 (draw_border): Additional argument num_entries.
16065 (print_message): Additional argument dry_run.
16066 (print_entries): Receive menu viewer data.
16067 (grub_menu_init_page): New argment num_entries.
16068 (menu_text_set_chosen_entry): Use num_entries.
16069 (grub_menu_try_text): Likewise.
16070 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
16071 All users updated.
16072 (grub_ucs4_count_lines): New function.
16073 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
16074 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
16075 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
16076 (grub_term_border_height): Likewise.
16077 (grub_term_num_entries): Likewise.
16078
277f955b
VS
160792011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16080
16081 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
16082 Remove now unused string.
16083
536ce85a
CW
160842011-04-09 Colin Watson <cjwatson@ubuntu.com>
16085
16086 * docs/grub-dev.texi (Finding your way around): Update for 1.99
16087 build system.
16088 (Getting started): GRUB is developed in Bazaar now, not Subversion.
16089
16090 (Comment): Fix typo.
16091 (Getting started): General copy-editing.
16092 (Typical Development Experience): Likewise.
16093 (Error Handling): Likewise.
16094 (Video API): Likewise.
16095
2cf09e32
CW
160962011-04-09 Colin Watson <cjwatson@ubuntu.com>
16097
16098 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
16099 throughout.
16100
1ec652f4
VS
161012011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16102
16103 * util/grub-mkimage.c (main): Handle special naming of yeeloong
16104 directory.
16105
2c583728
CW
161062011-04-08 Colin Watson <cjwatson@ubuntu.com>
16107
16108 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
16109 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
16110 "development".
16111
d7a565e9
VS
161122011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16113
16114 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
16115 grub_strcpy since the lines aren't necessarily 0-terminated.
16116
7c2e4909
VS
161172011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16118
16119 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
16120 root on legacy.
16121
34c09785
VS
161222011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16123
16124 * grub-core/commands/probe.c (options): Argument to set isn't optional.
16125 (GRUB_MOD_INIT): DEVICE isn't optional.
16126
6a6f8058
VS
161272011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16128
16129 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
16130 word on new line if it's too long anyway. Fixes a hang.
16131
2e335e90
VS
161322011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16133
16134 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
16135 const.
16136 * util/grub-setup.c (main): Reuse md device name if available.
16137 * util/raid.c (grub_util_raid_getmembers): Receive device name and
16138 not GRUB name as argument.
16139 Based on patch by: Florian Wagner <fwagner>.
16140
10a7a867
VS
161412011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16142
16143 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16144 Place mbi on low memory for better compatibility.
16145
7a3d6cd9
VS
161462011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16147
16148 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
16149
18dd6b47
VS
161502011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
161512011-04-08 Colin Watson <cjwatson@ubuntu.com>
16152
16153 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 16154 * conf/Makefile.common: Likewise.
18dd6b47 16155
3c0e3f14
VS
161562011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16157
f7148863
VS
16158 * grub-core/normal/menu.c: Add missing include.
16159
161602011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16161
16162 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 16163
6d1fa41f
MZ
161642011-04-08 Martin Zuther <mzuther@mzuther.de>
16165
16166 * util/grub-mkconfig.in: Ignore emacsen backup.
16167
478182a8
VS
161682011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16169
16170 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
16171 on open.
16172 (grub_util_biosdisk_close): Likewise.
16173
72a89a54
VS
161742011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16175
16176 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
16177 const attribute and use grub_isdigit.
16178
b5ebecfa
A
161792011-04-06 Andrey <dev_null@ukr.net>
16180
16181 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
16182 gcc warning.
16183
7755f66e
VS
161842011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16185
16186 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
16187 useful grub_dprintf's.
16188
461121ff
VS
161892011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16190
16191 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
16192
2a961775
VS
161932011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16194
16195 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
16196
adf594cc
VS
161972011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16198
16199 Output errors if theme loading failed.
16200
16201 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
16202 grub_gfxterm_fullscreen on error paths to ...
16203 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
16204 theme loading error.
16205
665900a3
VS
162062011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16207
16208 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
16209 space for older compilers.
16210 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16211
a562b479
VS
162122011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16213
16214 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
16215 and report them as not RAID members since they are useless for GRUB.
16216 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16217
850e9373
VS
162182011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16219
16220 Increase LVM implementation robustness in order not to crash on
16221 configurations like pvmove. Previously code assumed that in some places
16222 only lvs or only pvs are used whereas it seems that they are used
16223 interchangeably.
16224
16225 * grub-core/disk/lvm.c (read_node): New function.
16226 (read_lv): Use read_node.
16227 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
16228 Match volumes only at the end when all lvs are found. Take both
16229 pvs (first) and lvs (second) into account.
16230 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
16231 mirror_* into node_*. All users updated.
16232 (grub_lvm_stripe): Merge this ...
16233 (grub_lvm_mirror): ... and this ...
16234 (grub_lvm_node): ... into this. All users updated.
16235
6f332153
VS
162362011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16237
16238 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
16239 of function to allow further scanning for LVMs.
16240
829ea451
VS
162412011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16242
16243 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
16244 on failed seek as it breaks open fd reusage.
16245
09ceb9a5
VS
162462011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16247
16248 * util/grub-install.in: Add a recommendation to use --recheck before
16249 reporting bugs.
16250
67e11623
VS
162512011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16252
16253 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
16254 are obtained.
16255
caee5efd
VS
162562011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16257
16258 GRUB developper manual based on existing Internals section and
16259 contributions by the various authors with active copyright assignment.
16260
16261 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
16262 * docs/font_char_metrics.png: New file.
16263 * docs/font_char_metrics.txt: Likewise.
16264 * docs/grub-dev.texi: Likewise.
16265 * docs/grub.texi (Internals): Move from here ...
16266 * docs/grub-dev.texi: ... here.
16267
2cccc747
CW
162682011-04-01 Colin Watson <cjwatson@ubuntu.com>
16269
16270 Store the loopback device as data on loopback grub_disk structures,
16271 rather than the file it points to. This fixes use of freed memory
16272 if an existing loopback device is replaced.
16273
16274 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
16275 disk->data, not dev->file.
16276 (grub_loopback_read): Adjust file assignment to match.
16277 Fixes Ubuntu bug #742967.
16278
186ae367
CW
162792011-04-01 Colin Watson <cjwatson@ubuntu.com>
16280
16281 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
16282 when replacing an existing device.
16283
cfed2ad0
VS
162842011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
16285
16286 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
16287 memory corruptions.
16288
16289 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
16290 unsigned.
16291 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
16292 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
16293 (grub_jfs_read_inode): Likewise.
16294 (grub_jfs_opendir): Likewise. Remove now useless casts.
16295 (grub_jfs_getent): Likewise.
16296 Make ino a grub_uint32_t rather than int.
16297 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
16298 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
16299 division and module with bit operations.
16300 (grub_jfs_find_file): Make ino a grub_uint32_t.
16301 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
16302
05d2ed32
CW
163032011-04-01 Colin Watson <cjwatson@ubuntu.com>
16304
16305 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
16306 warning. (This was in fact always initialised before use, but GCC
16307 wasn't smart enough to prove that.)
16308 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
16309
91dc6073
VS
163102011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
16311
16312 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
16313 stack alignment.
16314 (efi_wrap_1): Likewise.
16315 (efi_wrap_2): Likewise.
16316 (efi_wrap_3): Likewise.
16317 (efi_wrap_4): Likewise.
16318 (efi_wrap_5): Likewise.
16319 (efi_wrap_6): Likewise.
16320 (efi_wrap_10): Likewise.
16321 Based on information by: Red Hat/Peter Jones.
16322
a8afc1d1
CW
163232011-03-31 Colin Watson <cjwatson@ubuntu.com>
16324
16325 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
16326 set-but-not-used variable.
16327
a826cc7d
CW
163282011-03-31 Colin Watson <cjwatson@ubuntu.com>
16329
16330 * docs/grub.texi (Simple configuration): Be more explicit about
16331 GRUB_DEFAULT, and add an example.
16332 Reported by: Leslie Rhorer.
16333
875b67ba
CW
163342011-03-30 Colin Watson <cjwatson@ubuntu.com>
16335
16336 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
16337 shell".
16338
fd7cd914
AS
163392011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
16340
16341 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
16342 * util/grub.d/20_linux_xen.in: Likewise.
16343
090b1b6a
VS
163442011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16345
16346 * util/grub.d/10_linux.in: Try alternative config filenames where
16347 we parse config file.
16348 * util/grub.d/20_linux_xen.in: Likewise.
16349
baad885c
AS
163502011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
16351
16352 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
16353 * util/grub.d/20_linux_xen.in: Likewise.
16354
241e41f5
VS
163552011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16356
16357 * grub-core/disk/raid.c (insert_array): Add few potentially
16358 useful grub_util_info.
16359 (grub_raid_register): Likewise.
16360
56445fb2
VS
163612011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16362
16363 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
16364 Preserve partition number in mdadm code path.
16365
c871b1c6
VS
163662011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16367
16368 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
16369 few potentially useful grub_util_info.
16370
5e631b4f
CW
163712011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16372
16373 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
16374
2d5d0333
CW
163752011-03-30 Colin Watson <cjwatson@ubuntu.com>
16376
16377 * docs/grub.texi (default): Use @example rather than nested
16378 itemized lists to avoid breaking gendocs.
16379
3d7ed04e
CW
163802011-03-30 Colin Watson <cjwatson@ubuntu.com>
16381
16382 * docs/grub.texi (Future): Update.
16383
abf04200 163842011-03-30 Colin Watson <cjwatson@ubuntu.com>
16385
16386 * docs/grub.texi (Environment): New chapter.
16387 (Changes from GRUB Legacy): Link to "Environment block" section for
16388 details of limitations.
16389 (Simple configuration): Likewise. Link to documentation of gfxmode
16390 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
16391 respectively.
16392 (Shell-like scripting): Note that normal variables are stored in the
16393 environment.
16394 (gettext): Link to documentation of lang and locale_dir.
16395 (list_env): New section.
16396 (load_env): New section.
16397 (save_env): New section.
16398
16399 (Reporting bugs): Fix typo.
16400
e1ad0edd
VS
164012011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16402
16403 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
16404 the example.
16405
5d803174
VS
164062011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16407
16408 * grub-core/term/at_keyboard.c (set_scancodes)
16409 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
16410
2a2da1d0
CW
164112011-03-30 Colin Watson <cjwatson@ubuntu.com>
16412
16413 * docs/grub.texi (Menu-specific commands): Remove some semantics
16414 that were true in GRUB Legacy but not in GRUB 2.
16415 (submenu): New section.
16416 (false): New section.
16417 (read): New section.
16418 (true): New section.
16419
a7527639
CW
164202011-03-30 Colin Watson <cjwatson@ubuntu.com>
16421
16422 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
16423
164242011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
16425
16426 * docs/grub.texi (Simple configuration): Explain some of the
16427 current limitations of grub-mkconfig.
8a748df2 16428 Reported by: Leslie Rhorer.
e30af029 16429
fc858482
VS
164302011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16431
16432 Old macs search for boot.efi rather than for bootia32.efi.
16433
16434 * util/grub-install.in: Copy bootia32.efi to boot.efi.
16435 * util/grub-mkrescue.in: Likewise.
16436 Suggested by: Peter Jones.
16437
e1eb511d
VS
164382011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16439
16440 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
16441
70e75364
VS
164422011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16443
16444 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
16445 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
16446 (grub_lvm_mirror): New struct.
16447 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
16448 (grub_lvm_iterate): Iterate only visible volumes.
16449 (grub_lvm_read): Factor out to ..
16450 (read_lv): ... this. Support mirrors.
16451 (grub_lvm_read): New wrapper function.
16452 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
16453 stripped or mirrored.
16454
fc18f6a3
VS
164552011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16456
16457 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
16458
5c650f4c
CW
164592011-03-29 Colin Watson <cjwatson@ubuntu.com>
16460
16461 * docs/grub.texi (loopback): New section.
16462
61d7156b
CW
164632011-03-29 Colin Watson <cjwatson@ubuntu.com>
16464
16465 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
16466 removed -p option.
16467
994b8264
CW
164682011-03-29 Colin Watson <cjwatson@ubuntu.com>
16469
16470 * docs/grub.texi (BIOS installation): New section, partly based on
16471 previous text in other sections.
16472 (Installing GRUB using grub-install): Replace BIOS discussion with a
16473 cross-reference.
16474 (Images): Likewise.
16475
9e4d19e0
VS
164762011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16477
16478 * grub-core/kern/emu/hostdisk.c (find_partition_start)
16479 [HAVE_DIOCGDINFO]: Add safety checks.
16480
a307c0b2
VS
164812011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16482
16483 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
16484 per default compiled in kernel and prior to 8.0 isn't shipped at all.
16485
b4db4f39
CW
164862011-03-29 Colin Watson <cjwatson@ubuntu.com>
16487
16488 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
16489 real_sb->size is zero (e.g. RAID-0), get the disk size from
16490 real_sb->data_size instead.
16491 Fixes Ubuntu bug #743136.
16492
35e5f84c
VS
164932011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16494
16495 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
16496 printf clauses for printing size and start.
16497
d2e29d81
VS
164982011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16499
16500 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
16501 Reported and tested by: Timothy Nikkel.
16502
ed5587af
VS
165032011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16504
16505 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
16506 (dirty_region_add_real): ... this.
16507 (dirty_region_add): Don't discard margin refresh when performing
16508 scheduled repaint.
16509
a1dc717c
VS
165102011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16511
16512 * grub-core/lib/relocator.c (allocate_regstart)
16513 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
16514 terminals are capabple of malloc-free operation.
16515 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
16516 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
16517
9f3677d3
VS
165182011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
16519
16520 * util/grub-setup.c: Copy the partition table zone if floppy support
16521 is disabled, even if no partition table is found.
16522
16523 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
16524 during POST if an invalid partition table is contained in the PBR
16525 of the active partition when GRUB is installed to a partition.
16526
24148725
CW
165272011-03-28 Colin Watson <cjwatson@debian.org>
16528
16529 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
16530 comment.
16531
f329eda7
CW
165322011-03-28 Colin Watson <cjwatson@debian.org>
16533
16534 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
16535 to be specific about what kind of RAID device we're scanning for.
16536
c482ad98
SG
165372011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
16538
16539 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
16540 return freed string.
16541
5ee04984
VS
165422011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16543
16544 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
16545
f4727da9
VS
165462011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16547
16548 Use libgeom on FreeBSD to detect partitions.
16549
16550 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
16551 (grub-mkrelpath): Likewise.
16552 (grub-script-check): Likewise.
16553 (grub-editenv): Likewise.
16554 (grub-mkpasswd-pbkdf2): Likewise.
16555 (grub-fstest): Likewise.
16556 (grub-mkfont): Likewise.
16557 (grub-mkdevicemap): Likewise.
16558 (grub-probe): Likewise.
16559 (grub-setup): Likewise.
16560 (grub-ofpathname): Likewise.
16561 (grub-mklayout): Likewise.
16562 (example_unit_test): Likewise.
16563 (grub-menulst2cfg): Likewise.
16564 * grub-core/Makefile.core.def (grub-emu): Likewise.
16565 (grub-emu-lite): Likewise.
16566 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
16567 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
16568 define HAVE_DIOCGDINFO.
16569 (follow_geom_up) [FreeBSD]: New function.
16570 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
16571 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
16572 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
16573 unconditionally of HAVE_DIOCGDINFO.
16574
82fe6c75
VS
165752011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16576
16577 Fix FreeBSD compilation problem.
16578
16579 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
16580 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
16581
4c6c9431
CW
165822011-03-24 Colin Watson <cjwatson@ubuntu.com>
16583
16584 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
16585 Switch back to page zero before loading a kernel, since some kernel
16586 drivers expect that.
16587 Thanks to: Felix Kuehling.
16588
c7064d94
VS
165892011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16590
16591 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
16592 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
16593 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
16594
3f71cded
VS
165952011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16596
16597 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
16598 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
16599
ef6de21a
VS
166002011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16601
16602 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
16603 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
16604 malloc is disabled.
16605
8bc66a2c
VS
166062011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16607
16608 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
16609 for modules headers when counting the needed allocation size.
16610
5657722c
VS
166112011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16612
16613 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
16614 if no ASCII character is found to prevent crash.
16615
41a85f55
AK
166162011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
16617
16618 * grub-core/video/bitmap.c (match_extension): Ignore case.
16619
59e1e5f1
VS
166202011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16621
16622 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
16623
bd4d051a
VS
166242011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16625
16626 * grub-core/script/parser.y: Declare "time" as valid argument.
16627
bae7fcc1
PJ
166282011-03-23 Peter Jones <pjones@redhat.com>
16629
16630 Fix incorrect assert failure reporting.
16631
16632 * grub-core/tests/example_functional_test.c (example_test): Add
16633 a failure comment.
16634 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
16635 (failure_start): ...this. Check that malloc succeeded.
16636 Don't call xvasprintf. Return failure struct.
16637 (failure_append_vtext): New function.
16638 (failure_append_text): Likewise.
16639 (add_failure): Likewise.
16640 (grub_test_assert_helper): Likewise.
16641 * include/grub/test.h (grub_test_assert_helper): New declaration.
16642 (grub_test_assert): Macro rewritten.
16643
537dc9be
VS
166442011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16645
16646 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
16647
fa3e01bf
VS
166482011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16649
16650 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
16651
b1d28404
VS
166522011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16653
16654 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
16655 into GRUB-style one.
16656
2e3e2e09
VS
166572011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16658
16659 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
16660 error and not grub_errno.
16661 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
16662
ed57e557
VS
166632011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16664
16665 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
16666 GRUB_USB_SPEED_NONE in case of failure and not the error code.
16667
d1611f01
VS
166682011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16669
16670 * grub-core/efiemu/i386/pc/cfgtables.c
16671 (grub_machine_efiemu_init_tables): Make declaration a prototype.
16672 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
16673 (grub_xnu_unlock): Likewise.
16674 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
16675
7d4e39d6
VS
166762011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16677
16678 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
16679 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
16680 * grub-core/commands/hashsum.c (aliases): Likewise.
16681 * grub-core/commands/setpci.c (pci_registers): Likewise.
16682 * grub-core/disk/usbms.c (attach_hook): Likewise.
16683 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
16684 (zio_checksum_table): Likewise.
16685 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
16686 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
16687 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
16688 * grub-core/lib/relocator.c (leftovers): Likewise.
16689 (extra_blocks): Likewise.
16690 * grub-core/loader/i386/bsd.c (relocator): Likewise.
16691 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
16692 (modules_last): Likewise.
16693 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
16694 (devices): Likewise.
16695 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
16696 (modules_last): Likewise.
16697 * grub-core/normal/auth.c (users): Likewise.
16698 * grub-core/normal/context.c (initial_menu): Likewise.
16699 (current_menu): Likewise.
16700 * grub-core/normal/crypto.c (crypto_specs): Likewise.
16701 * grub-core/term/serial.c (grub_serial_ports): Likewise.
16702 (grub_serial_terminfo_input_template): Likewise.
16703 (grub_serial_terminfo_output_template): Likewise.
16704 (grub_serial_terminfo_input): Likewise.
16705 (grub_serial_terminfo_output): Likewise.
16706 (registered): Likewise.
16707 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
16708
40fc4659
VS
167092011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16710
16711 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
16712 grub_video_mode_type_t.
16713 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
16714 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
16715 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
16716
2da48d28
VS
167172011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16718
16719 * util/grub-install.in: Correct the x86-64 name as x86_64.
16720
9b43bf39
CW
167212011-03-11 Colin Watson <cjwatson@ubuntu.com>
16722
16723 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
16724 initial chunk read from the kernel always includes GRUB's multiboot
16725 header, which is now outside the first sector.
16726
be1a7ce0
CW
167272011-03-09 Colin Watson <cjwatson@ubuntu.com>
16728
16729 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
16730 cached mmap_size, so that this works correctly when called multiple
16731 times.
16732 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
16733
83a3c48d
CW
167342011-03-09 Colin Watson <cjwatson@ubuntu.com>
16735
16736 * docs/grub.texi (Simple configuration): Tidy up formatting.
16737
57d75699
SJ
167382011-03-07 Szymon Janc <szymon@janc.net.pl>
16739
16740 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
16741 Set-but-not-used variable removed.
16742
028501a0
VS
167432011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
16744
16745 Workaround yet another IEEE1275 bug.
16746
16747 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
16748 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
16749 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
16750 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
16751 is set.
16752 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16753 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
16754
d998657d
VS
167552011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
16756
16757 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
16758 error.
16759
fee7cdd4
CW
167602011-02-11 Colin Watson <cjwatson@ubuntu.com>
16761
16762 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
16763 empty, since in that case we can only generate either nothing or a
16764 syntactically invalid configuration file.
16765 Reported by: Michal Suchanek. Fixes Debian bug #612898.
16766
97286eb5
CW
167672011-02-09 Colin Watson <cjwatson@ubuntu.com>
16768
16769 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
16770 (Making a GRUB bootable CD-ROM): Likewise.
16771 (Invoking grub-mkrescue): New section.
16772 Reported by: Yann Dirson. Fixes Debian bug #612585.
16773
22b28eb3
CW
167742011-02-09 Colin Watson <cjwatson@ubuntu.com>
16775
16776 * util/grub-install.in: Remove unnecessary brackets from tr
16777 arguments.
16778 * util/grub.d/10_hurd.in: Likewise.
16779 * util/grub.d/10_kfreebsd.in: Likewise.
16780 * util/grub.d/10_linux.in: Likewise.
16781 * util/grub.d/20_linux_xen.in: Likewise.
16782 Reported by: Jamie Heilman. Fixes Debian bug #612564.
16783
7e735e43
CW
167842011-02-08 Colin Watson <cjwatson@ubuntu.com>
16785
16786 * include/grub/file.h (not_easly_seekable): Rename to ...
16787 (not_easily_seekable): ... this. Update all users.
16788
800f1881
CW
167892011-01-28 Colin Watson <cjwatson@ubuntu.com>
16790
16791 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
16792 grub-mkrescue.
16793
3281d3d6
VS
167942011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
16795
16796 * util/grub-mkimage.c (generate_image): Refuse to create the images
16797 bigger than the actual flash (512K) in Loongson machines. 512K is also
16798 the biggest chip supported by them.
16799
3533413c
VS
168002011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16801
16802 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
16803
73ae4f4f
VS
168042011-01-22 Anthony DeRobertis <anthony@derobert.net>
16805
16806 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
16807 super_offset field.
16808
37f4f608
VS
168092011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16810
16811 * util/grub-install.in: Ignore install device on platforms
16812 where it doesn't make sense. Always use UUIDs except on pc, efi and
16813 sparc64.
16814 Reported by: Daniel Kahn Gillmor.
16815
03a4ccb5
VS
168162011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16817
16818 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
16819
ffc8f4d8
VS
168202011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16821
16822 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
16823 (iterate_real): Don't rely on partition being non-NULL.
16824
80f23be7
VS
168252011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16826
16827 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
16828 supported platforms. Put a compile time assert for this rather than
16829 generate a warning with 32-bit shift.
16830
5d4f4dd5
VS
168312011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16832
16833 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
16834 logical expression more readable.
16835
e489601a
VS
168362011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16837
16838 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
16839 even if some elements have a name.
16840 Reported by: Alexander GQ Gerasiov.
16841
96e0a6ea
CW
168422011-01-22 Colin Watson <cjwatson@ubuntu.com>
16843
16844 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
16845 path unreadable if `grub-probe -t abstraction' fails, for example if
16846 memberlist fails on an LVM volume group.
16847 Reported by: Darius Jahandarie.
16848
81431e2b
CW
168492011-01-22 Colin Watson <cjwatson@ubuntu.com>
16850
16851 * docs/grub.texi (Simple configuration): Document
16852 GRUB_PRELOAD_MODULES.
16853
5e79d66a
CW
168542011-01-17 Colin Watson <cjwatson@ubuntu.com>
16855
16856 * .bzrignore: Remove nonexistent grub-pbkdf2.
16857
646ada34
VS
168582011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
16859
16860 * configure.ac: Bump version to 1.99~rc1.
16861
04360337
VS
168622011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16863
16864 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
16865 for safety.
16866
46c9db88
VS
168672011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
16868
16869 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
16870 module.
16871
168722011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
16873
16874 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
16875
4fbf1852
VS
168762011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16877
16878 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
16879 diskdevid.
16880
f1632d4d
VS
168812011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16882
16883 Fix compilation on cygwin.
16884
16885 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
16886 -R .drectve on cygwin.
16887 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
16888 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
16889 (COND_CYGWIN): New condition.
16890 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
16891 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
16892 not @TARGET_OBJ2ELF@.
16893 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
16894 type to determine whether aux is to be used.
16895
0b5e127b
VS
168962011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16897
16898 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
16899 realpath'ed device string.
16900 Handle floppy (somewhat).
16901 Issue error in unknown case rather than garbage.
16902 Reported by: Axel Beckert.
16903
173b71e9
VS
169042011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16905
16906 * util/grub.d/00_header.in (load_video): Handle the case when no video
16907 drivers available.
16908 Thanks to: Axel Beckert.
16909
f8f479db
VS
169102011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16911
16912 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
16913 variable. Fixes problem on big endian platforms.
16914
8fc0a245
VS
169152011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16916
16917 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
16918 It doesn't work well there.
16919
b8494fbe
VS
169202011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16921
16922 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
16923 warning.
16924 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
16925 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
16926 counter.
16927
b44a558c
VS
169282011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16929
16930 Use alias->path rather than buggy "canon".
16931
16932 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
16933 (ofdisk_hash_add): New argument curcan. All users updated.
16934
51fa856c
CW
169352011-01-11 Colin Watson <cjwatson@ubuntu.com>
16936
16937 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
16938
9da068a5
VS
169392011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16940
16941 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
16942 loadmask before doing any calculations. Use correct type for offset.
16943 (grub_linux_load64): Likewise.
16944
86205c94
CW
169452011-01-11 Colin Watson <cjwatson@ubuntu.com>
16946
16947 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
16948 with NULL.
16949 (console_grub_equivalences_unshift): Likewise.
16950 Reported by: Daniel Dehennin.
16951
4531a206
VS
169522011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16953
16954 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
16955 (set_env_limn_ro): Likewise.
16956 (GRUB_MOD_INIT): Likewise.
16957 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
16958 ARRAY_SIZE while on it.
16959 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
16960 * grub-core/normal/context.c (grub_env_export): Move from here ...
16961 * grub-core/kern/env.c (grub_env_export): ... here.
16962 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
16963 prefix.
16964 * grub-core/kern/main.c (grub_main): Export root and prefix.
16965 * include/grub/env.h (grub_env_export): Export.
16966 Reported by: Seth Goldberg.
16967
45146057
VS
169682011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16969
16970 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16971 Take into account space used by ELF sections and multiboot palette.
16972 Reported by: Grégoire Sutre.
16973
f093110b
VS
169742011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16975
16976 * BUGS: New file.
16977
3395fe52
VS
169782011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16979
16980 Pass more appropriate video id to Linux.
16981
16982 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
16983 grub_video_get_driver_id and variable gfxpayloadforcelfb to
16984 fill have_vga.
16985 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
16986 shift params->lfb_size.
16987 * include/grub/i386/linux.h: Make an enume out of have_vga values.
16988
c2fa6cbb
VS
169892011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16990
16991 * util/grub-menulst2cfg.c: Add missing include of misc.h.
16992
b3ff6ff0
VS
169932011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16994
16995 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
16996 separator and pass bootpath/devid even if only one of them is available.
16997 Reported by: Seth Goldberg.
16998
ae67942e
VS
169992011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17000
17001 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
17002 implementations bug on them.
17003
17004 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
17005 memory.
17006 (filter_memory_map): Likewise.
17007
d570097a
VS
170082011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17009
17010 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
17011 Reported by: nebuchadnezzar.
17012
a508e776
VS
170132011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17014
17015 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
17016 Reported by: nebuchadnezzar.
17017
dcb883b1
VS
170182011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17019
17020 Submenu default support.
17021
17022 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
17023 auto_boot. All users updated.
17024 Declared static.
17025 Handle chosen and default with submenus.
17026 (grub_menu_execute_with_fallback): Declared static.
17027 Don't notify failure if autobooted. Upper level does it.
17028 (menuentry_eq): New function.
17029 (get_entry_number): Use menuentry_eq.
17030 (show_menu): New parameter "autobooted". All users updated.
17031 (grub_show_menu): Likewise.
17032 * include/grub/normal.h (grub_show_menu): Likewise.
17033 * include/grub/menu.h (grub_menu_execute_entry): Removed.
17034 (grub_menu_execute_with_fallback): Likewise.
17035
6fef99b4
VS
170362011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17037
17038 * util/grub-mklayout.c (usage): Update help text.
17039
47a77af5
VS
170402011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17041
17042 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
17043
ce6bb3ee
VS
170442011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17045
17046 * util/grub-menulst2cfg.c (main): Trim the line.
17047
db87be2a
VS
170482011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17049
17050 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
17051 (grub_machine_init): Don't check amount of low memory as reportedly
17052 INT 12h can be broken and if low memory is too low we wouldn't have
17053 gotten into grub_machine_init anyway.
17054
c49849cc
VS
170552011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17056
17057 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
17058 (grub_machine_mmap_iterate): Take low memory into account
17059
b1969b30
VS
170602011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17061
17062 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
17063 badfs.
17064 Reported by: TiCPU.
17065
cf0eaf13
VS
170662011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17067
17068 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
17069 members errors.
17070
1f060f39
GS
170712011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
17072
17073 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
17074 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
17075
a21e5672
GS
170762011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
17077
17078 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
17079 openbsd and netbsd types being in part_bsd module.
17080
c88172fa
VS
170812011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17082
17083 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
17084 (_FILE_OFFSET_BITS): Likewise.
17085 Reported by: Seth Goldberg.
17086
53798c4b
GS
170872011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17088
17089 * configure.ac: Check for libdevmapper header.
17090
e7121b69
VS
170912011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17092
17093 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
17094 avoid aliasing.
17095 (fzap_lookup): Likewise.
17096 (dnode_get): Likewise.
17097 (make_mdn): Likewise.
17098 (zfs_mount): Likewise.
17099 (fzap_iterate): Use temporary pointer to avoid aliasing.
17100 (grub_zfs_read): Likewise.
17101 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
17102 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
17103 pointers to avoid aliasing.
17104 (grub_cmd_xnu_kernel64): Likewise.
17105 (grub_xnu_load_driver): Likewise.
17106
fc836af9
VS
171072011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17108
17109 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
17110 aliasing warning.
17111 (grub_cmd_terminal_output): Likewise.
17112 Reported and tested by: Grégoire Sutre.
17113
f9f37648
VS
171142011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17115
17116 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
17117 warning.
17118 Reported and tested by: Grégoire Sutre.
17119
ec1dfd63
VS
171202011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17121
17122 * configure.ac: Do CPU substitution even if it's specified explicitly.
17123 Reported and tested by: Alain Greppin.
17124
9462775a
VS
171252011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17126
17127 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
17128 Reported and tested by: Alain Greppin.
17129
0fd48e35
VS
171302011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17131
17132 Satisfy some bison versions need for inttypes.h.
17133
17134 * grub-core/lib/posix_wrap/inttypes.h: New file.
17135 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
17136 (int16_t): Likewise.
17137 (int32_t): Likewise.
17138 (int64_t): Likewise.
17139 Reported and tested by: Alain Greppin.
17140
43f1bc83
VS
171412011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17142
17143 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
17144 Silence spurious warning.
17145 Reported and tested by: Alain Greppin.
17146
64d1f041
SJ
171472011-01-07 Szymon Janc <szymon@janc.net.pl>
17148
17149 * docs/grub.texi (Support automatic decompression): Update with xz
17150 decompression support.
17151
25953e10
SJ
171522011-01-07 Szymon Janc <szymon@janc.net.pl>
17153
17154 Improve loaders' kernel command line handling.
17155
17156 * grub-core/lib/cmdline.c: New file.
17157 * include/grub/lib/cmdline.h: Likewise.
17158 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
17159 grub_create_loader_cmdline to create kernel command line.
17160 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17161 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
17162 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
17163 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
17164 (linux): Add lib/cmdline.c on common.
17165
e72d259f
VS
171662011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17167
17168 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
17169 inopos might be unaligned.
17170
c0cf26da
VS
171712011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17172
17173 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
17174 endian transformations.
17175 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17176 Based on report by: Doug Nazar.
17177
0ca09e6c
DN
171782011-01-07 Doug Nazar <nazard.michi@gmail.com>
17179
17180 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
17181 array->members[i].start_sector.
17182 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
17183
014b6806
VS
171842011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17185
17186 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
17187 Reported and tested by: Grégoire Sutre.
17188
415502c2
CW
171892011-01-06 Colin Watson <cjwatson@ubuntu.com>
17190
17191 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
17192 avoid causing test failures by clearing the screen.
17193
71b6a2b7
CW
171942011-01-06 Colin Watson <cjwatson@ubuntu.com>
17195
17196 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
17197 Fix prefix check to handle the case where dir ends with a slash
17198 (most significantly, "/" itself).
17199 Reported by: Michael Vogt.
17200
b3f8d28a
VS
172012011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17202
17203 Run terminfo_cls on initing terminfo output to clear the screen and
17204 move the cursor to (0,0).
17205
17206 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
17207 Call grub_terminfo_output_init.
17208 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
17209 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
17210 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
17211
4c3e4f37
VS
172122011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17213
17214 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
17215 only when needed.
17216
488f71f1
VS
172172011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17218
17219 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
17220 CTRL.
17221
18a38098
VS
172222011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17223
17224 The E820 type 5 is BADRAM, not EXEC_CODE.
17225
17226 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
17227 (GRUB_E820_BADRAM): New define.
17228 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
17229 into reserved. Propagate BADRAM.
17230 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
17231 (GRUB_E820_BADRAM): New define.
17232
9eae2084
VS
172332011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17234
17235 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
17236 Ignore the memory post-4G.
17237 (grub_relocator_firmware_alloc_region): Additional debug statement.
17238
ebc71d28
VS
172392011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17240
17241 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
17242 names.
17243 Reported by: David Pravec.
17244
446fa400
VS
172452011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17246
17247 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
17248 BIOSes.
17249
a0159f37
VS
172502011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17251
17252 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
17253 Prevent overflow.
17254 (grub_reed_solomon_recover): Likewise.
17255
e5146ca1
VS
172562011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17257
17258 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
17259
172602011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
17261
17262 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
17263 variable.
17264
5b1bdf12
CW
172652011-01-04 Colin Watson <cjwatson@ubuntu.com>
17266
17267 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
17268 descriptions of extract_legacy_entries_source and
17269 extract_legacy_entries_configfile.
17270 Reported by: Seung Soo, Ha.
17271
99d925aa
CW
172722011-01-03 Colin Watson <cjwatson@ubuntu.com>
17273
17274 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
17275 on devices that do not implement function 0.
17276
4af0504b
DV
172772011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
17278
17279 * grub-core/fs/hfsplus.c: Make parent unsigned.
17280 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
17281 overflows.
17282 (grub_hfsplus_cmp_extkey): Likewise
17283
469ee10a
VS
172842011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
17285
17286 * util/grub-install.in: Correctly use bootloader_id and not
17287 GRUB_DISTRIBUTOR on efibootmgr line.
17288
323a8e9c
VS
172892011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
17290
17291 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
17292
1b394975
IC
172932010-12-31 Ian Campbell <ijc@hellion.org.uk>
17294
17295 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
17296 Xen and reorder menu item wording to make it clearer that this entry
17297 will launch Xen. Print separate messages when loading Xen and
17298 Linux.
17299
275bff5f
VS
173002010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17301
17302 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
17303 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
17304 loop in case of incorrect amiga partmap.
17305
307806cb
VS
173062010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17307
17308 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
17309 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
17310 Reported by:EHeM.
17311
b12b923e
VS
173122010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17313
17314 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
17315 spurious warning.
17316 Reported by: crocket
17317
14b48a19
VS
173182010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17319
17320 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
17321 Preload EFIemu.
17322 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
17323
693db2df
VS
173242010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17325
17326 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
17327 is loaded
17328 (grub_cmd_xnu_kextdir): Likewise.
17329 (grub_cmd_xnu_splash): Likewise.
17330
c7638645
VS
173312010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17332
17333 Avoid using Reed-Solomon with 0 redundancy.
17334
17335 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
17336 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
17337 or 0 redundancy.
17338 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
17339 (grub_reed_solomon_recover): Likewise.
17340
25dd4780
VS
173412010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17342
17343 Don't use disk subsystem in freebsd_boot.
17344
17345 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
17346 (freebsd_biosdev): Likewise.
17347 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
17348 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
17349
0b2db943
VS
173502010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
17351
17352 Handling of files of unknown size is currently limited. They can't be
17353 used e.g. for initrd or modules. Moreover gzip handling of not
17354 easily seekable files is buggy. Disable unknown file size for now. May
17355 be inefficient but works.
17356
17357 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
17358 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
17359
5c408d0f
MP
173602010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
17361
17362 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
17363 floppy probe.
17364
190a011a
JD
173652010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
17366
17367 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
17368
022d01b8
SL
173692010-12-25 Shea Levy <shlevy>
17370
17371 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
17372
c4855fdc
VS
173732010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17374
17375 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
17376 Windows Server 2008.
17377 Reported by: Devin Giddings.
17378
0354b867
VS
173792010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17380
17381 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
17382 writing an error message because of async power management.
17383 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
17384 (grub_reboot): Likewise.
17385
ab66c69f
JU
173862010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
17387
17388 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
17389 keep unit tests from failing when they shouldn't.
17390
1426ef35
CW
173912010-12-21 Colin Watson <cjwatson@ubuntu.com>
17392
17393 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
17394 previous patch increased the size of the RS code by 20 bytes (at
17395 least with gcc-4.4), so increase this by 20 bytes to match.
17396 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17397
20641b6b
CW
173982010-12-21 Colin Watson <cjwatson@ubuntu.com>
17399
17400 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
17401 scratch area. Make sure to initialise chosen in standalone mode as
17402 well as non-standalone.
17403 Reported by: Robert Hooker and Andy Whitcroft.
17404 Tested by: Andy Whitcroft.
17405
d060ad60
CW
174062010-12-21 Colin Watson <cjwatson@ubuntu.com>
17407
17408 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
17409 constructing a new unescaped string and passing it to grub_xputs in
17410 one go, rather than passing characters to grub_printf one at a time.
17411
b889cfad
CW
174122010-12-21 Colin Watson <cjwatson@ubuntu.com>
17413
17414 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
17415 initialising utf16.
17416
4e01b6c8
CW
174172010-12-21 Colin Watson <cjwatson@ubuntu.com>
17418
17419 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
17420 comment. Add an extra layer of quotation, requiring the output of
17421 this function to be used in a printf format string.
17422 (gettext_printf): New function.
17423 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
17424 Extract translatable strings from here-documents and use a temporary
17425 variable instead, so that xgettext can find them.
17426 * util/grub.d/10_kfreebsd.in: Likewise.
17427 * util/grub.d/10_linux.in: Likewise.
17428 * util/grub.d/20_linux_xen.in: Likewise.
17429
17430 * po/grub.d.sed: New file.
17431 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
17432 arguments. Set c-format flags on all strings extracted from
17433 util/grub.d/ (xgettext refuses to include these itself for strings
17434 it extracted from a shell file, but these really are c-format).
17435
5318fe98
VS
174362010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
17437
17438 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
17439 Avoid next pointing to nowhere.
17440
6c85b743
VS
174412010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17442
17443 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
17444 rather than assuming than rootblock is exactly in the middle.
17445 (grub_affs_label): Likewise.
17446
a2a08a35
VS
174472010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17448
17449 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
17450 reserved_first_sector to 0.
17451 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
17452 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
17453 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
17454
7059d1ec
VS
174552010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17456
17457 Fix handling of UTF-16 UDF labels.
17458
17459 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
17460 (read_string): .. here.
17461 (grub_udf_label): Use read_string.
17462
30aff4cb
BC
174632010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
17464
17465 * grub-core/normal/menu_entry.c (run): Execute commands from menu
17466 editor under argument scope.
17467 Reported by: Jordan Uggla
17468
5cf86f4b
VS
174692010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17470
17471 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
17472
32570200
CW
174732010-12-18 Colin Watson <cjwatson@ubuntu.com>
17474
17475 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
17476 line, and other keys scroll an entire page (previous handling was
17477 for \r and \n to scroll a page and other keys to scroll two lines).
17478
e1dffcf2
VS
174792010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17480
17481 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17482 Set ptrdest to correct get_physical_target_address rather than
17483 incorrect get_virtual_current_address.
17484
b04298cf 174852010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
17486
17487 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
17488 correct cat to grub_uint8_t * rather than grub_uint32_t *.
17489
5367ecd3
CW
174902010-12-10 Colin Watson <cjwatson@ubuntu.com>
17491
17492 * .bzrignore: Ignore grub-core/rs_decoder.S.
17493
1fb430f8
CW
174942010-12-10 Colin Watson <cjwatson@ubuntu.com>
17495
17496 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
17497 .mo/.mo.gz opening sequence to ...
17498 (grub_mofile_open_lang): ... here.
17499 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
17500 * util/grub.d/00_header.in (grub_lang): Include country part of
17501 locale.
17502 Reported by: Mario Limonciello.
17503
a94a6671
RM
175042010-12-09 Robert Millan <rmh@gnu.org>
17505
17506 * NEWS: Document addition of ZFS support.
17507
24b7938b
CW
175082010-12-04 Colin Watson <cjwatson@ubuntu.com>
17509
17510 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
17511 rather than `/ 2', as the latter requires -Wa,--divide which would
17512 require bumping our minimum binutils version.
17513
bddc3ef6
BC
175142010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
17515
17516 * util/grub-script-check.c (main): Print script line number on
17517 error.
17518
bf78d5b2
RM
175192010-12-01 Robert Millan <rmh@gnu.org>
17520
17521 * grub-core/fs/zfs/zfs.c: New file.
17522 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
17523 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
17524 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
17525 * grub-core/fs/zfs/zfsinfo.c: Likewise.
17526
17527 * include/grub/zfs/dmu.h: Likewise.
17528 * include/grub/zfs/dmu_objset.h: Likewise.
17529 * include/grub/zfs/dnode.h: Likewise.
17530 * include/grub/zfs/dsl_dataset.h: Likewise.
17531 * include/grub/zfs/dsl_dir.h: Likewise.
17532 * include/grub/zfs/sa_impl.h: Likewise.
17533 * include/grub/zfs/spa.h: Likewise.
17534 * include/grub/zfs/uberblock_impl.h: Likewise.
17535 * include/grub/zfs/vdev_impl.h: Likewise.
17536 * include/grub/zfs/zap_impl.h: Likewise.
17537 * include/grub/zfs/zap_leaf.h: Likewise.
17538 * include/grub/zfs/zfs.h: Likewise.
17539 * include/grub/zfs/zfs_acl.h: Likewise.
17540 * include/grub/zfs/zfs_znode.h: Likewise.
17541 * include/grub/zfs/zil.h: Likewise.
17542 * include/grub/zfs/zio.h: Likewise.
17543 * include/grub/zfs/zio_checksum.h: Likewise.
17544
17545 * Makefile.util.def: Build ZFS into libgrubmods.
17546 * grub-core/Makefile.core.def: Build zfs.mod.
17547
3f0f3831
SJ
175482010-11-30 Szymon Janc <szymon@janc.net.pl>
17549
17550 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
17551 variable.
17552 * grub-core/commands/wildcard.c (match_files): Likewise.
17553
3a4253b2
RM
175542010-11-30 Robert Millan <rmh@gnu.org>
17555
17556 * grub-core/loader/i386/bsd.c
17557 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
17558 whether kernel is loaded using grub_loader_is_loaded(), rather
17559 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
17560 certain error conditions.
17561
8c317b27
RM
175622010-11-30 Robert Millan <rmh@gnu.org>
17563
c5c9cd3e
RM
17564 * grub-core/commands/echo.c: Include `<grub/term.h>'.
17565 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 17566
49d3ab46
VS
175672010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
17568
17569 Avoid using tricks for initialising endian variables.
17570
17571 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
17572 Make const.
17573 (GRUB_MOD_INIT): Don't byte-swap.
17574 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
17575 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
17576 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
17577 (grub_swap_bytes32_compile_time): Likewise.
17578 (grub_cpu_to_le32_compile_time): Likewise.
17579 (grub_cpu_to_le16_compile_time): Likewise.
17580
f420a804
VS
175812010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
17582
17583 * util/grub-setup.c (setup): Stop recommending --force. People who
17584 understand the dangers of blocklists are able to find this option
17585 anyway and the ones who don't shouldn't use it anyway.
17586
4e7db17b
RM
175872010-11-26 Robert Millan <rmh@gnu.org>
17588
17589 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
17590 Update all users.
17591
9be57a0d
CW
175922010-11-26 Colin Watson <cjwatson@ubuntu.com>
17593
17594 Fix LVM-on-RAID probing.
17595
17596 * util/grub-probe.c (probe): Remember which disk was detected as
17597 RAID (perhaps an LVM physical volume). Use that disk's raidname
17598 rather than that of the top-level disk.
17599
2c7859b3 176002010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 17601
d7647bb6
BC
17602 Fix cmdline argument quotes for setparams command of menuentry
17603 definitions.
7e623b0d
BC
17604
17605 * grub-core/commands/menuentry.c (setparams_prefix): Use single
17606 quotes for arguments.
f866fe80 17607 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 17608 grub_strchrsub function instead.
f866fe80 17609
7955bea0 17610 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 17611
74f72a64
CW
176122010-11-24 Colin Watson <cjwatson@ubuntu.com>
17613
17614 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
17615 effort by skipping "." and ".." entries up-front.
17616 Suggested by: Michael Lazarev.
17617
5a407278
CW
176182010-11-24 Colin Watson <cjwatson@ubuntu.com>
17619
17620 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
17621 ldflags to ldadd, to fix link line ordering.
17622 (none_decompress): Likewise.
17623
3030d8ec
CW
176242010-11-24 Colin Watson <cjwatson@ubuntu.com>
17625
17626 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
17627 platforms.
17628 (grub-emu-lite): Remove kern/emu/cache.S.
17629
b7fbac12
CW
176302010-11-23 Colin Watson <cjwatson@ubuntu.com>
17631
17632 * util/deviceiter.c (compare_devices): If the by-id link for a
17633 device couldn't be resolved, fall back to sorting by the by-id link
17634 rather than segfaulting.
17635 Reported and tested by: Daniel Mierswa.
17636
5225f328
CW
176372010-11-23 Colin Watson <cjwatson@ubuntu.com>
17638
17639 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
17640 ldflags, to fix link line ordering.
17641
038b3ce8
CW
176422010-11-23 Colin Watson <cjwatson@ubuntu.com>
17643
17644 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
17645 linkers are picky about this.
17646
bf16e98e
CW
176472010-11-23 Colin Watson <cjwatson@ubuntu.com>
17648
17649 * grub-core/Makefile.am (command.lst): Adjust sed expression
17650 ordering so that extended and priority commands aren't treated as
17651 ordinary commands.
17652
7242bab6
CW
176532010-11-23 Colin Watson <cjwatson@ubuntu.com>
17654
17655 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
17656 Remove byte-swapping function calls, which are not valid in
17657 structure initialisers.
17658 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
17659 non-const.
17660 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
17661 grub_gpt_partition_type_bios_boot.
17662
14e8b279
CW
176632010-11-22 Colin Watson <cjwatson@ubuntu.com>
17664
17665 Fix test program build on GNU/kFreeBSD.
17666
17667 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
17668 $(LIBNVPAIR)' library dependencies.
17669
e6f63338 176702010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
17671
17672 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
17673
cf8ffc38
CW
176742010-11-22 Colin Watson <cjwatson@ubuntu.com>
17675
17676 * util/grub-install.in: Remove excessive quoting that broke
17677 installations to RAID devices.
17678
7f8b0fd7
VS
176792010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17680
17681 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
17682 bootloader version instead of 0.
17683
dfd240b1
VS
176842010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17685
17686 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
17687 warning.
17688
7b61e609
VS
176892010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17690
17691 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
17692 retrieve the metadat sector if size isn't known.
17693 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17694
9dfe92d0
RM
176952010-11-18 Robert Millan <rmh@gnu.org>
17696
17697 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
17698 with grub_memcmp().
17699
41cc919e
VS
177002010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
17701
17702 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
17703 arrow.
17704 Reported by: Jordan Uggla.
17705
1afcc914
VS
177062010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
17707
17708 Make better UTF compliant.
17709
17710 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
17711 sequences as incorrect.
17712 (grub_is_valid_utf8): Likewise.
17713 (grub_utf8_to_ucs4): Likewise.
17714 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
17715 (grub_ucs4_to_utf8_alloc): Likewise.
17716 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
17717
f1808884
VS
177182010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
17719
17720 Make legacy_source behave like source.
17721
17722 * grub-core/commands/legacycfg.c (legacy_file): Don't call
17723 grub_show_menu.
17724 (grub_cmd_legacy_source): Call grub_show_menu if needed.
17725
24ec575b
CW
177262010-11-16 Colin Watson <cjwatson@debian.org>
17727
17728 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
17729 (-Wunused implies -Wunused-parameter, but not vice versa).
17730
72b7c7aa
CW
177312010-11-16 Colin Watson <cjwatson@ubuntu.com>
17732
17733 * configure.ac: Make error messages less confusing by testing for
17734 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
17735 accepted, but produces a diagnostic if something else is wrong).
17736
e98937aa
VS
177372010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
17738
17739 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
17740 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
17741 (now unused).
17742 (grub_keyboard_controller_init)
17743 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
17744 read the initial state since controller isn't inited yet.
17745
f6bbabc3
VS
177462010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
17747
17748 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
17749 allocate_regbeg may need to create new chunk header.
17750
22e7dbb2
VS
177512010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17752
17753 Fix quoting in legacy parser.
17754
17755 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
17756 single quotes.
17757 (grub_legacy_parse): Likewise.
17758 Reported by: Jordan Uggla.
17759 Tested by: Jordan Uggla.
17760
03f80960
VS
177612010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17762
17763 Don't add -lgcc on i386 and x86_64.
17764
17765 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
17766 * conf/Makefile.common (LDADD_KERNEL): Likewise.
17767 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
17768
779dc15b
VS
177692010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17770
17771 * configure.ac: Add -Wno-trampolines when supported.
17772
d20a3b37
MV
177732010-11-14 Modestas Vainius <modax@debian.org>
17774
17775 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
17776 fakeraid.
17777
e5360933
GC
177782010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17779
17780 Add generic logical block size support for UDF.
17781
17782 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
17783 (GRUB_UDF_BLKSZ): Removed.
17784 (struct grub_udf_data): New field "lbshift" to hold the logical block
17785 size of the file system in log2 format. All users updated.
17786 (sblocklist): Change type to unsigned.
17787 (grub_udf_mount): Change type of "sblklist" to unsigned.
17788 Move AVDP search before VRS recognition, because the latter requires
17789 knowledge of the logical block size, which is detected during the
17790 former.
17791 Detect and validate logical block size during AVDP search, adding
17792 support for block sizes 512, 1024 and 4096.
17793 Make VRS recognition independent of block size.
17794
cb0229c5
GC
177952010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17796
17797 Properly handle deleted files on UDF.
17798
17799 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
17800 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
17801 set.
17802
406858a8
GC
178032010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17804
17805 Support reading files larger than 2 GiB.
17806
17807 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
17808 "offset" to grub_off_t.
17809 (grub_udf_read_file): Likewise for parameter "pos".
17810
130da6a7
VS
178112010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17812
17813 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
17814 unavailable.
17815 (Simple configuration): Refer to Changes from GRUB Legacy about
17816 save_env availability.
17817
65e93f6b
VS
178182010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17819
17820 * util/grub-install.in: Ignore empty partition table detection
17821 instead of trying to include part_ module.
17822
1fd08bf1
VS
178232010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17824
17825 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
17826 LVM on RAID support.
17827
de1a024f
VS
178282010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17829
17830 Properly define WORDS_BIGENDIAN in wrapped environments.
17831
17832 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
17833 definition.
17834 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
17835
17836 Reported by: Manoel Rebelo Abranches.
17837 Tested by: Manoel Rebelo Abranches.
17838
bc5dd0b9
VS
178392010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17840
17841 * util/grub-mkconfig.in: Fix quoting.
17842
58c184be
VS
178432010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17844
17845 Support big ext2 files.
17846
17847 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
17848 (grub_ext2_read_block): Support triple indirect blocks.
17849 (grub_ext2_read_file): Use 64-bit types and read size_high.
17850 (grub_ext2_open): Read size_high.
17851 Reported by: Ximin Luo.
17852 Tested by: Manoel Rebelo Abranches.
17853
5f0c02b3
VS
178542010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17855
17856 * util/grub-install.in: Handle filenames containing spaces.
17857 Reported by: Jordan Uggla.
17858 Tested by: Jordan Uggla.
17859
4417aae6
VS
178602010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17861
17862 * util/grub-mkconfig.in (grub_script_check): New variable.
17863 Use grub_script_check instead of grub-script-check.
17864 Reported by: Barry Jackson.
17865
7625a68e
VS
178662010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17867
17868 * docs/grub.texi (menu): Correct the order.
17869 Reported by: D. Hugh Redelmeier.
17870
10001ac5
VS
178712010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
17872
17873 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
17874 jump.
17875
9c4cf53b
MRA
178762010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
17877
10001ac5
VS
17878 * include/grub/elfload.h (grub_elf32_size): New parameter.
17879 All users updated.
9c4cf53b
MRA
17880 Return maximum segments alignment.
17881 (grub_elf64_size): Likewise.
17882 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
17883 Return maximum segments alignment.
17884 (grub_elf64_size): Likewise.
17885 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
17886 (grub_linux_claimmap_iterate): New function. Uses the
17887 "available" property in the "memory" node for memory allocation
17888 for kernel in the PowerPC loader.
9c4cf53b
MRA
17889 (grub_linux_load32): Correctly find linux entry point offset.
17890 (grub_linux_load64): Likewise.
17891
d2bf06bf
RM
178922010-11-07 Robert Millan <rmh@gnu.org>
17893
17894 On mips-yeeloong, build with -march=loongson2f when this flag is
17895 available (GCC >= 4.4).
17896 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
17897 `-march=mips3'.
17898 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
17899 or otherwise add -march=mips3.
17900
898c99a2
BC
179012010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
17902
87220a68
BC
17903 Suppress shell expansion on echo '*' and echo "*" like cases.
17904 Reported by: Jordan Uggla.
898c99a2
BC
17905
17906 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
17907 string arguments before shell expansion.
17908 * tests/grub_cmd_echo.in: New testcases.
17909
4f9b406a
RM
179102010-11-07 Robert Millan <rmh@gnu.org>
17911
17912 * conf/mips-qemu-mips.rmk: Remove stale file from previous
17913 transition.
17914
80c6d25e
VS
179152010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
17916
17917 * grub-core/kern/emu/hostdisk.c
17918 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
17919
4a1a0153
VS
179202010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17921
17922 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
17923 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
17924 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
17925
34706ddc
VS
179262010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17927
17928 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
17929
6972dea9
VS
179302010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17931
17932 * util/grub-install.in: Replace useless recomendation to pass
17933 --modules with a recomendation to report a bug.
17934
9c693bd6
VS
179352010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17936
17937 Properly register serial terminfo.
17938 Reported by: Jordan Uggla
17939
17940 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
17941 const.
17942 (grub_serial_terminfo_output_template): Likewise.
17943 (grub_cmd_serial): Register "serial" with terminfo.
17944 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
17945 grub_serial_terminfo_output.
17946
6c9e4c0c
RM
179472010-11-05 Robert Millan <rmh@gnu.org>
17948
17949 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
17950 needed).
17951
b9b3839f
RM
179522010-11-05 Robert Millan <rmh@gnu.org>
17953
17954 On Yeeloong, pass machine type information to Linux.
17955
17956 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
17957 (LOONGSON_MACHTYPE): New macro, set to
17958 "machtype=lemote-yeeloong-2f-8.9inches".
17959 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
17960 additional argument to Linux.
17961
1a3aaff4
RM
179622010-11-04 Robert Millan <rmh@gnu.org>
17963
17964 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
17965 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
17966 (its SATA disks are detected as slaveless IDE master drives on
17967 kFreeBSD).
17968 Reported by Carsten Aulbert.
17969
a75f4f62
CW
179702010-11-02 Colin Watson <cjwatson@ubuntu.com>
17971
17972 * util/bin2h.c (main): Fix spelling error in generated output.
17973
33b4b0c6
GS
179742010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
17975
17976 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
17977
2b36fbf4
VS
179782010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17979
17980 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
17981 vga= option is supplied.
17982
74aaf558
VS
179832010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17984
17985 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
17986 * util/grub.d/10_kfreebsd.in: Likewise.
17987 * util/grub.d/10_linux.in: Likewise.
17988 * util/grub.d/20_linux_xen.in: Likewise.
17989
6428dec3
VS
179902010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17991
17992 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
17993 argument as an argument to no-argument option.
17994
f8729d98
VS
179952010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17996
17997 * util/grub.d/10_linux.in: Add missing load_video with explicit
17998 GRUB_GFXPAYLOAD_LINUX.
17999
89d68fa6
VS
180002010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18001
18002 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
18003
3a1197cd
VS
180042010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18005
18006 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
18007 elements with invlid index.
18008 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18009 * grub-core/disk/raid.c (insert_array): Automatically reallocate
18010 members.
18011 * include/grub/raid.h (grub_raid_member): New struct.
18012 (grub_raid_array): Transform devices and start_sector into usage of
18013 grub_raid_member. All users updated
18014 (allocated_devs): New member.
18015
71574288
VS
180162010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18017
18018 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
18019 is modified
18020
8d40ec65
BC
180212010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
18022
18023 NetBSD build fix for getline function conflict from gnulib.
18024
18025 * Makefile.util.def (libgrubkern.a): New library for grub kernel
18026 components that depend on gnulib headers.
18027 (libgrubmods.a): Renamed from earlier libgrub.a.
18028 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
18029
95b9257e
VS
180302010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18031
18032 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
18033 install rather than creating a broken install.
18034
26c53dc6
VS
180352010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18036
18037 * util/grub-setup.c (argp): Remove misleading example of installing to
18038 a partition.
18039
4171b3c5
VS
180402010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18041
18042 * util/grub-setup.c (setup): Clarify the error message.
18043
18568d18
VS
180442010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18045
18046 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
18047
4f6a2e21
VS
180482010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
18049
18050 * grub-core/kern/emu/misc.c
18051 (grub_make_system_path_relative_to_its_root)
18052 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
18053
180542010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
18055
18056 * grub-core/kern/emu/misc.c
18057 (grub_make_system_path_relative_to_its_root): Revert r2882.
18058
e138c458
VS
180592010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
18060
18061 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
18062 useless field head. All users updated.
18063 (free_subchunk): Correct handling of IN_REGION subchunk.
18064
0cbcdf0e
CW
180652010-10-22 Colin Watson <cjwatson@ubuntu.com>
18066
18067 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
18068 (Supported kernels): Likewise.
18069
b65ea155
GS
180702010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
18071
18072 Make mktemp invocations portable.
18073
18074 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
18075 exit if mktemp fails.
18076 * tests/grub_script_blockarg.in: Likewise.
18077 * tests/partmap_test.in: Likewise.
18078 * tests/util/grub-shell-tester.in: Likewise.
18079 * tests/util/grub-shell.in: Likewise.
18080 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18081 * Makefile.am: Likewise, and chain shell commands with `&&'
18082 instead of ';'.
18083 * util/grub-mkrescue.in: Use the same explicit template as above, and
18084 exit if mktemp fails.
18085
05f43cdd
BC
180862010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
18087
18088 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
18089 Linux kernel, reported by Dennis Schridde.
18090
800e6a9b
SJ
180912010-10-17 Szymon Janc <szymon@janc.net.pl>
18092
18093 * grub-core/normal/auth.c (grub_auth_check_authentication):
18094 Set-but-not-used variable removed.
18095
d82df574
VS
180962010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18097
18098 * docs/grub.texi (GNU/Linux): Document APM unavailability with
18099 32-bit linux protocol.
18100
7bced458
VS
181012010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18102
18103 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
18104 cursor shape for sanity.
18105
5b027690
VS
181062010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18107
18108 * docs/grub.texi (Installation): Document buggy BIOS install.
18109
ba5f65cf
VS
181102010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18111
18112 * docs/grub.texi (Installation): Indent.
18113
fdf2ec9c
VS
181142010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18115
18116 * util/grub-setup.c (setup): New parameter allow_floppy.
18117 (arguments): New member allow_floppy.
18118 (argp_parser): Handle --allow-floppy.
18119 (main): Pass allow_floppy.
18120 * util/grub-install.in: New option --allow-floppy passed though to
18121 grub-setup.
18122
861dfd4c
VS
181232010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18124
18125 * util/grub-install.in: Handle partitionless disks.
18126
f77a8c24
VS
181272010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18128
18129 * util/grub-setup.c (setup): Don't clean blocklists before readability
18130 verfification.
18131
27d9ee32
VS
181322010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18133
18134 * docs/grub.texi (Installation): Document embedding zone. Remove
18135 obsolete grub-install example.
18136
6bdda8f8
SJ
181372010-10-16 Szymon Janc <szymon@janc.net.pl>
18138
18139 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
18140 Set-but-not-used variable ifdef'ed.
18141 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
18142 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
18143 variable removed.
18144 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
18145 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
18146 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
18147 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
18148 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
18149 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
18150 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
18151 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
18152 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
18153 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
18154 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
18155 Likewise.
18156
e19b016b
VS
181572010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18158
18159 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
18160 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
18161 enum value.
18162
6c8d3002
VS
181632010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18164
18165 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
18166 synonym to _S5_. Needed for some DSDTs.
18167
c32b51c9
VS
181682010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18169
18170 Userspace ACPI parser debugging.
18171
18172 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
18173 headers and add relevant defines. Don't include standard headers.
18174 (main) [GRUB_DSDT_TEST]: New function.
18175 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
18176 Don't declare functions.
18177
fbfbeb39
VS
181782010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18179
18180 Remove dead grub_efi_mm_fini.
18181
18182 * grub-core/kern/efi/mm.c (allocated_page): Removed.
18183 (ALLOCATED_PAGES_SIZE): Likewise.
18184 (MAX_ALLOCATED_PAGES): Likewise.
18185 (allocated_pages): Likewise.
18186 (grub_efi_allocate_pages): Don't record allocated pages.
18187 (grub_efi_free_pages): Likewise.
18188 (grub_efi_mm_init): Likewise.
18189 (grub_efi_mm_fini): Removed.
18190
65f7ed7c
VS
181912010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18192
18193 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
18194 (grub_efi_mm_init): Take into account the memory map size increase.
18195
24977b44
VS
181962010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18197
18198 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
18199 (serial_hw_put): Wait based on real time rather than port reads. Don't
18200 roken ports.
18201 * include/grub/serial.h (grub_serial_port): New field broken.
18202
1eb01cd2
RM
182032010-10-16 Robert Millan <rmh@gnu.org>
18204
18205 * grub-core/kern/emu/misc.c
18206 (grub_make_system_path_relative_to_its_root): Fix premature return
18207 when processing non-root ZFS filesystems.
5f8b440b 18208 Reported by Sergio Talens-Oliag.
1eb01cd2 18209
2d5fed60
RM
182102010-10-15 Robert Millan <rmh@gnu.org>
18211
18212 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
18213 guarantee compressed ones are processed first.
18214
d0f4c1ea
VS
182152010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
18216
18217 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
18218 grub_efiemu_autocore.
18219
d87c681f
VS
182202010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
18221
18222 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
18223 rather than 0x1b.
18224 (grub_console_getkey): Use correct jae opcode rather than ja.
18225
219b3564
RM
182262010-10-12 Robert Millan <rmh@gnu.org>
18227
18228 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
18229 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
18230 variable. All references updated.
18231
18232 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
18233
20c6bb7e
VS
182342010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
18235
18236 Correctly distinguish mdraid flavours.
18237
18238 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
18239 (insert_array): New argument raid.
18240 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
18241 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
18242 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
18243
74baff84
VS
182442010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
18245
18246 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
18247 handling of special keys.
18248
3ef068df 182492010-10-02 Aleš Nesrsta <starous@volny.cz>
18250
c7980ad9
VS
18251 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
18252 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 18253
a9455194 182542010-10-02 Aleš Nesrsta <starous@volny.cz>
18255
c7980ad9
VS
18256 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
18257 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
18258 users updated.
a9455194 18259 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 18260 Use right endpoint when querying descriptor.
a9455194 18261
441cfe65
VS
182622010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
18263
18264 Clear out 0x80 color bit on EFI.
18265 Tested by: decoder
18266 Reported by: decoder and meta tech.
18267
18268 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
18269 (grub_console_setcolorstate): Clear out 0x80 bit.
18270 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
18271 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
18272 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
18273
bf26bcc4
VS
182742010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
18275
18276 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
18277 Set to "auto".
18278
6e3c515d
VS
182792010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18280
18281 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
18282 mo_file after freeing.
18283
e6d983ba
VS
182842010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18285
18286 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
18287
74ccb5b5
VS
182882010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18289
18290 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
18291 flags.
18292
17821956
VS
182932010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18294
18295 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
18296 usage.
18297
ee74fa48
VS
182982010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18299
18300 Put terminfo into core on ieee1275 and yeeloong (needed for console).
18301
18302 * gentpl.py: New groups terminfoinkernel and terminfomodule.
18303 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
18304 and terminfo.h when needed.
18305 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
18306 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
18307 (terminfo): Enable only on terminfokernel.
18308 (extcmd): Likewise.
18309 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
18310 * include/grub/lib/arg.h: Likewise.
18311 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
18312 incorrect usage of ->.
18313
aa438e68
VS
183142010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18315
18316 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
18317 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
18318
57994012
VS
183192010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18320
18321 Fix coreboot compilation.
18322
18323 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18324 Take VBE info into account even if only text is supported.
18325 (fill_vbe_info): Take into account the case when only VGA text
18326 is supported.
18327 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
18328 on coreboot, multiboot and qemu.
18329
2a406611
VS
183302010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18331
18332 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
18333 debug messages.
18334 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
18335
d33613fc
VS
183362010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18337
18338 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
18339 parameters.
18340
44a1b432
VS
183412010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18342
18343 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
18344 if they were BSD-style.
18345
edde54e6
VS
183462010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18347
18348 * grub-core/boot/i386/pc/lnxboot.S: Replace
18349 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
18350 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
18351
b65830fa
VS
183522010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18353
18354 Write embedding zone using Reed-Solomon.
18355
18356 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
18357 * grub-core/Makefile.am (rs_decoder.S): New target.
18358 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
18359 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
18360 (multiboot): Move to RS part.
18361 (post_reed_solomon): New label.
18362 (grub_boot_drive): Move to non-RS part since it's modified in memory
18363 on boot.
18364 Include rs_decoder.S.
18365 * grub-core/lib/reed_solomon.c: New file.
18366 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
18367 New definition.
18368 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
18369 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
18370 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
18371 * include/grub/partition.h (grub_partition_map): Change prototype of
18372 embed to allow returning additional sectors.
18373 * include/grub/reed_solomon.h: New file.
18374 * util/grub-setup.c (setup): Handle Reed-Solomon.
18375
0b4b227f
CW
183762010-09-28 Colin Watson <cjwatson@ubuntu.com>
18377
18378 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
18379 i386 and x86-64 definedness tests.
18380
f772623b
YB
183812010-09-27 Yves Blusseau <blusseau@zetam.org>
18382
18383 Fix generation of kernel_syms.lst
18384
18385 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
18386 ASM_PREFIX
18387
8e57a6ca
RM
183882010-09-26 Robert Millan <rmh@gnu.org>
18389
18390 Support degraded ZFS arrays in "grub-probe -t device" resolution.
18391
18392 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
18393 the pool is an array of devices, iterate through it and return the
18394 first device that passes a stat() test (instead of blindly returning
18395 the first one).
18396
f9130836
RM
183972010-09-26 Robert Millan <rmh@gnu.org>
18398
18399 Build fixes for GNU/kFreeBSD.
18400
18401 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
18402 to programs that require ZFS conversion.
18403 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
18404 kernels that don't have FLOPPY_MAJOR.
18405
96510faf
BC
184062010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
18407
18408 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
18409
449333eb
BC
184102010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
18411
18412 Fix grub-emu build.
18413
18414 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
18415 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
18416 mdraid09 and mdraid1x.
18417
e1fd1939
CW
184182010-09-24 Colin Watson <cjwatson@ubuntu.com>
18419
18420 Re-enable grub-extras.
18421
18422 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
18423 avoid confusing Automake. Run autogen only twice, once for the top
18424 level and once for grub-core. Add Makefile.util.def and
18425 Makefile.core.def from extra modules to the appropriate autogen
18426 invocations. If Makefile.common exists in an extra module, include
18427 it in both Makefile.util.am and grub-core/Makefile.core.am;
18428 similarly, include any Makefile.util.common file in Makefile.util.am
18429 and any Makefile.core.common file in grub-core/Makefile.core.am.
18430 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
18431 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
18432 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
18433 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
18434
18435 * gentpl.py (gvar_add): Turn GVARS into a set.
18436 (global_variable_initializers): Sort global variables on output.
18437 (vars_init): New function.
18438 (first_time): Likewise.
18439 (library): Ensure that non-global variable initialisations are
18440 emitted before the first time we emit code for a library block.
18441 Append to variables rather than setting them. Only emit
18442 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
18443 each conditional path.
18444 (program): installdir() emits an Autogen macro, so must be passed to
18445 var_add rather than gvar_add.
18446 (data): Likewise.
18447 (script): Likewise.
18448 (rules): New function, centralising handling for different target
18449 types. Set up Guile association lists for first_time and vars_init,
18450 and send most output to a diversion so that variable initialisations
18451 can be emitted first.
18452 (module_rules): Use new rules function.
18453 (kernel_rules): Likewise.
18454 (image_rules): Likewise.
18455 (library_rules): Likewise.
18456 (program_rules): Likewise.
18457 (script_rules): Likewise.
18458 (data_rules): Likewise.
18459
18460 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
18461
18462 * .bzrignore: Add contrib and grub-core/contrib. Remove
18463 grub-core/Makefile.gcry.am.
18464
1d12cf29
YB
184652010-09-24 Yves Blusseau <blusseau@zetam.org>
18466
18467 * grub-core/lib/LzFind.c: Add missing include.
18468 * grub-core/lib/LzmaEnc.c: Likewise.
18469 * grub-core/script/lexer.c: Likewise.
18470 * grub-core/script/yylex.l: Likewise.
18471 * util/grub-macho2img.c: Likewise.
18472 * util/grub-menulst2cfg.c: Likewise.
18473 * util/grub-mklayout.c: Likewise.
18474 * util/grub-mkpasswd-pbkdf2.c
18475 * util/grub-mkrelpath.c: Likewise.
18476 * util/resolve.c: Likewise.
18477
dd363028
BC
184782010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
18479
18480 * Makefile.util.def (example_unit_test): Add
18481 grub-core/gnulib/libgnu.a.
18482
f5a109e2
GS
184832010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
18484
18485 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
18486
6d0fa83c
VS
184872010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
18488
18489 Support xz compression on yeeloong.
18490
18491 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
18492 * configure.ac: Check for LZMA.
18493 * grub-core/Makefile.core.def (xz_decompress): New target.
18494 (none_decompress): Likewise.
18495 * grub-core/boot/decompressor/minilib.c: New file.
18496 * grub-core/boot/decompressor/none.c: Likewise.
18497 * grub-core/boot/decompressor/xz.c: Likewise.
18498 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
18499 * grub-core/kern/mips/cache_flush.S: Likewise.
18500 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
18501 * grub-core/kern/mips/startup.S: Move first stage to ...
18502 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
18503 nomacro.
18504 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
18505 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
18506 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
18507 Allocate statically.
18508 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
18509 Allocate statically or use scratch. Don't check CRC32.
18510 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
18511 Allocate statically. Don't check CRC32.
18512 * include/grub/decompressor.h: New file.
18513 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
18514 Removed.
18515 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
18516 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
18517 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
18518 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
18519 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
18520 * util/grub-mkimage.c (grub_compression_t): New type.
18521 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
18522 (image_target_desc): New field default_compression.
18523 (image_targets): Adjust yeeloong targets.
18524 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
18525 (compress_kernel): New parameter comp.
18526 (generate_image): Likewise. Handle new compression case.
18527 (options): New option --compression
18528 (help): Likewise.
18529 (main): Handle new option.
18530
1b655af6
GS
185312010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
18532
18533 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
18534
8f03f0b5
CW
185352010-09-22 Colin Watson <cjwatson@ubuntu.com>
18536
18537 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
18538 typo in __i386__ conditional.
18539
7835dfd3
VS
185402010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
18541
18542 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
18543 include.
18544
e255597e
VS
185452010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
18546
6d0fa83c 18547 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
18548
18549 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
18550 new tags as supported.
18551 (acpiv2_size): New function.
18552 (grub_multiboot_get_mbi_size): Take new tags into account.
18553 (grub_multiboot_make_mbi): Add new tags.
18554 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 18555
6cc14051 185562010-09-21 Aleš Nesrsta <starous@volny.cz>
18557
18558 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
18559 Added missing configuration of USB device.
18560
df7769d8
CW
185612010-09-21 Colin Watson <cjwatson@ubuntu.com>
18562
18563 * grub-core/normal/menu_entry.c (run): Make sure we always return
18564 a value.
18565
b031012d
CW
185662010-09-21 Colin Watson <cjwatson@ubuntu.com>
18567
18568 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
18569 NumberOfPages is UINT64 according to the UEFI specification, not
18570 UINTN. Fix printf format.
18571
174de8f3
CW
185722010-09-21 Colin Watson <cjwatson@ubuntu.com>
18573
18574 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
18575 `err' to grub_usb_err_t.
18576 Reported and tested by: KESHAV P.R.
18577
d7dbe923
CW
185782010-09-21 Colin Watson <cjwatson@ubuntu.com>
18579
18580 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
18581 tpart non-const, so that we can assign to it. (Since this is a
18582 typedef, the constness refers to the pointer rather than what it
18583 points to.)
18584
8d5e2af3
CW
185852010-09-21 Colin Watson <cjwatson@ubuntu.com>
18586
18587 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
18588 $(top_srcdir)/grub-core/gnulib as well as
18589 $(top_builddir)/grub-core/gnulib.
18590 Reported by: KESHAV P.R.
18591
5c527783
CW
185922010-09-21 Colin Watson <cjwatson@ubuntu.com>
18593
18594 * util/grub-install.in: Fix the bootloader ID option to be
18595 consistently --bootloader-id, not --bootloader_id.
18596 Reported by: KESHAV P.R.
18597
d309a16e
CW
185982010-09-21 Colin Watson <cjwatson@ubuntu.com>
18599
18600 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
18601 check hash checksum." consistently translatable.
18602
b830cd16
YB
186032010-09-21 Yves Blusseau <blusseau@zetam.org>
18604
18605 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
18606 $(top_builddir).
18607
c4fe27a8
CW
186082010-09-21 Colin Watson <cjwatson@ubuntu.com>
18609
18610 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
18611 (GRUB_MOD_INIT): Register sha1sum command.
18612 (GRUB_MOD_FINI): Unregister sha1sum command.
18613
a4c1d277
YB
186142010-09-21 Yves Blusseau <blusseau@zetam.org>
18615
18616 Keep boot and grub directory names in sync with utils scripts
18617
18618 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
18619 * config.h.in: Add previous macros.
18620 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
18621 * util/grub-install.in: Use $bootdir and $grubdir variables.
18622
4eff79d2
CW
186232010-09-21 Colin Watson <cjwatson@ubuntu.com>
18624
18625 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
18626 convert partition names to disk names if the new `convert' parameter
18627 is set.
18628 (grub_util_biosdisk_get_grub_dev): If opening the disk device
18629 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
18630 disk in its own right. This can happen with Xen disk images.
18631
934d7e44
YB
186322010-09-21 Yves Blusseau <blusseau@zetam.org>
18633
18634 * util/grub-editenv.c: Update strings to avoid warnings when generating
18635 grub.pot file.
18636 * util/grub-setup.c: Likewise.
934d7e44 18637
df3367cc
VS
186382010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
18639
18640 * configure.ac: Change version to 1.99~beta0.
18641
77a94e98
VS
186422010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
18643
18644 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
18645 Add BADRAM.
18646 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
18647 Likewise.
18648 * include/multiboot.h: Resynced with specification.
18649 * include/multiboot2.h: Likewise.
18650
269004c1
CW
186512010-09-21 Colin Watson <cjwatson@ubuntu.com>
18652
18653 Fix po directory handling.
18654
18655 * configure.ac: Create po/Makefile.in rather than po/Makefile.
18656 * grub-core/gnulib/Makefile.am: Import gettext module.
18657 * m4/gnulib-cache.m4: Likewise.
18658 * m4/gnulib-comp.m4: Likewise.
18659 * m4/gettext.m4: New file, from gnulib.
18660 * m4/glibc2.m4: Likewise.
18661 * m4/iconv.m4: Likewise.
18662 * m4/intdiv0.m4: Likewise.
18663 * m4/intl.m4: Likewise.
18664 * m4/intldir.m4: Likewise.
18665 * m4/intlmacosx.m4: Likewise.
18666 * m4/intmax.m4: Likewise.
18667 * m4/inttypes-pri.m4: Likewise.
18668 * m4/lcmessage.m4: Likewise.
18669 * m4/lib-ld.m4: Likewise.
18670 * m4/lib-link.m4: Likewise.
18671 * m4/lib-prefix.m4: Likewise.
18672 * m4/lock.m4: Likewise.
18673 * m4/nls.m4: Likewise.
18674 * m4/po.m4: Likewise.
18675 * m4/printf-posix.m4: Likewise.
18676 * m4/progtest.m4: Likewise.
18677 * m4/threadlib.m4: Likewise.
18678 * m4/uintmax_t.m4: Likewise.
18679 * m4/visibility.m4: Likewise.
18680 * po/Makefile.am: Remove.
18681 * po/Makefile.in.in: New file, from gettext.
18682 ($(DOMAIN).pot-update): Support POTFILES-shell.
18683 * po/Makevars: New file.
18684 * po/POTFILES-shell: Rename to ...
18685 * po/POTFILES-shell.in: ... this. Update.
18686 * po/POTFILES: Rename to ...
18687 * po/POTFILES.in: ... this. Update.
18688 * po/Rules-quot: New file, from gettext.
18689 * po/boldquot.sed: Likewise.
18690 * po/en@boldquot.header: Likewise.
18691 * po/en@quot.header: Likewise.
18692 * po/insert-header.sin: Likewise.
18693 * po/quot.sed: Likewise.
18694 * po/remove-potcdate.sin: Likewise.
18695
3e0fa5d0
VS
186962010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18697
18698 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
18699
ade9bd66
VS
187002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18701
18702 * util/grub.d/20_linux_xen.in: Use submenus.
18703
fc55cc4c
VS
187042010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18705
18706 Support submenus.
18707
18708 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
18709 parameter submenu. All users updated.
18710 * grub-core/normal/main.c (free_menu): Rename to ...
18711 (grub_normal_free_menu): ... this. Made global.
18712 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
18713 if requested.
18714 * grub-core/normal/menu_entry.c (screen): New field submenu.
18715 (make_screen): Set submenu.
18716 (run): Open new context if requested.
18717 * include/grub/menu.h (grub_menu_entry): New field submenu.
18718 * include/grub/normal.h (grub_normal_free_menu): New proto.
18719
600cedf7
VS
187202010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18721
18722 Menu entries extractor.
18723
18724 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
18725 variants.
18726 (GRUB_MOD_INIT): Register new variants.
18727 (GRUB_MOD_FINI): Unregister new variants.
18728 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
18729 into grub_cmd_legacy_source.
18730 (grub_cmd_legacy_source): Implement extractor variants.
18731 (GRUB_MOD_INIT): Register new variants.
18732 (GRUB_MOD_FINI): Unregister new variants.
18733 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
18734 as an extractor.
18735 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
18736 search as an extractor.
18737 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
18738 test as an extractor.
18739 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
18740 as an extractor.
18741 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
18742 (grub_env_new_context): New function.
18743 (grub_env_context_open): Likewise.
18744 (grub_env_extractor_open): Likewise.
18745 (grub_env_extractor_close): Likewise.
18746 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
18747 grub_extractor_level.
18748 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
18749 * include/grub/env.h (grub_env_extractor_open): New proto.
18750 (grub_env_extractor_close): Likewise.
18751 * include/grub/normal.h (grub_extractor_level): New external variable.
18752
7bda3a87
VS
187532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18754
18755 Make cutmem accept a region specification.
18756 Suggested by: Samuel Thibault
18757
18758 * grub-core/mmap/mmap.c (parsemem): New function.
18759 (grub_cmd_cutmem): Handle new arguments.
18760
2ea57f88
VS
187612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18762
18763 New command cutmem.
18764
18765 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
18766 (GRUB_MOD_INIT): Register new command.
18767 (GRUB_MOD_FINI): Unregister new command.
18768
74342e31
VS
187692010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18770
18771 Support some annoying BSD and Minix subpartitions.
18772
18773 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
18774 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
18775 Properly handle concatenation.
18776 * grub-core/kern/device.c (grub_device_iterate): Likewise.
18777 * grub-core/normal/completion.c (iterate_partition): Likewise.
18778 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
18779 contain partition. All users updated.
18780 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
18781 struct.
18782 (grub_openbsdlabel_partition_map): Likewise.
18783 (bsdlabel_partition_map_iterate): Rename to ..
18784 (iterate_real): ... this. New arguments sector, freebsd and pmap.
18785 (bsdlabel_partition_map_iterate): New function.
18786 (netopenbsdlabel_partition_map_iterate): Likewise.
18787 (netbsdlabel_partition_map_iterate): Likewise.
18788 (openbsdlabel_partition_map_iterate): Likewise.
18789 (GRUB_MOD_INIT): Register new partmaps.
18790 (GRUB_MOD_FINI): Unregister new partmaps.
18791 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
18792 (grub_partition_msdos_iterate): ... this. All users updated.
18793 Don't support embedding other than in a minix partition.
18794 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
18795 proto.
18796 * include/grub/partition.h (grub_partition): New field msdostype.
18797 * util/grub-install.in: Handle openbsd and netbsd types being in
18798 part_bsd module.
18799
1e8d555b
VS
188002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18801
18802 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
18803
18804 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
18805 * grub-core/Makefile.core.def (mdraid): Renamed to ...
18806 (mdraid09): ... this.
18807 (mdraid1x): New module.
18808 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
18809 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
18810
899d8af4
VS
188112010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18812
18813 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
18814 vsprintf.
18815
40901acd
CW
188162010-09-20 Colin Watson <cjwatson@ubuntu.com>
18817
18818 * grub-core/commands/efi/lsefimmap.c: Correct header.
18819 * NEWS: Update.
18820
dfe3b247
CW
188212010-09-20 Colin Watson <cjwatson@ubuntu.com>
18822
18823 * util/grub-editenv.c (argp_parser): Don't pass translated strings
18824 as printf format strings; the translations might contain '%' which
18825 could cause a crash.
18826 (main): Likewise.
18827 * util/grub-fstest.c (argp_parser): Likewise.
18828 * util/grub-setup.c (argp_parser): Likewise.
18829 (main): Likewise.
18830
3286a4b4
VS
188312010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18832
18833 Use argp in grub-fstest.
18834
18835 * util/grub-fstest.c: Don't include getopt.h.
18836 Include argp.h.
18837 (root): New variable.
18838 (args_count): Likewise.
18839 (nparm): Likewise.
18840 (num_disks): Likewise.
18841 (images): Likewise.
18842 (cmd): Likewise.
18843 (debug_str): Likewise.
18844 (args): Likewise.
18845 (options): Transformed to argp.
18846 (usage): Removed.
18847 (main): Split argument parsing into ...
18848 (argp_parser): ... this. Changed to argp format.
18849 (argp): New variable.
18850 (main): Use argp_parse.
18851
3dccbe4b
TG
188522010-09-20 Tristan Gingold <gingold@free.fr>
188532010-09-20 Robert Millan <rmh.grub@aybabtu.com>
188542010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18855
18856 * grub-core/commands/efi/lsefimmap.c: New file.
18857 * grub-core/Makefile.core.def (lsefimmap): New module.
18858 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
18859
38c259a7
VS
188602010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18861
18862 Pause the execution (10s max) if any errors are displayed so the user
18863 has a chance to see them.
18864
18865 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
18866 (grub_print_error): Increment grub_err_printed_errors.
18867 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
18868 execution if any errors were displayed.
18869 (show_menu): Remove old code for pause.
18870 * grub-core/normal/menu_entry.c (run): Likewise.
18871 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
18872 users updated.
18873 (grub_normal_get_char_counter): Likewise.
18874 * include/grub/err.h (grub_err_printed_errors): New external variable.
18875 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
18876
f218b09c
VS
188772010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18878
18879 Support multiboot VBE info.
18880
18881 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18882 Take VBE info into account.
18883 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
18884 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
18885 Call fill_vbe_info when appropriate.
18886 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
18887 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
18888 as supported.
18889 (grub_multiboot_get_mbi_size): Take new tags into account.
18890 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
18891 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
18892 Call fill_vbe_tag when appropriate.
18893 (grub_multiboot_make_mbi): Properly align tags.
18894 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
18895 function.
18896 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
18897 proto.
18898 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
18899
a9cc5438
VS
189002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18901
18902 Suport manual terminal geometry specification.
18903
18904 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
18905 Save state in grub_ofconsole_terminfo_output.
18906 (grub_ofconsole_term): Use grub_terminfo_getwh.
18907 (grub_ofconsole_getwh): Removed.
18908 * grub-core/term/serial.c (grub_serial_getwh): Removed.
18909 (grub_serial_term): Use grub_terminfo_getwh.
18910 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
18911 (options): New struct.
18912 (OPTION_*): New enum.
18913 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
18914 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
18915 width and height.
18916 (grub_terminfo_getwh): New proto.
18917 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
18918
1a8fed20
VS
189192010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18920
18921 Handle legacy "terminal" command.
18922
18923 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
18924 and FLAG_TERMINAL.
18925 (legacy_commands): Add terminal and title.
18926 (grub_legacy_parse): Handle terminal. Simplify title handling.
18927
41e9c57d
VS
189282010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18929
18930 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
18931 parameters overflow.
18932
61c874c5
CW
189332010-09-20 Colin Watson <cjwatson@ubuntu.com>
18934
18935 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
18936 widthspec.h.
18937
18938 * docs/grub.texi (Shell-like scripting): Document `!'.
18939 (Network): Simplify using new i386-pc-pxe format. Mention
18940 grub-mknetdir.
18941
18942 * NEWS: Update.
18943
943682b4
CW
189442010-09-20 Colin Watson <cjwatson@ubuntu.com>
18945
18946 * Makefile.am (SUBDIRS): Restore "."; it's important to force
18947 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
18948 when needed.
18949
6d3d698d
CW
189502010-09-20 Colin Watson <cjwatson@ubuntu.com>
18951
18952 * grub-core/commands/efi/lsefisystab.c: Correct header.
18953 * grub-core/commands/efi/lssal.c: Likewise.
18954 * grub-core/commands/testload.c: Likewise.
18955
c982589f
CW
189562010-09-20 Colin Watson <cjwatson@ubuntu.com>
18957
18958 * util/grub-mkrescue.in: Add explicit root argument to --set to
18959 prevent the UUID being interpreted as an argument to --set (matches
18960 previous change to prepare_grub_to_access_device).
18961
a63c31b6
CW
189622010-09-20 Colin Watson <cjwatson@ubuntu.com>
18963
18964 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
18965 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
18966 the verbosity of later #ifs.
18967 (find_partition_start): Define this function on FreeBSD too.
18968 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
18969 function.
18970 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
18971 on FreeBSD.
18972
6439b8ee
YB
189732010-09-20 Yves Blusseau <blusseau@zetam.org>
18974
18975 * util/grub-editenv.c: Use argp instead of getopt.
18976
c5930ec8
YB
189772010-09-20 Yves Blusseau <blusseau@zetam.org>
18978
18979 * util/grub-setup.c: Use argp instead of getopt.
18980
15c69261
YB
189812010-09-20 Yves Blusseau <blusseau@zetam.org>
18982
18983 Use gnulib-tool to create gnulib source files.
18984
18985 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
18986 grub-core/gnulib directories
18987 * .bzignore: Add **/.deps and autogenerated gnulib files
18988 * configure.ac: Assign auxiliary directory to build-aux, add invocation
18989 of gnulib macros, add grub-core/gnulib/Makefile
18990 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
18991 include m4 directory to aclocal.
18992 * Makefile.util.def: Remove direct compilation of gnulib source files
18993 and use the new grub-core/gnulib/libgnu.a.
18994 * build-aux/config.rpath: move config.rpath from top directory to
18995 build-aux
18996 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
18997 in gnulib headers
18998 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
18999 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
19000 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
19001 header.
19002 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
19003 string.
19004
e511c9f5
YB
190052010-09-20 Yves Blusseau <blusseau@zetam.org>
19006
19007 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
19008 grub-core/genmod.sh and grub-core/gensyminfo.sh
19009
c2dede05
BC
190102010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
19011
19012 Add a test for echo command options.
19013
19014 * tests/grub_cmd_echo.in: New test.
19015 * Makefile.util.def: Rules for new test.
19016
c55f5018
SJ
190172010-09-20 Szymon Janc <szymon@janc.net.pl>
19018
19019 Remove crc.mod and move crc command to hashsum.mod.
19020 Remove lib/crc.c - users updated to use gcrypt implementation.
19021
19022 * grub-core/commands/crc.c: Removed.
19023 * grub-core/Makefile.core.def (crc): Module removed.
19024 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
19025 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
19026 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
19027 * grub-core/lib/crc.c: Removed.
19028 * include/grub/lib/crc.h: Removed.
19029 * Makefile.util.def (crc): Remove lib/crc.c
19030 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
19031 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
19032 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
19033 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
19034 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
19035 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
19036
e0337366
VS
190372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19038
19039 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
19040
742f9232
VS
190412010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19042
19043 Split config.h for util and core.
19044
19045 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
19046 (ADDR32): Likewise.
19047 (DATA32): Likewise.
19048 (BSS_START_SYMBOL): Likewise.
19049 (END_SYMBOL): Likewise.
19050 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
19051 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
19052 * config.h.in: New file.
19053 * configure.ac: Use config-util.h as config define file.
19054 Rename MACHINE into GRUB_MACHINE. All users updated.
19055 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
19056 updated.
19057 (NESTED_FUNC_ATTR): Likewise.
19058 Substitue new variables.
19059 (COND_HAVE_ASM_USCORE): New conditional.
19060 * grub-core/Makefile.am (ASM_PREFIX): New variable.
19061 (kernel_syms.lst): Use ASM_PREFIX.
19062 * grub-core/kern/emu/console.c: Include config-util.h.
19063 * grub-core/kern/emu/misc.c: Likewise.
19064 * grub-core/kern/emu/mm.c: Likewise.
19065 * include/grub/emu/misc.h: Likewise.
19066 * include/grub/libgcc.h: Likewise.
19067
39feb0e8
VS
190682010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19069
19070 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
19071 constants usage.
19072 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
19073 Fix GRUB_TERM_KEY_* constants usage.
19074 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
19075
9af6dac3
VS
190762010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19077
19078 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
19079 print pointer.
19080 * grub-core/bus/usb/uhci.c: Remove empty define.
19081 (grub_uhci_check_transfer): Add missing cast.
19082 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
19083 print pointer.
19084 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
19085 PRIuGRUB_SIZE.
19086 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
19087
d6d94820
VS
190882010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19089
19090 * grub-core/Makefile.core.def (legacycfg): Add
19091 lib/i386/pc/vesa_modes_table.c on emu.
19092
3572f2b6
BC
190932010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
19094
19095 Reduce number of temporary files generated by build system.
19096
19097 * grub-core/gencmdlist.sh: Removed.
19098 * grub-core/genfslist.sh: Removed.
19099 * grub-core/genhandlerlist.sh: Removed.
19100 * grub-core/genmodsrc.sh: Removed.
19101 * grub-core/genpartmaplist.sh: Removed.
19102 * grub-core/genparttoollist.sh: Removed.
19103 * grub-core/gentermiinallist.sh: Removed.
19104 * grub-core/genvideolist.sh: Removed.
19105
19106 * grub-core/genmod.sh.in: New file.
19107 * grub-core/gensyminfo.sh.in: New file.
19108
19109 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
19110 * conf/Makefile.extra-dist: Update with new files.
19111 * gentpl.py: Remove rules related to unnecessary temporary files.
19112 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
19113 and und-* files.
19114 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
19115 genmod.sh scripts.
19116 * grub-core/bus/usb/uhci.c: Remove empty #define.
19117 * grub-core/genmoddep.awk: Updated with new syminfo format.
19118 * util/bash-completion.d/Makefile.am: Add config.log to
19119 CLEANFILES.
19120
c836b030
YB
191212010-09-19 Yves Blusseau <blusseau@zetam.org>
19122
19123 * Makefile.util.def: Add forgotten $(LIBINTL) library.
19124
2f4e8053
BC
191252010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
19126
19127 * util/grub-mkconfig.in: Check the config script for syntax errors
19128 before saving.
19129
75831c34
CW
191302010-09-19 Colin Watson <cjwatson@ubuntu.com>
191312010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19132
19133 * Makefile.util.def (grub-install): Use util/grub-install.in on all
19134 platforms.
19135 * util/grub-install.in: Add EFI and IEEE1275 support.
19136 * util/i386/efi/grub-install.in: Removed.
19137 * util/ieee1275/grub-install.in: Likewise.
19138
eaf41b25
VS
191392010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19140
19141 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
19142 (grub_cmd_cmosclean): Likewise.
19143 (GRUB_MOD_INIT): Register command cmosclean.
19144 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
19145 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
19146
1a9130dd
CPE
191472010-09-18 Carles Pina i Estany <carles@pina.cat>
191482010-09-18 Aleš Nesrsta <starous@volny.cz>
191492010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19150
19151 Add keyboard layouts support.
19152
19153 * Makefile.util.def (grub-mklayout): New file.
19154 (grub-kbdcomp): New script.
19155 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
19156 Add keyboard_layouts.h.
19157 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
19158 commands/boot.c on yeeloong.
19159 (keylayouts): New module.
19160 * grub-core/bus/usb/ohci.c
19161 * grub-core/bus/usb/uhci.c
19162 * grub-core/bus/usb/usbhub.c (rescan): New variable.
19163 (grub_usb_add_hub): Poll interrupt pipe for device handling.
19164 (attach_root_port): Likewise.
19165 (poll_nonroot_hub): Likewise.
19166 (grub_usb_poll_devices): Likewise.
19167 (detach_device): Close transfer.
19168 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
19169 function.
19170 (grub_usb_bulk_setup_readwrite): Likewise.
19171 (grub_usb_bulk_finish_readwrite): Likewise.
19172 * grub-core/commands/keylayouts.c: New file.
19173 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
19174 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
19175 aliases.
19176 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
19177 support scancode 2.
19178 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
19179 * include/grub/keyboard_layouts.h: New file.
19180 * util/grub-mklayout.c: New file.
19181 * util/grub-kbdcomp.in: Likewise.
19182
a1d84a5e
VS
191832010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19184
19185 Unify memory types.
19186
19187 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
19188 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
19189 types.
19190 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
19191 (grub_upper_mem): Likewise.
19192 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
19193 * include/grub/memory.h (grub_memory_type_t): New enum.
19194 All users updated.
19195
9696382e
VS
191962010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19197
19198 * grub-core/Makefile.core.def (lsapm): New module.
19199 * grub-core/commands/i386/pc/lsapm.c: New file.
19200 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
19201 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
19202 Likewise.
19203 * include/grub/i386/pc/apm.h: New file.
19204 * include/multiboot.h (multiboot_apm_info): New struct.
19205
192062010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19207
19208 GRUB-legacy configuration file support.
19209
19210 * Makefile.util.def (grub-menulst2cfg): New util.
19211 * docs/man/grub-menulst2cfg.h2m: New file.
19212 * grub-core/Makefile.core.def (legacycfg): New module.
19213 * grub-core/commands/legacycfg.c: New file.
19214 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
19215 (grub_normal_add_menu_entry): ... this.
19216 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
19217 (grub_normal_set_password): ...this.
19218 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
19219 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
19220 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
19221 * grub-core/lib/legacy_parse.c: New file.
19222 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
19223 * include/grub/i386/pc/vesa_modes_table.h: New file.
19224 * include/grub/legacy_parse.h: Likewise.
19225 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
19226 * util/grub-menulst2cfg.c: New file.
19227
bf8d1338
CW
192282010-09-17 Colin Watson <cjwatson@ubuntu.com>
19229
19230 * grub-core/kern/emu/hostdisk.c
19231 (convert_system_partition_to_system_disk): Initialise node.
19232
9c0bad2e
CW
192332010-09-17 Colin Watson <cjwatson@ubuntu.com>
19234
19235 * grub-core/kern/emu/hostdisk.c
19236 (convert_system_partition_to_system_disk): Fix devmapper memory pool
19237 leak.
19238 Reported and based on patch by: Modestas Vainius.
19239
a939d135
CW
192402010-09-17 Colin Watson <cjwatson@ubuntu.com>
19241
19242 Fix DM-RAID probing with recent versions of device-mapper udev
19243 rules.
19244
19245 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
19246 canonicalise device paths under /dev/mapper/.
19247 (convert_system_partition_to_system_disk): Compare the
19248 uncanonicalised path to /dev/mapper/ rather than the canonicalised
19249 path, since device nodes under /dev/mapper/ are often symlinks.
19250
0f7ee3c9
YB
192512010-09-17 Yves Blusseau <blusseau@zetam.org>
19252
19253 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
19254
10854d0d
YB
192552010-09-16 Yves Blusseau <blusseau@zetam.org>
19256
19257 * configure.ac: Avoid some annoying error messages if freetype-config
19258 program is not found.
19259
108538d8
CW
192602010-09-16 Colin Watson <cjwatson@ubuntu.com>
19261
19262 Support RAID on virtio devices, and others.
19263
19264 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
19265 Rename to ...
19266 [__MINGW32__] (grub_find_device): ... this.
19267 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
19268 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
19269 reasonable default if dir is NULL.
19270 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
19271 ...
19272 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
19273 (grub_guess_root_device): Update callers.
19274 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
19275
19276 * util/raid.c (grub_util_getdiskname): Remove.
19277 (grub_util_raid_getmembers): Use grub_find_device rather than
19278 grub_util_getdiskname.
19279
e5bfc130
CW
192802010-09-16 Colin Watson <cjwatson@ubuntu.com>
19281
19282 * docs/grub.texi (serial): Remove obsolete comment about GRUB
19283 needing to be compiled with serial support.
19284 (ls): Indicate that multiple files are accepted.
19285 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
19286 indicate that multiple files are accepted.
19287
be458ae2
CW
192882010-09-16 Colin Watson <cjwatson@ubuntu.com>
19289
19290 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
19291 libgrub_a_init.c, and util/bash-completion.d/grub.
19292
cb731b5e
VS
192932010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19294
19295 * util/grub-setup.c (setup): Fix incorrect container semantics.
19296
35139e8a
VS
192972010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19298
19299 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
19300 misusage.
19301 Reported by: J. Nick Terry
19302
e50fca4a
VS
193032010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19304
19305 Move embedding routines to partmap sources files.
19306
19307 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
19308 [GRUB_UTIL]: New variable.
19309 (gpt_partition_map_iterate): Set part.parent.
19310 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
19311 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
19312 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
19313 New function.
19314 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
19315 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
19316 (grub_partition_map) [GRUB_UTIL]: New field embed.
19317 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
19318 (setup): Use ->embed.
19319
f00478b7
VS
193202010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19321
19322 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
19323 function.
19324 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
19325 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
19326
2b94e3ff
YB
193272010-09-15 Yves Blusseau <blusseau@zetam.org>
19328
19329 Add function to get completions from usage.
19330
19331 * util/bash-completion.d/grub-completion.bash.in: Add function to get
19332 completions from usage. Use LC_ALL=C to get options properly.
19333
2e04a006
VS
193342010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19335
19336 * grub-core/gnulib/basename-lgpl.c: Imported.
19337 * grub-core/gnulib/basename.c: Likewise.
19338 * grub-core/gnulib/dirname-lgpl.c: Likewise.
19339 * grub-core/gnulib/dirname.c: Likewise.
19340 * grub-core/gnulib/dirname.h: Likewise.
19341 * grub-core/gnulib/stripslash.c: Likewise.
19342
5dcdf93a
VS
193432010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19344
19345 * grub-core/gnulib/error.c: Resynced.
19346 * grub-core/gnulib/getopt.c: Likewise.
19347 * grub-core/gnulib/getopt_int.h: Likewise.
19348 * grub-core/gnulib/regex.h: Likewise.
19349 * grub-core/gnulib/regex_internal.c: Likewise.
19350 * grub-core/gnulib/regex_internal.h: Likewise.
19351
014f47b7
SJ
193522010-09-15 Szymon Janc <szymon@janc.net.pl>
19353
19354 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
19355 CRC calculations and validity checks.
19356 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
19357 calculations.
19358
dd521a4a
SJ
193592010-09-15 Szymon Janc <szymon@janc.net.pl>
19360
19361 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
19362
79c4eeb9
VS
193632010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19364
19365 Fix incorrect echo options handling.
19366 Reported by: Yves Blusseau.
19367
19368 * include/grub/command.h (grub_command_flags_t): New flags
19369 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
19370 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
19371 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
19372
ed80f7d5
VS
193732010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19374
19375 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
19376 users updated.
19377 (GRUB_COMMAND_FLAG_MENU): Likewise.
19378 (GRUB_COMMAND_FLAG_BOTH): Likewise.
19379 (GRUB_COMMAND_FLAG_TITLE): Removed.
19380 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
19381 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
19382 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
19383 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
19384 (grub_command_flags_t): New enum. All users updated.
19385
5fe7620a
SG
193862010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
19387
19388 Fix solaris compilation.
19389
19390 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
19391 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
19392 (grub-emu-list): Likewise.
19393
545b752f
VS
193942010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19395
19396 Remove deprecated root command.
19397
19398 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
19399 updated.
19400
6c1a338c
VS
194012010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19402
19403 * util/i386/pc/grub-setup.c: Merge this ...
19404 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
19405 * util/grub-setup.c: ... into this.
19406 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
19407 New struct.
19408
194092010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19410
19411 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
19412 possible.
19413
d2ea4551
VS
194142010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19415
19416 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
19417 allocate p.
19418
3c3b5040
VS
194192010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19420
19421 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
19422 explicit root argument to set to prevent UUID to be interpreted as
19423 argument to set.
19424
b71c3fae
VS
194252010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19426
19427 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
19428
275433e6
VS
194292010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19430
19431 Don't export grub_gate_a20.
19432
19433 * grub-core/kern/i386/pc/init.c: Remove leftovers.
19434 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
19435 to ...
19436 (grub_gate_a20): ... this. All users updated.
19437 * include/grub/i386/pc/init.h: Removed. All users updated.
19438
a5dbb1f1
VS
194392010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19440
19441 Create euro.pf2 which supports most European languages.
19442
19443 * Makefile.am (grubdata_DATA): Add euro.pf2.
19444 (euro.pf2): New target.
19445 (CLEANFILES): Add euro.pf2.
19446
62a747cb
VS
194472010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19448
19449 * configure.ac: Disable emu-usb by default to prevent inadvertent
19450 device takeover.
19451
608e43b1
VS
194522010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19453
19454 Disable usbserial on grub-emu since our libusb code isn't good enough
19455 yet.
19456
19457 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
19458 (usbserial_pl2303): Likewise.
19459 (usbserial_ftdi): Likewise.
19460
94564f81
VS
194612010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19462
19463 * include/grub/disk.h (grub_disk): Remove has_partitions.
19464 All users updated.
19465 * disk/loopback.c (grub_loopback): Remove has_partitions.
19466 All users updated.
19467 (options): Remove partitions. All users updated.
19468 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
19469 * util/i386/pc/grub-setup.c (setup): copy partition table only when
19470 actual partition table is found.
19471
3352800b
VS
194722010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19473
19474 Remove readability checks (too many false negatives).
19475
19476 * util/grub-install.in: Remove readability checks.
19477 * util/grub-mkconfig.in: Likewise.
19478 * util/grub.d/10_hurd.in: Likewise.
19479 * util/grub.d/10_kfreebsd.in: Likewise.
19480 * util/grub.d/10_linux.in: Likewise.
19481 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
19482 way.
19483
2419f17a
VS
194842010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19485
19486 Enable acpi shutdown on all ACPI platforms.
19487
19488 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
19489 on coreboo, multiboot and EFI.
19490 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
19491 (grub_acpi_halt): Likewise.
19492 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
19493 (grub_cmd_halt): Don't call grub_acpi_halt directly.
19494 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
19495 * grub-core/lib/i386/halt.c (grub_halt)
19496 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
19497
0575c7c3
VS
194982010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19499
19500 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
19501 context.
19502
54ac3cd1
VS
195032010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19504
19505 * grub-core/video/efi_gop.c: Fix over-80-chars line.
19506 * grub-core/video/efi_uga.c: Likewise.
19507
b2a30ac5
VS
195082010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19509
19510 Filter devaliases and never open same device twice.
19511
19512 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
19513 (last_ihandle): Likewise.
19514 (ofdisk_hash_ent): New member shortest.
19515 (ofdisk_hash_add): Add canonical path too.
19516 (scan): New function.
19517 (grub_ofdisk_iterate): Iterate over hashed entries.
19518 (compute_dev_path): Don't add :0.
19519 (grub_ofdisk_open): Don't really open the disk.
19520 (grub_ofdisk_close): Avoid closing unrelated disk.
19521 (grub_ofdisk_read): Implement reopen logic.
19522 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
19523 New function.
19524 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
19525 New proto.
19526
fb53b340
VS
195272010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19528
19529 Fix sparc64.
19530
19531 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
19532 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
19533 right address. Add sparc64_ieee1275_ldflags.
19534 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
19535 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
19536 to grub_host_to_target_addr
19537 (load_image): Likewise.
19538
f452b040
VS
195392010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19540
19541 * grub-core/normal/completion.c (complete_file): Handle device
19542 containing slash.
19543 Fix based on patch by Doug Nazar.
19544
9b5b2541
VS
195452010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19546
19547 grub-mknetdir script.
19548
19549 * Makefile.util.def (grub-mknetdir): New module.
19550 * tests/util/grub-shell.in: Support boot=net
19551 * util/grub-mknetdir.in: New file.
19552
9d2be652
VS
195532010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19554
19555 videoinfo on non-vbe.
19556
19557 * grub-core/Makefile.core.def (vbeinfo): Removed.
19558 (vbetest): Removed.
19559 (videoinfo): New module.
19560 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
19561 * grub-core/commands/i386/pc/vbetest.c: Removed.
19562 * grub-core/commands/videoinfo.c: New file.
19563 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
19564 specification.
19565 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
19566 as vbetest.
19567 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
19568 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
19569 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
19570 mode_number. New parameter mode. All users updated.
19571 (grub_video_gop_iterate): New function.
19572 (grub_video_efi_gop): New member iterate.
19573 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
19574 (grub_vbe_set_video_mode): Remove setting useless fields.
19575 (vbe2videoinfo): New function.
19576 (grub_video_vbe_iterate): Likewise.
19577 (grub_video_vbe_setup): Use vbe2videoinfo.
19578 (grub_video_vbe_print_adapter_specific_info): New function.
19579 (grub_video_vbe_adapter): New fields iterate and
19580 print_adapter_specific_info.
19581 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
19582 All users updated.
19583 (grub_video_mode_info): New field mode_number.
19584 (grub_video_adapter): New fields iterate and
19585 print_adapter_specific_info.
19586
179503f5
TG
195872010-09-13 Tristan Gingold <gingold@free.fr>
195882010-09-13 Robert Millan <rmh.grub@aybabtu.com>
195892010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19590
19591 * grub-core/commands/efi/lsefisystab.c: New file.
19592 * grub-core/commands/efi/lssal.c: Likewise.
19593 * grub-core/Makefile.core.def (lsacpi): New module.
19594 (lsefisystab): Likewise.
19595 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
19596 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
19597 (grub_efi_sal_system_table): New struct.
19598 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
19599 (grub_efi_sal_system_table_memory_descriptor): Likewise.
19600 (grub_efi_sal_system_table_platform_features): Likewise.
19601 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
19602 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
19603 (grub_efi_sal_system_table_ap_wakeup): Likewise.
19604 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
19605
cf9827de
VS
196062010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19607
19608 Support explicit user claim that a device is BIOS-visible.
19609
19610 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
19611 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
19612 * grub-core/kern/emu/hostdisk.c
19613 (convert_system_partition_to_system_disk): Support mdX.
19614 (find_system_device): New parameter add. All users updated.
19615 (grub_util_biosdisk_is_present): New function.
19616 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
19617 proto.
19618
53f0eb1f
VS
196192010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19620
19621 Search hints support.
19622
19623 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
19624 All users updated.
19625
b23ffd70
YB
196262010-09-13 Yves Blusseau <blusseau@zetam.org>
19627
19628 Bash completion script for util commands
19629
19630 * Makefile.am: Add util/bash-completion.d directory
19631 * configure.ac: Likewise.
19632 * util/bash-completion.d/Makefile.am: New file.
19633 * util/bash-completion.d/grub-completion.bash.in: Likewise.
19634
d547dc28
VS
196352010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19636
19637 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
19638 (print_backlog): set backlog_ucs4 and backlog_glyphs.
19639 Reported by: Yves Blusseau.
19640
2fc8ccb9
VS
196412010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19642
19643 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
19644 partition size and offset.
19645
d8a84076
VS
196462010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19647
19648 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
19649
84fb3b3d
VS
196502010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19651
19652 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
19653
768ec2e2
VS
196542010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19655
19656 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
19657 (grub_xvasprintf): Likewise.
19658
4870900f
VS
196592010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19660
19661 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
19662
faca6bec
VS
196632010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19664
19665 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
19666 args ending with NULL.
19667
196682010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
19669
19670 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
19671 pointer.
19672
3c70f225
SJ
196732010-09-11 Szymon Janc <szymon@janc.net.pl>
19674
19675 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
19676
4df7996d
VS
196772010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19678
19679 Shutdown using ACPI.
19680
19681 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
19682 * grub-core/commands/acpihalt.c: New file.
19683 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
19684 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
19685 (grub_acpi_halt): New proto.
19686 (GRUB_ACPI_SLP_EN): New const.
19687 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
19688 (GRUB_ACPI_OPCODE_*): New enum.
19689 (GRUB_ACPI_EXTOPCODE_*): Likewise.
19690
126b4c32
TG
196912010-09-11 Tristan Gingold <gingold@free.fr>
196922010-09-11 Robert Millan <rmh.grub@aybabtu.com>
196932010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19694
19695 * commands/lsacpi.c: New file.
19696 * grub-core/Makefile.core.def (lsacpi): New module.
19697 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
19698 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
19699 (grub_acpi_madt_entry_header): New struct.
19700 (grub_acpi_madt): Likewise.
19701 (grub_acpi_madt_entry_interrupt_override): Likewise.
19702 (grub_acpi_madt_entry_sapic): Likewise.
19703 (grub_acpi_madt_entry_lsapic): Likewise.
19704 (grub_acpi_madt_entry_platform_int_source): Likewise.
19705 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
19706 (PRIuGRUB_UINT32_T): Likewise.
19707 (PRIxGRUB_UINT64_T): Likewise.
19708
1aa4fe88
VS
197092010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19710
19711 Implement loading palette on ieee1275_fb.
19712
19713 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
19714 (have_setcolors): Likewise.
19715 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
19716 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
19717 (grub_video_ieee1275_set_palette): Implement.
19718
25761e13
VS
197192010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
197202010-09-11 Colin Watson <cjwatson@ubuntu.com>
19721
19722 * util/grub-install.in (grub_partition): New variable.
19723 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
19724 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
19725 Fixes a bug reported by Yves Blusseau.
19726
050abaea
VS
197272010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19728
19729 Fix emu on mipsel.
19730
19731 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
19732 =grub_cpu_flush_cache on all mips and not only yeeloong.
19733 * configure.ac (COND_mips): New conditional.
19734 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
19735 platforms.
19736 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
19737 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
19738 [GRUB_LINKER_HAVE_INIT]: New function.
19739 (grub_emu_post_init): Likewise.
19740 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
19741 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
19742 * include/grub/cache.h (_mips): Include mips/cache.h.
19743 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
19744 LVM and RAID prototypes.
19745 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
19746 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
19747 function.
19748
5ed7d816
CW
197492010-09-10 Colin Watson <cjwatson@ubuntu.com>
19750
19751 * util/grub-install.in: Don't try to verify core.img until after
19752 running grub-mkimage to create it.
19753
90367e04
RM
197542010-09-10 Robert Millan <rmh@gnu.org>
19755
19756 * util/grub.d/10_hurd.in: Add misc readability checks.
19757 * util/grub.d/10_kfreebsd.in: Likewise.
19758 * util/grub.d/10_linux.in: Likewise.
19759
c452fa66
CW
197602010-09-10 Colin Watson <cjwatson@ubuntu.com>
19761
19762 * util/grub-install.in: ${imgext} won't be defined here until the
19763 install branch is merged. For the meantime, only verify core.img on
19764 i386-pc and sparc64-ieee1275 platforms.
19765
c38fe9f4
RM
197662010-09-10 Robert Millan <rmh@gnu.org>
19767
19768 Solaris support in grub_find_zpool_from_dir(). Thanks
19769 Seth Goldberg for referring to getextmntent() facility.
19770
19771 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
19772 `sys/mkdev.h'.
19773 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
19774 `<sys/mnttab.h>'.
19775 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
19776 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
19777 method for finding zpool name.
19778
905f7773
CW
197792010-09-10 Colin Watson <cjwatson@ubuntu.com>
19780
19781 grub-fstest needs the host and hostfs modules while other utilities
19782 actively require those modules to be absent, so grub-fstest needs
19783 its own initialisation and finalisation code.
19784
19785 * Makefile.am (grub_fstest.pp): New target.
19786 (grub_fstest_init.lst): Likewise.
19787 (grub_fstest_init.c): Likewise.
19788 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
19789
fb90b546
RM
197902010-09-10 Robert Millan <rmh@gnu.org>
19791
19792 * configure.ac: Check for `struct statfs.f_fstypename' and
19793 `struct statfs.f_mntfromname'.
19794
19795 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
19796 kFreeBSD-specific code.
19797
66d4bea5
RM
197982010-09-10 Robert Millan <rmh@gnu.org>
19799
19800 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
19801 on ZFS. Now non-main filesystems are supported as / too.
19802
b6a690ee
CW
198032010-09-09 Colin Watson <cjwatson@ubuntu.com>
19804
19805 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
19806 and grub-core/disk/host.c to ...
19807 (grub-fstest): ... here. Having the host disk implementation
19808 present confuses grub-probe and other utility programs.
19809
19810 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
19811 when writing to a file, not when writing to stdout.
19812
8901b00c 198132010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
19814
19815 * tests/partmap_test.in: New test for partitions.
19816 * Makefile.util.def: Rules for new test.
19817
7bf45fdd
RM
198182010-09-09 Robert Millan <rmh@gnu.org>
19819
19820 * util/grub-probe.c (probe): Fix a pair of unhandled error
19821 conditions.
19822
4dfbc574
RM
198232010-09-09 Robert Millan <rmh@gnu.org>
19824
19825 Basic Btrfs support (detection and UUID).
19826
19827 * grub-core/fs/btrfs.c: New file.
19828 * Makefile.util.def (library): Register btrfs.c.
19829 * grub-core/Makefile.core.def: Likewise.
19830
6b8e78ae
RM
198312010-09-08 Robert Millan <rmh@gnu.org>
19832
19833 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
19834 with (optional) parameters to specify device and relative path.
19835 * util/grub-install.in: Use is_path_readable_by_grub() to
19836 verify readability of a few critical files.
19837 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
19838 verify readability of grub.cfg.new.
19839
27f21a8b
VS
198402010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
19841
19842 Split minix.mod into minix.mod and minix2.mod.
19843
19844 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
19845 * grub-core/Makefile.core.def (minix2): New module.
19846 * grub-core/fs/minix.c: Use definitions instead of runtime version
19847 checking.
19848 * grub-core/fs/minix2.c: New file.
19849
c0e53ea5
YB
198502010-09-08 Yves Blusseau <blusseau@zetam.org>
19851
19852 Add new --boot-directory option to replace --root-directory
19853
19854 * util/grub-install.in: Add new --boot-directory option
19855 * util/grub-reboot.in: Likewise.
19856 * util/grub-set-default.in: Likewise.
19857
b9fe6ea2
YB
198582010-09-08 Yves Blusseau <blusseau@zetam.org>
19859
19860 * util/grub-mkconfig.in: Use new variable.
19861
d87aedff
YB
198622010-09-08 Yves Blusseau <blusseau@zetam.org>
19863
19864 * configure.ac: Define some useful variables.
19865
e55e8495
VS
198662010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
19867
19868 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19869 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
19870 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
19871 Use terminfo and don't use cursor-on/cursor-off unless it's known
19872 to work.
19873 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
19874 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
19875
6fa6d675
CW
198762010-09-08 Colin Watson <cjwatson@ubuntu.com>
19877
19878 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
19879 starts with "(,", fill the drive containing the loaded image in
19880 between those two characters, but expect that a full partition
19881 specification including partition map names will follow.
19882
92f2aef0
RM
198832010-09-08 Robert Millan <rmh@gnu.org>
19884
19885 * configure.ac: Remove `--enable-grub-fstest' option.
19886 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
19887
19888 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
19889 `grub-fstest' instead of `grub-probe' for readability verification.
19890 * util/grub-probe.c (probe): Remove readability verification kludge.
19891
99fd620d
RM
198922010-09-08 Robert Millan <rmh@gnu.org>
19893
19894 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
19895 initializing `GRUB_FS'.
19896
058e30ac 198972010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
19898
19899 Not command (!) support to GRUB script.
19900
19901 * tests/grub_script_not.in: New test.
19902 * Makefile.util.def: Rules for new test.
19903
19904 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
19905 ! command as a special case.
19906 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
19907
b61d05ed 199082010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19909
058e30ac 19910 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
19911 grub_free.
b61d05ed 19912
4d69c786 199132010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19914
19915 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
19916
aa3119c4 199172010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19918
19919 * docs/grub.texi (Shell-like scripting): Documentation for break,
19920 continue, shift and return commands.
19921
db0f7e3d
VS
199222010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
19923
19924 Rename CD-ROM to cd on BIOS.
19925
19926 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
19927 "cd".
19928 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
19929
88b87c93
VS
199302010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19931
19932 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
19933 * util/grub-probe.c (main): Likewise.
19934 * util/i386/pc/grub-setup.c (main): Likewise.
19935 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
19936 Reported and debugged by: alexxy
19937
294f324d
VS
199382010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19939
19940 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
19941 diagnostic info.
19942
d7ee3441
JS
199432010-09-05 Jo Shields <directhex@apebox.org>
19944
19945 * util/grub.d/30_os-prober.in: Add missing classes.
19946
d7e06c1f
VS
199472010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19948
19949 * docs/grub.texi (Theme file format): Document new position format.
19950
fc157e53
VS
199512010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19952
19953 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
19954 a table. Use @code instead of @verbatim.
19955
506e9a1c
CB
199562010-09-05 Colin D Bennett <colin@gibibit.com>
19957
19958 Gfxmenu documentation.
19959
19960 * docs/grub.texi (Theme file format): New chapter.
19961
f0aff67c
SJ
199622010-09-05 Szymon Janc <szymon@janc.net.pl>
19963
19964 * grub-core/Makefile.core.def (xzio): New module.
19965 * grub-core/io/xzio.c: New file.
19966 * grub-core/lib/xzembed/xz.h: New file (from xembed).
19967 * grub-core/lib/xzembed/xz_config.h: Likewise.
19968 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
19969 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
19970 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
19971 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
19972 * grub-core/lib/xzembed/xz_private.h: Likewise.
19973 * grub-core/lib/xzembed/xz_stream.h: Likewise.
19974 * include/grub/file.h (grub_file_filter_id): New compression filter
19975 GRUB_FILE_FILTER_XZIO.
19976
82a85062
VS
199772010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19978
19979 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
19980 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
19981 size.
19982
3579415d
VS
199832010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19984
19985 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
19986 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
19987
5124ae6d
VS
199882010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19989
19990 Uncompressed checksum support.
19991
19992 * grub-core/commands/hashsum.c (options): Add option --uncompress.
19993 (check_list): New parameter uncompress.
19994 (grub_cmd_hashsum): Handle --uncompress.
19995
9aadb3d1
VS
199962010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19997
19998 Reintroduce testload.
19999
20000 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
20001 from here ...
20002 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
20003 (GRUB_MOD_INIT): New function.
20004 (GRUB_MOD_FINI): Likewise.
20005 * grub-core/Makefile.core.def (testload): New module.
20006
a17792c3
SJ
200072010-09-05 Szymon Janc <szymon@janc.net.pl>
20008
20009 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
20010 (uint8_t): New type.
20011 (uint16_t): Likewise.
20012 (uint32_t): Likewise.
20013 (uint64_t): Likewise.
20014
b81e40a3
SJ
200152010-09-05 Szymon Janc <szymon@janc.net.pl>
20016
20017 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
20018
fc2ef117
VS
200192010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20020
20021 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
20022 Made static.
20023 (grub_gzfile_open): Removed. All users updated.
20024 (GRUB_MOD_INIT): New function.
20025 (GRUB_MOD_FINI): Likewise.
20026 * grub-core/kern/file.c (grub_file_filters_all): New variable.
20027 (grub_file_filters_enabled): Likewise.
20028 (grub_file_open): Handle filters.
20029 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
20030 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
20031 * include/grub/file.h (grub_file_filter_id_t): New type.
20032 (grub_file_filter_t): Likewise.
20033 (grub_file_filters_all): New extern variable.
20034 (grub_file_filters_enabled): Likewise.
20035 (grub_file_filter_register): New inline function.
20036 (grub_file_filter_unregister): Likewise.
20037 (grub_file_filter_disable): Likewise.
20038 (grub_file_filter_disable_compression): Likewise.
20039 * include/grub/gzio.h: Removed.
20040
35ee15e0
BC
200412010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20042
20043 Filename expansion support for wildcards in GRUB script.
20044
20045 * tests/grub_script_expansion.in: New test.
20046 * Makefile.util.def: Rule for new test.
20047
20048 * grub-core/commands/wildcard.c: New file, implements filename
20049 expansion support for GRUB script.
20050 * grub-core/Makefile.core.def: Rule update for regexp.mod.
20051 * grub-core/script/argv.c: Cosmetic changes.
20052 * grub-core/script/execute.c (grub_script_arglist_to_argv):
20053 Refactored to perform wildcard expansion on arguments.
20054 * include/grub/script_sh.h (grub_script_wildcard_translator): New
20055 struct.
20056
20057 * tests/util/grub-shell.in: Fix quoting for read input.
20058
5f0c4aca
BC
200592010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20060
20061 Support for updating environment variables with matched substrings
20062 of regexp.
20063
20064 * tests/grub_cmd_regexp.in: New test.
20065 * Makefile.util.def: Rule for new test.
20066
20067 * grub-core/commands/regexp.c: New option -s to update environment
20068 variables with regexp matches.
20069
3759a35f
SJ
200702010-09-04 Szymon Janc <szymon@janc.net.pl>
20071
20072 * include/grub/file.h (grub_file): New member not_easly_seekable.
20073 (grub_file_seekable): New inline function.
20074 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
20075 easily seekable.
20076 (grub_gzio_open): Set not_easly_seekable.
20077 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
20078 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
20079
ed8c6dec
BC
200802010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20081
20082 Support for options to appear multiple times on cmdline.
20083
20084 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
20085 * grub-core/commands/extcmd.c: Support for repeatable option.
20086 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
20087 repeatable option support.
20088
20089 Refactor menuentry into a regular command.
20090
20091 * grub-core/commands/menuentry.c: New file, menuentry command
20092 implementation.
20093 * grub-core/Makefile.core.def: Rule update for normal.mod.
20094 * grub-core/normal/main.c: Moved menuentry creation to
20095 grub-core/commands/menuentry.c.
20096 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
20097 (grub_menu_execute_entry_real): Removed.
20098 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
20099 function.
20100 (grub_script_execute_menuentry): Removed.
20101 * grub-core/script/parser.y (menuentry): Removed.
20102 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
20103 * grub-core/script/yylex.l (menuentry): Removed.
20104 * include/grub/menu.h (grub_menu_init): New prototype.
20105 (grub_menu_fini): New prototype.
20106 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
20107 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
20108 (grub_script_execute_sourcecode): New prototype.
20109
dacd0cf0
BC
201102010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20111
20112 "return" command for GRUB script functions.
20113
20114 * tests/grub_script_return.in: New test.
20115 * Makefile.util.def: Rules for new test.
20116
20117 * grub-core/script/execute.c (grub_script_return): New function.
20118 * grub-core/script/main.c: Register/unregister return commaond.
20119 * include/grub/script_sh.h (grub_script_return): New prototype.
20120
52e72f9d
BC
201212010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20122
20123 "setparams" command to update positional parameters.
20124
20125 * tests/grub_script_setparams.in: New test.
20126 * Makefile.util.def: Rules for new test.
20127
20128 * grub-core/script/argv.c (grub_script_argv_make): New function.
20129 * grub-core/script/execute.c (replace_scope): New function.
20130 (grub_script_setparams): New function.
20131 * grub-core/script/lexer.c: Remove unused variables.
20132 * grub-core/script/main.c: Register/unregister setparams command.
20133 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
20134 (grub_script_setparams): New prototype.
20135
25b60c91
BC
201362010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20137
20138 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
20139 grub_free order.
20140
37e7bf68
BC
201412010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20142
20143 Support for passing block of commands as an argument to extcmds.
20144
20145 * Makefile.util.def: Rules for new test.
20146 * tests/grub_script_blockarg.in: New test.
20147 * grub-core/tests/test_blockarg.c: New file, block argument
20148 command used in the test.
20149
20150 * include/grub/extcmd.h (grub_extcmd_context): New struct.
20151 (grub_register_extcmd_prio): New function prototype.
20152 (grub_extcmd_dispatcher): New function prototype.
20153 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
20154 type.
20155 * include/grub/script_sh.h (struct grub_script): New members
20156 `children', `next_siblings' and `refcnt' for block arguments and
20157 reference counting.
20158 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
20159 (grub_script_arg): New member `script' for block argument.
20160 (grub_script_argv): New member `script' for block argument.
20161 (grub_parser_param): New member `scripts' for block argument.
20162 (grub_script_mem_free): New extern function prototype.
20163 (grub_script_ref): New function prototype.
20164 (grub_script_unref): New function prototype.
20165
20166 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
20167 extcmd form to support block arguments.
20168 * grub-core/script/argv.c: Block arguments support.
20169 * grub-core/script/execute.c: Likewise.
20170 * grub-core/script/lexer.c: Likewise.
20171 * grub-core/script/main.c: Likewise.
20172 * grub-core/script/script.c: Likewise.
20173 * grub-core/script/parser.y: Likewise. New `block' and `block0'
20174 non-terminals.
20175
20176 * grub-core/commands/acpi.c: Update extcmd implementations with
20177 grub_extcmd_context_t.
20178 * grub-core/commands/cat.c: Likewise.
20179 * grub-core/commands/echo.c: Likewise.
20180 * grub-core/commands/extcmd.c: Likewise.
20181 * grub-core/commands/hashsum.c: Likewise.
20182 * grub-core/commands/hdparm.c: Likewise.
20183 * grub-core/commands/help.c: Likewise.
20184 * grub-core/commands/hexdump.c: Likewise.
20185 * grub-core/commands/i386/cpuid.c: Likewise.
20186 * grub-core/commands/i386/pc/drivemap.c: Likewise.
20187 * grub-core/commands/i386/pc/halt.c: Likewise.
20188 * grub-core/commands/i386/pc/sendkey.c: Likewise.
20189 * grub-core/commands/iorw.c: Likewise.
20190 * grub-core/commands/keystatus.c: Likewise.
20191 * grub-core/commands/loadenv.c: Likewise.
20192 * grub-core/commands/ls.c: Likewise.
20193 * grub-core/commands/lspci.c: Likewise.
20194 * grub-core/commands/memrw.c: Likewise.
20195 * grub-core/commands/probe.c: Likewise.
20196 * grub-core/commands/search_wrap.c: Likewise.
20197 * grub-core/commands/setpci.c: Likewise.
20198 * grub-core/commands/sleep.c: Likewise.
20199 * grub-core/disk/loopback.c: Likewise.
20200 * grub-core/hello/hello.c: Likewise.
20201 * grub-core/loader/i386/bsd.c: Likewise.
20202 * grub-core/loader/xnu.c: Likewise.
20203 * grub-core/term/gfxterm.c: Likewise.
20204 * grub-core/term/serial.c: Likewise.
20205 * grub-core/tests/lib/functional_test.c: Likewise.
20206
888d1500
BC
202072010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20208
20209 Multi-line quoted strings support.
20210
20211 * grub-core/script/lexer.c (append_newline): Removed.
20212 (grub_script_lexer_yywrap): Refactored.
20213 (grub_script_lexer_init): Refactored.
20214 * grub-core/script/yylex.l (yywrap): New function.
20215 (grub_lexer_resplit): New function.
20216 (grub_lexer_unput): New function.
20217 * include/grub/script_sh.h (grub_lexer_param): New members, unput
20218 and resplit.
20219 * tests/grub_script_echo1.in: Added few more testcases.
20220
dda060dd
VS
202212010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
20222
20223 * grub-core/kern/misc.c: Don't add abort alias in utils.
20224 Reported by: echoline.
20225
6556eba9
BC
202262010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
20227
20228 Add missing files into "make dist" tarball for other platforms.
20229
20230 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
20231 * conf/Makefile.common (dist_noinst_DATA): New variable.
20232 * conf/Makefile.extra-dist: Added missing make dist files.
20233 * grub-core/Makefile.core.def: Likewise.
20234
c8e7bf5f
VS
202352010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
20236
20237 Compress grub_prefix.
20238
20239 * grub-core/boot/i386/pc/lnxboot.S: Use
20240 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
20241 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
20242 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
20243 GRUB_MACHINE_PREFIX_END. All users updated.
20244 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
20245 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
20246 + 0x40.
20247 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
20248 * util/grub-mkimage.c (image_target_desc): Change data_end to
20249 prefix_end. All users updated.
20250
a7c00cdb
VS
202512010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
20252
20253 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
20254 value.
20255 (grub_openbsd_boot): Likewise.
20256 (grub_netbsd_boot): Likewise.
20257 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
20258 (grub_xnu_boot): Likewise.
20259
9f915872
VS
202602010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20261
20262 * configure.ac: Clean LIBS variable after tests.
20263
efa1bee7
CW
202642010-09-02 Colin Watson <cjwatson@ubuntu.com>
20265
20266 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
20267
61d720e5
VS
202682010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20269
20270 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
20271 echo if libdevmapper will be used.
20272
ef8e0ec8
IT
202732010-09-02 Ian Turner <Ian.Turner@deshaw.com>
20274
20275 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
20276 constant for the same file.
20277
03e261d8
VS
202782010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20279
20280 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
20281
c2a4eba6
CW
202822010-09-02 Colin Watson <cjwatson@ubuntu.com>
20283
20284 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
20285 grub-core/*.pp.
20286
9056cbf3
CW
202872010-09-02 Colin Watson <cjwatson@ubuntu.com>
20288
20289 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
20290 required by the boot protocol.
20291
20292 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
20293 ebp and edi members.
20294 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
20295 state.ebp and state.edi.
20296 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
20297 %ebp and %edi according to grub_relocator32_ebp and
20298 grub_relocator32_edi respectively.
20299 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
20300 and state.edi.
20301
529cc99a
VS
203022010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20303
20304 Add i386-pc-pxe image target.
20305
20306 * util/grub-mkimage.c (image_target_desc): New enum value
20307 IMAGE_I386_PC_PXE.
20308 (image_targets): New target i386-pc-pxe.
20309 (generate_image): Handle i386-pc-pxe image.
20310
9a093920
VS
203112010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20312
20313 Fix grub_pxe_scan.
20314
20315 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
20316 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
20317 All users updated.
20318 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
20319 (grub_pxe_pxenv): Correct type.
20320
f9cefc4e
CW
203212010-09-01 Colin Watson <cjwatson@ubuntu.com>
20322
20323 * NEWS: Document most of the important changes since 1.98.
20324
4066f57f
CW
203252010-09-01 Colin Watson <cjwatson@ubuntu.com>
20326
20327 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
20328 generated manual page) a little.
20329
da2891f9
CW
203302010-09-01 Colin Watson <cjwatson@ubuntu.com>
20331
20332 * docs/grub.texi: Add myself as an author.
20333
ad717fae
VS
203342010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
20335
20336 * Makefile.util.def (libgrub.a): Add missing sunpc.
20337 Reported by: Seth Goldberg.
20338
eefe8abd
VS
203392010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20340
20341 Interrupt wrapping and code simplifications.
20342
9494ef9a
VS
20343 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
20344 x86_noieee1275 which are functionaly equivalent in this case.
20345 (grub-install): Make source on each platform explicit. Enable on
20346 all noemu.
20347 * gentpl.py (x86_efi_pc): Removed group.
20348 (x86_noefi): Likewise.
20349 (i386_noefi): Likewise.
20350 (x86_noieee1275): Likewise.
20351 (i386_noieee1275): Likewise.
20352 (i386_noefi_noieee1275): Likewise.
20353 (i386_pc_qemu_coreboot): Likewise.
20354 (i386_coreboot_multiboot): Likewise.
20355 (i386_pc_coreboot_multiboot_qemu): Likewise.
20356 (x86_noefi_mips): Likewise.
20357 (noieee1275): Likewise.
20358 (ieee1275_mips): Likewise.
20359 (noemu_noieee1275): Likewise.
20360 (cmos): New group.
20361 (usb): Likewise.
20362 (videoinkernel): Likewise.
20363 (videomodules): Likewise.
eefe8abd 20364 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
20365 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
20366 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
20367 include/grub/loader.h, include/grub/msdos_partition.h,
20368 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
20369 include/grub/machine/console.h, include/grub/machine/vga.h,
20370 include/grub/machine/vbe.h, include/grub/machine/init.h,
20371 include/grub/machine/kernel.h, include/grub/cpu/time.h,
20372 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 20373 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
20374 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
20375 * grub-core/Makefile.core.def (kernel): Explicit the source for
20376 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
20377 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
20378 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
20379 Use videoinkernel tag.
20380 (usb): Enable on all usb.
20381 (usbserial_common): Likewise.
20382 (usbserial_pl2303): Likewise.
20383 (usbserial_ftdi): Likewise.
20384 (uhci): Enable on all x86.
20385 (ohci): Enable on all pci.
20386 (cmostest): Enable on all CMOS.
20387 (acpi): Include commands/acpi.c on all platforms.
20388 (halt): Add relevant lib/*/halt.c.
20389 (hdparm): Enable on all pci.
20390 (lspci): Likewise.
20391 (usbtest): Enable on all usb.
20392 (ata): Enable on all pci.
20393 (ata_pthru): Likewise.
20394 (usbms): Enable on all usb.
20395 (usb_keyboard): Likewise.
20396 (font): Use tag videomodules.
20397 (bufio): Likewise.
20398 (datetime): Use tag cmos. Enable on all noemu.
20399 (mmap): Use tags common and x86.
20400 (gfxterm): Use tag videomodules.
20401 (bitmap): Likewise.
20402 (bitmap_scale): Likewise.
20403 (video_fb): Likewise.
20404 (video): Likewise.
20405 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
20406 adjust padding accordingly. All users updated.
20407 (grub_ohci_transaction): Fix bad format specification.
20408 (GRUB_MOD_INIT): Add asserts for struct size.
20409 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
20410 (grub_alloc_td): Likewise.
20411 (grub_free_queue): Likewise.
20412 (grub_uhci_transfer): Likewise.
20413 (grub_uhci_transaction): Fix bad format specification.
20414 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
20415 (grub_usb_bulk_readwrite): Likewise.
20416 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
20417 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
20418 Made static.
20419 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
20420 Made static.
20421 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
20422 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
20423 Transformed into C.
20424 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
20425 Moved from here ...
20426 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
20427 ... here. Transformed into C. Made static.
20428 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
20429 Moved from here ...
20430 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
20431 ... here. Transformed into C. Made static.
20432 * grub-core/kern/i386/pc/startup.S
20433 (grub_biosdisk_check_int13_extensions): Moved from here ...
20434 * grub-core/disk/i386/pc/biosdisk.c
20435 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
20436 Made static.
20437 * grub-core/kern/i386/pc/startup.S
20438 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
20439 * grub-core/disk/i386/pc/biosdisk.c
20440 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
20441 Transformed into C. Made static.
20442 * grub-core/kern/i386/pc/startup.S
20443 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
20444 * grub-core/disk/i386/pc/biosdisk.c
20445 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
20446 Transformed into C. Made static.
20447 * grub-core/kern/i386/pc/startup.S
20448 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
20449 * grub-core/disk/i386/pc/biosdisk.c
20450 (grub_biosdisk_get_diskinfo_standard): ... here.
20451 Transformed into C. Made static.
20452 * grub-core/kern/i386/pc/startup.S
20453 (grub_biosdisk_get_num_floppies): Moved from here ...
20454 * grub-core/disk/i386/pc/biosdisk.c
20455 (grub_biosdisk_get_num_floppies): ... here.
20456 Transformed into C. Made static.
20457 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
20458 New function.
20459 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
20460 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
20461 Transformed into C. Made static.
20462 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
20463 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
20464 Transformed into C. Made static.
20465 * grub-core/kern/i386/ieee1275/init.c: Removed.
20466 * grub-core/kern/i386/misc.S: Likewise.
20467 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
20468 Splitted from here ...
20469 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
20470 Transformed into C. Made static. All users updated.
20471 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
20472 Transformed into C. Made static. All users updated.
20473 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
20474 Moved from here...
20475 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
20476 Transformed into C. Made static. All users updated.
20477 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
20478 Moved from here...
20479 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
20480 Transformed into C. Made static. All users updated.
20481 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
20482 Removed (replaced by C version).
20483 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
20484 Moved from here...
20485 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
20486 Transformed into C. Made static.
20487 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
20488 Moved from here...
20489 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
20490 ... here. Transformed into C.
20491 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
20492 Moved from here...
20493 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
20494 ... here. Transformed into C.
20495 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
20496 Moved from here...
20497 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
20498 ... here. Transformed into C. Made static.
20499 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
20500 Moved from here...
20501 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
20502 ... here. Transformed into C.
21ed554b
VS
20503 * grub-core/kern/i386/pc/startup.S
20504 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
20505 * grub-core/video/i386/pc/vbe.c
20506 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
20507 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
20508 Moved from here...
20509 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
20510 ... here. Transformed into C.
20511 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
20512 Moved from here...
20513 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
20514 ... here. Transformed into C.
20515 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
20516 Moved from here...
20517 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
20518 ... here. Transformed into C.
20519 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
20520 Moved from here...
20521 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
20522 ... here. Transformed into C.
20523 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
20524 Moved from here...
20525 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
20526 ... here. Transformed into C. Made static.
20527 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
20528 Moved from here...
20529 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
20530 ... here. Transformed into C. Made static.
20531 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
20532 Moved from here...
20533 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
20534 ... here. Transformed into C. Made static.
20535 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
20536 pxe_rm_entry as third argument.
20537 (grub_bios_interrupt): New function.
20538 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
20539 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
20540 of calling grub_stop.
20541 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
20542 * grub-core/lib/efi/halt.c (grub_halt): ...here.
20543 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
20544 * grub-core/lib/emu/halt.c (grub_halt): ... here.
20545 * grub-core/lib/i386/halt.c: Moved from here ...
20546 * grub-core/lib/i386/halt.c: ... here.
20547 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
20548 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
20549 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
20550 grub_stop_floppy.
20551 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
20552 * include/grub/i386/coreboot/init.h: Removed.
20553 * include/grub/i386/multiboot/init.h: Likewise.
20554 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
20555 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
20556 * include/grub/i386/pc/int.h: New file.
20557 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
20558 (grub_pxe_scan): Removed.
20559 (grub_pxe_call): Update prototype.
20560 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
20561 prototypes.
20562 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
20563 * include/grub/i386/qemu/init.h: Removed.
20564 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
20565 noreturn.
20566 (grub_halt): Likewise.
20567 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
20568 (grub_reboot): Likewise.
20569 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
20570 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
20571 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
20572
215dd471
RM
205732010-08-30 Robert Millan <rmh@gnu.org>
20574
20575 * NEWS: Document addition of ZFS support in `grub-install' and
20576 `grub-mkconfig'.
20577
ebd65b82
BC
205782010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
20579
20580 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
20581 dprintf output.
20582
11721d19
VS
205832010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20584
20585 Remove leftover embedding of font objects.
20586
20587 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
20588 * util/grub-install.in (font): Removed.
20589 * util/grub-mkimage.c (generate_image): Remove font support. All users
20590 updated.
20591
37837d4e
VS
205922010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20593
20594 Remove leftover embedding of font objects.
20595
20596 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
20597 * util/grub-install.in (font): Removed.
20598 * util/grub-mkimage.c (generate_image): Remove font support. All users
20599 updated.
20600
b4c1aae0
VS
206012010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20602
20603 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 20604 Reported by: Ian Turner
b4c1aae0 20605
8920a08d
VS
206062010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20607
20608 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
20609 timeout to avoid indefinite boot stalling.
20610
f21db033
VS
206112010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20612
20613 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
20614 (grub_env_write_color_highlight): Likewise.
20615
9a9de209
VS
206162010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20617
20618 * grub-core/normal/term.c (print_more): Return to normal and not
20619 to standard state after printing "---MORE---".
20620
3dca01d7
VS
206212010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20622
20623 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
20624 Mask out the bit 0x80 since it has other meaning that specifiing color.
20625
0b986c40
VS
206262010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20627
20628 New relocator. Allows for more kernel support and more straightforward
20629 loader writing.
20630
20631 * Makefile.am (BOOTTARGET): New variable.
20632 (QEMU32): Likewise.
20633 (linux.init.x86_64): New target.
20634 (linux.init.i386): Likewise.
20635 (multiboot.elf): Likewise.
20636 (kfreebsd.elf): Likewise.
20637 (kfreebsd.aout): Likewise.
20638 (pc-chainloader.elf): Likewise.
20639 (pc-chainloader.bin): Likewise.
20640 (ntldr.elf): Likewise.
20641 (ntldr.bin): Likewise.
20642 (multiboot2.elf): Likewise.
20643 (kfreebsd.init.x86_64): Likewise.
20644 (kfreebsd.init.i386): Likewise.
20645 (knetbsd.init.i386): Likewise.
20646 (kopenbsd.init.i386): Likewise.
20647 (knetbsd.init.x86_64): Likewise.
20648 (kopenbsd.init.x86_64): Likewise.
20649 (linux-initramfs.i386): Likewise.
20650 (linux-initramfs.x86_64): Likewise.
20651 (kfreebsd-mfsroot.i386.img): Likewise.
20652 (knetbsd.image.i386): Likewise.
20653 (kopenbsd.image.i386): Likewise.
20654 (kopenbsd.image.x86_64): Likewise.
20655 (knetbsd.miniroot-image.i386.img): Likewise.
20656 (kfreebsd-mfsroot.x86_64.img): Likewise.
20657 (knetbsd.image.x86_64): Likewise.
20658 (knetbsd.miniroot-image.x86_64.img): Likewise.
20659 (kfreebsd-mfsroot.i386.gz): Likewise.
20660 (bootcheck-kfreebsd-i386): Likewise.
20661 (kfreebsd-mfsroot.x86_64.gz): Likewise.
20662 (bootcheck-kfreebsd-x86_64): Likewise.
20663 (knetbsd.miniroot-image.i386.gz): Likewise.
20664 (bootcheck-knetbsd-i386): Likewise.
20665 (bootcheck-kopenbsd-i386): Likewise.
20666 (bootcheck-kopenbsd-x86_64): Likewise.
20667 (knetbsd.miniroot-image.x86_64.gz): Likewise.
20668 (bootcheck-knetbsd-x86_64): Likewise.
20669 (bootcheck-linux-i386): Likewise.
20670 (bootcheck-linux-x86_64): Likewise.
20671 (bootcheck-linux16-i386): Likewise.
20672 (bootcheck-linux16-x86_64): Likewise.
20673 (bootcheck-multiboot): Likewise.
20674 (bootcheck-multiboot2): Likewise.
20675 (bootcheck-kfreebsd-aout): Likewise.
20676 (bootcheck-pc-chainloader): Likewise.
20677 (bootcheck-ntldr): Likewise.
20678 (CLEANFILES): Add new targets.
20679 (BOOTCHECKS): New variable.
20680 (.PHONY): Add bootchecks.
20681 (SUCCESSFUL_BOOT_STRING): New variable.
20682 (BOOTCHECK_TIMEOUT): Likewise.
20683 (bootcheck): New target
20684 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
20685 * configure.ac: Correct efiemu excuse.
20686 * docs/grub.texi (Supported kernels): New chapter.
20687 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
20688 include/grub/mm_private.h. Simplify inclusion of
20689 include/grub/boot.h, include/grub/loader.h
20690 and include/grub/msdos_partition.h
20691 (KERNEL_HEADER_FILES) [i386_coreboot]:
20692 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
20693 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
20694 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
20695 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
20696 include/grub/machine/loader.h.
20697 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
20698 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
20699 extra_dist.
20700 (pci.mod): Enable on i386-multiboot.
20701 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
20702 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
20703 i386-qemu.
20704 (relocator.mod): Rewritten.
20705 (aout.mod): Enable on all x86.
20706 (bsd.mod): Likewise.
20707 (ntldr.mod): New module.
20708 (linux.mod): Use loader/i386/linux.c on all x86.
20709 (xnu.mod): Enable on all x86.
20710 (vga_text.mod): disable on EFI and QEMU.
20711 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
20712 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
20713 * grub-core/efiemu/loadcore.c: Likewise.
20714 * grub-core/efiemu/main.c: Likewise.
20715 (grub_efiemu_exit_boot_services): Removed.
20716 (grub_efiemu_finish_boot_services): Likewise.
20717 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
20718 function.
20719 * grub-core/efiemu/i386/nocfgtables.c: New file.
20720 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
20721 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
20722 (grub_efi_finish_boot_services): Moved from here ...
20723 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
20724 Fille finish memory map and related data.
20725 (finish_mmap_buf): New variable.
20726 (grub_efi_uintn_t finish_mmap_size): Likewise.
20727 (grub_efi_uintn_t finish_key): Likewise.
20728 (grub_efi_uintn_t finish_desc_size): Likewise.
20729 (grub_efi_uint32_t finish_desc_version): Likewise.
20730 (grub_efi_is_finished): Likewise.
20731 (grub_efi_get_memory_map): Use saved memory map if EFI is already
20732 finished.
20733 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
20734 (grub_elf64_phdr_iterate): Likewise.
20735 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
20736 (grub_os_area_size): Likewise.
20737 (grub_machine_init): Don't reserve os area.
20738 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
20739 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
20740 * grub-core/kern/i386/loader.S: Removed.
20741 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
20742 (grub_os_area_size): Likewise.
20743 (grub_machine_init): Don't reserve os area.
20744 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
20745 Don't call grub_dl_unload_all.
20746 Don't include loader.S.
20747 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
20748 Declare the memory after _end as available.
20749 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 20750 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 20751 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
20752 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
20753 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
20754 * include/grub/mm_private.h (grub_mm_header): ... here.
20755 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
20756 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
20757 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
20758 (grub_mm_region): ..here. Removed addr. Added pre_size.
20759 All users updated.
20760 * grub-core/kern/mm.c (base): Renamed to ...
20761 (grub_mm_base): ... this. Made global.
20762 (grub_real_malloc): Alloc from end of region.
20763 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
20764 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
20765 * grub-core/kern/powerpc/cache_flush.S: ... here.
20766 * grub-core/lib/efi/relocator.c: New file.
20767 * grub-core/lib/i386/relocator.c: Rewritten.
20768 * grub-core/lib/i386/relocator16.S: New file.
20769 * grub-core/lib/i386/relocator32.S: Likewise.
20770 * grub-core/lib/i386/relocator64.S: Likewise.
20771 * grub-core/lib/i386/relocator_asm.S: Rewritten.
20772 * grub-core/lib/i386/relocator_common.S: New file.
20773 * grub-core/lib/ieee1275/relocator.c: Likewise.
20774 * grub-core/lib/mips/relocator.c: Rewritten.
20775 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
20776 stylistic adjustments.
20777 * grub-core/lib/powerpc/relocator.c: New file.
20778 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
20779 * grub-core/lib/relocator.c: Rewritten.
20780 * grub-core/lib/x86_64/relocator_asm.S: New file.
20781 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
20782 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
20783 (bsd_tag): New struct.
20784 (tags): New variable.
20785 (tags_last): Likewise.
20786 (netbsd_module): New struct.
20787 (netbsd_mods): New variable.
20788 (netbsd_mods_last): Likewise.
20789 (openbsd_opts): New parameter "serial".
20790 (OPENBSD_SERIAL_ARG): New definition.
20791 (netbsd_opts): New parameter "serial".
20792 (NETBSD_SERIAL_ARG): New definition.
20793 (grub_freebsd_add_meta): Reorganised into ...
20794 (grub_bsd_add_meta): ...this. All users updated.
20795 (grub_freebsd_add_mmap): Reorganised into ...
20796 (generate_e820_mmap): ...this...
20797 (grub_bsd_add_mmap): ...and this. All users updated.
20798 (grub_freebsd_list_modules): Use tags.
20799 (grub_netbsd_add_meta_module): New function.
20800 (grub_netbsd_list_modules): Likewise.
20801 (grub_freebsd_boot): Use relocator and finish EFI.
20802 (grub_openbsd_boot): Likewise.
20803 (grub_netbsd_setup_video): New function.
20804 (grub_netbsd_add_modules): Likewise.
20805 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
20806 and finish EFI.
20807 (grub_bsd_unload): Unload tags.
20808 (grub_bsd_load_aout): Use relocator.
20809 (grub_bsd_elf32_size_hook): New function.
20810 (grub_bsd_elf32_hook): Use relocator.
20811 (grub_bsd_elf64_size_hook): New function.
20812 (grub_bsd_elf64_hook): Use relocator.
20813 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
20814 (grub_bsd_load): Zero-out openbsd_ramdisk.
20815 (grub_bsd_load): Use relocator.
20816 (grub_cmd_openbsd): Support serial.
20817 (grub_cmd_netbsd): Support modules.
20818 (grub_cmd_freebsd_module): Use relocator.
20819 (grub_netbsd_module_load): New function.
20820 (grub_cmd_netbsd_module): Likewise.
20821 (grub_cmd_openbsd_ramdisk): Likewise.
20822 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
20823 kopenbsd_ramdisk.
20824 (GRUB_MOD_FINI): Unregister new commands.
20825 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
20826 (grub_freebsd_load_elfmodule_obj): Use relocator.
20827 (grub_freebsd_load_elfmodule): Likewise.
20828 (grub_freebsd_load_elf_meta): Likewise.
20829 (grub_netbsd_load_elf_meta): New function.
20830 (grub_openbsd_find_ramdisk): Likewise.
20831 * grub-core/loader/i386/bsd_helper.S: Removed.
20832 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
20833 * grub-core/loader/i386/bsd_trampoline.S: Removed.
20834 * grub-core/loader/i386/efi/linux.c: Likewise.
20835 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
20836 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
20837 (DEFAULT_VIDEO_MODE): Likewise.
20838 (real_mode_target): New variable.
20839 (prot_mode_target): Likewise.
20840 (initrd_mem_target): Likewise.
20841 (relocator): Likewise.
20842 (efi_mmap_buf): Likewise.
20843 (efi_mmap_size): Likewise.
20844 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
20845 (free_pages): Use relocator.
20846 (allocate_pages): Account for efi_mmap and use relocator. Return error.
20847 (grub_linux_setup_video): Return error.
20848 (grub_linux_trampoline_start): Removed.
20849 (grub_linux_trampoline_end): Likewise.
20850 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
20851 andd video parameters depending on firmware.
20852 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
20853 [GRUB_MACHINE_EFI]: Pass EFI parameters.
20854 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
20855 (grub_cmd_initrd): Use relocator.
20856 * grub-core/loader/i386/linux_trampoline.S: Removed.
20857 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
20858 (elf_sec_entsize): Likewise.
20859 (elf_sec_shstrndx): Likewise.
20860 (elf_sections): Likewise.
20861 (grub_multiboot_load): Use relocator.
20862 (grub_multiboot_get_mbi_size): Account for sections.
20863 (grub_multiboot_make_mbi): Use relocator and support sections.
20864 (grub_multiboot_add_elfsyms): New function.
20865 (grub_multiboot_free_mbi): Free sections.
20866 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
20867 (grub_linux_real_target): Likewise.
20868 (grub_linux_real_chunk): Likewise.
20869 (grub_linux16_prot_size): Likewise.
20870 (grub_linux16_boot): Use relocator.
20871 (grub_linux_unload): Unload relocator.
20872 (grub_cmd_linux): Use relocator.
20873 (grub_cmd_initrd): Likewise.
20874 * grub-core/loader/i386/pc/ntldr.c: New file.
20875 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
20876 Don't try to guess CPU frequency.
20877 (grub_xnu_set_video): Stretch bitmap.
20878 (grub_xnu_boot): Use relocator.
20879 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
20880 (grub_linux_unload): Free relocator.
20881 (grub_linux_load32): Use relocator.
20882 (grub_linux_load64): Likewise.
20883 (grub_cmd_initrd): Likewise.
20884 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
20885 (grub_multiboot_unload): Unload relocator.
20886 (grub_cmd_multiboot): Use relocator.
20887 (grub_cmd_module): Likewise.
20888 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
20889 Use relocator and support sections.
20890 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
20891 (elf_sec_entsize): Likewise.
20892 (elf_sec_shstrndx): Likewise.
20893 (elf_sections): Likewise.
20894 (grub_multiboot_load): Use relocator.
20895 (grub_multiboot_get_mbi_size): Account for sections.
20896 (grub_multiboot_make_mbi): Use relocator and support sections.
20897 (grub_multiboot_add_elfsyms): New function.
20898 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
20899 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
20900 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
20901 Prototype changed. All users updated.
20902 (grub_xnu_align_heap): Simplified.
20903 (grub_xnu_writetree_toheap): Likewise.
20904 (grub_xnu_unload): Unload relocator.
20905 (grub_cmd_xnu_kernel): Use relocator.
20906 (grub_cmd_xnu_kernel64): Likewise.
20907 (grub_xnu_register_memory): Simplified.
20908 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
20909 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
20910 EFI is finished.
20911 (grub_console_checkkey): Likewise.
20912 (grub_console_getkey): Likewise.
20913 (grub_console_getwh): Likewise.
20914 (grub_console_getxy): Likewise.
20915 (grub_console_gotoxy): Likewise.
20916 (grub_console_cls): Likewise.
20917 (grub_console_setcolorstate): Likewise.
20918 (grub_console_setcursor): Likewise.
20919 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
20920 * grub-core/tests/boot/kbsd.init-i386.S: New file.
20921 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
20922 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
20923 * grub-core/tests/boot/kernel-8086.S: Likewise.
20924 * grub-core/tests/boot/kernel-i386.S: Likewise.
20925 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
20926 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
20927 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
20928 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
20929 * grub-core/tests/boot/knetbsd.cfg: Likewise.
20930 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
20931 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
20932 * grub-core/tests/boot/linux.cfg: Likewise.
20933 * grub-core/tests/boot/linux.init-i386.S: Likewise.
20934 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
20935 * grub-core/tests/boot/linux16.cfg: Likewise.
20936 * grub-core/tests/boot/multiboot.cfg: Likewise.
20937 * grub-core/tests/boot/multiboot2.cfg: Likewise.
20938 * grub-core/tests/boot/ntldr.cfg: Likewise.
20939 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
20940 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
20941 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
20942 New definition.
20943 * include/grub/dl.h (grub_dl_unload_all): Removed.
20944 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
20945 (grub_efi_finish_boot_services): Change prototype.
20946 (grub_efi_is_finished): New variable.
20947 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
20948 Changed prototype.
20949 (grub_efiemu_finish_boot_services): Removed.
20950 (grub_machine_efiemu_init_tables): New prototype.
20951 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
20952 (grub_elf64_phdr_iterate): Likewise.
20953 * include/grub/i386/bsd.h: Include relocator.h.
20954 (freebsd_tag_header): New struct.
20955 (grub_openbsd_bios_mmap): Removed.
20956 (grub_unix_real_boot): Removed.
20957 (grub_freebsd_load_elfmodule32): Changed prototype.
20958 (grub_freebsd_load_elfmodule_obj64): Likewise.
20959 (grub_freebsd_load_elf_meta32): Likewise.
20960 (grub_freebsd_load_elf_meta64): Likewise.
20961 (grub_freebsd_add_meta): Removed.
20962 (grub_netbsd_load_elf_meta32): New prototype.
20963 (grub_netbsd_load_elf_meta64): Likewise.
20964 (grub_bsd_add_meta): Likewise.
20965 (grub_openbsd_ramdisk_descriptor): New struct.
20966 (grub_openbsd_find_ramdisk32): New prototype.
20967 (grub_openbsd_find_ramdisk64): Likewise.
20968 * include/grub/i386/coreboot/loader.h: Removed.
20969 * include/grub/i386/efi/loader.h: Likewise.
20970 * include/grub/i386/ieee1275/loader.h: Likewise.
20971 * include/grub/i386/linux.h (linux_kernel_header): Change void *
20972 to grub_uint32_t.
20973 * include/grub/i386/loader.h: Removed.
20974 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
20975 value.
20976 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
20977 (grub_phys_addr_t): New type.
20978 (grub_vtop): New inline function.
20979 (grub_map_memory): Likewise.
20980 (grub_unmap_memory): Likewise.
20981 * include/grub/i386/multiboot/loader.h: Removed.
20982 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
20983 (NETBSD_BTINFO_CONSOLE): New definition.
20984 (NETBSD_BTINFO_SYMTAB): Likewise.
20985 (NETBSD_BTINFO_MODULES): Likewise.
20986 (NETBSD_BTINFO_FRAMEBUF): Likewise.
20987 (grub_netbsd_bootinfo): New struct.
20988 (grub_netbsd_btinfo_common): Use explicit bitsize.
20989 (grub_netbsd_btinfo_mmap_entry): Removed.
20990 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
20991 (grub_netbsd_btinfo_bootdisk): New struct.
20992 (grub_netbsd_btinfo_symtab): Likewise.
20993 (grub_netbsd_btinfo_serial): Likewise.
20994 (grub_netbsd_btinfo_modules): Likewise.
20995 (grub_netbsd_btinfo_framebuf): Likewise.
20996 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
20997 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
20998 Likewise.
20999 (grub_openbsd_bootargs): Use explicit bitsize.
21000 (grub_openbsd_bootarg_console): New struct.
21001 (GRUB_OPENBSD_COM_MAJOR): New definition.
21002 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
21003 * include/grub/i386/pc/efiemu.h: Removed.
21004 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
21005 * include/grub/i386/qemu/loader.h: Removed.
21006 * include/grub/i386/relocator.h: Rewritten.
21007 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
21008 * include/grub/mips/memory.h: New file.
21009 * include/grub/mips/multiboot.h: Rewritten.
21010 * include/grub/mips/relocator.h: Rewritten.
21011 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
21012 (grub_vtop): New function.
21013 (grub_map_memory): Likewise.
21014 (grub_unmap_memory): Likewise.
21015 * include/grub/misc.h (ALIGN_DOWN): New definition.
21016 * include/grub/mm.h (grub_mm_check_real): New proto.
21017 (GRUB_MM_CHECK): New definition.
21018 * include/grub/mm_private.h: New file.
21019 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
21020 (grub_multiboot_get_mbi_size): Removed.
21021 (grub_multiboot_make_mbi): Change prottype.
21022 (grub_multiboot_set_accepts_video): New proto.
21023 (grub_multiboot_add_elfsyms): Likewise.
21024 (grub_multiboot_payload_eip): New variable.
21025 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
21026 New prototype.
21027 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
21028 New definition.
21029 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
21030 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
21031 * include/grub/powerpc/ieee1275/loader.h: Removed.
21032 * include/grub/powerpc/memory.h: New file.
21033 * include/grub/powerpc/relocator.h: Likewise.
21034 * include/grub/relocator.h: Likewise.
21035 * include/grub/relocator_private.h: Likewise.
21036 * include/grub/sparc64/ieee1275/loader.h: Removed.
21037 * include/grub/x86_64/memory.h: New file.
21038 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
21039 (grub_xnu_heap_malloc): Likewise.
21040 (grub_xnu_heap_real_start): Removed.
21041 (grub_xnu_heap_start): Likewise.
21042 (grub_xnu_relocator): New variable.
21043 (grub_xnu_heap_target_start): Likewise.
21044 * tests/util/grub-shell.in: Support non-pc.
21045 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 21046
5303b85d
VS
210472010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21048
21049 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
21050 on malloc error.
21051 (grub_bidi_logical_to_visual): Check that malloc succeded.
21052 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
21053 puts.
21054 (grub_xputs_normal): Likewise.
21055
d768d159
VS
210562010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21057
21058 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
21059 extra_dist.
21060
210612010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21062
21063 * grub-core/efiemu/runtime/efiemu.sh: Removed.
21064
5bf84df4
VS
210652010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21066
21067 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
21068
3626810e
VS
210692010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21070
21071 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
21072 dprintf.
21073
a7363f53
BC
210742010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
21075
21076 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
21077
902f75f6
VS
210782010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21079
21080 * grub-core/normal/term.c (print_more): Fix a memory leak.
21081 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
21082 (grub_xputs_normal): Likewise.
21083
3c707967
VS
210842010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21085
21086 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
21087 the begining of the string
21088
2053cc07
VS
210892010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21090
21091 * grub-core/script/script.c (grub_script_parse): Free parsed on
21092 failure.
21093
46422ebf
VS
210942010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21095
21096 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
21097 on failure.
21098
9e0fa3f6
VS
210992010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21100
21101 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
21102 return.
21103
3393cf16
VS
211042010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21105
21106 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
21107 (scroll_up): Fix a memory leak.
21108
b17540cb
VS
211092010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21110
21111 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
21112 errors.
21113
67140446
VS
211142010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
21115
21116 Handle USB pendrives exposed as floppies.
21117
21118 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
21119 floppy.
21120 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
21121 Check for partitions on all devices.
21122
e35e46fc
VS
211232010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21124
21125 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
21126 (readkey): Likewise.
21127
d24c6190
BC
211282010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
21129
21130 Multiple variable names support to "export" command.
21131
21132 * normal/context.c (grub_cmd_export): "export" command supports
21133 multiple variable names.
21134
04ddcc6a
ST
211352010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
21136
21137 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
21138 --target=drive output to Mach device name.
21139
0c8b61d8
BC
211402010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
21141
21142 New Automake based build system for GRUB.
21143
21144 * ABOUT-NLS: New file.
21145 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
21146 in Makefile.util.def file.
21147 * Makefile.util.def: New file. Autogen build definitions file for
21148 GRUB host utils.
21149 * conf/Makefile.common: New file. Common variables for GRUB host
21150 utils and target modules.
21151 * conf/Makefile.extra-dist: New file. Extra files for make dist.
21152 * docs/Makefile.am: New file. Automake file for docs.
21153 * gentpl.py: New file. Python script to generate Autogen
21154 template.
21155 * grub-core/Makefile.am: New file. GRUB target modules' rules
21156 that doesn't fit in Makefile.core.def file.
21157 * grub-core/Makefile.core.def: New file. Autogen build
21158 definitions file for GRUB target modules.
21159 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
21160 specific setjmp.S file.
21161 * po/Makefile.am: New file.
21162
21163 * .bzrignore: New ignores.
21164 * INSTALL: New requirements, without Ruby.
21165 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
21166 * autogen.sh: Updated to invoke autogen as necessary.
21167 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
21168 and defines for Automake conditionals.
21169 * geninit.sh: Refactoring.
21170
21171 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
21172 necessary.
21173 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
21174 New prototype.
21175
21176 * include/grub/test.h: Fix functional test modules' naming.
21177 * grub-core/tests/example_functional_test.c: Fix test module name.
21178
21179 * util/misc.c: Hosted versions' of grub functions for libgrub.a
21180 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
21181 * util/grub-editenv.c: Likewise.
21182 * util/grub-fstest.c: Likewise.
21183 * util/grub-mkdevicemap.c: Likewise.
21184 * util/grub-mkfont.c: Likewise.
21185 * util/grub-mkimage.c: Likewise.
21186 * util/grub-mkpasswd-pbkdf2.c: Likewise.
21187 * util/grub-probe.c: Likewise.
21188 * util/grub-script-check.c: Likewise.
21189 * util/i386/pc/grub-setup.c: Likewise.
21190 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21191
21192 * tests/util/grub-shell.in: Fix override directory path.
21193 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
21194 * util/import_gcry.py: Create Makefile.gcry.def file instead.
21195
21196 * util/lvm.c: Update #includes.
21197 * util/raid.c: Likewise.
21198 * util/resolve.c: Likewise.
21199 * grub-core/bus/emu/pci.c: Likewise.
21200 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
21201 * grub-core/lib/posix_wrap/string.h: Likewise.
21202 * grub-core/kern/emu/main.c: Likewise.
21203
21204 * grub-core/gensymlist.sh: New file. Script for generating kernel
21205 symbols file.
21206 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
21207
21208 * grub-core/gentrigtables.c: Fix unused variable warnings.
21209
21210 * Makefile.in: Removed.
21211 * conf/any-emu.rmk: Removed.
21212 * conf/common.rmk: Removed.
21213 * conf/i386-coreboot.rmk: Removed.
21214 * conf/i386-efi.rmk: Removed.
21215 * conf/i386-ieee1275.rmk: Removed.
21216 * conf/i386-multiboot.rmk: Removed.
21217 * conf/i386-pc.rmk: Removed.
21218 * conf/i386-qemu.rmk: Removed.
21219 * conf/i386.rmk: Removed.
21220 * conf/mips-yeeloong.rmk: Removed.
21221 * conf/mips.rmk: Removed.
21222 * conf/powerpc-ieee1275.rmk: Removed.
21223 * conf/sparc64-ieee1275.rmk: Removed.
21224 * conf/tests.rmk: Removed.
21225 * conf/x86-efi.rmk: Removed.
21226 * conf/x86_64-efi.rmk: Removed.
21227 * gendistlist.sh: Removed.
21228 * geninitheader.sh: Removed.
21229 * genkernsyms.sh.in: Removed.
21230 * genmk.rb: Removed.
21231 * gensymlist.sh.in: Removed.
21232 * mkinstalldirs: Removed.
21233 * boot: Moved ...
21234 * grub-core/boot: ... to here.
21235 * bus: Moved ...
21236 * grub-core/bus: ... to here.
21237 * commands: Moved ...
21238 * grub-core/commands: ... to here.
21239 * disk: Moved ...
21240 * grub-core/disk: ... to here.
21241 * efiemu: Moved ...
21242 * grub-core/efiemu: ... to here.
21243 * font: Moved ...
21244 * grub-core/font: ... to here.
21245 * fs: Moved ...
21246 * grub-core/fs: ... to here.
21247 * gencmdlist.sh: Moved ...
21248 * grub-core/gencmdlist.sh: ... to here.
21249 * genemuinit.sh: Moved ...
21250 * grub-core/genemuinit.sh: ... to here.
21251 * genemuinitheader.sh: Moved ...
21252 * grub-core/genemuinitheader.sh: ... to here.
21253 * genfslist.sh: Moved ...
21254 * grub-core/genfslist.sh: ... to here.
21255 * genhandlerlist.sh: Moved ...
21256 * grub-core/genhandlerlist.sh: ... to here.
21257 * genmoddep.awk: Moved ...
21258 * grub-core/genmoddep.awk: ... to here.
21259 * genmodsrc.sh: Moved ...
21260 * grub-core/genmodsrc.sh: ... to here.
21261 * genpartmaplist.sh: Moved ...
21262 * grub-core/genpartmaplist.sh: ... to here.
21263 * genparttoollist.sh: Moved ...
21264 * grub-core/genparttoollist.sh: ... to here.
21265 * genterminallist.sh: Moved ...
21266 * grub-core/genterminallist.sh: ... to here.
21267 * gentrigtables.c: Moved ...
21268 * grub-core/gentrigtables.c: ... to here.
21269 * genvideolist.sh: Moved ...
21270 * grub-core/genvideolist.sh: ... to here.
21271 * gettext: Moved ...
21272 * grub-core/gettext: ... to here.
21273 * gfxmenu: Moved ...
21274 * grub-core/gfxmenu: ... to here.
21275 * gnulib: Moved ...
21276 * grub-core/gnulib: ... to here.
21277 * hello: Moved ...
21278 * grub-core/hello: ... to here.
21279 * hook: Moved ...
21280 * grub-core/hook: ... to here.
21281 * io: Moved ...
21282 * grub-core/io: ... to here.
21283 * kern: Moved ...
21284 * grub-core/kern: ... to here.
21285 * lib: Moved ...
21286 * grub-core/lib: ... to here.
21287 * loader: Moved ...
21288 * grub-core/loader: ... to here.
21289 * mmap: Moved ...
21290 * grub-core/mmap: ... to here.
21291 * normal: Moved ...
21292 * grub-core/normal: ... to here.
21293 * partmap: Moved ...
21294 * grub-core/partmap: ... to here.
21295 * parttool: Moved ...
21296 * grub-core/parttool: ... to here.
21297 * script: Moved ...
21298 * grub-core/script: ... to here.
21299 * term: Moved ...
21300 * grub-core/term: ... to here
21301 * tests/example_functional_test.c: Moved ...
21302 * grub-core/tests/example_functional_test.c: ... to here.
21303 * tests/lib/functional_test.c: Moved ...
21304 * grub-core/tests/lib/functional_test.c: ... to here.
21305 * tests/lib/test.c: Moved ...
21306 * grub-core/tests/lib/test.c: ... to here.
21307 * video: Moved ...
21308 * grub-core/video: ... to here.
21309
645586e6
BC
213102010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
21311
21312 Replace --enable-grub-emu-modules with grub-emu-lite.
21313
21314 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
21315 cache.S.
21316
21317 * include/grub/emu/misc.h (grub_emu_init): New prototype.
21318 * kern/emu/full.c: New file. For grub-emu specific initialization.
21319 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
21320 * kern/emu/main.c: Call initialization function grub_emu_init.
21321
21322 * Makefile.in: Include grub-emu-lite in install.
21323 * commands/parttool.c: Use grub_no_autoload to differentiate
21324 between grub-emu and grub-emu-lite.
21325 * include/grub/misc.h: New variable grub_no_autoload.
21326
21327 * conf/any-emu.rmk: New rules for grub-emu-lite.
21328 * configure.ac: Remove --enable-grub-emu-modules.
21329 * genmk.rb: Cleanup unnecessary rules.
21330 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
21331
21332 * normal/main.c: Don't load list files on grub-emu-lite.
21333 * util/misc.c (grub_arch_sync_caches): Removed.
21334
f86a4030
CW
213352010-08-23 Colin Watson <cjwatson@ubuntu.com>
21336
21337 * kern/mips/startup.S (grub_prefix): Update comment to refer to
21338 grub-mkimage rather than grub-mkelfimage.
21339 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
21340
06776944
VS
213412010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
21342
21343 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
21344 a key after CapsLock or NumLock. It's just a qemu bug.
21345
df262419
VS
213462010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
21347
21348 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
21349 needed by libusb wrapper.
21350
b40ea81b
ST
213512010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
21352
21353 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
21354
dee50575
VS
213552010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
21356
21357 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
21358 --nounzip is passed.
21359
fb1d7b79
VS
213602010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
21361
21362 USB hotunplugging and USB serial support.
21363
21364 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
21365 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
21366 (grub_uhci_transfer): Respect timeout and set *actual.
21367 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
21368 non-standard length.
21369 (grub_usb_device_attach): Autoload modules.
21370 (GRUB_MOD_INIT): Set grub_term_poll_usb.
21371 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
21372 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
21373 users updated.
21374 (grub_usb_add_hub): Fill nports and children.
21375 (attach_root_port): Receive hub instead of controller.
21376 All users updated. Fill hub->devices.
21377 (grub_usb_root_hub): Allocate hub->devices.
21378 (detach_device): New function.
21379 (poll_nonroot_hub): Fill children and detach devices.
21380 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
21381 actual arguments. All users updated.
21382 (grub_usb_bulk_read_extended): New function.
21383 * bus/usb/serial/common.c: New file.
21384 * bus/usb/serial/ftdi.c: Likewise.
21385 * bus/usb/serial/pl2303.c: Likewise.
21386 * commands/terminal.c (handle_command): Support wildcard.
21387 * commands/usbtest.c: Output "Unknown" instead of empty string.
21388 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
21389 (usbserial_common_mod_SOURCES): New variable.
21390 (usbserial_common_mod_CFLAGS): Likewise.
21391 (usbserial_common_mod_LDFLAGS): Likewise.
21392 (pkglib_MODULES): Add usbserial_pl2303.mod.
21393 (usbserial_pl2303_mod_SOURCES): New variable.
21394 (usbserial_pl2303_mod_CFLAGS): Likewise.
21395 (usbserial_pl2303_mod_LDFLAGS): Likewise.
21396 (pkglib_MODULES): Add usbserial_ftdi.mod.
21397 (usbserial_ftdi_mod_SOURCES): New variable.
21398 (usbserial_ftdi_mod_CFLAGS): Likewise.
21399 (usbserial_ftdi_mod_LDFLAGS): Likewise.
21400 (pkglib_MODULES): Add serial.mod.
21401 (serial_mod_SOURCES): New variable.
21402 (serial_mod_CFLAGS): Likewise.
21403 (serial_mod_LDFLAGS): Likewise.
21404 * conf/i386-pc.rmk: Likewise.
21405 * conf/mips-yeeloong.rmk: Likewise.
21406 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
21407 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
21408 * disk/usbms.c (first_available_slot): New variable.
21409 (grub_usbms_attach): Don't reuse free slots due to potential cache
21410 problems.
21411 * include/grub/serial.h: Moved to ..
21412 * include/grub/ns8250.h: ...this.
21413 * include/grub/serial.h: New file.
21414 * include/grub/term.h (grub_term_poll_usb): New variable.
21415 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
21416 readkey. All users updated.
21417 (grub_terminfo_output_state): Pass term to put.
21418 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
21419 (grub_usb_controller_dev): Add timeout and actual arguments to
21420 transfer. All users updated.
21421 (grub_usb_interface): New field detach_data.
21422 (grub_usb_device): New fields children and nports.
21423 (grub_usb_ep_type_t): New type.
21424 (grub_usb_get_ep_type): New function.
21425 (grub_usb_bulk_read_extended): Likewise.
21426 * include/grub/usbdesc.h (grub_usb_desc): New type.
21427 * include/grub/usbserial.h: New file.
21428 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
21429 * kern/term.c (grub_term_poll_usb): New variable.
21430 (grub_getkey): Call grub_term_poll_usb if set.
21431 (grub_checkkey): Likewise.
21432 (grub_getkeystatus): Likewise.
21433 * term/serial.c: Moved controller-specific parts to ...
21434 * term/ns8250.c: ... here.
21435 * term/serial.c: Mostly rewritten.
21436 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
21437 according to spec.
21438
21a313de
RM
214392010-08-20 Robert Millan <rmh@gnu.org>
21440
21441 Make kFreeBSD code more generic to support ext2fs as root, ufs as
21442 a separate module and maybe other interesting combinations.
21443
21444 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
21445 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
21446 (kfreebsd_entry): Add generic filesystem module load routine.
21447 Map GRUB `ext2' to kFreeBSD `ext2fs'.
21448
63c734a6
CW
214492010-08-20 Colin Watson <cjwatson@ubuntu.com>
21450
21451 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
21452 "numcenter" (I misunderstood the purpose of this entry).
21453 * docs/grub.texi (sendkey): Likewise.
21454
c4d16542
CW
214552010-08-20 Colin Watson <cjwatson@ubuntu.com>
21456
21457 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
21458 status flag options; simply omitting the option is equivalent and
21459 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
21460 (keysym_table): Rename "num5numlock" to "numlock".
21461 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
21462 can uniformly say that only the last of multiple `sendkey'
21463 invocations has any effect.
21464 * docs/grub.texi (sendkey): New section.
21465
93541d66
CW
214662010-08-19 Colin Watson <cjwatson@ubuntu.com>
21467
21468 * commands/i386/pc/sendkey.c (options): Fix three typos.
21469
b4ece5e1
VS
214702010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
21471
21472 Implement sendkey support.
21473
21474 * commands/i386/pc/sendkey.c: New file.
21475 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
21476 (sendkey_mod_SOURCES): New variable.
21477 (sendkey_mod_CFLAGS): Likewise.
21478 (sendkey_mod_LDFLAGS): Likewise.
21479
51f1f5af
CW
214802010-08-18 Colin Watson <cjwatson@ubuntu.com>
21481
21482 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
21483 fix warnings from Autoconf.
21484
9da94e05
CW
214852010-08-18 Colin Watson <cjwatson@ubuntu.com>
21486
21487 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
21488 to avoid false positives with some assemblers that output things
21489 like "someprefix_func" as part of their output.
21490
729a0f2e
RM
214912010-08-15 Robert Millan <rmh@gnu.org>
21492
21493 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
21494 errors.
21495 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
21496 grub_get_libzfs_handle() errors.
21497
f3710e08
RM
214982010-08-14 Robert Millan <rmh@gnu.org>
21499
21500 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
21501 filesystem is not ZFS.
21502
7a3c13de
BC
215032010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21504
21505 Fix for misspelled color names defaulting to black/black (bug
21506 reported by Doug Nazar)
21507
21508 * include/grub/normal.h (grub_parse_color_name_pair): Add return
21509 status to prototype.
21510 * normal/color.c (grub_parse_color_name_pair): Return failure
21511 status.
21512 (grub_env_write_color_normal): Ignore bad color names.
21513 (grub_env_write_color_highlight): Likewise.
21514 * normal/main.c (GRUB_MOD_INIT): Set default color names.
21515
ab8ba50d
BC
215162010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21517
21518 "shift" command support to GRUB script.
21519
21520 * include/grub/script_sh.h (grub_script_shift): New prototype.
21521 * script/execute.c (grub_script_shift): New function.
21522 * script/main.c (grub_script_init): Register shift command.
21523 (grub_script_fini): Unregister shift command.
21524 * util/grub-script-check.c (grub_script_cmd_shift): New function.
21525
21526 * tests/grub_script_shift.in: New testcase.
21527 * conf/tests.rmk: Rules for new testcase.
21528
4d61999e
BC
215292010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21530
21531 "continue" command support to GRUB script.
21532
21533 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
21534 (grub_script_break): Continue support.
21535 * script/main.c (grub_script_init): Register continue command.
21536 (grub_script_fini): Unregister continue command.
21537
21538 * tests/grub_script_continue.in: New testcase.
21539 * conf/tests.rmk: Rules for new testcase.
21540
4df51e00
BC
215412010-08-12 BVK Chaitanya <bvk@dbook>
21542
21543 "break" command support to GRUB script.
21544
21545 * conf/common.rmk: Rule updates to grub-script-check.
21546 * include/grub/misc.h (grub_min): New function.
21547 * include/grub/script_sh.h (grub_script_init): New prototype.
21548 (grub_script_fini): New prototype.
21549 (grub_script_break): New prototype.
21550 * script/main.c (grub_script_init): New function.
21551 (grub_script_fini): New function.
21552 * script/execute.c (grub_script_break): New function.
21553 * normal/main.c: Calls to grub_script_{init,fini}.
21554 * util/grub-script-check.c (grub_script_break): New function.
21555
21556 * tests/grub_script_break.in: New testcase.
21557 * conf/tests.rmk: Rules for new test case.
21558
f12c8420
BC
215592010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21560
21561 Function parameters support to GRUB script.
21562
21563 * script/yylex.l (VARIABLE): Regular expression update.
21564 * script/function.c (grub_script_function_call): Moved ...
21565 * script/execute.c (grub_script_function_call): ... to here.
21566 (grub_script_execute_arglist_to_argv): Removed.
21567 (grub_script_arglist_to_argv): New function.
21568 * script/argv.c: New file.
21569 (grub_script_argv_free): New function.
21570 (grub_script_argv_next): Likewise.
21571 (grub_script_argv_append): Likewise.
21572 (grub_script_argv_split_append): Likewise.
21573 * include/grub/script_sh.h (grub_script_argv): New struct.
21574 (grub_script_argv_free): New function.
21575 (grub_script_argv_next): Likewise.
21576 (grub_script_argv_append): Likewise.
21577 (grub_script_argv_split_append): Likewise.
21578
21579 * conf/common.rmk (normal.mod): New source script/argv.c.
21580
21581 * tests/grub_script_echo1.in: More tests.
21582 * tests/grub_script_vars1.in: Likewise.
21583 * tests/grub_script_functions.in: New test case.
21584 * conf/tests.rmk: Rules for new testcase.
21585
8022b748
BC
215862010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21587
21588 Remove grub_script_cmdblock struct.
21589
21590 * include/grub/script_sh.h: Remove grub_script_cmdblock.
21591 * script/parser.y: Likewise.
21592 * script/execute.c: Rename cmdblock suffix to cmdlist.
21593 * script/script.c: Likewise.
21594 * util/grub-script-check.c: Likewise.
21595
79a6ba61
YB
215962010-08-11 Yves Blusseau <blusseau@zetam.org>
21597
21598 * .bzrignore: add grub-macho2img
21599
d04b9414
VS
216002010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
21601
21602 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
21603
f947ab49
VS
216042010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
21605
21606 Remove the dump of sm712 initialisation sequence.
21607
21608 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
21609 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
21610 (GRUB_VGA_IO_MISC_WRITE): Likewise.
21611 (GRUB_VGA_CR_*): Added many registers.
21612 (GRUB_VGA_SR_*): Likewise.
21613 (GRUB_VGA_GR_*): Likewise.
21614 (grub_vga_write_arx): New function.
21615 (grub_video_hw_config): New struct.
21616 (grub_vga_set_geometry): New function.
21617 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
21618 GRUB_PCI_CLASS_SUBCLASS_VGA.
21619 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
21620 * video/sm712.c (grub_sm712_write_reg): New function
21621 (grub_sm712_read_reg): Likewise.
21622 (grub_sm712_sr_write): Likewise.
21623 (grub_sm712_gr_write): Likewise.
21624 (grub_sm712_cr_write): Likewise.
21625 (grub_sm712_write_arx): Likewise.
21626 (grub_sm712_cr_shadow_write): Likewise.
21627 (grub_sm712_write_dda_lookup): Likewise.
21628 (grub_video_sm712_setup): Initialise the video rather then
21629 blindly replay the dump.
21630 (main) [TEST]: Add a routine to be able to compile as standalone for
21631 tests.
21632 * video/sm712_init.c (sm712_init): Removed.
21633 (sm712_sr_seq1): New array.
21634 (sm712_sr_seq2): Likewise.
21635
f0206638
VS
216362010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
21637
21638 * include/grub/vga.h: Add missing grub/pci.h include.
21639
2764da3b
YB
216402010-08-10 Yves Blusseau <blusseau@zetam.org>
21641
21642 * util/grub-macho2img.c (main): fix typo
21643
cf0c775e
VS
216442010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
21645
21646 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
21647 (grub_vga_gr_read): Likewise.
21648 (grub_vga_cr_write): Likewise.
21649 (grub_vga_cr_read): Likewise.
21650 (grub_vga_sr_write): Likewise.
21651 (grub_vga_sr_read): Likewise.
21652 (grub_vga_palette_read): Likewise.
21653 (grub_vga_palette_write): Likewise.
21654 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
21655 (grub_sm712_sr_read): New function.
21656 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
21657 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
21658
07f360e9
RM
216592010-08-09 Robert Millan <rmh@gnu.org>
21660
21661 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
21662 out unused variables on non-ZFS build.
21663
346c2072
RM
216642010-08-08 Robert Millan <rmh@gnu.org>
21665
21666 Fix path generation for sub-filesystems in ZFS.
21667
21668 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
21669 missing slash.
21670
71175420
RM
216712010-08-08 Robert Millan <rmh@gnu.org>
21672
21673 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
21674
0d8286f3
RM
216752010-08-08 Robert Millan <rmh@gnu.org>
21676
21677 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
21678 exist, issue a proper error message (rely on `ls' for translated
21679 strings).
21680
55dd2924
RM
216812010-08-08 Robert Millan <rmh@gnu.org>
21682
21683 Fix grub-probe invocation.
21684
21685 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
21686
d3dd9e80
RM
216872010-08-04 Robert Millan <rmh@gnu.org>
21688
21689 * configure.ac: Remove checks for getfsstat() and getmntany().
21690 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
21691 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
21692 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
21693 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
21694 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
21695 function.
21696 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
21697 via find_mount_point_from_dir() and getfsstat() / getmntany().
21698
0de22aa9
RM
216992010-08-04 Robert Millan <rmh@gnu.org>
21700
21701 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21702 (grub_find_zpool_from_mount_point): Merge into ...
21703 (grub_find_zpool_from_dir): ... this.
21704 * kern/emu/misc.c: Likewise.
21705
21706 * kern/emu/misc.c
21707 (grub_make_system_path_relative_to_its_root): Replace
21708 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
21709 with grub_find_zpool_from_dir().
21710 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
21711
62858144
RM
217122010-08-04 Robert Millan <rmh@gnu.org>
21713
21714 Support OpenSolaris in ZFS device resolution.
21715
21716 * configure.ac: Check for getmntany().
21717 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
21718 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
21719 support.
21720
9dd6fd50
RM
217212010-08-03 Robert Millan <rmh@gnu.org>
21722
21723 Fix grub-emu build.
21724
21725 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
21726 * include/grub/emu/misc.h: ... here.
21727
21728 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
21729 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
21730
21731 * util/misc.c: Remove `<grub/util/libzfs.h>'.
21732 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
21733 (grub_get_libzfs_handle): Move to ...
21734 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
21735 (grub_get_libzfs_handle): ... here.
21736
c9f7ff97
BC
217372010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
21738
21739 * script/execute.c (grub_script_execute_cmdline): Check for NULL
21740 as command name case.
21741
a870a783
CW
217422010-08-02 Colin Watson <cjwatson@ubuntu.com>
21743
21744 * disk/raid.c (insert_array): Select unique numbers for named arrays
21745 as well, for use as keys in the disk cache.
21746
c7db243b
RM
217472010-08-01 Robert Millan <rmh@gnu.org>
21748
21749 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
21750 kFreeBSD device name, except on ZFS where the filesystem label is
21751 used.
21752 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
21753 `/boot/zfs/zpool.cache'.
21754 Set mountfrom kernel variable using ${kfreebsd_device}.
21755
f7abdefb
RM
217562010-08-01 Robert Millan <rmh@gnu.org>
21757
21758 Make it even harder to use uninitialized `libzfs_handle' (and
21759 make the interface a bit simpler).
21760
21761 * include/grub/util/misc.h (grub_util_init_libzfs)
21762 (libzfs_handle): Remove.
21763 (grub_get_libzfs_handle): New prototype.
21764
21765 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
21766 attribute.
21767 (grub_util_init_libzfs): Remove.
21768 (grub_get_libzfs_handle): New function.
21769
21770 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
21771 grub_get_libzfs_handle() to obtain a libzfs handle instead of
21772 accessing `libzfs_handle' directly.
21773
c882acc0
RM
217742010-08-01 Robert Millan <rmh@gnu.org>
21775
21776 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21777 (grub_find_zpool_from_mount_point): New function prototypes.
21778
21779 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
21780 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
21781
21782 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
21783 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
21784 `static' attribute.
21785
21786 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
21787 finding zpool from mount point into ...
21788 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
21789
21790 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
21791 requested path is part of a ZFS pool, use
21792 grub_find_zpool_from_mount_point() to detect its filesystem name,
21793 and generate a path with `/fsname@path' syntax.
21794
8bfe31d8
CW
217952010-08-01 Colin Watson <cjwatson@ubuntu.com>
21796
21797 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
21798 (void) rather than () so that this is a proper prototype.
21799
553df63d
VS
218002010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21801
21802 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
21803
8687cf07
VS
218042010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21805
21806 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
21807 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
21808
ea9be8ea
CW
218092010-08-01 Colin Watson <cjwatson@ubuntu.com>
21810
21811 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
21812
6eea041a
CW
218132010-08-01 Colin Watson <cjwatson@ubuntu.com>
21814
21815 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
21816
2cfb45df
CW
218172010-08-01 Colin Watson <cjwatson@ubuntu.com>
21818
21819 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
21820 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
21821 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
21822 disable gfxpayload.
21823 (Shell-like scripting): Add real content.
21824 (Serial terminal): Suggest `terminal_input serial; terminal_output
21825 serial' rather than putting the two commands on separate lines,
21826 since console input will be inoperative after the first command.
21827 (menuentry): Document --class, --users, and --hotkey options.
21828 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
21829 Vladimir Serbinenko).
21830
7decd202
VS
218312010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
218322010-08-01 Colin Watson <cjwatson@ubuntu.com>
21833
21834 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
21835
c882acc0
RM
218362010-08-01 Robert Millan <rmh@gnu.org>
21837
21838 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21839 (grub_find_zpool_from_mount_point): New function prototypes.
21840
21841 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
21842 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
21843
21844 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
21845 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
21846 `static' attribute.
21847
21848 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
21849 finding zpool from mount point into ...
21850 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
21851
21852 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
21853 requested path is part of a ZFS pool, use
21854 grub_find_zpool_from_mount_point() to detect its filesystem name,
21855 and generate a path with `/fsname@path' syntax.
21856
deb0caa3
RM
218572010-08-01 Robert Millan <rmh@gnu.org>
21858
21859 Prevent accidental use of uninitialized libzfs_handle.
21860
21861 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
21862 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
21863 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
21864
ce04ef47
CW
218652010-08-01 Colin Watson <cjwatson@ubuntu.com>
21866
21867 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
21868 util/grub.d/10_linux.in). Fixes Debian bug #591093.
21869
ebf53056
RM
218702010-08-01 Robert Millan <rmh@gnu.org>
21871
21872 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 21873
3710bb6b
RM
218742010-07-31 Robert Millan <rmh@gnu.org>
21875
21876 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
21877
8072efeb
RM
218782010-07-31 Robert Millan <rmh@gnu.org>
21879
21880 * kern/emu/misc.c: Add missing license header.
21881
3169f4c7
RM
218822010-07-31 Robert Millan <rmh@gnu.org>
21883
21884 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
21885
21886 * include/grub/util/libnvpair.h: Include `<config.h>'.
21887 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
21888 declaring libnvpair prototypes ourselves.
21889 * include/grub/util/libzfs.h: Include `<config.h>'.
21890 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
21891 declaring libzfs prototypes ourselves.
21892
21893 (libzfs_handle): Moved to ...
21894 * include/grub/util/misc.h (libzfs_handle): ... here.
21895 Include `<grub/util/libzfs.h>'.
21896
c9a00aee
RM
218972010-07-30 Robert Millan <rmh@gnu.org>
21898
21899 * include/grub/emu/misc.h: Add missing license header.
21900
a184f9c8
RM
219012010-07-30 Robert Millan <rmh@gnu.org>
21902
21903 Enable `grub-probe -t device' resolution on ZFS.
21904
21905 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
21906 * include/grub/util/libnvpair.h: New file.
21907 * include/grub/util/libzfs.h: New file.
21908
21909 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
21910 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
21911 `<grub/util/libnvpair.h>'.
21912 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
21913
21914 (find_mount_point_from_dir): New static function.
21915 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
21916 function.
21917 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
21918 find_root_device_from_libzfs() before ressorting to find_root_device().
21919
21920 * include/grub/util/misc.h (grub_util_init_libzfs): New function
21921 prototype.
21922 * util/misc.c: Include `<grub/util/libzfs.h>'.
21923 (grub_util_init_libzfs): New function.
21924 [HAVE_LIBZFS] (libzfs_handle): New global variable.
21925 [HAVE_LIBZFS] (fini_libzfs): New static function.
21926 (grub_util_init_libzfs): New function.
21927 * util/grub-probe.c (main): Call grub_util_init_libzfs().
21928
f7790cdd
RM
219292010-07-30 Robert Millan <rmh@gnu.org>
21930
21931 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
21932 (xmalloc, xrealloc, xstrdup, xasprintf): Add
21933 `warn_unused_result' attribute.
21934 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
21935 (grub_xasprintf, grub_xvasprintf): Likewise.
21936 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
21937
0806b63c
RM
219382010-07-29 Robert Millan <rmh@gnu.org>
21939
21940 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
21941 (probe): Handle `PRINT_FS_LABEL'.
21942 (main): Handle `-t fs_label'.
21943
9f841f5c
RM
219442010-07-29 Robert Millan <rmh@gnu.org>
21945
21946 * configure.ac: Remove grub-mkisofs checks.
21947
46371121
VS
219482010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
21949
21950 * util/ieee1275/grub-install.in: Don't use empty grub_device.
21951 Reported by: Lennart Sorensen.
21952
219532010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21954
21955 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
21956 prior to terminal_input/terminal_output separation. It's been over 1.5
21957 years and those versions weren't widely deployed.
21958
a9600892
CW
219592010-07-22 Colin Watson <cjwatson@ubuntu.com>
21960
21961 * disk/raid.c (insert_array): Don't count named arrays when looking
21962 for unused array numbers.
697e053c 21963 Reported and tested by: Michael Guntsche.
a9600892 21964
c03507df
CW
219652010-07-20 Colin Watson <cjwatson@ubuntu.com>
21966
21967 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
21968 implementation of this so that grub-emu links again, with a note
21969 that this should support hotplugging in the future.
21970
b26f1c11
CW
219712010-07-20 Colin Watson <cjwatson@ubuntu.com>
21972
21973 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
21974
efc9d7f1
CW
219752010-07-20 Colin Watson <cjwatson@ubuntu.com>
21976
21977 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
21978 handle on failure.
21979 (grub_loopback_close): Remove empty function.
21980 (grub_loopback_dev): Remove close method.
21981
dd8ff5c9
CW
219822010-07-20 Colin Watson <cjwatson@ubuntu.com>
21983
21984 Disable EFI cursor when the EFI console becomes inactive.
21985
21986 * term/efi/console.c (grub_efi_console_init): New function.
21987 (grub_efi_console_fini): New function.
21988 (grub_console_term_output): Register init and fini methods.
21989
5e3bec67
VS
219902010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21991
21992 * tests/util/grub-shell-tester.in: Remove bashism and declare as
21993 sh script.
21994
afaec079
VS
219952010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21996
21997 * disk/loopback.c (grub_loopback): Replace filename with file.
21998 (delete_loopback): Handle new semantics.
21999 (grub_cmd_loopback): Likewise.
22000 (grub_loopback_iterate): Likewise.
22001 (grub_loopback_close): Likewise.
22002
a6a11f3c
VS
220032010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22004
22005 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
22006 with -p "".
22007 Reported by: Tito Keitel.
22008
64a638b0
VS
220092010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22010
22011 * docs/grub.texi (Naming convention): Document new naming convention.
22012
ab8ba957
VS
220132010-07-20 Vadim Solomin <vadic052@gmail.com>
220142010-07-20 Colin Watson <cjwatson@ubuntu.com>
22015
22016 Generate device.map in something closer to the old ordering.
22017
22018 * util/deviceiter.c (struct device): New declaration.
22019 (compare_file_names): Rename to ...
22020 (compare_devices): ... this. Sort by kernel name in preference to
22021 the stable by-id name, but keep the latter as a fallback comparison.
22022 Update header comment.
22023 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
22024 of `struct device' rather than of plain file names.
22025
a29d6a4b
TF
220262010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
22027
22028 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
22029 on i386.
22030
39d824e8
VS
220312010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22032
22033 * commands/acpi.c (setup_common_tables): Use sizeof instead of
22034 hardcoding size.
22035 (setv1table): Likewise.
22036
f058276b
FZ
220372010-07-20 Colin Watson <cjwatson@ubuntu.com>
22038
22039 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
22040 removing the homehost if present.
22041 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
22042 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
22043 removing the homehost if present.
22044 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
22045 if possible.
22046 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
22047
22048 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
22049 parameter. Set its pointer target to 0.
22050 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
22051 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
22052 `data_offset' value from the superblock for 1.x metadata.
22053 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
22054 data on the device.
22055 (insert_array): Record the start sector of data on the device.
22056 (grub_raid_register): Pass start_sector parameters to
22057 grub_raid_list->detect and insert_array.
22058 * include/grub/raid.h (struct grub_raid_array): Add start_sector
22059 member.
22060 (struct grub_raid): Add start_sector parameter to `detect'.
22061
22062 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
22063 __attribute__ ((packed)), leaving a comment.
22064 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
22065 (grub_mdraid_detect_09): ... here and ...
22066 (grub_mdraid_detect_1x): ... here.
22067
220682010-07-20 Peter Henn <peter.henn@web.de>
22069
22070 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
22071 chunk size and disk size, which are already given as sector counts
22072 as distinct from the 0.90 units. Fetch the correct device number
22073 from the role table instead of using the table index.
22074
220752010-07-20 Felix Zielcke <fzielcke@z-51.de>
22076
22077 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
22078 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
22079 (WriteMostly1): New macro.
22080 Set array->name to NULL for metadata format 0.90. Add support for
22081 metadata 1.x. Fix some comments.
22082 * disk/raid.c (): Add support for name based RAID arrays. Fix a
22083 few comments.
22084 * util/getroot.c (grub_util_get_grub_dev): Add support for
22085 /dev/md/name style devices.
22086
4b761da9
CW
220872010-07-20 Colin Watson <cjwatson@ubuntu.com>
22088
22089 * .bzrignore: Ignore 20_linux_xen.
22090
5771289a
CW
220912010-07-17 Colin Watson <cjwatson@ubuntu.com>
22092
22093 * util/import_unicode.py: Remove unnecessary imports.
22094
5dab68df
AN
220952010-07-17 Aleš Nesrsta <starous@volny.cz>
22096
22097 Hotplugging and USB hub support.
22098
22099 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
22100 (grub_ohci): Likewise.
22101 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
22102 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
22103 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
22104 (GRUB_OHCI_CTRL_EDS): Likewise.
22105 (GRUB_OHCI_BULK_EDS): Likewise.
22106 (GRUB_OHCI_TDS): Likewise.
22107 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
22108 (grub_ohci_ed_phys2virt): New function.
22109 (grub_ohci_virt_to_phys): Likewise.
22110 (grub_ohci_td_phys2virt): Likewise.
22111 (grub_ohci_td_virt2phys): Likewise.
22112 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
22113 attachment.
22114 (grub_ohci_find_ed): New function.
22115 (grub_ohci_alloc_td): Likewise.
22116 (grub_ohci_free_td): Likewise.
22117 (grub_ohci_free_tds): Likewise.
22118 (grub_ohci_transfer): Use previously allocated memory.
22119 (grub_ohci_portstatus): Reset status changed bit.
22120 (grub_ohci_detect_dev): Supply status changed.
22121 (grub_ohci_fini_hw): Free memory.
22122 (grub_ohci_restore_hw): Reallocate memory.
22123 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
22124 Reset status change.
22125 (grub_uhci_detect_dev): Supply status_change.
22126 * bus/usb/usb.c (attach_hooks): New var.
22127 (grub_usb_device_attach): New function.
22128 (grub_usb_register_attach_hook_class): Likewise.
22129 (grub_usb_unregister_attach_hook_class): Likewise.
22130 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
22131 (grub_usb_add_hub): Reset connection changed bit.
22132 (attach_root_port): New function.
22133 (grub_usb_root_hub): Likewise.
22134 (poll_nonroot_hub): Likewise.
22135 (grub_usb_poll_devices): Likewise.
22136 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
22137 * disk/usbms.c (grub_usbms_open): Use device hooks.
22138 (grub_usbms_iterate) :Poll devices.
22139 (grub_usbms_finddevs): Split into ...
22140 (grub_usbms_attach): ... this ...
22141 (grub_usbms_attach): ... and this.
22142 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
22143 in detect_dev.
22144 (grub_usb_interface): New fields attached and detach_hook.
22145 (grub_usb_attach_hook_class): New type.
22146 (grub_usb_attach_desc): New struct.
22147 (grub_usb_register_attach_hook_class): New function.
22148 (grub_usb_unregister_attach_hook_class): Likewise.
22149 (grub_usb_poll_devices): Likewise.
22150 (grub_usb_device_attach): Likewise.
22151 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
22152 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
22153
3222efaf
VS
221542010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22155
22156 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
22157 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
22158 delta determination style. Works with most NetBSD partitions too.
22159
139b714a
VS
221602010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22161
22162 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
22163 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
22164
986aad56
VS
221652010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22166
22167 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
22168
99be513c
AB
221692010-07-14 Anton Blanchard <anton@samba.org>
22170
22171 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
22172 ET_DYN files.
22173
18075f62
GS
221742010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22175
22176 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
22177
8d9a5b15
GS
221782010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22179
22180 * kern/partition.c (grub_partition_check_containment): New function to
22181 check that a partition is physically contained in a parent. Since
22182 offsets are relative (and non-negative), this reduces to checking that
22183 the partition ends before its parent.
22184 (grub_partition_map_probe): Discard out-of-range sub-partitions.
22185 (grub_partition_iterate): Likewise.
22186 * include/grub/partition.h (grub_partition_map): Slightly more detailed
22187 comments.
22188 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
22189 partitions that start before their parent, and add debug printfs.
22190
19563c25
CW
221912010-07-13 Colin Watson <cjwatson@ubuntu.com>
22192
22193 * Makefile.in (.SUFFIX): Spell correctly, as ...
22194 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
22195 bare module name without `.mod', e.g. `test') tried to invoke a
22196 Modula-2 compiler.
22197
1a1f1e67
CW
221982010-07-13 Colin Watson <cjwatson@ubuntu.com>
22199
22200 * README: Point to the Info manual.
22201
811b0dca
JS
222022010-07-13 Jiro SEKIBA <jir@unicus.jp>
22203
22204 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
22205 2nd superblock position from partition size.
22206
e4f4eafc
CW
222072010-07-10 Colin Watson <cjwatson@ubuntu.com>
22208
22209 * Makefile.in (MAINTAINER_CLEANFILES): Remove
22210 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
22211 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
22212 outputs.
22213
4274c30f
VS
222142010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22215
22216 Restructure SCSI .id handling.
22217 Reported and tested by: Aleš Nesrsta.
22218
22219 * disk/ata.c (grub_atapi_close): Removed. All users updated.
22220 (grub_atapi_dev): Changed .name to "ata". New field .id.
22221 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
22222 (grub_usbms_dev): New field .id.
22223 * disk/scsi.c (grub_scsi_iterate): Generate name.
22224 (grub_scsi_open): Parse name.
22225 * include/grub/scsi.h (grub_make_scsi_id): New function.
22226 (grub_scsi_dev): Change iterate and open to number instead of naming
22227 busses. All users updated.
22228 (grub_scsi): Remove name. Add .bus.
22229
5bc24388
VS
222302010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22231
22232 * commands/help.c (grub_cmd_help): Fix a typo.
22233
249975ba
VS
222342010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22235
22236 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
22237 Reported and tested by: Colin Watson.
22238
3eaac1a1
VS
222392010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22240
22241 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
22242 in this context.
22243
becce1b1
VS
222442010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
22245
22246 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
22247
f7bf0918
CW
222482010-07-07 Colin Watson <cjwatson@ubuntu.com>
22249
22250 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
22251 indentation.
22252
0b0f9620
CW
222532010-07-06 Colin Watson <cjwatson@ubuntu.com>
22254
22255 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
22256 and disk/raid6_recover.c.
22257 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
22258 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
22259
1e545469
CW
222602010-07-06 Colin Watson <cjwatson@ubuntu.com>
22261
22262 * term/gfxterm.c (repaint_schedulded): Rename to ...
22263 (repaint_scheduled): ... this. Update all callers.
22264 (repaint_was_schedulded): Rename to ...
22265 (repaint_was_scheduled): ... this. Update all callers.
22266
5357687a
CW
222672010-07-06 Colin Watson <cjwatson@ubuntu.com>
22268
22269 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
22270 which we expect to be handled by upper layers.
22271
29d7e783
BC
222722010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
22273
22274 * bus/usb/usbhub.c: #include time.h header.
22275
37582066
CW
222762010-07-06 Colin Watson <cjwatson@ubuntu.com>
22277
22278 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
22279 entry_name also for entries without stat blocks (e.g. ".."); fixes
22280 corruption of the first entry in a directory.
22281
c8c06953
CW
222822010-07-06 Colin Watson <cjwatson@ubuntu.com>
22283
22284 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
22285 after setting gfxterm as the active terminal. GRUB_BACKGROUND
22286 doesn't work otherwise.
22287
e75056f1
CW
222882010-07-05 Colin Watson <cjwatson@ubuntu.com>
22289
22290 * docs/grub.texi (Features): Update list of supported file systems.
22291 (GNU/Linux): Update for GRUB 2.
22292 (Serial terminal): Remove mention of --disable-serial, which was a
22293 GRUB Legacy configure option. Update instructions to use
22294 `terminal_input' and `terminal_output' rather than `terminal'.
22295 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
22296 configuration' and `Installing GRUB using grub-install'.
22297 (Menu entry editor): Update for GRUB 2.
22298 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
22299 Document new -a, -u, and -v options.
22300 (initrd): New section.
22301 (initrd16): New section.
22302 (linux): New section.
22303 (linux16): New section.
22304 (search): The `var' argument to `--set' is optional.
22305 (GRUB only offers a rescue shell): Go into a little more detail on
22306 drive ordering.
22307
5cf69151
CW
223082010-07-05 Colin Watson <cjwatson@ubuntu.com>
22309
22310 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
22311
e3f90044
CW
223122010-07-05 Colin Watson <cjwatson@ubuntu.com>
22313
22314 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
22315 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
22316
38d8f4f3
CW
223172010-07-05 Colin Watson <cjwatson@ubuntu.com>
22318
22319 * util/i386/pc/grub-setup.c (setup): Rename prefix to
22320 install_prefix, in line with install_dos_part and install_bsd_part.
22321 Add new prefix variable, which is copied to install_prefix after
22322 comparing core.img in memory with the one read from disk in the
22323 no-embedding case, and use that rather than overwriting
22324 install_prefix immediately when installing to a partition.
22325 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
22326 Bicakci.
22327
57ebd41e
GS
223282010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
22329
22330 * configure.ac: Avoid == in test command, it's not portable.
22331 * util/grub.d/30_os-prober.in: Likewise.
22332
cb7f64b2
CW
223332010-07-04 Colin Watson <cjwatson@ubuntu.com>
22334
22335 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
22336
6b654bb0
GS
223372010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
22338
22339 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
22340 multiple (top-level) partmaps.
22341
72a2026d
VS
223422010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22343
22344 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 22345 Reported by: Tino Keitel.
72a2026d 22346
df3eb88f
VS
223472010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22348
22349 Bidi and diacritics support.
22350
22351 * Makefile.in (widthspec.bin): New target.
22352 (widthspec.h): Likewise.
22353 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
22354 * autogen.sh: Generate unidata.c.
22355 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
22356 * commands/ls.c (grub_ls_list_devices): Likewise.
22357 (grub_ls_list_files): Likewise.
22358 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
22359 (grub_mini_cmd_lsmod): Likewise.
22360 * commands/read.c: Likewise.
22361 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
22362 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
22363 * lib/arg.c (grub_arg_show_help): Likewise.
22364 * lib/crypto.c (grub_password_get): Likewise.
22365 * normal/auth.c (grub_username_get): Likewise.
22366 * normal/misc.c (grub_normal_print_device_info): Likewise.
22367 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
22368 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
22369 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
22370 (normal/charset.c_DEPENDENCIES): New variable.
22371 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
22372 (pkglib_MODULES): Remove charset.mod.
22373 (charset_mod_SOURCES): Removed.
22374 (charset_mod_CFLAGS): Likewise.
22375 (charset_mod_LDFLAGS): Likewise.
22376 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
22377 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
22378 and term/tparm.c.
22379 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22380 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22381 (kernel_img_HEADERS): Add terminfo.h.
22382 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
22383 Fill ->font. Reverse ascii bitmaps.
22384 (grub_font_get_xheight): New function.
22385 * font/font.c (grub_font_get_string_width): Moved from here ...
22386 * gfxmenu/font.c (grub_font_get_string_width): ... here.
22387 * font/font.c (grub_font_draw_string): Moved from here ...
22388 * gfxmenu/font.c (grub_font_draw_string): ... here.
22389 * font/font.c (grub_font_dup_glyph): New function.
22390 (grub_font_blit_glyph): Likewise.
22391 (grub_font_blit_glyph_mirror): Likewise.
22392 (blit_comb): Likewise.
22393 (grub_font_construct_dry_run): Likewise.
22394 (grub_font_get_constructed_device_width): Likewise.
22395 (grub_font_construct_glyph): Likewise.
22396 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
22397 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
22398 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
22399 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
22400 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
22401 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
22402 (grub_font_get_xheight): New proto.
22403 (grub_font_get_constructed_device_width): Likewise.
22404 (grub_font_construct_glyph): Likewise.
22405 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
22406 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
22407 * include/grub/font.h (grub_font_draw_string): Moved from here ...
22408 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
22409 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
22410 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
22411 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
22412 (grub_console_getcharwidth): Likewise.
22413 * include/grub/misc.h (grub_xputs): New proto.
22414 (grub_puts): Inlined.
22415 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
22416 (grub_normal_get_line_counter): Removed.
22417 (grub_install_newline_hook): Likewise.
22418 (grub_normal_get_char_counter): New proto.
22419 (grub_normal_reset_more): Likewise.
22420 (grub_xputs_normal): Likewise.
22421 * include/grub/powerpc/ieee1275/console.h: Removed.
22422 * include/grub/sparc64/ieee1275/console.h: Likewise.
22423 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
22424 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
22425 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
22426 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
22427 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
22428 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
22429 (grub_term_input): Pass reference to self. All users updated.
22430 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
22431 Pass reference to self. New fields normal_color, highlight_color and
22432 data. All users updated.
22433 (grub_putchar): Removed.
22434 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
22435 (grub_unicode_estimate_width): New function.
22436 (grub_term_getcharwidth): Add defaults.
22437 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
22438 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
22439 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
22440 (grub_cls): Remove EXPORT_FUNC.
22441 (grub_setcolorstate): Inline.
22442 (grub_newline_hook): Removed.
22443 * include/grub/terminfo.h: Rewritten. All users updated.
22444 * include/grub/unicode.h: New file.
22445 * include/grub/video.h (grub_video_signed_rect): New type.
22446 * kern/emu/console.c (grub_console_highlight_color): Removed.
22447 (grub_console_normal_color): Likewise.
22448 (grub_console_standard_color): Made static.
22449 (grub_ncurses_putchar): Remove mapping.
22450 (grub_ncurses_getcharwidth): Removed.
22451 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
22452 (grub_ncurses_setcolor): Removed.
22453 (grub_ncurses_getcolor): Likewise.
22454 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
22455 (grub_console_putchar): ... this.
22456 (grub_console_putchar): Handle argument difference.
22457 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
22458 console_init_early and console_init_lately.
22459 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
22460 * kern/misc.c (grub_puts): Removed.
22461 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
22462 (grub_vsnprintf_real): Remove str = NULL support.
22463 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
22464 * normal/charset.c (grub_utf8_to_ucs4): ... here.
22465 * kern/term.c (grub_putcode): Renamed to ...
22466 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
22467 (grub_putchar): Removed.
22468 (grub_xputs_dumb): New function.
22469 (grub_xputs): New variable.
22470 * lib/charset.c: Move from here ...
22471 * normal/charset.c: ... to here.
22472 (grub_ucs4_to_utf8): New function.
22473 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
22474 (join_types): New variable.
22475 (unpack_join): New function.
22476 (bidi_types): New variable.
22477 (unpack_bidi): New function.
22478 (get_bidi_type): Likewise.
22479 (get_join_type): Likewise.
22480 (is_mirrored): Likewise.
22481 (grub_unicode_get_comb_type): Likewise.
22482 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
22483 (is_type_after): Likewise.
22484 (grub_unicode_aglomerate_comb): Likewise.
22485 (bidi_line_wrap): Likewise.
22486 (grub_bidi_line_logical_to_visual): Likewise.
22487 (grub_bidi_logical_to_visual): Likewise.
22488 (grub_unicode_mirror_code): Likewise.
22489 (grub_unicode_shape_code): Likewise.
22490 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
22491 Don't use grub_putchar.
22492 * normal/main.c (grub_normal_init_page): Use grub_putcode.
22493 (grub_normal_reader_init): Likewise.
22494 (grub_xputs_saved): New variable.
22495 (GRUB_MOD_INIT): Set grub_xputs.
22496 (GRUB_MOD_FINI): Restore grub_xputs.
22497 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
22498 (menu_init): Avoid printing gfxmenu error.
22499 (show_menu): Use grub_normal_get_char_counter.
22500 * normal/menu_entry.c (update_screen): Fix out-of-array.
22501 (complete): Avoid NULL dereferencing.
22502 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
22503 * normal/menu_text.c (print_spaces): Removed.
22504 (grub_print_ucs4): Likewise.
22505 (grub_print_message_indented): Use grub_print_ucs4.
22506 (print_message): Use grub_putcode.
22507 (print_entry): Hanlde diacritics.
22508 * normal/term.c (term_state): New type.
22509 (grub_more_lines): Removed.
22510 (term_states): New variable.
22511 (grub_normal_line_counter): Renamed to ..
22512 (grub_normal_char_counter): ...this. All users updated.
22513 (grub_normal_get_line_counter): Renamed to ...
22514 (grub_normal_get_char_counter): ... this.
22515 (grub_normal_reset_more): New function.
22516 (process_newline): Removed.
22517 (print_more): New function.
22518 (grub_install_newline_hook): Removed.
22519 (map_code): New function.
22520 (grub_puts_terminal): Use grub_print_ucs4.
22521 (putglyph): New function.
22522 (putcode_real): Likewise.
22523 (grub_putcode): Use putcode_real.
22524 (get_maxwidth): New function.
22525 (get_startwidth): Likewise.
22526 (print_ucs4_terminal): Likewise.
22527 (find_term_state): Likewise.
22528 (put_glyphs_terminal): Likewise.
22529 (print_backlog): Likewise.
22530 (print_ucs4_real): Likewise.
22531 (grub_print_ucs4): Likewise.
22532 (grub_xputs_normal): Likewise.
22533 * term/efi/console.c (grub_console_putchar): Output diacritics.
22534 (grub_console_getcharwidth): Removed.
22535 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
22536 * term/gfxterm.c (clear_char): Free chars.
22537 (scroll_up): Avoid leaking memory.
22538 (grub_gfxterm_putchar): Support diacritics.
22539 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
22540 * term/i386/pc/console.c (grub_console_term_output): Declare as
22541 GRUB_TERM_CODE_TYPE_VGA.
22542 * term/i386/pc/vga.c (grub_vga_term): Declare as
22543 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
22544 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
22545 GRUB_TERM_CODE_TYPE_VGA.
22546 * term/i386/vga_common.c (map_char): Removed.
22547 (grub_console_putchar): Likewise.
22548 (grub_console_getcharwidth): Likewise.
22549 * term/ieee1275/ofconsole.c: Simplify using terminfo.
22550 (colors): Reordered to match terminfo.
22551 (grub_ofconsole_normal_color): Removed.
22552 (grub_ofconsole_writeesc): Likewise.
22553 (grub_ofconsole_highlight_color): Likewise.
22554 (grub_ofconsole_getcharwidth): Likewise.
22555 (grub_ofconsole_setcolorstate): Likewise.
22556 (grub_ofconsole_setcolor): Likewise.
22557 (grub_ofconsole_getcolor): Likewise.
22558 (grub_ofconsole_readkey): Renamed to ...
22559 (readkey): ... this. Remove escape sequence handling. Return -1 on no
22560 key.
22561 (grub_ofconsole_checkkey): Removed.
22562 (grub_ofconsole_getkey): Likewise.
22563 (grub_ofconsole_getxy): Likewise.
22564 (grub_ofconsole_gotoxy): Likewise.
22565 (grub_ofconsole_cls): Likewise.
22566 (grub_ofconsole_refresh): Likewise.
22567 (grub_ofconsole_terminfo_input): New struct.
22568 (grub_ofconsole_terminfo_output): Likewise.
22569 (grub_ofconsole_term_input): Use terminfo.
22570 (grub_ofconsole_term_output): Likewise.
22571 (grub_console_init): Split into ...
22572 (grub_console_init_early): ...this and ...
22573 (grub_console_init_lately): ...this. Use terminfo.
22574 (grub_ofconsole_putchar): Renamed to ...
22575 (put): ... this. Remove mapping.
22576 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
22577 * term/serial.c: Simplify using terminfo.
22578 (xpos): Removed.
22579 (ypos): Likewise.
22580 (keep_track): Likewise.
22581 (registered): Likewise.
22582 (input_buf): Likewise.
22583 (npending): Likewise.
22584 (serial_translate_key_sequence): Likewise.
22585 (fill_input_buf): Likewise.
22586 (grub_serial_checkkey): Likewise.
22587 (grub_serial_getkey): Likewise.
22588 (grub_serial_getxy): Likewise.
22589 (grub_serial_gotoxy): Likewise.
22590 (grub_serial_putchar): Likewise.
22591 (grub_serial_cls): Likewise.
22592 (grub_serial_setcolorstate): Likewise.
22593 (grub_serial_setcursor): Likewise.
22594 (serial_hw_init): Use serial_hw_fetch.
22595 (grub_serial_terminfo_input): New variable.
22596 (grub_serial_terminfo_output): Likewise.
22597 (grub_serial_term_input): Use terminfo.
22598 (grub_serial_term_output): Likewise.
22599 * term/terminfo.c (putstr): Use put.
22600 (grub_terminfo_all_free): New function
22601 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
22602 (grub_terminfo_output_register): New function.
22603 (grub_terminfo_output_unregister): Likewise.
22604 (grub_terminfo_getxy): Likewise.
22605 (grub_terminfo_readkey): Likewise.
22606 (grub_terminfo_checkkey): Likewise.
22607 (grub_terminfo_getkey): Likewise.
22608 (grub_terminfo_input_init): Likewise.
22609 (print_terminfo): Likewise.
22610 (grub_cmd_terminfo): Handle encoding.
22611 (grub_terminfo_gotoxy): Track position.
22612 (grub_terminfo_cls): Likewise.
22613 (grub_terminfo_putchar): Likewise.
22614 (grub_terminfo_setcolorstate): Handle colors
22615 (grub_terminfo_cursor_on): This ...
22616 (grub_terminfo_cursor_off): ... and this merged into ...
22617 (grub_terminfo_setcursor): ... this.
22618 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
22619 * unicode/ArabicShaping.txt: New file (imported from Unicode).
22620 * unicode/BidiMirroring.txt: Likewise.
22621 * unicode/UnicodeData.txt: Likewise.
22622 * unicode/COPYING: Likewise.
22623 * util/grub-editenv.c (grub_putchar): Removed.
22624 (grub_xputs_real): New function.
22625 (grub_xputs): New variable.
22626 * util/grub-fstest.c (grub_putchar): Removed.
22627 (grub_xputs_real): New function.
22628 (grub_xputs): New variable.
22629 * util/grub-mkdevicemap.c (grub_putchar): Removed.
22630 (grub_xputs_real): New function.
22631 (grub_xputs): New variable.
22632 * util/grub-probe.c (grub_putchar): Removed.
22633 (grub_xputs_real): New function.
22634 (grub_xputs): New variable.
22635 * util/grub-script-check.c (grub_putchar): Removed.
22636 (grub_xputs_real): New function.
22637 (grub_xputs): New variable.
22638 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
22639 (grub_xputs_real): New function.
22640 (grub_xputs): New variable.
22641 * util/import_unicode.py: New file.
22642 * util/grub-mkfont.c (ft_errmsgs): New array.
22643 (grub_glyph_info): Make bitmap a pointer.
22644 (file_formats): New type WIDTH_SPEC.
22645 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
22646 (options): Add width-spec.
22647 (help): Likewise.
22648 (add_char): Renamed to ...
22649 (add_glyph): ... this.
22650 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
22651 (glyph_replace): New type.
22652 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
22653 (add_char): New function.
22654 (add_subst): Likewise.
22655 (process_cursive): Likewise.
22656 (add_font): Handle GSUB.
22657 (write_font_width_spec): New function.
22658 (main): Sort glyphs.
22659 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
22660 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
22661 * kern/term.c (grub_cls): Moved from here...
22662 * normal/term.c (grub_cls): ... here.
22663
50f0bcda
CW
226642010-07-02 Colin Watson <cjwatson@ubuntu.com>
22665
22666 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
22667 suitable for using within the format argument of printf when
22668 converting grub_size_t.
22669 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
22670 "x" to convert grub_size_t arguments.
22671
40372103
VS
226722010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22673
22674 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
22675 too long captions.
22676 (list_get_minimal_size): Take selection box into account.
22677
942a10c7
VS
226782010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22679
22680 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
22681 NULL font.
22682
2bdb2892
CW
226832010-07-02 Colin Watson <cjwatson@ubuntu.com>
22684
22685 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
22686 devices when iterating over /dev/disk/by-id; they will be handled
22687 later if appropriate, which they aren't always (e.g. LVM).
22688
e03ed6c1
CW
226892010-07-02 Colin Watson <cjwatson@ubuntu.com>
22690
22691 * include/grub/misc.h (grub_reboot): Declare as noreturn.
22692 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
22693 fails.
22694 (grub_halt): Likewise.
22695 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
22696 reset-all fails.
22697 (grub_halt): Don't return, even if all of shut-down, power-off, and
22698 poweroff fail.
22699
47695765
CW
227002010-07-02 Colin Watson <cjwatson@ubuntu.com>
22701
22702 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
22703 arguments, not three.
22704
507736c8
CW
227052010-07-02 Colin Watson <cjwatson@ubuntu.com>
22706
22707 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
22708 * util/grub.d/10_linux.in: Use it to check for LVM, so that
22709 LVM-on-RAID is handled correctly.
22710
e3c8cd37
CW
227112010-07-02 Colin Watson <cjwatson@ubuntu.com>
22712
22713 * docs/grub.texi (Changes from GRUB Legacy): New section.
22714 (Future): Fix typo.
22715
8d4a2fec
CW
227162010-07-02 Colin Watson <cjwatson@ubuntu.com>
22717
22718 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
22719 grub.d/README accidentally ends up executable for one reason or
22720 another. Ignore it.
22721
1c4827be
VS
227222010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22723
22724 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
22725 (gpt_partition_map_iterate): Support non-512B sectors.
22726
d9a0c941
VS
227272010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22728
22729 * kern/efi/init.c (grub_efi_init): Disable watchdog.
22730 Tested by: Seth Goldberg.
22731
48f27e87
VS
227322010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22733
22734 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
22735 Properly align mbi.
22736 Reported by: Seth Goldberg.
22737
b0c4f956
VS
227382010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22739
22740 * util/grub-mkrescue.in: Avoid module duplication.
22741
105a2e8c
SF
227422010-07-01 Sean Finney <seanius@seanius.net>
22743
22744 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
22745
5944958c
SF
227462010-07-01 Sean Finney <seanius@seanius.net>
22747
22748 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
22749
227502010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22751
22752 * disk/lvm.c (grub_lvm_checkvalue): New function.
22753 (grub_lvm_check_flag): Likewise.
22754
b79889ba
RM
227552010-07-01 Robert Millan <rmh@gnu.org>
22756
22757 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
22758 Support 'p' as partition separator on kernel of FreeBSD (used
22759 with GPT labels).
22760 (grub_util_biosdisk_get_grub_dev): Likewise.
22761
ec1d04f1
VS
227622010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22763
22764 Yeeloong firmware port.
22765
22766 * boot/mips/yeeloong/fwstart.S: New file.
22767 * bus/cs5536.c (gpiodump): New const.
22768 (set_io_space): New function.
22769 (set_iod): Likewise.
22770 (set_p2d): Likewise.
22771 (grub_cs5536_init_geode): Likewise.
22772 * commands/mips/yeeloong/lsspd.c: New file.
22773 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
22774 (serial_mod_SOURCES): New variable.
22775 (serial_mod_CFLAGS): Likewise.
22776 (serial_mod_LDFLAGS): Likewise.
22777 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
22778 term/terminfo.c and term/tparm.c.
22779 (pkglib_IMAGES): Add fwstart.img.
22780 (fwstart_img_SOURCES): New variable.
22781 (fwstart_img_CFLAGS): Likewise.
22782 (fwstart_img_ASFLAGS): Likewise.
22783 (fwstart_img_LDFLAGS): Likewise.
22784 (fwstart_img_FORMAT): Likewise.
22785 (pkglib_MODULES): Add lsspd.mod.
22786 (lsspd_mod_SOURCES): New variable.
22787 (lsspd_mod_CFLAGS): Likewise.
22788 (lsspd_mod_LDFLAGS): Likewise.
22789 (pkglib_MODULES): Add halt.mod.
22790 (halt_mod_SOURCES): New variable.
22791 (halt_mod_CFLAGS): Likewise.
22792 (halt_mod_LDFLAGS): Likewise.
22793 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
22794 (serial_mod_SOURCES): Removed.
22795 (serial_mod_CFLAGS): Likewise.
22796 (serial_mod_LDFLAGS): Likewise.
22797 * disk/ata.c (check_device): New function.
22798 (grub_ata_device_initialize): Use check_device.
22799 (grub_ata_iterate): Recheck devices.
22800 (grub_ata_open): Likewise.
22801 (grub_atapi_iterate): Likewise.
22802 (grub_atapi_open): Likewise.
22803 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
22804 (GRUB_ATA_CH1_PORT1): Likewise.
22805 (GRUB_ATA_CH0_PORT2): Likewise.
22806 (GRUB_ATA_CH1_PORT2): Likewise.
22807 * include/grub/mips/loongson.h: New file.
22808 * include/grub/mips/yeeloong/ec.h: Likewise.
22809 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
22810 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
22811 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
22812 * include/grub/misc.h (grub_halt): Declare as noreturn.
22813 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
22814 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
22815 (UART_ENABLE_FIFO_TRIGGER1): New definition.
22816 (UART_ENABLE_DTRRTS): Likewise.
22817 (UART_ENABLE_MODEM): Removed.
22818 (UART_ENABLE_OUT2): New const.
22819 * include/grub/term.h (grub_term_register_input_active): New function.
22820 (grub_term_register_output_active): Likewise.
22821 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
22822 argument.
22823 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
22824 (init_pci): New function.
22825 (grub_machine_init): Execute platform init when firmware. Init serial.
22826 (grub_halt): Implement.
22827 (grub_exit): Likewise.
22828 (grub_reboot): Likewise.
22829 * term/serial.c (serial_hw_init): Update macros.
22830 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
22831 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
22832 (image_targets): New target mipsel-yeeloong-flash.
22833 (generate_image): Support IMAGE_YEELOONG_FLASH.
22834 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
22835 (grub_video_sm712_setup): Init card.
22836 (grub_video_sm712_set_palette): Removed.
22837 * video/sm712_init.c: New file.
22838
ff4a70d2
CW
228392010-06-30 Colin Watson <cjwatson@ubuntu.com>
22840
22841 * Makefile.in (install-local): Temporarily prepend $(builddir) to
22842 PATH when running help2man and then run it on the unadorned
22843 executable names, rather than passing $(builddir)/* paths to
22844 help2man. This avoids the build directory ending up in generated
22845 manual pages.
22846
1246efeb
CW
228472010-06-29 Colin Watson <cjwatson@ubuntu.com>
22848
22849 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
22850 to avoid accidents when debugging with 'sh -x'.
22851 * util/grub-mkrescue.in: Likewise.
22852 * util/grub.d/00_header.in: Likewise.
22853 * util/grub.d/10_hurd.in: Likewise.
22854 * util/grub.d/10_kfreebsd.in: Likewise.
22855 * util/grub.d/10_linux.in: Likewise.
22856 * util/grub.d/10_netbsd.in: Likewise.
22857 * util/grub.d/10_windows.in: Likewise.
22858 * util/grub.d/20_linux_xen.in: Likewise.
22859 * util/grub.d/30_os-prober.in: Likewise.
22860 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22861
1ba9b889
CW
228622010-06-29 Colin Watson <cjwatson@ubuntu.com>
22863
22864 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
22865 last character in the buffer.
22866 Reported by: Vladimir Serbinenko.
22867
dccaf99d
RM
228682010-06-29 Robert Millan <rmh@gnu.org>
22869
22870 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
22871 (Command-line and menu entry commands): Document `badram' command.
22872
d500ed12
RM
228732010-06-28 Robert Millan <rmh@gnu.org>
22874
22875 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
22876 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
22877 command using ${GRUB_BADRAM} as parameter.
22878
20bc84a6
CW
228792010-06-28 Colin Watson <cjwatson@ubuntu.com>
22880
22881 * docs/grub.texi (Device map): New section.
22882 (Themes): New section (stub).
22883 * Makefile.in (docs/grub.info): The info documentation now builds
22884 without errors. Make sure it stays that way.
22885
4045dee1
VS
228862010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
22887
22888 Use normal parser for menu entries.
22889 Reported by: Thomas Frauendorfer
22890
22891 * include/grub/parser.h (grub_parser_execute): Don't export.
22892 * normal/menu.c (grub_menu_execute_entry_real): New function.
22893 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
22894
bca58c7b
CW
228952010-06-28 Colin Watson <cjwatson@ubuntu.com>
22896
22897 * docs/grub.texi (Embedded configuration): New section (replacing
22898 old "Preset Menu" stub).
22899 (Images): New section.
22900 (configfile): Note that any menu entries defined in `file' are shown
22901 immediately.
22902
dec53e63
JT
229032010-06-28 Josh Triplett <josh@joshtriplett.org>
22904
22905 * mmap/i386/pc/mmap_helper.S: Set CF on return.
22906
c06e40f7
CW
229072010-06-28 Colin Watson <cjwatson@ubuntu.com>
22908
22909 * util/grub-install.in: Add --debug-image= option.
22910
cb88052b
CW
229112010-06-28 Colin Watson <cjwatson@ubuntu.com>
22912
22913 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
22914 possible on Linux.
22915
22916 * util/deviceiter.c (check_device): Rename to ...
22917 (check_device_readable_unique): ... this. Update all callers.
22918 Maintain and check a list of which devices (by canonicalized name)
22919 have already been seen.
22920 (clear_seen_devices): New function.
22921 (compare_file_names) [__linux__]: New function.
22922 (grub_util_iterate_devices): Clear the list of seen devices on exit
22923 and (just in case) on entry.
22924 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
22925 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
22926 seen-devices list, superseded by general code in check_device.
22927
bbe34652
CW
229282010-06-28 Colin Watson <cjwatson@ubuntu.com>
22929
22930 * commands/cat.c (options): New variable.
22931 (grub_cmd_cat): Parse options. If the --dos option is given, print
22932 DOS-style "\r\n" line endings as simple newlines (Debian bug
22933 #586358).
22934 (GRUB_MOD_INIT): Use extcmd.
22935 (GRUB_MOD_FINI): Likewise.
22936 * docs/grub.texi (cat): Document --dos.
22937
412e09f3
VS
229382010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
22939
22940 XEN with Linux grub-mkconfig support.
22941
22942 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
22943 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
22944 GRUB_CMDLINE_XEN_DEFAULT.
22945 * util/grub.d/20_linux_xen.in: New file.
22946
53f3ef38 229472010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
22948
22949 Initialise VGA video on qemu ourselves.
22950
22951 * boot/i386/qemu/boot.S: Don't call 0xc000.
22952 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
22953 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
22954 (kernel_img_HEADERS): Add pci.h.
22955 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
22956 * configure.ac: Force unifont on qemu and yeeloong.
22957 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
22958 (grub_vga_palette_write): Use correct register.
22959 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
22960 Call grub_qemu_init_cirrus.
22961 * kern/i386/qemu/init.c: New file.
22962 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
22963
22964 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
22965
c75be4fb
PR
229662010-06-26 Pavel Roskin <proski@gnu.org>
22967
22968 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
22969 13.
22970
d8034603
CW
229712010-06-26 Colin Watson <cjwatson@ubuntu.com>
22972
22973 * docs/grub.texi (Simple configuration): Explain that
22974 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
22975 set to `true' to disable their respective recovery entries, not
22976 merely set.
22977
3fa06487
CW
229782010-06-26 Colin Watson <cjwatson@ubuntu.com>
22979
22980 Make the `source' command slightly faster.
22981
22982 * normal/main.c (grub_normal_execute): Don't re-read list files when
22983 nested.
22984
e9b29642
CW
229852010-06-23 Colin Watson <cjwatson@ubuntu.com>
22986
22987 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
22988 field position and mask size to red fields from mode_info, not
22989 green.
22990 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
22991 Remove redundant tag->common.framebuffer_type assignment.
22992 Reported by: Seth Goldberg.
22993
e726542f
CW
229942010-06-23 Colin Watson <cjwatson@ubuntu.com>
22995
22996 Sync up other versions of the Linux loader with Robert Millan's
22997 change of 2010-01-09, "Make loader output a bit more user-friendly".
22998
22999 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
23000 grub_dprintf().
23001 (grub_cmd_linux): Likewise.
23002 (grub_cmd_initrd): Likewise.
23003 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
23004 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
23005
d6e98a17
CW
230062010-06-21 Colin Watson <cjwatson@ubuntu.com>
23007
23008 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
23009 larger than MEMORY_MAP_SIZE.
23010
14d3f08e
BC
230112010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
23012
23013 Fix parallel build.
23014
23015 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
23016 dependency.
23017 * script/parser.y: #include grub_script.tab.h header.
23018
4f9613a3
VS
230192010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23020
23021 Support >3GiB and <16MiB RAM in i386-qemu.
23022
23023 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
23024 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
23025 (grub_lower_mem): Removed.
23026 (grub_upper_mem): Likewise.
23027 (mem_size): Made static.
23028 (above_4g): New variable.
23029 (grub_machine_mmap_init): Detect small mem_size and above_4g.
23030 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
23031 support.
23032
05e51879
VS
230332010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23034
23035 Cirrus 5446 and Bochs video cards support.
23036
23037 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
23038 video_bochs.mod
23039 (video_cirrus_mod_SOURCES): New variable.
23040 (video_cirrus_mod_CFLAGS): Likewise.
23041 (video_cirrus_mod_LDFLAGS): Likewise.
23042 (video_bochs_mod_SOURCES): Likewise.
23043 (video_bochs_mod_CFLAGS): Likewise.
23044 (video_bochs_mod_LDFLAGS): Likewise.
23045 * include/grub/vga.h: New file.
23046 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
23047 (grub_video_fb_set_page_t): New type.
23048 (grub_video_fb_setup): New prototype.
23049 (grub_video_fb_swap_buffers): Likewise.
23050 (grub_video_fb_get_info_and_fini): Likewise.
23051 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
23052 (CRTC_DATA_PORT): Likewise.
23053 (CRTC_CURSOR): Likewise.
23054 (CRTC_CURSOR_ADDR_HIGH): Likewise.
23055 (CRTC_CURSOR_ADDR_LOW): Likewise.
23056 (CRTC_CURSOR_DISABLE): Likewise.
23057 (update_cursor): Use grub_vga_cr_write.
23058 (grub_vga_text_setcursor): Likewise.
23059 * video/bochs.c: New file.
23060 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
23061 (palette): Likewise.
23062 (palette_size): Likewise.
23063 (framebuffer): New variable.
23064 (grub_video_fb_init): Use 'framebuffer'.
23065 (grub_video_fb_fini): Likewise.
23066 (grub_video_fb_get_info): Likewise.
23067 (grub_video_fb_get_palette): Likewise.
23068 (grub_video_fb_set_palette): Likewise.
23069 (grub_video_fb_set_viewport): Likewise.
23070 (grub_video_fb_get_viewport): Likewise.
23071 (grub_video_fb_map_color): Likewise.
23072 (grub_video_fb_map_rgb): Likewise.
23073 (grub_video_fb_map_rgba): Likewise.
23074 (grub_video_fb_unmap_color): Likewise.
23075 (grub_video_fb_unmap_color_int): Likewise.
23076 (grub_video_fb_fill_rect): Likewise.
23077 (grub_video_fb_blit_bitmap): Likewise.
23078 (grub_video_fb_blit_render_target): Likewise.
23079 (grub_video_fb_scroll): Likewise.
23080 (grub_video_fb_create_render_target): Likewise.
23081 (grub_video_fb_doublebuf_blit_init): Likewise.
23082 (grub_video_fb_set_active_render_target): Handle doublebuffering.
23083 (doublebuf_pageflipping_update_screen): New function.
23084 (doublebuf_pageflipping_init): Likewise.
23085 (grub_video_fb_setup): Likewise.
23086 (grub_video_fb_swap_buffers): Likewise.
23087 (grub_video_fb_get_info_and_fini): Likewise.
23088 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
23089 All users updated.
23090 (doublebuf_pageflipping_commit): Restructured into ...
23091 (doublebuf_pageflipping_set_page): ... this.
23092 (doublebuf_pageflipping_update_screen): Removed.
23093 (doublebuf_pageflipping_init): Likewise.
23094 (double_buffering_init): Likewise.
23095 (grub_video_vbe_setup): Use grub_video_fb_setup.
23096 (grub_video_vbe_swap_buffers): Removed.
23097 (grub_video_vbe_set_active_render_target): Likewise.
23098 (grub_video_vbe_get_active_render_target): Likewise.
23099 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
23100 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
23101 grub_video_fb_set_active_render_target and
23102 grub_video_fb_get_active_render_target.
23103 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
23104 (SEQUENCER_DATA_PORT): Likewise.
23105 (MAP_MASK_REGISTER): Likewise.
23106 (CRTC_ADDR_PORT): Likewise.
23107 (CRTC_DATA_PORT): Likewise.
23108 (START_ADDR_HIGH_REGISTER): Likewise.
23109 (START_ADDR_LOW_REGISTER): Likewise.
23110 (GRAPHICS_ADDR_PORT): Likewise.
23111 (GRAPHICS_DATA_PORT): Likewise.
23112 (READ_MAP_REGISTER): Likewise.
23113 (INPUT_STATUS1_REGISTER): Likewise.
23114 (INPUT_STATUS1_VERTR_BIT): Likewise.
23115 (get_map_mask): Use grub_vga_sr_read.
23116 (set_map_mask): Use grub_vga_sr_write.
23117 (set_read_map): Use grub_vga_gr_write.
23118 (set_start_address): Use grub_vga_cr_write.
23119 * video/sm712.c (framebuffer): Remove leftover fields.
23120
4321c64a
CW
231212010-06-20 Colin Watson <cjwatson@ubuntu.com>
23122
23123 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
23124 setting GRUB_VIDEO_BACKEND. Make it available as a user override
23125 instead. Replace the gfxterm backend check with a check that
23126 ${GRUB_PREFIX}/video.lst is non-empty.
23127 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
23128 again.
23129 (load_video): New generated function. Call it before loading
23130 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
23131 * util/grub.d/10_linux.in (linux_entry): Call load_video.
23132 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
23133 * docs/grub.texi (Simple configuration): Document
23134 GRUB_VIDEO_BACKEND.
23135
231362010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23137
23138 Use video functions in linux and xnu loaders.
23139
23140 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
23141 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
23142 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
23143 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
23144 loader/i386/pc/linux.c.
23145 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
23146 (find_line_len): Removed.
23147 (find_framebuf): Likewise.
23148 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
23149 * loader/i386/efi/xnu.c: Removed.
23150 * loader/i386/pc/xnu.c: Moved from here...
23151 * loader/i386/xnu.c: ...here.
23152
23153 Enable priorities in video drivers.
23154
23155 * include/grub/video.h (grub_video_adapter_prio_t): New type.
23156 (grub_video_adapter): New field prio.
23157 (grub_video_register): Respect prio when inserting.
23158 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
23159 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
23160 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
23161 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
23162 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
23163 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
23164 * video/sm712.c (grub_video_sm712_adapter): Likewise.
23165
23166 Fix SDL driver ID.
23167
23168 * include/grub/video.h (grub_video_driver_id_t): New value
23169 GRUB_VIDEO_DRIVER_SDL.
23170 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
23171
7d24e434
CW
231722010-06-17 Colin Watson <cjwatson@ubuntu.com>
23173
23174 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
23175 argument to printf.
23176 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23177
c88a83f6
CW
231782010-06-17 Colin Watson <cjwatson@ubuntu.com>
23179
23180 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
23181 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23182
094dfb69
CW
231832010-06-17 Colin Watson <cjwatson@ubuntu.com>
23184
23185 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
23186 directly, and recommend grub-install instead.
23187 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23188
2164da6b
CW
231892010-06-17 Colin Watson <cjwatson@ubuntu.com>
23190
23191 Fix i386-pc prefix handling with nested partitions (Debian bug
23192 #585068). Note that the case where the core image is booted using
23193 multiboot and relocated from its original location still requires
23194 more work.
23195
23196 * kern/i386/pc/init.c (make_install_device): If the prefix starts
23197 with "(,", fill the boot drive in between those two characters, but
23198 expect that a full partition specification including partition map
23199 names will follow.
23200 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
23201 specified, write a prefix without the drive name but including a
23202 full partition specification.
23203
044e2e60
CW
232042010-06-16 Colin Watson <cjwatson@ubuntu.com>
23205
23206 * util/grub-mkconfig.in: Ignore non-option arguments, for
23207 compatibility with older versions (before 2010-06-12) which did the
23208 same. In particular, this makes it easier to ship an update-grub
23209 wrapper which is compatible with that used with GRUB Legacy (Debian
23210 bug #586056).
23211
5591324f
GS
232122010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23213
23214 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
23215 for manual page generation.
23216
662e24d5
GS
232172010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23218
23219 * po/POTFILES: Remove leftover commands/handler.c.
23220
8d70754e
CW
232212010-06-14 Colin Watson <cjwatson@ubuntu.com>
23222
23223 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
23224 left this script non-functional.
23225
41160e2e
CW
232262010-06-14 Colin Watson <cjwatson@ubuntu.com>
23227
23228 * docs/man/grub-emu.h2m: New file.
23229
b5309cc1
CW
232302010-06-13 Colin Watson <cjwatson@ubuntu.com>
23231
23232 * docs/grub.texi (Commands): Document reduced command set in rescue
23233 mode.
23234 (cpuid): New section.
23235
fcb2d090
GS
232362010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
23237
23238 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
23239 new partition naming style.
23240 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
23241
96e5c556
BC
232422010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
23243
23244 Add "-o grub.iso" like cmdline options support.
23245
23246 * util/grub-install.in: Improve cmdline option parsing.
23247 * util/grub-mkconfig.in: Likewise.
23248 * util/grub-mkrescue.in: Likewise.
23249 * util/grub-reboot.in: Likewise.
23250 * util/grub-set-default.in: Likewise.
23251 * util/i386/efi/grub-install.in: Likewise.
23252 * util/ieee1275/grub-install.in: Likewise.
23253 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23254
c16be99b
CW
232552010-06-12 Colin Watson <cjwatson@ubuntu.com>
23256
23257 * .bzrignore: Ignore 41_custom.
23258
ce08a9fb
TS
232592010-06-12 Thomas Schmitt <scdbackup@gmx.net>
23260
23261 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
23262
7beac90c
CW
232632010-06-12 Colin Watson <cjwatson@ubuntu.com>
23264
23265 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
23266 prototype declarations.
23267
23268 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
23269 generating fs, partmap, and video lists.
23270 * include/grub/fs.h (grub_fs_register): Omit prototype if
23271 GRUB_LST_GENERATOR is defined.
23272 * include/grub/partition.h (grub_partition_map_register): Likewise.
23273 * include/grub/video.h (grub_video_register): Likewise.
23274
1c8f0f8d
JM
232752010-06-12 Javier Martín <lordhabbit@gmail.com>
23276
23277 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
23278
a6085973
TS
232792010-06-12 Thomas Schmitt <scdbackup@gmx.net>
23280
23281 * util/grub-mkrescue.in: Support --xorriso argument.
23282
25c56d29
VS
232832010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23284
23285 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
23286 Suggested by: Thomas Schmitt.
23287
e03e4b24
VS
232882010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23289
23290 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
23291 Suggested by: Thomas Schmitt.
23292
57711df6
VS
232932010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23294
23295 custom.cfg support.
23296
23297 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
23298 * util/grub.d/41_custom.in: New file.
23299
ee62c427
CW
233002010-06-12 Colin Watson <cjwatson@ubuntu.com>
23301
23302 * util/grub-mkrescue.in (make_image): Remove sh module, which has
23303 been merged back into normal.
23304
283af07a
CW
233052010-06-11 Colin Watson <cjwatson@ubuntu.com>
23306
23307 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
23308 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
23309
56a0d956
CW
233102010-06-11 Colin Watson <cjwatson@ubuntu.com>
23311
23312 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
23313 when generating manual pages.
23314 * docs/man/grub-bin2h.h2m: New file.
23315 * docs/man/grub-editenv.h2m: New file.
23316 * docs/man/grub-fstest.h2m: New file.
23317 * docs/man/grub-install.h2m: New file.
23318 * docs/man/grub-macho2img.h2m: New file.
23319 * docs/man/grub-mkconfig.h2m: New file.
23320 * docs/man/grub-mkdevicemap.h2m: New file.
23321 * docs/man/grub-mkfont.h2m: New file.
23322 * docs/man/grub-mkimage.h2m: New file.
23323 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
23324 * docs/man/grub-mkrelpath.h2m: New file.
23325 * docs/man/grub-mkrescue.h2m: New file.
23326 * docs/man/grub-ofpathname.h2m: New file.
23327 * docs/man/grub-pe2elf.h2m: New file.
23328 * docs/man/grub-probe.h2m: New file.
23329 * docs/man/grub-reboot.h2m: New file.
23330 * docs/man/grub-script-check.h2m: New file.
23331 * docs/man/grub-set-default.h2m: New file.
23332 * docs/man/grub-setup.h2m: New file.
23333
3a37e322
VS
233342010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
23335
23336 Use FOR_* macros instead of *_iterate whenever possible.
23337
23338 * commands/handler.c: Removed.
23339 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
23340 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
23341 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23342 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
23343 (grub_probe_SOURCES): Remove kern/parser.c.
23344 (util/grub-script-check.c_DEPENDENCIES): Removed.
23345 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
23346 and grub_script_check_init.c.
23347 (grub_script_check_init.lst): Removed.
23348 (grub_script_check_init.h): Likewise.
23349 (grub_script_check_init.c): Likewise.
23350 (pkglib_MODULES): Remove handler.mod and sh.mod.
23351 (handler_mod_SOURCES): Removed.
23352 (handler_mod_CFLAGS): Likewise.
23353 (handler_mod_LDFLAGS): Likewise.
23354 (normal_mod_SOURCES): Remove normal/handler.c.
23355 Add script/main.c, script/script.c, script/execute.c,
23356 script/function.c, script/lexer.c, grub_script.tab.c
23357 and grub_script.yy.c.
23358 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23359 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23360 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
23361 (grub_setup_SOURCES): Remove kern/parser.c.
23362 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23363 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
23364 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
23365 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23366 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23367 (grub_setup_SOURCES): Remove kern/parser.c.
23368 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23369 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
23370 * include/grub/command.h (grub_command_iterate): Removed.
23371 (FOR_COMMANDS): New macro.
23372 * include/grub/dl.h (grub_dl): New member next.
23373 (grub_dl_iterate): Removed.
23374 (grub_dl_head): New variable declaration.
23375 (FOR_DL_MODULES): New macro.
23376 * include/grub/fs.h: Include list.h.
23377 (grub_fs): Make next first element.
23378 (grub_fs_list): New variable declaration.
23379 (grub_fs_register): Make inline.
23380 (grub_fs_unregister): Likewise.
23381 (grub_fs_iterate): Removed.
23382 (FOR_FILESYSTEMS): New macro.
23383 * include/grub/handler.h: Removed.
23384 * include/grub/list.h (grub_list_hook_t): Removed.
23385 (grub_list_test_t): Likewise.
23386 (grub_list_pop): Likewise.
23387 (grub_list_iterate): Likewise.
23388 (grub_list_insert): Likewise.
23389 (FOR_LIST_ELEMENTS): New macro.
23390 * include/grub/parser.h (grub_parser_class): Removed.
23391 (grub_parser_register): Likewise.
23392 (grub_parser_unregister): Likewise.
23393 (grub_parser_get_current): Likewise.
23394 (grub_parser_set_current): Likewise.
23395 (grub_register_rescue_parser): Likewise.
23396 (grub_rescue_parse_line): New function.
23397 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
23398 * include/grub/script_sh.h (grub_script_function_list): New variable
23399 declaration.
23400 (FOR_SCRIPT_FUNCTIONS): New macro.
23401 (grub_script_function_iterate): Removed.
23402 (grub_normal_parse_line): New prototype.
23403 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
23404 (FOR_DISABLED_TERM_INPUTS): Likewise.
23405 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23406 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23407 * include/grub/video.h (grub_video_adapter): Move 'next' to first
23408 element.
23409 (grub_video_register): Inline.
23410 (grub_video_unregister): Likewise.
23411 (grub_video_adapter_list): New variable declaration.
23412 (grub_video_iterate): Removed.
23413 (FOR_VIDEO_ADAPTERS): New macro.
23414 * kern/dl.c (grub_dl_list): Removed. All users updated.
23415 (grub_dl_iterate): Removed.
23416 * kern/fs.c (grub_fs_list): Make global.
23417 (grub_fs_register): Removed.
23418 (grub_fs_unregister): Likewise.
23419 (grub_fs_iterate): Likewise.
23420 * kern/handler.c: Removed.
23421 * kern/list.c (grub_list_pop): Removed.
23422 (grub_list_iterate): Likewise.
23423 (grub_list_insert): Likewise.
23424 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
23425 (grub_prio_list_insert): Don't use grub_list_insert.
23426 * kern/main.c (grub_register_rescue_parser): Don't call
23427 grub_register_rescue_parser.
23428 * kern/parser.c (grub_parser_class): Removed.
23429 (grub_parser_execute): Use grub_rescue_parse_line.
23430 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
23431 (grub_rescue_parser): Removed.
23432 (grub_register_rescue_parser): Likewise.
23433 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
23434 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
23435 (grub_auth_check_authentication): Likewise.
23436 * normal/completion.c (iterate_command): Removed.
23437 (grub_normal_do_completion): Use FOR_COMMANDS.
23438 * normal/handler.c: Removed.
23439 * normal/main.c (read_config_file): Remove parser changing.
23440 (grub_normal_execute): Don't call read_handler_list.
23441 (grub_normal_read_line_real): Statically allocate prompt.
23442 (grub_cmdline_run): Use grub_normal_parse_line.
23443 (GRUB_MOD_FINI): Don't call free_handler_list.
23444 * normal/menu_entry.c (run): Likewise.
23445 * script/function.c (grub_script_function_list): Make global.
23446 (grub_script_function_iterate): Removed.
23447 * script/main.c (grub_normal_parse_line): Make global.
23448 (grub_sh_parser): Removed.
23449 (GRUB_MOD_INIT): Likewise.
23450 (GRUB_MOD_FINI): Likewise.
23451 * tests/lib/functional_test.c (grub_functional_test): Use
23452 FOR_LIST_ELEMENTS.
23453 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
23454 (grub_test_run): Use FOR_LIST_ELEMENTS.
23455 * tests/lib/unit_test.c (main): Likewise.
23456 * util/deviceiter.c (grub_util_iterate_devices): Don't use
23457 grub_list_pop.
23458 * util/grub-fstest.c (grub_term_input_class): Removed.
23459 (grub_term_output_class): Likewise.
23460 * util/grub-probe.c: Likewise.
23461 * util/i386/pc/grub-setup.c: Likewise.
23462 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23463 * util/grub-script-check.c (main): Don't call grub_init_all and
23464 grub_fini_all.
23465 * video/video.c (grub_video_adapter_list): Make global.
23466 (grub_video_register): Removed.
23467 (grub_video_unregister): Likewise.
23468 (grub_video_iterate): Likewise.
23469
6289c3a7
VS
234702010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
23471
23472 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
23473 reported by Henrique Ferreiro.
23474
91460247
RM
234752010-06-09 Robert Millan <rmh@gnu.org>
23476
23477 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
23478 ones, when both are available.
23479
0ea7c4f9
GS
234802010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23481
23482 Make --version uniform and avoid hard-coded program name.
23483
23484 * util/grub-mkimage.c (main): Use `program_name' instead of
23485 hard-coded string.
23486 * util/i386/pc/grub-setup.c (main): Likewise.
23487 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
23488 * util/grub-install.in: Save the basename of $0 in $self, and use the
23489 latter in informational messages. Use the same format for --version
23490 as the binary programs.
23491 * util/grub-mkconfig.in: Likewise.
23492 * util/grub-mkrescue.in: Likewise.
23493 * util/grub-reboot.in: Likewise.
23494 * util/grub-set-default.in: Likewise.
23495 * util/i386/efi/grub-install.in: Likewise.
23496 * util/ieee1275/grub-install.in: Likewise.
23497 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23498
e8a6f3b6
GS
234992010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23500
23501 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
23502 embedding area. Use <= instead of == when checking for non-emptiness.
23503
f4d095d7
GS
235042010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23505
23506 * configure.ac: Add `.' to the directories searched for unifont.
23507
50e532ca
CW
235082010-06-08 Colin Watson <cjwatson@ubuntu.com>
23509
23510 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
23511 grub_script.yy.h.
23512
d39f3dec
CW
235132010-06-08 Colin Watson <cjwatson@ubuntu.com>
23514
23515 * docs/grub.texi (History): Expand to cover GRUB 2.
23516 (Serial terminal): Refer to `terminal_input' and `terminal_output'
23517 commands, not `terminal'.
23518 (serial): Likewise.
23519 (terminal_input): New section.
23520 (terminal_output): New section.
23521 (uppermem): New section (stub).
23522 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
23523
6ef0ddb4
CW
235242010-06-08 Colin Watson <cjwatson@ubuntu.com>
23525
23526 * docs/grub.texi (Security): Menu entries are unrestricted by
23527 default, not restricted to superusers as I had previously thought.
23528 Reword to account for this.
23529
e0f4c438
CW
235302010-06-07 Colin Watson <cjwatson@ubuntu.com>
23531
23532 * kern/emu/misc.c (device_mapper_null_log): New function.
23533 (grub_device_mapper_supported): New function.
23534 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
23535 prototype.
23536 * kern/emu/hostdisk.c (find_partition_start): Check whether
23537 device-mapper is supported before trying to use it.
23538 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
23539
da908200
CW
235402010-06-07 Colin Watson <cjwatson@ubuntu.com>
23541
23542 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
23543 (File name syntax): Likewise.
23544 (help): --all is no longer supported in GRUB 2. Be more precise
23545 about pattern matching.
23546
fb55c3ac
CW
235472010-06-07 Colin Watson <cjwatson@ubuntu.com>
23548
23549 * normal/completion.c (grub_normal_do_completion): When completing
23550 arguments to "set" and the current word contains an equals sign,
23551 skip to after the equals sign before starting completion.
23552
258c2573
CW
235532010-06-07 Colin Watson <cjwatson@ubuntu.com>
23554
23555 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
23556
ee75515e
CW
235572010-06-07 Colin Watson <cjwatson@ubuntu.com>
23558
23559 * docs/grub.texi (Network): New section.
23560 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
23561 `(nd)' as in GRUB Legacy.
23562 (pxe_unload): New section.
23563
a6a700aa
CW
235642010-06-07 Colin Watson <cjwatson@ubuntu.com>
23565
23566 * docs/grub.texi (Troubleshooting): `echo' is not usually available
23567 in the rescue shell, so recommend using `set' instead. Thanks,
23568 Jordan Uggla.
23569
4003dd38
CW
235702010-06-07 Colin Watson <cjwatson@ubuntu.com>
23571
23572 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
23573 (password): New section.
23574 (password_pbkdf2): New section.
23575 (search): New section.
23576 (Security): New section.
23577 (Troubleshooting): New section, currently very incomplete.
23578 (Invoking grub-mkpasswd-pbkdf2): New section.
23579 (Internals): New section, currently very incomplete.
23580
e1cbcc40
CW
235812010-06-07 Colin Watson <cjwatson@ubuntu.com>
23582
23583 * util/grub.d/00_header.in: Add some more quoting (of
23584 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
23585 work again.
23586 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
23587
db8fa1ad
CW
235882010-06-07 Colin Watson <cjwatson@ubuntu.com>
23589
23590 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
23591 to `count', fixing variable shadowing that broke the -c option.
23592
235932010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
23594
23595 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
23596 in case they contain spaces.
23597
f28a9212
CW
235982010-06-04 Colin Watson <cjwatson@ubuntu.com>
23599
23600 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
23601 "part_" to partmap module names, in line with grub-install.
23602 Reported by: Jindřich Makovička (Debian bug #584426).
23603
9cdfe32f
CW
236042010-06-04 Colin Watson <cjwatson@ubuntu.com>
23605
23606 * util/grub-mkimage.c: Make target-related error messages slightly
23607 more helpful; -O talks about "format". Explicitly point to the use
23608 of -O if no target is specified.
23609 Reported by: Didier Raboud (Debian bug #584415).
23610
795b593a
CW
236112010-06-03 Colin Watson <cjwatson@ubuntu.com>
23612
23613 * INSTALL: Document several build requirements for optional features
23614 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
23615
9d9b5833
GS
236162010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
23617
23618 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
23619 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
23620 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
23621
0819fec8
CW
236222010-06-02 Colin Watson <cjwatson@ubuntu.com>
23623
23624 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
23625 Thanks to Jordan Uggla for spotting this.
23626
49396b4f
VS
236272010-06-02 Aleš Nesrsta <starous@volny.cz>
23628
23629 Finally make USB usable.
23630
23631 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
23632 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
23633 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
23634 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
23635 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
23636 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
23637 (GRUB_OHCI_FSMPS): Likewise.
23638 (GRUB_OHCI_PERIODIC_START): Likewise.
23639 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
23640 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
23641 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
23642 (GRUB_OHCI_SET_PORT_RESET): Likewise.
23643 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
23644 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
23645 (grub_ohci_transaction): Likewise.
23646 (grub_ohci_transfer): Improve condition detection algorithms.
23647 Handle toggle property. Program the transactions correctly.
23648 Improve error handling. Various important fixups.
23649 (grub_ohci_portstatus): Put register writes in right order.
23650 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
23651 (grub_uhci_transfer): Don't show "failed" message on success.
23652 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
23653 array.
23654 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
23655 determine its size.
23656 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
23657 before initialization is completed. Use IN direction for empty
23658 transfers. Use last_trans and compute toggle.
23659 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
23660 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
23661 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
23662 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
23663 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
23664 (grub_usb_device): Increase toggle to 256.
23665 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
23666 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
23667 GRUB_USBMS_SUBCLASS_SFF8070.
23668 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
23669 (grub_scsi_inquiry): New member page and alloc_length.
23670 (grub_scsi_request_sense): New structure.
23671 (grub_scsi_request_sense_data): Likewise.
23672 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
23673 control.
23674 * disk/scsi.c (grub_scsi_request_sense): New function.
23675 (grub_scsi_test_unit_ready): Likewise.
23676 (grub_scsi_inquiry): Fill new fields.
23677 (grub_scsi_read_capacity): Likewise.
23678 (grub_scsi_read10): Add request sense at the end.
23679 (grub_scsi_read12): Likewise.
23680 (grub_scsi_write10): Likewise.
23681 (grub_scsi_write12): Likewise.
23682 (grub_scsi_open): Add Test Unit Ready.
23683 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
23684 Support additional subclasses. Con't clear halt yet. Activate the
23685 proper config. Calculate LUNs correctly.
23686 (grub_usbms_transfer): Various important fixups.
23687
236882010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23689
23690 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
23691 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
23692 (grub_ohci_fini_hw): New function.
23693 (grub_ohci_restore_hw): Likewise.
23694 (GRUB_MOD_INIT(ohci)): Register preboot hook.
23695 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
23696 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
23697
236982010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23699
23700 Dedicated DMA allocations.
23701
23702 * bus/pci.c (grub_memalign_dma32): New function
23703 (grub_dma_free): Likewise.
23704 (grub_dma_get_virt): Likewise.
23705 (grub_dma_get_phys): Likewise.
23706 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
23707 (grub_ohci_pci_iter): Use dma32_alloc.
23708 (grub_ohci_transfer): Likewise.
23709 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
23710 (grub_usb_bulk_readwrite): Likewise.
23711 * include/grub/pci.h: Add declarations.
23712
237132010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23714
23715 CS5536 support.
23716
23717 * bus/cs5536.c: New file.
23718 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
23719 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
23720 (cs5536_mod_SOURCES): New variable.
23721 (cs5536_mod_CFLAGS): Likewise.
23722 (cs5536_mod_LDFLAGS): Likewise.
23723 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
23724 machine/pci.h.
23725 (kernel_img_SOURCES): Add bus/cs5536.c.
23726 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
23727 usb_keyboard.mod.
23728 (usb_mod_SOURCES): New variable.
23729 (usb_mod_CFLAGS): New variable.
23730 (usb_mod_LDFLAGS): New variable.
23731 (usbtest_mod_SOURCES): New variable.
23732 (usbtest_mod_CFLAGS): New variable.
23733 (usbtest_mod_LDFLAGS): New variable.
23734 (ohci_mod_SOURCES): New variable.
23735 (ohci_mod_CFLAGS): New variable.
23736 (ohci_mod_LDFLAGS): New variable.
23737 (usbms_mod_SOURCES): New variable.
23738 (usbms_mod_CFLAGS): New variable.
23739 (usbms_mod_LDFLAGS): New variable.
23740 (usb_keyboard_mod_SOURCES): New variable.
23741 (usb_keyboard_mod_CFLAGS): New variable.
23742 (usb_keyboard_mod_LDFLAGS): New variable.
23743 * include/grub/smbus.h: New file.
23744 * include/grub/cs5536.h: New file.
23745
0b35b2a9
CW
237462010-06-02 Colin Watson <cjwatson@ubuntu.com>
23747
23748 * util/grub.d/00_header.in: Add safety check to make sure that
23749 ${locale_dir} exists before trying to probe it.
23750
ca0afd5b
CW
237512010-06-02 Colin Watson <cjwatson@ubuntu.com>
23752
23753 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
23754 per the GNU Coding Standards; this is now too obscure to be worth
23755 documenting.
23756 (QNX): Likewise.
23757 (chainloader): Remove cross-reference to `SCO UnixWare'.
23758
1c41aa78
CW
237592010-06-02 Colin Watson <cjwatson@ubuntu.com>
23760
23761 * docs/grub.texi (Chain-loading): New section.
23762 (DOS/Windows): New section, borrowed from GRUB Legacy with details
23763 adjusted for GRUB 2.
23764 (SCO UnixWare): Likewise.
23765 (QNX): Likewise.
23766 (chainloader): Add reference to `Block list syntax'.
23767 (drivemap): New section.
23768 (parttool): New section.
23769
bb8ea0f5
CW
237702010-06-02 Colin Watson <cjwatson@ubuntu.com>
23771
23772 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
23773 the grub shell'.
23774 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
23775 (Installing GRUB using grub-install): Remove reference to the grub
23776 shell; mention `grub-mkimage' and `grub-setup' instead.
23777 (Invoking grub-install): Likewise.
23778 (Interface): Add reference to `Menu entry editor'.
23779 (serial): Remove `--device' option.
23780
288dd6ed
CW
237812010-06-02 Colin Watson <cjwatson@ubuntu.com>
23782
23783 * docs/grub.texi (Configuration): New section, documenting
23784 configuration file generation using grub-mkconfig. I've left a slot
23785 for documenting the full shell scripting format but have not yet
23786 started on writing that up.
23787 (Invoking grub-mkconfig): New section.
23788
34c9f0e9
CW
237892010-06-02 Colin Watson <cjwatson@ubuntu.com>
23790
23791 * docs/grub.texi (direntry): Remove grub-terminfo reference.
23792 (GNU GRUB manual): Likewise.
23793 (General commands): Update description of `terminfo' for GRUB 2.
23794
9121567e
CW
237952010-06-02 Colin Watson <cjwatson@ubuntu.com>
23796
23797 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
23798 (GRUB_MOD_INIT): Fix capitalisation.
23799 * docs/grub.texi (Command-line and menu entry commands): Document
23800 gettext and gptsync commands.
23801
ab631611
CW
238022010-06-02 Colin Watson <cjwatson@ubuntu.com>
23803
23804 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
23805 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
23806
bde4a9ac
CW
238072010-06-01 Colin Watson <cjwatson@ubuntu.com>
23808
23809 Add btrfs probing support, currently only in the single-device case.
23810
23811 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
23812 function.
23813 (grub_guess_root_device): Call find_root_device_from_mountinfo
23814 before looking in /dev.
23815
b1d17e10
VS
238162010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23817
23818 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
23819 GRUB_DISK_SIZE_UNKNOWN.
23820 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
23821
dfbfe004
JS
238222010-05-31 Jiro SEKIBA <jir@unicus.jp>
23823
23824 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
23825 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
23826 corrupted or not synced properly.
23827
c2ffc8e9
VS
238282010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23829
23830 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
23831 Reported by: Seth Goldberg.
23832
56293166
VS
238332010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23834
23835 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
23836 addition of dest.
23837 Reported by: Seth Goldberg.
23838
7620e7de
VS
238392010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23840
23841 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
23842 Reported by: Seth Goldberg.
23843
c837af3f
VS
238442010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23845
23846 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
23847 64-bit address as signed on MIPS.
23848
c7c75cf4
CW
238492010-05-28 Colin Watson <cjwatson@ubuntu.com>
23850
23851 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
23852 to the empty string.
23853
fa4b8490
BC
238542010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
23855
23856 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
23857
23858 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
23859 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
23860 * kern/misc.c (__enable_execute_stack): Disable on
23861 GRUB_MACHINE_EMU.
23862
a33075b9
CW
238632010-05-28 Colin Watson <cjwatson@ubuntu.com>
23864
23865 Make grub-probe work with symbolic links under /dev/mapper as well
23866 as with real block devices. The Linux world seems to be (at best)
23867 in transition here, and GRUB shouldn't get caught in the middle.
23868
23869 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
23870 /dev/mapper.
23871
d8708134
CW
238722010-05-27 Colin Watson <cjwatson@ubuntu.com>
23873
23874 * util/grub-script-check.c (main): Ensure defined behaviour on empty
23875 input files (in which case exit zero).
23876
db2102a0
CW
238772010-05-27 Colin Watson <cjwatson@ubuntu.com>
23878
23879 * kern/emu/misc.c (canonicalize_file_name): realpath can still
23880 return NULL for various reasons even if it has a maximum-length
23881 buffer: for example, there might be a symlink loop, or the path
23882 might exceed PATH_MAX. If this happens, return NULL.
23883
5fdba519
RM
238842010-05-27 Robert Millan <rmh@gnu.org>
23885
23886 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
23887 partmap module to handle cross-partmap setups.
23888 Reported by Orestes Mas. Gràcies!
23889
d1d368e4
CW
238902010-05-27 Colin Watson <cjwatson@ubuntu.com>
23891
23892 * util/grub-mkrescue.in: Initialise override_dir rather than
23893 assuming that it's unset or empty in the environment.
23894
95ac3c73
GS
238952010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
23896
23897 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
23898 variable index into p_index to suppress a warning with -Wshadow.
23899
7d8c0213
BC
239002010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
23901
23902 * INSTALL: Added flex >= 2.5.35 requirement.
23903
db4d5813
VS
239042010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23905
23906 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
23907
f24f4300
VS
239082010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23909
23910 cmostest support.
23911
23912 * commands/i386/cmostest.c: New file.
23913 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
23914 (cmostest_mod_SOURCES): New variable.
23915 (cmostest_mod_CFLAGS): Likewise.
23916 (cmostest_mod_LDFLAGS): Likewise.
23917 * conf/i386-pc.rmk: Likewise.
23918 * docs/grub.texi (Vendor power-on keys): New section.
23919 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
23920 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
23921 and GRUB_BUTTON_CMOS_ADDRESS.
23922 * util/grub.d/00_header.in: Handle powering-on by separate button.
23923
ad603f61
VS
239242010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23925
23926 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
23927 Removed drawing_scrollbar argument. All users updated
23928 Fixes #29792.
23929 Reported by Jo Shields
23930
3ecb080a
VS
239312010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23932
23933 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
23934 buffer since gfxterm handles double repaint.
23935
5f2316c1
VS
239362010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23937
23938 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
23939 * term/gfxterm.c (real_scroll): Likewise.
23940
9a25f885
VS
239412010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23942
23943 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
23944 before calling BIOS.
23945
39fbb79a
VS
239462010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23947
23948 * include/grub/i18n.h: Always enable grub_gettext.
23949
228cfa97
VS
239502010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23951
23952 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
23953 partition naming style.
23954
21717c8f
CW
239552010-05-21 Colin Watson <cjwatson@ubuntu.com>
23956
23957 * util/grub-mkconfig.in: Fix handling of -o so that it works when
23958 not the first option.
23959
c0f48e65
CW
239602010-05-20 Colin Watson <cjwatson@ubuntu.com>
23961
23962 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
23963
96779aec
CW
239642010-05-20 Colin Watson <cjwatson@ubuntu.com>
23965
23966 * util/misc.c: Move inclusion of <limits.h> to ...
23967 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
23968
fa9d256e
GS
239692010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
23970
23971 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
23972 Fix merge error in NetBSD code.
23973 (find_partition_start) [__NetBSD__]: Likewise.
23974
123b7a85
BC
239752010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
23976
23977 Fix grub-mkrescue usage unit testing.
23978
23979 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
23980
74276c0d
CF
239812010-05-18 Christian Franke <franke@computer.org>
23982
23983 * util/grub.d/10_windows.in: Use path names instead of
23984 drive letters to prevent warning from Cygwin 1.7.
23985 Add drivemap command to menuentry if needed.
23986
c4f7b523
ST
239872010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
23988
23989 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
23990 gnumach and gnumach.gz.
23991
95b97950
VS
239922010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23993
23994 * include/grub/i18n.h (gettext): Inline instead of using #define.
23995 (grub_gettext): Likewise.
23996 (_): Likewise.
23997
01b8d2d7
VS
239982010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23999
24000 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
24001 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
24002 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
24003 (main): Add a slash after pkglibdirroot.
24004
654e1d1e
VS
240052010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24006
24007 * util/grub-install.in: Add missing "in" keyword.
24008
26966aeb
VS
240092010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24010
24011 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
24012 Reported by: Seth Goldberg.
24013
75006747
VS
240142010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24015
24016 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
24017
74cbf5bd
CW
240182010-05-18 Colin Watson <cjwatson@ubuntu.com>
24019
24020 * configure.ac: Check for Linux device-mapper support.
24021
24022 * util/hostdisk.c (device_is_mapped): New function.
24023 (find_partition_start): New function, partly broken out from
24024 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
24025 device-mapper support added.
24026 (linux_find_partition): Use find_partition_start.
24027 (convert_system_partition_to_system_disk): Add `st' argument.
24028 Support Linux /dev/mapper/* devices if device-mapper support is
24029 available; only DM-RAID devices are understood at present.
24030 (find_system_device): Add `st' argument. Pass it to
24031 convert_system_partition_to_system_disk.
24032 (grub_util_biosdisk_get_grub_dev): Pass stat result to
24033 find_system_device and convert_system_partition_to_system_disk. Use
24034 find_partition_start.
24035
24036 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
24037 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
24038 * util/deviceiter.c [__linux__]: Define MINOR.
24039 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
24040 * util/mkdevicemap.c (grub_putchar): New function.
24041 (grub_getkey): New function.
24042 (grub_refresh): New function.
24043 (main): Set debug=all if -v -v is used.
24044
355b51e9
CW
240452010-05-18 Colin Watson <cjwatson@ubuntu.com>
24046
24047 Fix build with non-GNU libcs.
24048
24049 * util/misc.c (canonicalize_file_name): Move to ...
24050 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
24051 grub_make_system_path_relative_to_its_root.
24052
7fb5c25f
CW
240532010-05-18 Colin Watson <cjwatson@ubuntu.com>
24054
24055 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
24056 we handle finding grub-mkimage. Default to finding grub-mkimage in
24057 ${bindir} with program_transform_name applied, and provide a
24058 --grub-mkimage option to override this.
24059
1d3293d6
VS
240602010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24061
24062 Remove grub-mkisofs.
24063
24064 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
24065 (grub_mkisofs_SOURCES): Removed.
24066 (grub_mkisofs_CFLAGS): Removed.
24067 * util/mkisofs/defaults.h: Removed.
24068 * util/mkisofs/eltorito.c: Likewise.
24069 * util/mkisofs/exclude.h: Likewise.
24070 * util/mkisofs/hash.c: Likewise.
24071 * util/mkisofs/include/: Likewise.
24072 * util/mkisofs/include/fctldefs.h: Likewise.
24073 * util/mkisofs/include/mconfig.h: Likewise.
24074 * util/mkisofs/include/prototyp.h: Likewise.
24075 * util/mkisofs/include/statdefs.h: Likewise.
24076 * util/mkisofs/iso9660.h: Likewise.
24077 * util/mkisofs/joliet.c: Likewise.
24078 * util/mkisofs/match.c: Likewise.
24079 * util/mkisofs/match.h: Likewise.
24080 * util/mkisofs/mkisofs.c: Likewise.
24081 * util/mkisofs/mkisofs.h: Likewise.
24082 * util/mkisofs/msdos_partition.h: Likewise.
24083 * util/mkisofs/multi.c: Likewise.
24084 * util/mkisofs/name.c: Likewise.
24085 * util/mkisofs/rock.c: Likewise.
24086 * util/mkisofs/tree.c: Likewise.
24087 * util/mkisofs/write.c: Likewise.
24088
5dde9afe
VS
240892010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24090
24091 Unify grub-mkimage accross platforms.
24092
24093 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
24094 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
24095 (grub_mkelfimage_SOURCES): Removed.
24096 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
24097 (util/grub-mkimage.c_DEPENDENCIES): .. this.
24098 (bin_UTILITIES): Add grub-mkimage.
24099 (grub_mkimage_SOURCES): New variable.
24100 (kernel_img_HEADERS): Remove machine/kernel.h.
24101 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
24102 (pkglib_PROGRAMS): Add kernel.img.
24103 (kernel_img_HEADERS): Add machine/kernel.h.
24104 (kernel_img_FORMAT): Removed.
24105 (bin_UTILITIES): Remove grub-mkimage.
24106 (grub_mkimage_SOURCES): Removed.
24107 (grub_mkimage_CFLAGS): Likewise.
24108 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24109 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
24110 (pkglib_PROGRAMS): Add kernel.img.
24111 (bin_UTILITIES): Remove grub-mkimage.
24112 (grub_mkimage_SOURCES): Removed.
24113 (grub_mkimage_CFLAGS): Likewise.
24114 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24115 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
24116 (pkglib_PROGRAMS): Add kernel.img.
24117 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
24118 (pkglib_PROGRAMS): Add kernel.img.
24119 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
24120 (grub_mkimage_SOURCES): Removed.
24121 (grub_mkimage_CFLAGS): Likewise.
24122 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24123 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
24124 (pkglib_PROGRAMS): Add kernel.img.
24125 (bin_UTILITIES): Remove grub-mkimage.
24126 (grub_mkimage_SOURCES): Removed.
24127 (grub_mkimage_CFLAGS): Likewise.
24128 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24129 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
24130 (grub_mkimage_SOURCES): Removed.
24131 (grub_mkimage_CFLAGS): Likewise.
24132 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24133 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
24134 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
24135 (grub_pe32_optional_header): ... this.
24136 (grub_pe64_optional_header): ... and this. All users updated.
24137 (GRUB_PE32_PE32_MAGIC): Split into ..
24138 (GRUB_PE32_PE32_MAGIC): .. this.
24139 (GRUB_PE32_PE64_MAGIC): .. and this.
24140 (GRUB_PE32_SIGNATURE_SIZE): New definition.
24141 * include/grub/elf.h (PT_GNU_STACK): New definition.
24142 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
24143 * include/grub/i386/efi/kernel.h: Likewise.
24144 * include/grub/i386/kernel.h: Likewise.
24145 * include/grub/i386/pc/kernel.h: Likewise.
24146 * include/grub/i386/qemu/boot.h: Likewise.
24147 * include/grub/mips/kernel.h: Likewise.
24148 * include/grub/mips/qemu-mips/kernel.h: Likewise.
24149 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
24150 * include/grub/powerpc/kernel.h: Likewise.
24151 * include/grub/sparc64/ieee1275/boot.h: Likewise.
24152 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24153 * include/grub/sparc64/kernel.h: Likewise.
24154 * include/grub/x86_64/efi/kernel.h: Likewise.
24155 * include/grub/x86_64/kernel.h: Likewise.
24156 * include/grub/offsets.h: New file.
24157 * include/grub/kernel.h (grub_module_info): Split into ...
24158 (grub_module_info32): ... this.
24159 (grub_module_info64): ... and this.
24160 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
24161 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
24162 (grub_boot_blocklist): Moved from here ...
24163 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
24164 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
24165 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
24166 * include/grub/types.h (grub_target_to_host16): Removed.
24167 (grub_target_to_host32): Likewise.
24168 (grub_target_to_host64): Likewise.
24169 (grub_host_to_target16): Likewise.
24170 (grub_host_to_target32): Likewise.
24171 (grub_host_to_target64): Likewise.
24172 (grub_host_to_target_addr): Likewise.
24173
24174 Support grub-mkrescue for efi, coreboot and qemu.
24175
24176 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
24177 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
24178 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
24179 * util/grub-mkrawimage.c: Moved from here ...
24180 * util/grub-mkimage.c: ... here. All users updated.
24181 (ALIGN_ADDR): Use image_target.
24182 (TARGET_NO_FIELD): New const.
24183 (image_target_desc): New type.
24184 (image_targets): New array.
24185 (grub_target_to_host64): Use image_target.
24186 (grub_target_to_host32): Likewise.
24187 (grub_target_to_host16): Likewise.
24188 (grub_host_to_target64): Likewise.
24189 (grub_host_to_target32): Likewise.
24190 (grub_host_to_target16): Likewise.
24191 (grub_host_to_target_addr): Likewise.
24192 (generate_image): Handle multiimage.
24193 (main): Require -O parameter. All users updated.
24194 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
24195 util/efi/grub-mkimage.c
24196 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
24197 New option --rom-directory.
24198 Use xorriso.
24199 * util/i386/efi/grub-mkimage.c: Removed.
24200 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
24201 (grub_target_to_host32): Likewise.
24202 (grub_target_to_host64): Likewise.
24203 (grub_host_to_target16): Likewise.
24204 (grub_host_to_target32): Likewise.
24205 (grub_host_to_target64): Likewise.
24206 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
24207 (grub_target_to_host32): Likewise.
24208 (grub_target_to_host64): Likewise.
24209 (grub_host_to_target16): Likewise.
24210 (grub_host_to_target32): Likewise.
24211 (grub_host_to_target64): Likewise.
24212
f4fc97d0
BC
242132010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
24214
24215 Source tree is reorganized for emu build.
24216
24217 * include/grub/util/console.h: Move from here...
24218 * include/grub/emu/console.h: ...to here.
24219 * include/grub/util/getroot.h: Move from here...
24220 * include/grub/emu/getroot.h: ...to here.
24221 * include/grub/util/hostdisk.h: Move from here...
24222 * include/grub/emu/hostdisk.h: ...to here.
24223 * util/console.c: Move from here...
24224 * kern/emu/console.c: ...to here.
24225 * util/getroot.c: Move from here...
24226 * kern/emu/getroot.c: ...to here.
24227 * util/grub-emu.c: Move from here...
24228 * kern/emu/main.c: ...to here.
24229 * util/hostdisk.c: Move from here...
24230 * kern/emu/hostdisk.c: ...to here.
24231 * util/hostfs.c: Move from here...
24232 * kern/emu/hostfs.c: ...to here.
24233 * util/mm.c: Move from here...
24234 * kern/emu/mm.c: ...to here.
24235 * util/pci.c: Move from here...
24236 * bus/emu/pci.c: ...to here.
24237 * util/sdl.c: Move from here...
24238 * video/emu/sdl.c: ...to here.
24239 * util/time.c: Move from here...
24240 * kern/emu/time.c: ...to here.
24241 * util/usb.c: Move from here...
24242 * bus/usb/emu/usb.c: ...to here.
24243
24244 * include/grub/emu/misc.h: New header for grub-emu functions.
24245 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
24246
24247 * conf/any-emu.rmk: Rule updates for above renames.
24248 * conf/common.rmk: Likewise.
24249 * conf/i386-pc.rmk: Likewise.
24250 * conf/i386-qemu.rmk: Likewise.
24251 * conf/mips.rmk: Likewise.
24252 * conf/sparc64-ieee1275.rmk: Likewise.
24253 * conf/x86-efi.rmk: Likewise.
24254
24255 * disk/lvm.h: #include updates for above renames.
24256 * util/grub-mkrelpath.c: Likewise.
24257 * util/grub-probe.c: Likewise.
24258 * util/i386/pc/grub-setup.c: Likewise.
24259 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24260 * kern/emu/console.c: Likewise.
24261 * kern/emu/getroot.c: Likewise.
24262 * kern/emu/hostdisk.c: Likewise.
24263 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
24264
24265 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
24266 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
24267 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
24268 * util/misc.c: Remove grub-emu functions.
24269
cced9145
VS
242702010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
24271
24272 Fix gfxmenu crash.
24273 Reported by: Thorsten Grützmacher.
24274
24275 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
24276 timeout hook.
24277 (circprog_set_property): Register and unregister timeout hook.
24278 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
24279 (label_destroy): Free template. and unregister hook.
24280 (label_set_state): New function.
24281 (label_set_property): Handle templates and hooks.
24282 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
24283 timeout hook.
24284 (progress_bar_set_property): Register and unregister timeout hook.
24285 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
24286 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
24287 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
24288 (update_timeout_visit): Removed.
24289 (update_timeouts): New function.
24290 (redraw_timeouts): Likewise.
24291 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
24292 (grub_gfxmenu_clear_timeout): Likewise.
24293 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
24294 (grub_gfxmenu_timeout_notify): Likewise.
24295 (grub_gfxmenu_timeout_notifications): New external variable.
24296 (grub_gfxmenu_timeout_register): New function.
24297 (grub_gfxmenu_timeout_unregister): Likewise.
24298
c6e5caab
VS
242992010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
24300
24301 Transform (broken) vga terminal into (working) vga video driver.
24302
24303 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
24304 video/i386/pc/vga.c.
24305 * include/grub/video.h (grub_video_driver_id):
24306 Add GRUB_VIDEO_DRIVER_VGA.
24307 * term/i386/pc/vga.c: Renamed to ...
24308 * video/i386/pc/vga.c: ...this
24309 (DEBUG_VGA): Removed.
24310 (CHAR_WIDTH): Likewise.
24311 (CHAR_HEIGHT): Likewise.
24312 (TEXT_WIDTH): Likewise.
24313 (TEXT_HEIGHT): Likewise.
24314 (DEFAULT_FG_COLOR): Likewise.
24315 (DEFAULT_BG_COLOR): Likewise.
24316 (colored_char): Likewise.
24317 (xpos): Likewise.
24318 (ypos): Likewise.
24319 (cursor_state): Likewise.
24320 (fg_color): Likewise.
24321 (bg_color): Likewise.
24322 (text_buf): Likewise.
24323 (page): Likewise.
24324 (font): Likewise.
24325 (framebuffer): New variable.
24326 (set_read_map): Disabled.
24327 (setup): New variable.
24328 (is_target): Likewise.
24329 (grub_vga_mod_init): Likewise.
24330 (grub_vga_mod_fini): Likewise.
24331 (check_vga_mem): Likewise.
24332 (write_char): Likewise.
24333 (write_cursor): Likewise.
24334 (scroll_up): Likewise.
24335 (grub_vga_putchar): Likewise.
24336 (grub_vga_getcharwidth): Likewise.
24337 (grub_vga_getwh): Likewise.
24338 (grub_vga_getxy): Likewise.
24339 (grub_vga_gotoxy): Likewise.
24340 (grub_vga_cls): Likewise.
24341 (grub_vga_setcolorstate): Likewise.
24342 (grub_vga_setcursor): Likewise.
24343 (grub_video_vga_init): New function.
24344 (grub_video_vga_setup): Likewise.
24345 (grub_video_vga_fini): Likewise.
24346 (update_target): Likewise.
24347 (grub_video_vga_blit_bitmap): Likewise.
24348 (grub_video_vga_blit_render_target): Likewise.
24349 (grub_video_vga_set_active_render_target): Likewise.
24350 (grub_video_vga_get_active_render_target): Likewise.
24351 (grub_video_vga_swap_buffers): Likewise.
24352 (grub_video_vga_set_palette): Likewise.
24353 (grub_video_vga_get_info_and_fini): Likewise.
24354 (grub_vga_term): Removed.
24355 (grub_video_vga_adapter): New variable.
24356 (GRUB_MOD_INIT): Register a video driver instead of terminal.
24357 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
24358
2bf61a98
VS
243592010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24360
24361 * video/readers/jpeg.c: Indented.
24362
09ddcd11
VS
243632010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24364
24365 Various jpeg cleanups.
24366
24367 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
24368 (grub_jpeg_decode_quan_table): Use sizeof.
24369 (grub_jpeg_decode_du): Use ARRAY_SIZE.
24370
e5507505
PH
243712010-05-05 Peter Hurley <No e-mail available> (tiny change)
24372
24373 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
24374 tables. Ignore non-last ac bit.
24375 (grub_jpeg_decode_quan_table): Likewise.
24376
7e720a9b
VS
243772010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24378
24379 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
24380 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
24381 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
24382 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
24383 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
24384 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
24385
a7fc080b
VS
243862010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24387
24388 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
24389 error.
24390
2bf6012d
VS
243912010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24392
24393 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
24394
265d68cd
VS
243952010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24396
24397 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
24398 condition.
24399
244002010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
24401
24402 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
24403 part.
24404
265d68cd 244052010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
24406
24407 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
24408 pointers.
24409
265d68cd 244102010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
24411
24412 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
24413
d1b61374
CF
244142010-05-01 Christian Franke <franke@computer.org>
24415
24416 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
24417 Remove broken Cygwin path conversion.
24418 * util/misc.c: [__CYGWIN__] Add include and define.
24419 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
24420 for Cygwin 1.7.
24421 (make_system_path_relative_to_its_root): Simplify loop, replace early
24422 return by break.
24423 [__CYGWIN__] Add conversion to win32 path.
24424 Include "/" case in trailing slash removal.
24425
3558c6e9
VS
244262010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24427
24428 * kern/main.c (grub_load_config): Fix copy-pasted comment.
24429 Reported by: Seth Goldberg
24430
f5f3ff93
VS
244312010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24432
24433 * commands/help.c (grub_cmd_help): Fix a typo.
24434 Reported by: Seth Goldberg
24435
d8b5cd40
VS
244362010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24437
24438 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
24439 name and add N_.
24440 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
24441 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
24442 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
24443 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
24444 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
24445 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
24446 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
24447 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
24448 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
24449 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24450 * normal/context.c (GRUB_MOD_INIT): Likewise.
24451 * normal/main.c (GRUB_MOD_INIT): Likewise.
24452 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24453 * term/serial.c (GRUB_MOD_INIT): Likewise.
24454 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
24455
88c14915
VS
244562010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24457
24458 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
24459 extra == 0.
24460
165134bc
VS
244612010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24462
24463 * commands/iorw.c: New file.
24464 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
24465 (iorw_mod_SOURCES): New variable.
24466 (iorw_mod_CFLAGS): Likewise.
24467 (iorw_mod_LDFLAGS): Likewise.
24468
c5ac9b32
VS
244692010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24470
24471 Hotkey support
24472
24473 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
24474 * normal/main.c (hotkey_aliases): New variable.
24475 (grub_normal_add_menu_entry): Parse "--hotkey".
24476 * normal/menu_text.c (run_menu): Handle hotkeys.
24477
ce60689c
VS
244782010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24479
24480 * kern/i386/coreboot/init.c (grub_machine_init): Call
24481 grub_machine_mmap_init on qemu.
24482
0359d006
VS
244832010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24484
24485 * boot/i386/qemu/boot.S: Add a missing .code16.
24486
7819a456
VS
244872010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24488
24489 Use LBIO on coreboot.
24490
24491 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
24492 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
24493 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
24494 New declaration.
24495 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
24496 grub_machine_mmap_init on coreboot.
24497 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
24498 GRUB_LINUXBIOS_MEMBER_LINK.
24499 (grub_machine_mmap_iterate): Fix declaration.
24500 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
24501
7210dca9
VS
245022010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24503
24504 Split coreboot and multiboot ports.
24505
24506 * conf/i386-multiboot.rmk: New file.
24507 * configure.ac: Add multiboot port.
24508 * include/grub/i386/multiboot/boot.h: New file.
24509 * include/grub/i386/multiboot/console.h: Likewise.
24510 * include/grub/i386/multiboot/init.h: Likewise.
24511 * include/grub/i386/multiboot/kernel.h: Likewise.
24512 * include/grub/i386/multiboot/loader.h: Likewise.
24513 * include/grub/i386/multiboot/memory.h: Likewise.
24514 * include/grub/i386/multiboot/serial.h: Likewise.
24515 * include/grub/i386/multiboot/time.h: Likewise.
24516 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
24517 * loader/multiboot.c: Likewise.
24518 * loader/multiboot_mbi2.c: Likewise.
24519 * util/grub-mkrescue.in: Generate multiboot rescue.
24520
6f8aaf68
VS
245212010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24522
3080f7a7
VS
24523 * kern/parser.c (grub_parser_execute): Cope with read-only config.
24524
245252010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24526
24527 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
24528
24529 * commands/terminal.c (abstract_terminal): New struct.
24530 (handle_command): New function. Based on grub_cmd_terminal_input.
24531 (grub_cmd_terminal_input): Use handle_command.
24532 (grub_cmd_terminal_output): Use handle_command.
24533
a8ebb841
BC
245342010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
24535
24536 Fix comment handling.
24537
24538 * tests/grub_script_comments.in: New testcase.
24539 * conf/tests.rmk: Rules for new testcase.
24540 * script/yylex.l: Updated flex rules.
24541
bb06ba08
ST
245422010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
24543
24544 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
24545 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
24546 if argc is 1.
bb06ba08 24547
cc9d2425
VS
245482010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
24549
24550 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
24551 autogen issues.
24552
460d8402
CF
245532010-04-26 Christian Franke <franke@computer.org>
24554
24555 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
24556 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
24557 (grub_get_prefix): Remove function.
24558 * util/grub-emu.c (main): Replace grub_get_prefix () call by
24559 make_system_path_relative_to_its_root ().
24560 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
24561
553c01f9
CF
245622010-04-24 Christian Franke <franke@computer.org>
24563
24564 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
24565 (kernel_img_LDFLAGS): Remove -static-libgcc.
24566
2aec1692
CF
245672010-04-24 Christian Franke <franke@computer.org>
24568
24569 * configure.ac: Do not CHECK_BSS_START_SYMBOL
24570 and CHECK_END_SYMBOL if grub-emu is built.
24571 Unset TARGET_OBJ2ELF if grub-emu is built
24572 without module support.
24573
f67dc308
JS
245742010-04-24 Jiro SEKIBA <jir@unicus.jp>
24575
24576 Nilfs2 support.
24577
24578 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
24579 (grub_fstest_SOURCES): Likewise.
24580 (pkglib_MODULES): Add nilfs2.mod.
24581 (nilfs2_mod_SOURCES): New variable.
24582 (nilfs2_mod_CFLAGS): Likewise.
24583 (nilfs2_mod_LDFLAGS): Likewise.
24584 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
24585 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
24586 * fs/nilfs2.c: New file.
24587
4ba8d354
VS
245882010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
24589
24590 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
24591 is not supported.
24592
0d2c20c6
GS
245932010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
24594
24595 Add grub-mkconfig support for NetBSD.
24596
24597 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
24598 * util/grub-mkconfig.in: export new NetBSD specific variables.
24599 * po/POTFILES-shell: added 10_netbsd.in.
24600 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
24601
bc4a2d83
BC
246022010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
24603
24604 Fix emu build with grub-emu-pci and grub-emu-modules.
24605
24606 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
24607 functions.
24608 * include/grub/libpciaccess.h: New file.
24609 * conf/any-emu.rmk: Update kernel headers for emu build.
24610
f48c87aa
VS
246112010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
24612
24613 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
24614
18959385
VS
246152010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
24616
24617 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
24618
0037de3f
VS
246192010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24620
24621 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
24622 Retrieve chosen/bootpath if bootpath isn't hardcoded.
24623 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
24624 util/ieee1275/ofpath.c.
24625 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
24626 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
24627 * include/grub/sparc64/ieee1275/boot.h
24628 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
24629 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
24630 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
24631 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
24632 const char *.
24633 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
24634 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
24635 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
24636 install.
24637
38e55e90
GS
246382010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
24639
24640 * util/grub-mkconfig.in: Corrected two == equality tests.
24641 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
24642 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
24643 expect a number appended to it.
24644 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
24645 expects a number appended to it.
24646
a9e6ff28
VS
246472010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24648
24649 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
24650
0b830b8f
VS
246512010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24652
24653 * util/hostdisk.c (make_device_name): Change to new partition naming.
24654
0973daeb
VS
246552010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
24656
24657 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
24658
460d8402 246592010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
24660
24661 * Makefile.in: Add missing localedir setting.
24662
0b456309
CW
246632010-04-14 Colin Watson <cjwatson@ubuntu.com>
24664
24665 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
24666 mistake in r2156. Noticed by Anthony Fok.
24667
24668 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
24669 @localedir@.
24670 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
24671
08f46d62
BC
246722010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
24673
24674 Fix a spurious, uninitialized variable warning.
24675
24676 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
24677 Initialize variable, shdr.
24678 (grub_freebsd_load_elfmodule): Likewise.
24679 (grub_freebsd_load_elf_meta): Likewise.
24680
8c4a72d4
BC
246812010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
24682
24683 Fix for escaped dollar in double quoted strings.
24684
24685 * script/yylex.l: Updated flex rules.
24686 * conf/tests.rmk: Rule for new testcase.
24687 * tests/grub_script_dollar.in: New testcase.
24688
ce44826e
CPE
246892010-04-13 Carles Pina i Estany <carles@pina.cat>
246902010-04-13 Colin Watson <cjwatson@ubuntu.com>
24691
24692 Enclose all translated strings in grub.cfg in single quotes, and
24693 escape them appropriately (Ubuntu bug #552921).
24694
24695 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
24696 * util/grub.d/10_hurd.in: Use it.
24697 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
24698 * util/grub.d/10_linux.in (linux_entry): Likewise.
24699
4b0cd8f8
VS
247002010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24701
24702 Fix cygwin compilation.
24703
24704 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
24705 * include/grub/misc.h (__register_frame_info)
24706 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
24707 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
24708 * kern/misc.c (__register_frame_info)
24709 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
24710 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
24711
01fcf061
VS
247122010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24713
24714 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
24715
5d04b11e
VS
247162010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24717
24718 Unify libgcc processing.
24719
24720 * Makefile.in (kernel_img_LDFLAGS): New variable.
24721 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
24722 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
24723 overwriting.
24724 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
24725 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
24726 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
24727 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
24728 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
24729 overwriting. Remove -lgcc and -static-libgcc
24730 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
24731 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
24732 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
24733 (kernel_img_LDFLAGS): Append instead of overwriting.
24734 Remove -lgcc and -static-libgcc
24735 * conf/sparc64-ieee1275.rmk: Likewise.
24736 * include/grub/powerpc/libgcc.h: Move to ...
24737 * include/grub/libgcc.h: .. this.
24738 * include/grub/libgcc.h: Don't export most of the function on x86.
24739 (__bswapsi2): New export.
24740 (__bswapdi2): Likewise.
24741 * include/grub/mips/libgcc.h: Removed.
24742 * include/grub/sparc64/libgcc.h: Likewise.
24743
b7f3ac29
VS
247442010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24745
24746 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
24747 disk_info_msg (conflicts with gettexting into languages with cases).
24748
2c7031b1
GS
247492010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
24750
24751 Add grub-probe support for NetBSD.
24752
24753 * util/getroot.c (find_root_device): Convert block device to
24754 character device on NetBSD.
24755 * util/probe.c (probe): Require character device on NetBSD.
24756 * util/hostdisk.c: NetBSD specific headers.
24757 (configure_device_driver): new function to tune device driver
24758 parameters (currently only for NetBSD floppy driver).
24759 (grub_util_biosdisk_open): NetBSD specific code (get disk size
24760 via disklabel ioctl).
24761 (open_device): call configure_device_driver on NetBSD.
24762 (convert_system_partition_to_system_disk): NetBSD specific code.
24763 (device_is_wholedisk): Likewise.
24764 (grub_util_biosdisk_get_grub_dev): Likewise.
24765 (make_device_name): Fixed a typo in bsd_part_str.
24766 * configure.ac: check for opendisk() and getrawpartition() on
24767 NetBSD and set LIBUTIL.
24768 * Makefile.in: add LIBUTIL to LIBS.
24769
f516290c
BC
247702010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
24771
24772 Documentation fix.
24773
24774 * util/grub-script-check.c: Better help message.
24775
d8dcc0df
BC
247762010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
24777
24778 Fix FreeBSD build.
24779
24780 * configure.ac: Flex version check.
24781 * conf/common.rmk: Add -Wno-error to sh.mod.
24782 * script/yylex.l: Remove all #pragma.
24783
6734334a
VS
247842010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24785
24786 * include/grub/util/misc.h (canonicalise_file_name): Add missing
24787 prototype.
24788 Reported by: Seth Goldberg.
24789
daea6abd
VS
247902010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24791
24792 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
24793 Rename "module" to "module2".
24794 Reported by: Seth Goldberg.
24795
f2fd9d2b
VS
247962010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24797
24798 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
24799 EXPORT_FUNC.
24800 Reported by: Seth Goldberg.
24801
be124579
VS
248022010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24803
24804 * lib/posix_wrap/locale.h: Add missing file.
24805 Reported by: Seth Goldberg.
24806
ef5da797
VS
248072010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24808
24809 grub-emu module load support.
24810
24811 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
24812 NO_DYNAMIC_MODULES switched to this.
24813 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
24814 (CFLAGS): Likewise.
24815 * conf/any-emu.rmk: Generate symlist.
24816 (kernel_img_HEADERS): Add util/datetime.h.
24817 (kernel_img_HEADERS) [sdl]: Add sdl.h.
24818 (kernel_img_HEADERS) [libusb]: Add libusb.h.
24819 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
24820 kern/$(target_cpu)/cache.S.
24821 * configure.ac (grub-emu-modules): New option.
24822 * genmk.rb: Handle multiple source lists.
24823 * include/grub/sdl.h: New file.
24824 * include/grub/libusb.h: Likewise.
24825 * util/grub-emu.c (main): Hanle (host) root.
24826 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
24827 GRUB_ERR_UNKNOWN_DEVICE.
24828 * util/misc.c: Move mm functions to ...
24829 * util/mm.c: ... here. All users updated.
24830
47822096
VS
248312010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24832
24833 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
24834 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
24835 missing files.
24836 (maintainer-clean): Remove libgcrypt-grub.
24837
5d7e7445
VS
248382010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24839
24840 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
24841
25f4e252
EC
248422010-04-09 EFI Coder <eficoder@hotmail.com>
24843
24844 * normal/menu_text.c (print_message): Clean up the message and show
24845 the Fn information when on EFI
24846 * term/efi/console.c (grub_console_checkkey): Add F4 support.
24847
027de555
VS
248482010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24849
24850 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
24851 All users updated.
24852 * normal/crypto.c (read_crypto_list): Likewise.
24853 * normal/dyncmd.c (read_command_list): Likewise.
24854 * normal/term.c (read_terminal_list): Likewise.
24855 * normal/main.c (read_lists): Use explicit prefix.
24856 (read_lists_hook): Use read_lists.
24857 (grub_normal_execute): Likewise.
24858
47779711
VS
248592010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24860
24861 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
24862 Reported by: Thomas Schmitt.
24863 Add -no-emul-boot to grub-mkisofs parameters.
24864
1118c32e
VS
248652010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24866
24867 * font/font.c: Indented.
24868
7d652447
BC
248692010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
24870
24871 Elif support to GRUB script (by Deepak Vankadaru).
24872
24873 * tests/grub_script_if.in: New testcase.
24874 * conf/tests.rmk: Rule for new testcase.
24875 * script/parser.y: Grammar rules for elif.
24876
34bb22df
BC
248772010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
24878
24879 While and until loops support to GRUB script.
24880
24881 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
24882 (grub_script_create_cmdwhile): New function prototype.
24883 (grub_script_execute_cmdwhile): New function prototype.
24884 * script/execute.c (grub_script_execute_cmdwhile): New function.
24885 * script/parser.y (command): New commands.
24886 (whilecmd): New grammar rule.
24887 (untilcmd): New grammar rule.
24888 * script/script.c (grub_script_create_cmdwhile): New function.
24889 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
24890 function.
24891
24892 * tests/grub_script_while1.in: New testcase.
24893 * conf/tests.rmk: Rule for new testcase.
24894
e215d8e0
VS
248952010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24896
24897 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
24898 as *.jpg.
24899
d7c43ba1
MV
249002010-04-09 Mario Vazquez <mariovazq@gmail.com>
24901
24902 GRUB_BACKGROUND support.
24903
24904 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
24905 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
24906
d64795c0
VS
249072010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24908
24909 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 24910 Idea by: Mario Vazquez
d64795c0
VS
24911
24912 * util/grub.d/00_header.in: Load pf2 and image modules.
24913
f267f83a
VS
249142010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24915
24916 grub-mkconfig multiple terminal support.
24917
24918 * util/grub-mkconfig.in: Handle multiple terminals correctly.
24919 * util/grub.d/00_header.in: Likewise.
24920
b7841ceb
VS
249212010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24922
24923 * Makefile.in: Specify files explicitly instead of using $< and $@ since
24924 we use cd $(srcdir).
24925
df60998c
CW
249262010-04-08 Colin Watson <cjwatson@ubuntu.com>
24927
24928 * util/grub.d/10_linux.in: Only use the first word of
24929 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
24930 spaces in GRUB_DISTRIBUTOR.
24931 * util/grub.d/10_kfreebsd.in: Likewise.
24932 * util/grub.d/10_hurd.in: Likewise.
24933
fa09c82e
BC
249342010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
24935
14e18ae3 24936 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
24937
24938 * tests/util/grub-shell.in: Remove -serial stdio option.
24939
daf892b3
BC
249402010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
24941
24942 POSIX header file wrappers.
24943
24944 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
24945 equivalents.
24946 * lib/posix_wrap/ctype.h: Likewise.
24947 * lib/posix_wrap/errno.h: Likewise.
24948 * lib/posix_wrap/langinfo.h: Likewise.
24949 * lib/posix_wrap/limits.h: Likewise.
24950 * lib/posix_wrap/localcharset.h: Likewise.
24951 * lib/posix_wrap/stdint.h: Likewise.
24952 * lib/posix_wrap/stdio.h: Likewise.
24953 * lib/posix_wrap/stdlib.h: Likewise.
24954 * lib/posix_wrap/string.h: Likewise.
24955 * lib/posix_wrap/sys/types.h: Likewise.
24956 * lib/posix_wrap/unistd.h: Likewise.
24957 * lib/posix_wrap/wchar.h: Likewise.
24958 * lib/posix_wrap/wctype.h: Likewise.
24959 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
24960 (grub_script.yy.h): Likewise.
24961 * script/yylex.l: Remove POSIX emulation #defines.
24962 * Makefile.in (POSIX_CFLAGS): New variable.
24963 (GNULIB_UTIL_CFLAGS): Likewise.
24964
24965 Regexp support.
24966
24967 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
24968 (regexp_mod_SOURCES): New variable.
24969 (regexp_mod_CFLAGS): Likewise.
24970 (regexp_mod_LDFLAGS): Likewise.
24971 * commands/regexp.c: New file.
24972 * gnulib/regcomp.c: New file. Imported from gnulib.
24973 * gnulib/regex.c: Likewise.
24974 * gnulib/regex_internal.c: Likewise.
24975 * gnulib/regex_internal.h: Likewise.
24976 * gnulib/regexec.c: Likewise.
24977 * gnulib/regex.h: Likewise.
24978
974ac4f7
VS
249792010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24980
24981 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
24982 unsupported video mode types.
24983
2622c3ff
VS
249842010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24985
24986 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
24987
064cb524
VS
249882010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24989
24990 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
24991 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
24992
a8c3b552
VS
249932010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
24994
24995 Remove unused grub_vga_get_font.
24996
24997 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
24998 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
24999
187bbe3d
GS
250002010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25001
25002 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
25003 * include/grub/misc.h: Likewise.
25004
b9396631
GS
250052010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25006
25007 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
25008 for which failure is fatal.
25009
50479feb
GS
250102010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25011
25012 * util/grub-install.in: Use mkdir -p to create grub directory.
25013 * util/i386/efi/grub-install.in: Likewise.
25014 * util/ieee1275/grub-install.in: Likewise.
25015
b1654fdf
GS
250162010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25017
25018 * Makefile.in (LEX): new variable.
25019
bd5a6415
GS
250202010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25021
25022 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
25023 `=' and added double quotes on operands of this equality test.
25024
3db3a82b
VS
250252010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
25026
25027 * Makefile.in (uninstall): Remove a leftover debug echo.
25028 Reported by: Grégoire Sutre
25029
38023412
VS
250302010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
25031
25032 MIPS multiboot2 support.
25033
25034 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
25035 (multiboot2_mod_SOURCES): New variable.
25036 (multiboot2_mod_CFLAGS): Likewise.
25037 (multiboot2_mod_LDFLAGS): Likewise.
25038 (multiboot2_mod_ASFLAGS): Likewise.
25039 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
25040 definition.
25041 (MULTIBOOT_ENTRY_REGISTER): Likewise.
25042 (MULTIBOOT_MBI_REGISTER): Likewise.
25043 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
25044 (MULTIBOOT_ELF32_MACHINE): Likewise.
25045 (MULTIBOOT_ELF64_MACHINE): Likewise.
25046 * include/grub/mips/multiboot.h: New file.
25047 * include/grub/video.h (grub_video_driver_id): New type
25048 GRUB_VIDEO_DRIVER_SM712.
25049 (grub_video_get_info_and_fini): Export.
25050 (grub_video_get_palette): Likewise.
25051 (grub_video_get_driver_id): Likewise.
25052 * include/multiboot2.h: Resynced with spec.
25053 * loader/i386/multiboot.c: Moved from here ...
25054 * loader/multiboot.c: ... here. All users updated.
25055 (grub_multiboot_boot): Use platform-specific macros.
25056 * loader/i386/multiboot_elfxx.c: Moved from here ...
25057 * loader/multiboot_elfxx.c: ... here. All users updated.
25058 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
25059 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
25060 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
25061
47674667
VS
250622010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
25063
25064 Import gnulib argp module.
25065
25066 * gnulib/argp-ba.c: New file.
25067 * gnulib/argp-eexst.c: Likewise.
25068 * gnulib/argp-fmtstream.c: Likewise.
25069 * gnulib/argp-fmtstream.h: Likewise.
25070 * gnulib/argp-fs-xinl.c: Likewise.
25071 * gnulib/argp-help.c: Likewise.
25072 * gnulib/argp-namefrob.h: Likewise.
25073 * gnulib/argp-parse.c: Likewise.
25074 * gnulib/argp-pin.c: Likewise.
25075 * gnulib/argp-pv.c: Likewise.
25076 * gnulib/argp-pvh.c: Likewise.
25077 * gnulib/argp-version-etc.c: Likewise.
25078 * gnulib/argp-version-etc.h: Likewise.
25079 * gnulib/argp-xinl.c: Likewise.
25080 * gnulib/argp.h: Likewise.
25081
495442ed
VS
250822010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
25083
25084 * kern/device.c (grub_device_iterate): Clear errors after failed
25085 opening device.
25086
f9fd65df
VS
250872010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
25088
25089 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
25090 returned by firmware.
25091
af09641e
VS
250922010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
25093
25094 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
25095 compilation on coreboot and qemu
25096
016883a5
VS
250972010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
25098
25099 * include/multiboot2.h: Resync with spec.
25100
f97e1f7d
VS
251012010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
25102
25103 Multiboot2 tag support
25104
25105 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
25106 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
25107 Remove loader/multiboot_loader.c.
25108 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
25109 (grub_multiboot2_real_boot): Likewise.
25110 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
25111 (grub_get_multiboot_mmap_count): New proto.
25112 (grub_fill_multiboot_mmap): Likewise.
25113 (grub_multiboot_set_video_mode): Likewise.
25114 (grub_multiboot_set_console): Likewise.
25115 (grub_multiboot_load): Likewise.
25116 (grub_multiboot_load_elf): Likewise.
25117 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
25118 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
25119 * include/multiboot.h: Resynced with specification.
25120 * include/multiboot2.h: Resynced with specification.
25121 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
25122 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
25123 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
25124 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
25125 users updated.
25126 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
25127 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
25128 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
25129 Removed.
25130 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
25131 Moved from here...
25132 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
25133 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
25134 Moved from here...
25135 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
25136 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
25137 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
25138 All users updated.
25139 * loader/i386/multiboot_mbi2.c: New file.
25140
3506b90b
VS
251412010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
25142
25143 Resync with gnulib.
25144
25145 * Makefile.in (GNULIB_CFLAGS): New variable.
25146 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
25147 (grub_script_check_CFLAGS): New variable.
25148 * gnulib/alloca.h: Resync with gnulib.
25149 * gnulib/error.c: Likewise.
25150 * gnulib/error.h: Likewise.
25151 * gnulib/fnmatch.c: Likewise.
25152 * gnulib/fnmatch_loop.c: Likewise.
25153 * gnulib/getdelim.c: Likewise.
25154 * gnulib/getline.c: Likewise.
25155 * gnulib/getopt.c: Likewise.
25156 * gnulib/getopt1.c: Likewise.
25157 * gnulib/getopt_int.h: Likewise.
25158 * gnulib/gettext.h: Likewise.
25159 * gnulib/progname.c: Likewise.
25160 * gnulib/progname.h: Likewise.
25161
394a3120
GS
251622010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
25163
25164 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
25165 which is the case with --disabled-nls.
25166
25167 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
25168 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
25169 * util/misc.c: Likewise.
25170 * util/mkisofs/mkisofs.c: Likewise.
25171 * util/mkisofs/mkisofs.h: Likewise.
25172
969d1c78
VS
251732010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
25174
25175 Simplify Apple CC support.
25176
25177 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
25178 Add 0 byte at the end not to have a symbol with empty target.
25179 * mmap/i386/pc/mmap_helper.S: Likewise.
25180 * genmk.rb: Ignore errors 2030 and 2050.
25181 * kern/i386/pc/startup.S: Use LOCAL when possible.
25182
8d2977bb
BC
251832010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
25184
25185 Testcase and the fix for final semicolon on cmdline.
25186
25187 * tests/grub_script_final_semicolon.in: New testcase.
25188 * conf/tests.rmk: Rules for the new testcase.
25189 * script/parser.y: Grammar fix.
25190
a7bd6915
BC
251912010-03-26 BVK Chaitanya <bvk@localhost>
25192
25193 Blank lines testcase for GRUB script.
25194
25195 * tests/grub_script_blanklines.in: New testcase.
25196 * conf/tests.rmk: Rules for the new testcase.
25197
e4ff6628
VS
251982010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25199
25200 Don't use __FILE__.
25201
25202 * genmk.rb: Add -DGRUB_FILE to all C targets.
25203 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
25204 * include/grub/list.h: Likewise.
25205 * include/grub/misc.h: Likewise.
25206 * include/grub/mm.h: Likewise.
25207 * include/grub/test.h: Likewise.
25208 * kern/mm.c: Likewise.
25209 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
25210
6a5cf6b6
VS
252112010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25212
25213 Sunpc partitions support.
25214
25215 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
25216 (grub_fstest_SOURCES): Likewise.
25217 (pkglib_MODULES): Add part_sunpc.mod.
25218 (part_sunpc_mod_SOURCES): New variable.
25219 (part_sunpc_mod_CFLAGS): Likewise.
25220 (part_sunpc_mod_LDFLAGS): Likewise.
25221 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
25222 * partmap/sunpc.c: New file.
25223
746d9045
BC
252242010-03-26 BVK Chaitanya <bvk@localhost>
25225
25226 For loop support to GRUB script.
25227
25228 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
25229 (grub_script_create_cmdfor): New function prototype.
25230 (grub_script_execute_cmdfor): New function prototype.
25231 * script/execute.c (grub_script_execute_cmdfor): New function.
25232 * script/parser.y (command): New for command.
25233 (forcmd): New grammar rule.
25234 * script/script.c (grub_script_create_cmdfor): New function.
25235 * util/grub-script-check.c (grub_script_execute_cmdfor): New
25236 function.
25237 * tests/grub_script_for1.in: New testcase.
25238 * conf/tests.rmk: Rules for new testcase.
25239
18486b18
VS
252402010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25241
25242 Nested partitions
25243
25244 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
25245 'partition' is NULL, grub_partition_get_start already does that.
25246 * commands/loadenv.c (check_blocklists): Likewise.
25247 (write_blocklists): Likewise.
25248 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
25249 (grub_fstest_SOURCES): Likewise.
25250 (pkglib_MODULES): Add part_bsd.mod.
25251 (part_bsd_mod_SOURCES): New variable.
25252 (part_bsd_mod_CFLAGS): Likewise.
25253 (part_bsd_mod_LDFLAGS): Likewise.
25254 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
25255 (grub_emu_SOURCES): Likewise.
25256 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25257 * include/grub/bsdlabel.h: New file.
25258 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
25259 'get_name'.
25260 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
25261 (grub_partition_map_list): New variable.
25262 (grub_partition_map_register): Inline.
25263 (grub_partition_map_unregister): Likewise.
25264 (FOR_PARTITION_MAPS): New macro.
25265 (grub_partition_map_iterate): Removed.
25266 (grub_partition_get_start): Handle nested partitions.
25267 * include/grub/msdos_partition.h: Remove bsd-related entries.
25268 (grub_pc_partition): Remove.
25269 * kern/disk.c (grub_disk_close): Free partition data.
25270 (grub_disk_adjust_range): Handle nested partitions.
25271 * kern/partition.c (grub_partition_map_probe): New function.
25272 (grub_partition_probe): Parse name to number, handle subpartitions.
25273 (get_partmap): New function.
25274 (grub_partition_iterate): Handle subpartitions.
25275 (grub_partition_get_name): Likewise.
25276 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
25277 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
25278 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
25279 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
25280 Set 'number'.
25281 (acorn_partition_map_probe): Remove.
25282 (acorn_partition_map_get_name): Likewise.
25283 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
25284 Set 'number'.
25285 Set 'index' to 0 since there can be only one partition entry per sector.
25286 (amiga_partition_map_probe): Remove.
25287 (amiga_partition_map_get_name): Likewise.
25288 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
25289 Set 'number'.
25290 Set 'offset' and 'index' to real positions of partitions.
25291 (apple_partition_map_probe): Remove.
25292 (apple_partition_map_get_name): Likewise.
25293 * partmap/bsdlabel.c: New file.
25294 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
25295 Set 'number'.
25296 Allocate 'data' so it can be correctly freed.
25297 Set 'index' to offset inside sector.
25298 (gpt_partition_map_probe): Remove.
25299 (gpt_partition_map_get_name): Likewise.
25300 * partmap/msdos.c (grub_partition_parse): Remove.
25301 (pc_partition_map_iterate): Don't force raw access.
25302 Set 'number'.
25303 Make 'ext_offset' a local variable.
25304 (pc_partition_map_probe): Remove.
25305 (pc_partition_map_get_name): Remove.
25306 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
25307 Set 'number'.
25308 (sun_partition_map_probe): Remove.
25309 (sun_partition_map_get_name): Likewise.
25310 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
25311 (grub_pcpart_type): Likewise.
25312 * util/hostdisk.c (open_device): Handle new numbering scheme.
25313 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
25314 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
25315 * util/grub-probe.c (probe_partmap): Handle nested paritions.
25316 * util/grub-install.in: Insert all subpartition modules.
25317 * util/ieee1275/grub-install.in: Likewise.
25318
a3940f88
AG
253192010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
25320
25321 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
25322 grammar.
25323
21b99926 253242010-03-24 Colin Watson <cjwatson@ubuntu.com>
25325
25326 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
25327
bed1d352
CW
253282010-03-21 Colin Watson <cjwatson@ubuntu.com>
25329
25330 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
25331 match where 'make install' puts them.
25332 * util/i386/efi/grub-install.in: Likewise.
25333
c9f58427
CW
253342010-03-19 Colin Watson <cjwatson@ubuntu.com>
25335
25336 * .bzrignore: Add gentrigtables, grub-script-check,
25337 grub_script_check_init.c, grub_script_check_init.h, and
25338 trigtables.c.
25339
f84afb27
VS
253402010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
25341
25342 * kern/parser.c: Indented.
25343
ed0e3d30
VS
253442010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
25345
25346 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
25347
0ea81d98
VS
253482010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
25349
25350 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
25351 alpha_mask_size == 0 case.
25352
0cdc2a09
BC
253532010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
25354
25355 GRUB shell lexer and parser improvements.
25356
25357 * conf/any-emu.rmk: Build rule updates.
25358 * conf/common.rmk: Likewise.
25359 * conf/i386-coreboot.rmk: Likewise.
25360 * conf/i386-efi.rmk: Likewise.
25361 * conf/i386-ieee1275.rmk: Likewise.
25362 * conf/i386-pc.rmk: Likewise.
25363 * conf/powerpc-ieee1275.rmk: Likewise.
25364 * conf/x86_64-efi.rmk: Likewise.
25365
25366 * configure.ac: Configure check for flex.
25367
25368 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
25369 types.
25370 (grub_lexer_param): Struct member updates.
25371 (grub_parser_param): Likewise.
25372 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
25373 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
25374 (grub_script_lexer_init): Prototype update.
25375 (grub_script_lexer_record_start): Likewise.
25376 (grub_script_lexer_record_stop): Likewise.
25377 (grub_script_lexer_yywrap): New function prototype.
25378 (grub_script_lexer_fini): Likewise.
25379 (grub_script_execute_argument_to_string): Removed by...
25380 (grub_script_execute_argument_to_argv): ...better version.
25381
25382 * script/execute.c (ROUND_UPTO): New macro.
25383 (grub_script_execute_cmdline): Out of memory fixes.
25384 (grub_script_execute_menuentry): Likewise.
25385 (grub_script_execute_argument_to_string): Removed. Update all
25386 users by...
25387 (grub_script_execute_argument_to_argv): ...better version.
25388 * script/function.c (grub_script_function_create): Use
25389 grub_script_execute_argument_to_argv instead of
25390 grub_script_execute_argument_to_string.
25391
25392 * script/lexer.c (check_varstate): Removed.
25393 (check_textstate): Removed.
25394 (grub_script_lexer_record_start): Likewise.
25395 (grub_script_lexer_record_stop): Likewise.
25396 (recordchar): Replaced with...
25397 (grub_script_lexer_record): ...new function.
25398 (nextchar): Removed.
25399 (grub_script_lexer_init): Rewritten.
25400 (grub_script_yylex): Rewritten.
25401 (append_newline): New function.
25402 (grub_script_lexer_yywrap): New function.
25403 (grub_script_lexer_fini): New function.
25404 (grub_script_yyerror): Sets error flag.
25405
25406 * script/yylex.l: New file.
25407 (grub_lexer_yyfree): Wrapper for flex yyffre.
25408 (grub_lexer_yyalloc): Likewise.
25409 (grub_lexer_yyrealloc): Likewise.
25410 * script/parser.y: Refactored.
25411
25412 * script/script.c (grub_script_arg_add): Out of memory fixes.
25413 (grub_script_add_arglist): Likewise.
25414 (grub_script_create_cmdline): Likewise.
25415 (grub_script_create_cmdmenu): Likewise.
25416 (grub_script_add_cmd): Likewise.
25417 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
25418 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
25419 unnecessary code.
25420
25421 * tests/grub_script_echo1.in: New testcase.
25422 * tests/grub_script_vars1.in: New testcase.
25423 * tests/grub_script_echo_keywords.in: New testcase.
25424
1d63a066
VS
254252010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25426
25427 Remove some redundancy in build system.
25428
25429 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
25430 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
25431 (TARGET_LDFLAGS): Add -nostdlib.
25432 (TARGET_IMG_LDFLAGS): Likewise.
25433 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
25434 anything since mmap isn't available.
25435 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
25436 Add util/time.c.
25437 (pkglib_MODULES): Remove reboot.mod.
25438 (reboot_mod_SOURCES): Removed.
25439 (reboot_mod_CFLAGS): Likewise.
25440 (reboot_mod_LDFLAGS): Likewise.
25441 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
25442 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
25443 (DEFSYMFILES): Add kernel_syms.lst.
25444 (kernel_img_HEADERS): Add common headers.
25445 (symlist.c): New target.
25446 (kernel_syms.lst): Likewise.
25447 (pkglib_MODULES): Add memdisk.mod.
25448 (memdisk_mod_SOURCES): New variable.
25449 (memdisk_mod_CFLAGS): Likewise.
25450 (memdisk_mod_LDFLAGS): Likewise.
25451 (pkglib_MODULES): Add reboot.mod.
25452 (reboot_mod_SOURCES): New variable.
25453 (reboot_mod_CFLAGS): Likewise.
25454 (reboot_mod_LDFLAGS): Likewise.
25455 (pkglib_MODULES): Add date.mod.
25456 (date_mod_SOURCES): New variable.
25457 (date_mod_CFLAGS): Likewise.
25458 (date_mod_LDFLAGS): Likewise.
25459 (pkglib_MODULES): Add datehook.mod.
25460 (datehook_mod_SOURCES): New variable.
25461 (datehook_mod_CFLAGS): Likewise.
25462 (datehook_mod_LDFLAGS): Likewise.
25463 (pkglib_MODULES): Add lsmmap.mod.
25464 (lsmmap_mod_SOURCES): New variable.
25465 (lsmmap_mod_CFLAGS): Likewise.
25466 (lsmmap_mod_LDFLAGS): Likewise.
25467 (pkglib_MODULES): Add boot.mod.
25468 (boot_mod_SOURCES): New variable.
25469 (boot_mod_CFLAGS): Likewise.
25470 (boot_mod_LDFLAGS): Likewise.
25471 * conf/i386-coreboot.rmk: Removed redundant parts.
25472 * conf/i386-ieee1275.rmk: Likewise.
25473 * conf/i386-pc.rmk: Likewise.
25474 * conf/mips-yeeloong.rmk: Likewise.
25475 * conf/mips.rmk: Likewise.
25476 * conf/powerpc-ieee1275.rmk: Likewise.
25477 * conf/sparc64-ieee1275.rmk: Likewise.
25478 * conf/x86_64-efi.rmk: Likewise.
25479 * conf/i386-coreboot.rmk: Moved qemu parts ..
25480 * conf/i386-qemu.rmk: ... here
25481 * conf/i386-efi.rmk: Moved common parts to...
25482 * conf/x86-efi.rmk: ... here.
25483 * conf/i386.rmk: Added modules common to all x86 variants.
25484 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
25485 * disk/memdisk.c: Remove grub/machine/kernel.h.
25486 * gensymlist.sh.in: Include symbol.h.
25487 * hook/datehook.c: Correct module name.
25488 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
25489 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
25490 * include/grub/i386/efi/serial.h: New file.
25491 * include/grub/x86_64/efi/serial.h: Likewise.
25492 * util/time.c: Likewise.
25493 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
25494
463ac55f
CK
254952010-03-14 Colin King <colin.king@ubuntu.com>
254962010-03-14 Colin Watson <cjwatson@ubuntu.com>
25497
25498 Shrink the pre-partition-table part of boot.img by eight bytes.
25499
25500 * boot/i386/pc/boot.S (ERR): New macro.
25501 (chs_mode): Use ERR.
25502 (geometry_error): Likewise.
25503 (hd_probe_error): Remove. This is only used once, so we wrwite
25504 it inline instead.
25505 (read_error): Instead of printing read_error_string, just set up
25506 %si and fall through to ...
25507 (error_message): ... this new function, also used by ERR.
25508
08e46ede
CW
255092010-03-14 Colin Watson <cjwatson@ubuntu.com>
25510
25511 Speed up consecutive hostdisk operations on the same device.
25512
25513 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
25514 (grub_util_biosdisk_open): Initialise disk->data.
25515 (struct linux_partition_cache): New structure.
25516 (linux_find_partition): Cache partition start positions; these are
25517 expensive to compute on every read and write.
25518 (open_device): Cache open file descriptor in disk->data, so that we
25519 don't have to reopen it and flush the buffer cache for consecutive
25520 operations on the same device.
25521 (grub_util_biosdisk_close): New function.
25522 (grub_util_biosdisk_dev): Set `close' member.
25523
25524 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
25525 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
25526 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25527 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
25528 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
25529
4a6d2d06
VS
255302010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25531
25532 Compile parts of grub-emu as modules.
25533
25534 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
25535 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
25536 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
25537 (all-local): Add $(GRUB_EMU).
25538 (install-local): Install $(GRUB_EMU).
25539 (uninstall): Uninstall $(GRUB_EMU).
25540 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
25541 * kern/dl.c: Likewise.
25542 * commands/sleep.c: Not include machine/time.h.
25543 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
25544 (COMMON_CFLAGS): Likewise.
25545 (sbin_UTILITIES): Remove grub-emu.
25546 (grub_emu_SOURCES): Removed.
25547 (kernel_img_RELOCATABLE): New variable.
25548 (pkglib_PROGRAMS): Add kernel.img.
25549 (kernel_img_SOURCES): New variable
25550 (kernel_img_CFLAGS): Likewise.
25551 (kernel_img_LDFLAGS): Likewise.
25552 (TARGET_NO_STRIP): Likewise.
25553 (TARGET_NO_DYNAMIC_MODULES): Likewise.
25554 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
25555 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
25556 (grub-emu): New target.
25557 (GRUB_EMU): New variable.
25558 * configure.ac: Whitelist -emu as possible x86_64 architecture.
25559 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
25560 * loader/xnu.c: Likewise.
25561 * include/grub/pci.h: Likewise.
25562 * genemuinit.sh: New file.
25563 * genemuinitheader.sh: Likewise.
25564 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
25565 Support TARGET_NO_DYNAMIC_MODULES.
25566 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
25567 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
25568 * disk/loopback.c: Likewise.
25569 * font/font_cmd.c: Likewise.
25570 * partmap/acorn.c: Likewise.
25571 * partmap/amiga.c: Likewise.
25572 * partmap/apple.c: Likewise.
25573 * partmap/gpt.c: Likewise.
25574 * partmap/msdos.c: Likewise.
25575 * partmap/sun.c: Likewise.
25576 * parttool/msdospart.c: Likewise.
25577 * term/gfxterm.c: Likewise.
25578 * video/bitmap.c: Likewise.
25579 * video/readers/jpeg.c: Likewise.
25580 * video/readers/png.c: Likewise.
25581 * video/readers/tga.c: Likewise.
25582 * video/video.c: Likewise.
25583 * util/grub-emu.c (read_command_list): Removed.
25584 (main): Don't call util_init_nls.
25585 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
25586 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
25587
91fdd2ed
VS
255882010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25589
25590 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
25591 date.mod, datehook.mod.
25592 (datetime_mod_SOURCES): New variable.
25593 (datetime_mod_CFLAGS): Likewise.
25594 (datetime_mod_LDFLAGS): Likewise.
25595 (date_mod_SOURCES): Likewise.
25596 (date_mod_CFLAGS): Likewise.
25597 (date_mod_LDFLAGS): Likewise.
25598 (datehook_mod_SOURCES): Likewise.
25599 (datehook_mod_CFLAGS): Likewise.
25600 (datehook_mod_LDFLAGS): Likewise.
25601 * conf/sparc64-ieee1275.rmk: Likewise.
25602 * lib/ieee1275/datetime.c: New file.
25603
873ccae6
VS
256042010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25605
25606 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
25607 (ieee1275_fb_mod_SOURCES): New variable.
25608 (ieee1275_fb_mod_CFLAGS): Likewise.
25609 (ieee1275_fb_mod_LDFLAGS): Likewise.
25610 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
25611 New proto.
25612 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
25613 (HEAP_MAX_ADDR): Likewise.
25614 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
25615 type.
25616 Correct stop condition.
25617 (grub_ieee1275_devices_iterate): New function.
25618 * video/ieee1275.c: New file.
25619
601c97c0
VS
256202010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25621
25622 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
25623
25624 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
25625 as scratch.
25626 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
25627 SCRATCH_PAD_DISKBOOT as scratch.
25628 (bootit): Pass Openfirmware pointer in %o4.
25629 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
25630 of 0x200000.
25631 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
25632 with util/grub-mkrawimage.c.
25633 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
25634 * include/grub/aout.h (AOUT_MID_SUN): New definition.
25635 (grub_aout_get_type) [GRUB_UTIL]: Removed.
25636 (grub_aout_load) [GRUB_UTIL]: Likewise.
25637 * include/grub/kernel.h (grub_modules_get_end): New proto.
25638 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
25639 (SCRATCH_PAD_BOOT): New definition.
25640 (SCRATCH_PAD_DISKBOOT): Likewise.
25641 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
25642 * include/grub/sparc64/ieee1275/ieee1275.h
25643 (grub_ieee1275_original_stack): New variable
25644 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25645 New definition
25646 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
25647 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
25648 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
25649 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
25650 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
25651 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
25652 (grub_platform_image_format_t): New type.
25653 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
25654 * kern/main.c (grub_modules_get_end)
25655 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
25656 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
25657 (codestart): Switch stacks.
25658 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
25659 variable.
25660 (grub_heap_init): Use grub_modules_get_end.
25661 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
25662 stack.
25663 * util/grub-mkrawimage.c (generate_image): Support sparc64.
25664 (main): Likewise.
25665 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
25666
d68b491e
TG
256672010-03-14 Thorsten Glaser <tg@mirbsd.org>
25668
25669 * util/grub-mkrescue.in: Base ISO UUID on UTC.
25670
4e02ed50
MK
256712010-03-08 Matt Kraai <kraai@ftbfs.org>
25672
25673 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
25674 bug #559005).
25675
1f15fc1e
VS
256762010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
25677
25678 * genmoddep.awk: Output all missing symbols and not only first.
25679
fce5d8ff
VS
256802010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25681
25682 * NEWS: Put the date of 1.98 release.
25683
d1e8a02f
VS
256842010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25685
25686 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
25687 ft2build.h.
25688
696fd607
VS
256892010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25690
25691 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
25692 completition in the middle of string.
25693
33e2e6f3
VS
256942010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25695
25696 * util/grub-mkrescue.in: Use mktemp with explicit template.
25697
b1f6d291
VS
256982010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25699
25700 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
25701
2ac227c7
VS
257022010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25703
25704 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
25705 right pointer.
25706
8f9a632b
VS
257072010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
25708
25709 Fix FreeBSD compilation.
25710
25711 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
25712 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
25713
60b03859
VS
257142010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
25715
25716 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
25717
48a5a769
VS
257182010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25719
25720 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
25721
3ab4bd77
VS
257222010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25723
25724 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
25725
d116e0d8
RM
257262010-03-04 Robert Millan <rmh.grub@aybabtu.com>
25727
25728 Support relative image path in theme file.
25729
25730 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
25731 (image_set_property): Handle theme_dir and relative path.
25732
c7ef54aa
VS
257332010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25734
25735 * configure.ac: Alias amd64 to x86_64.
25736
fcee14ed
VS
257372010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25738
25739 * NEWS: mention multiboot on EFI.
25740
d0780363
VS
257412010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25742
25743 * kern/main.c (grub_load_modules): Handle errors from init functions of
25744 embeded modules.
25745
41168ea4
VS
257462010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25747
25748 * normal/autofs.c (autoload_fs_module): Handle errors.
25749
b54d93ac
VS
257502010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25751
25752 Disable linux.mod on qemu-mips since it's not functional and leads
25753 to compilation failure.
25754
25755 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
25756 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
25757 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
25758 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
25759 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
25760 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
25761 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
25762 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
25763 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
25764 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
25765 Reported by: BVK Chaitanya
25766
fc8345da
JU
257672010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
25768
25769 * INSTALL: Add gettext as a dependency and add qemu to a new section
25770 "Prerequisites for make-check".
25771
4760f979
CF
257722010-03-04 Christian Franke <franke@computer.org>
25773
25774 * util/grub-pe2elf.c: Add missing include "progname.h".
25775
f209b5b2
VS
257762010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25777
25778 * normal/crypto.c (read_crypto_list): Fix a typo.
25779 Reported by: Seth Goldberg.
25780
b4b7be98
VS
257812010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25782
25783 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 25784 Reported by: Seth Goldberg.
b4b7be98 25785
c0ee0385
VS
257862010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25787
25788 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
25789 ascii.bitmaps.
25790
a8efbf64
VS
257912010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25792
25793 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 25794 Reported by: Seth Goldberg.
a8efbf64 25795
08dcd913
VS
257962010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25797
25798 * util/i386/efi/grub-install.in: Copy gettext files.
25799
c4d0b332
VS
258002010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25801
25802 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
25803
c6f2fe52
VS
258042010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25805
25806 Wait for user entry basing on presence of output rather than on errors.
25807
25808 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
25809 (grub_install_newline_hook): Likewise.
25810 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
25811 * normal/menu.c (show_menu): Check line_counter to determine presence
25812 of output.
25813 * normal/term.c (grub_normal_line_counter): New variable.
25814 (grub_normal_get_line_counter): New function.
25815 (grub_install_newline_hook): Likewise.
25816
5382b1e4
VS
258172010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25818
25819 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
25820
5519963b
VS
258212010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25822
25823 * configure.ac: Update version to 1.98.
25824
72b28631
VS
258252010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
25826
25827 * util/grub.d/10_linux.in (linux_entry): Don't default to
25828 gfxpayload=keep if Linux doesn't support video handover.
25829
c140a180
VS
258302010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
25831
25832 Don't compile video modules on yeeloong since video subsystem is part
25833 of kernel.
25834
25835 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
25836 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
25837 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
25838 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
25839 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
25840 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
25841 * include/grub/bitmap_scale.h: Likewise.
25842 * include/grub/bufio.h: Likewise.
25843 * include/grub/font.h: Likewise.
25844 * include/grub/gfxterm.h: Likewise.
25845 * include/grub/video.h: Likewise.
25846 * include/grub/vbe.h: Don't include video_fb.h.
25847 * video/i386/pc/vbe.c: Include video_fb.h.
25848 * commands/i386/pc/vbetest.c: Include video.h.
25849
a0ca21c2
CW
258502010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
25851
25852 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
25853 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
25854 default entry if GRUB_SAVEDEFAULT=true. This allows using
25855 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
25856 saving a new default on every boot.
25857
4a8a763c
VS
258582010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
25859
25860 * normal/crypto.c (read_crypto_list): Fix a memory leak.
25861 * normal/term.c (read_terminal_list): Likewise.
25862 * normal/main.c (grub_normal_init_page): Likewise.
25863 (grub_normal_read_line_real): Likewise.
25864
607ffde2
VS
258652010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
25866
25867 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
25868 memory leak.
25869 Reported by: Seth Goldberg.
25870
2b8fa975
CW
258712010-02-24 Joey Korkames <joey+lists@kidfixit.com>
25872
25873 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
25874 duplicate declaration of `start'.
25875
618307dd
VS
258762010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
25877
25878 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
25879 filename.
25880 Reported by: Georgy Buranov
25881
7dd05b96 258822010-02-20 Carles Pina i Estany <carles@pina.cat>
25883
25884 * util/grub-mkrawimage.c (usage): Change string formatting to
25885 improve gettext.
25886
d1484a42
MRA
258872010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
25888
25889 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
25890 backspace keys.
25891
42b1d186
VS
258922010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
25893
25894 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
25895 Reported by: Michael Suchanek.
25896
258972010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
25898
25899 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
25900 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
25901
d9f31a41
VS
259022010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
25903
25904 Remove any reference to non-free fonts.
25905
25906 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
25907 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
25908 uses non-free components.
25909 * font/font.c (grub_font_get_name): Remove example name.
25910 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
25911 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
25912 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
25913 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
25914
2793c71e
GB
259152010-02-16 Georgy Buranov <gburanov@gmail.com>
25916
25917 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
25918
402e3779
VS
259192010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
25920
25921 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
25922 Double divisor.
25923 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
25924 features.
25925 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
25926
0dd1e0dd
VS
259272010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
25928
25929 * gensymlist.sh.in: Use TARGET_CC instead of CC.
25930
6fa7cfce
ST
259312010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25932
25933 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
25934 * docs/grub.texi (Command-line and menu entry commands): Document play
25935 command.
25936
37c8483b
ST
259372010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25938
25939 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
25940 parse arguments as inline tempo and notes. Move code for playing notes
25941 to...
25942 (play): ... new function.
25943
14da0fb7
ST
259442010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25945
25946 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
25947 grub_uint16_t instead of short.
25948 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
25949 disk from little endian to cpu endianness.
25950
04459e70
ST
259512010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
25952
25953 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
25954 GRUB_TICKS_PER_SECOND instead of 120.
25955
a0876943
VS
259562010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25957
25958 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
25959 escape sequence after \e.
25960
e29f95dc
VS
259612010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25962
25963 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
25964 non-ASCII characters.
25965
d27859b2
VS
259662010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25967
25968 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
25969 set root in single quotes to prevent \, from being unescaped.
25970
bc028f2f
VS
259712010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25972
25973 Prevent unknown commands from stopping menuentry execution.
25974
25975 * script/execute.c (grub_script_execute_cmdline): Print error after
25976 unknown command.
25977
095f5f82
VS
259782010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25979
25980 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
25981 Reported by: Pavel Pisa.
25982
8c717950
VS
259832010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25984
25985 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
25986
904935c3
VS
259872010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25988
25989 Merge grub_ieee1275_map_physical into grub_map and rename to
25990 grub_ieee1275_map
25991
25992 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
25993 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
25994 Remove.
25995 * kern/ieee1275/openfw.c (grub_map): Rename to ...
25996 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
25997 necessary.
25998 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
25999
5b59a4e3
VS
260002010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26001
26002 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
26003 opening and not after.
26004
69e137e8
VS
260052010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26006
26007 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
26008 constants.
26009
2c0fcc36
VS
260102010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26011
26012 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
26013 (alloc_phys): Use ALIGN_UP instead of align_addr.
26014
8c6052ce
VS
260152010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26016
26017 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
26018
17cec782
VS
260192010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26020
26021 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
26022
e0128bbd
VS
260232010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26024
26025 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
26026 verbose dprintf.
26027
ca62070b
VS
260282010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26029
26030 Fix over-4GiB seek on sparc64.
26031
26032 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
26033 Replace pos_i and pos_lo with pos. All users updated.
26034 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
26035 New constant.
26036 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
26037 Likewise.
26038 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
26039 and pos_lo.
26040
bdca2607
VS
260412010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26042
26043 * util/grub-mkrawimage.c (main): Call set_program_name.
26044
da278c4d
VS
260452010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26046
26047 Properly align 64-bit targets.
26048
26049 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
26050 (generate_image): Use ALIGN_ADDR.
26051
b274d734
VS
260522010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26053
26054 Properly create cross-endian images.
26055
26056 * include/grub/types.h (grub_host_to_target_addr): New macro
26057 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
26058
82da2062
VS
260592010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26060
26061 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
26062
7cae4377
VS
260632010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26064
26065 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
26066
26067 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
26068 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
26069 (grub_linux_boot): Divide by 64K when on VESA.
26070
65a533e7
VS
260712010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26072
26073 Support GRUB_GFXPAYLOAD_LINUX.
26074
26075 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
26076 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
26077
dd01d397
VS
260782010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26079
26080 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
26081 to show messages instead of discarding them.
26082 Process errors after executing command and not before. Keep old method
26083 too as precaution.
26084
660960d6
VS
260852010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
26086
26087 * configure.ac: Check for ft2build.h.
26088
62509f04
VS
260892010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26090
26091 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
26092
473df63d
VS
260932010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26094
26095 * genkernsyms.sh.in: Use TARGET_CC.
26096
c98d2a13
CW
260972010-02-07 Colin Watson <cjwatson@ubuntu.com>
26098
26099 * NEWS: Update.
26100
6e14234c
VS
261012010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26102
26103 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
26104 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
26105 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 26106
b255e9cf
YB
261072010-02-07 Yves Blusseau <blusseau@zetam.org>
26108
6e14234c 26109 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 26110
98e6959d
VS
261112010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26112
26113 Fix warnings in grub-emu when compiling with maximum warning options.
26114
26115 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
26116 (grub_arch_modules_addr): Return 0 and not NULL.
26117 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 26118 (xstrdup): Use newstr instead of dup.
f88d801b
VS
26119 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
26120 of disk to dsk to avoid shadowing.
74e4934e
VS
26121 (find_free_slot): Fix prototype.
26122 * util/getroot.c (grub_util_is_dmraid): Make static.
26123 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
26124 Add missing prototype.
26125 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 26126
74e31b5c
VS
261272010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26128
26129 * loader/i386/linux.c (grub_linux_setup_video): Handle error
26130 appropriately.
26131
6b2ad14b
VS
261322010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26133
26134 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
26135 code out.
26136
8f891adc
VS
261372010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26138
26139 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
26140 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
26141 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
26142 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
26143 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
26144 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
26145
74b45184
VS
261462010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26147
26148 * include/grub/err.h (grub_err_printf): Don't export.
26149
a4bced77
VS
261502010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26151
26152 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
26153
007d0695
VS
261542010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26155
26156 * include/grub/i18n.h (grub_gettext_dummy): Removed.
26157 * kern/misc.c (grub_gettext_dummy): Make static.
26158
b6c0d9c2
VS
261592010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26160
26161 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
26162 by non-valid ones.
26163 * kern/term.c (grub_putchar): Likewise.
26164
f51a90d0
VS
261652010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26166
26167 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
26168 buggy hook call and memory leak.
26169
6846cec5
VS
261702010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26171
26172 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
26173
468d69fe
VS
261742010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26175
26176 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
26177
51906b8c
VS
261782010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26179
26180 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
26181 modevar.
26182 Return grub_errno on allocation error.
26183
09706ce5
VS
261842010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26185
26186 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
26187
911df80c
YB
261882010-02-06 Yves Blusseau <blusseau@zetam.org>
26189
26190 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
26191 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
26192
3746a6bc
VS
261932010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26194
26195 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
26196 non-pxe disk.
26197 (grub_pxefs_open): Likewise.
26198
09706ce5
VS
261992010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26200
26201 * util/grub.d/10_hurd.in: Add --class information to menuentries.
26202 * util/grub.d/10_kfreebsd.in: Likewise.
26203 * util/grub.d/10_linux.in: Likewise.
26204
7cc192d9
VS
262052010-02-06 Colin D Bennett <colin@gibibit.com>
26206
26207 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
26208 (gfxmenu_mod_SOURCES): New variable.
26209 (gfxmenu_mod_CFLAGS): Likewise.
26210 (gfxmenu_mod_LDFLAGS): Likewise.
26211 * include/grub/term.h (grub_term_set_current_output): Declare
26212 argument as const.
26213 * docs/gfxmenu-theme-example.txt: New file.
26214 * gfxmenu/gfxmenu.c: Likewise.
26215 * gfxmenu/gui_box.c: Likewise.
26216 * gfxmenu/gui_canvas.c: Likewise.
26217 * gfxmenu/gui_circular_progress.c: Likewise.
26218 * gfxmenu/gui_image.c: Likewise.
26219 * gfxmenu/gui_label.c: Likewise.
26220 * gfxmenu/gui_list.c: Likewise.
26221 * gfxmenu/gui_progress_bar.c: Likewise.
26222 * gfxmenu/gui_string_util.c: Likewise.
26223 * gfxmenu/gui_util.c: Likewise.
26224 * gfxmenu/icon_manager.c: Likewise.
26225 * gfxmenu/model.c: Likewise.
26226 * gfxmenu/named_colors.c: Likewise.
26227 * gfxmenu/theme_loader.c: Likewise.
26228 * gfxmenu/view.c: Likewise.
26229 * gfxmenu/widget-box.c: Likewise.
26230 * include/grub/gfxmenu_model.h: Likewise.
26231 * include/grub/gfxmenu_view.h: Likewise.
26232 * include/grub/gfxwidgets.h: Likewise.
26233 * include/grub/gui.h: Likewise.
26234 * include/grub/gui_string_util.h: Likewise.
26235 * include/grub/icon_manager.h: Likewise.
26236
262372010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26238
26239 Agglomerate scrolling in gfxterm.
26240
26241 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
26242 (grub_virtual_screen_setup): Initialise 'total_screen'.
26243 (write_char): Split to ...
26244 (paint_char): ... this ...
26245 (write_char): ... and this.
26246 (paint_char): Handle delayed scrolling.
26247 (draw_cursor): Likewise.
26248 (scroll_up): Split to ...
26249 (real_scroll): ... this ...
26250 (scroll_up): ... and this.
26251 (real_scroll): Handle multi-line scroll and draw below-the-bottom
26252 characters.
26253 (grub_gfxterm_refresh): Call real_scroll.
26254
262552010-02-06 Colin D Bennett <colin@gibibit.com>
26256
26257 * include/grub/misc.h (grub_iscntrl): New inline function.
26258 (grub_isalnum): Likewise.
26259 (grub_strtol): Likewise.
26260
262612010-02-06 Colin D Bennett <colin@gibibit.com>
26262
26263 * normal/menu_text.c (get_entry_number): Move from here ...
26264 * normal/menu.c (get_entry_number): ... moved here.
26265 * include/grub/menu.h (grub_menu_get_default_entry_index):
26266 New prototype.
26267 * normal/menu.c (grub_menu_get_default_entry_index): New function.
26268 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
26269 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
26270 (grub_menu_viewer_should_return): Likewise.
26271 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
26272 * normal/menu_text.c (run_menu): Enable menu switching.
26273 * normal/menu_viewer.c (should_return): New variable.
26274 (menu_viewer_changed): Likewise.
26275 (grub_menu_viewer_show_menu): Handle menu viewer changes.
26276 (grub_menu_viewer_should_return): New function.
26277 (menuviewer_write_hook): Likewise.
26278 (grub_menu_viewer_init): Likewise.
26279
262802010-02-06 Colin D Bennet <colin@gibibit.com>
262812010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26282
26283 Support for gfxterm in a window.
26284
26285 * include/grub/gfxterm.h: New file.
26286 * include/grub/video.h (struct grub_video_rect): New declaration.
26287 (grub_video_rect_t): Likewise.
26288 * term/gfxterm.c (struct grub_gfxterm_window): New type.
26289 (refcount): New variable.
26290 (render_target): Likewise.
26291 (window): Likewise.
26292 (repaint_callback): Likewise.
26293 (grub_virtual_screen_setup): Use 'render_target'.
26294 (init_window): New function.
26295 (grub_gfxterm_init_window): Likewise.
26296 (grub_gfxterm_init): Check reference counter.
26297 Use init_window.
26298 (destroy_window): New function.
26299 (grub_gfxterm_destroy_window): Likewise.
26300 (grub_gfxterm_fini): Check reference counter.
26301 Use destroy_window.
26302 (redraw_screen_rect): Restore viewport.
26303 Use 'render_target' and 'window'.
26304 Call 'repaint_callback'.
26305 (write_char): Use 'render_target'.
26306 (draw_cursor): Likewise.
26307 (scroll_up): Restore viewport.
26308 Use 'render_target' and 'window'.
26309 Call 'repaint_callback'.
26310 (grub_gfxterm_cls): Likewise.
26311 (grub_gfxterm_refresh): Use 'window'.
26312 (grub_gfxterm_set_repaint_callback): New function.
26313 (grub_gfxterm_background_image_cmd): Use 'window'.
26314 (grub_gfxterm_get_term): New function.
26315 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
26316
263172010-02-06 Colin D Bennett <colin@gibibit.com>
26318
26319 Bitmap scaling support.
26320
26321 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
26322 (bitmap_scale_mod_SOURCES): New variable.
26323 (bitmap_scale_mod_CFLAGS): Likewise.
26324 (bitmap_scale_mod_LDFLAGS): Likewise.
26325 * include/grub/bitmap_scale.h: New file.
26326 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
26327 (background_image_cmd_options): New variable.
26328 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
26329 (cmd): Rename and change type to ...
26330 (background_image_cmd_handle): ... this. All users updated.
26331 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
26332 * video/bitmap_scale.c: New file.
26333
263342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26335
26336 SDL support.
26337
26338 * Makefile.in (LIBSDL): New variable.
26339 (enable_grub_emu_sdl): Likewise.
26340 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
26341 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
26342 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
26343 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
26344 * util/sdl.c: New file.
26345
263462010-02-06 Colin D Bennett <colin@gibibit.com>
263472010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26348
26349 Double buffering support.
26350
26351 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
26352 * include/grub/video.h: Update comment.
26353 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
26354 New type.
26355 (grub_video_fb_doublebuf_blit_init): New prototype.
26356 * term/gfxterm.c (scroll_up): Support double buffering.
26357 (grub_gfxterm_refresh): Likewise.
26358 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
26359 (grub_video_fb_doublebuf_blit_init): Likewise.
26360 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
26361 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
26362 'displayed_page', 'render_page' and 'update_screen'.
26363 (grub_video_vbe_fini): Free offscreen buffer.
26364 (doublebuf_pageflipping_commit): New function.
26365 (doublebuf_pageflipping_update_screen): Likewise.
26366 (doublebuf_pageflipping_init): Likewise.
26367 (double_buffering_init): Likewise.
26368 (grub_video_vbe_setup): Enable doublebuffering.
26369 (grub_video_vbe_swap_buffers): Implement.
26370 (grub_video_vbe_set_active_render_target): Handle double buffering.
26371 (grub_video_vbe_get_active_render_target): Likewise.
26372 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
26373 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
26374 (grub_video_vbe_enable_double_buffering): Likewise.
26375 (grub_video_vbe_swap_buffers): Use update_screen.
26376 (grub_video_set_mode): Use double buffering.
26377
263782010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26379
26380 * maintainance/gentrigtables.py: Remove.
26381 * lib/trig.c: Likewise.
26382
26383 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
26384
26385 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
26386 `trigtables.c'.
26387 (trigtables.c): New rule.
26388 (gentrigtables): Likewise.
26389 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
26390
263912010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26392
26393 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
26394 integer constants.
26395
263962010-02-06 Colin D Bennet <colin@gibibit.com>
26397
26398 Trigonometry support.
26399
26400 * include/grub/trig.h: New file.
26401 * lib/trig.c: Likewise.
26402 * maintainance/gentrigtables.py: Likewise.
26403 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
26404 (trig_mod_SOURCES): New variable.
26405 (trig_mod_CFLAGS): Likewise.
26406 (trig_mod_LDFLAGS): Likewise.
26407
5562834e
VS
264082010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26409
26410 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
26411 disk devices.
26412
4f8528fc
VS
264132010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26414
26415 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
26416 error.
26417
2b4068e9
VS
264182010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
26419
26420 * util/hostdisk.c (open_device): Don't use partition device when reading
26421 before the partition.
26422 (grub_util_biosdisk_read): Don't read from partition and before the
26423 partition in single operation.
26424 (grub_util_biosdisk_write): Don't write to partition and before the
26425 partition in single operation.
26426
399f6e4d
TL
264272010-02-03 Torsten Landschoff <torsten@debian.org>
26428
26429 * kern/disk.c (grub_disk_read): Fix offset computation when reading
26430 last sectors.
26431
996649b0
VS
264322010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
26433
26434 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
26435 CDROM reads.
26436 (grub_biosdisk_write): Refuse to write to CDROM.
26437
3b205d4d
VS
264382010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
26439
26440 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
26441
61e89d9d
VS
264422010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
26443
26444 * font/font.c (find_glyph): Check that bmp_idx is available before
26445 using it.
26446 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
26447 with (font == NULL).
26448
bf7fcba2
CS
264492010-01-28 Christian Schmitt <chris@ilovelinux.de>
26450
26451 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
26452
f45d2663
BC
264532010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
26454
26455 * include/grub/script_sh.h (sourcecode): Add const qualifier.
26456 * util/grub-script-check.c (getline): Fix empty lines case.
26457
ec1444e6
RM
264582010-01-28 Robert Millan <rmh.grub@aybabtu.com>
26459
26460 * Makefile.in (check): Exit with fail status when one of the tests
26461 fails.
26462 * tests/example_functional_test.c (example_test): Fix reversed assert.
26463 * tests/example_unit_test.c (example_test): Likewise.
26464
2e1cb9bb
CW
264652010-01-28 Colin Watson <cjwatson@ubuntu.com>
26466
26467 * util/grub.d/10_linux.in: This script does not use any of the
26468 contents of gettext.sh, only the external command `gettext', so stop
26469 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
26470 the same prefix as GRUB.)
26471 * util/grub.d/10_kfreebsd.in: Likewise.
26472
63533ab0
VS
264732010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26474
26475 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
26476 of the line.
26477
989e1f93
VS
264782010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26479
26480 * kern/disk.c (grub_disk_read): Fix offset computation when reading
26481 last sectors.
26482
e709ebe2
VS
264832010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26484
26485 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
26486 having a 4KiB and not 32KiB buffer size.
26487
27dea7ed
RM
264882010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26489
26490 * util/hostfs.c: Include `<errno.h>'.
26491 (grub_hostfs_read): Handle errors from fseeko() and fread().
26492
67667b9c
RM
264932010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26494
26495 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
26496 loop when using read hooks on files whose size isn't sector-aligned.
26497
c294d9d8
RM
264982010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26499
26500 Remove unused parameter.
26501
26502 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
26503 (grub_iso9660_open): Remove initialization of `data->length'.
26504
af75a9f1
RM
265052010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26506
26507 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
26508 memleak conditions.
26509
254e2ce5 265102010-01-27 Carles Pina i Estany <carles@pina.cat>
26511
26512 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
26513 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
26514
b510928c 265152010-01-26 Carles Pina i Estany <carles@pina.cat>
26516
26517 * util/bin2h.c (usage): Fix warning (space after backslash).
26518
aa2f9dd2 265192010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 26520
26521 * font/font.c: Include `grub/fontformat.h.
26522 Remove font file format constants.
26523 (grub_font_load): Use the new macros.
26524 * include/grub/fontformat.h: New file.
26525 * util/grub-mkfont.c: Include `grub/fontformat.c'.
26526 (write_font_pf2): Use the new macros.
26527
94e7e712
RM
265282010-01-26 Robert Millan <rmh.grub@aybabtu.com>
26529
26530 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
26531 does.
26532
3973a59a
RM
265332010-01-26 Robert Millan <rmh.grub@aybabtu.com>
26534
26535 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
26536
26537 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
26538 (_start): Macroify `0x7F'.
26539
26540 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
26541 (make_install_device): Use "(pxe)" as fallback prefix when booting
26542 via PXE.
26543
42e0cba3
GS
265442010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
26545
26546 * configure.ac: Reset LIBS after check for libgcc symbols.
26547
847effd8
CW
265482010-01-25 Colin Watson <cjwatson@ubuntu.com>
26549
26550 * util/hostdisk.c (open_device): Add trailing newline to debug
26551 message.
26552
ea4a7e35
GS
265532010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
26554
26555 * configure.ac: Check for `limits.h'.
26556 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
26557
67951a53
RM
265582010-01-24 Robert Millan <rmh.grub@aybabtu.com>
26559
26560 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
26561 capitalize error strings.
26562
c273d4ce
ST
265632010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
26564
26565 * util/grub.d/10_hurd.in: Add a recovery mode.
26566
69be5b74
VS
265672010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
26568
26569 * configure.ac: Check for libgcc symbols with -nostdlib.
26570
fc9e5810
BC
265712010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
26572
26573 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
26574
4b358c0a
VS
265752010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26576
26577 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
26578 stack since heap may be unavailable at that point.
26579 (grub_ofconsole_gotoxy): Likewise.
26580
454fcd1c
VS
265812010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26582
26583 * configure.ac: Check for _restgpr_14_x.
26584 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
26585 and _savegpr_* prototypes.
26586
566863ca
RM
265872010-01-22 Robert Millan <rmh.grub@aybabtu.com>
26588
26589 Use generic grub_reboot() for i386-efi.
26590
26591 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
26592 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
26593 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
26594
bf86e59a
VS
265952010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26596
26597 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
26598 presence of "prefix" variable as it breaks when normal.mod is
26599 embedded.
26600
d645e0f8
VS
266012010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26602
26603 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
26604 stack since heap is unavailable at that point.
26605
f9ab2e25
VS
266062010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26607
26608 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
26609 (grub_freebsd_bootinfo): Rewritten.
26610 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
26611
01fc7054
VS
266122010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26613
26614 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
26615
caab4fd6
RM
266162010-01-21 Robert Millan <rmh.grub@aybabtu.com>
26617
26618 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
26619 domain now.
26620
67eb1427
FZ
266212010-01-20 Felix Zielcke <fzielcke@z-51.de>
26622
26623 * util/misc.c (make_system_path_relative_to_its_root): Change the work
26624 around for handling "/" to the correct fix. Fix a memory leak. Use
26625 xstrdup instead of strdup.
26626
a9ed4ff3
VS
266272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26628
26629 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
26630
266312010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
26632
26633 Optimise glyph lookup by Basic Multilingual Plane lookup array.
26634
26635 * font/font.c (struct grub_font): New member 'bmp_idx'.
26636 (font_init): Initialise 'bmp_idx'.
26637 (load_font_index): Fill 'bmp_idx'.
26638 (find_glyph): Make inline. Use bmp_idx for BMP characters.
26639
48209f4f
VS
266402010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26641
26642 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
26643 unnecessary calls.
26644
9f0a4bb7
VS
266452010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26646
26647 Move context handling out of the kernel.
26648
26649 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
26650 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
26651 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
26652 * conf/i386-efi.rmk: Likewise.
26653 * conf/i386-ieee1275.rmk: Likewise.
26654 * conf/i386-pc.rmk: Likewise.
26655 * conf/powerpc-ieee1275.rmk: Likewise.
26656 * conf/sparc64-ieee1275.rmk: Likewise.
26657 * conf/x86_64-efi.rmk: Likewise.
26658 * include/grub/env.h: Include grub/menu.h.
26659 (grub_env_var_type): Removed.
26660 (grub_env_var): Replaced field 'type' with 'global'.
26661 (grub_env_find): New prototype.
26662 (grub_env_context_open): Remove EXPORT_FUNC.
26663 (grub_env_context_close): Likewise.
26664 (grub_env_export): Likewise.
26665 (grub_env_set_data_slot): Removed.
26666 (grub_env_get_data_slot): Likewise.
26667 (grub_env_unset_data_slot): Likewise.
26668 (grub_env_unset_menu): New prototype.
26669 (grub_env_set_menu): Likewise.
26670 (grub_env_get_menu): Likewise.
26671 * include/grub/env_private.h: New file.
26672 * include/grub/normal.h (grub_context_init): New prototype.
26673 (grub_context_fini): Likewise.
26674 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
26675 * normal/context.c (grub_cmd_export): ... to here.
26676 * kern/env.c: Include env_private.h.
26677 (HASHSZ): Moved to include/grub/env_private.h.
26678 (grub_env_context): Likewise.
26679 (grub_env_sorted_var): Likewise.
26680 (current_context): Renamed from this ...
26681 (grub_current_context): ...to this. 'static' removed. All users updated.
26682 (grub_env_find): Removed 'static'.
26683 (grub_env_context_open): Moved to normal/context.c.
26684 (grub_env_context_close): Likewise.
26685 (grub_env_export): Likewise.
26686 (mangle_data_slot_name): Removed.
26687 (grub_env_set_data_slot): Likewise.
26688 (grub_env_get_data_slot): Likewise.
26689 (grub_env_unset_data_slot): Likewise.
26690 * kern/main.c (grub_set_root_dev): Don't export root.
26691 It will be done later.
26692 (grub_main): Don't export prefix.
26693 It will be done later.
26694 * normal/context.c: New file.
26695 * normal/main.c (free_menu): Use grub_env_unset_menu.
26696 (grub_normal_add_menu_entry): Use grub_env_get_menu.
26697 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
26698 (GRUB_MOD_INIT(normal)): Call grub_context_init.
26699 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
26700
8dd35b8c
VS
267012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26702
26703 setpci support.
26704
26705 * commands/setpci.c: New file.
26706 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
26707 (setpci_mod_SOURCES): New variable.
26708 (setpci_mod_CFLAGS): Likewise.
26709 (setpci_mod_LDFLAGS): Likewise.
26710
449193d5
VS
267112010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26712
26713 Byte-addressable PCI configuration space.
26714
26715 * bus/pci.c (grub_pci_make_address): Use byte address instead of
26716 dword address.
26717 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
26718 GRUB_PCI_REG_CACHELINE.
26719 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
26720 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
26721 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
26722 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
26723 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
26724 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
26725 grub_pci_make_address.
26726 (lock_rom_area): Likewise.
26727 * commands/lspci.c (grub_lspci_iter): Use macroses
26728 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
26729 of grub_pci_make_address.
26730 * disk/ata.c (grub_ata_pciinit): Likewise.
26731 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
26732 (GRUB_PCI_REG_VENDOR): Likewise.
26733 (GRUB_PCI_REG_DEVICE): Likewise.
26734 (GRUB_PCI_REG_COMMAND): Likewise.
26735 (GRUB_PCI_REG_STATUS): Likewise.
26736 (GRUB_PCI_REG_REVISION): Likewise.
26737 (GRUB_PCI_REG_CLASS): Likewise.
26738 (GRUB_PCI_REG_CACHELINE): Likewise.
26739 (GRUB_PCI_REG_LAT_TIMER): Likewise.
26740 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
26741 (GRUB_PCI_REG_BIST): Likewise.
26742 (GRUB_PCI_REG_ADDRESSES): Likewise.
26743 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26744 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26745 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26746 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26747 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26748 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26749 (GRUB_PCI_REG_CIS_POINTER): Likewise.
26750 (GRUB_PCI_REG_SUBVENDOR): Likewise.
26751 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
26752 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
26753 (GRUB_PCI_REG_CAP_POINTER): Likewise.
26754 (GRUB_PCI_REG_IRQ_LINE): Likewise.
26755 (GRUB_PCI_REG_IRQ_PIN): Likewise.
26756 (GRUB_PCI_REG_MIN_GNT): Likewise.
26757 (GRUB_PCI_REG_MAX_LAT): Likewise.
26758 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
26759 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
26760 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 26761 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
26762 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
26763 space.
26764
96d73208
RM
267652010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26766
26767 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
26768 can be reliably determined to be supported.
26769
d4484482
RM
267702010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26771
26772 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
26773 that VESA is supported.
26774 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
26775 supported.
26776
00308ecf
VS
267772010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26778
26779 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
26780
f66924a4
RM
267812010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26782
26783 * util/misc.c (make_system_path_relative_to_its_root): Work around
26784 special-casing of "/", as previous incarnation of this routine did.
26785
cbca0ada
VS
267862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26787
26788 Fix any-emu compilation.
26789
26790 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
26791 * grub_bin2h_SOURCES: New variable.
26792
34a66d99
RM
267932010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26794
26795 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
26796
94fabf58
RM
267972010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26798
26799 * util/grub.d/00_header.in: Fix handling of locale_dir.
26800
02cf98ca
VS
268012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26802
26803 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
26804 as possible unifont location (Gentoo).
26805 Reported by: Alexander Brüning
26806
327dbcd7
VS
268072010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26808
26809 Don't try to generate lists for kernel.img.
26810
26811 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
26812 (pkglib_MODULES): Remove kernel.img.
26813 (kernel_img_EXPORTS): Removed.
26814 (kernel_img_RELOCATABLE): New variable.
26815 * conf/x86_64-efi.rmk: Likewise.
26816 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
26817
ca467290
VS
268182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26819
26820 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
26821 grub_xasprintf or grub_snprintf.
26822 (grub_vsprintf): Likewise.
26823 (grub_snprintf): New proto.
26824 (grub_vsnprintf): Likewise.
26825 (grub_xasprintf): Likewise.
26826 (grub_xvasprintf): Likewise.
26827 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
26828 (grub_sprintf): Removed.
26829 (grub_vsnprintf): New function.
26830 (grub_snprintf): Likewise.
26831 (grub_xvasprintf): Likewise.
26832 (grub_xasprintf): Likewise.
26833 (grub_vsprintf): Renamed to ...
26834 (grub_vsnprintf_real): ...this. New argument max_len.
26835
aca655fd
BC
268362010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
26837
26838 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
26839 fix grub-script-check warning.
26840
7ee92c32
VS
268412010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26842
26843 * include/grub/font.h (grub_font_load): Fix prototype.
26844
f80927ca
VS
268452010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26846
26847 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
26848
119c50ea
VS
268492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26850
26851 * include/grub/x86_64/at_keyboard.h: New file.
26852
47d5f3c1
VS
268532010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26854
26855 * loader/mips/linux.c: Include missing grub/i18n.h.
26856
55ff5266
RM
268572009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26858
26859 * normal/menu.c (notify_execution_failure): Clarify error message.
26860
c893cc87
RM
268612009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26862
26863 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
26864 return value (and revert all return statements). Update users.
26865
917dd370
CW
268662010-01-20 Dan Merillat <debian@dan.merillat.org>
26867
26868 * kern/device.c (grub_device_iterate): Allocate new part_ent
26869 structure based on sizeof (*p) rather than sizeof (p->next), to
26870 account for structure padding.
26871
26872 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
26873 disk is NULL, which might happen for LVM physical volumes with no
26874 LVM signature.
26875
d4a4ee57
RM
268762009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26877
26878 * loader/mips/linux.c (grub_cmd_initrd)
26879 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
26880
268812009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26882
26883 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
26884 (grub_video_video_init, grub_video_bitmap_init)
26885 (grub_font_manager_init, grub_term_gfxterm_init)
26886 (grub_at_keyboard_init): New extern declarations.
26887 (grub_machine_init): Initialize gfxterm and at_keyboard.
26888
26889 * kern/main.c (grub_main): Revert grub_printf delay kludge.
26890
26891 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
26892 `gfxterm.mod' into core image.
26893
26894 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
26895 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26896 (kernel_img_FORMAT): Copy to ...
26897
26898 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
26899 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26900 (kernel_img_FORMAT): ... here, and ...
26901
26902 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
26903 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26904 (kernel_img_FORMAT): ... here.
26905
26906 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
26907 and input (at_keyboard) terminals in kernel.
26908 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
26909
26910 (pkglib_MODULES): Remove `pci.mod'.
26911 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
26912 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
26913 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
26914 (at_keyboard_mod_LDFLAGS): Remove variables.
26915
269162010-01-11 Felix Zielcke <fzielcke@z-51.de>
26917
26918 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
26919
269202009-12-10 Robert Millan <rmh.grub@aybabtu.com>
26921
26922 * include/grub/mips/libgcc.h: Only export symbols for functions
26923 that libgcc provides.
26924
269252009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
26926
26927 MIPS support.
26928
26929 * bus/bonito.c: New file.
26930 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
26931 GRUB_PCI_NUM_DEVICES.
26932 * term/i386/pc/serial.c: Move to ...
26933 * term/serial.c: ... here. All users updated.
26934 * util/i386/pc/grub-mkimage.c: Move to ...
26935 * util/grub-mkrawimage.c: ... here. All users updated.
26936 * term/i386/pc/at_keyboard.c: Move to ...
26937 * term/at_keyboard.c: ... here. All users updated.
26938 * conf/mips-qemu-mips.rmk: New file.
26939 * conf/mips-yeeloong.rmk: Likewise.
26940 * conf/mips.rmk: Likewise.
26941 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
26942 mipsel-qemu-mips.
26943 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
26944 to port addresses.
26945 (grub_ata_pciinit): Support CS5536.
26946 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
26947 * font/font_cmd.c (loadfont_command): Open file before passing it to
26948 grub_font_load.
26949 (pseudo_file_read): New function.
26950 (pseudo_file_close): Likewise.
26951 (pseudo_fs): New structure.
26952 (load_font_module): New function.
26953 (GRUB_MOD_INIT(font_manager)): Load embedded font.
26954 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
26955 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
26956 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
26957 * include/grub/i386/at_keyboard.h: Split into ...
26958 * include/grub/at_keyboard.h: ... this ...
26959 * include/grub/i386/at_keyboard.h: ... and this.
26960 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
26961 New prototype.
26962 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
26963 updated.
26964 (grub_elf64_size): Likewise.
26965 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
26966 filename.
26967 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
26968 * include/grub/i386/coreboot/serial.h: Rewritten.
26969 * include/grub/i386/ieee1275/serial.h: Include
26970 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
26971 * include/grub/i386/pc/serial.h: Moved from here ...
26972 * include/grub/serial.h: ... to here. All users updated.
26973 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
26974 (GRUB_PCI_NUM_BUS): Likewise.
26975 (GRUB_PCI_NUM_DEVICES): Likewise.
26976 (grub_pci_device_map_range): Add missing volatile keyword.
26977 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
26978 * include/grub/mips/at_keyboard.h: New file.
26979 * include/grub/mips/cache.h: Likewise.
26980 * include/grub/mips/io.h: Likewise.
26981 * include/grub/mips/kernel.h: Likewise.
26982 * include/grub/mips/libgcc.h: Likewise.
26983 * include/grub/mips/pci.h: Likewise.
26984 * include/grub/mips/qemu-mips/boot.h: Likewise.
26985 * include/grub/mips/qemu-mips/kernel.h: Likewise.
26986 * include/grub/mips/qemu-mips/loader.h: Likewise.
26987 * include/grub/mips/qemu-mips/memory.h: Likewise.
26988 * include/grub/mips/qemu-mips/serial.h: Likewise.
26989 * include/grub/mips/qemu-mips/time.h: Likewise.
26990 * include/grub/mips/relocator.h: Likewise.
26991 * include/grub/mips/time.h: Likewise.
26992 * include/grub/mips/types.h: Likewise.
26993 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
26994 * include/grub/mips/yeeloong/boot.h: Likewise.
26995 * include/grub/mips/yeeloong/kernel.h: Likewise.
26996 * include/grub/mips/yeeloong/loader.h: Likewise.
26997 * include/grub/mips/yeeloong/memory.h: Likewise.
26998 * include/grub/mips/yeeloong/pci.h: Likewise.
26999 * include/grub/mips/yeeloong/serial.h: Likewise.
27000 * include/grub/mips/yeeloong/time.h: Likewise.
27001 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
27002 * kern/elf.c (grub_elf32_size): New parameter. All users
27003 updated.
27004 (grub_elf64_size): Likewise.
27005 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
27006 Load modules before saying "Welcome to GRUB!".
27007 Call grub_refresh after saying "Welcome to GRUB!".
27008 * kern/mips/cache.S: New file.
27009 * kern/mips/cache_flush.S: Likewise.
27010 * kern/mips/dl.c: Likewise.
27011 * kern/mips/init.c: Likewise.
27012 * kern/mips/qemu-mips/init.c: Likewise.
27013 * kern/mips/startup.S: Likewise.
27014 * kern/mips/yeeloong/init.c: Likewise.
27015 * kern/term.c (grub_putcode): Handle NULL terminal.
27016 (grub_getcharwidth): Likewise.
27017 (grub_getkey): Likewise.
27018 (grub_checkkey): Likewise.
27019 (grub_getkeystatus): Likewise.
27020 (grub_getxy): Likewise.
27021 (grub_getwh): Likewise.
27022 (grub_gotoxy): Likewise.
27023 (grub_cls): Likewise.
27024 (grub_setcolorstate): Likewise.
27025 (grub_setcolor): Likewise.
27026 (grub_getcolor): Likewise.
27027 (grub_refresh): Likewise.
27028 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
27029 (write_jump): Add hatch nop.
27030 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
27031 * lib/mips/setjmp.S: New file.
27032 * loader/mips/linux.c: Likewise.
27033 * term/i386/pc/at_keyboard.c: Move from here ...
27034 * term/at_keyboard.c: ... to here.
27035 * term/i386/pc/serial.c: Moved from here ...
27036 * term/serial.c: ... to here. All users updated.
27037 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
27038 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
27039 (serial_translate_key_sequence): Avoid deadlock.
27040 (grub_serial_getkey): Handle backspace.
27041 (grub_serial_putchar): Fix newline handling.
27042 * util/i386/pc/grub-mkimage.c: Move from here ...
27043 * util/grub-mkrawimage.c: ... to here. All users updated.
27044 (generate_image): New parameters 'font_path' and 'format'.
27045 Support embedding font.
27046 Use grub_host_to_target* instead of grub_cpu_to_le*.
27047 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
27048 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
27049 (options): New option "--font".
27050 (usage): Likewise.
27051 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
27052 (main): Handle "--font".
27053 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
27054 (grub_virtual_screen_setup): Set bg_color_display.
27055 (redraw_screen_rect): Use bg_color_display instead of incorrect
27056 bg_color.
27057 (grub_gfxterm_cls): Likewise.
27058 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
27059 Support embedding config file.
27060 (add_segments): Likewise.
27061 (options): New option "--config".
27062 (main): Handle "--config".
27063 * video/sm712.c: New file.
27064
25c2b5b3
RM
270652010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27066
27067 Fix parallel builds.
27068
27069 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
27070 font.c depend on ascii.h).
27071
270722010-01-12 Carles Pina i Estany <carles@pina.cat>
27073
27074 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
27075
270762010-01-11 Carles Pina i Estany <carles@pina.cat>
27077
27078 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
27079 By default: disabled.
27080 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
27081 parameter.
27082
270832010-01-10 Carles Pina i Estany <carles@pina.cat>
27084
27085 * font/font.c: Update copyright years.
27086 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
27087
270882010-01-10 Carles Pina i Estany <carles@pina.cat>
27089
27090 * font/font.c: Include `ascii.h'.
27091 (ASCII_BITMAP_SIZE): New macro.
27092 (ascii_font_glyph): Define.
27093 (ascii_glyph_lookup): New function.
27094 (grub_font_get_string_width): Change comment. If glyph not found, use
27095 ascii_glyph_lookup.
27096 (grub_font_get_glyph_with_fallback): If glyph not available returns
27097 ascii_glyph_lookup.
27098 * util/grub-mkfont.c (file_formats): New enum.
27099 (options): Add `ascii-bitmaps' new option.
27100 (usage): Add `asii-bitmaps' new option.
27101 (write_font_ascii_bitmap): New function.
27102 (write_font): Rename to ...
27103 (write_font_p2): ... this. Remove print_glyphs call.
27104 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
27105 used. Call print_glyphs.
27106 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
27107
271082010-01-14 Robert Millan <rmh.grub@aybabtu.com>
27109
27110 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
27111 (grub_bin2h_SOURCES): New variable.
27112 * util/bin2h.c: New file.
27113
915fc1b8
VS
271142010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27115
27116 * include/multiboot.h: Resynced with spec.
27117 * include/multiboot2.h: Likewise.
27118 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
27119 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
27120
9444b678
RM
271212010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27122
27123 * include/grub/term.h (grub_term_register_input,
27124 grub_term_register_output): Check return of terminal init()
27125 routines, and abort if errors are raised.
27126
27127 * commands/terminal.c: Update copyright year.
27128
cba98e8d
RM
271292010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27130
27131 * commands/terminal.c (grub_cmd_terminal_input)
27132 (grub_cmd_terminal_output): Check return of terminal init()
27133 routines, and abort if errors are raised.
27134
6f7db5d6
VS
271352010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
27136
27137 * include/grub/i386/bsd.h: Fix include pathes.
27138
262bff8d
VS
271392010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
27140
27141 Add missing *BSD copyright headers.
27142
27143 * include/grub/aout.h: Add BSD licence.
27144 * include/grub/i386/bsd.h: Parts under different licences moved to ...
27145 * include/grub/i386/freebsd_linker.h: ... here,
27146 * include/grub/i386/freebsd_reboot.h: ... here,
27147 * include/grub/i386/netbsd_bootinfo.h: ... here,
27148 * include/grub/i386/netbsd_reboot.h: ... here,
27149 * include/grub/i386/openbsd_bootarg.h: ... here,
27150 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
27151 licence to each file.
27152
b2cab848
RM
271532010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27154
27155 * acinclude.m4: Remove `nop' assembly instruction; it's not
27156 implemented by all architectures.
27157
2cb6be4b
RM
271582010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27159
27160 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
27161 ELILO. This is no longer necessary.
27162
a2eaee15
BC
271632010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
27164
27165 Added new tool, grub-scrit-check to verify grub.cfg syntax.
27166
27167 * util/grub-script-check.c: grub-script-check tool.
27168 * conf/common.rmk: Make rules for grub-script-check.
27169
88d17012
RM
271702010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27171
27172 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
27173 spotting it back in 2008. Shame on me for forgetting he did.
27174
27175 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
27176
8040619d
RM
271772010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27178
27179 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
27180 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
27181 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
27182 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
27183 (GRUB_VIDEO_TYPE_EFI): Rename to ...
27184 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
27185
a0c2a0f6
RM
271862010-01-17 Robert Millan <rmh.grub@aybabtu.com>
27187
27188 * include/grub/test.h: Add license header.
27189 * tests/example_functional_test.c: Likewise.
27190 * tests/example_unit_test.c: Likewise.
27191 * tests/lib/functional_test.c: Likewise.
27192 * tests/lib/test.c: Likewise.
27193 * tests/lib/unit_test.c: Likewise.
27194
b0b13907
VS
271952010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
27196
27197 Use flag-based instead of hook-based video mode selection and "auto"
27198 keyword.
27199
27200 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
27201 (grub_video_set_mode): Changed prototype. All users updated.
27202 (grub_video_check_mode_flag): New inline function.
27203 * video/video.c (parse_modespec): New function.
27204 (grub_video_set_mode): Parse flags and keywords.
27205
ea379330 272062010-01-17 Carles Pina i Estany <carles@pina.cat>
27207
27208 * util/misc.c (grub_util_info): Fix the order of the parameters in a
27209 fprintf call.
27210
e15c215e
FZ
272112010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
27212
27213 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
27214
409ae1c9 272152010-01-16 Carles Pina i Estany <carles@pina.cat>
27216
27217 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
27218 string.
27219 * util/grub-emu.c (usage): Likewise.
27220 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
27221 * util/i386/efi/grub-mkimage.c (usage): Likewise.
27222 * util/i386/pc/grub-mkimage.c (usage): Likewise.
27223 * util/i386/pc/grub-setup.c (usage): Likewise.
27224
70a14d3d 272252010-01-16 Carles Pina i Estany <carles@pina.cat>
27226
27227 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
27228 the message.
27229 (grub_util_info): Likewise.
27230 (grub_util_error): Likewise.
27231 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
27232 and/or new lines in `grub_util_warna', `grub_util_info',
27233 `grub_util_error' calls.
27234 * util/getroot.c: Likewise.
27235 * util/grub-editenv.c: Likewise.
27236 * util/grub-emu.c: Likewise.
27237 * util/grub-fstest.c: Likewise.
27238 * util/grub-mkdevicemap.c: Likewise.
27239 * util/grub-mkfont.c: Likewise.
27240 * util/grub-mkpasswd-pbkdf2.c: Likewise.
27241 * util/grub-mkrelpath.c: Likewise.
27242 * util/grub-pe2elf.c: Likewise.
27243 * util/grub-probe.c: Likewise.
27244 * util/hostdisk.c: Likewise.
27245 * util/i386/efi/grub-mkimage.c: Likewise.
27246 * util/i386/pc/grub-mkimage.c: Likewise.
27247 * util/i386/pc/grub-setup.c: Likewise.
27248 * util/ieee1275/ofpath.c: Likewise.
27249 * util/mkisofs/eltorito.c: Likewise.
27250 * util/mkisofs/rock.c: Likewise.
27251 * util/mkisofs/write.c: Likewise.
27252 * util/raid.c: Likewise.
27253 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
27254 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27255
a0b766fc
VS
272562010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27257
27258 Enable multiboot on non-pc.
27259
27260 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
27261 multiboot.mod and multiboot2.mod to ...
27262 * conf/i386.rmk (pkglib_MODULES): ... here.
27263 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
27264 Moved to ...
27265 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
27266 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
27267 Moved to ...
27268 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
27269 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
27270 Moved to ...
27271 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
27272 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
27273 Moved to ...
27274 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
27275 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
27276 relocator.mod.
27277 (ata_mod_SOURCES): Removed.
27278 (ata_mod_CFLAGS): Likewise.
27279 (ata_mod_LDFLAGS): Likewise.
27280 (relocator_mod_SOURCES): Removed.
27281 (relocator_mod_CFLAGS): Likewise.
27282 (relocator_mod_ASFLAGS): Likewise.
27283 (relocator_mod_LDFLAGS): Likewise.
27284 Include i386.mk.
27285 * include/grub/x86_64/multiboot.h: New file.
27286 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
27287 Terminate EFI.
27288
884ade56
VS
272892010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27290
27291 Video multiboot support.
27292
27293 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
27294 New prototype.
27295 * include/multiboot.h: Resynced with multiboot specification.
27296 * include/multiboot2.h: Likewise.
27297 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
27298 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
27299 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
27300 (HAS_VGA_TEXT): Likewise.
27301 (accepts_video): New variable.
27302 (grub_multiboot_set_accepts_video): New function.
27303 (grub_multiboot_get_mbi_size): Account for video structures.
27304 (set_video_mode): New function.
27305 (retrieve_video_parameters): Likewise.
27306 (grub_multiboot_make_mbi): Fill video fields.
27307
0d90e8a6
VS
273082010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27309
27310 Video driver ids.
27311
27312 * include/grub/video.h (grub_video_driver_id): New type.
27313 (grub_video_adapter): New member 'id'. All users updated.
27314 (grub_video_get_driver_id): New proto.
27315 * video/video.c (grub_video_get_driver_id): New function.
27316
5c71db1b 273172010-01-14 Carles Pina i Estany <carles@pina.cat>
27318
27319 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
27320 `var=val'.
27321
cca15b52 273222010-01-14 Carles Pina i Estany <carles@pina.cat>
27323
27324 * normal/cmdline.c (print_completion): Gettextizze.
27325
c586fbb2 273262001-01-14 Carles Pina i Estany <carles@pina.cat>
27327
27328 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
27329
ba2f6848 273302010-01-14 Carles Pina i Estany <carles@pina.cat>
27331
27332 * gettext/gettext.c (grub_gettext_translate): Push and pop
27333 grub_errno.
27334 (grub_gettext_delete_list): Change comment style.
27335 * kern/err.c (grub_error): Gettextizze.
27336 (grub_fatal): Gettextizze.
27337
0a46429a
RM
273382010-01-14 Robert Millan <rmh.grub@aybabtu.com>
27339
27340 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
27341 (grub_linux16_real_boot): ... this.
27342 * kern/i386/loader.S: Likewise.
27343 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
27344 (grub_linux16_boot): New function. Switches to text mode and calls
27345 grub_linux16_real_boot().
27346
27347 * loader/i386/bsd.c: Include `<grub/video.h>'.
27348 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
27349 text mode before calling grub_unix_real_boot().
27350
27351 * loader/i386/multiboot.c: Include `<grub/video.h>'.
27352 (grub_multiboot_boot): Switch to text mode before calling
27353 grub_relocator32_boot().
27354
27355 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
27356 (grub_chainloader_boot): Switch to text mode before calling
27357 grub_chainloader_real_boot().
27358
d6f93a66
RM
273592010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
273602010-01-05 Colin Watson <cjwatson@ubuntu.com>
27361
27362 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
27363 non-empty value.
27364
273652010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
273662010-01-05 Colin Watson <cjwatson@ubuntu.com>
27367
27368 * util/grub.d/00_header.in: Define a "savedefault" function for use
27369 in menu entries.
27370 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
27371
273722010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
273732010-01-05 Colin Watson <cjwatson@ubuntu.com>
27374
27375 * util/grub-mkconfig_lib.in (save_default_entry): Only set
27376 saved_entry if boot_once is unset.
27377 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
27378 previous saved entry (i.e. grub-reboot).
27379
273802009-12-08 Colin Watson <cjwatson@ubuntu.com>
27381
27382 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
27383
273842009-12-08 Colin Watson <cjwatson@ubuntu.com>
27385
27386 * util/grub.d/00_header.in: Use `set var=val' rather than plain
27387 `var=val'.
27388 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
27389
273902009-12-08 Colin Watson <cjwatson@ubuntu.com>
27391
27392 * util/grub-reboot.in: Fix --version output.
27393 * util/grub-set-default.in: Likewise.
27394
273952009-12-08 Colin Watson <cjwatson@ubuntu.com>
27396
27397 * util/grub.d/00_header.in: Silently ignore zero-sized environment
27398 blocks.
27399
274002009-12-08 Colin Watson <cjwatson@ubuntu.com>
27401
27402 * util/grub.d/00_header.in: Quote the value assigned to `default',
27403 in case it contains spaces.
27404
274052009-12-08 Colin Watson <cjwatson@ubuntu.com>
27406
27407 * util/grub.d/30_os-prober.in: Fix merge error that moved a
27408 `save_default_entry' call from the macosx case to the linux case.
27409
274102009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
274112009-10-25 Colin Watson <cjwatson@ubuntu.com>
27412
27413 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
27414 in `chosen' environment variable.
27415 * normal/menu_text.c (get_entry_number): Check if the variable
27416 matches the title of a menu entry.
27417 (run_menu): Pass menu to get_entry_number.
27418
27419 * util/grub-reboot.in: New file.
27420 * util/grub-set-default.in: New file.
27421 * conf/common.rmk (grub-reboot): New utility.
27422 (grub-set-default): New utility.
27423
27424 * util/grub-mkconfig_lib.in (save_default_entry): New function.
27425 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
27426 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
27427 move it to `saved_entry' for the next boot. Load environment on
27428 initialisation.
27429 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
27430 * util/grub.d/10_hurd.in: Likewise.
27431 * util/grub.d/10_linux.in (linux_entry): Likewise.
27432 * util/grub.d/10_windows.in: Likewise.
27433 * util/grub.d/30_os-prober.in: Likewise.
27434
27435 * util/grub-install.in: Create environment block.
27436 * util/i386/efi/grub-install.in: Likewise.
27437 * util/ieee1275/grub-install.in: Likewise.
27438 * util/sparc64/ieee1275/grub-install.in: Likewise.
27439
0934d184
BC
274402010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
27441
27442 Unit testing framework for GRUB.
27443
27444 * Makefile.in: Test framework build rules for 'make check'.
27445 * conf/tests.rmk: Build rules for individual tests and framework.
27446
27447 * include/grub/test.h: Header file for whitebox tests.
27448 * tests/lib/functional_test.c: Framework support for whitebox
27449 functional tests.
27450 * tests/lib/test.c: Common whitebox testing code for unit and
27451 functional tests.
27452 * tests/lib/unit_test.c: Framework support for whitebox unit
27453 tests.
27454
27455 * tests/util/grub-shell-tester.in: Support utility for grub-script
27456 tests.
27457 * tests/util/grub-shell.in: Utility to execute grub-script
27458 commands in a Qemu instance.
27459
27460 * tests/example_functional_test.c: Example whitebox functional
27461 test.
27462 * tests/example_grub_script_test.in: Example grub-script test.
27463 * tests/example_scripted_test.in: Example scripted test.
27464 * tests/example_unit_test.c: Example whitebox unit test.
27465
9c4ffeeb
VS
274662010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
27467
27468 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
27469 Add loader/i386/multiboot_mbi.c.
27470 (multiboot2_mod_SOURCES): Likewise.
27471 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
27472 (multiboot2_mod_SOURCES): Likewise.
27473 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
27474 (grub_multiboot_make_mbi): Likewise.
27475 (grub_multiboot_free_mbi): Likewise.
27476 (grub_multiboot_init_mbi): Likewise.
27477 (grub_multiboot_add_module): Likewise.
27478 (grub_multiboot_set_bootdev): Likewise.
27479 * loader/i386/multiboot.c (mbi): Removed.
27480 (mbi_dest): Likewise.
27481 (alloc_mbi): New variable.
27482 (grub_multiboot_payload_size): Removed. All users updated.
27483 (grub_multiboot_pure_size): New variable.
27484 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
27485 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
27486 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
27487 (grub_fill_multiboot_mmap): Likewise.
27488 (grub_multiboot_get_bootdev): Likewise.
27489 (grub_multiboot): Use multiboot_mbi functions.
27490 * loader/i386/multiboot_mbi.c: New file.
27491
17383dfe
VS
274922010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
27493
27494 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
27495 it would result in module crash.
27496
c1f28820
VS
274972010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
27498
27499 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
27500 (grub_ofconsole_getwh): Split to ...
27501 (grub_ofconsole_getwh): ... this.
27502 (grub_ofconsole_dimensions): ...and this.
27503 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
27504
58655a16
RM
275052010-01-13 Robert Millan <rmh.grub@aybabtu.com>
27506
27507 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
27508
10891398
VS
275092010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
27510
27511 * loader/i386/pc/multiboot2.c: Removed stalled file.
27512
0b8a223c
VS
275132010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
27514
27515 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
27516 Reported by: Grégoire Sutre
27517
92ab12b0
RM
275182010-01-11 Robert Millan <rmh.grub@aybabtu.com>
27519
27520 * util/misc.c (canonicalize_file_name): New function.
27521 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
27522 instead of realpath().
27523
a788afb6
CW
275242010-01-11 Colin Watson <cjwatson@ubuntu.com>
27525
27526 * util/grub-install.in (usage): Clarify meaning of --root-directory,
27527 and make it clearer that it's optional. Based on confusion
27528 witnessed on IRC.
27529
ffa8e3d2
VS
275302010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
27531
27532 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
27533 in premature implicit newline.
27534
e9060a9d
VS
275352010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
27536
27537 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
27538 which resulted in garbled command line at the end of screen.
27539
f0d0c0b7
RM
275402010-01-10 Robert Millan <rmh.grub@aybabtu.com>
27541
27542 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
27543 initialization with similar approach as with other Linux loaders.
27544
0e60bae7
RM
275452010-01-10 Robert Millan <rmh.grub@aybabtu.com>
27546
27547 Fix i386-ieee1275 build.
27548
27549 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
27550 and grub_term_height() for video_{width,height} initialization.
27551
275522010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
27553
27554 Fix grub-emu build.
27555
27556 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
27557
cdb3f378
RM
275582010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
275592010-01-09 Robert Millan <rmh.grub@aybabtu.com>
27560
27561 Support for multiple terminals.
27562
27563 * Makefile.in (pkglib_DATA): terminal.lst.
27564 (terminal.lst): New target.
27565 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
27566 (GRUB_MOD_INIT(handler)): Likewise.
27567 (GRUB_MOD_FINI(handler)): Likewise.
27568 * commands/help.c (grub_cmd_help): Handle multiple terminals.
27569 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
27570 * commands/sleep.c (do_print): Use grub_term_restore_pos.
27571 (grub_cmd_sleep): Use grub_term_save_pos.
27572 * commands/terminal.c: New file.
27573 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
27574 commands/terminal.c and lib/charset.c.
27575 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
27576 (pkglib_MODULES): Add terminal.mod.
27577 (terminal_mod_SOURCES): New variable.
27578 (terminal_mod_CFLAGS): Likewise.
27579 (terminal_mod_LDFLAGS): Likewise.
27580 * genhandlerlist.sh: Don't handle terminals.
27581 * genmk.rb: Generate terminal-*.lst.
27582 * genterminallist.sh: New file.
27583 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
27584 (grub_is_valid_utf8): Likewise.
27585 (grub_utf8_to_ucs4_alloc): Likewise.
27586 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
27587 (grub_menu_register_viewer): Changed argument.
27588 (grub_menu_try_text): New proto.
27589 (grub_gfxmenu_try_hook): New declaration.
27590 * include/grub/normal.h (grub_normal_exit_level): New declaration.
27591 (grub_menu_init_page): Additional argument term.
27592 (grub_normal_init_page): Likewise.
27593 (grub_cmdline_get): Arguments simplified.
27594 (grub_utf8_to_ucs4_alloc): Removed.
27595 (grub_print_ucs4): Additional argument term.
27596 (grub_getstringwidth): Likewise.
27597 (grub_print_message_indented): Likewise.
27598 (grub_menu_text_register_instances): New proto.
27599 (grub_show_menu): Likewise.
27600 (read_terminal_list): Likewise.
27601 (grub_set_more): Likewise.
27602 * include/grub/parser.h: Include handler.h.
27603 * include/grub/reader.h: Rewritten.
27604 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
27605 (GRUB_TERM_WIDTH): Changed to function.
27606 (GRUB_TERM_HEIGHT): Likewise.
27607 (GRUB_TERM_BORDER_WIDTH): Likewise.
27608 (GRUB_TERM_BORDER_HEIGHT): Likewise.
27609 (GRUB_TERM_NUM_ENTRIES): Likewise.
27610 (GRUB_TERM_ENTRY_WIDTH): Likewise.
27611 (GRUB_TERM_CURSOR_X): Likewise.
27612 (grub_term_input_class): Likewise.
27613 (grub_term_output_class): Likewise.
27614 (grub_term_outputs_disabled): New declaration.
27615 (grub_term_inputs_disabled): Likewise.
27616 (grub_term_outputs): Likewise.
27617 (grub_term_inputs): Likewise.
27618 (grub_term_register_input): Rewritten.
27619 (grub_term_register_output): Likewise.
27620 (grub_term_unregister_input): Likewise.
27621 (grub_term_unregister_output): Likewise.
27622 (FOR_ACTIVE_TERM_INPUTS): New macro.
27623 (FOR_DISABLED_TERM_INPUTS): Likewise.
27624 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
27625 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
27626 * include/grub/terminfo.h: Add oterm argument to all protypes.
27627 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
27628 Use grub_rescue_run.
27629 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
27630 All users updated.
27631 * kern/reader.c: Removed. All users updated.
27632 * kern/rescue_reader.c (grub_rescue_init): Removed.
27633 (grub_rescue_reader): Likewise.
27634 (grub_register_rescue_reader): Likewise.
27635 (grub_rescue_run): New function based on kern/reader.c.
27636 * kern/term.c: Adapted for multiterm.
27637 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
27638 (grub_is_valid_utf8): Likewise.
27639 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
27640 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
27641 right terminal.
27642 * loader/i386/linux.c (grub_linux_boot): Likewise.
27643 * normal/auth.c (grub_username_get): New function.
27644 (grub_auth_check_authentication): Use grub_username_get.
27645 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
27646 * normal/color.c: Adapt for multiterm.
27647 * normal/main.c (read_config_file): Don't use grub_reader_loop.
27648 (grub_normal_init_page): Additional argument term.
27649 (read_lists): Call read_terminal_lists.
27650 (grub_enter_normal_mode): Call grub_cmdline_run.
27651 Handle grub_normal_exit_level.
27652 (grub_cmd_normal): Make reentrant.
27653 (grub_cmd_normal_exit): New function.
27654 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
27655 * normal/menu.c: Adapt for multiterm.
27656 * normal/menu_entry.c: Likewise.
27657 * normal/menu_text.c: Likewise.
27658 * normal/menu_viewer.c: Removed. All users updated.
27659 * normal/term.c: New file.
27660 * util/console.c: Change order of includes to workaround a bug in
27661 ncurses headers.
27662 * term/terminfo.c: New argument oterm on all exported functions.
27663 All users updated.
27664 * util/grub-editenv.c (grub_term_input_class): Removed.
27665 (grub_term_output_class): Likewise.
27666
1a064917
RM
276672010-01-09 Robert Millan <rmh.grub@aybabtu.com>
27668
27669 Make loader output a bit more user-friendly.
27670
27671 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
27672 is being loaded. Likewise for the Hurd.
27673
27674 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
27675 that kernel of FreeBSD ${version} is being loaded.
27676
27677 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
27678 grub_dprintf().
27679 (grub_cmd_initrd): Likewise.
27680 * util/grub.d/10_linux.in (linux_entry): Print message indicating
27681 that Linux ${version} is being loaded. Likewise for initrd.
27682
5ce0a83a 276832010-01-09 Carles Pina i Estany <carles@pina.cat>
27684
27685 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
27686
809bbfeb 276872010-01-08 Carles Pina i Estany <carles@pina.cat>
27688
27689 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
27690 (GRUB_MOD_INIT): Gettextizze.
27691 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
27692 (GRUB_MOD_INIT): Gettextizze.
27693 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
27694 (grub_cmd_linux): Capitalise Linux.
27695 (GRUB_MOD_INIT): Gettextizze.
27696 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
27697 (grub_cmd_linux): Capitalise Linux.
27698 (GRUB_MOD_INIT): Gettextizze.
27699 * loader/i386/linux.c: Include `<grub/i18n.h>'.
27700 (grub_cmd_linux): Capitalise Linux.
27701 (GRUB_MOD_INIT): Gettextizze.
27702 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
27703 (GRUB_MOD_INIT): Gettextizze.
27704 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
27705 (grub_cmd_linux): Capitalise Linux.
27706 (GRUB_MOD_INIT): Gettextizze.
27707 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
27708 (grub_cpu_xnu_init): Gettextizze.
27709 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
27710 (GRUB_MOD_INIT): Gettextizze.
27711 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
27712 (GRUB_MOD_INIT): Gettextizze.
27713 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
27714 (grub_linux_load64): Capitalise Linux.
27715 (GRUB_MOD_INIT): Gettextizze.
27716 * loader/xnu.c: Include `<grub/i18n.h>'.
27717 (GRUB_MOD_INIT): Gettextizze.
27718 * po/POTFILES: Add `loader/efi/appleloader.c',
27719 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
27720 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
27721 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
27722 `loader/i386/xnu.c', `loader/multiboot_loader.c',
27723 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
27724 and `loader/xnu.c'.
27725
b394b2ca
RM
277262010-01-08 Robert Millan <rmh.grub@aybabtu.com>
27727
27728 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
27729
277302010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
27731
27732 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
27733 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
27734 * util/mkisofs/mkisofs.c (main): Readjust --version output.
27735
bc8b32b3
RM
277362010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27737
27738 Reset Multiboot 2 support. New loader implements the draft in
27739 /branches/multiboot2 and shares as much code as possible with the
27740 production Multiboot 1 implementation.
27741
27742 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
27743 * loader/multiboot2.c: Likewise.
27744 * loader/i386/multiboot_helper.S: Likewise.
27745 * include/multiboot2.h: Replace with latest version from the draft
27746 in /branches/multiboot2.
27747
27748 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
27749 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
27750 and `loader/multiboot2.c'.
27751 (pkglib_MODULES): Add `multiboot2.mod'.
27752 (multiboot2_mod_SOURCES): New variable.
27753 (multiboot2_mod_LDFLAGS): Likewise.
27754 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
27755
27756 * conf/i386-pc.rmk: Likewise.
27757
27758 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
27759 (multiboot_mod_SOURCES): Remove variable.
27760 (multiboot_mod_LDFLAGS): Likewise.
27761 (multiboot_mod_CFLAGS): Likewise.
27762
27763 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
27764 `<multiboot2.h>' instead of `<multiboot.h>'.
27765 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
27766 (MULTIBOOT_HEADER_MAGIC): New macros.
27767
27768 * loader/multiboot_loader.c (module_version_status): Remove variable.
27769 (find_multi_boot2_header): Remove function.
27770 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
27771 logic. Always check for the Multiboot version we're compiling for.
27772 (grub_cmd_module_loader): Likewise.
27773 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
27774 command instead of `multiboot'.
27775
5d2c52b8
RM
277762010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27777
27778 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
27779 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
27780 all users.
27781
53108d92
RM
277822010-01-07 Robert Millan <rmh.grub@aybabtu.com>
277832010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
27784
27785 Fix breakage introduced with previous commit.
27786
27787 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
27788 commands.
27789 * normal/handler.c (read_handler_list): Revert part of previous commit
27790 affecting this file.
27791 * normal/main.c (read_lists): Move read_handler_list() call back to ...
27792 (grub_normal_execute): ... here.
27793
e2e936b2
RM
277942010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27795
27796 Merge prefix-redefinition-fix branch.
27797
27798 * normal/autofs.c (read_fs_list): Make function capable of being
27799 run multiple times, gracefuly replacing the previous data
27800 structures.
27801 * normal/dyncmd.c (read_command_list): Likewise.
27802 * normal/handler.c (read_handler_list): Likewise.
27803 * normal/main.c (read_lists): New function. Calls all the
27804 list reading functions.
27805 (grub_normal_execute): Use read_lists() instead of calling all
27806 list reading functions explicitly. Register read_lists() as a
27807 variable hook attached to ${prefix}.
27808
607a3701
VS
278092010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
27810
27811 Merge crypto branch.
27812
27813 * Makefile.in (pkglib_DATA): Add crypto.lst.
27814 (crypto.lst): New target.
27815 * commands/hashsum.c: New file.
27816 * commands/password.c (check_password): Use grub_crypto_memcmp.
27817 * commands/password_pbkdf2.c: New file.
27818 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
27819 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
27820 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
27821 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
27822 -I$(srcdir)/lib/libgcrypt_wrap.
27823 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
27824 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
27825 password_pbkdf2.mod.
27826 (crypto_mod_SOURCES): New variable.
27827 (crypto_mod_CFLAGS): Likewise.
27828 (crypto_mod_LDFLAGS): Likewise.
27829 (hashsum_mod_SOURCES): New variable.
27830 (hashsum_mod_CFLAGS): Likewise.
27831 (hashsum_mod_LDFLAGS): Likewise.
27832 (pbkdf2_mod_SOURCES): New variable.
27833 (pbkdf2_mod_CFLAGS): Likewise.
27834 (pbkdf2_mod_LDFLAGS): Likewise.
27835 (password_pbkdf2_mod_SOURCES): New variable.
27836 (password_pbkdf2_mod_CFLAGS): Likewise.
27837 (password_pbkdf2_mod_LDFLAGS): Likewise.
27838 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
27839 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
27840 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
27841 Include conf/gcry.rmk.
27842 * include/grub/auth.h: Rewritten.
27843 * include/grub/crypto.h: New file.
27844 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
27845 * include/grub/normal.h (read_crypto_list): New prototype.
27846 * lib/crypto.c: New file.
27847 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
27848 * lib/pbkdf2.c: Likewise.
27849 * normal/auth.c (grub_auth_strcmp): Removed.
27850 (grub_iswordseparator): Likewise.
27851 (grub_auth_strword): Likewise.
27852 (is_authenticated): Use grub_strword.
27853 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
27854 and grub_strword. Pass entered password to authentication callback.
27855 * normal/crypto.c: New file.
27856 * normal/main.c: Call read_crypto_list.
27857 * util/grub-mkpasswd-pbkdf2.c: New file.
27858 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
27859
42841caa
VS
278602010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
27861
27862 Fix descent and ascent calculation.
27863
27864 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
27865 (options): New option "asce".
27866 (usage): Likewise.
27867 (add_char): Ignore invalid glyphs for descent calculation.
27868 Calculate ascent from actual content.
27869 (print_glyphs): Use 'asce'.
27870 (write_font): Likewise. Allow ascent override.
27871 (main): Handle "asce" option.
27872
e7730de7 278732010-01-06 Carles Pina i Estany <carles@pina.cat>
27874
27875 * kern/err.c: Include `<grub/i18n.h>'.
27876 (grub_print_error): Add full stop. Gettextizze.
27877 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
27878 (grub_bsd_load_elf): Capitalise ELF.
27879 (grub_cmd_freebsd_loadenv): Add `s' in error string.
27880 (grub_cmd_freebsd_module): Likewise.
27881 (grub_cmd_freebsd_module_elf): Likewise.
27882 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
27883
40e3a41f 278842010-01-06 Carles Pina i Estany <carles@pina.cat>
27885
27886 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
27887 * commands/search_file.c (HELP_MESSAGE): New macro.
27888 * commands/search_label.c (HELP_MESSAGE): Likewise.
27889 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
27890 * po/POTFILES: Add `commands/search_file.c',
27891 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
27892 `commands/search.c'.
27893
83507e68
RM
278942010-01-05 Robert Millan <rmh.grub@aybabtu.com>
27895
27896 * config.rpath: Update from Gnulib.
27897
465c787b
YB
278982010-01-05 Yves Blusseau <blusseau@zetam.org>
27899
27900 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
27901
6581dd3a
YB
279022010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
27903
27904 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
27905
3bff18c5
CW
279062010-01-05 Colin Watson <cjwatson@ubuntu.com>
27907
27908 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
27909 arguments to fread so that we get a return value in bytes, rather
27910 than something that will normally be rounded down to 0.
27911 Adjust error handling to avoid producing garbage when size_t is not
27912 the same size as long long.
27913
a1368118
CW
279142010-01-05 Colin Watson <cjwatson@ubuntu.com>
27915
27916 * util/mkisofs/write.c (padblock_write): Check return value of
27917 fread.
27918
7c302978
RM
279192010-01-05 Robert Millan <rmh.grub@aybabtu.com>
27920
27921 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
27922 floppy images now.
27923
27924 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
27925
e33ace06
RM
279262010-01-04 Robert Millan <rmh.grub@aybabtu.com>
27927
27928 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
27929 instead of manual alignment.
27930 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
27931 verbose). Avoid attempts to read past end of the device
27932 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
27933 but GRUB_DISK_CACHE_SIZE may exceed that).
27934
4b856776
RM
279352010-01-04 Robert Millan <rmh.grub@aybabtu.com>
27936
27937 * commands/crc.c (grub_cmd_crc): Abort on read errors.
27938 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
27939 it to upper layer.
27940
52c2d97f
VS
279412010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
27942
27943 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
27944 New constant.
27945 (grub_efi_piwg_device_path): New structure
27946 (grub_efi_piwg_device_path_t): New type.
27947 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
27948 (devpath_1): Transform to a structure. All users updated.
27949 (devpath_2): Likewise.
27950 (devpath_3): Likewise.
27951 (devpath_4): Likewise.
27952 (devpath_5): Likewise.
27953
98ff6a54
VS
279542010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
27955
27956 * loader/efi/appleloader.c: Restored. Update all users.
27957
3a73dcb6
RM
279582010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27959
27960 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
27961
27962 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
27963 (struct boot_blocklist): Move from here ...
27964 * include/grub/i386/pc/boot.h [ASM_FILE]
27965 (struct grub_boot_blocklist): ... to here. Update all users.
27966 (setup): Only initialize `start' member of `first_block'
27967 structure. Add assert() calls to verify the other members.
27968
27969 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
27970 (generate_image): Fix broken blocklist length initialization.
27971 Add assert() call to verify blocklist `segment' field.
27972
ab0eeb0c
RM
279732010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27974
27975 * loader/efi/appleloader.c: Remove. Update all users.
27976
58bc8bd5
RM
279772010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27978
27979 * boot/i386/pc/boot.S: Update copyright year.
27980 * boot/i386/pc/cdboot.S: Likewise.
27981 * boot/i386/pc/diskboot.S: Likewise.
27982 * boot/i386/pc/lnxboot.S: Likewise.
27983 * boot/i386/pc/pxeboot.S: Likewise.
27984 * bus/pci.c: Likewise.
27985 * commands/cmp.c: Likewise.
27986 * commands/help.c: Likewise.
27987 * commands/hexdump.c: Likewise.
27988 * commands/i386/pc/halt.c: Likewise.
27989 * commands/i386/pc/play.c: Likewise.
27990 * commands/i386/pc/vbeinfo.c: Likewise.
27991 * commands/ls.c: Likewise.
27992 * commands/test.c: Likewise.
27993 * disk/dmraid_nvidia.c: Likewise.
27994 * disk/i386/pc/biosdisk.c: Likewise.
27995 * disk/ieee1275/nand.c: Likewise.
27996 * disk/ieee1275/ofdisk.c: Likewise.
27997 * disk/lvm.c: Likewise.
27998 * disk/raid.c: Likewise.
27999 * disk/raid6_recover.c: Likewise.
28000 * disk/scsi.c: Likewise.
28001 * fs/affs.c: Likewise.
28002 * fs/cpio.c: Likewise.
28003 * fs/ext2.c: Likewise.
28004 * fs/hfs.c: Likewise.
28005 * fs/iso9660.c: Likewise.
28006 * fs/ntfs.c: Likewise.
28007 * fs/sfs.c: Likewise.
28008 * fs/udf.c: Likewise.
28009 * fs/ufs.c: Likewise.
28010 * fs/xfs.c: Likewise.
28011 * gencmdlist.sh: Likewise.
28012 * genmk.rb: Likewise.
28013 * include/grub/disk.h: Likewise.
28014 * include/grub/efi/api.h: Likewise.
28015 * include/grub/efi/efi.h: Likewise.
28016 * include/grub/efi/pe32.h: Likewise.
28017 * include/grub/elf.h: Likewise.
28018 * include/grub/fs.h: Likewise.
28019 * include/grub/i386/at_keyboard.h: Likewise.
28020 * include/grub/i386/pc/memory.h: Likewise.
28021 * include/grub/i386/pc/vbe.h: Likewise.
28022 * include/grub/i386/pci.h: Likewise.
28023 * include/grub/i386/tsc.h: Likewise.
28024 * include/grub/ieee1275/ieee1275.h: Likewise.
28025 * include/grub/ntfs.h: Likewise.
28026 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
28027 * include/grub/sparc64/libgcc.h: Likewise.
28028 * include/grub/symbol.h: Likewise.
28029 * include/grub/types.h: Likewise.
28030 * include/multiboot2.h: Likewise.
28031 * io/gzio.c: Likewise.
28032 * kern/device.c: Likewise.
28033 * kern/disk.c: Likewise.
28034 * kern/efi/efi.c: Likewise.
28035 * kern/efi/mm.c: Likewise.
28036 * kern/elf.c: Likewise.
28037 * kern/file.c: Likewise.
28038 * kern/i386/dl.c: Likewise.
28039 * kern/i386/pc/init.c: Likewise.
28040 * kern/i386/pc/startup.S: Likewise.
28041 * kern/ieee1275/ieee1275.c: Likewise.
28042 * kern/ieee1275/init.c: Likewise.
28043 * kern/main.c: Likewise.
28044 * kern/mm.c: Likewise.
28045 * kern/powerpc/dl.c: Likewise.
28046 * kern/sparc64/dl.c: Likewise.
28047 * kern/x86_64/dl.c: Likewise.
28048 * lib/hexdump.c: Likewise.
28049 * loader/efi/appleloader.c: Likewise.
28050 * loader/i386/ieee1275/linux.c: Likewise.
28051 * loader/i386/pc/chainloader.c: Likewise.
28052 * loader/i386/pc/linux.c: Likewise.
28053 * loader/i386/pc/multiboot2.c: Likewise.
28054 * loader/ieee1275/multiboot2.c: Likewise.
28055 * loader/multiboot2.c: Likewise.
28056 * loader/multiboot_loader.c: Likewise.
28057 * loader/powerpc/ieee1275/linux.c: Likewise.
28058 * normal/completion.c: Likewise.
28059 * normal/menu_entry.c: Likewise.
28060 * partmap/apple.c: Likewise.
28061 * util/grub.d/10_hurd.in: Likewise.
28062 * util/hostfs.c: Likewise.
28063 * video/readers/png.c: Likewise.
28064
e2d70b5c
CW
280652010-01-03 Colin Watson <cjwatson@ubuntu.com>
28066
28067 * include/grub/misc.h (GNUC_PREREQ): New macro.
28068 (ATTRIBUTE_ERROR): New macro.
28069 * include/grub/list.h (grub_bad_type_cast_real): Use
28070 ATTRIBUTE_ERROR.
28071
a173283f 280722010-01-03 Carles Pina i Estany <carles@pina.cat>
28073
28074 * normal/menu_text.c (print_message): Change messages.
28075
7fa7ff74 280762010-01-03 Carles Pina i Estany <carles@pina.cat>
28077
28078 * normal/menu_entry.c (store_completion): Gettextizze.
28079
136d24f6 280802010-01-03 Carles Pina i Estany <carles@pina.cat>
28081
28082 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
28083
f936862e 280842010-01-03 Carles Pina i Estany <carles@pina.cat>
28085
28086 * po/POTFILES: Sort correctly.
28087
29c44ad1 280882010-01-03 Carles Pina i Estany <carles@pina.cat>
28089
28090 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
28091 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
28092 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
28093 full stop.
28094 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
28095 summary. Gettextizze the strings.
28096 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
28097 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
28098 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
28099 full stop.
28100 (GRUB_MOD_INIT): Remove command name from summary.
28101 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
28102 summary.
28103 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
28104 * term/i386/pc/serial.c (options): Add full stops.
28105 (GRUB_MOD_INIT): Remove command name from the summary.
28106
77a79592 281072010-01-03 Carles Pina i Estany <carles@pina.cat>
28108
28109 * commands/acpi.c: Gettextizze help strings and/or options. Include
28110 `grub/i18n.h' if needed.
28111 * commands/blocklist.c: Likewise.
28112 * commands/boot.c: Likewise.
28113 * commands/cat.c: Likewise.
28114 * commands/cmp.c: Likewise.
28115 * commands/configfile.c: Likewise.
28116 * commands/crc.c: Likewise.
28117 * commands/date.c: Likewise.
28118 * commands/echo.c: Likewise.
28119 * commands/efi/fixvideo.c: Likewise.
28120 * commands/efi/loadbios.c: Likewise.
28121 * commands/gptsync.c: Likewise.
28122 * commands/halt.c: Likewise.
28123 * commands/handler.c: Likewise.
28124 * commands/hdparm.c: Likewise.
28125 * commands/hexdump.c: Likewise.
28126 * commands/i386/cpuid.c: Likewise.
28127 * commands/i386/pc/drivemap.c: Likewise.
28128 * commands/i386/pc/halt.c: Likewise.
28129 * commands/i386/pc/pxecmd.c: Likewise.
28130 * commands/i386/pc/vbeinfo.c: Likewise.
28131 * commands/i386/pc/vbetest.c: Likewise.
28132 * commands/ieee1275/suspend.c: Likewise.
28133 * commands/keystatus.c: Likewise.
28134 * commands/loadenv.c: Likewise.
28135 * commands/ls.c: Likewise.
28136 * commands/lsmmap.c: Likewise.
28137 * commands/lspci.c: Likewise.
28138 * commands/memrw.c: Likewise.
28139 * commands/minicmd.c: Likewise.
28140 * commands/parttool.c: Likewise.
28141 * commands/password.c: Likewise.
28142 * commands/probe.c: Likewise.
28143 * commands/read.c: Likewise.
28144 * commands/reboot.c: Likewise.
28145 * commands/search.c: Likewise.
28146 * commands/sleep.c: Likewise.
28147 * commands/test.c: Likewise.
28148 * commands/true.c: Likewise.
28149 * commands/usbtest.c: Likewise.
28150 * commands/videotest.c: Likewise.
28151 * commands/xnu_uuid.c: Likewise.
28152 * disk/loopback.c: Likewise.
28153 * hello/hello.c: Likewise.
28154 * loader/i386/bsd.c: Likewise.
28155 * term/i386/pc/serial.c: Likewise.
28156 * po/POTFILES: Add new files.
28157
da8d5c53
CW
281582010-01-02 Colin Watson <cjwatson@ubuntu.com>
28159
28160 * term/i386/pc/at_keyboard.c
28161 (keyboard_controller_wait_untill_ready): Rename to ...
28162 (keyboard_controller_wait_until_ready): ... this. Update all users.
28163
33937904 281642010-01-01 Carles Pina i Estany <carles@pina.cat>
28165
28166 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
28167 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
28168 string using string width.
28169 * normal/menu_text.c (grub_print_message_indented): Use
28170 grub_print_spaces and not print_spaces.
28171 (print_timeout): Likewise.
28172 (print_spaces): Move to...
28173 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
28174
3fd3b8d8
RM
281752010-01-01 Robert Millan <rmh.grub@aybabtu.com>
28176
28177 Import from Gnulib.
28178
28179 * gnulib/getdelim.c: New file.
28180 * gnulib/getline.c: Likewise.
28181
33433555
VS
281822009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
28183
28184 * include/grub/list.h (grub_assert_fail): Removed.
28185 (grub_bad_type_cast_real): New function.
28186 (grub_bad_type_cast): New macro.
28187 (GRUB_AS_LIST): Use grub_bad_type_cast.
28188 (GRUB_AS_LIST_P): Likewise.
e44721e8 28189 (GRUB_AS_NAMED_LIST): Likewise.
33433555 28190 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 28191 (GRUB_AS_PRIO_LIST): Likewise.
33433555 28192 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 28193 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 28194
f5a51306
VS
281952009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
28196
28197 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
28198 Fix syntax error.
28199
90d1e879
RM
282002009-12-29 Robert Millan <rmh.grub@aybabtu.com>
28201
28202 * configure.ac: Check for TARGET_CFLAGS initialization before we
28203 initialize it ourselves (sigh).
28204 Move a few modifications to TARGET_CFLAGS to be unconditional
28205 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
28206 eh_frame)
28207
28208 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
28209 * term/i386/pc/at_keyboard.c
28210 (keyboard_controller_wait_untill_ready): Likewise.
28211 (keyboard_controller_led): Rename `led_status' paramter to avoid
28212 name conflict.
28213
465b5a81 282142009-12-28 Carles Pina i Estany <carles@pina.cat>
28215
28216 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
28217 quotes.
28218
c181849b
VS
282192009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28220
28221 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
28222
9c8739a4
VS
282232009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28224
28225 * normal/menu_text.c (grub_print_message_indented): Prevent
28226 past-the-end-of-array dereference.
28227
3e74249c
VS
282282009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28229
28230 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
28231 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
28232
64fd18ed 282332009-12-27 Carles Pina i Estany <carles@pina.cat>
28234
28235 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
28236 * normal/main.c (grub_normal_read_line): Remove a space from the
28237 default prompt.
28238
714af9b9 282392009-12-27 Carles Pina i Estany <carles@pina.cat>
28240
28241 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
28242 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28243 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
28244 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
28245 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28246 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28247 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28248
82f3e412 282492009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 28250
28251 * video/readers/jpeg.c (cmd): Declare.
28252 (grub_cmd_jpegtest): Use `grub_command_t' type.
28253 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28254 Assign to `cmd'.
28255 (GRUB_MOD_FINI): Use `cmd' to unregister.
28256 * video/readers/png.c (cmd): Declare.
28257 (grub_cmd_pngtest): Use `grub_command_t' type.
28258 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28259 Assign to `cmd'.
28260 (GRUB_MOD_FINI): Use `cmd' to unregister.
28261 * video/readers/tga.c (cmd): Declare.
28262 (grub_cmd_tgatest): Use `grub_command_t' type.
28263 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28264 Assign to `cmd'.
28265 (GRUB_MOD_FINI): Use `cmd' to unregister.
28266
82f3e412 282672009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 28268
28269 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
28270 stops.
28271 * kern/corecmd.c (grub_register_core_commands): Likewise.
28272 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
28273 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
28274 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
28275 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28276 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
28277 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
28278 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
28279 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
28280 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28281 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28282 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28283 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28284 * normal/handler.c (insert_handler): Likewise.
28285 * normal/main.c (GRUB_MOD_INIT): Likewise.
28286 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
28287
fdcdbb66 282882009-12-26 Carles Pina i Estany <carles@pina.cat>
28289
28290 * commands/help.c (grub_cmd_help): Print the command name before the
28291 summary.
28292 (GRUB_MOD_INIT): Remove command name from the summary.
28293 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 28294 string as summary.
fdcdbb66 28295 * lib/arg.c (find_long): Print the command name before the summary.
28296 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
28297 summary.
28298 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
28299 * commands/cat.c (GRUB_MOD_INIT): Likewise.
28300 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
28301 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
28302 * commands/crc.c (GRUB_MOD_INIT): Likewise.
28303 * commands/date.c (GRUB_MOD_INIT): Likewise.
28304 * commands/echo.c (GRUB_MOD_INIT): Likewise.
28305 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
28306 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
28307 * commands/handler.c (GRUB_MOD_INIT): Likewise.
28308 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
28309 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
28310 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
28311 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
28312 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
28313 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
28314 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
28315 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
28316 * commands/ls.c (GRUB_MOD_INIT): Likewise.
28317 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
28318 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
28319 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
28320 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
28321 * commands/password.c (GRUB_MOD_INIT): Likewise.
28322 * commands/probe.c (GRUB_MOD_INIT): Likewise.
28323 * commands/read.c (GRUB_MOD_INIT): Likewise.
28324 * commands/search.c (GRUB_MOD_INIT): Likewise.
28325 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
28326 * commands/test.c (GRUB_MOD_INIT): Likewise.
28327 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
28328 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
28329 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
28330 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
28331 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
28332 * lib/arg.c (GRUB_MOD_INIT): Likewise.
28333 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
28334 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
28335 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28336 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28337 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
28338 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
28339 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
28340 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
28341
9c288be2
VS
283422009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28343
28344 Use search command for preliminar UUID search.
28345
28346 * commands/search.c: Split into ...
28347 * commands/search_wrap.c: ...this
28348 * commands/search.c: ...and this.
28349 * commands/search_file.c: New file.
28350 * commands/search_label.c: New file.
28351 * commands/search_uuid.c: New file.
28352 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
28353 Add commands/search_wrap.c, commands/search_file.c,
28354 commands/search_label.c and commands/search_uuid.c.
28355 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
28356 (search_mod_SOURCES): Set to commands/search_wrap.c.
28357 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
28358 search_label.mod.
28359 (search_fs_file_mod_SOURCES): New variable.
28360 (search_fs_file_mod_CFLAGS): Likewise.
28361 (search_fs_file_mod_LDFLAGS): Likewise.
28362 (search_label_mod_SOURCES): Likewise.
28363 (search_label_mod_CFLAGS): Likewise.
28364 (search_label_mod_LDFLAGS): Likewise.
28365 (search_fs_uuid_mod_SOURCES): New variable.
28366 (search_fs_uuid_mod_CFLAGS): Likewise.
28367 (search_fs_uuid_mod_LDFLAGS): Likewise.
28368 (fs_file_mod_SOURCES): Removed.
28369 (fs_file_mod_CFLAGS): Likewise.
28370 (fs_file_mod_LDFLAGS): Likewise.
28371 (fs_uuid_mod_SOURCES): Removed.
28372 (fs_uuid_mod_CFLAGS): Likewise.
28373 (fs_uuid_mod_LDFLAGS): Likewise.
28374 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
28375 Set to util/grub-install.in.
28376 * disk/fs_file.c: Removed.
28377 * disk/fs_uuid.c: Likewise.
28378 * include/grub/search.h: New file.
28379 * util/grub-install.in: Handle sparc64.
28380 Create and use load.cfg.
28381 * util/sparc64/ieee1275/grub-install.in: Removed.
28382
db943399
VS
283832009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28384
28385 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
28386 Ignore return status if CF is cleared.
28387 (grub_biosdisk_get_diskinfo_standard): Likewise.
28388
3fdae612
RM
283892009-12-25 Robert Millan <rmh.grub@aybabtu.com>
28390
28391 * term/i386/pc/at_keyboard.c
28392 (keyboard_controller_wait_untill_ready): New function.
28393 (grub_keyboard_controller_write, grub_keyboard_controller_read)
28394 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
28395 for keyboard polling, rather than duplicate the same loop. This
28396 saves a few bytes in code size.
28397
7ebaa2b4
VS
283982009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28399
28400 Support for (pxe[:server[:gateway]]) syntax and
28401 use environment variable for PXE.
28402
28403 * commands/i386/pc/pxecmd.c (options): Removed.
28404 (print_ip): Removed.
28405 (grub_cmd_pxe): Removed
28406 (grub_cmd_pxe_unload): New function.
28407 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
28408 (grub_pxe_your_ip): Made static.
28409 (grub_pxe_default_server_ip): Likewise.
28410 (grub_pxe_default_gateway_ip): Likewise.
28411 (grub_pxe_blksize): Likewise.
28412 (parse_ip): New function.
28413 (grub_pxe_open): Support server and gateway specification.
28414 (grub_pxe_close): Free disk->data.
28415 (grub_pxefs_open): Use disk->data.
28416 (grub_pxefs_read): Likewise.
28417 (grub_env_write_readonly): New function.
28418 (set_mac_env): Likewise.
28419 (set_env_limn_ro): Likewise.
28420 (parse_dhcp_vendor): Likewise.
28421 (grub_pxe_detect): Set the environment variables.
28422 (set_ip_env): New function.
28423 (write_ip_env): Likewise.
28424 (grub_env_write_pxe_default_server): Likewise.
28425 (grub_env_write_pxe_default_gateway): Likewise.
28426 (grub_env_write_pxe_blocksize): Likewise.
28427 (GRUB_MOD_INIT(pxe)): Set environment variables.
28428 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
28429 (grub_pxe_mac_addr_t): ... this. All users updated.
28430 (grub_pxe_your_ip): Removed.
28431 (grub_pxe_server_ip): Likewise.
28432 (grub_pxe_gateway_ip): Likewise.
28433 (grub_pxe_blksize): Likewise.
28434
ec5f98ab 284352009-12-25 Carles Pina i Estany <carles@pina.cat>
28436
28437 * commands/help.c: Include `<grub/i18n.h>'.
28438 (grub_cmd_help): Gettextizze.
28439 (GRUB_MOD_INIT): Likewise.
28440 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
28441 (GRUB_MOD_INIT): Gettextizze.
28442 * commands/search.c: Include `<grub/i18n.h>'.
28443 (options): Gettextizze.
28444 (GRUB_MOD_INIT): Gettextizze.
28445 * lib/arg.c: Include `<grub/i18n.h>'.
28446 (help_options): Gettextizze.
28447 (find_long): Likewise.
28448 (grub_arg_show_help): Likewise.
28449 * normal/dyncmd.c: Include `<grub/i18n.h>'.
28450 (read_command_list): Gettextizze.
28451 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 28452 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 28453
22815526
RM
284542009-12-25 Robert Millan <rmh.grub@aybabtu.com>
28455
28456 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
28457 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
28458 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
28459 (led_status): New variable.
28460 (keyboard_controller_led): New function.
28461 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
28462 update led status for caps lock, num lock and scroll lock.
28463
0ad46fd7
FZ
284642009-12-25 Felix Zielcke <fzielcke@z-51.de>
28465
28466 * util/hostdisk.c (open_device): Fix a comment.
28467
d0e158c2
RM
284682009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28469
28470 * util/grub-install.in (host_os): New variable.
28471 * util/i386/efi/grub-install.in (host_os): Likewise.
28472
401c0ad6
RM
284732009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28474
28475 * util/mkisofs/write.c (padblock_write): Abort when given an
28476 excedingly large embed image, instead of silently truncating it.
28477
d14d3370
RM
284782009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28479
28480 * include/multiboot.h: Indentation fixes.
28481
eeed10b4
RM
284822009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28483
28484 * include/multiboot.h (struct multiboot_aout_symbol_table)
28485 (struct multiboot_elf_section_header_table): New structure
28486 declarations (stolen from GRUB Legacy).
28487 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
28488 table information.
28489
28490 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
28491 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
28492 type aliases.
28493
681c70ab
RM
284942009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28495
28496 * include/multiboot.h: Make comments src2texi-friendly.
28497
e4d47d8d
RM
284982009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28499
28500 For consistency with [multiboot]/docs/boot.S.
28501
28502 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
28503 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
28504 (MULTIBOOT_MAGIC2): Rename from this ...
28505 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
28506
a0b70bda
RM
285072009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28508
28509 * include/multiboot.h: Remove `<grub/types.h>'.
28510 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
28511 types. Update all users.
28512
61ba42be 285132009-12-25 Carles Pina i Estany <carles@pina.cat>
28514
28515 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
28516 `couldn't' and `can not' by `cannot'.
28517 * commands/i386/pc/drivemap.c: Likewise.
28518 * disk/ata.c: Likewise.
28519 * disk/ieee1275/nand.c: Likewise.
28520 * fs/affs.c: Likewise.
28521 * fs/fat.c: Likewise.
28522 * fs/hfs.c: Likewise.
28523 * fs/hfsplus.c: Likewise.
28524 * fs/iso9660.c: Likewise.
28525 * fs/jfs.c: Likewise.
28526 * fs/minix.c: Likewise.
28527 * fs/reiserfs.c: Likewise.
28528 * fs/sfs.c: Likewise.
28529 * fs/udf.c: Likewise.
28530 * fs/ufs.c: Likewise.
28531 * fs/xfs.c: Likewise.
28532 * loader/powerpc/ieee1275/linux.c: Likewise.
28533 * loader/sparc64/ieee1275/linux.c: Likewise.
28534 * util/grub-probe.c: Likewise.
28535 * util/misc.c: Likewise.
28536
7fd0baee 285372009-12-24 Carles Pina i Estany <carles@pina.cat>
28538
28539 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
28540 grub_errno calls.
28541 * commands/acpi.c: Likewise.
28542 * commands/blocklist.c: Likewise.
28543 * commands/efi/loadbios.c: Likewise.
28544 * commands/i386/pc/drivemap.c: Likewise.
28545 * commands/loadenv.c: Likewise.
28546 * commands/memrw.c: Likewise.
28547 * commands/password.c: Likewise.
28548 * commands/videotest.c: Likewise.
28549 * disk/ata.c: Likewise.
28550 * disk/ata_pthru.c: Likewise.
28551 * disk/dmraid_nvidia.c: Likewise.
28552 * disk/ieee1275/nand.c: Likewise.
28553 * disk/ieee1275/ofdisk.c: Likewise.
28554 * disk/loopback.c: Likewise.
28555 * disk/lvm.c: Likewise.
28556 * disk/mdraid_linux.c: Likewise.
28557 * disk/raid.c: Likewise.
28558 * disk/raid6_recover.c: Likewise.
28559 * disk/scsi.c: Likewise.
28560 * efiemu/main.c: Likewise.
28561 * efiemu/mm.c: Likewise.
28562 * efiemu/pnvram.c: Likewise.
28563 * efiemu/symbols.c: Likewise.
28564 * font/font.c: Likewise.
28565 * fs/cpio.c: Likewise.
28566 * fs/hfsplus.c: Likewise.
28567 * fs/iso9660.c: Likewise.
28568 * fs/jfs.c: Likewise.
28569 * fs/minix.c: Likewise.
28570 * fs/ntfs.c: Likewise.
28571 * fs/ntfscomp.c: Likewise.
28572 * fs/reiserfs.c: Likewise.
28573 * fs/ufs.c: Likewise.
28574 * fs/xfs.c: Likewise.
28575 * gettext/gettext.c: Likewise.
28576 * include/grub/auth.h: Likewise.
28577 * kern/elf.c: Likewise.
28578 * kern/file.c: Likewise.
28579 * kern/ieee1275/init.c: Likewise.
28580 * kern/ieee1275/mmap.c: Likewise.
28581 * kern/ieee1275/openfw.c: Likewise.
28582 * kern/powerpc/dl.c: Likewise.
28583 * kern/sparc64/dl.c: Likewise.
28584 * lib/arg.c: Likewise.
28585 * loader/i386/bsd.c: Likewise.
28586 * loader/i386/bsdXX.c: Likewise.
28587 * loader/i386/efi/linux.c: Likewise.
28588 * loader/i386/efi/xnu.c: Likewise.
28589 * loader/i386/ieee1275/linux.c: Likewise.
28590 * loader/i386/linux.c: Likewise.
28591 * loader/i386/multiboot.c: Likewise.
28592 * loader/i386/pc/linux.c: Likewise.
28593 * loader/i386/pc/multiboot2.c: Likewise.
28594 * loader/i386/xnu.c: Likewise.
28595 * loader/ieee1275/multiboot2.c: Likewise.
28596 * loader/macho.c: Likewise.
28597 * loader/machoXX.c: Likewise.
28598 * loader/multiboot2.c: Likewise.
28599 * loader/multiboot_loader.c: Likewise.
28600 * loader/powerpc/ieee1275/linux.c: Likewise.
28601 * loader/sparc64/ieee1275/linux.c: Likewise.
28602 * loader/xnu.c: Likewise.
28603 * loader/xnu_resume.c: Likewise.
28604 * mmap/i386/pc/mmap.c: Likewise.
28605 * normal/menu_viewer.c: Likewise.
28606 * partmap/acorn.c: Likewise.
28607 * partmap/amiga.c: Likewise.
28608 * partmap/apple.c: Likewise.
28609 * script/lexer.c: Likewise.
28610 * term/gfxterm.c: Likewise.
28611 * term/i386/pc/serial.c: Likewise.
28612 * term/i386/pc/vga.c: Likewise.
28613 * term/ieee1275/ofconsole.c: Likewise.
28614 * term/terminfo.c: Likewise.
28615 * video/bitmap.c: Likewise.
28616 * video/efi_gop.c: Likewise.
28617 * video/efi_uga.c: Likewise.
28618 * video/fb/video_fb.c: Likewise.
28619 * video/i386/pc/vbe.c: Likewise.
28620 * video/readers/tga.c: Likewise.
28621 * video/video.c: Likewise.
28622
0ad46fd7 286232009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
28624
28625 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
28626 * commands/lspci.c: Likewise.
28627 * commands/probe.c: Likewise.
28628 * commands/xnu_uuid.c: Likewise.
28629 * conf/i386-coreboot.rmk: Likewise.
28630 * conf/i386-efi.rmk: Likewise.
28631 * conf/i386-ieee1275.rmk: Likewise.
28632 * conf/i386-pc.rmk: Likewise.
28633 * conf/powerpc-ieee1275.rmk: Likewise.
28634 * conf/sparc64-ieee1275.rmk: Likewise.
28635 * conf/x86_64-efi.rmk: Likewise.
28636 * fs/i386/pc/pxe.c: Likewise.
28637 * gettext/gettext.c: Likewise.
28638 * include/grub/efi/graphics_output.h: Likewise.
28639 * include/grub/i386/pc/memory.h: Likewise.
28640 * kern/env.c: Likewise.
28641 * kern/i386/qemu/startup.S: Likewise.
28642 * lib/i386/pc/biosnum.c: Likewise.
28643 * lib/i386/relocator.c: Likewise.
28644 * lib/i386/relocator_asm.S: Likewise.
28645 * lib/relocator.c: Likewise.
28646 * loader/i386/bsd.c: Likewise.
28647 * loader/i386/multiboot.c: Likewise.
28648 * loader/i386/pc/chainloader.c: Likewise.
28649 * loader/i386/xnu.c: Likewise.
28650 * loader/xnu.c: Likewise.
28651 * normal/main.c: Likewise.
28652 * normal/menu_text.c: Likewise.
28653 * util/getroot.c: Likewise.
28654 * util/grub-mkconfig_lib.in: Likewise.
28655 * util/grub.d/00_header.in: Likewise.
28656 * util/i386/pc/grub-mkimage.c: Likewise.
28657 * util/mkisofs/eltorito.c: Likewise.
28658 * util/mkisofs/exclude.h: Likewise.
28659 * util/mkisofs/hash.c: Likewise.
28660 * util/mkisofs/iso9660.h: Likewise.
28661 * util/mkisofs/joliet.c: Likewise.
28662 * util/mkisofs/mkisofs.c: Likewise.
28663 * util/mkisofs/mkisofs.h: Likewise.
28664 * util/mkisofs/multi.c: Likewise.
28665 * util/mkisofs/name.c: Likewise.
28666 * util/mkisofs/rock.c: Likewise.
28667 * util/mkisofs/tree.c: Likewise.
28668 * util/mkisofs/write.c: Likewise.
28669 * video/efi_gop.c: Likewise.
28670
009ec743
VS
286712009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
28672
28673 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
28674 size counting.
28675
0ad46fd7 286762009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
28677
28678 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
28679 * genmk.rb (class SCRIPT): Modify the target file instead of source.
28680
d3d30ea0
VS
286812009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28682
28683 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
28684 (GRUB_MOD_INIT(memrw)): Update help line.
28685
a34f5c70
VS
286862009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28687
28688 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
28689 Use grub_extcmd_t. All users updated.
28690 (options): New variable.
28691 (grub_cmd_read): Restructure for readability. Support "-v" option.
28692 (grub_cmd_write): Restructure for readability.
28693
0ad46fd7 286942009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
28695
28696 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
28697
0ad46fd7 286982009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
28699
28700 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
28701 with the actual contents of the correspondending make variable.
28702 * util/grub-mkrescue.in (pkglib_DATA): New variable.
28703 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
28704 specifying `*.lst' and `efiemu??.o'
28705
0ad46fd7 287062009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
28707
28708 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
28709 after function name.
28710 Noticed by Rene Engelhard <rene@debian.org>.
28711
dc77a799
VS
287122009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28713
28714 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
28715 (options): New variable.
28716 (iospace): Likewise.
28717 (grub_lspci_iter): List IO spaces if "-i" was given.
28718 (grub_cmd_lspci): Parse options.
28719 (GRUB_MOD_INIT(lspci)): Use extcmd.
28720 (GRUB_MOD_FINI(lspci)): Likewise.
28721
0ad46fd7 287222009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
28723
28724 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
28725 `function' keyword.
28726 Patch by Tony Mancill <tmancill@debian.org>.
28727
b5d5993b
VS
287282009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28729
28730 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
28731 (grub_uhci_portstatus): Likewise.
28732 (grub_uhci_portstatus): Add necessary delay.
11d18281 28733 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 28734
941903f2 287352009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 28736
941903f2 28737 * commands/acpi.c (options): Fix capitalizations and/or full stops.
28738 (GRUB_MOD_INIT): Likewise.
28739 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 28740 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
28741 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 28742 * commands/efi/loadbios.c (enable_rom_area): Likewise.
28743 (enable_rom_area): Likewise.
28744 (GRUB_MOD_INIT): Likewise.
28745 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
28746 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
28747 * commands/handler.c (GRUB_MOD_INIT): Likewise.
28748 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
28749 * commands/hexdump.c (options): Likewise.
28750 * commands/i386/cpuid.c (options): Likewise.
28751 (GRUB_MOD_INIT): Likewise.
28752 * commands/i386/pc/drivemap.c (options): Likewise.
28753 (GRUB_MOD_INIT): Likewise.
28754 * commands/i386/pc/halt (options): Likewise.
28755 (GRUB_MOD_INIT): Likewise.
28756 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
28757 * commands/i386/pc/pxecmd.c (options): Likewise.
28758 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
28759 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
28760 * commands/keystatus.c (options): Likewise.
28761 (GRUB_MOD_INIT): Likewise.
28762 * commands/loadenv.c (options): Likewise.
28763 * commands/ls.c (options): Likewise.
28764 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
28765 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
28766 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
28767 * commands/parttool.c (helpmsg): Likewise.
28768 * commands/probe.c (options): Likewise.
28769 * commands/read.c (GRUB_MOD_INIT): Likewise.
28770 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
28771 * commands/search.c (options): Likewise.
28772 * commands/sleep.c (options): Likewise.
28773 * commands/test.c (GRUB_MOD_INIT): Likewise.
28774 * commands/true.c (GRUB_MOD_INIT): Likewise.
28775 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
28776 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
28777 * lib/arg.c (help_options): Likewise.
e9bbb4e7 28778 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
28779 `$(XGETTEXT)'.
98a50553 28780 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 28781
0ad46fd7 287822009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 28783
ef3c2c3a 28784 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
28785 instead of specifying them explicit.
28786
7922f68b
RM
287872009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28788
28789 * NEWS: Add grub-probe support for GNU/Hurd.
28790
537ce47f
RM
287912009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28792
28793 * NEWS: gettext was added after 1.97.
28794
9b214e3a
RM
287952009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28796
28797 * util/mkisofs/msdos_partition.h: New file (based on
28798 include/grub/msdos_partition.h).
28799 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
28800 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
28801 (ld_options, main): Recognize --protective-msdos-label.
28802 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
28803 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
28804 (padblock_write): If `use_protective_msdos_label' is set, patch a
28805 protective DOS-style label in the output image.
28806
28807 * util/grub-mkrescue.in: Use --protective-msdos-label.
28808
e9309813
RM
288092009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28810
28811 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
28812 boot.
28813
0ae56929
RM
288142009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28815
28816 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
28817 variables.
28818 (ld_options, main): Recognize `--embedded-boot'.
28819 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
28820 declarations.
28821 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
28822 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
28823 (padblock_write): Likewise. Rewrite to support embedded boot image.
28824
28825 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
28826 for BIOS-based disk boot instead of only ElTorito.
28827
b15937b1
RM
288282009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28829
28830 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
28831 build (not needed for bootstrap).
28832
52cc3ce0
RM
288332009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28834
28835 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
28836 from i386-pc build (not needed for bootstrap).
28837 Rewrite a pair of strings.
28838
36f5ff04
RM
288392009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28840
28841 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
28842
973c6c85 288432009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
28844
28845 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
28846
05d21547
AB
288472009-12-21 Andreas Born <futur.andy@googlemail.com>
28848
28849 * kern/env.c (grub_env_context_open): Mark exported variable for
28850 reexport.
28851
0175d51f
AB
288522009-12-21 Andreas Born <futur.andy@googlemail.com>
28853
28854 * kern/env.c (grub_env_export): Create nonexistent variables before
28855 exporting.
28856
7f39d92f 288572009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 28858
7f39d92f 28859 * include/grub/auth.h: Include `<grub/i18n.h>'.
28860 (GRUB_GET_PASSWORD): Gettextizze string.
28861 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
28862 menu_text.c.
28863 (grub_utf8_to_ucs4_alloc): Fix indentation.
28864 (grub_print_ucs4): Likewise.
28865 (grub_getstringwidth): Likewise.
28866 (print_message_indented): New declaration.
28867 * normal/auth.c: Include `<grub/i18n.h>'.
28868 (grub_auth_check_authentication): Gettexttize string.
28869 * normal/cmdline.c: Include `<grub/i18n.h>'.
28870 (grub_cmdline_get): Gettextizze.
28871 * normal/color.c: Include `<grub/i18n.h>'.
28872 (grub_parse_color_name_pair): Gettexttize strings.
28873 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
28874 string (use `print_message_indented').
28875 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
28876 `include/grub/normal.h'.
28877 (print_message_indented): Renamed to ...
28878 (grub_print_message_indented): ... this. Remove `static' qualifer (now
28879 used in normal/main.c).
28880 (print_message): Use `grub_print_message_indented' instead of
28881 `print_message_indented'.
28882 (print_timeout): Likewise.
28883 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
28884 (grub_normal_print_device_info): Gettexttize strings.
28885 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
28886
3041d898
VS
288872009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
28888
28889 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
28890 of arguments. Return number of tokens and not arguments. All users
28891 updated.
28892
de15bf8e
VS
288932009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
28894
28895 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
28896 non-MSDOS paritions.
28897
e0a6ca52
VS
288982009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
28899
28900 * include/grub/types.h (UNUSED): Removed since it conflicts with
28901 NetBSD headers. All users changed to direct __attribute__ ((unused)).
28902 Reported by Grégoire Sutre.
28903
b99518d1 289042009-12-19 Carles Pina i Estany <carles@pina.cat>
28905
28906 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
28907 (grub_print_ucs4_alloc): Likewise.
28908 (grub_getstringwidth): Likewise.
28909 * normal/main.c (grub_normal_init_page): Gettextize version string.
28910 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
28911 (getstringwidth): Renamed to ...
28912 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
28913 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
28914 (grub_print_ucs4): Remove `static' qualifer (now used in
28915 normal/main.c).
28916 * po/POTFILES: Add normal/main.c.
28917
bfd5e52b 289182009-12-19 Carles Pina i Estany <carles@pina.cat>
28919
28920 * normal/menu_text.c (STANDARD_MARGIN): New macro.
28921 (print_message_indented): Add `margin_left' and `margin_right'
28922 parameters.
28923 (print_message): Update `print_message_indented' calls. Adds '\n' to the
28924 strings.
28925 (print_timeout): Use `print_message_indented' to print the message.
28926 Deletes `second_stage' parameter.
28927 (run_menu): Update `print_timeout' calls.
28928
5a1ad2b9
VS
289292009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28930
28931 Fix console palette on OpenFirmware.
28932
28933 * term/ieee1275/ofconsole.c (MAX): Removed.
28934 (colors): Redone based on VGA palette.
28935 (grub_ofconsole_setcolor): Discard brightness bit since only 8
28936 colors are supported.
28937 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
28938
b045f00a
VS
289392009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28940
28941 Fix potential EfiEmu double prepare.
28942
28943 * efiemu/main.c (prepared): New variable
28944 (grub_efiemu_unload): Set prepare to '0'.
28945 (grub_efiemu_prepare): Return if already prepared. Set prepared.
28946
28947 set_virtual_address_map support.
28948
28949 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
28950 prototype.
28951 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
28952 prototype.
28953 (grub_efiemu_crc32): Likewise.
28954 (grub_efiemu_crc64): Likewise.
28955 (grub_efiemu_set_virtual_address_map): Likewise.
28956 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
28957 New definition.
28958 (grub_autoefi_set_virtual_address_map): Likewise.
28959 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
28960 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
28961 Restructure flow to accomodate it.
28962 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
28963 (grub_efiemu_crc): Recompute CRC32.
28964 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
28965 (efiemu_ptv_relocated): ... this. Made global. All users updated.
28966 * efiemu/symbols.c (relocated_handle): New variable.
28967 (grub_efiemu_free_syms): Free relocated_handle.
28968 (grub_efiemu_alloc_syms): Allocate relocated_handle.
28969 (grub_efiemu_write_sym_markers): New function.
28970 (grub_efiemu_set_virtual_address_map): Likewise.
28971
28972 Newer XNU parameters.
28973
28974 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
28975 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
28976 (grub_xnu_fill_devicetree): New prototype.
28977 (grub_xnu_heap_real_start): New variable.
28978 * loader/xnu.c (get_name_ptr): New function.
28979 (grub_xnu_load_driver): Fill namelen and name.
28980
28981 64-bit xnu support.
28982
28983 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
28984 and 'loader/macho64.c'.
28985 * conf/i386-pc.rmk: Likewise.
28986 * conf/x86_64-efi.rmk: Likewise.
28987 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
28988 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
28989 * include/grub/macho.h (grub_macho_segment64): New structure.
28990 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
28991 (grub_macho_size32): ... to this.
28992 (grub_macho32_get_entry_point): Renamed from ...
28993 (grub_macho_get_entry_point32): ... to this.
28994 (grub_macho_contains_macho64): New prototype.
28995 (grub_macho_size64): Likewise.
28996 (grub_macho_get_entry_point64): Likewise.
28997 (grub_macho32_load): Renamed from ...
28998 (grub_macho_load32): ... to this.
28999 (grub_macho32_filesize): Renamed from ...
29000 (grub_macho_filesize32): ... to this.
29001 (grub_macho32_readfile): Renamed from ...
29002 (grub_macho_readfile32): ... to this.
29003 (grub_macho_filesize64): New prototype.
29004 (grub_macho_readfile64): Likewise.
29005 (grub_macho_parse32): Likewise.
29006 (grub_macho_parse64): Likewise.
29007 * loader/macho.c: Split into ...
29008 * loader/machoXX.c: ... and this. Replace 32 with XX.
29009 * loader/macho32.c: New file.
29010 * loader/macho64.c: Likewise.
29011 * loader/xnu.c (grub_xnu_is_64bit): New variable.
29012 (grub_cmd_xnu_kernel): Make 32-bit only.
29013 (grub_cmd_xnu_kernel64): New function.
29014 (grub_xnu_load_driver): Support Mach-O 64.
29015 (grub_cmd_xnu_mkext): Likewise.
29016 * util/grub.d/30_os-prober.in (osx_entry): New function.
29017 Generate entries for 64-bit boot too.
29018
29019 Eliminate ad-hoc tree format in XNU and EfiEmu.
29020
29021 * efiemu/main.c (grub_efiemu_prepare): Update comment.
29022 * efiemu/pnvram.c: Rewritten to use environment variables.
29023 All users updated.
29024
29025 Inline utf16_to_utf8.
29026
29027 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
29028 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
29029 All users updated.
29030 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
29031
29032 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
29033 * commands/usbtest.c (grub_usb_get_string): ... move here.
29034 (usb_print_str): Fix error handling.
29035 * include/grub/usb.h (grub_usb_get_string): Remove.
29036
29037 UTF-8 to UTF-16 transformation.
29038
29039 * conf/common.rmk (pkglib_MODULES): Add charset.mod
29040 (charset_mod_SOURCES): New variable.
29041 (charset_mod_CFLAGS): Likewise.
29042 (charset_mod_LDFLAGS): Likewise.
29043 * include/grub/utf.h: New file.
29044 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
29045
29046 Support for device properties.
29047
29048 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
29049 (grub_xnu_devprop_device_header): Likewise.
29050 (grub_xnu_devprop_device_descriptor): Likewise.
29051 (grub_xnu_devprop_add_device): New prototype.
29052 (grub_xnu_devprop_remove_device): Likewise.
29053 (grub_xnu_devprop_remove_property): Likewise.
29054 (grub_xnu_devprop_add_property_utf8): Likewise.
29055 (grub_xnu_devprop_add_property_utf16): Likewise.
29056 (grub_cpu_xnu_init): Likewise.
29057 (grub_cpu_xnu_fini): Likewise.
29058 (grub_cpu_xnu_unload): Likewise.
29059 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
29060 (property_descriptor): Likewise.
29061 (devices): New variable.
29062 (grub_xnu_devprop_remove_property): New function.
29063 (grub_xnu_devprop_add_device): Likewise.
29064 (grub_xnu_devprop_remove_device): Likewise.
29065 (grub_xnu_devprop_add_property): Likewise.
29066 (grub_xnu_devprop_add_property_utf8): Likewise.
29067 (grub_xnu_devprop_add_property_utf16): Likewise.
29068 (hextoval): Likewise.
29069 (grub_cpu_xnu_fill_devprop): Likewise.
29070 (grub_cmd_devprop_load): Likewise.
29071 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
29072 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
29073 (cmd_devprop_load): New variable.
29074 (grub_cpu_xnu_init): New function.
29075 (grub_cpu_xnu_fini): Likewise.
29076 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
29077 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
29078 (grub_cmd_xnu_devtree): Likewise.
29079 (hextoval): New function.
29080 (unescape): Likewise.
29081 (grub_xnu_fill_devicetree): Likewise.
29082
29083 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
29084 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
29085
0945f181
VS
290862009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29087
29088 Workaround for broken ATI VBE.
29089
29090 * video/i386/pc/vbe.c (last_set_mode): New variable.
29091 (grub_vbe_set_video_mode): Set 'last_set_mode'.
29092 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
29093 (grub_video_vbe_setup): Don't check for reserved flag.
29094
0ad46fd7 290952009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
29096
29097 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
29098 the `find' command.
29099
c179ebe4
VS
291002009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
29101
29102 UUID support for HFS.
29103
29104 * fs/hfs.c (grub_hfs_uuid): New function.
29105 (grub_hfs_fs): New value .uuid.
29106 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
29107
0ad46fd7 291082009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
29109
29110 Fix a segfault with parsing unknown long options.
29111
29112 * util/grub-mkrelpath.c (options): Zero terminate it.
29113
c4a3e41a
CPE
291142009-12-13 Carles Pina i Estany <carles@pina.cat>
29115
29116 * include/grub/misc.h (grub_puts): New declaration.
29117 (grub_puts_): Likewise.
a22008a6 29118 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
29119 (grub_puts_): Likewise.
29120
2e8a7602
RM
291212009-12-13 Robert Millan <rmh.grub@aybabtu.com>
29122
29123 * util/grub-probe.c (probe): Improve error message.
29124
b50b77b9
RM
291252009-12-13 Robert Millan <rmh.grub@aybabtu.com>
29126
29127 * loader/i386/multiboot_elfxx.c
29128 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
29129 initialization.
29130
291312009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
29132
29133 Relocator framework
29134
29135 * loader/i386/xnu_helper.S: Removed. All users updated.
29136 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
29137 (relocator_mod_SOURCES): New variable.
29138 (relocator_mod_CFLAGS): Likewise.
29139 (relocator_mod_LDFLAGS): Likewise.
29140 (relocator_mod_ASFLAGS): Likewise.
29141 * conf/x86_64.rmk: Likewise.
29142 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
29143 (grub_multiboot_payload_entry_offset): Likewise.
29144 (grub_multiboot_forward_relocator): Likewise.
29145 (grub_multiboot_forward_relocator_end): Likewise.
29146 (grub_multiboot_backward_relocator): Likewise.
29147 (grub_multiboot_backward_relocator_end): Likewise.
29148 (grub_multiboot_payload_eip): New variable.
29149 (grub_multiboot_payload_orig): Likewise.
29150 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
29151 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
29152 * include/grub/i386/memory.h
29153 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
29154 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
29155 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
29156 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
29157 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
29158 * include/grub/i386/relocator.h: New file.
29159 * include/grub/x86_64/relocator.h: Likewise.
29160 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
29161 (XNU_RELOCATOR): New macro.
29162 (grub_xnu_launcher_start): Remove.
29163 (grub_xnu_launcher_end): Likewise.
29164 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
29165 (grub_xnu_heap_real_start): Remove.
29166 (grub_xnu_heap_start): Change to void *. All users updated.
29167 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
29168 * lib/i386/relocator.c: New file.
29169 * lib/i386/relocator_asm.S: Likewise.
29170 * lib/i386/relocator_backward.S: Likewise.
29171 * lib/mips/relocator.c: Likewise.
29172 * lib/mips/relocator_asm.S: Likewise.
29173 * lib/relocator.c: Likewise.
29174 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
29175 (entry): Removed.
29176 (playground): Likewise.
29177 (grub_multiboot_payload_orig): New variable.
29178 (grub_multiboot_payload_dest): Likewise.
29179 (grub_multiboot_payload_size): Likewise.
29180 (grub_multiboot_payload_eip): Likewise.
29181 (grub_multiboot_payload_esp): Likewise.
29182 (grub_multiboot_boot): Use grub_relocator32_boot.
29183 (grub_multiboot_unload): Free relocators.
29184 (grub_multiboot): Setup stack. Use relocators.
29185 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
29186 (grub_multiboot_load_elfXX): Use relocators.
29187 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
29188 (grub_multiboot_payload_size): Likewise.
29189 (grub_multiboot_payload_dest): Likewise.
29190 (grub_multiboot_payload_entry_offset): Likewise.
29191 (grub_multiboot_forward_relocator): Likewise.
29192 (grub_multiboot_backward_relocator): Likewise.
29193 (grub_multiboot_real_boot): Likewise.
29194 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
29195 (grub_xnu_entry_point): Likewise.
29196 (grub_xnu_arg1): Likewise.
29197 (grub_xnu_stack): Likewise.
29198 (grub_xnu_launch): Removed.
29199 (grub_xnu_boot_resume): New function.
29200 (grub_xnu_boot): Use relocators.
29201 * loader/i386/xnu_helper.S: Removed.
29202 * loader/xnu.c (grub_xnu_heap_start): New variable.
29203 (grub_xnu_heap_size): Likewise.
29204 (grub_xnu_heap_malloc): Use relocators.
29205 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
29206
29eb90c6
VS
292072009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
29208
29209 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
29210 anything.
29211
31027430
CPE
292122009-12-13 Carles Pina i Estany <carles@pina.cat>
29213
29214 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
29215 GRUB_ERR_NONE before calling grub_env_set.
29216
dc0c71d9
RM
292172009-12-12 Robert Millan <rmh@aybabtu.com>
29218
29219 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
29220 * genmk.rb (video): New variable.
29221 (CLEANFILES, VIDEOFILES): Add #{video}.
29222 (#{video}): New target rule.
29223 * genvideolist.sh: New file.
29224 * Makefile.in (pkglib_DATA): Add video.lst.
29225 (video.lst): New target rule.
29226 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
29227 `video.lst'.
29228 * util/grub.d/30_os-prober.in: Replace `vbe' with
29229 ${GRUB_VIDEO_BACKEND}.
29230
2a4bfcf0
RM
292312009-12-11 Robert Millan <rmh.grub@aybabtu.com>
29232
29233 * THANKS: Add David Miller.
29234
2a3aa4d5
RM
292352009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
29236
29237 libpciaccess support.
29238
29239 * Makefile.in (LIBPCIACCESS): New variable.
29240 (enable_grub_emu_pci): Likewise.
29241 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
29242 util/pci.c and commands/lspci.c.
29243 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
29244 * configure.ac (grub-emu-pci): New option.
29245 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
29246 (grub_pci_device_unmap_range): Likewise.
29247 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
29248 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
29249 (grub_pci_address_t) [!GRUB_UTIL]: New type.
29250 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
29251 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
29252 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
29253 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
29254 * include/grub/pciutils.h: New file.
29255 * util/pci.c: Likewise.
29256
0ad46fd7 292572009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
29258
29259 * util/misc.c: Don't include <errno.h> twice.
29260
0ad46fd7 292612009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
29262
29263 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
29264 name in an error message.
29265 (grub_biosdisk_rw): Likewise.
29266
2e59983c
VS
292672009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29268
29269 Eliminate NTFS 4Gib barrier.
29270
29271 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
29272 (read_run_data): Likewise.
29273 (grub_ntfs_read_run_list): Likewise.
29274 (grub_ntfs_read_block): Likewise.
29275 (grub_ntfs_iterate_dir): Likewise.
29276 (read_mft): Likewise.
29277 (read_data): Likewise.
29278 Use COM_LOG_LEN.
29279 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
29280 to avoid 64-bit division
29281 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
29282 (grub_ntfs_rlst): Use grub_disk_addr_t.
29283
71ee178a
VS
292842009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29285
29286 Eliminate grub-fstest 4Gib barrier.
29287
29288 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
29289 (read_file): Fix error reporting.
29290
2520d4b8
VS
292912009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29292
29293 Eliminate hexdump 4Gib barrier.
29294
29295 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
29296 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
29297
e1f27065
VS
292982009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29299
29300 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
29301 Fixes amarsh bug.
29302
1a0f7f45
RM
293032009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
29304
29305 Remove miscellaneous files in distclean target.
29306
29307 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
29308
c631d9fb
CW
293092009-12-09 Colin Watson <cjwatson@ubuntu.com>
29310
29311 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
29312 if they're already set. This resolves the conflict between my
29313 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
29314 fixing the --grub-probe option again.
29315 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
29316 change on 2009-10-06, so that we now once again source
29317 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
29318
7c7b6106
RM
293192009-12-08 Robert Millan <rmh.grub@aybabtu.com>
29320
29321 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
29322 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
29323 `util/devicemap.c'.
29324
e3069ec1
CPE
293252009-12-08 Carles Pina i Estany <carles@pina.cat>
29326
29327 * include/grub/misc.h (grub_printf_): New declaration.
29328 * kern/misc.c (grub_printf_): New definition.
29329 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
29330 instead of `grub_printf' and `_'.
29331 * normal/menu_entry.c (store_completion): Likewise.
29332 (run): Likewise.
29333 (grub_menu_entry_run): Likewise.
29334 * normal/menu_text.c (grub_wait_after_message): Likewise.
29335 (notify_booting): Likewise.
29336 (notify_fallback): Likewise.
29337 (notify_execution_failure): Likewise.
29338
d6ceebf1
CW
293392009-12-07 Colin Watson <cjwatson@ubuntu.com>
29340
29341 * configure.ac: Check for vasprintf.
29342 * util/misc.c (asprintf): Move allocation from here ...
29343 (vasprintf): ... to here. New function.
29344 (xasprintf): New function.
29345 * include/grub/util/misc.h (vasprintf, xasprintf): Add
29346 prototypes.
29347 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
29348 * util/grub-mkfont.c (write_font): Likewise.
29349 * util/grub-probe.c (probe): Likewise.
29350 * util/hostdisk.c (make_device_name): Likewise.
29351
de6daa8b
DM
293522009-12-06 David S. Miller <davem@sunset.davemloft.net>
29353
29354 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
29355 anything even prefixed with 'cdrom' as a cdrom.
29356
0ad46fd7 293572009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
29358
29359 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
29360 mount points.
29361
98d3dc02
CPE
293622009-12-05 Carles Pina i Estany <carles@pina.cat>
29363
29364 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
29365 grub_gettext_msg_list.
29366 (grub_gettext_gettranslation_from_position): Return const char *
29367 and not char *.
a2c1332b 29368 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
29369 returns from the list if existing there.
29370 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
29371 (grub_gettext_delete_list): Delete the list.
29372 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
29373 lang environment variable is changed.
29374 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
29375
b283f108
VS
293762009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
29377
29378 Rename kernel.mod to kernel.img.
29379
29380 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
29381 (kernel_mod_EXPORTS): Rename to ...
29382 (kernel_img_EXPORTS): ... this.
29383 (kernel_mod_SOURCES): Rename to ...
29384 (kernel_img_SOURCES): ... this.
29385 (kernel_mod_HEADERS): Rename to ...
29386 (kernel_img_HEADERS): ... this. All users updated.
29387 (kernel_mod_CFLAGS): Rename to ...
29388 (kernel_img_CFLAGS): ... this.
29389 (kernel_mod_ASFLAGS): Rename to ...
29390 (kernel_img_ASFLAGS): ... this.
29391 (kernel_mod_LDFLAGS): Rename to ...
29392 (kernel_img_LDFLAGS): ... this.
29393 * conf/x86_64-efi.rmk: Likewise.
29394 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
29395 (read_kernel_image): ... this. All users updated.
29396 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
29397
69055f8a
CPE
293982009-12-05 Carles Pina i Estany <carles@pina.cat>
29399
29400 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
29401 (print_spaces): New function.
29402 (grub_print_ucs4): New function.
29403 (getstringwidth): New function.
29404 (print_message_indented): New function.
29405 (print_message): Gettexttize strings using print_message_indented.
29406 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
29407 width.
29408 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 29409 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
29410 Gettextize.
29411 * normal/menu_entry.c (store_completion): Cleanup the gettextized
29412 string.
29413 (run): Likewise.
29414 (grub_menu_entry_run): Likewise.
29415 * PO/POTFILES: Add normal/menu_entry.c.
29416
f616f51c
VS
294172009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
29418
29419 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
29420
57bbe3be
CPE
294212009-12-05 Carles Pina i Estany <carles@pina.cat>
29422
29423 * util/grub-install.in: Install gettext .mo files.
29424 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
29425
013d67a1
CPE
294262009-12-05 Carles Pina i Estany <carles@pina.cat>
29427
29428 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
29429 grub_dprintf.
29430
fb954db0
RM
294312009-12-05 Robert Millan <rmh.grub@aybabtu.com>
29432
29433 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
29434 non-firmware-dependant one in realmode.S takes precedence.
29435
6b8474f8
RM
294362009-12-04 Robert Millan <rmh.grub@aybabtu.com>
29437
29438 * commands/halt.c: Replace misc arch-specific headers with
29439 `<grub/misc.h>'.
29440 * commands/reboot.c: Likewise.
29441 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
29442 `<grub/misc.h>'.
29443 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
29444 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
29445 (kernel_img_SOURCES): ... to here.
29446
29447 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
29448 * include/grub/i386/pc/init.h: Likewise.
29449 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
29450 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
29451
29452 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
29453
29454 * include/grub/i386/halt.h: Remove.
29455 * include/grub/i386/reboot.h: Likewise.
29456
29457 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
29458
4b2e6ca2
DM
294592009-12-03 David S. Miller <davem@sunset.davemloft.net>
29460
29461 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
29462 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
29463 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
29464 "progname.h"
29465 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
29466 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29467 (usage): Add missing comma in printf.
29468
5239348f
RM
294692009-12-02 Robert Millan <rmh.grub@aybabtu.com>
29470
29471 Use the same reboot approach on i386 coreboot and qemu as we do on
29472 BIOS.
29473
29474 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
29475 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
29476 * kern/i386/reboot.c: Remove.
29477 * include/grub/i386/reboot.h (grub_reboot): Export function.
29478 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
29479 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
29480 0xf000:0xfff0 instead of 0xffff:0x0000.
29481 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
29482 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
29483
ef34cbd4
RM
294842009-11-30 Robert Millan <rmh.grub@aybabtu.com>
29485
29486 Fix $srcdir != $objdir build.
29487
29488 * Makefile.in (po/%.po): Rewrite as ...
29489 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
29490
dc9837ea
ST
294912009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
29492
29493 Fix GNU/Hurd grub-install crash.
29494 * util/grub-probe.c (probe): Try to access `path' only when it is not
29495 NULL.
29496
2f857f98
VS
294972009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29498
29499 Correct module naming.
29500
29501 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
29502 (GRUB_MOD_INIT(efi_uga)): ... to this
29503 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
29504 (GRUB_MOD_FINI(efi_uga)): ... to this
29505 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
29506 (GRUB_MOD_INIT(efi_gop)): ... to this
29507 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
29508 (GRUB_MOD_FINI(efi_gop)): ... to this
29509
c5448046
RM
295102009-11-28 Robert Millan <rmh.grub@aybabtu.com>
29511
29512 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
29513 translatable.
29514 (usage): Translate `arg' strings using gettext().
29515 Thanks to Jordi Mallach for the suggestion.
29516
c85184ad
VS
295172009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29518
29519 GOP support. Based on patch from Bean
29520 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
29521
29522 * video/efi_gop.c: New file.
29523 * include/grub/efi/graphics_output.h: Likewise.
29524 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
29525 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
29526 variables.
29527 * conf/x86_64-efi.rmk: Likewise.
29528
8a4c48d8
VS
295292009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29530
29531 Rename efi_fb to efi_uga.
29532
29533 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
29534 'efi_uga.mod'.
29535 (efi_fb_mod_SOURCES): Rename this ...
29536 (efi_uga_mod_SOURCES): ... to this.
29537 (efi_fb_mod_CFLAGS): Rename this ...
29538 (efi_uga_mod_CFLAGS): ... to this.
29539 (efi_fb_mod_LDFLAGS): Rename this ...
29540 (efi_uga_mod_LDFLAGS): ... to this.
29541 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
29542 'efi_uga.mod'.
29543 (efi_fb_mod_SOURCES): Rename this ...
29544 (efi_uga_mod_SOURCES): ... to this.
29545 (efi_fb_mod_CFLAGS): Rename this ...
29546 (efi_uga_mod_CFLAGS): ... to this.
29547 (efi_fb_mod_LDFLAGS): Rename this ...
29548 (efi_uga_mod_LDFLAGS): ... to this.
29549 * video/efi_fb.c: Move this ...
29550 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
29551
fb6c1a7b
RM
295522009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29553
29554 * po/README: New file. Explain our PO file workflow.
29555
3bc7896c
RM
295562009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29557
29558 * po/ChangeLog: Remove. Move relevant entries back to ...
29559 * ChangeLog: ... here.
29560 * po/ca.po: Remove (now handled by TLP).
29561 * po/id.po: Likewise.
29562 * po/zh_CN.po: Likewise.
29563 * Makefile.in (LINGUAS): Initialize in a way that supports
29564 empty set.
29565
9ed4841d
RM
295662009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29567
29568 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
29569 reliing on po/LINGUAS.
29570 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
29571 (po/%.po): ... this.
29572
0ad46fd7 295732009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
29574
29575 * util/i386/efi/grub-mkimage.c: Include "progname.h".
29576 (main): Use `program_name' instead of nonexistent `progname'.
29577
e30dd392
FZ
295782009-11-26 Felix Zielcke <fzielcke@z-51.de>
29579
29580 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
29581 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
29582
7656de4f
RM
295832009-11-26 Robert Millan <rmh.grub@aybabtu.com>
29584
29585 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
29586 commit.
29587 * conf/i386-efi.rmk: Likewise.
29588 * conf/i386-ieee1275.rmk: Likewise.
29589 * conf/powerpc-ieee1275.rmk: Likewise.
29590 * conf/sparc64-ieee1275.rmk: Likewise.
29591 * conf/x86_64-efi.rmk: Likewise.
29592
db77c4d4
FZ
295932009-11-26 Felix Zielcke <fzielcke@z-51.de>
29594
29595 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
29596
a755bb04
FZ
295972009-11-26 Felix Zielcke <fzielcke@z-51.de>
29598
29599 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
29600
8a4c07fd
RM
296012009-11-26 Robert Millan <rmh.grub@aybabtu.com>
29602
29603 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
29604 (grub_mkdevicemap_SOURCES): New variable.
29605 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
29606 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
29607 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
29608 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
29609 (grub_mkdevicemap_SOURCES): Remove.
29610 * conf/i386-efi.rmk: Likewise.
29611 * conf/i386-ieee1275.rmk: Likewise.
29612 * conf/i386-pc.rmk: Likewise.
29613 * conf/powerpc-ieee1275.rmk: Likewise.
29614 * conf/sparc64-ieee1275.rmk: Likewise.
29615 * conf/x86_64-efi.rmk: Likewise.
29616 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
29617 (usage): Fix strings to use `program_name'.
29618 (main): Initialize gettext.
29619 * util/grub-editenv.c: Likewise.
29620 * util/grub-emu.c: Likewise.
29621 * util/grub-fstest.c: Likewise.
29622 * util/grub-mkdevicemap.c: Likewise.
29623 * util/grub-mkfont.c: Likewise.
29624 * util/grub-mkrelpath.c: Likewise.
29625 * util/grub-pe2elf.c: Likewise.
29626 * util/grub-probe.c: Likewise.
29627 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
29628 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
29629 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29630
29631 * util/misc.c: Include `"progname.h"'.
29632 (progname): Remove variable.
29633 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
29634
6f61ed55
FZ
296352009-11-25 Felix Zielcke <fzielcke@z-51.de>
29636
29637 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
29638 printf and print a newline after the menuentry header line.
29639 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
29640
f022876b
FZ
296412009-11-25 Felix Zielcke <fzielcke@z-51.de>
29642
29643 autoconf >= 2.60 support $(localedir).
29644
29645 * INSTALL: Note that autoconf 2.60 is required.
29646 * configure.ac (AC_PREREQ): Bump to 2.60.
29647 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
29648 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
29649
6717926e
YB
296502009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
29651
29652 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
29653 aclocal is run.
29654
08806a54
RM
296552009-11-25 Robert Millan <rmh.grub@aybabtu.com>
29656
29657 * normal/main.c (grub_normal_read_line): Fix off-by-one
29658 buffer overflow.
29659
13b33fba
RM
296602009-11-25 Robert Millan <rmh.grub@aybabtu.com>
29661
29662 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
29663 "parser.grub" in grub_command_execute() call.
29664
4a8572e9
CPE
296652009-11-24 Carles Pina i Estany <carles@pina.cat>
29666
29667 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
29668 * conf/i386-efi.rmk: Likewise.
29669 * conf/i386-ieee1275.rmk: Likewise.
29670 * conf/i386-pc.rmk: Likewise.
29671 * conf/powerpc-ieee1275.rmk: Likewise.
29672 * conf/sparc64-ieee1275.rmk: Likewise.
29673 * conf/x86_64-efi.rmk: Likewise.
29674 * gettext/gettex.c: Include <grub/i18n.h>.
29675 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
29676 here ...
29677 * include/grub/i18n.h: ... to here
29678 * include/grub/i18n.h: ... to here.
29679 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 29680 (grub_gettext_dummy): Move above user.
4a8572e9 29681
bee48093
FZ
296822009-11-24 Felix Zielcke <fzielcke@z-51.de>
29683
29684 * util/Makefile.in (install-local): Convert a `for' into a normal
29685 shell expansion.
29686
a031e91c
RM
296872009-11-24 Robert Millan <rmh.grub@aybabtu.com>
29688
29689 * autogen.sh: Add automake call.
29690 * config.guess: Remove.
29691 * config.sub: Likewise.
29692 * install-sh: Likewise.
29693
26bec39d
FZ
296942009-11-24 Felix Zielcke <fzielcke@z-51.de>
29695
29696 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
29697
8e2532fd
FZ
296982009-11-24 Felix Zielcke <fzielcke@z-51.de>
29699
29700 * util/Makefile.in (install-local): Convert a make `$(foreach)'
29701 function to a normal shell `for'.
29702
fefa1b7d
FZ
297032009-11-24 Felix Zielcke <fzielcke@z-51.de>
29704
29705 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
29706
4501250b
FZ
297072009-11-24 Felix Zielcke <fzielcke@z-51.de>
29708
29709 * util/grub-mkrelpath.c: New file.
29710 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
29711 (grub_mkrelpath_SOURCES): New variable.
29712 * include/grub/util/misc.h: New function prototype.
29713 * util/misc.c (make_system_path_relative_to_its_root): New function.
29714
29715 * util/grub-mkconfig_lib.in (bindir): New variable.
29716 (grub_mkrelpath): Likewise.
29717 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
29718
29719 * util/probe.c (probe): Make the file path relative to its root.
29720 Change a info message to use the GRUB path. Enable again the
29721 check if we can read the file with GRUB facilities.
29722
29723 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
29724 to its root.
29725
11d9778b
FZ
297262009-11-24 Felix Zielcke <fzielcke@z-51.de>
29727
29728 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
29729 platform.
29730
4465287d
FZ
297312009-11-24 Felix Zielcke <fzielcke@z-51.de>
29732
29733 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
29734 strncmp().
29735
62b47f22
FZ
297362009-11-24 Felix Zielcke <fzielcke@z-51.de>
29737
29738 * util/getroot.c (grub_util_is_dmraid): New function.
29739 (grub_util_get_dev_abstraction): Treat dmraid and multipath
29740 devices as normal ones, not as LVM.
29741
1eafb9b9 297422009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
29743
29744 * conf/common.rmk: Add grub-gettext_lib target and updates
29745 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
29746 LDFLAGS.
29747 * gettext/gettext.c: New file. (Reads mo files).
29748 * include/grub/file.h (grub_file_pread): New prototype.
29749 * include/grub/i18n.h (_): New prototype.
29750 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
29751 prototypes.
29752 * kern/misc.c (grub_gettext_dummy): New function.
29753 * normal/menu_text.c: Include <grub/i18n.h>.
29754 * normal/menu_text.c (print_timeout): Gettexttize string.
29755 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
29756 * po/POTFILES: Add `normal/menu_text.c'.
29757 * po/ca.po: Add new translations.
c3ea6bd4
CPE
29758 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
29759 gettext module and defines locale_dir and lang in grub.cfg.
29760 * NEWS: Add gettext support.
29761
0fdb2568
RM
297622009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29763
29764 * util/hostdisk.c: Include `<grub/i18n.h>'.
29765 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
29766 (make_device_name): Rewrite using asprintf.
29767 (convert_system_partition_to_system_disk): Replace 0 with NULL.
29768 (find_system_device): If a device is not found, generate one just
29769 by reusing the OS path name.
29770 (read_device_map): Make it permissible for device.map not to exist.
29771
f515aa62
RM
297722009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29773
29774 * script/sh/execute.c: Move from here ...
29775 * script/execute.c: ... to here. Update all users.
29776 * script/sh/function.c: Move from here ...
29777 * script/function.c: ... to here. Update all users.
29778 * script/sh/lexer.c: Move from here ...
29779 * script/lexer.c: ... to here. Update all users.
29780 * script/sh/main.c: Move from here ...
29781 * script/main.c: ... to here. Update all users.
29782 * script/sh/parser.y: Move from here ...
29783 * script/parser.y: ... to here. Update all users.
29784 * script/sh/script.c: Move from here ...
29785 * script/script.c: ... to here. Update all users.
29786
f84b481b
RM
297872009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29788
29789 * configure.ac: Detect all `emu' platforms. Define
29790 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
29791 --enable-grub-emu logic. Disable include/grub/machine
29792 symlink on `emu' platforms.
29793
29794 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
29795 * gensymlist.sh.in: Likewise.
29796
29797 * include/grub/i386/coreboot/machine.h: Remove file.
29798 * include/grub/i386/efi/machine.h: Likewise.
29799 * include/grub/i386/ieee1275/machine.h: Likewise.
29800 * include/grub/i386/pc/machine.h: Likewise.
29801 * include/grub/i386/qemu/machine.h: Likewise.
29802 * include/grub/powerpc/ieee1275/machine.h: Likewise.
29803 * include/grub/sparc64/ieee1275/machine.h: Likewise.
29804 * include/grub/x86_64/efi/machine.h: Likewise.
29805
29806 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
29807 * commands/halt.c: Likewise.
29808 * commands/reboot.c: Likewise.
29809 * include/grub/autoefi.h: Likewise.
29810 * include/grub/i386/at_keyboard.h: Likewise.
29811 * include/grub/i386/kernel.h: Likewise.
29812 * include/grub/i386/loader.h: Likewise.
29813 * include/grub/i386/pc/memory.h: Likewise.
29814 * kern/dl.c: Likewise.
29815 * kern/i386/coreboot/init.c: Likewise.
29816 * loader/i386/bsd.c: Likewise.
29817 * loader/i386/linux.c: Likewise.
29818 * loader/multiboot_loader.c: Likewise.
29819 * term/i386/pc/serial.c: Likewise.
29820 * term/usb_keyboard.c: Likewise.
29821
29822 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
29823 `<grub/machine/machine.h>'
29824 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
29825 * util/misc.c: Remove `<grub/machine/machine.h>' and
29826 `<grub/machine/time.h>'.
29827
29828 * Makefile.in (enable_grub_emu): Remove variable.
29829 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
29830
29831 * conf/any-emu.rmk: New file.
29832 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
29833 (grub_emu_init.c): Move from here ...
29834 * conf/any-emu.rmk: ... to here.
29835
29836 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
29837 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
29838 * conf/any-emu.rmk: ... to here.
29839
4efeab03
RM
298402009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29841
29842 * include/grub/parser.h (grub_parser_register): Document need
29843 of `name' parameter.
29844 * normal/main.c (grub_normal_read_line): Simplify prompt string.
29845 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
29846 "sh" to "grub".
29847
ea1dd8bf
RM
298482009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29849
29850 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
29851 `$(XGETTEXT)'.
29852 * include/grub/i18n.h (N_): New macro.
29853 * util/mkisofs/mkisofs.h: Likewise.
29854 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
29855 around N_().
29856 (usage): Use gettext() to translate help strings when printing them.
29857
0c140626
RM
298582009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29859
29860 Based on patch from Bean
29861 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
29862
29863 * video/efi_fb.c: New file.
29864 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
29865 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
29866 variables.
29867 * conf/x86_64-efi.rmk: Likewise.
29868
87d58298
RM
298692009-11-22 Robert Millan <rmh.grub@aybabtu.com>
29870
29871 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
29872 * util/i386/pc/grub-setup.c: Likewise.
29873
994cc3a3
ST
298742009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
29875
29876 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
29877 <hurd/fs.h>
29878 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
29879 file_get_storage_info to implement grub_guess_root_device.
29880
26a61d6a
FZ
298812009-11-21 Felix Zielcke <fzielcke@z-51.de>
29882
29883 * Makefile.in (target): Use make's builtin $(shell) function
29884 instead of calling directly $(SHELL) to create the locale directories,
29885 inside the $(foreach) function.
29886
74ff1dd5
FZ
298872009-11-21 Felix Zielcke <fzielcke@z-51.de>
29888
29889 * util/grub-mkrescue.in: Print an error and usage if output option
29890 has not been given.
29891
0b787d0e
FZ
298922009-11-21 Felix Zielcke <fzielcke@z-51.de>
29893
29894 Patch from Loïc Minier <loic.minier@ubuntu.com>.
29895 * util/grub.d/30_os-prober.in: Cope with Linux entries where
29896 root and /boot are on different devices.
29897
1164b270
RM
298982009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29899
29900 Fix build for srcdir != objdir.
29901
29902 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
29903 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
29904 $(srcdir).
29905 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
29906 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
29907 reference for input.
29908
13774a2f
RM
299092009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29910
29911 * util/grub-mkrescue.in: Use source directory direcly (without copiing
29912 or hardlinking it). Remove -J option, Joliet is not compatible with
29913 multiple source directories.
29914
efda854e
RM
299152009-11-21 Carles Pina i Estany <carles@pina.cat>
299162009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29917
29918 * util/grub-mkrescue.in: Recognize `--override-directory' option.
29919 (process_input_dir): New function. Process an arbitrary input
29920 directory.
29921 Misc adjustments to support both "override mode" and system-wide mode.
29922
6c09890c
FZ
299232009-11-20 Felix Zielcke <fzielcke@z-51.de>
29924
29925 * configure.ac (UNIFONT_BDF): Rename to ...
29926 (FONT_SOURCE): ... this. Update all users.
29927
a797824f
FZ
299282009-11-20 Felix Zielcke <fzielcke@z-51.de>
29929
29930 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
29931 to the list of unifont files to look for.
29932
cd4f42b0
RM
299332009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29934
29935 Patch from Joe Auricchio <jauricchio@gmail.com>
29936 * commands/minicmd.c (grub_mini_cmd_clear): New function.
29937 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
29938 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
29939
393c783d
FZ
299402009-11-19 Felix Zielcke <fzielcke@z-51.de>
29941
29942 * Makefile.in (install-local): Add a missing backslash.
29943
b2f1e327
FZ
299442009-11-19 Felix Zielcke <fzielcke@z-51.de>
29945
29946 * include/grub/x86_64/io.h: New file.
29947
f577f7a0
RM
299482009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29949
29950 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
29951 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
29952 Include `"progname.h"'.
29953 (main): Initialize gettext.
29954 * util/i386/pc/grub-setup.c: Gettexttize.
29955 * util/i386/pc/grub-mkimage.c: Likewise.
29956
29957 * Makefile.in (po/*.po): Redefine as ...
29958 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
29959
3bc7896c
RM
29960 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
29961
c37943b6
RM
299622009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29963
29964 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
29965 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
29966 (program_name): Remove.
29967 (main): Initialize gettext support.
6323f705
RM
29968 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
29969 Include `<libintl.h>'.
29970 (_): New macro.
c37943b6
RM
29971
29972 * util/mkisofs/eltorito.c: Gettexttize.
29973 * util/mkisofs/joliet.c: Likewise.
29974 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
29975 * util/mkisofs/multi.c: Likewise.
29976 * util/mkisofs/rock.c: Likewise.
29977 * util/mkisofs/tree.c: Likewise.
29978 * util/mkisofs/write.c: Likewise.
29979
3bc7896c
RM
29980 * po/POTFILES: Update with new files.
29981
5ce77c6e
RM
299822009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29983
29984 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
29985 * util/mkisofs/iso9660.h: Likewise.
29986 * util/mkisofs/joliet.c: Likewise.
29987 * util/mkisofs/mkisofs.c: Likewise.
29988 * util/mkisofs/mkisofs.h: Likewise.
29989 * util/mkisofs/rock.c: Likewise.
29990 * util/mkisofs/tree.c: Likewise.
29991 * util/mkisofs/write.c: Likewise.
29992
29993 * util/mkisofs/eltorito.c (rcsid): Remove.
29994 * util/mkisofs/hash.c: Likewise.
29995 * util/mkisofs/joliet.c: Likewise.
29996 * util/mkisofs/name.c: Likewise.
29997 * util/mkisofs/rock.c: Likewise.
29998 * util/mkisofs/tree.c: Likewise.
29999 * util/mkisofs/write.c: Likewise.
30000
1dabbc77
RM
300012009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30002
30003 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
30004 instead of static allocation.
30005 * util/mkisofs/match.h: Likewise.
30006
633877cb
RM
300072009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30008
3bc7896c
RM
30009 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
30010 and `util/grub.d/10_linux.in'.
633877cb
RM
30011 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
30012 translatable Shell files.
30013
af1c0c85
RM
300142009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30015
30016 * Makefile.in ($(srcdir)/aclocal.m4): New target.
30017
769ae37b
RM
300182009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30019
30020 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 30021 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
30022 * util/grub.d/10_kfreebsd.in (bindir): New variable.
30023 Add gettext initialization.
30024 (kfreebsd_entry): Make menuentry output translatable.
30025
300262009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30027
30028 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
30029 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
30030 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
30031 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
30032 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 30033 * po/LINGUAS: New file.
769ae37b
RM
30034
300352009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30036
30037 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
30038 other things).
30039 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
30040 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
30041 bindtextdomain() calls for gettext initialization.
30042
300432009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30044
30045 * gnulib/progname.c: New file (imported from Gnulib).
30046 * gnulib/progname.h: Likewise.
30047 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30048 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
30049 (usage): Replace `progname' with `program_name'.
30050 (main): Use set_program_name() for program name initialization.
30051
300522009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30053
30054 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
30055 from here ...
30056 * Makefile.in (CPPFLAGS): ... to here.
30057
300582009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30059
30060 * aclocal.m4: Move from here ...
30061 * acinclude.m4: ... to here.
30062 * autogen.sh: Add call to `aclocal'.
30063 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
30064
300652009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30066
30067 * Makefile.in (CLEANFILES): Add `po/*.mo'.
30068 (LINGUAS): New variable.
30069 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
30070 (install-local): Install MO files.
30071 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
30072 * include/grub/i18n.h: New file.
3bc7896c
RM
30073 * po/POTFILES: New file.
30074 * po/ca.po: New file.
769ae37b
RM
30075 * util/grub.d/10_linux.in (bindir): New variable.
30076 Add gettext initialization.
30077 (linux_entry): Make menuentry output translatable.
30078 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
30079 (usage): Make --help output translatable.
30080 (main): Initialize gettext.
30081
02c0a6ad
RM
300822009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30083
30084 * import_gcry.py: New file (written by Vladimir with minor
30085 adjustments).
30086 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
30087 ciphers.
30088 * INSTALL: Document that Python is required for bootstrap.
30089
300902009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30091
30092 Import ciphers from libgcrypt 1.4.4.
30093
30094 * lib/libgcrypt/cipher/ChangeLog
30095 * lib/libgcrypt/cipher/ac.c
30096 * lib/libgcrypt/cipher/arcfour.c
30097 * lib/libgcrypt/cipher/bithelp.h
30098 * lib/libgcrypt/cipher/blowfish.c
30099 * lib/libgcrypt/cipher/camellia-glue.c
30100 * lib/libgcrypt/cipher/camellia.c
30101 * lib/libgcrypt/cipher/camellia.h
30102 * lib/libgcrypt/cipher/cast5.c
30103 * lib/libgcrypt/cipher/cipher.c
30104 * lib/libgcrypt/cipher/crc.c
30105 * lib/libgcrypt/cipher/des.c
30106 * lib/libgcrypt/cipher/dsa.c
30107 * lib/libgcrypt/cipher/ecc.c
30108 * lib/libgcrypt/cipher/elgamal.c
30109 * lib/libgcrypt/cipher/hash-common.c
30110 * lib/libgcrypt/cipher/hash-common.h
30111 * lib/libgcrypt/cipher/hmac-tests.c
30112 * lib/libgcrypt/cipher/md.c
30113 * lib/libgcrypt/cipher/md4.c
30114 * lib/libgcrypt/cipher/md5.c
30115 * lib/libgcrypt/cipher/primegen.c
30116 * lib/libgcrypt/cipher/pubkey.c
30117 * lib/libgcrypt/cipher/rfc2268.c
30118 * lib/libgcrypt/cipher/rijndael-tables.h
30119 * lib/libgcrypt/cipher/rijndael.c
30120 * lib/libgcrypt/cipher/rmd.h
30121 * lib/libgcrypt/cipher/rmd160.c
30122 * lib/libgcrypt/cipher/rsa.c
30123 * lib/libgcrypt/cipher/seed.c
30124 * lib/libgcrypt/cipher/serpent.c
30125 * lib/libgcrypt/cipher/sha1.c
30126 * lib/libgcrypt/cipher/sha256.c
30127 * lib/libgcrypt/cipher/sha512.c
30128 * lib/libgcrypt/cipher/tiger.c
30129 * lib/libgcrypt/cipher/twofish.c
30130 * lib/libgcrypt/cipher/whirlpool.c
30131
af2f93ac
RM
301322009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30133
30134 Fix build for systems without error().
30135
30136 * gnulib/error.c: New file (imported from Gnulib).
30137 * gnulib/error.h: Likewise.
30138 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
30139 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
30140 (this variable is now used by error()).
30141
73fb3dd5
FZ
301422009-11-16 Felix Zielcke <fzielcke@z-51.de>
30143
814f5e96
FZ
30144 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
30145 instead of relying that char is signed.
73fb3dd5 30146
a691ca33
VS
301472009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
30148
30149 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
30150 blocksize different from specified.
30151 (grub_pxefs_read): Likewise.
30152
2af8f0f4
FZ
301532009-11-16 Felix Zielcke <fzielcke@z-51.de>
30154
30155 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
30156
30157 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
30158 (grub_ata_readwrite): Likewise. Update 2 format strings.
30159 (grub_atapi_read): Likewise.
30160
30161 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
30162 * conf/i386.rmk (pkglib_MODULES): ... to here ...
30163 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
30164 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
30165 (ata_mod_LDFLAGS): Move from here ...
30166 * conf/i386.rmk: ... to here ...
30167 * conf/x86_64-efi.rmk: ... and here.
30168 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
30169 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
30170
83bdecaf
RM
301712009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30172
30173 Relicense multiboot.h, with RMS' blessing.
30174
30175 * include/multiboot.h: Change to X11 license.
30176
fd6fd3d7
RM
301772009-11-15 Robert Millan <rmh.grub@aybabtu.com>
30178
30179 Support --version in grub-mkisofs.
30180
30181 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
30182 (OPTION_VERSION): New macro.
30183 (ld_options): Recognize --version.
30184 (usage): Move `program_name' from here ...
30185 (program_name): ... to here. Add `static' qualifier.
30186 (main): Recognize `OPTION_VERSION'.
30187
16a88c49
FZ
301882009-11-15 Felix Zielcke <fzielcke@z-51.de>
30189
30190 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
30191 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
30192
a4158476
RM
301932009-11-14 Robert Millan <rmh.grub@aybabtu.com>
30194
30195 Fix help2man generation for mkisofs.
30196
30197 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
30198 (usage): Send output to stdout (rather than stderr).
30199
fc2208b0
RM
302002009-11-14 Robert Millan <rmh.grub@aybabtu.com>
30201
30202 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
30203 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
30204 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
30205 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
30206 (bin_SCRIPTS): Add `grub-mkfloppy'.
30207 (grub_mkfloppy_SOURCES): New variable.
30208
30209 * util/grub-mkrescue.in: New file.
30210 * util/i386/pc/grub-mkfloppy.in: New file.
30211
30212 * util/i386/coreboot/grub-mkrescue.in: Remove.
30213 * util/i386/pc/grub-mkrescue.in: Remove.
30214
8d0edf4a
RM
302152009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30216
30217 * include/grub/multiboot.h (struct grub_multiboot_header): Move
30218 from here ...
30219 * include/multiboot.h (struct multiboot_header): ... to here. Update
30220 all users.
30221 * include/grub/multiboot.h (struct grub_multiboot_info): Move
30222 from here ...
30223 * include/multiboot.h (struct multiboot_info): ... to here. Update
30224 all users.
30225 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
30226 from here ...
30227 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
30228 Update all users.
30229 * include/grub/multiboot.h (struct grub_mod_list): Move
30230 from here ...
30231 * include/multiboot.h (struct multiboot_mod_list): ... to here.
30232 Update all users.
30233
a73f5969
RM
302342009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30235
30236 * include/multiboot2.h (multiboot_word): Rename from this ...
30237 (multiboot2_word): ... to this. Update all users.
30238 (multiboot_header): Rename from this ...
30239 (multiboot2_header): ... to this. Update all users.
30240 (multiboot_tag_header): Rename from this ...
30241 (multiboot2_tag_header): ... to this. Update all users.
30242 (multiboot_tag_start): Rename from this ...
30243 (multiboot2_tag_start): ... to this. Update all users.
30244 (multiboot_tag_name): Rename from this ...
30245 (multiboot2_tag_name): ... to this. Update all users.
30246 (multiboot_tag_module): Rename from this ...
30247 (multiboot2_tag_module): ... to this. Update all users.
30248 (multiboot_tag_memory): Rename from this ...
30249 (multiboot2_tag_memory): ... to this. Update all users.
30250 (multiboot_tag_unused): Rename from this ...
30251 (multiboot2_tag_unused): ... to this. Update all users.
30252 (multiboot_tag_end): Rename from this ...
30253 (multiboot2_tag_end): ... to this. Update all users.
30254
1c8927f0
RM
302552009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30256
30257 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
30258 this platform we should support Multiboot1 first.
30259
30260 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
30261 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
30262 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
30263
6e1e0d89
RM
302642009-11-12 Robert Millan <rmh.grub@aybabtu.com>
30265
30266 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
30267 of write calls (converting them to fwrite() if they aren't already).
30268 (get_torito_desc): Likewise.
30269 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
30270
7f2b34d8
RM
302712009-11-12 Robert Millan <rmh.grub@aybabtu.com>
30272
30273 * util/i386/pc/grub-install.in: Move from here ...
30274 * util/grub-install.in: ... to here. Update all users.
30275
c0ef3311
CW
302762009-11-11 Colin Watson <cjwatson@ubuntu.com>
30277
30278 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
30279
e1f240ff
RM
302802009-11-11 Robert Millan <rmh.grub@aybabtu.com>
30281
30282 Support for El Torito without floppy emulation.
30283
30284 * util/mkisofs/eltorito.c: Include `<errno.h>'.
30285 (init_boot_catalog): Improve error handling.
30286 (get_torito_desc): Don't use floppy emulation unless requested by
30287 user. Patch boot information table when requested via
30288 `-boot-info-table'.
30289 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
30290 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
30291 (use_boot_info_table): New variables.
30292 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
30293 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
30294 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
30295 `--eltorito-emul-floppy'.
30296 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
30297 and `OPTION_ELTORITO_EMUL_FLOPPY'.
30298 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
30299 (use_boot_info_table, get_731): New prototypes.
30300 * util/mkisofs/write.c (get_731): New function.
30301
af7d4de5
FZ
303022009-11-11 Felix Zielcke <fzielcke@z-51.de>
30303
30304 Fix the generation of the man page.
30305
30306 * util/pc/i386/grub-install.in: Source
30307 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
30308
2c55dbc0
RM
303092009-11-11 Robert Millan <rmh.grub@aybabtu.com>
30310
30311 Large file support for grub-mkisofs.
30312
30313 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
30314 * util/mkisofs/mkisofs.c (next_extent, last_extent)
30315 (session_start): Upgrade type to `uint64_t'. Update all users.
30316 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
30317 (struct directory_entry): Upgrade type of `starting_block' and
30318 `size' to `uint64_t'. Update all users.
30319 (struct deferred): Remove unused structure.
30320 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
30321 Update all users.
30322 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
30323 file is larger than `UINT32_MAX'.
30324 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
30325 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
30326 return value.
30327 (struct deferred_write): Upgrade type of `extent' and `size' to
30328 `uint64_t'. Update all users.
30329 (last_extent_written): Upgrade type to `uint64_t'. Update all
30330 users.
30331 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
30332 Update all users. Upgrade type of `remain' to `int64_t' and
30333 `use' to `size_t'. Use error() to handle fread() errors.
30334 (write_files): Rely on write_one_file() rather than calling
30335 xfwrite() directly.
30336
6a9cead5
FZ
303372009-11-09 Felix Zielcke <fzielcke@z-51.de>
30338
30339 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
30340
4825d790
RM
303412009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30342
30343 * util/mkisofs/fnmatch.c: Remove.
30344 * util/mkisofs/getopt1.c: Likewise.
30345 * util/mkisofs/getopt.c: Likewise.
30346 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
30347 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
30348 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
30349 `gnulib/getopt1.c' and `gnulib/getopt.c'.
30350 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
30351
30352 * configure.ac: Detect `mingw32msvc' host_os.
30353 Check for lstat(), getuid() and getgid().
30354
30355 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
30356 instances of `u_char' with `uint8_t'.
30357
30358 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
30359 [!HAVE_GETUID] (getuid): New function (stub).
30360 [!HAVE_GETGID] (getgid): Likewise.
30361 [!HAVE_LSTAT] (lstat): Likewise.
30362 [!S_IROTH] (S_IROTH): New macro (dummy).
30363 [!S_IRGRP] (S_IRGRP): Likewise.
30364
84b860d8
RM
303652009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30366
30367 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
30368 conditional expression).
30369
66e9b712
RM
303702009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30371
30372 Import from Gnulib.
30373
30374 * gnulib/fnmatch.c: New file.
30375 * gnulib/fnmatch.h: Likewise.
30376 * gnulib/fnmatch_loop.c: Likewise.
30377 * gnulib/getopt.c: Likewise.
30378 * gnulib/getopt.h: Likewise.
30379 * gnulib/getopt1.c: Likewise.
30380 * gnulib/getopt_int.h: Likewise.
30381 * gnulib/gettext.h: Likewise.
30382
34f4a5b0
RM
303832009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30384
30385 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
30386 * normal/handler.c (read_handler_list): Likewise.
30387
ac451143
RM
303882009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30389
30390 Misc cleanup.
30391
30392 * kern/command.c (grub_register_command_prio): Use
30393 grub_zalloc() instead of explicitly zeroing data.
30394 * kern/list.c: Include `<grub/mm.h>'.
30395 (grub_named_list_find): Replace `0' with `NULL'.
30396 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
30397 (fs_module_list): Change type to `grub_named_list_t'. Update all
30398 users.
30399 * normal/dyncmd.c (read_command_list): Add space between function
30400 call and parenthesis.
30401 * normal/handler.c (read_handler_list): Likewise.
30402
4089b167
RM
304032009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30404
30405 * normal/auth.c (punishment_delay): Moved from here ...
30406 (grub_auth_strcmp): ... to here (inside function).
30407
325f5037
RM
304082009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30409
30410 * include/grub/list.h (struct grub_named_list): Remove `const'
30411 qualifier from `name'.
30412 (struct grub_prio_list): Likewise.
30413
7aea29a3
RM
304142009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30415
30416 * normal/auth.c: Include `<grub/time.h>'.
30417 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
30418
3fd6f044
RM
304192009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30420
30421 * normal/auth.c (punishment_delay): New variable.
30422 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
30423 (grub_auth_check_authentication): Punish failed login attempts with
30424 an incremental (2^N) delay.
30425
a4cd68e4
RM
304262009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30427
30428 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
30429 path with $(srcdir).
30430
7ad12f43
VS
304312009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
30432
30433 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
30434
c1129f03
RM
304352009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30436
30437 * util/i386/coreboot/grub-mkrescue.in: New file.
30438 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
30439 variables.
30440
30441 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
30442 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
30443 * configure.ac: Add header and function checks to satisfy grub-mkisofs
30444 requirements.
30445 * util/mkisofs/defaults.h: New file.
30446 * util/mkisofs/eltorito.c: Likewise.
30447 * util/mkisofs/exclude.h: Likewise.
30448 * util/mkisofs/fnmatch.c: Likewise.
30449 * util/mkisofs/getopt.c: Likewise.
30450 * util/mkisofs/getopt1.c: Likewise.
30451 * util/mkisofs/hash.c: Likewise.
30452 * util/mkisofs/include/fctldefs.h: Likewise.
30453 * util/mkisofs/include/mconfig.h: Likewise.
30454 * util/mkisofs/include/prototyp.h: Likewise.
30455 * util/mkisofs/include/statdefs.h: Likewise.
30456 * util/mkisofs/iso9660.h: Likewise.
30457 * util/mkisofs/joliet.c: Likewise.
30458 * util/mkisofs/match.c: Likewise.
30459 * util/mkisofs/match.h: Likewise.
30460 * util/mkisofs/mkisofs.c: Likewise.
30461 * util/mkisofs/mkisofs.h: Likewise.
30462 * util/mkisofs/multi.c: Likewise.
30463 * util/mkisofs/name.c: Likewise.
30464 * util/mkisofs/rock.c: Likewise.
30465 * util/mkisofs/tree.c: Likewise.
30466 * util/mkisofs/write.c: Likewise.
30467
ec8bb77d
VS
304682009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
30469
30470 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
30471 being insecure.
30472
3716b12c
RM
304732009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30474
30475 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
30476 `grub-mkimage' (and use $0 when possible).
30477
b97b7b91
RM
304782009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30479
30480 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
30481 error message for excessively large memory map.
30482
04114812
RM
304832009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30484
30485 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
30486 executable bit.
30487
e4eb2373
RM
304882009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30489
30490 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
30491 message for coreboot users.
30492
c926e1d5 304932009-11-07 Robert Millan <rmh.grub@aybabtu.com>
30494
30495 Fix build with GNU gold.
30496
30497 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
30498 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
30499 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
30500 link addresses.
30501 * aclocal.m4: Likewise.
30502
86e5b1db 305032009-11-04 Felix Zielcke <fzielcke@z-51.de>
30504
30505 * configure.ac (AC_PREREQ): Bump to 2.59d.
30506 * INSTALL: Make it more clear when Autoconf and Ruby are
30507 needed and when to run `./autogen.sh'.
30508
246cd78f 305092009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
30510
30511 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
30512 OSes.
30513
4f9dfb37 305142009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30515
30516 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
30517
b82bd5e1 305182009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30519
30520 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
30521 giving it to GNU Mach.
30522
ff1a9bca 305232009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30524
30525 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
30526 GNU partition number to get internal GRUB partition number.
30527
61697d9c 305282009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30529
30530 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
30531 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
30532
a50569e1 305332009-11-01 Robert Millan <rmh.grub@aybabtu.com>
30534
30535 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
30536 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
30537 case.
30538
5b153867 305392009-11-01 Felix Zielcke <fzielcke@z-51.de>
30540
30541 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
30542
d9e2cd70 305432009-10-30 Robert Millan <rmh.grub@aybabtu.com>
30544
30545 Fix build problem.
30546
30547 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
30548 `-isystem=$(srcdir)/include'.
30549
805111a4 305502009-10-30 Robert Millan <rmh.grub@aybabtu.com>
30551
30552 * util/i386/pc/grub-install.in: Remove hint that device.map should be
30553 checked (grub-install doesn't currently rely on it).
30554
fa6e945f 305552009-10-29 Robert Millan <rmh.grub@aybabtu.com>
30556
30557 Revert SVN r2660.
30558
30559 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
30560 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
30561 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
30562 * conf/i386-ieee1275.rmk: Likewise.
30563 * conf/i386-pc.rmk: Likewise.
30564 * conf/powerpc-ieee1275.rmk: Likewise.
30565 * conf/sparc64-ieee1275.rmk: Likewise.
30566 * conf/x86_64-efi.rmk: Likewise.
30567
cee15086 305682009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30569
30570 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
30571
95b9239e 305722009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30573
30574 * include/grub/misc.h: Stop checking for APPLE_CC.
30575
2ed19dfd 305762009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30577
30578 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
30579 doesn't cause an infinite call loop.
30580
fdcdde19 305812009-10-28 Felix Zielcke <fzielcke@z-51.de>
30582
30583 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
30584 strings.
30585
cefabfe1 305862009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30587
30588 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
30589 variable.
30590 * Makefile.in: Likewise.
30591
ed96ab6d 305922009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30593
30594 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
30595
0579b753 305962009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30597
30598 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
30599
478df409 306002009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30601
30602 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
30603
083d1679 306042009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30605
30606 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
30607 from here ...
30608 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
30609
5947ae32 306102009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30611
30612 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
30613 in $(MAKEINFO) invocation. This makes it clear in output that
30614 errors are being ignored.
30615
94180ff6 306162009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30617
30618 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
30619 from here ...
30620 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
30621 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
30622 * conf/i386-ieee1275.rmk: Likewise.
30623 * conf/i386-pc.rmk: Likewise.
30624 * conf/powerpc-ieee1275.rmk: Likewise.
30625 * conf/sparc64-ieee1275.rmk: Likewise.
30626 * conf/x86_64-efi.rmk: Likewise.
30627
9031b03a 306282009-10-26 Colin Watson <cjwatson@ubuntu.com>
30629
30630 * util/grub-editenv.c (main): If only a command is given, use
30631 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
30632 (usage): FILENAME is now optional and has a default.
30633
e4f6809b 306342009-10-26 Colin Watson <cjwatson@ubuntu.com>
30635
30636 Improve grub-mkconfig performance when there are several menu
30637 entries on a single filesystem.
30638
30639 * util/grub.d/10_linux.in (linux_entry): Cache the output of
30640 prepare_grub_to_access_device.
30641 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
30642 * util/grub.d/30_os-prober.in: Likewise.
30643
67937d4d 306442009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30645
30646 * util/grub.d/10_freebsd.in: Remove.
30647 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
30648 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
30649
ee3756cc 306502009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30651
5c35048e 30652 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 30653
4dea1c6f 306542009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30655
30656 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
30657 grub_util_error() call.
30658
042484d7 306592009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30660
30661 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
30662 `reserved_first_sector' member.
30663 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
30664 `reserved_first_sector' to 1.
30665 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
30666 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
30667 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
30668 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
30669 filesystems which begin at first sector.
30670 (options): New option --skip-fs-probe.
30671 (main): Handle --skip-fs-probe and pass it to setup().
30672
d64448a7 306732009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30674
30675 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
30676 (memset): Fix function prototype.
30677
508d42ec 306782009-10-25 Robert Millan <rmh.grub@aybabtu.com>
306792009-10-25 Vasily Averin <vvs@parallels.com>
30680
30681 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
30682 `dirent.direntlen == 0'.
30683
b240e30c 306842009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30685
30686 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
30687 `cpio'.
30688 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
30689
346e7fbe 306902009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30691
30692 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
30693 `__trampoline_setup' and `__ucmpdi2'.
30694 * include/grub/powerpc/libgcc.h: Only export symbols for functions
30695 that libgcc provides.
30696
cdb308b0 306972009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30698
30699 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
30700 * include/grub/sparc64/libgcc.h (memset): Likewise.
30701 * include/grub/misc.h (memset, memcmp): New function prototypes.
30702
fb26abc2 307032009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30704
30705 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
30706 `cpio'.
30707 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
30708
f6693890 307092009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30710
30711 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
30712 * docs/grub.cfg: Compensate for recent change in multiboot
30713 loader (since 2009-08-14 it won't pass filename to payload).
30714 * util/grub.d/10_hurd.in: Likewise.
30715
0933cdc0 307162009-10-21 Felix Zielcke <fzielcke@z-51.de>
30717
30718 * config.guess: Update to latest version from config git
30719 repository.
30720 * config.sub: Likewise.
30721
3b2fe8c2 307222009-10-20 Robert Millan <rmh.grub@aybabtu.com>
30723
30724 Fix build on sparc64.
30725
30726 * configure.ac: Perform checks for libgcc symbols before
30727 adding `-nostdlib' to LDFLAGS.
30728
46695a62 307292009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
30730
30731 Let user specify OpenBSD root device.
30732
30733 * loader/i386/bsd.c (openbsd_root): New variable.
30734 (openbsd_opts): New option 'root'.
30735 (OPENBSD_ROOT_ARG): New macro.
30736 (grub_openbsd_boot): Use 'openbsd_root'.
30737 (grub_cmd_openbsd): Fill 'openbsd_root'.
30738
d2b6b7fc 307392009-10-16 Robert Millan <rmh.grub@aybabtu.com>
30740
30741 * NEWS: Misc adjustments.
30742
421bd7ac 307432009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
30744
30745 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
30746
f1d29d87 307472009-10-16 Robert Millan <rmh.grub@aybabtu.com>
30748
30749 * configure.ac: Bump version to 1.97.
30750
6f3cd880 307512009-10-16 Colin Watson <cjwatson@ubuntu.com>
30752
30753 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
30754 -mno-3dnow on x86 architectures. Some toolchains enable these
30755 features by default, but they rely on registers that aren't enabled
30756 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
30757
035f7122 307582009-10-15 Robert Millan <rmh.grub@aybabtu.com>
30759
30760 Make entry text a bit more readable.
30761
30762 * util/grub.d/10_linux.in: Add `with' before `Linux'.
30763
44998e58 307642009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30765
30766 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
30767
cd2851b3 307682009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30769
30770 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
30771 operations.
30772
c6f3b249 307732009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30774
30775 * configure.ac: Add missing dollar.
30776
6b5886ba 307772009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30778
30779 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
30780
30781 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
30782 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
30783 exports.
30784 * include/grub/sparc64/libgcc.h: Likewise. Use
30785 preprocessor conditionals.
30786
e9d66f6d 307872009-10-14 Robert Millan <rmh.grub@aybabtu.com>
30788
30789 * conf/common.rmk (grub-dumpbios): Remove rule.
30790 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
30791 * util/grub-dumpbios.in: Remove file.
30792
9155bc17 307932009-10-14 Robert Millan <rmh.grub@aybabtu.com>
30794
30795 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
30796 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
30797
30798 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
30799 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
30800 users.
30801
30802 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
30803 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
30804 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
30805 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
30806 users.
30807
bf7f7a18 308082009-10-12 Robert Millan <rmh.grub@aybabtu.com>
30809
30810 * term/tparm.c: Switch to GPLv3.
30811
86564c26 308122009-10-09 Robert Millan <rmh.grub@aybabtu.com>
30813
30814 * include/grub/i386/cpuid.h: Add header protection.
30815
5c936493 308162009-10-09 Robert Millan <rmh.grub@aybabtu.com>
30817
30818 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
30819
30820 * include/grub/i386/cpuid.h: New file.
30821 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
30822 (has_longmode): Rename to ...
30823 (grub_cpuid_has_longmode): ... this. Update all users. Remove
30824 `static' attribute.
30825 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
30826 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
30827 on a CPU that doesn't implement AMD64 instruction set.
30828
186e7cf2 308292009-10-06 Colin Watson <cjwatson@ubuntu.com>
30830
30831 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
30832 that version.texi is rebuilt on version number changes.
30833
83b65c4a 308342009-10-06 Colin Watson <cjwatson@ubuntu.com>
30835
30836 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
30837 Fixes bug #27602.
30838
d244281c 308392009-10-06 Colin Watson <cjwatson@ubuntu.com>
30840
30841 * util/i386/pc/grub-install.in: Source
30842 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
30843 that the --grub-probe option will work.
30844 * util/sparc64/ieee1275/grub-install.in: Likewise.
30845
da25306d 308462009-10-05 Robert Millan <rmh.grub@aybabtu.com>
30847
30848 * configure.ac: Bump version to 1.97~beta4.
30849
e8ee83c0 308502009-10-03 Robert Millan <rmh.grub@aybabtu.com>
30851
30852 Resync grub-mkdevicemap in x86_64-efi.
30853
30854 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
30855 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
30856 `util/devicemap.c'.
30857
50dcabcf 308582009-10-01 Colin Watson <cjwatson@ubuntu.com>
30859
30860 * util/grub-editenv.c (create_envblk_file): Write new block with a
30861 .new suffix and then rename it into place, to ensure atomic
30862 creation.
30863
0e51c3a7 308642009-09-28 Robert Millan <rmh.grub@aybabtu.com>
30865
30866 Do not automatically install headers.
30867
30868 * Makefile.in (include_DATA): Remove. Update all users.
30869
31299a95 308702009-09-26 Robert Millan <rmh.grub@aybabtu.com>
30871
30872 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
30873 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
30874
30875 * util/osdetect.lua: Remove.
30876 * script/lua/lauxlib.c: Likewise.
30877 * script/lua/ldebug.c: Likewise.
30878 * script/lua/grub_main.c: Likewise.
30879 * script/lua/lauxlib.h: Likewise.
30880 * script/lua/ldebug.h: Likewise.
30881 * script/lua/ltablib.c: Likewise.
30882 * script/lua/liolib.c: Likewise.
30883 * script/lua/lstrlib.c: Likewise.
30884 * script/lua/lualib.h: Likewise.
30885 * script/lua/ldo.c: Likewise.
30886 * script/lua/ldump.c: Likewise.
30887 * script/lua/ldo.h: Likewise.
30888 * script/lua/loslib.c: Likewise.
30889 * script/lua/lundump.c: Likewise.
30890 * script/lua/grub_lib.c: Likewise.
30891 * script/lua/ldblib.c: Likewise.
30892 * script/lua/lundump.h: Likewise.
30893 * script/lua/lmem.c: Likewise.
30894 * script/lua/grub_lib.h: Likewise.
30895 * script/lua/lmathlib.c: Likewise.
30896 * script/lua/lstate.c: Likewise.
30897 * script/lua/ltm.c: Likewise.
30898 * script/lua/lvm.c: Likewise.
30899 * script/lua/lmem.h: Likewise.
30900 * script/lua/lstate.h: Likewise.
30901 * script/lua/ltm.h: Likewise.
30902 * script/lua/ltable.c: Likewise.
30903 * script/lua/lvm.h: Likewise.
30904 * script/lua/llex.c: Likewise.
30905 * script/lua/lgc.c: Likewise.
30906 * script/lua/grub_lua.h: Likewise.
30907 * script/lua/loadlib.c: Likewise.
30908 * script/lua/lfunc.c: Likewise.
30909 * script/lua/lopcodes.c: Likewise.
30910 * script/lua/lparser.c: Likewise.
30911 * script/lua/ltable.h: Likewise.
30912 * script/lua/llex.h: Likewise.
30913 * script/lua/lgc.h: Likewise.
30914 * script/lua/lfunc.h: Likewise.
30915 * script/lua/lbaselib.c: Likewise.
30916 * script/lua/lopcodes.h: Likewise.
30917 * script/lua/lparser.h: Likewise.
30918 * script/lua/lzio.c: Likewise.
30919 * script/lua/linit.c: Likewise.
30920 * script/lua/lobject.c: Likewise.
30921 * script/lua/llimits.h: Likewise.
30922 * script/lua/lstring.c: Likewise.
30923 * script/lua/lzio.h: Likewise.
30924 * script/lua/lapi.c: Likewise.
30925 * script/lua/lcode.c: Likewise.
30926 * script/lua/lua.h: Likewise.
30927 * script/lua/lobject.h: Likewise.
30928 * script/lua/lstring.h: Likewise.
30929 * script/lua/lapi.h: Likewise.
30930 * script/lua/lcode.h: Likewise.
30931 * script/lua/luaconf.h: Likewise.
30932
cb8a2c38 309332009-09-26 Colin Watson <cjwatson@ubuntu.com>
30934
30935 * docs/grub.texi (Command-line and menu entry commands): Document
30936 date and echo commands.
30937
6b9b6276 309382009-09-24 Pavel Roskin <proski@gnu.org>
30939
30940 * include/grub/kernel.h (struct grub_module_header): Remove
30941 `grub_module_header_types'. Make `type' unsigned. Make `size'
30942 32-bit on all platforms.
30943 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
30944 8-bit field. Use grub_host_to_target32() for `size'.
30945 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
30946 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
30947 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
30948
4e5a02a7 309492009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30950
30951 Fix "lost keypress" bug in at_keyboard.
30952
30953 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
30954 Checks for readyness of input buffer (without flushing it).
30955 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
30956 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
30957
c6dcedf6 309582009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30959
30960 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
30961 size check within GRUB_MACHINE_PCBIOS section.
30962
74c958b1 309632009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30964
30965 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
30966 return value.
30967 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
30968 KEYBOARD_ISREADY check.
30969 (grub_at_keyboard_checkkey): Rename to ...
30970 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
30971 Remove gratuitous cast.
30972
ff420223 309732009-09-23 Colin Watson <cjwatson@ubuntu.com>
30974
30975 * configure.ac: Call AC_PROG_MKDIR_P.
30976 * Makefile.in (docs/stamp-vti): Create docs directory. Create
30977 version.texi in $(builddir) rather than $(srcdir).
30978 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
30979 to makeinfo's @include search path.
30980
d96875df 309812009-09-23 Felix Zielcke <fzielcke@z-51.de>
30982
30983 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
30984
9b3f8365 309852009-09-23 Felix Zielcke <fzielcke@z-51.de>
30986
30987 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
30988 for `*.dpkg-new'.
30989
c44c90db 309902009-09-21 Colin Watson <cjwatson@ubuntu.com>
30991
30992 Build info documentation. Some code borrowed from Automake.
30993
30994 * configure.ac: Check for makeinfo.
30995 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
30996 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
30997 docs/version.texi.
30998 (MOSTLYCLEANFILES): Add vti.tmp.
30999 (docs/version.texi, docs/stamp-vti): Update automatically.
31000 (docs/grub.info): Build info documentation. Use --force and ignore
31001 errors for now.
31002 (all-local): Add $(INFOS).
31003 (install-local): Install info files.
31004 (uninstall): Uninstall info files.
31005 * docs/version.texi: Remove from revision control. This file is
31006 automatically generated on build now.
31007 * gendistlist.sh: Add `*.info'.
31008
e0b37bb5 310092009-09-21 Felix Zielcke <fzielcke@z-51.de>
31010
31011 * kern/term.c: Fix indentation.
31012
5a78865b 310132009-09-21 Felix Zielcke <fzielcke@z-51.de>
31014
31015 * util/hostdisk.c: Fix a comment.
31016
dace7e8a 310172009-09-20 Robert Millan <rmh.grub@aybabtu.com>
31018
31019 Fix regression introduced in r2539.
31020
31021 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
31022 to 0xA1.
31023
a83d079b 310242009-09-19 Colin Watson <cjwatson@ubuntu.com>
31025
31026 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 31027 os-prober. Under normal operation, it does not print anything to
31028 stderr; if it does, we need to debug it, and throwing away stderr
31029 makes that excessively difficult.
a83d079b 31030
be94a509 310312009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
31032
31033 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
31034
63f745e8 310352009-09-16 Robert Millan <rmh.grub@aybabtu.com>
31036
31037 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
31038 AC_LANG_PROGRAM from autoconf.
31039 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
31040 prototypes (fixes warning).
31041
31042 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
31043 `--disable-werror' was used.
31044
bbb2a70f 310452009-09-16 Robert Millan <rmh.grub@aybabtu.com>
31046
31047 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
31048 uninitialized `lastaddr'.
31049
77c24f1d 310502009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
31051
0f0b8c87 31052 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 31053
07197f23 310542009-09-14 Colin Watson <cjwatson@ubuntu.com>
31055
31056 * commands/test.c (get_fileinfo): Return immediately if
31057 grub_fs_probe fails.
31058
dabf1798 310592009-09-14 José Martínez <xosemp@gmail.com>
31060
31061 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
31062
d52109a7 310632009-09-14 Colin Watson <cjwatson@ubuntu.com>
31064
31065 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
31066 output.
31067
56532179 310682009-09-13 Robert Millan <rmh.grub@aybabtu.com>
31069
31070 * configure.ac: Remove --enable-grub-pe2elf. Only build
31071 grub-pe2elf when needed by the build system itself.
31072 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
31073
8ef070f5 310742009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31075
31076 * configure.ac: Bump version to 1.97~beta3.
31077 * docs/version.texi: Likewise.
31078
61229557 310792009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31080
31081 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
31082 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
31083 from here ...
31084 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
31085 (grub_linux_setup_video): ... to here (with some adjustments).
31086
5c9f8d84 310872009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31088
31089 Fix memory corruption issue (spotted by Colin Watson).
31090
31091 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
31092 causing returned size to be stored in an incorrect memory location.
31093 Fix use of uninitialized value when storing the returned size.
31094
e8f5d6e9 310952009-09-12 Yves Blusseau <blusseau@zetam.org>
31096
31097 Change clean rules to properly remove files
31098
31099 * genmk.rb: add new clean rules
31100 * Makefile.in (clean): add the new targets
31101 (mostlyclean): likewise
31102
cda2a409 311032009-09-11 Colin Watson <cjwatson@ubuntu.com>
31104
31105 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
31106 to grub_uint64_t.
31107 * fs/ntfs.c (init_file): Understand 64-bit sizes for
31108 non-resident files.
31109
86695375 311102009-09-11 Colin Watson <cjwatson@ubuntu.com>
31111
31112 * configure.ac: Don't look for help2man when cross-compiling. Fixes
31113 part of bug #27349.
31114
8aa1541a 311152009-09-10 Felix Zielcke <fzielcke@z-51.de>
31116
31117 * util/grub-mkconfig.in: Make the created config mode 400 and
31118 print a warning if it fails.
31119
48d9bb0a 311202009-09-10 Robert Millan <rmh.grub@aybabtu.com>
31121
31122 * util/grub.d/40_custom.in: Ask user to type custom entries below
31123 comment, rather than below 'exec tail' line.
31124
3b0521be 311252009-09-10 Colin Watson <cjwatson@ubuntu.com>
31126
31127 * util/grub.d/40_custom.in: Make sure that the explanatory text is
31128 visible in grub.cfg.
31129
50051d55 311302009-09-10 Colin Watson <cjwatson@ubuntu.com>
31131
31132 * util/grub.d/40_custom.in: Make it a little clearer how to use this
31133 file.
31134
c0d34387 311352009-09-10 Felix Zielcke <fzielcke@z-51.de>
31136
31137 * docs/grub.cfg: Add an example menu entry for memtest86+.
31138
80a608f3 311392009-09-09 Felix Zielcke <fzielcke@z-51.de>
31140
a2094832 31141 * config.guess: Update to latest version from config git.
80a608f3 31142 * config.sub: Likewise.
31143
99423078 311442009-09-08 Colin Watson <cjwatson@ubuntu.com>
31145
31146 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
31147 unknown-command case. Fixes bug #27320.
31148
44454e4c 311492009-09-08 Felix Zielcke <fzielcke@z-51.de>
31150
31151 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
31152 `help' if the command exists.
31153
e30d87ad 311542009-09-06 Robert Millan <rmh.grub@aybabtu.com>
31155
31156 * INSTALL: Require GCC 4.1.3 or later.
31157
9a86f1ec 311582009-09-06 Yves Blusseau <blusseau@zetam.org>
31159
31160 * Makefile.in (RMKFILES): add i386-qemu.rmk
31161 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
31162 $(srcdir)/stamp-h.in
31163
7f26d466 311642009-09-05 Robert Millan <rmh.grub@aybabtu.com>
31165
31166 * util/grub-probe.c (probe): Comment out buggy codepath, which
31167 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
31168 should be re-enabled after 1.97.
31169
3a613259 311702009-09-05 Felix Zielcke <fzielcke@z-51.de>
31171
31172 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
31173 find searches for.
31174
197f76c7 311752009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
31176
31177 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
31178 unnecessary calls to grub_error.
31179
70ba68ce 311802009-09-04 Colin Watson <cjwatson@ubuntu.com>
31181
31182 * NEWS: Mention `keystatus' and Unicode fonts.
31183
4ff0d7a4 311842009-09-04 Robert Millan <rmh.grub@aybabtu.com>
31185
31186 * configure.ac: Bump version to 1.97~beta2.
31187 * docs/version.texi: Likewise.
31188
77c55a87 311892009-09-03 Colin Watson <cjwatson@ubuntu.com>
31190
31191 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
31192 containing unwind information in some cases where it previously did
31193 not. Use -fno-dwarf2-cfi-asm if available to restore the old
31194 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
31195 discussion.
31196
f79572cd 311972009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
31198
31199 Embedding loadenv module into grub-emu
31200
31201 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
31202 commands/loadenv.c
31203 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
31204 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
31205 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
31206 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
31207 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
31208 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
31209
93a81088 312102009-09-03 Magnus Granberg <zorry@ume.nu>
31211
31212 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
31213 include -fPIE in the default specs.
31214 * configure.ac: Check if pie_possible is yes and add -fno-PIE
31215 to TARGET_CFLAGS.
31216
160034b2 312172009-09-03 Felix Zielcke <fzielcke@z-51.de>
31218
31219 * INSTALL: Note that GNU Bison 2.3 or later is required.
31220
087c07c4 312212009-09-03 Colin Watson <cjwatson@ubuntu.com>
31222
31223 * kern/i386/pc/startup.S: Fix typo.
31224
cbf978c0 312252009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
31226
31227 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
31228 according to GCS.
31229
312302009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 31231
31232 * docs/grub.texi (Naming convention): Describe one-based partition
31233 numbering.
31234 (Device syntax): Likewise.
31235 (File name syntax): Likewise.
31236 (Block list syntax): Likewise.
31237 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
31238 menu.lst.
31239 (File name syntax): Likewise.
31240 (Command-line and menu entry commands): Document acpi, blocklist,
31241 crc, export, insmod, keystatus, ls, set, and unset commands.
31242
f3e8cdfd 312432009-09-02 Colin Watson <cjwatson@ubuntu.com>
31244
31245 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
31246 to avoid implying that only one of --shift, --ctrl, or --alt may be
31247 used.
31248
c0bc232b 312492009-09-02 Colin Watson <cjwatson@ubuntu.com>
31250
31251 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
31252 rather than comparing against S_IFREG, which will almost never work.
31253
aa0f752d 312542009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
31255
31256 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
31257 (write_blocklists): Likewise.
31258
ecb3166a 312592009-09-01 Colin Watson <cjwatson@ubuntu.com>
31260
31261 * script/lua/grub_lua.h (fputs): Supply a format string as the first
31262 argument to grub_printf.
31263
c403a125 312642009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 31265
31266 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 31267 non GNU test.
31aba781 31268
b5e7312c 312692009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
31270
31271 * kern/file.c (grub_file_read): Spelling fix
31272
fe00f472 312732009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
31274
31275 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
31276 loading of headers in some cases.
31277
cc55302e 312782009-08-30 Robert Millan <rmh.grub@aybabtu.com>
31279
31280 * configure.ac: Bump version to 1.97~beta1.
31281 * docs/version.texi: Likewise.
31282
5c90cdd2 312832009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 31284
31285 * include/grub/i386/xnu.h: Add license header.
31286 include grub/err.h explicitly.
31287
c90edae4 312882009-08-29 Robert Millan <rmh.grub@aybabtu.com>
31289
31290 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
31291 to `ufs' in the vfs.root.mountfrom kernel parameter.
31292
d8888b5c 312932009-08-29 Robert Millan <rmh.grub@aybabtu.com>
31294
31295 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
31296
31297 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
31298 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
31299
31300 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
31301 `ARRAY_SIZE' macro.
31302
6f07b921 313032009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31304
31305 * kern/file.c (grub_file_read): Check offset.
31306 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
31307 * fs/jfs.c (grub_jfs_read_file): Likewise.
31308 * fs/ntfs.c (grub_ntfs_read): Likewise.
31309 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
31310 * fs/minix.c (grub_minix_read_file): Correct offset check.
31311 * fs/ufs.c (grub_ufs_read_file): Likewise.
31312
b4f34077 313132009-08-28 Colin Watson <cjwatson@ubuntu.com>
31314
31315 * term/i386/pc/console.c (bios_data_area): Cast
31316 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
31317
e7c69859 313182009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31319
31320 1-bit optimised blitters.
31321
31322 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
31323 prototype.
31324 (grub_video_fbblit_replace_24bit_1bit): Likewise.
31325 (grub_video_fbblit_replace_16bit_1bit): Likewise.
31326 (grub_video_fbblit_replace_8bit_1bit): Likewise.
31327 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
31328 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
31329 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
31330 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
31331 function.
31332 (grub_video_fbblit_replace_24bit_1bit): Likewise.
31333 (grub_video_fbblit_replace_16bit_1bit): Likewise.
31334 (grub_video_fbblit_replace_8bit_1bit): Likewise.
31335 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
31336 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
31337 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
31338 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
31339 when possible.
31340 * video/video.c (grub_video_get_blit_format): Return
31341 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
31342
a57da43f 313432009-08-28 Colin Watson <cjwatson@ubuntu.com>
31344
31345 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
31346 the first argument to grub_printf.
31347
4cbe67e5 313482009-08-28 Colin Watson <cjwatson@ubuntu.com>
313492009-08-28 Robert Millan <rmh.grub@aybabtu.com>
31350
31351 Add `getkeystatus' terminal method. Add a new `keystatus' command
31352 to query it.
31353
31354 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
31355 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
31356 modifier key bitmasks.
31357 (struct grub_term_input): Add `getkeystatus' member.
31358 (grub_getkeystatus): Add prototype.
31359 * kern/term.c (grub_getkeystatus): New function.
31360
31361 * include/grub/i386/pc/memory.h
31362 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
31363 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
31364 Data Area layout.
31365 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
31366 (grub_console_term_input): Set `getkeystatus' member.
31367 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
31368 constants.
31369 (grub_usb_keyboard_getreport): Likewise.
31370 (grub_usb_keyboard_checkkey): Likewise.
31371 (grub_usb_keyboard_getkeystatus): New function.
31372 (grub_usb_keyboard_term): Set `getkeystatus' member.
31373
31374 * commands/keystatus.c: New file.
31375 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
31376 (keystatus_mod_SOURCES): New variable.
31377 (keystatus_mod_CFLAGS): Likewise.
31378 (keystatus_mod_LDFLAGS): Likewise.
31379 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
31380 commands/keystatus.c.
31381 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31382 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31383 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31384 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31385 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31386 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 31387
6e2a9085 313882009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31389
31390 Split befs.mod and afs.mod into *_be.mod and *.mod
31391
31392 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
31393 (grub_fstest_SOURCES): Likewise.
31394 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
31395 (afs_be_mod_SOURCES): New variable.
31396 (afs_be_mod_CFLAGS): Likewise.
31397 (afs_be_mod_LDFLAGS): Likewise.
31398 (befs_be_mod_SOURCES): Likewise.
31399 (befs_be_mod_CFLAGS): Likewise.
31400 (befs_be_mod_LDFLAGS): Likewise.
31401 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
31402 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31403 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31404 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
31405 (grub_emu_SOURCES): Likewise.
31406 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31407 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31408 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31409 * fs/afs_be.c: New file.
31410 * fs/befs_be.c: New file.
31411 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
31412 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
31413 (U16): Replaced with ...
31414 (grub_afs_to_cpu16): ...this. All users updated.
31415 (U32): Replaced with ...
31416 (grub_afs_to_cpu32): ...this. All users updated.
31417 (U64): Replaced with ...
31418 (grub_afs_to_cpu64): ...this. All users updated.
31419 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
31420 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 31421 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 31422 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
31423 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
31424 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
31425 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
31426 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
31427 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
31428 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
31429 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
31430
32a71655 314312009-08-26 Bean <bean123ch@gmail.com>
31432
31433 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
31434 64-bit number.
31435 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
31436 (grub_xfs_inode_block): Change return type to grub_uint64_t.
31437 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
31438
552bf6c5 314392009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31440
31441 NetBSD memory map support.
31442
31443 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
31444 (grub_netbsd_btinfo_mmap_header): New structure.
31445 (grub_netbsd_btinfo_mmap_entry): Likewise.
31446 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
31447
1ae2078c 314482009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31449
31450 Enable bsd.mod on coreboot.
31451
31452 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
31453 (bsd_mod_SOURCES): New variable.
31454 (bsd_mod_CFLAGS): Likewise.
31455 (bsd_mod_LDFLAGS): Likewise.
31456 (bsd_mod_ASFLAGS): Likewise.
31457 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
31458 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
31459
beefc598 314602009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31461
31462 Cleanup NetBSD root support.
31463
31464 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
31465 grub_bsd_get_device.
31466 Fix typo.
31467
3b76e68b 314682009-08-25 Felix Zielcke <fzielcke@z-51.de>
31469
31470 * util/grub.d/00_header.in: Move check for the video backend of
31471 gfxterm from here ...
31472 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
31473 a suitable video backend.
31474
aea664ea 314752009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31476
31477 Fix breakage in grub-setup.
31478
31479 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
31480 "msdos_partition_map".
31481
ff747d50 314822009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31483
31484 Fix breakage in normal/auth.c.
31485
31486 * normal/auth.c (grub_iswordseparator): New function.
31487
e7e1f93f 314882009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31489
31490 Authentication support.
31491
31492 * commands/password.c: New file.
31493 * conf/common.rmk (pkglib_MODULES): Add password.mod.
31494 (password_mod_SOURCES): New variable.
31495 (password_mod_CFLAGS): Likewise.
31496 (password_mod_LDFLAGS): Likewise.
31497 (normal_mod_SOURCES): Add normal/auth.c.
31498 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
31499 normal/auth.c.
31500 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31501 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31502 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31503 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31504 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31505 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31506 * include/grub/auth.h: New file.
31507 * include/grub/err.h (grub_err_t): New enum value
31508 GRUB_ERR_ACCESS_DENIED.
31509 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
31510 'users'.
31511 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
31512 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
31513 users updated.
31514 * normal/auth.c: New file.
31515 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
31516 (grub_cmdline_run): Don't allow to go to command line without
31517 authentication.
31518 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
31519 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
31520 menuentry without superuser rights.
31521 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
31522 user isn't a superuser.
31523
70f1161d 315242009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31525
31526 Save space by inlining misc.c functions.
31527
31528 * kern/misc.c (grub_iswordseparator): Made static.
31529 * kern/misc.c (grub_strcat): Moved from here ...
31530 * include/grub/misc.h (grub_strcat): ... here. Inlined.
31531 * kern/misc.c (grub_strncat): Moved from here ...
31532 * include/grub/misc.h (grub_strncat): ... here. Inlined.
31533 * kern/misc.c (grub_strcasecmp): Moved from here ...
31534 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
31535 * kern/misc.c (grub_strncasecmp): Moved from here ...
31536 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
31537 * kern/misc.c (grub_isalpha): Moved from here ...
31538 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
31539 * kern/misc.c (grub_isdigit): Moved from here ...
31540 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
31541 * kern/misc.c (grub_isgraph): Moved from here ...
31542 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
31543 * kern/misc.c (grub_tolower): Moved from here ...
31544 * include/grub/misc.h (grub_tolower): ... here. Inlined.
31545
48e40bff 315462009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31547
31548 * script/sh/function.c (grub_script_function_find): Cut error message
31549 not to flood terminal.
31550 * script/sh/lexer.c (grub_script_yylex): Remove command line length
31551 limit.
31552 * script/sh/script.c (grub_script_arg_add): Duplicate string.
31553
c385bfc3 315542009-08-24 Colin Watson <cjwatson@ubuntu.com>
31555
31556 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
31557 `report' grub_uint8_t *.
31558 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
31559 Use a 50-millisecond timeout rather than just repeating
31560 grub_usb_keyboard_getreport 50 times.
31561 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
31562
2d21e3e8 315632009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31564
31565 Rename *_partition_map to part_*
31566
31567 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
31568 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
31569 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
31570 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
31571 All users updated.
31572 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
31573 All users updated.
31574 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
31575 * util/grub-probe.c (probe_partmap): Don't transform partition name
31576 to get module name.
31577
dd103c4e 315782009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31579
31580 Fix OpenBSD and NetBSD support.
31581
31582 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
31583 memory address conflict.
31584 (OPENBSD_MMAP_ACPI): New definition.
31585 (OPENBSD_MMAP_NVS): Likewise.
31586 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
31587 and OPENBSD_MMAP_NVS.
31588 Add memory map terminator
31589 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 31590 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 31591
16c84d74 315922009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31593
31594 Let user specify NetBSD root device.
31595
31596 * loader/i386/bsd.c (netbsd_root): New variable.
31597 (netbsd_opts): New option 'root'.
31598 (NETBSD_ROOT_ARG): New macro.
31599 (grub_netbsd_boot): Use 'netbsd_root'.
31600 (grub_bsd_unload): Free 'netbsd_root'.
31601 (grub_cmd_netbsd): Fill 'netbsd_root'.
31602
adb29902 316032009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31604
31605 Support for 64-bit NetBSD.
31606
31607 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
31608 point when booting non-FreeBSD.
31609
f5ae9f74 316102009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31611
31612 Support --no-smp and --no-acpi for NetBSD.
31613
31614 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
31615 (NETBSD_AB_NOACPI): Likewise.
31616 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
31617 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
31618
de74f136 316192009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31620
31621 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
31622 errors.
31623 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
31624 errors. Call grub_error when needed.
31625
e9a925da 316262009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31627
31628 * commands/search.c (search_fs): Try searching without autoload first.
31629 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
31630 filesystem module explicitly for faster booting.
31631
5174302b 316322009-08-23 Colin Watson <cjwatson@ubuntu.com>
31633
31634 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
31635
c8c80635 316362009-08-23 Colin Watson <cjwatson@ubuntu.com>
31637
31638 * util/grub.d/30_os-prober.in: Disable os-prober if
31639 `GRUB_DISABLE_OS_PROBER' was set to true.
31640
71acf5e5 316412009-08-23 Robert Millan <rmh.grub@aybabtu.com>
31642
31643 * partmap/pc.c: Rename to ...
31644 * partmap/msdos.c: ... this. Update all users.
31645 (grub_pc_partition_map): Rename to ...
31646 (grub_msdos_partition_map): ... this. Update all users.
31647
31648 * parttool/pcpart.c: Rename to ...
31649 * parttool/msdospart.c: ... this. Update all users.
31650
31651 * include/grub/pc_partition.h: Rename to ...
31652 * include/grub/msdos_partition.h: ... this. Update all users.
31653 (grub_pc_partition_bsd_entry): Rename to ...
31654 (grub_msdos_partition_bsd_entry): ... this. Update all users.
31655 (grub_pc_partition_disk_label): Rename to ...
31656 (grub_msdos_partition_disk_label): ... this. Update all users.
31657 (grub_pc_partition_entry): Rename to ...
31658 (grub_msdos_partition_entry): ... this. Update all users.
31659 (grub_pc_partition_mbr): Rename to ...
31660 (grub_msdos_partition_mbr): ... this. Update all users.
31661 (grub_pc_partition): Rename to ...
31662 (grub_msdos_partition): ... this. Update all users.
31663 (grub_pc_partition_is_empty): Rename to ...
31664 (grub_msdos_partition_is_empty): ... this. Update all users.
31665 (grub_pc_partition_is_extended): Rename to ...
31666 (grub_msdos_partition_is_extended): ... this. Update all users.
31667 (grub_pc_partition_is_bsd): Rename to ...
31668 (grub_msdos_partition_is_bsd): ... this. Update all users.
31669
31670 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
31671 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
31672 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
31673 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
31674 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
31675 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
31676 (gpt_mod_LDFLAGS): Rename to ...
31677 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
31678 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
31679 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
31680 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
31681 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
31682 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
31683 (part_gpt_mod_LDFLAGS): ... this.
31684 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
31685 `pcpart.mod' to `msdospart.mod'.
31686 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
31687 to ...
31688 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
31689 (msdospart_mod_LDFLAGS): ... this.
31690
c11fded5 316912009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31692
31693 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
31694 (openbsd_opts): Likewise.
31695 (netbsd_opts): Likewise.
31696 (freebsd_flags): Added 0 terminator.
31697 (openbsd_flags): Likewise.
31698 (netbsd_flags): Likewise.
31699 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
31700 (grub_cmd_freebsd): Transformed into extended command.
31701 (grub_cmd_openbsd): Likewise.
31702 (grub_cmd_netbsd): Likewise.
31703 (cmd_freebsd): Changed type to grub_extcmd_t.
31704 (cmd_openbsd): Likewise.
31705 (cmd_netbsd): Likewise.
31706 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
31707 grub_cmd_openbsd as extended commands.
31708 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
31709 cmd_netbsd and cmd_openbsd
31710
11d1c769 317112009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
31712
31713 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
31714
7a9094e5 317152009-08-21 Pavel Roskin <proski@gnu.org>
31716
5496c37e 31717 * Makefile.in (install-local): When checking if a file is in the
31718 build directory, use "test -e" to detect symlinks.
31719
7a9094e5 31720 * Makefile.in (install-local): Remove all files in
31721 $(DESTDIR)$(pkglibdir) before installing new files there.
31722
e53cea11 317232009-08-18 Felix Zielcke <fzielcke@z-51.de>
31724
31725 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
31726 grub-mkelfimage.
31727
9aced544 317282009-08-18 Felix Zielcke <fzielcke@z-51.de>
31729
31730 * util/grub-mkconfig.in: Don't use gfxterm by default if not
31731 explicitly specified by the user.
31732
b7da6bab 317332009-08-18 Pavel Roskin <proski@gnu.org>
31734
31735 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
31736 grub_uint8_t pointer for data.
31737 * include/grub/fbutil.h (struct grub_video_fbblit_info):
31738 Likewise.
31739 * video/fb/fbutil.c: Remove unnecessary casts.
31740
19f1b335 317412009-08-17 Michal Suchanek <hramrach@centrum.cz>
31742
31743 VBE cleanup.
31744
31745 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
31746 (grub_vbe_set_video_mode): Save active mode info
31747 only after setting the mode.
31748 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
31749 second argument.
31750
2f467aa9 317512009-08-17 Michal Suchanek <hramrach@centrum.cz>
31752
31753 Rename variables for clarity.
31754
31755 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
31756 (active_vbe_mode_info): ... this. All users updated.
31757 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
31758 All users updated.
31759 (initial_mode): Rename to ...
31760 (initial_vbe_mode): ... this. All users updated.
31761 (mode_in_use): Rename to ..
31762 (vbe_mode_in_use): ... this. All users updated.
31763 (mode_list): Rename to ..
31764 (vbe_mode_list): ... this. All users updated.
31765 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
31766 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
31767 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
31768 'mode_list_size' to 'vbe_mode_list_size'.
31769 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
31770 'best_mode_info' to 'best_vbe_mode_info' and
31771 'best_mode' to 'best_vbe_mode'
31772
6025fcd7 317732009-08-17 Michal Suchanek <hramrach@centrum.cz>
31774
31775 Remove duplicate grub_video_fb_get_video_ptr.
31776
31777 * include/grub/fbutil.h (get_data_ptr): Rename to ...
31778 (grub_video_fb_get_video_ptr): ... this.
31779 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
31780 * video/fb/fbutil.c: Add comment about addressing.
31781 (get_data_ptr): Rename to ...
31782 (grub_video_fb_get_video_ptr): ... this. All users updated.
31783 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
31784
cc8c6faf 317852009-08-17 Robert Millan <rmh.grub@aybabtu.com>
31786
31787 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
31788 grub_dprintf() that was just added.
31789
08aa61f0 317902009-08-17 Robert Millan <rmh.grub@aybabtu.com>
31791
31792 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
31793 (DEFAULT_VIDEO_MODE): Remove macros.
31794 (grub_linux_boot): Remove assumption that Linux has FB support,
31795 and use "text" as default video mode.
31796
7cef4f75 317972009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
31798
31799 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
31800 grub_dprintf.
31801 * fs/fat.c (grub_fat_read_data): Likewise.
31802
e1f39873 318032009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31804
31805 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
31806 payload.
31807 (grub_module): Likewise.
31808
c166d79e 318092009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31810
31811 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
31812 mbi->cmdline but free playground.
31813
c60cee8e 318142009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31815
31816 Handle group offset on UFS1.
31817
31818 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
31819 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
31820
c0d8b5d4 318212009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31822
31823 Split ufs.mod into ufs1.mod and ufs2.mod.
31824
31825 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
31826 (grub_fstest_SOURCES): Likewise.
31827 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
31828 (ufs_mod_SOURCES): Remove.
31829 (ufs_mod_CFLAGS): Likewise.
31830 (ufs_mod_LDFLAGS): Likewise.
31831 (ufs1_mod_SOURCES): New variable.
31832 (ufs1_mod_CFLAGS): Likewise.
31833 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 31834 (ufs2_mod_SOURCES): New variable.
31835 (ufs2_mod_CFLAGS): Likewise.
31836 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 31837 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
31838 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
31839 Likewise.
31840 (grub_emu_SOURCES): Likewise.
31841 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31842 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31843 (grub_setup_SOURCES): Likewise.
31844 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31845 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
31846 (grub_setup_SOURCES): Likewise.
31847 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
31848 Likewise.
31849 * fs/ufs2.c: New file.
31850 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
31851
d3539132 318522009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31853
31854 Framebuffer split.
31855
31856 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
31857 subsystem at the end.
31858 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
31859 (video_fb_mod_SOURCES): New variable.
31860 (video_fb_mod_CFLAGS): Likewise.
31861 (video_fb_mod_LDFLAGS): Likewise.
31862 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
31863 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
31864 * video/i386/pc/vbeblit.c: Moved from here ...
31865 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
31866 * video/i386/pc/vbefill.c: Moved from here ...
31867 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
31868 * video/i386/pc/vbeutil.c: Moved from here ...
31869 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
31870 * include/grub/i386/pc/vbeblit.h: Moved from here ...
31871 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
31872 * include/grub/i386/pc/vbefill.h: Moved from here ...
31873 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
31874 * include/grub/i386/pc/vbeutil.h: Moved from here ...
31875 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
31876 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
31877 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
31878 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
31879 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
31880 (grub_video_adapter): Added 'get_info_and_fini'.
31881 (grub_video_get_info_and_fini): New prototype.
31882 (grub_video_set_mode): make modestring const char *.
31883 * loader/i386/linux.c (grub_linux_setup_video): Use
31884 grub_video_get_info_and_fini.
31885 (grub_linux_boot): Move modesetting just before booting.
31886 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
31887 grub_video_get_info_and_fini.
31888 * video/i386/pc/vbe.c: Moved framebuffer part ...
31889 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
31890 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
31891 grub_video_fbstd_colors and grub_video_fb_set_palette.
31892 (grub_video_vbe_init): Clear 'framebuffer' variable and use
31893 grub_video_fb_init.
31894 (grub_video_vbe_fini): Use grub_video_fb_fini.
31895 (grub_video_vbe_setup): Use framebuffer.render_target instead of
31896 render_target and use grub_video_fb_set_active_render_target and
31897 grub_video_fb_set_palette.
31898 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
31899 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
31900 (grub_video_vbe_adapter): Use framebuffer.
31901 * video/video.c (grub_video_get_info_and_fini): New function.
31902 (grub_video_set_mode): Make modestring const char *.
31903 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
31904 values are already initialised.
31905
d404ee56 319062009-08-14 Pavel Roskin <proski@gnu.org>
31907
31908 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
31909 ABS and APPLE_CC.
31910 * boot/i386/pc/diskboot.S: Likewise.
31911 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
31912 sectors allow compilation on MacOSX.
31913 * conf/i386-pc.rmk: Enable unconditional compilation of
31914 lnxboot.img.
31915
9a10df16 319162009-08-13 Colin Watson <cjwatson@ubuntu.com>
31917
31918 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
31919 * util/grub.d/00_header.in: Enter interruptible sleep if
31920 GRUB_HIDDEN_TIMEOUT is set.
31921
be3c9ca7 319222009-08-13 Yves Blusseau <blusseau@zetam.org>
31923
31924 * include/grub/symbol.h: Add the LOCAL macro.
31925 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
31926 starting with "L_".
31927
1f9e557e 319282009-08-13 Pavel Roskin <proski@gnu.org>
31929
9ca62843 31930 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
31931 any modern compilers we support.
31932
1f9e557e 31933 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
31934 Use local labels starting with "L_" so that Apple assembler
31935 knows they are local.
31936
81623db6 319372009-08-10 Robert Millan <rmh.grub@aybabtu.com>
31938
31939 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
31940 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
31941 (bsd_kernel_types): ... this enum.
31942
31943 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
31944 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
31945 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
31946
31947 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
31948 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
31949 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
31950 messages.
31951
f5d35e7a 319522009-08-08 Robert Millan <rmh.grub@aybabtu.com>
31953
31954 * util/grub-dumpdevtree: Moved from here ...
31955 * util/i386/efi/grub-dumpdevtree: ... to here.
31956 (hexify): New function. Converts a string to its hex version.
31957 Generate hex versions of "efi" and "device-properties" by calling
31958 hexify() on the ASCII strings rather than by hardcoding numbers.
31959
d1e1d527 319602009-08-08 Robert Millan <rmh.grub@aybabtu.com>
31961
31962 * fs/jfs.c: Update copyright year.
31963
1ebbe064 319642009-08-08 Felix Zielcke <fzielcke@z-51.de>
31965
31966 * util/grub.d/00_header.in: Fix a comment.
31967 * util/grub.d/10_linux.in: Likewise.
31968 * util/grub.d/10_windows.in: Likewise.
31969 * util/grub.d/10_hurd.in: Likewise.
31970
a78c8d24 319712009-08-08 Felix Zielcke <fzielcke@z-51.de>
31972
31973 * util/grub-mkconfig.in: Allow the user to specify the used font
31974 with GRUB_FONT.
31975
29a6b9e8 319762009-08-08 Pavel Roskin <proski@gnu.org>
31977
b5f16cc4 31978 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
31979 available, xfs.mod needs it now.
31980
2f5cb827 31981 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
31982 the "g" modifier in sed when the intention is to strip something
31983 once. This fixes comparison of kernels with multiple dashes.
31984
29a6b9e8 31985 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
31986 on it. Add missing space before closing bracket. Fix
31987 misleading formatting.
31988
892a3d98 319892009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31990
31991 * docs/grub.texi: Major overhaul. Remove all sections that are
31992 specific to GRUB Legacy, or mostly composed of Legacy-specific
31993 information.
31994
ed94253f 319952009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31996
31997 * docs/version.texi: New file. Provides version information for
31998 grub.texi.
31999
126d6628 320002009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32001
32002 * docs/grub.texi: Update CVS information to SVN.
32003 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
32004
998b5aa9 320052009-08-07 Felix Zielcke <fzielcke@z-51.de>
32006
32007 * util/grub-mkconfig.in: Remove a wrong `fi'.
32008
818e094a 320092009-08-07 Felix Zielcke <fzielcke@z-51.de>
32010
32011 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
32012 (grub_jfs_uuid): New function.
32013 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
32014
b969c52f 320152009-08-07 Felix Zielcke <fzielcke@z-51.de>
32016
32017 * util/grub-mkconfig_lib.in (font_path): Move the functionality
32018 of it to ...
32019 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
32020 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
32021
7a4894cc 320222009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32023
32024 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
32025 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
32026 Update all users.
32027
32028 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
32029 not just "vmlinu[zx]".
32030 Moved from here ...
32031 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
32032 all users.
32033
32034 * util/grub.d/10_linux.in (find_latest): Moved from here ...
32035 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
32036 all users.
32037
4e2171f8 320382009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32039
32040 * util/grub.d/10_freebsd.in: Use an absolute device path for
32041 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
32042
6dcfcb32 320432009-08-06 Felix Zielcke <fzielcke@z-51.de>
32044
32045 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
32046 handling of multiple abstraction modules.
32047
f56a8756 320482009-08-04 Robert Millan <rmh.grub@aybabtu.com>
32049
32050 Fix a bug resulting in black screen when loading Linux using a
32051 packed video mode.
32052
32053 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
32054 function.
32055
32056 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
32057 (grub_vbe_bios_getset_dac_palette_width): New function.
32058 (grub_vbe_bios_get_dac_palette_width)
32059 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
32060 grub_vbe_bios_getset_dac_palette_width()).
32061
32062 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
32063 check for return status.
32064 (grub_vbe_get_video_mode_info): When getting information for a packed
32065 mode (<= 8 bpp), obtain DAC palette width using
32066 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
32067 {red,green,blue}_mark_size.
32068
222671b2 320692009-08-04 Felix Zielcke <fzielcke@z-51.de>
32070
ecb1a6d9 32071 * commands/search.c (options): Fix help output to match actual code.
222671b2 32072
f84114f5 320732009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
32074
32075 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
32076 of homegrown code.
32077
bd288a20 320782009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 32079
32080 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
32081 on XFS or ReiserFS.
32082
8aab5e25 320832009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
32084
32085 Support Apple partition map with sector size different from 512 bytes.
32086
32087 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
32088 (apple_partition_map_iterate): Respect 'aheader.blocksize'
32089 and 'apart.partmap_size'.
32090
6ad6258a 320912009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
320922009-08-01 Robert Millan <rmh.grub@aybabtu.com>
32093
32094 Fix cpuid command.
32095
32096 * commands/i386/cpuid.c (options): New variable.
32097 (grub_cmd_cpuid): Return real error.
32098 (GRUB_MOD_INIT(cpuid)): Declare options.
32099
67459bc6 321002009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
32101
32102 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
32103 valid.
32104
fbc6ab54 321052009-07-31 Bean <bean123ch@gmail.com>
32106
32107 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
32108 log2_inode.
32109 (grub_fshelp_node): Move inode field to the end.
32110 (grub_xfs_data): Remove inode field.
32111 (grub_xfs_inode_block): Calculate inode size using sblock.
32112 (grub_xfs_inode_offset): Likewise.
32113 (grub_xfs_read_inode): Calculate inode size using sblock.
32114 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
32115 (grub_xfs_iterate_dir): Calculate inode size using sblock.
32116 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
32117 to match inode size.
32118 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
32119 not accessible when data is null.
32120 (grub_xfs_open): Likewise.
32121
f45d6cfc 321222009-07-31 Bean <bean123ch@gmail.com>
32123
32124 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
32125 Don't change pv->disk if it's already set.
32126
32127 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
32128 (grub_raid_register): ... here.
32129 (grub_raid_rescan): Removed.
32130
32131 * include/grub/raid.h (grub_raid_rescan): Removed.
32132
32133 * util/grub-fstest.c: Remove include file <grub/raid.h>.
32134 (fstest): Replace grub_raid_rescan with module fini function followed
32135 by init function.
32136
32137 * util/grub-probe.c: Add include file <grub/raid.h>.
32138 (probe_raid_level): New function.
32139 (probe): Detect abstraction by walking the disk device, support two
32140 level of abstraction (LVM on RAID) when detecting partition map.
32141
24443b5a 321422009-07-31 Pavel Roskin <proski@gnu.org>
32143
32144 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
32145 to grub_zalloc(), it was erroneous.
32146 Reported by Bean <bean123ch@gmail.com>
32147
a275d9e7 321482009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
32149
32150 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 32151 embedding zone, not only the first one.
a275d9e7 32152
56c5a47f 321532009-07-29 Joe Auricchio <jauricchio@gmail.com>
32154
32155 * term/gfxterm.c (clear_char): New function.
32156 (grub_virtual_screen_setup): Use clear_char.
32157 (scroll_up): Likewise.
32158 (grub_virtual_screen_cls): Likewise.
32159
67bb323a 321602009-07-29 Felix Zielcke <fzielcke@z-51.de>
32161
32162 * util/deviceiter.c (get_acceleraid_disk_name): New static
32163 function.
32164 (grub_util_iterate_devices): Handle Accelraid devices.
32165 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
32166
388a7c75 321672009-07-28 Robert Millan <rmh.grub@aybabtu.com>
32168
32169 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
32170 separator for the suggested gfxpayload string (';' collides with the
32171 parser and needs escaping).
32172
3bb7abcf 321732009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
32174
32175 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
32176 Clear direction flag before jumping to OS.
32177 (grub_multiboot2_real_boot): Likewise.
32178
2ddd36d7 321792009-07-28 Felix Zielcke <fzielcke@z-51.de>
32180
32181 * util/i386/pc/grub-install: Fix parsing of --disk-module
32182 option.
32183
c521b62b 321842009-07-28 Felix Zielcke <fzielcke@z-51.de>
32185
32186 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
32187 when embedding.
32188
880e0a0c 321892009-07-26 Felix Zielcke <fzielcke@z-51.de>
32190
32191 * util/grub-mkconfig.in (package_version): New variable.
32192 Use it do display the version.
32193
2366e356 321942009-07-25 Felix Zielcke <fzielcke@z-51.de>
32195
32196 * kern/file.c (grub_file_open): Revert to previous check with
32197 grub_errno.
32198
7ad8c80e 321992009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
32200
32201 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
32202 from help line. It's out of sync with code.
32203
72b9658b 322042009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
32205
32206 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
32207 entries on failed boot.
32208
77435277 322092009-07-25 Felix Zielcke <fzielcke@z-51.de>
32210
32211 * kern/file.c (grub_file_open): Fix an error check.
32212
fcaa8b21 322132009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
32214
35d16c74 32215 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
32216 partition map couldn't be identified.
fcaa8b21 32217
48904cd1 322182009-07-23 Pavel Roskin <proski@gnu.org>
32219
ef3c317f 32220 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
32221 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
32222 case of little endian words becomes just an optimization.
32223 Respect const modifier.
ad8ea1f4 32224 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 32225
48904cd1 32226 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
32227 to avoid loss of upper bits if align is unsigned and shorter
32228 than addr.
32229
260c9a89 322302009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
32231
32232 UUID support for UFS
32233
32234 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
32235 (grub_ufs_uuid): New function.
32236 (grub_ufs_fs): add .uuid
32237
f76ce889 322382009-07-21 Pavel Roskin <proski@gnu.org>
32239
32240 * kern/dl.c (grub_dl_check_header): Make static.
32241
6a6cbcaf 322422009-07-21 Felix Zielcke <fzielcke@z-51.de>
32243
32244 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
32245 add drivemap for Vista. It breaks Windows 7.
32246
cffcddb2 322472009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
32248
32249 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
32250 128 bytes
32251
1ef44b80 322522009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32253
32254 Add BFS support
32255
32256 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
32257 (grub_fstest_SOURCES): Likewise.
32258 (pkglib_MODULES): Add befs.mod.
32259 (befs_mod_SOURCES): New variable.
32260 (befs_mod_CFLAGS): Likewise.
32261 (befs_mod_LDFLAGS): Likewise.
32262 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32263 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32264 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32265 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32266 (grub_setup_SOURCES): Likewise.
32267 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32268 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32269 (grub_setup_SOURCES): Likewise.
32270 * fs/befs.c: New file.
32271 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
32272 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
32273 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
32274 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
32275 (B_KEY_INDEX_ALIGN): New declaration.
32276 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
32277 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
32278 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
32279 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
32280 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
32281 (grub_afs_mount) [MODE_BFS]: Likewise.
32282 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
32283 (grub_afs_fs): Use GRUB_AFS_FSNAME
32284 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
32285 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
32286 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
32287 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
32288
4f253044 322892009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
32290
32291 * util/getroot.c (find_root_device): Add support for MacOSX.
32292 * util/hostdisk.c: Likewise.
32293
57a55913 322942009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32295
32296 * font/font.c (find_glyph): Check whether a font is present to avoid
32297 segmentation fault.
75421ca9 32298
322992009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 32300
32301 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
32302
e98cd0c2 323032009-07-20 Pavel Roskin <proski@gnu.org>
32304
32305 * configure.ac: Trim excessively wordy excuses.
32306
1d2d169a 323072009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32308
32309 Add symlink, mtime and label support to AtheFS.
32310
32311 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
32312 (grub_afs_iterate_dir): Handle symlinks.
32313 (grub_afs_open): Use grub_afs_read_symlink.
32314 (grub_afs_dir): Likewise.
32315 Pass mtime.
32316 (grub_afs_label): New function.
32317 (grub_afs_fs): Add grub_afs_label.
32318 (grub_afs_read_symlink): New function.
32319
186f3189 323202009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32321
32322 Fix AtheFS support.
32323
32324 * fs/afs.c: Fix comments style.
32325 (grub_afs_blockrun): Declare as packed.
32326 (grub_afs_datastream): Likewise.
32327 (grub_afs_bnode): Likewise.
32328 (grub_afs_btree): Likewise.
32329 (grub_afs_sblock): Likewise.
32330 Declare `name' as char.
32331 (grub_afs_inode): Declare as packed.
32332 Change void *vnode to grub_uint32_t unused.
32333 (grub_afs_iterate_dir): Check that key_size is positive.
32334 (grub_afs_mount): Don't read superblock twice.
75421ca9 32335 (grub_afs_dir): Don't free node in case of error,
186f3189 32336 grub_fshelp_find_file already handles this.
32337 (grub_afs_open): Likewise.
32338
5680109e 323392009-07-19 Pavel Roskin <proski@gnu.org>
32340
32341 * Makefile.in: Remove LIBLZO and enable_lzo.
32342 * conf/i386-pc.rmk: Remove lzo support.
32343 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
32344 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
32345 support.
32346 * kern/i386/pc/lzo1x.S: Remove.
32347 * kern/i386/pc/startup.S: Remove lzo support.
32348 * util/i386/pc/grub-mkimage.c: Likewise.
32349
ac70fa32 323502009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
32351
32352 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
32353 * fs/xfs.c (grub_xfs_dir): Likewise.
32354 * fs/afs.c (grub_afs_dir): Likewise.
32355 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
32356 (grub_iso9660_open): Likewise.
32357 * fs/jfs.c (grub_jfs_open): Likewise.
32358 * fs/ext2.c (grub_ext2_dir): Likewise.
32359 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
32360 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 32361
eab58da2 323622009-07-16 Pavel Roskin <proski@gnu.org>
32363
d2838156 32364 * configure.ac: Never add "-c" to CFLAGS.
32365
55c70904 32366 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
32367
43e6200c 32368 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
32369 grub_cv_cc_efiemu should be used.
32370
ce7a733d 32371 * configure.ac: Typo fixes.
32372
eab58da2 32373 * kern/mm.c (grub_zalloc): New function.
32374 (grub_debug_zalloc): Likewise.
32375 * include/grub/mm.h: Declare grub_zalloc() and
32376 grub_debug_zalloc().
32377 * util/misc.c (grub_zalloc): New function.
32378 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
32379 instead of grub_malloc(), remove unneeded initializations.
32380 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
32381 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
32382 * commands/parttool.c (grub_cmd_parttool): Likewise.
32383 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
32384 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
32385 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
32386 * disk/usbms.c (grub_usbms_finddevs): Likewise.
32387 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
32388 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
32389 (grub_cmd_efiemu_pnvram): Likewise.
32390 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
32391 * fs/iso9660.c (grub_iso9660_mount): Likewise.
32392 (grub_iso9660_iterate_dir): Likewise.
32393 * fs/jfs.c (grub_jfs_opendir): Likewise.
32394 * fs/ntfs.c (list_file): Likewise.
32395 (grub_ntfs_mount): Likewise.
32396 * kern/disk.c (grub_disk_open): Likewise.
32397 * kern/dl.c (grub_dl_load_core): Likewise.
32398 * kern/elf.c (grub_elf_file): Likewise.
32399 * kern/env.c (grub_env_context_open): Likewise.
32400 (grub_env_set): Likewise.
32401 (grub_env_set_data_slot): Likewise.
32402 * kern/file.c (grub_file_open): Likewise.
32403 * kern/fs.c (grub_fs_blocklist_open): Likewise.
32404 * loader/i386/multiboot.c (grub_module): Likewise.
32405 * loader/xnu.c (grub_xnu_create_key): Likewise.
32406 (grub_xnu_create_value): Likewise.
32407 * normal/main.c (grub_normal_add_menu_entry): Likewise.
32408 (read_config_file): Likewise.
32409 * normal/menu_entry.c (make_screen): Likewise.
32410 * partmap/sun.c (sun_partition_map_iterate): Likewise.
32411 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
32412 * script/sh/script.c (grub_script_parse): Likewise.
32413 * video/bitmap.c (grub_video_bitmap_create): Likewise.
32414 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
32415 * video/readers/png.c (grub_png_output_byte): Likewise.
32416 (grub_video_reader_png): Likewise.
32417
830afef7 324182009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 32419
32420 Enable all targets that can be built by default
32421
830afef7 32422 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 32423 grub-mkfont and grub-fstest if they can be built
32424
ee293aee 324252009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32426
32427 Fix hang and segmentation fault in grub-emu-usb
32428
32429 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
32430 * util/usb.c (grub_libusb_devices): likewise
32431 (grub_libusb_init): rename to ...
32432 (GRUB_MOD_INIT (libusb)):...this
32433 (grub_libusb_fini): rename to ..
32434 (GRUB_MOD_FINI (libusb)):...this
32435 * disk/usbms.c (grub_usbms_transfer): fix retry logic
32436 * include/grub/disk.h (grub_raid_init): removed, it's useless
32437 (grub_raid_fini): likewise
32438 (grub_lvm_init): likewise
32439 (grub_lvm_fini): likewise
32440 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
32441 by grub_init_all
32442
94414221 324432009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32444
32445 Fix libusb
32446
32447 * Makefile.in (LIBUSB): new macro
32448 * genmk.rb (Utility/print_tail): new method
32449 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
32450 (top level): call util.print_tail at the end.
32451
59ade63d 324522009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32453
32454 Make FreeBSD accept zpool.cache
32455
32456 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
32457 type is /boot/zfs/zpool.cache
32458
a58da8c7 324592009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32460
32461 Fix 64-bit efiemu
32462
32463 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
32464 correct wrong typedef
32465 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
32466
20591577 324672009-07-15 Pavel Roskin <proski@gnu.org>
32468
560ca572 32469 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
32470 * kern/disk.c (struct grub_disk_cache): Likewise.
32471
e8e8e4fd 32472 * commands/probe.c (options): Typo fix.
32473
fde24e10 32474 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
32475 Increase to 0x5a to accommodate FAT32. Adjust other offsets
32476 accordingly.
32477 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
32478
379c54c1 32479 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
32480 the end of "Error" to make the message more readable.
32481
7bd8f5bf 32482 * boot/i386/pc/boot.S (kernel_segment): Remove.
32483 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
32484 for destination.
32485
40b132c5 32486 * boot/i386/pc/boot.S (boot_version): Remove.
32487 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
32488 Remove.
32489
20591577 32490 * include/grub/i386/pc/boot.h: Sort all offsets.
32491 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
32492 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
32493 * boot/i386/pc/boot.S: Assert location of every offset listed in
32494 include/grub/i386/pc/boot.h.
32495
2df32b2c 324962009-07-13 Pavel Roskin <proski@gnu.org>
32497
44b5d879 32498 * include/grub/i386/coreboot/machine.h: Rename
32499 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
32500 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
32501 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
32502
17dc3751 32503 * kern/dl.c: Force native word size to suppress warnings when
32504 compiling grub-emu.
32505
2df32b2c 32506 * kern/device.c (grub_device_iterate): Change struct part_ent to
32507 hold the name, not a pointer to it. Use one grub_malloc() per
32508 partition, not two. Free partition_name if grub_malloc() fails.
32509 Set ents to NULL only before grub_partition_iterate() is called.
32510
75c59f59 325112009-07-11 Bean <bean123ch@gmail.com>
32512
32513 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
32514 childname.
32515
0ae1bf88 325162009-07-10 Bean <bean123ch@gmail.com>
325172009-07-10 Robert Millan <rmh.grub@aybabtu.com>
32518
32519 * kern/ieee1275/openfw.c (grub_children_iterate)
32520 (grub_devalias_iterate): Fix size evaluation for property or path
32521 strings, which was broken since r2132.
32522
8279cade 325232009-07-07 Pavel Roskin <proski@gnu.org>
32524
7d8a52d3 32525 * commands/search.c (search_file): Merge into ...
32526 (search_fs): ... this. Accept search type as argument.
32527 (grub_cmd_search): Pass search type to search_fs().
32528
25f9a05a 32529 * include/grub/util/console.h: New file.
32530 * util/console.c: Use it instead of grub/machine/console.h.
32531 * util/grub-emu.c: Likewise.
32532
8279cade 32533 * lib/arg.c (find_long_option): Remove.
32534 (find_long): Add `len' argument, make `s' const char *.
32535 (grub_arg_parse): Parse long options in place, not in a
32536 temporary buffer.
32537
4a11b60f 325382009-07-06 Pavel Roskin <proski@gnu.org>
32539
99f68041 32540 * commands/search.c (search_fs): Fix potential NULL pointer
32541 dereference.
32542
4a11b60f 32543 * commands/search.c (search_fs): Replace QUID macro with quid_fn
32544 function pointer.
32545
e110f4de 325462009-07-06 Daniel Mierswa <impulze@impulze.org>
32547
32548 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
32549 comparison.
32550
46eeb6a2 325512009-07-05 Pavel Roskin <proski@gnu.org>
32552
bab74958 32553 * include/grub/i386/linux.h (struct linux_kernel_params):
32554 Restore padding3, it's still needed.
32555
46eeb6a2 32556 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
32557 FreeBSD.
32558 * util/osdetect.lua: Likewise.
32559
b4a1dc79 325602009-07-05 Bean <bean123ch@gmail.com>
32561
32562 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
32563
32564 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
32565 (grub_lua_getenv): Likewise.
32566 (grub_lua_setenv): Likewise.
32567 (save_errno): New function.
32568 (push_result): Likewise.
32569 (grub_lua_enum_device): Likewise.
32570 (grub_lua_enum_file): Likewise.
32571 (grub_lua_file_open): Likewise.
32572 (grub_lua_file_close): Likewise.
32573 (grub_lua_file_seek): Likewise.
32574 (grub_lua_file_read): Likewise.
32575 (grub_lua_file_getline): Likewise.
32576 (grub_lua_file_getsize): Likewise.
32577 (grub_lua_file_getpos): Likewise.
32578 (grub_lua_file_eof): Likewise.
32579 (grub_lua_file_exist): Likewise.
32580 (grub_lua_add_menu): Likewise.
32581
32582 * script/lua/grub_lua.h (isupper): New inline function.
32583 (islower): Likewise.
32584 (ispunct): Likewise.
32585 (isxdigit): Likewise.
32586 (strcspn): Change to normal function.
32587 (strpbkr): New function declaration.
32588 (memchr): Likewise.
32589
32590 * script/lua/grub_main.c (scan_str): New function.
32591 (strcspn): Likewise.
32592 (strpbrk): Likewise.
32593 (memchr): Likewise.
32594
32595 * script/lua/linit.c (lualibs): Enable the string library.
32596
32597 * util/osdetect.lua: New file.
32598
2da92295 325992009-07-04 Robert Millan <rmh.grub@aybabtu.com>
32600
32601 * include/grub/i386/linux.h (struct linux_kernel_params): Add
32602 `capabilities' member.
32603
b2582ec9 326042009-07-02 Pavel Roskin <proski@gnu.org>
32605
32606 * genparttoollist.sh: Add missing newline at the end.
32607
32622956 326082009-07-01 Pavel Roskin <proski@gnu.org>
32609
87a7339e 32610 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
32611
d23af54e 32612 * util/hostdisk.c (open_device): Remove `const' from
32613 `sysctl_size', as sysctlbyname() can change it (in this case it
32614 doesn't actually happen).
32615
c94b18a9 32616 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
32617 using signed long int constants.
32618
c6cd3ef0 32619 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
32620 constant to avoid a warning on FreeBSD.
32621
0df63420 32622 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
32623 where it's needed.
32624
999577f1 32625 * Makefile.in: Install include/grub/machine symlink.
32626
6f41557f 32627 * Makefile.in: When installing symlinks, use "cp -fR", which
32628 works on FreeBSD and MacOSX.
32629 From Yves Blusseau <cl7m42e02@sneakemail.com>
32630
c8d22988 32631 * kern/dl.c (grub_dl_resolve_symbol): Make static.
32632 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
32633
1b96e952 32634 * util/misc.c: Move grub_reboot() and grub_halt() ...
32635 * util/grub-emu.c: ... here. Make main_env static.
32636 * include/grub/util/misc.h: Remove main_env.
32637
2ef0084d 32638 * kern/mm.c: Use correct format to print size_t.
32639
32622956 32640 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
32641 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
32642 * kern/powerpc/dl.c: Likewise.
32643 * kern/sparc64/dl.c: Likewise.
32644 * kern/x86_64/dl.c: Likewise.
32645
3f7f0cd0 326462009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32647
32648 Fix grub-emu build on sparc64-ieee1275.
32649
75421ca9 32650 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 32651 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
32652
211d06b5 326532009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32654
32655 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
32656 (grub_reboot, grub_halt): New functions.
32657
32658 * util/i386/pc/misc.c: Delete. Update all users.
32659 * util/sparc64/ieee1275/misc.c: Likewise.
32660 * util/powerpc/ieee1275/misc.c: Likewise.
32661
aaf53e3c 326622009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32663
32664 * conf/i386.rmk (setjmp_mod_SOURCES)
32665 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
32666 * conf/common.rmk (setjmp_mod_SOURCES)
32667 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
32668 to use $(target_cpu).
32669 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
32670 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
32671 * conf/powerpc-ieee1275.rmk: Likewise.
32672 * conf/sparc64-ieee1275.rmk: Likewise.
32673
32674 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
32675 $(target_cpu) for kern/$(target_cpu)/dl.c.
32676 * conf/i386-efi.rmk: Likewise.
32677 * conf/i386-ieee1275.rmk: Likewise.
32678 * conf/x86_64-efi.rmk: Likewise.
32679 * conf/i386-coreboot.rmk: Likewise.
32680 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
32681 $(target_cpu) for kern/$(target_cpu)/dl.c and for
32682 kern/$(target_cpu)/cache.S.
32683 * conf/sparc64-ieee1275.rmk: Likewise.
32684
a337130b 326852009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32686
32687 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
32688 type to `grub_uint8_t', and adjust `padding9' accordingly.
32689
c6fe4d53 326902009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32691
b09db61d 32692 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
32693
c6fe4d53 32694 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
32695 assembly in final jump, using register constraints.
32696
b09db61d 32697 (grub_linux_boot): For text mode, initialize `have_vga' using
32698 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
32699
32700 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
32701 right before the final jump.
32702
32703 Set `video_mode' to 0x3.
32704
32705 Document initialization of `video_page', `video_mode' and
32706 `video_ega_bx'.
32707
28333ad0 327082009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32709
32710 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
32711 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 32712 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 32713
02164e1b 327142009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32715
32716 Fix build on Debian / sparc.
32717
32718 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
32719
18b6c557 327202009-06-28 Pavel Roskin <proski@gnu.org>
32721
85f2aab6 32722 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
32723 fix a warning.
32724
18b6c557 32725 * util/grub.d/10_linux.in: Match SUSE style initrd names.
32726
ad760f81 327272009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32728
32729 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
32730 `err'.
32731
87a4623b 327322009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32733
32734 Revert r2338.
32735
32736 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
32737 file can't be opened. grub_file_open() is already supposed to set
75421ca9 32738 grub_errno / grub_errmsg appropriately.
87a4623b 32739 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
32740
8231fb77 327412009-06-27 Pavel Roskin <proski@gnu.org>
327422009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32743
32744 * include/grub/dl.h: Include grub/elf.h.
32745 (struct grub_dl): Add symtab field.
32746 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
32747 GRUB_MODULES_MACHINE_READONLY.
32748 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
32749 of the header for read-only modules.
32750 (grub_dl_unload): Free mod->symtab for read-only modules.
32751 * kern/i386/dl.c: Use mod->symtab.
32752 * kern/powerpc/dl.c: Likewise.
32753 * kern/sparc64/dl.c: Likewise.
32754 * kern/x86_64/dl.c: Likewise.
32755
32756 * conf/i386-qemu.rmk: New file.
32757 * kern/i386/qemu/startup.S: Likewise.
32758 * kern/i386/qemu/mmap.c: Likewise.
32759 * boot/i386/qemu/boot.S: Likewise.
32760 * include/grub/i386/qemu/time.h: Likewise.
32761 * include/grub/i386/qemu/serial.h: Likewise.
32762 * include/grub/i386/qemu/kernel.h: Likewise.
32763 * include/grub/i386/qemu/console.h: Likewise.
32764 * include/grub/i386/qemu/boot.h: Likewise.
32765 * include/grub/i386/qemu/init.h: Likewise.
32766 * include/grub/i386/qemu/machine.h: Likewise.
32767 * include/grub/i386/qemu/loader.h: Likewise.
32768 * include/grub/i386/qemu/memory.h: Likewise.
32769
32770 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
32771 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
32772 [qemu] (pkglib_IMAGES): Add `boot.img'.
32773 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
32774 [qemu] (boot_img_FORMAT): New variables.
32775 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
32776 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
32777 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
32778 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
32779 [qemu] (kernel_img_FORMAT): New variables.
32780
32781 * configure.ac: Recognise `i386-qemu'.
32782
32783 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
32784 (for no compression).
32785 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
32786 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
32787 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
32788 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
32789 ifdefs).
32790
97fe384e 327912009-06-27 Pavel Roskin <proski@gnu.org>
32792
32793 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
32794 read.
32795 * efiemu/prepare32.c: Likewise.
32796 * efiemu/prepare64.c: Likewise.
32797
c402ab17 327982009-06-26 Pavel Roskin <proski@gnu.org>
32799
32800 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
32801 * include/grub/elf.h: Define symbols without "32" or "64" based
32802 on GRUB_TARGET_WORDSIZE.
32803 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
32804 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
32805 ELF definitions.
32806 * efiemu/loadcore64.c: Likewise.
32807 * loader/i386/bsd32.c: Likewise.
32808 * loader/i386/bsd64.c: Likewise.
32809 * kern/dl.c: Remove own ELF definitions.
32810 * util/i386/efi/grub-mkimage.c: Likewise.
32811
9bbdfd4d 328122009-06-23 Robert Millan <rmh.grub@aybabtu.com>
32813
32814 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
32815 segment 0x0 unconditionally, because the reference generated by
32816 GAS is an absolute address.
32817
a42ce6e9 328182009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32819
32820 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
32821 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
32822
c952cf92 328232009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32824
32825 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
32826 indexes. Check for -f explicitly.
cc3752ad 32827 (search_file): Improve error message.
32828 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 32829
132a0a59 328302009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32831
32832 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
32833 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
32834
387a140c 328352009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32836
32837 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
32838 * conf/i386-ieee1275.rmk: Likewise.
32839 * conf/i386-coreboot.rmk: Likewise.
32840
32841 * kern/i386/pc/startup.S (grub_stop): Remove function.
32842 * kern/i386/ieee1275/startup.S: Likewise.
32843 * kern/i386/coreboot/startup.S: Likewise.
32844 * kern/i386/misc.S (grub_stop): New function.
32845
41da9665 328462009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32847
32848 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
32849 * kern/i386/realmode.S (real_to_prot): ... to here.
32850
bf337234 328512009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32852
32853 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
32854 with `kernel.img'.
32855 (kernel_elf_SOURCES): Rename to ...
32856 (kernel_img_SOURCES): ... this.
32857 (kernel_elf_HEADERS): Rename to ...
32858 (kernel_img_HEADERS): ... this. Update all users.
32859 (kernel_elf_ASFLAGS): Rename to ...
32860 (kernel_img_ASFLAGS): ... this.
32861 (kernel_elf_CFLAGS): Rename to ...
32862 (kernel_img_CFLAGS): ... this.
32863 (kernel_elf_LDFLAGS): Rename to ...
32864 (kernel_img_LDFLAGS): ... this.
32865 * conf/i386-coreboot.rmk: Likewise.
32866 * conf/powerpc-ieee1275.rmk: Likewise.
32867
32868 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
32869 with "kernel.img".
32870
f52196ff 328712009-06-21 Pavel Roskin <proski@gnu.org>
32872
c3cee413 32873 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
32874 to match nested functions.
32875 * loader/sparc64/ieee1275/linux.c: Likewise.
32876
f52196ff 32877 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
32878
58750afc 328792009-06-21 Robert Millan <rmh.grub@aybabtu.com>
32880
32881 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
32882 all i386 platforms.
32883
15355c7d 328842009-06-21 Robert Millan <rmh.grub@aybabtu.com>
32885
32886 Fix asm file handling on ELF, and remove workarounds.
32887
32888 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 32889 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 32890 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
32891 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
32892
3f3ec72b 328932009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
32894
32895 Load BSD ELF modules
32896
32897 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
32898 and loader/i386/bsd64.c
32899 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
32900 (FREEBSD_MODTYPE_ELF_MODULE): New definition
32901 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
32902 (grub_freebsd_load_elfmodule32): New declaration
32903 (grub_freebsd_load_elfmoduleobj64): Likewise
32904 (grub_freebsd_load_elf_meta32): Likewise
32905 (grub_freebsd_load_elf_meta64): Likewise
32906 (grub_freebsd_add_meta): Likewise
32907 (grub_freebsd_add_meta_module): Likewise
32908 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
32909 (grub_freebsd_add_meta_module): Likewise and move module-specific
32910 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
32911 (grub_cmd_freebsd): Add elf-kernel specific parts
32912 based on grub_freebsd_add_meta_module
32913 (grub_cmd_freebsd_module): Add type parsing moved from
32914 grub_freebsd_add_meta_module
32915 (grub_cmd_freebsd_module_elf): New function
32916 (cmd_freebsd_module_elf): New variable
32917 (GRUB_MOD_INIT): Register freebsd_module_elf
32918 * loader/i386/bsd32.c: New file
32919 * loader/i386/bsd64.c: Likewise
32920 * loader/i386/bsdXX.c: Likewise
32921 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
32922 (grub_elf64_load): Likewise
32923 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
32924 All users updated
32925 (grub_elf64_load_hook_t): Likewise
32926
0db15301 329272009-06-21 Colin Watson <cjwatson@ubuntu.com>
32928
32929 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
32930 variable.
32931 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
32932 don't write a menu entry for recovery mode.
32933
546796c1 329342009-06-20 Robert Millan <rmh.grub@aybabtu.com>
32935
32936 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
32937 after it's no longer needed.
32938
cd7310d5 329392009-06-20 Robert Millan <rmh.grub@aybabtu.com>
32940
32941 * include/grub/i386/loader.h (grub_linux_prot_size)
32942 (grub_linux_tmp_addr, grub_linux_real_addr)
32943 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
32944 GRUB_MACHINE_PCBIOS.
32945 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
32946 common grub_util_info() call to ...
32947 (generate_image): ... here.
32948 Fix use of uninitialized memory, comparison of signed with
32949 unsigned integers and memory leak.
32950 Remove bogus module address message.
32951
ab32d3b5 329522009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
32953
32954 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
32955 grub_raid_register
32956 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
32957
024ef597 329582009-06-19 Pavel Roskin <proski@gnu.org>
32959
32960 * configure.ac: Remove stray AC_MSG_CHECKING.
32961
3ac72b51 329622009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
32963
32964 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 32965
e14cd814 329662009-06-18 Pavel Roskin <proski@gnu.org>
32967
32968 * conf/common.rmk: Add fs_file.mod.
32969 * disk/fs_file.c: New file.
32970 * include/grub/disk.h (enum grub_disk_dev_id): Add
32971 GRUB_DISK_DEVICE_FILE_ID.
32972
26586d98 329732009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32974
32975 Fix build with Apple's toolchain. Part 2
32976
32977 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
32978 a fake start
32979
26de2bcd 329802009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32981
32982 Fix build with Apple's toolchain. Part 1
32983
32984 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
32985 for long calls
32986 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 32987 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 32988 Apple's toolchain
32989
09b3490b 329902009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32991
32992 Fix warnings
32993
32994 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
32995 (decomp_block): initialize ch
32996 use grub_memcpy instead of memcpy
32997
c22a006a 329982009-06-17 Pavel Roskin <proski@gnu.org>
32999
d3638678 33000 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
33001 version, use declarations needed to use vga_text as the startup
33002 console.
33003
c22a006a 33004 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
33005 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
33006 the kernel.
33007 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
33008 and grub_at_keyboard_fini(), it's done on module load and
33009 unload.
33010
05b129e0 330112009-06-17 Felix Zielcke <fzielcke@z-51.de>
33012
33013 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
33014 file can't be found.
33015 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
33016
cf24ed9e 330172009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
33018
33019 Fix newline handling
33020
33021 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 33022 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 33023 (grub_script_yylex): don't segfault on unterminated script
33024 newline terminates command and variable
33025
74aa8e4b 330262009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
33027
33028 avoid double grub_adjust_range call. Bug reported by David Simner
33029
33030 * kern/disk.c (grub_disk_write): change to raw disk access before
33031 calling disk_read
33032
1bd265f3 330332009-06-17 Colin Watson <cjwatson@ubuntu.com>
33034
33035 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
33036 spaces, for the benefit of help2man.
33037 * util/i386/efi/grub-mkimage.c (usage): Likewise.
33038
a2d08c06 330392009-06-16 Pavel Roskin <proski@gnu.org>
33040
33041 * kern/i386/halt.c: Include grub/machine/init.h.
33042 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
33043
b97bcb19 330442009-06-16 Felix Zielcke <fzielcke@z-51.de>
33045
33046 * util/grub.d/30_os-prober.in: Use ${root} in the generated
33047 drivemap menuentry.
33048
0644f96c 330492009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
33050
33051 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
33052 `echo' command.
33053
3ef17a2e 330542009-06-16 Pavel Roskin <proski@gnu.org>
33055
33056 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
33057 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
33058 save %dx, we only need %dl and we never change it.
33059 * boot/i386/pc/cdboot.S: Don't set the root drive.
33060 * boot/i386/pc/pxeboot.S: Likewise.
33061 * include/grub/i386/pc/boot.h: Remove
33062 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
33063 GRUB_BOOT_MACHINE_DRIVE_CHECK.
33064 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
33065 * kern/i386/pc/init.c (make_install_device): Remove references
33066 to grub_root_drive.
33067 * kern/i386/pc/startup.S: Likewise.
33068 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
33069
693fe637 330702009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
33071
33072 xnu_uuid command
33073
33074 * commands/xnu_uuid.c: new file
33075 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
33076 (xnu_uuid_mod_SOURCES): new variable
33077 (xnu_uuid_mod_CFLAGS): likewise
33078 (xnu_uuid_mod_LDFLAGS): likewise
33079 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
33080 * conf/i386-ieee1275.rmk: likewise
33081 * conf/i386-pc.rmk: likewise
33082 * conf/powerpc-ieee1275.rmk: likewise
33083 * conf/sparc64-ieee1275.rmk: likewise
33084 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
33085
c9da87d0 330862009-06-16 Pavel Roskin <proski@gnu.org>
33087
33088 * configure.ac: Avoid '==' in test command, it's not portable.
33089
9c6f4596 330902009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
33091
33092 Probe command
33093
33094 * commands/probe.c: new file
33095 * conf/common.rmk (pkglib_MODULES): add probe.mod
33096 (probe_mod_SOURCES): new variable
33097 (probe_mod_CFLAGS): likewise
33098 (probe_mod_LDFLAGS): likewise
33099 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
33100 * conf/i386-ieee1275.rmk: likewise
33101 * conf/i386-pc.rmk: likewise
33102 * conf/powerpc-ieee1275.rmk: likewise
33103 * conf/sparc64-ieee1275.rmk: likewise
33104
70b7f9fd 331052009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
33106
33107 Fix handling of string like \"hello\" and "a
33108 b"
33109
33110 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
33111 (grub_script_yylex): fix parsing of quoting, escaping and newline
33112
71c79a6b 331132009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
33114
dd74360c 33115 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 33116 handling
dd74360c 33117
0644f96c 331182009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 33119
33120 * util/grub-mkconfig.in: Fix parsing of --output option.
33121
e40893c3 331222009-06-12 Pavel Roskin <proski@gnu.org>
33123
33124 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
33125 genmk.rb don't need to be generated or installed.
33126
3a1acfe2 331272009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
33128
33129 * commands/i386/pc/drivemap_int13h.S: add more comments
33130
3a4575d4 331312009-06-11 Pavel Roskin <proski@gnu.org>
33132
0658e928 33133 * Makefile.in (uninstall): Uninstall manuals.
33134
ca0388f0 33135 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
33136 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
33137 and update-grub_lib in two places.
33138 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
33139
e3b27c39 33140 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
33141 a compiler warning.
33142
3a4575d4 33143 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
33144 `entry_lo' to fix variable shadowing.
33145
af1f4f55 331462009-06-11 Christian Franke <franke@computer.org>
33147
33148 * kern/misc.c (__enable_execute_stack): Add missing return type
33149 to prevent gcc warning.
33150
5225e649 331512009-06-11 Felix Zielcke <fzielcke@z-51.de>
33152
33153 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
33154
7d83bd47 331552009-06-11 Pavel Roskin <proski@gnu.org>
33156
c1cb63ba 33157 * Makefile.in: Don't rely on any scripts being executable.
33158 Always use $(SHELL) to run shell scripts.
33159
7d83bd47 33160 * configure.ac: Always define ___main if using -nostdlib. This
33161 fixes tests on Cygwin.
33162
948f48e7 331632009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
33164
33165 UDF fix
33166
7d83bd47 33167 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 33168 is in bytes and not in blocks
7d83bd47 33169
8ada9bc1 331702009-06-11 Pavel Roskin <proski@gnu.org>
33171
33172 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
33173 warning.
33174
25ad2323 331752009-06-11 Felix Zielcke <fzielcke@z-51.de>
33176
33177 * util/grub.d/30_os-prober.in: Fix a comment. Source
33178 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
33179 to set the root device. Place drivemap command in the generated
33180 chain entry.
33181
e65acb0c 331822009-06-11 Pavel Roskin <proski@gnu.org>
33183
33184 * configure.ac: Remove host_m32. Issues with 64-bit utilities
33185 have long been resolved.
33186
f285fe2d 331872009-06-11 Colin Watson <cjwatson@ubuntu.com>
33188
bd47b0b5 33189 * util/grub.d/10_linux.in: Capitalise "Linux".
33190
f285fe2d 33191 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
33192
a0c62e4e 331932009-06-11 Pavel Roskin <proski@gnu.org>
33194
b6783cb2 33195 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
33196 fix a gcc warning and ensure that the function won't ever exit.
33197
dde032e8 33198 * kern/i386/ieee1275/init.c: Add missing prototype for
33199 grub_stop_floppy().
33200
22cd079d 33201 * loader/ieee1275/multiboot2.c [__i386__]: Include
33202 grub/cpu/multiboot.h.
33203
a0c62e4e 33204 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
33205 casts to short - they are not portable and cause warnings. Fix
33206 use of uninitialized values in input_buf. Use ARRAY_SIZE.
33207
63963d17 332082009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
33209
33210 Drivemap fixes
33211
33212 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
33213 new function
33214 (grub_get_root_biosnumber_saved): new variable
33215 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
33216 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 33217 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 33218 %dx after the call if necessary
33219 * conf/common.rmk (pkglib_MODULES): remove boot.mod
33220 (boot_mod_SOURCES): remove
33221 (boot_mod_CFLAGS): remove
33222 (boot_mod_LDFLAGS): remove
33223 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
33224 (boot_mod_SOURCES): new variable
33225 (boot_mod_CFLAGS): likewise
33226 (boot_mod_LDFLAGS): likewise
33227 * conf/i386-efi.rmk: likewise
33228 * conf/i386-ieee1275.rmk: likewise
33229 * conf/i386-pc.rmk: likewise
33230 * conf/powerpc-ieee1275.rmk: likewise
33231 * conf/sparc64-ieee1275.rmk: likewise
33232 * conf/x86_64-efi.rmk: likewise
33233 * include/grub/i386/pc/biosnum.h: new file
33234 * lib/i386/pc/biosnum.c: likewise
33235 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
33236 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
33237 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 33238
33abf7ae 332392009-06-10 Pavel Roskin <proski@gnu.org>
33240
5ac35b35 33241 * io/gzio.c (test_header): Don't reuse one buffer for all data.
33242 Use separate variables. Read only the file size at the end, but
33243 not the checksum that we don't use.
33244
5c5215d5 33245 * kern/file.c (grub_file_read): Use void pointer for the buffer.
33246 Adjust all callers.
33247
27d5fef7 33248 * kern/ieee1275/openfw.c: Remove libc includes.
33249 * kern/ieee1275/cmain.c: Likewise.
33250 * include/grub/ieee1275/ieee1275.h: Likewise.
33251
33abf7ae 33252 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
33253 compiler warnings.
33254
19d50c2b 332552009-06-10 Felix Zielcke <fzielcke@z-51.de>
33256
33257 * Makefile.in: Remove all trailing whitespace.
33258 * conf/i386-pc.rmk: Likewise.
33259 * conf/powerpc-ieee1275.rmk: Likewise.
33260 * conf/sparc64-ieee1275.rmk: Likewise.
33261 * docs/grub.texi: Likewise.
33262 * docs/texinfo.tex: Likewise.
33263 * disk/fs_uuid.c: Likewise.
33264 * disk/lvm.c: Likewise.
33265 * disk/scsi.c: Likewise.
33266 * disk/ata.c: Likewise.
33267 * disk/ieee1275/ofdisk.c: Likewise.
33268 * disk/i386/pc/biosdisk.c: Likewise.
33269 * disk/host.c: Likewise.
33270 * disk/raid.c: Likewise.
33271 * disk/efi/efidisk.c: Likewise.
33272 * disk/usbms.c: Likewise.
33273 * disk/memdisk.c: Likewise.
33274 * disk/loopback.c: Likewise.
33275 * kern/powerpc/dl.c: Likewise.
33276 * kern/device.c: Likewise.
33277 * kern/dl.c: Likewise.
33278 * kern/sparc64/dl.c: Likewise.
33279 * kern/ieee1275/ieee1275.c: Likewise.
33280 * kern/term.c: Likewise.
33281 * kern/fs.c: Likewise.
33282 * kern/i386/dl.c: Likewise.
33283 * kern/i386/pc/startup.S: Likewise.
33284 * kern/i386/pc/init.c: Likewise.
33285 * kern/i386/pc/mmap.c: Likewise.
33286 * kern/i386/pc/lzo1x.S: Likewise.
33287 * kern/i386/ieee1275/init.c: Likewise.
33288 * kern/i386/realmode.S: Likewise.
33289 * kern/i386/tsc.c: Likewise.
33290 * kern/partition.c: Likewise.
33291 * kern/corecmd.c: Likewise.
33292 * kern/file.c: Likewise.
33293 * kern/efi/efi.c: Likewise.
33294 * kern/efi/init.c: Likewise.
33295 * kern/efi/mm.c: Likewise.
33296 * kern/main.c: Likewise.
33297 * kern/err.c: Likewise.
33298 * kern/env.c: Likewise.
33299 * kern/disk.c: Likewise.
33300 * kern/generic/millisleep.c: Likewise.
33301 * kern/generic/rtc_get_time_ms.c: Likewise.
33302 * kern/misc.c: Likewise.
33303 * kern/parser.c: Likewise.
33304 * genmk.rb: Likewise.
33305 * configure.ac: Likewise.
33306 * boot/i386/pc/diskboot.S: Likewise.
33307 * boot/i386/pc/pxeboot.S: Likewise.
33308 * boot/i386/pc/boot.S: Likewise.
33309 * boot/i386/pc/lnxboot.S: Likewise.
33310 * boot/i386/pc/cdboot.S: Likewise.
33311 * parttool/pcpart.c: Likewise.
33312 * video/readers/tga.c: Likewise.
33313 * video/video.c: Likewise.
33314 * video/bitmap.c: Likewise.
33315 * lib/envblk.c: Likewise.
33316 * lib/i386/setjmp.S: Likewise.
33317 * fs/xfs.c: Likewise.
33318 * fs/afs.c: Likewise.
33319 * fs/fat.c: Likewise.
33320 * fs/ntfs.c: Likewise.
33321 * fs/udf.c: Likewise.
33322 * fs/affs.c: Likewise.
33323 * fs/iso9660.c: Likewise.
33324 * fs/hfs.c: Likewise.
33325 * fs/fshelp.c: Likewise.
33326 * fs/ext2.c: Likewise.
33327 * fs/jfs.c: Likewise.
33328 * fs/reiserfs.c: Likewise.
33329 * fs/hfsplus.c: Likewise.
33330 * fs/minix.c: Likewise.
33331 * fs/cpio.c: Likewise.
33332 * fs/sfs.c: Likewise.
33333 * fs/ufs.c: Likewise.
33334 * efiemu/prepare.c: Likewise.
33335 * efiemu/loadcore_common.c: Likewise.
33336 * efiemu/runtime/efiemu.sh: Likewise.
33337 * efiemu/runtime/efiemu.S: Likewise.
33338 * efiemu/runtime/efiemu.c: Likewise.
33339 * efiemu/pnvram.c: Likewise.
33340 * efiemu/main.c: Likewise.
33341 * efiemu/i386/pc/cfgtables.c: Likewise.
33342 * efiemu/i386/loadcore64.c: Likewise.
33343 * efiemu/i386/loadcore32.c: Likewise.
33344 * efiemu/loadcore.c: Likewise.
33345 * efiemu/symbols.c: Likewise.
33346 * efiemu/mm.c: Likewise.
33347 * include/grub/autoefi.h: Likewise.
33348 * include/grub/datetime.h: Likewise.
33349 * include/grub/term.h: Likewise.
33350 * include/grub/hfs.h: Likewise.
33351 * include/grub/lvm.h: Likewise.
33352 * include/grub/i386/tsc.h: Likewise.
33353 * include/grub/i386/linux.h: Likewise.
33354 * include/grub/i386/xnu.h: Likewise.
33355 * include/grub/i386/efiemu.h: Likewise.
33356 * include/grub/i386/pc/biosdisk.h: Likewise.
33357 * include/grub/i386/pc/memory.h: Likewise.
33358 * include/grub/i386/pc/vbe.h: Likewise.
33359 * include/grub/parttool.h: Likewise.
33360 * include/grub/video.h: Likewise.
33361 * include/grub/memory.h: Likewise.
33362 * include/grub/fs.h: Likewise.
33363 * include/grub/partition.h: Likewise.
33364 * include/grub/xnu.h: Likewise.
33365 * include/grub/efi/api.h: Likewise.
33366 * include/grub/efi/pe32.h: Likewise.
33367 * include/grub/efi/memory.h: Likewise.
33368 * include/grub/multiboot.h: Likewise.
33369 * include/grub/usbdesc.h: Likewise.
33370 * include/grub/multiboot2.h: Likewise.
33371 * include/grub/acpi.h: Likewise.
33372 * include/grub/efiemu/efiemu.h: Likewise.
33373 * include/grub/disk.h: Likewise.
33374 * include/grub/ieee1275/ieee1275.h: Likewise.
33375 * include/grub/net.h: Likewise.
33376 * include/grub/machoload.h: Likewise.
33377 * include/grub/macho.h: Likewise.
33378 * include/multiboot.h: Likewise.
33379 * genmoddep.awk: Likewise.
33380 * normal/main.c: Likewise.
33381 * normal/menu_entry.c: Likewise.
33382 * normal/menu_viewer.c: Likewise.
33383 * normal/completion.c: Likewise.
33384 * normal/cmdline.c: Likewise.
33385 * normal/misc.c: Likewise.
33386 * normal/datetime.c: Likewise.
33387 * bus/usb/usbtrans.c: Likewise.
33388 * bus/usb/ohci.c: Likewise.
33389 * bus/usb/uhci.c: Likewise.
33390 * bus/usb/usb.c: Likewise.
33391 * mmap/efi/mmap.c: Likewise.
33392 * mmap/i386/pc/mmap_helper.S: Likewise.
33393 * mmap/i386/pc/mmap.c: Likewise.
33394 * mmap/i386/mmap.c: Likewise.
33395 * mmap/i386/uppermem.c: Likewise.
33396 * mmap/mmap.c: Likewise.
33397 * commands/acpi.c: Likewise.
33398 * commands/echo.c: Likewise.
33399 * commands/blocklist.c: Likewise.
33400 * commands/loadenv.c: Likewise.
33401 * commands/usbtest.c: Likewise.
33402 * commands/boot.c: Likewise.
33403 * commands/parttool.c: Likewise.
33404 * commands/search.c: Likewise.
33405 * commands/cat.c: Likewise.
33406 * commands/i386/pc/play.c: Likewise.
33407 * commands/i386/pc/drivemap.c: Likewise.
33408 * commands/i386/pc/vbeinfo.c: Likewise.
33409 * commands/i386/pc/acpi.c: Likewise.
33410 * commands/i386/pc/vbetest.c: Likewise.
33411 * commands/ls.c: Likewise.
33412 * commands/cmp.c: Likewise.
33413 * commands/test.c: Likewise.
33414 * commands/efi/acpi.c: Likewise.
33415 * commands/gptsync.c: Likewise.
33416 * commands/help.c: Likewise.
33417 * partmap/amiga.c: Likewise.
33418 * partmap/apple.c: Likewise.
33419 * partmap/acorn.c: Likewise.
33420 * partmap/pc.c: Likewise.
33421 * partmap/sun.c: Likewise.
33422 * partmap/gpt.c: Likewise.
33423 * script/sh/lexer.c: Likewise.
33424 * script/sh/function.c: Likewise.
33425 * font/font.c: Likewise.
33426 * font/font_cmd.c: Likewise.
33427 * loader/powerpc/ieee1275/linux.c: Likewise.
33428 * loader/efi/chainloader.c: Likewise.
33429 * loader/multiboot_loader.c: Likewise.
33430 * loader/macho.c: Likewise.
33431 * loader/i386/multiboot.c: Likewise.
33432 * loader/i386/linux.c: Likewise.
33433 * loader/i386/pc/linux.c: Likewise.
33434 * loader/i386/pc/multiboot2.c: Likewise.
33435 * loader/i386/pc/chainloader.c: Likewise.
33436 * loader/i386/pc/xnu.c: Likewise.
33437 * loader/i386/bsd_trampoline.S: Likewise.
33438 * loader/i386/efi/linux.c: Likewise.
33439 * loader/i386/multiboot_elfxx.c: Likewise.
33440 * loader/i386/bsd_helper.S: Likewise.
33441 * loader/i386/bsd.c: Likewise.
33442 * loader/i386/linux_trampoline.S: Likewise.
33443 * loader/i386/xnu_helper.S: Likewise.
33444 * loader/i386/xnu.c: Likewise.
33445 * loader/i386/bsd_pagetable.c: Likewise.
33446 * loader/i386/multiboot_helper.S: Likewise.
33447 * loader/xnu.c: Likewise.
33448 * loader/xnu_resume.c: Likewise.
33449 * io/gzio.c: Likewise.
33450 * term/efi/console.c: Likewise.
33451 * term/terminfo.c: Likewise.
33452 * term/ieee1275/ofconsole.c: Likewise.
33453 * term/i386/pc/serial.c: Likewise.
33454 * term/i386/pc/vesafb.c: Likewise.
33455 * term/i386/pc/vga.c: Likewise.
33456 * term/usb_keyboard.c: Likewise.
33457 * term/gfxterm.c: Likewise.
33458 * aclocal.m4: Likewise.
33459 * util/lvm.c: Likewise.
33460 * util/grub.d/30_os-prober.in: Likewise.
33461 * util/grub.d/10_hurd.in: Likewise.
33462 * util/console.c: Likewise.
33463 * util/grub-macho2img.c: Likewise.
33464 * util/grub-probe.c: Likewise.
33465 * util/hostfs.c: Likewise.
33466 * util/i386/pc/grub-mkimage.c: Likewise.
33467 * util/i386/pc/grub-setup.c: Likewise.
33468 * util/i386/efi/grub-mkimage.c: Likewise.
33469 * util/grub-mkconfig.in: Likewise.
33470 * util/raid.c: Likewise.
33471 * util/resolve.c: Likewise.
33472 * util/grub-mkdevicemap.c: Likewise.
33473 * util/grub-emu.c: Likewise.
33474 * util/getroot.c: Likewise.
33475 * util/hostdisk.c: Likewise.
33476 * util/usb.c: Likewise.
33477 * util/grub-editenv.c: Likewise.
33478 * util/misc.c: Likewise.
33479
d2d49665 334802009-06-10 Felix Zielcke <fzielcke@z-51.de>
33481
33482 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
33483 `genparttoollist.sh'.
33484 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
33485 Add `*.sh' to the list find searches for and change `mdate.sh'
33486 to `mdate-sh'.
33487
fe052e37 334882009-06-10 Pavel Roskin <proski@gnu.org>
33489
2763ac18 33490 * include/grub/multiboot2.h: Provide compatibility defines for
33491 multiboot2.h.
33492 * include/multiboot2.h: Include stdint.h only if needed, using
33493 angle brackets.
33494 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
33495 grub/multiboot2.h.
33496 * loader/ieee1275/multiboot2.c: Likewise.
33497 * loader/multiboot2.c: Likewise.
33498 * loader/multiboot_loader.c: Likewise.
33499
437e6adc 33500 * configure.ac: Use -nostdlib when probing for the target. It
33501 should not be required to have libc for the target.
33502
06a6836c 33503 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
33504 they fail without libc headers for the target.
33505 * include/grub/powerpc/libgcc.h: Use weak attribute for all
33506 exports.
33507 * include/grub/sparc64/libgcc.h: Likewise. Don't use
33508 preprocessor conditionals.
33509
fe052e37 33510 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
33511 build system doesn't need to be aware of the tar.c internals.
33512
afd22553 335132009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 33514
afd22553 33515 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 33516
6b787c4f 335172009-06-09 Robert Millan <rmh.grub@aybabtu.com>
33518
33519 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
33520 disk limit to 26 for IDE, Virtio, Xen and SCSI.
33521
335222009-06-09 Felix Zielcke <fzielcke@z-51.de>
33523
33524 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 33525 aren't available if ata.mod gets used.
6b787c4f 33526
473d1e45 335272009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 33528
473d1e45 33529 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 33530 initialising controller.
473d1e45 33531 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 33532
255a27d4 335332009-06-08 Felix Zielcke <fzielcke@z-51.de>
33534
33535 * util/i386/pc/grub-install.in: Add a parameter --disk-module
33536 to choose between ata and biosdisk module on i386-pc.
33537
473d1e45 335382009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 33539
d55842d8 33540 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
33541 Subclass and Programming Interface fields in terms of the 3 byte
33542 Class Code register.
33543 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
33544
fa5db0b1 33545 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
33546 interface is OHCI. Add grub_dprintf for symmetry with
33547 bus/usb/uhci.c.
33548 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
33549 interface is UHCI. Add interf variable for programming
33550 interface. Print interface with class/subclass.
33551
c0947beb 33552 * bus/usb/ohci.c: Set interf with correct field.
33553
69da8877 33554 * bus/usb/uhci.c: Remove unneeded doubled lines.
33555 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
33556 Remove whitespace inside comment.
33557
9e172e30 335582009-06-08 Robert Millan <rmh.grub@aybabtu.com>
33559
33560 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
33561 as fallback an equivalent option without depth.
33562
de65ee2b 335632009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
33564
33565 Not fail if unable to retrieve C/H/S on LBA disks
33566
473d1e45 33567 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 33568 if unable to retrieve C/H/S on LBA disks
33569
b57ea2c9 335702009-06-08 Pavel Roskin <proski@gnu.org>
33571
33572 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
33573 about aliasing.
33574
af361263 335752009-06-08 Felix Zielcke <fzielcke@z-51.de>
33576
33577 * Makefile.in (uninstall): Remove all $lib_DATA files.
33578
4c9ec6b3 335792009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
33580
33581 Bugfix: install on partitionless device
33582
33583 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
33584 is a whole disk
33585
e76fc924 335862009-06-08 Felix Zielcke <fzielcke@z-51.de>
33587
33588 * Makefile.in (uninstall): Remove all $include_DATA files.
33589
ba5a0d05 335902009-06-08 Felix Zielcke <fzielcke@z-51.de>
33591
33592 * commands/true.c: New file. Implement the true and false commands.
33593 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
33594 (true_mod_SOURCES): New variable.
33595 (true_mod_CFLAGS): Likewise.
33596 (true_mod_LDFLAGS): Likewise.
33597
c8048e32 335982009-06-05 Colin D Bennett <colin@gibibit.com>
33599
33600 Optimized font character lookup using binary search instead of linear
33601 search. Fonts now are required to have the character index ordered by
33602 code point.
33603
33604 * font/font.c (load_font_index): Verify that fonts have ordered
33605 character indices.
33606 (find_glyph): Use binary search instead of linear search to find a
33607 character in a font.
33608
408305be 336092009-06-05 Michael Scherer <misc@mandriva.org>
33610
33611 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
33612 uses case sensitive btree.
33613 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
33614 only for case insensitive filesystems.
33615
8ee1e0d9 336162009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
33617
33618 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
33619 * conf/common.rmk (search_mod_CFLAGS): likewise
33620
a9966eb1 336212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33622
473d1e45 33623 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 33624 compensate a compiler bug
33625
9e7100fb 336262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33627
473d1e45 33628 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 33629 instead of '\b'
473d1e45 33630
ede21d71 336312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33632
33633 Definitions for creating asm symbols with Apple's CC
33634
33635 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
33636 [APPLE_CC] (VARIABLE): likewise
33637
9dbf7653 336382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33639
33640 Disable lnxboot.img when compiled
33641 with Apple's CC
33642
33643 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
33644 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
33645 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
33646 [! APPLE_CC] (CODE_LENG): skip
33647 [! APPLE_CC] (setup_sects): likewise
33648 [! APPLE_CC]: skip filling
473d1e45 33649
e93cdc3d 336502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33651
33652 Address in trampolines based on 32-bit registers when compiled
33653 with Apple's CC
33654
473d1e45 33655 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 33656 for addresses
33657 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
33658
6c688477 336592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33660
33661 Avoid aliases when compiling with Apple's CC for PCBIOS machine
33662
33663 * kern/misc.c [APPLE_CC] (memcpy): new function
33664 [APPLE_CC] (memmove): likewise
33665 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 33666 (memcpy): define alias conditionally on !APPLE_CC
6c688477 33667 (memset): likewise
33668 (abort): likewise
33669 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
33670 APPLE_CC are defined
33671 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
33672 (grub_assert_fail): make prototype conditional
33673
e37ffc5c 336742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33675
33676 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
33677
473d1e45 33678 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
33679 grub-macho2img
e37ffc5c 33680 (CLEANFILES): add grub-macho2img
33681 (grub_macho2img_SOURCES): new variable
33682 * kern/i386/pc/startup.S (bss_start): new variable
33683 (bss_end): likewise
33684 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
33685 * util/grub-macho2img.c: new file
33686
cf00df31 336872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33688
33689 Use objconv when compiling with Apple's CC
33690
33691 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
33692 (efiemu64.o): likewise
33693 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
33694 when compiling with Apple's CC
33695 (efiemu64_s.o): likewise
33696 * configure.ac: check for objconv when compiling with Apple's CC
33697 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 33698
d119a20c 336992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33700
33701 Define segment as well as section when compiling with
33702 Apple's CC
33703
33704 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
33705 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
33706 (efiemu_convert_pointer): likewise
33707 (efiemu_set_virtual_address_map): likewise
33708 (efiemu_convert_pointer): likewise
33709 (efiemu_getcrc32): likewise
33710 (init_crc32_table): likewise
33711 (reflect): likewise
33712 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
33713 (GRUB_MOD_DEP): likewise
473d1e45 33714
c8600122 337152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33716
33717 Allow a compilation without -mcmodel=large
33718
33719 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
33720 when compiled without -mcmodel=large
473d1e45 33721 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 33722 without -mcmodel=large
473d1e45 33723 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 33724 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 33725
e8df1d4e 337262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33727
33728 Remove nested functions in efiemu core
33729
33730 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 33731
cc6c3ac1 337322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33733
33734 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
33735
33736 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
33737 temporary storage
473d1e45 33738 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
33739 using Apple's CC
cc6c3ac1 33740 (grub_cpu_is_tsc_supported): likewise
33741 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 33742
3e325901 337432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33744
33745 Absolute addressing through constant with Apple's cc
33746
33747 * kern/i386/pc/startup.S: Define necessary constants
33748 and address through it when using ABS with Apple's CC
33749 * boot/i386/pc/diskboot.S: likewise
33750 * boot/i386/pc/boot.S: likewise
33751 * boot/i386/pc/lnxboot.S: likewise
33752 * boot/i386/pc/cdboot.S: likewise
33753 * mmap/i386/pc/mmap_helper.S: likewise
33754 * commands/i386/pc/drivemap_int13h.S: likewise
33755
2b167a72 337562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33757
33758 Check if compiler is apple cc
33759
33760 * Makefile.in (ASFLAGS): new variable
33761 (TARGET_ASFLAGS): likewise
33762 (TARGET_MODULE_FORMAT): likewise
33763 (TARGET_APPLE_CC): likewise
33764 (OBJCONV): likewise
33765 (TARGET_IMG_CFLAGS): likewise
33766 (TARGET_CPPFLAGS): add includedir
33767 * configure.ac: call grub_apple_cc and grub_apple_target_cc
33768 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
33769 Check for linker script only if compiler isn't Apple's CC
33770 (TARGET_MODULE_FORMAT): set
33771 (TARGET_APPLE_CC): likewise
33772 (TARGET_ASFLAGS): likewise
33773 (ASFLAGS): likewise
33774 Check for objcopy only if compiler isn't Apple's CC
33775 Check for BSS symbol only if compiler isn't Apple's CC
33776 * genmk.rb: adapt nm options if we use Apple's utils
33777 * aclocal.m4 (grub_apple_cc): new test
33778 (grub_apple_target_cc): likewise
473d1e45 33779
fb14123e 337802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33781
33782 Simplify sed expressions and improve awk
33783
33784 * Makefile.in (install-local): simplify sed expression
33785 * gencmdlist.sh: likewise
33786 * genmoddep.awk: avoid adding module as a dependency of itself
33787
5b889789 337882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33789
33790 Add missing start symbols
33791
33792 * boot/i386/pc/boot.S: add start
fb14123e 33793 * boot/i386/pc/pxeboot.S: likewise
473d1e45 33794
fd2bf2e3 337952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33796
33797 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 33798
33799 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 33800 (relocate_addresses): consider both r_addend and value at offset
33801 (make_mods_section): zerofill modinfo and header
33802 (convert_elf): write prefix here
473d1e45 33803
5389763d 338042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33805
33806 Use .asciz instead of .string
33807
33808 * i386/pc/diskboot.S: use .asciz instead of .string
33809 * i386/pc/boot.S: likewise
33810 * include/grub/dl.h (GRUB_MOD_DEP): likewise
33811 (GRUB_MOD_NAME): likewise
473d1e45 33812
3eb5ed4e 338132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33814
33815 gfxpayload support
33816
33817 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
33818 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
33819 (grub_video_setup): remove
33820 (grub_video_set_mode): new prototype
33821 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
33822 (vid_mode): remove
33823 (linux_vesafb_res): compile only on PCBIOS
33824 (grub_linux_boot): support gfxpayload
33825 * loader/i386/pc/xnu.c (video_hook): new function
33826 (grub_xnu_set_video): support gfxpayload
33827 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
33828 (DEFAULT_VIDEO_HEIGHT): likewise
33829 (DEFAULT_VIDEO_FLAGS): likewise
33830 (DEFAULT_VIDEO_MODE): new definition
33831 (video_hook): new function
33832 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 33833 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 33834 loading xnu
33835 * video/video.c (grub_video_setup): removed
473d1e45 33836 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 33837 grub_video_setup
33838
4b0e1143 338392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33840
33841 Avoid calling biosdisk in drivemap
33842
33843 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
33844 (revparse_biosdisk): likewise
33845 (list_mappings): derive name from id directly
33846 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 33847
fda6cb98 338482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33849
33850 Script fixes
33851
33852 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
33853 (grub_lexer_param): add tokenonhold
33854 (grub_script_create_cmdline): remove cmdline. All callers updated
33855 (grub_script_function_create): make functionname
33856 grub_script_arg. All callers updated
33857 (grub_script_execute_argument_to_string): new prototype
33858 * kern/parser.c (state_transitions): reorder
33859 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 33860 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 33861 make global
33862 (grub_script_execute_cmdline): use new format
33863 * script/sh/function.c (grub_script_function_create): make functionname
33864 grub_script_arg. All callers updated
473d1e45 33865 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 33866 (grub_script_yylex): remove
33867 (grub_script_yylex2): renamed to ...
33868 (grub_script_yylex): ...renamed
33869 parse the expressions like a${b}c
33870 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
33871 (GRUB_PARSER_TOKEN_VAR): remove
33872 (GRUB_PARSER_TOKEN_NAME): likewise
33873 ("if"): declare as typeless
33874 ("while"): likewise
33875 ("function"): likewise
33876 ("else"): likewise
33877 ("then"): likewise
33878 ("fi"): likewise
33879 (text): remove
33880 (argument): likewise
33881 (script): accept empty scripts and make exit on error
33882 (arguments): use GRUB_PARSER_TOKEN_ARG
33883 (function): likewise
33884 (command): move error handling to script
33885 (menuentry): move grub_script_lexer_ref before
473d1e45 33886 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 33887 argument. All callers updated
33888
f4448a07 338892009-06-04 Robert Millan <rmh.grub@aybabtu.com>
33890
33891 Prevent GRUB from probing floppies during boot.
33892
33893 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
33894 * commands/search.c (options): Add --no-floppy.
33895 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
33896 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
33897 --no-floppy when searching for UUIDs.
33898
2bf5885a 338992009-06-04 Robert Millan <rmh.grub@aybabtu.com>
33900
33901 Simplify the code duplication in commands/search.c.
33902
33903 * commands/search.c (search_label, search_fs_uuid): Merge into ...
33904 (search_fs): ... this. Update all users.
33905
f6fd460a 339062009-06-03 Felix Zielcke <fzielcke@z-51.de>
33907
33908 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
33909
cbb3c83e 339102009-05-28 Pavel Roskin <proski@gnu.org>
33911
57788cfd 33912 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
33913 Remove the original symlink explicitly.
33914
cbb3c83e 33915 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
33916 just one slash. That's how grub_fshelp_find_file() does it.
33917
cd0d5e30 339182009-05-26 Pavel Roskin <proski@gnu.org>
33919
f0f8bbe2 33920 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
33921 to `str'.
33922
cd0d5e30 33923 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
33924 possibly unused.
33925
8c2cab51 339262009-05-25 Christian Franke <franke@computer.org>
33927
33928 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
33929 register.
33930 (grub_atapi_identify): Add wait after drive select.
33931 (grub_ata_identify): Do more strict status register check before
33932 calling grub_atapi_identify (). Suppress error message if status
33933 register is 0x00 after command failure. Add status register
33934 check after PIO read to avoid bogus identify due to stuck DRQ.
33935 Thanks to Pavel Roskin for testing.
33936 (grub_device_initialize): Remove unsafe status register check.
33937 Thanks to 'phcoder' for problem report and patch.
33938 Prevent sign extension in debug message.
33939
230c0ad6 339402009-05-23 Colin D Bennett <colin@gibibit.com>
33941
33942 Cleaned up `include/grub/normal.h'. Grouped prototypes by
33943 definition file, and functions defined in `normal/menu.c' have had
33944 their prototypes moved to `include/grub/menu.h' for consistency.
33945
33946 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
33947 from normal.h.
33948 (grub_menu_get_entry): Likewise.
33949 (grub_menu_get_timeout): Likewise.
33950 (grub_menu_set_timeout): Likewise.
33951 (grub_menu_execute_entry): Likewise.
33952 (grub_menu_execute_with_fallback): Likewise.
33953 (grub_menu_entry_run): Likewise.
33954
33955 * include/grub/normal.h: Re-ordered and grouped function
33956 prototypes by file that the function is defined in.
33957 (grub_menu_execute_callback): Removed; moved to menu.h.
33958 (grub_menu_get_entry): Likewise.
33959 (grub_menu_get_timeout): Likewise.
33960 (grub_menu_set_timeout): Likewise.
33961 (grub_menu_execute_entry): Likewise.
33962 (grub_menu_execute_with_fallback): Likewise.
33963 (grub_menu_entry_run): Likewise.
33964 (grub_menu_addentry): Renamed from this ...
33965 (grub_normal_add_menu_entry): ... to this.
33966
33967 * normal/main.c (grub_menu_addentry): Renamed from this ...
33968 (grub_normal_add_menu_entry): ... to this.
33969
33970 * script/sh/execute.c (grub_script_execute_menuentry): Update
33971 reference to renamed grub_menu_addentry function.
33972
861f03a5 339732009-05-23 Felix Zielcke <fzielcke@z-51.de>
33974
33975 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
33976
96b1619a 339772009-05-22 Pavel Roskin <proski@gnu.org>
33978
bf6a5fb2 33979 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
33980 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
33981 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
33982 compiling for the i386 targets, but not for the utilities.
33983
96b1619a 33984 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
33985 to grub_uint8_t.
33986 (grub_root_drive): Likewise.
33987 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
33988 remove alignment.
33989 (grub_root_drive): Change size to byte.
33990 (grub_start_addr): Remove.
33991 (grub_end_addr): Likewise.
33992 (grub_apm_bios_info): Likewise.
33993
b729776b 339942009-05-21 Felix Zielcke <fzielcke@z-51.de>
33995
33996 * normal/i386: Remove.
33997 * normal/powerpc: Likewise.
33998 * normal/sparc64: Likewise.
33999 * normal/x86_64: Likewise.
34000
0a15ce80 340012009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
34002
34003 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 34004 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 34005 * loader/i386/xnu_helper.S: Likewise
d6da58e6 34006
33db9015 340072009-05-18 Colin D Bennett <colin@gibibit.com>
34008
d6da58e6 34009 Display error messages when parsing a Lua statement fails.
34010 Previously, executing a syntactically invalid statement like
34011 ")foo" or "bar;" would silently fail.
33db9015 34012
34013 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 34014 (grub_lua_parse_line): Improved reporting of Lua parser and
34015 execution errors.
33db9015 34016
46422c89 340172009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
34018
34019 Remove -Werror which causes build to fail on some systems
34020
34021 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
34022 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
34023 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 34024
22f53a96 340252009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
34026
34027 trampoline for linux on 64-bit platform
34028
18f547ad 34029 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
34030 loader/i386/efi/linux_trampoline.S
34031 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 34032 declaration
d6da58e6 34033 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
34034 here
22f53a96 34035 * loader/i386/linux_trampoline.S: moved here
d6da58e6 34036 * loader/i386/efi/linux.c (allocate_pages): reserve space for
34037 trampoline
22f53a96 34038 (jumpvector): removed
34039 (grub_linux_trampoline_start): new declaration
34040 (grub_linux_trampoline_end): likewise
34041 (grub_linux_boot): use trampoline when on 64-bit platform
34042 * loader/i386/linux.c: likewise
34043
cb5a0f40 340442009-05-16 Pavel Roskin <proski@gnu.org>
34045
34046 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
34047 const to avoid a warning.
34048 (grub_lua_setenv): Likewise.
34049 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
34050 lmsg to fix a warning.
34051
334f2c28 340522009-05-16 Felix Zielcke <fzielcke@z-51.de>
34053
34054 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 34055 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34056 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
34057 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34058 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
34059 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34060 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
34061 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 34062
59e5d3ec 340632009-05-16 Felix Zielcke <fzielcke@z-51.de>
34064
34065 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
34066
9d87a1ba 340672009-05-16 Bean <bean123ch@gmail.com>
34068
34069 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
34070 (lua_mod_SOURCES): New variable.
34071 (lua_mod_CFLAGS): Likewise.
34072 (lua_mod_LDFLAGS): Likewise.
34073
34074 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
34075 (setjmp_mod_SOURCES): New variable.
34076 (setjmp_mod_CFLAGS): Likewise.
34077 (setjmp_LDFLAGS): Likewise.
34078
34079 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
34080 (setjmp_mod_SOURCES): New variable.
34081 (setjmp_mod_CFLAGS): Likewise.
34082 (setjmp_LDFLAGS): Likewise.
34083
34084 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
34085 (setjmp_mod_SOURCES): New variable.
34086 (setjmp_mod_CFLAGS): Likewise.
34087 (setjmp_LDFLAGS): Likewise.
34088
34089 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
34090 (setjmp_mod_SOURCES): New variable.
34091 (setjmp_mod_CFLAGS): Likewise.
34092 (setjmp_LDFLAGS): Likewise.
34093
34094 * normal/i386/setjmp.S: Moved from here ...
34095 * lib/i386/setjmp.S: ... Moved here
34096 * normal/x86_64/setjmp.S: Moved from here ...
34097 * lib/x86_64/setjmp.S: ... Moved here
34098 * normal/powerpc/setjmp.S: Moved from here ...
34099 * lib/powerpc/setjmp.S: ... Moved here
34100 * normal/sparc64/setjmp.S: Moved from here ...
34101 * lib/sparc64/setjmp.S: ... Moved here
34102
34103 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
34104 returns_twice in mingw.
34105
34106 * script/lua/grub_lib.c: New file.
34107 * script/lua/grub_lib.h: Likewise.
34108 * script/lua/grub_lua.h: Likewise.
34109 * script/lua/grub_main.c: Likewise.
34110 * script/lua/lapi.c: Likewise.
34111 * script/lua/lapi.h: Likewise.
34112 * script/lua/lauxlib.c: Likewise.
34113 * script/lua/lauxlib.h: Likewise.
34114 * script/lua/lbaselib.c: Likewise.
34115 * script/lua/lcode.c: Likewise.
34116 * script/lua/lcode.h: Likewise.
34117 * script/lua/ldblib.c: Likewise.
34118 * script/lua/ldebug.c: Likewise.
34119 * script/lua/ldebug.h: Likewise.
34120 * script/lua/ldo.c: Likewise.
34121 * script/lua/ldo.h: Likewise.
34122 * script/lua/ldump.c: Likewise.
34123 * script/lua/lfunc.c: Likewise.
34124 * script/lua/lfunc.h: Likewise.
34125 * script/lua/lgc.c: Likewise.
34126 * script/lua/lgc.h: Likewise.
34127 * script/lua/linit.c: Likewise.
34128 * script/lua/liolib.c: Likewise.
34129 * script/lua/llex.c: Likewise.
34130 * script/lua/llex.h: Likewise.
34131 * script/lua/llimits.h: Likewise.
34132 * script/lua/lmathlib.c: Likewise.
34133 * script/lua/lmem.c: Likewise.
34134 * script/lua/lmem.h: Likewise.
34135 * script/lua/loadlib.c: Likewise.
34136 * script/lua/lobject.c: Likewise.
34137 * script/lua/lobject.h: Likewise.
34138 * script/lua/lopcodes.c: Likewise.
34139 * script/lua/lopcodes.h: Likewise.
34140 * script/lua/loslib.c: Likewise.
34141 * script/lua/lparser.c: Likewise.
34142 * script/lua/lparser.h: Likewise.
34143 * script/lua/lstate.c: Likewise.
34144 * script/lua/lstate.h: Likewise.
34145 * script/lua/lstring.c: Likewise.
34146 * script/lua/lstring.h: Likewise.
34147 * script/lua/lstrlib.c: Likewise.
34148 * script/lua/ltable.c: Likewise.
34149 * script/lua/ltable.h: Likewise.
34150 * script/lua/ltablib.c: Likewise.
34151 * script/lua/ltm.c: Likewise.
34152 * script/lua/ltm.h: Likewise.
34153 * script/lua/lua.h: Likewise.
34154 * script/lua/luaconf.h: Likewise.
34155 * script/lua/lualib.h: Likewise.
34156 * script/lua/lundump.c: Likewise.
34157 * script/lua/lundump.h: Likewise.
34158 * script/lua/lvm.c: Likewise.
34159 * script/lua/lvm.h: Likewise.
34160 * script/lua/lzio.c: Likewise.
34161 * script/lua/lzio.h: Likewise.
34162
5e898c9d 341632009-05-16 Bean <bean123ch@gmail.com>
34164
34165 * include/grub/kernel.h (grub_module_header_types): Add type
34166 OBJ_TYPE_CONFIG.
34167
34168 * kern/main.c (grub_load_config): New function.
34169 (grub_main): Call grub_load_config to read boot config.
34170
34171 * grub-mkimage (generate_image): New parameter config_path.
34172 (options): New option --config.
34173 (main): Parse --config option, and pass it to generate_image.
34174
cf353a47 341752009-05-14 Christian Franke <franke@computer.org>
34176
34177 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
34178 This fixes build on Cygwin.
34179
3834887f 341802009-05-14 Pavel Roskin <proski@gnu.org>
34181
34182 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
34183 jump. This saves two bytes, so the typical case of 2 swapped
34184 drives would fit 32 bytes.
34185
8090fc01 341862009-05-13 Pavel Roskin <proski@gnu.org>
34187
ac963883 34188 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
34189 grub_uint32_t to avoid a warning.
34190
8090fc01 34191 * loader/i386/linux.c (allocate_pages): When assigning
34192 real_mode_mem, cast through grub_size_t to fix a warning. The
34193 code already makes sure that the value would fit a pointer.
34194 (grub_linux_setup_video): Cast render_target->data to
34195 grub_size_t to fix a warning.
34196
18f547ad 341972009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 34198
34199 * commands/i386/pc/drivemap.c: New file - implement drivemap
34200 command.
34201 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
34202 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
34203
6f6a8b28 342042009-05-13 Pavel Roskin <proski@gnu.org>
34205
34206 * util/i386/pc/grub-setup.c (setup): Remove unused variable
34207 embedding_area_exists.
34208
15fbf4c4 342092009-05-13 Robert Millan <rmh.grub@aybabtu.com>
34210
34211 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
34212 it easier to understand / work with.
59978c8a 34213 Improve warning messages for cases where there's no embedding area,
34214 or when it is too small (or core.img too large).
15fbf4c4 34215
238e871f 342162009-05-13 Pavel Roskin <proski@gnu.org>
34217
0ab3a9a4 34218 * loader/i386/pc/multiboot2.c: Add necessary includes for
34219 grub_multiboot2_real_boot().
34220
a2c8c5f8 34221 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
34222 PX record is always little-endian. We only need the lower 2
34223 bytes of the mode.
34224
faec96af 34225 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
34226 facilitate code reuse.
34227 (grub_cpio_mount): Use "struct head", not a char buffer. This
34228 fixes a warning reported by gcc 4.4.
34229
238e871f 34230 * kernel/disk.c (grub_disk_read): Use void pointer for the
34231 buffer.
34232 (grub_disk_write): Use const void pointer for the buffer.
34233 Adjust all callers. Remove unnecessary casts.
34234
901d2f0c 342352009-05-10 Robert Millan <rmh.grub@aybabtu.com>
34236
34237 * util/i386/pc/grub-install.in: Update copyright year.
34238
18f547ad 342392009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 34240
34241 gptsync
34242
34243 * commands/gptsync.c: new file
34244 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
34245 (gptsync_mod_SOURCES): new variable
34246 (gptsync_mod_CFLAGS): likewise
34247 (gptsync_mod_LDFLAGS): likewise
18f547ad 34248 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 34249 new definition
34250 (GRUB_PC_PARTITION_TYPE_HFS): likewise
34251 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
34252 * conf/i386-ieee1275.rmk: likewise
34253 * conf/i386-pc.rmk: likewise
34254 * conf/powerpc-ieee1275.rmk: likewise
34255
b4ba690a 342562009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
34257
34258 Fixed grub-emu
34259
34260 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
34261 (grub_dl_ref): likewise
34262
317e1a44 342632009-05-08 Robert Millan <rmh.grub@aybabtu.com>
34264
34265 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
34266 split in two functions (one for msdos and one for gpt).
34267
041b8094 342682009-05-08 Pavel Roskin <proski@gnu.org>
34269
752473c2 34270 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
34271 not modified.
34272
041b8094 34273 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
34274 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
34275 Initialize them with -1. Add sanity check for bad1. Eliminate
34276 nerr variable.
34277
172800ce 342782009-05-08 David S. Miller <davem@davemloft.net>
34279
34280 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
34281
29aa5e81 342822009-05-06 Robert Millan <rmh.grub@aybabtu.com>
34283
34284 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 34285 existence.
29aa5e81 34286
96613b62 342872009-05-05 Felix Zielcke <fzielcke@z-51.de>
34288
34289 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 34290 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 34291
eef73c8a 342922009-05-05 David S. Miller <davem@davemloft.net>
34293
34294 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
34295
119494b5 342962009-05-05 Pavel Roskin <proski@gnu.org>
34297
34298 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
34299 of grub_dl_ref() and grub_dl_unref().
34300 * commands/parttool.c: Remove preprocessor conditionals around
34301 grub_dl_ref() and grub_dl_unref().
34302 * fs/affs.c: Likewise.
34303 * fs/afs.c: Likewise.
34304 * fs/cpio.c: Likewise.
34305 * fs/ext2.c: Likewise.
34306 * fs/fat.c: Likewise.
34307 * fs/hfs.c: Likewise.
34308 * fs/hfsplus.c: Likewise.
34309 * fs/iso9660.c: Likewise.
34310 * fs/jfs.c: Likewise.
34311 * fs/minix.c: Likewise.
34312 * fs/ntfs.c: Likewise.
34313 * fs/reiserfs.c: Likewise.
34314 * fs/sfs.c: Likewise.
34315 * fs/udf.c: Likewise.
34316 * fs/ufs.c: Likewise.
34317 * fs/xfs.c: Likewise.
34318 * include/grub/dl.h: Likewise.
34319 * loader/xnu.c: Likewise.
34320
de5fd76e 343212009-05-04 Pavel Roskin <proski@gnu.org>
34322
34323 * commands/acpi.c: Remove unused variable my_mod.
34324 * partmap/amiga.c: Likewise.
34325 * partmap/apple.c: Likewise.
34326 * partmap/gpt.c: Likewise.
34327 * partmap/pc.c: Likewise.
34328 * partmap/sun.c: Likewise.
34329 * term/gfxterm.c: Likewise.
34330 * term/i386/pc/vesafb.c: Likewise.
34331 * term/i386/pc/vga.c: Likewise.
34332
983598ad 343332009-05-04 David S. Miller <davem@davemloft.net>
34334
34335 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
34336 pointer args to grub_ieee1275_get_property().
34337
8aadec43 34338 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
34339
9554b15e 34340 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
34341 devices, and do not traverse down under controller nodes.
34342
67e23c90 34343 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
34344 (grub_ofdisk_open): Use it to un-escape "," characters.
34345 * kern/disk.c (find_part_sep): New.
34346 (grub_disk_open): Use it to find the first non-escaped ','
34347 character in the disk name.
34348 * util/ieee1275/devicemap.c (escape_of_path): New.
34349 (grub_util_emit_devicemap_entry): Use it.
34350 * util/sparc64/ieee1275/grub-install.in: Update script to
34351 strip partition specifiers properly by not triggering on
34352 '\' escaped ',' characters.
34353
74bfdd2f 343542009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34355
34356 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
34357 to 0x300.
34358 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
34359 resolutions.
34360 (linux_vesafb_modes): Add a lot of additional modes to the list (based
34361 on documentation from Wikipedia).
34362
4241d2b1 343632009-05-04 Pavel Roskin <proski@gnu.org>
34364
34365 * disk/ata.c: Spelling fixes.
34366 * disk/raid.c: Likewise.
34367 * disk/usbms.c: Likewise.
34368 * disk/dmraid_nvidia.c: Likewise.
34369 * kern/ieee1275/openfw.c: Likewise.
34370 * kern/ieee1275/init.c: Likewise.
34371 * kern/ieee1275/cmain.c: Likewise.
34372 * boot/i386/pc/cdboot.S: Likewise.
34373 * video/readers/png.c: Likewise.
34374 * video/i386/pc/vbe.c: Likewise.
34375 * fs/udf.c: Likewise.
34376 * fs/hfs.c: Likewise.
34377 * fs/reiserfs.c: Likewise.
34378 * efiemu/runtime/efiemu.c: Likewise.
34379 * efiemu/main.c: Likewise.
34380 * efiemu/mm.c: Likewise.
34381 * include/grub/elf.h: Likewise.
34382 * include/grub/xnu.h: Likewise.
34383 * include/grub/usbdesc.h: Likewise.
34384 * include/grub/usb.h: Likewise.
34385 * include/grub/script_sh.h: Likewise.
34386 * include/grub/lib/LzmaEnc.h: Likewise.
34387 * include/grub/efiemu/efiemu.h: Likewise.
34388 * include/grub/command.h: Likewise.
34389 * normal/menu.c: Likewise.
34390 * normal/main.c: Likewise.
34391 * normal/datetime.c: Likewise.
34392 * bus/usb/uhci.c: Likewise.
34393 * mmap/i386/uppermem.c: Likewise.
34394 * mmap/mmap.c: Likewise.
34395 * commands/acpi.c: Likewise.
34396 * commands/test.c: Likewise.
34397 * partmap/apple.c: Likewise.
34398 * font/font.c: Likewise.
34399 * loader/sparc64/ieee1275/linux.c: Likewise.
34400 * loader/macho.c: Likewise.
34401 * loader/i386/bsd_trampoline.S: Likewise.
34402 * loader/i386/bsd.c: Likewise.
34403 * loader/xnu.c: Likewise.
34404 * term/i386/pc/vesafb.c: Likewise.
34405 * term/usb_keyboard.c: Likewise.
34406 * util/resolve.c: Likewise.
34407 * util/getroot.c: Likewise.
34408
0cfc0083 344092009-05-04 Felix Zielcke <fzielcke@z-51.de>
34410
34411 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
34412
7c1d00cd 344132009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34414
34415 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
34416 build error.
34417
b01f0548 344182009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34419
34420 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
34421 parameter only available on BIOS.
34422
ecc3eb22 344232009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34424
34425 Removed wrong semicolon in declaration
34426
34427 * grub/misc.h (grub_dprintf): remove semicolon
34428
112972a9 344292009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34430
34431 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
34432 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
34433 is done by grub_cmd_linux() now).
34434 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
34435 restore video to text mode.
34436 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
34437 indicates lack of "vga=" parameter. "vga=0" is mapped to
34438 `GRUB_LINUX_VID_MODE_NORMAL'.
34439
afd5c115 344402009-05-04 Felix Zielcke <fzielcke@z-51.de>
34441
34442 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
34443 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
34444 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 34445 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 34446 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
34447 `grub_script.tab.c'.
34448
34449 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34450 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34451 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34452 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34453 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34454
faa517ce 34455 * Makefile.in: Remove duplicated 2008 in Copyright line.
34456
ae0c0bdc 344572009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34458
473d1e45 34459 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 34460 unconditionally.
34461 * include/grub/util/misc.h (grub_util_warn): New declaration.
34462
34463 * util/i386/pc/grub-install.in: Understand --force and pass it down
34464 to grub-setup.
34465
34466 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
34467 down to setup().
34468 (setup): Improve error messages and add warnings when requested to
34469 install in odd layouts. Refuse to install using blocklists unless
34470 --force was set.
34471
18f547ad 344722009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 34473
34474 * disk/raid.c (grub_raid_scan_device): Improve debug message.
34475
6d260daa 344762009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34477
34478 Updated copyright year
34479
34480 * fs/hfsplus.c: updated copyright year
18f547ad 34481
69f853f8 344822009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34483
34484 HFS+ UUID
34485
18f547ad 34486 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 34487 in the space previously used by unused3
34488 (grub_hfsplus_uuid): new function
34489 (grub_hfsplus_fs): added uuid field
34490
4c402e73 344912009-05-03 Pavel Roskin <proski@gnu.org>
34492
34493 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
34494 suppress warnings. It's no longer needed.
34495 * disk/host.c: Likewise.
34496 * disk/ata_pthru.c: Likewise.
34497 * disk/loopback.c: Likewise.
34498 * hook/datehook.c: Likewise.
34499 * parttool/pcpart.c: Likewise.
34500 * fs/i386/pc/pxe.c: Likewise.
34501 * fs/ntfscomp.c: Likewise.
34502 * efiemu/main.c: Likewise.
34503 * mmap/mmap.c: Likewise.
34504 * commands/crc.c: Likewise.
34505 * commands/hexdump.c: Likewise.
34506 * commands/hdparm.c: Likewise.
34507 * commands/acpi.c: Likewise.
34508 * commands/echo.c: Likewise.
34509 * commands/minicmd.c: Likewise.
34510 * commands/blocklist.c: Likewise.
34511 * commands/memrw.c: Likewise.
34512 * commands/loadenv.c: Likewise.
34513 * commands/usbtest.c: Likewise.
34514 * commands/lsmmap.c: Likewise.
34515 * commands/boot.c: Likewise.
34516 * commands/parttool.c: Likewise.
34517 * commands/configfile.c: Likewise.
34518 * commands/search.c: Likewise.
34519 * commands/ieee1275/suspend.c: Likewise.
34520 * commands/cat.c: Likewise.
34521 * commands/i386/pc/pxecmd.c: Likewise.
34522 * commands/i386/pc/play.c: Likewise.
34523 * commands/i386/pc/halt.c: Likewise.
34524 * commands/i386/pc/vbeinfo.c: Likewise.
34525 * commands/i386/pc/vbetest.c: Likewise.
34526 * commands/lspci.c: Likewise.
34527 * commands/date.c: Likewise.
34528 * commands/handler.c: Likewise.
34529 * commands/ls.c: Likewise.
34530 * commands/test.c: Likewise.
34531 * commands/cmp.c: Likewise.
34532 * commands/efi/loadbios.c: Likewise.
34533 * commands/efi/fixvideo.c: Likewise.
34534 * commands/halt.c: Likewise.
34535 * commands/help.c: Likewise.
34536 * commands/reboot.c: Likewise.
34537 * hello/hello.c: Likewise.
34538 * script/sh/main.c: Likewise.
34539 * loader/xnu.c: Likewise.
34540 * term/terminfo.c: Likewise.
34541 * term/i386/pc/serial.c: Likewise.
34542 * term/usb_keyboard.c: Likewise.
34543
515b5079 345442009-05-03 David S. Miller <davem@davemloft.net>
34545
34546 * normal/menu.c: Include grub/parser.h
34547
dfc31a22 345482009-05-03 Pavel Roskin <proski@gnu.org>
34549
2fee74f1 34550 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
34551 not char*.
34552 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
34553 Suggested by Javier Martín <lordhabbit@gmail.com>
34554
dfc31a22 34555 * util/i386/pc/grub-mkrescue.in: Allow for the case when
34556 efiemu??.o doesn't exist.
34557 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
34558 copying.
34559
18f547ad 345602009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 34561
34562 FreeBSD 64-bit support
34563
18f547ad 34564 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 34565 and loader/i386/bsd_trampoline.S
34566 (bsd_mod_ASFLAGS): new variable
34567 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
34568 (FREEBSD_MODTYPE_KERNEL64): likewise
34569 (grub_bsd64_trampoline_start): likewise
34570 (grub_bsd64_trampoline_end): likewise
34571 (grub_bsd64_trampoline_selfjump): likewise
34572 (grub_bsd64_trampoline_gdt): likewise
34573 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
34574 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
34575 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
34576 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 34577 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 34578 of "attrib" member
34579 * loader/i386/bsd_pagetable.c: new file
34580 * loader/i386/bsd_trampoline.S: likewise
34581 * loader/i386/bsd.c (ALIGN_QWORD): new macro
34582 (ALIGN_VAR): likewise
34583 (entry_hi): new variable
34584 (kern_end_mdofs): likewise
34585 (is_64bit): likewise
34586 (grub_freebsd_add_meta): use ALIGN_VAR
34587 (grub_e820_mmap): new declaration
34588 (grub_freebsd_add_mmap): new function
34589 (grub_freebsd_add_meta_module): support 64 bit kernels
34590 (grub_freebsd_list_modules): use ALIGN_VAR
34591 (gdt_descriptor): new declaration
34592 (grub_freebsd_boot): support 64 bit kernels
34593 (grub_bsd_elf64_hook): new function
34594 (grub_bsd_load_elf): support elf64
34595
038c5720 345962009-05-03 Bean <bean123ch@gmail.com>
34597
34598 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
34599 after we get the result of if statement.
34600
fc45fb58 346012009-05-03 Bean <bean123ch@gmail.com>
34602
34603 * Makefile.in (enable_efiemu): New variable.
34604
34605 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
34606 set.
34607 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
34608 path.
34609 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
34610 path, add -mno-red-zone option.
34611 (efiemu64_s.o): Likewise.
34612 (efiemu64.o): Use macro $^ for source file.
34613
34614 * configure.ac (--enable-efiemu): New option.
34615
bbee0f2b 346162009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
34617
34618 xnu support
34619
34620 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
34621 (pkglib_MODULES): add xnu.mod
34622 (xnu_mod_SOURCES): new variable
34623 (xnu_mod_CFLAGS): likewise
34624 (xnu_mod_LDFLAGS): likewise
34625 (xnu_mod_ASFLAGS): likewise
34626 * conf/i386-pc.rmk: likewise
34627 * conf/x86_64-efi.rmk: likewise
7dd4a573 34628 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 34629 new declaration
34630 * include/grub/i386/macho.h: new file
34631 * include/grub/i386/xnu.h: likewise
34632 * include/grub/macho.h: likewise
34633 * include/grub/machoload.h: likewise
34634 * include/grub/x86_64/macho.h: likewise
34635 * include/grub/x86_64/xnu.h: likewise
34636 * include/grub/xnu.h: likewise
34637 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
34638 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
34639 * loader/i386/efi/xnu.c: new file
34640 * loader/i386/pc/xnu.c: likewise
34641 * loader/i386/xnu.c: likewise
34642 * loader/i386/xnu_helper.S: likewise
34643 * loader/macho.c: likewise
34644 * loader/xnu.c: likewise
34645 * loader/xnu_resume.c: likewise
34646 * util/grub-dumpdevtree: likewise
34647 * include/grub/i386/pit.h: include grub/err.h
34648 (grub_pit_wait): export
34649 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 34650
5caf964d 346512009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
34652
34653 Efiemu
7dd4a573 34654
5caf964d 34655 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 34656 _linux_efi, linux_efi.
34657 new files in grub-emu
5caf964d 34658 new targets efiemu32.o and efiemu64.o
34659 * loader/linux_normal_efiemu.c: likewise
34660 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 34661 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 34662 files to copy
34663 * include/grub/autoefi.h: new file
7dd4a573 34664 * include/grub/i386/efiemu.h: likewise
5caf964d 34665 * include/grub/i386/pc/efiemu.h: likewise
34666 * include/grub/efi/api.h: add LL suffix when necessary
34667 new definitions relating to tables
34668 * include/grub/efiemu/efiemu.h: new file
34669 * include/grub/efiemu/runtime.h: likewise
34670 * efiemu/prepare.c: likewise
34671 * efiemu/loadcore_common.c: likewise
34672 * efiemu/loadcore64.c: likewise
34673 * efiemu/runtime/efiemu.sh: likewise
34674 * efiemu/runtime/efiemu.S: likewise
34675 * efiemu/runtime/efiemu.c: likewise
34676 * efiemu/runtime/config.h: likewise
34677 * efiemu/prepare32.c: likewise
34678 * efiemu/main.c: likewise
34679 * efiemu/modules/pnvram.c: likewise
34680 * efiemu/modules/i386: likewise
34681 * efiemu/modules/i386/pc: likewise
34682 * efiemu/modules/acpi.c: likewise
34683 * efiemu/i386/pc/cfgtables.c: likewise
34684 * efiemu/i386/loadcore64.c: likewise
34685 * efiemu/i386/loadcore32.c: likewise
34686 * efiemu/prepare64.c: likewise
34687 * efiemu/loadcore.c: likewise
34688 * efiemu/symbols.c: likewise
34689 * efiemu/mm.c: likewise
34690 * efiemu/loadcore32.c: likewise
7dd4a573 34691
346922009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 34693
34694 ACPI spoofing
34695
34696 * commands/acpi.c: new file
34697 * commands/i386/pc/acpi.c: likewise
34698 * commands/efi/acpi.c: likewise
34699 * include/grub/acpi.h: likewise
34700 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
34701 (acpi_mod_SOURCES): new variable
34702 (acpi_mod_CFLAGS): likewise
34703 (acpi_mod_LDFLAGS): likewise
34704 * conf/i386-efi.rmk: likewise
34705 * conf/x86_64-efi.rmk: likewise
34706
7dd4a573 347072009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 34708
34709 Missing part from mmap patch
34710
34711 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
34712 (grub_mmap_unregister)
34713 (grub_mmap_free_and_unregister): use grub_mmap_register
34714
7dd4a573 347152009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 34716
34717 Mmap services
34718
34719 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
34720 * loader/i386/linux.c (find_mmap_size): likewise
34721 (allocate_pages): likewise
34722 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
34723 (grub_fill_multiboot_mmap): likewise
34724 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
34725 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
34726 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
34727 (OPENBSD_MMAP_RESERVED): likewise
34728 * include/grub/i386/pc/memory.h: include grub/memory.h
34729 (grub_lower_mem): removed
34730 (grub_upper_mem): likewise
34731 (GRUB_MACHINE_MEMORY_ACPI): new definition
34732 (GRUB_MACHINE_MEMORY_NVS): likewise
34733 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
34734 (GRUB_MACHINE_MEMORY_HOLE): likewise
34735 (grub_machine_mmap_register): likewise
34736 (grub_machine_mmap_unregister): likewise
34737 (grub_machine_get_upper): likewise
34738 (grub_machine_get_lower): likewise
34739 (grub_machine_get_post64): likewise
34740 * include/grub/i386/efi/memory.h: new file
34741 * include/grub/x86_64/efi/memory.h: likewise
34742 * include/grub/efi/memory.h: likewise
34743 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
34744 (mmap_mod_SOURCES): new variable
34745 (mmap_mod_LDFLAGS): likewise
34746 (mmap_mod_ASFLAGS): likewise
34747 * conf/i386-coreboot.rmk: likewise
34748 * conf/i386-ieee1275.rmk: likewise
34749 * conf/i386-efi.rmk: likewise
34750 * conf/x86_64-efi.rmk: likewise
34751 * include/grub/types.h (UINT_TO_PTR): new macro
34752 (PTR_TO_UINT32): likewise
34753 (PTR_TO_UINT64): likewise
34754 * include/grub/memory.h: new file
34755 * mmap/i386/pc/mmap.c: likewise
34756 * mmap/i386/pc/mmap_helper.S: likewise
34757 * mmap/i386/uppermem.c: likewise
34758 * mmap/mmap.c: likewise
34759 * mmap/efi/mmap.c: likewise
7dd4a573 34760 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 34761 grub_upper_mem
34762 * kern/i386/pc/init.c (grub_lower_mem): removed variable
34763 (grub_upper_mem): likewise
34764 (grub_machine_init): don't use grub_upper_mem,
34765 make grub_lower_mem local
34766 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
34767 grub_mmap_iterate and grub_mmap_get_upper
34768 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
34769
d558e6b5 347702009-05-02 Bean <bean123ch@gmail.com>
34771
34772 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
34773 script/sh/parser.y.
34774 (pkglib_MODULES): Add normal.mod and sh.mod.
34775 (normal_SOURCES): New variable.
34776 (normal_mod_CFLAGS): Likewise.
34777 (normal_mod_LDFLAGS): Likewise.
34778 (sh_mod_SOURCES): Likewise.
34779 (sh_mod_CFLAGS): Likewise.
34780 (sh_mod_LDFLAGS): Likewise.
34781
34782 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
34783 script/sh/lexer.c_DEPENDENCIES.
34784 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
34785 kern/rescue_reader.c and kern/rescue_parser.c.
34786 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
34787 (grub_emu_SOURCES): Change source files.
34788 (pkglib_MODULES): Remove normal.mod.
34789 (normal_SOURCES): Removed.
34790 (normal_mod_CFLAGS): Likewise.
34791 (normal_mod_LDFLAGS): Likewise.
34792 * conf/i386-coreboot.rmk: Likewise.
34793 * conf/i386-efi.rmk: Likewise.
34794 * conf/i386-ieee1276.rmk: Likewise.
34795 * conf/powerpc-ieee1275.rmk: Likewise.
34796 * conf/sparc64-ieee1275.rmk: Likewise.
34797 * conf/x86_64-efi.rmk: Likewise.
34798
34799 * include/grub/command.h (grub_command_execute): New inline function.
34800
34801 * include/grub/menu.h (grub_menu_entry): Removed commands field.
34802
34803 * include/grub/normal.h: Remove <grub/setjmp.h>.
34804 (grub_fs_module_list): Moved to normal/autofs.c.
34805 (grub_exit_env): Removed.
34806 (grub_command_execute): Likewise.
34807 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
34808 parameter script.
34809 (read_command_list): New function declaration.
34810 (read_fs_list): Likewise.
34811
34812 * include/parser.h: Include <grub/reader.h>.
34813 (grub_parser_split_cmdline): Change type of getline parameter.
34814 (grub_parser): New structure.
34815 (grub_parser_class): New variable.
34816 (grub_parser_execute): New function declaration.
34817 (grub_register_rescue_parser): Likewise.
34818 (grub_parser_register): New inline function.
34819 (grub_parser_unregister): Likewise.
34820 (grub_parser_get_current): Likewise.
34821 (grub_parser_set_current): Likewise.
34822
34823 * include/grub/reader.h: New file.
34824 * kern/reader.c: Likewise.
34825 * kern/rescue_parser.c: Likewise.
34826 * kern/rescue_reader.c: Likewise.
34827 * normal/autofs.c: Likewise.
34828 * normal/dyncmd.c: Likewise.
34829
34830 * include/grub/rescue.h: Removed.
34831 * normal/command.h: Likewise.
34832
34833 * include/grub/script.h: Moved to ...
34834 * include/grub/script_sh.h: ... Moved here.
34835 * normal/execute.c: Moved to ...
34836 * script/sh/execute.c: ... Moved here.
34837 * normal/function.c: Moved to ...
34838 * script/sh/function.c: ... Moved here.
34839 * normal/lexer.c: Moved to ...
34840 * script/sh/lexer.c: ... Moved here.
34841 * normal/parser.y: Moved to ...
34842 * script/sh/parser.y: ... Moved here.
34843 * normal/script.c: Moved to ...
34844 * script/sh/script.c: ... Moved here.
34845
34846 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
34847 <grub/reader.h>.
34848 (grub_exit_env): Removed.
34849 (fs_module_list): Moved to normal/autofs.c.
34850 (grub_file_getline): Don't handle comment here.
34851 (free_menu): Skip removed field entry->commands.
34852 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
34853 script parameter.
34854 (read_config_file): Removed nested parameter, change getline function.
34855 (grub_enter_normal_mode): Removed.
34856 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
34857 (read_command_list): Likewise.
34858 (autoload_fs_module): Moved to normal/autofs.c.
34859 (read_fs_list): Likewise.
34860 (reader_nested): New variable.
34861 (grub_normal_execute): Run parser.sh to switch to sh parser.
34862 (grub_cmd_rescue): Removed.
34863 (cmd_normal): Removed.
34864 (grub_cmd_normal): Unregister itself at the beginning. Don't register
34865 rescue command.
34866 (grub_cmdline_run): New function.
34867 (grub_normal_reader_init): Likewise.
34868 (grub_normal_read_line): Likewise.
34869 (grub_env_write_pager): Likewise.
34870 (cmdline): New variable.
34871 (grub_normal_reader): Likewise.
34872 (GRUB_MOD_INIT): Register normal reader and set as current, register
34873 pager hook, register normal command with grub_register_command_prio,
34874 so that it won't show up in command.lst.
34875 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
34876 grub_fs_autoload_hook.
34877
34878 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
34879 (grub_menu_execute_entry): Replace grub_script_execute with
34880 grub_parser_execute, change parameter to grub_command_execute.
34881
34882 * normal/menu_text.c: Remove <grub/script.h>.
34883
34884 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
34885 and <grub/parser.h>.
34886 (run): Change editor_getline to use new parser interface. Change
34887 parameter to grub_command_execute.
34888
34889 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
34890 <grub/reader.h> and <grub/parser.h>.
34891 (grub_load_normal_mode): Execute normal command.
34892 (grub_main): Call grub_register_core_commands,
34893 grub_register_rescue_parser and grub_register_rescue_reader, use
34894 grub_reader_loop to enter input loop.
34895
7dd4a573 34896 * kern/parser.c (grub_parser_split_cmdline): Change type of
34897 getline parameter.
d558e6b5 34898 (grub_parser_class): New variable.
34899 (grub_parser_execute): New function.
34900
34901 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
34902 * loader/multiboot2.c: Likewise.
34903 * loader/sparc64/ieee1275/linux.c: Likewise.
34904
34905 * util/grub-emu.c (read_command_list): New dummy function.
34906
18db813d 349072009-05-02 Robert Millan <rmh.grub@aybabtu.com>
34908
34909 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
34910 count to 16 for CCISS and IDA.
34911
6c67de15 349122009-05-02 Robert Millan <rmh.grub@aybabtu.com>
34913
34914 * normal/menu_text.c (grub_wait_after_message): Print a newline
34915 after waiting for user input.
34916
34917 * loader/i386/linux.c: Include `<grub/normal.h>'.
34918 (grub_cmd_linux): Improve the error message about `ask' mode, by
34919 waiting for user input so it's not missed (we can do this, since
34920 user requested interaction).
34921
d9dc87b0 349222009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
34923
34924 Added missing lst to grub-mkrescue
34925
34926 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
34927 and ${input_dir}/parttool.lst
34928
ac8a2baa 349292009-04-30 David S. Miller <davem@davemloft.net>
34930
ad22a610 34931 * util/hostdisk.c (device_is_wholedisk): New function.
34932 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
34933 zero only if device_is_wholedisk() returns true.
34934
6966215d 34935 * util/hostdisk.c (convert_system_partition_to_system_disk):
34936 Handle virtual disk devices named /dev/vdiskX as found on sparc
34937 and powerpc.
34938
ac8a2baa 34939 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
34940 lettered partition specifier is found, convert to numbered.
34941
979b4fb4 349422009-04-29 David S. Miller <davem@davemloft.net>
34943
e2bf39b2 34944 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
34945 * include/grub/sparc64/ieee1275/memory.h: Likewise.
34946
3c64e104 34947 * normal/command.c: Add missing newline at end of file.
34948
979b4fb4 34949 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
34950 warnings.
34951 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
34952 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
34953 grub_ofdisk_read): Likewise, and deal similarly with the fact that
34954 ihandles have a 32-bit type but need to be stored in a "void *".
34955
136d9f82 349562009-04-28 Pavel Roskin <proski@gnu.org>
34957
9459c306 34958 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
34959 not disk. Adjust all dependencies.
2e08a26a 34960 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 34961 grub_disk_close().
34962
136d9f82 34963 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
34964 parent's partition, don't copy it by reference, as it gets freed
34965 on close.
34966
7dd4a573 349672009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 34968
34969 Preboot hooks support
34970
34971 * commands/boot.c (struct grub_preboot_t): new declaration
34972 (preboots_head): new variable
34973 (preboots_tail): likewise
34974 (grub_loader_register_preboot_hook): new function
34975 (grub_loader_unregister_preboot_hook): likewise
34976 (grub_loader_set): launch preboot hooks
34977 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
34978 (grub_loader_register_preboot_hook): new declaration
34979 (grub_loader_unregister_preboot_hook): likewise
34980
5af922b5 349812009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
34982
34983 Warning fix
34984
7dd4a573 34985 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 34986 calling grub_dprintf
34987
a5562c30 349882009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
34989
34990 Bug and warning fixes
34991
7dd4a573 34992 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 34993 declaration
34994 * commands/test.c (test_parse): fixed bug with file tests and corrected
34995 declaration of find_file
34996
4006f85c 349972009-04-26 Pavel Roskin <proski@gnu.org>
34998
34999 * Makefile.in: Don't install empty manual pages if help2man is
35000 missing. Use help2man option for output, not shell redirection.
35001
5c77c3de 350022009-04-26 David S. Miller <davem@davemloft.net>
35003
35004 * util/grub-mkdevicemap.c (make_device_map): Add missing
35005 NESTED_FUNC_ATTR to process_device().
35006
033b10a8 350072009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
35008
35009 Test command
35010
35011 * commands/test.c: rewritten to use bash-like test
35012
e4343593 350132009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
35014
35015 Parttool autoloading and improvements
35016
7dd4a573 35017 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 35018 (parttool.lst): new target
35019 * genmk.rb: generate parttool-*
35020 (CLEANFILES): add #{parttool}
35021 (PARTTOOLFILES): new variable
35022 * genparttoollist.sh: new file
7dd4a573 35023 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 35024 (grub_pcpart_type): likewise
35025 * commands/parttool.c (helpmsg): new variable
35026 (grub_cmd_parttool): output help if not enough arguments are supplied
35027 autoload modules
35028 (GRUB_MOD_INIT(parttool)): use helpmsg
35029
0d312500 350302009-04-24 David S. Miller <davem@davemloft.net>
35031
7dd4a573 35032 Avoiding opening same device multiple times in device iterator.
0d312500 35033
35034 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 35035 and use it to build a list of partitions in iterate_disk() and
0d312500 35036 iterate_partition().
35037
ac20caff 35038 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
35039 on disk->data.
35040
0dcf7495 35041 * disk/ieee1275/nand.c (grub_nand_iterate): Return
35042 grub_devalias_iterate() result instead of unconditional 0.
35043 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
35044 Also, capture hook return value, either directly or via
35045 grub_children_iterate(), and propagate to caller.
35046 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
35047 grub_children_iterate): Return value is now 'int' instead of
35048 'grub_err_t'.
35049 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
35050 like a proper iterator, stopping when hooks return non-zero.
35051 (grub_devalias_iterate): Likewise.
35052
c8c08833 350532009-04-23 David S. Miller <davem@davemloft.net>
35054
35055 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
35056
f01005a8 350572009-04-22 David S. Miller <davem@davemloft.net>
35058
35059 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
35060 is larger than address_cells, use that value for address_cells too.
35061
4e8269da 35062 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
35063 IEEE1275_MAX_PATH_LEN): Define.
35064 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
35065 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
35066 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
35067 'devtype'. Explicitly NULL terminate devalias expansion.
35068
a1447506 35069 * util/sparc64/ieee1275/misc.c: New file.
35070 * util/sparc64/ieee1275/grub-setup.c: New file.
35071 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
35072 * util/sparc64/ieee1275/grub-mkimage.c: New file.
35073 * util/sparc64/ieee1275/grub-install.in: New file.
35074 * util/ieee1275/ofpath.c: New file.
35075 * util/ieee1275/devicemap.c: New file.
35076 * util/devicemap.c: New file.
35077 * util/deviceiter.c: New file.
35078 * kern/sparc64/ieee1275/init.c: New file.
35079 * include/grub/util/ofpath.h: New file.
35080 * include/grub/util/deviceiter.h: New file.
35081 * util/grub-mkdevicemap.c: Include deviceiter.h.
35082 Implement using grub_util_emit_devicemap_entry and
35083 grub_util_iterate_devices.
35084 * conf/i386-corebook.rmk: Build util/deviceiter.c and
35085 util/devicemap.c into grub-mkdevicemap
35086 * conf/i386-efi.rmk: Likewise.
35087 * conf/i386-ieee1275.rmk: Likewise.
35088 * conf/i386-pc.rmk: Likewise.
35089 * conf/powerpc-ieee1275.rmk: Likewise.
35090 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
35091 images and installation utilities. Build kernel as image
35092 instead of as elf binary. Use common rules as much as possible.
35093
7dd4a573 350942009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 35095
35096 Correct GPT definition
35097
7dd4a573 35098 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 35099 of "attrib" member
35100
c6c5219f 351012009-04-19 Felix Zielcke <fzielcke@z-51.de>
35102
35103 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
35104
0552ff9f 351052009-04-19 David S. Miller <davem@davemloft.net>
35106
35107 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
35108 (grub_rescue_cmd_linux): Rename to...
35109 (grub_cmd_linux): and fix prototype.
35110 (grub_rescue_cmd_initrd): Rename to...
35111 (grub_cmd_initrd): and fix prototype.
35112 (cmd_linux, cmd_initrd): New.
35113 (GRUB_MOD_INIT(linux)): Use grub_register_command().
35114 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
35115
d1a282fc 351162009-04-17 Pavel Roskin <proski@gnu.org>
35117
07c5039f 35118 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
35119 format.
35120 (grub_ohci_transfer): Likewise.
35121
b012002d 35122 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
35123
1bc09c35 35124 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
35125 return without a value. Fix inconsistent indentation.
35126
e0ff9126 35127 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
35128 match struct grub_fs.
35129
d1a282fc 35130 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
35131 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
35132 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35133 * commands/lspci.c (grub_lspci_iter): Likewise.
35134
a96df3f2 351352009-04-16 Bean <bean123ch@gmail.com>
35136
35137 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
35138 value.
35139
41bb0fe9 351402009-04-15 Pavel Roskin <proski@gnu.org>
35141
35142 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
35143 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
35144 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
35145 definitions.
35146
596c6970 351472009-04-15 Felix Zielcke <fzielcke@z-51.de>
35148
35149 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 35150 that no multiple data or metadata areas are supported and `Unknown
596c6970 35151 metadata header'.
35152
7dd4a573 351532009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 35154
35155 Move loader out of the kernel
35156
35157 * kern/loader.c: moved to ...
35158 * commands/boot.c: ... moved here
35159 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
35160 * commands/boot.c (grub_cmd_boot): moved here. All users updated
35161 * include/grub/kernel.h (grub_machine_fini): export
35162 * include/grub/loader.h (grub_loader_is_loaded): update declaration
35163 (grub_loader_set): likewise
35164 (grub_loader_unset): likewise
35165 (grub_loader_boot): likewise
35166 * conf/common.rmk: new module boot.mod
35167 (pkglib_MODULES): add boot.mod
35168 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
35169 (grub_emu_SOURCES): likewise
35170 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
35171 (grub_emu_SOURCES): likewise
35172 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
35173 (grub_emu_SOURCES): likewise
35174 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
35175 (grub_emu_SOURCES): likewise
35176 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
35177 (grub_emu_SOURCES): likewise
7dd4a573 35178 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
35179 (grub_emu_SOURCES): likewise
0d5d5653 35180 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 35181 (grub_emu_SOURCES): likewise
0d5d5653 35182
7dd4a573 351832009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 35184
35185 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 35186
5999d619 35187 * kern/misc.c (grub_itoa): Removed function
35188 (grub_ltoa): likewise
35189 (grub_vsprintf): use grub_lltoa
35190
7dd4a573 351912009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 35192
35193 Restore grub-emu
35194
35195 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
35196 * conf/i386-coreboot.rmk: likewise
35197 * conf/i386-ieee1275.rmk: likewise
35198 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 35199
20318222 352002009-04-15 Felix Zielcke <fzielcke@z-51.de>
35201
35202 * INSTALL: Add that `./autogen.sh' needs to be run before
35203 `./configure.'.
35204
d05f0df3 352052009-04-14 Bean <bean123ch@gmail.com>
35206
35207 * Makefile.in (pkglib_DATA): Add handler.lst.
35208 (handler.lst): New rule.
35209
35210 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
35211 * conf/i386-coreboot.rmk: Likewise.
35212 * conf/i386-ieee1275.rmk: Likewise.
35213 * conf/i386-efi.rmk: Likewise.
35214 * conf/x86_64-efi.rmk: Likewise.
35215 * conf/powerpc-ieee1275.rmk: Likewise.
35216 * conf/sparc64-ieee1275.rmk: Likewise.
35217
35218 * genhandlerlist.sh: New file.
35219
35220 * genmk.rb: Add rules to generate handler.lst.
35221
35222 * include/grub/normal.h (grub_file_getline): New function definition.
35223 (read_handler_list): Likewise.
35224 (free_handler_list): Likewise.
35225
35226 * include/grub/term.h (grub_term_register_input): Add name parameter
35227 for auto generation of handler.lst.
35228 (grub_term_register_output): Likewise.
35229
35230 * normal/handler.c: New file.
35231
35232 * normal/main.c (get_line): Renamed to grub_file_getline.
35233 (read_config_file): Use the newly renamed grub_file_getline.
35234 (read_command_list): Likewise.
35235 (read_fs_list): Likewise.
35236 (grub_normal_execute): Call read_handler_list to parse handler.lst.
35237 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
35238
35239 * term/efi/console.c (grub_console_init): Add name parameter for auto
35240 generation of handler.lst.
35241 * term/gfxterm.c: Likewise.
35242 * term/i386/pc/at_keyboard.c: Likewise.
35243 * term/i386/pc/console.c: Likewise.
35244 * term/i386/pc/serial.c: Likewise.
35245 * term/i386/pc/vesafb.c: Likewise.
35246 * term/i386/pc/vga.c: Likewise.
35247 * term/i386/pc/vga_text.c: Likewise.
35248 * term/ieee1275/ofconsole.c: Likewise.
35249 * term/usb_keyboard.c: Likewise.
35250
33c846be 352512009-04-14 Bean <bean123ch@gmail.com>
35252
35253 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
35254 properly with null character.
35255
4484e01e 352562009-04-14 Felix Zielcke <fzielcke@z-51.de>
35257
35258 * configure: Remove.
35259 * config.h.in: Likewise.
f93d668e 35260 * stamp-h.in: Likewise.
4484e01e 35261 * DISTLIST: Likewise.
35262 * conf/common.mk: Likewise.
35263 * conf/i386-coreboot.mk: Likewise.
35264 * conf/i386-efi.mk: Likewise.
35265 * conf/i386-ieee1275.mk: Likewise.
35266 * conf/i386.mk: Likewise.
35267 * conf/i386-pc.mk: Likewise.
35268 * conf/powerpc-ieee1275.mk: Likewise.
35269 * conf/sparc64-ieee1275.mk: Likewise.
35270 * conf/x86_64-efi.mk: Likewise.
35271
35272 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
35273 develop on GRUB.
35274
7dd4a573 352752009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 35276 David S. Miller <davem@davemloft.net>
35277
35278 * util/hostdisk.c (make_device_name): Fix buffer length
35279 calculations.
35280
e25b5a8c 352812009-04-14 Felix Zielcke <fzielcke@z-51.de>
35282
35283 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
35284 <sys/param.h> and <sys/sysctl.h>.
35285 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
35286 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
35287 opening the device and reset them afterwards.
35288
1f1f580c 352892009-04-13 Pavel Roskin <proski@gnu.org>
35290
35291 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
35292 Reported by John Stanley <jpsinthemix@verizon.net>
35293
7ebc2d6b 352942009-04-13 Robert Millan <rmh@aybabtu.com>
35295
35296 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 35297 that name for menuentries when appropriate.
7ebc2d6b 35298
d8ba3667 352992009-04-13 Felix Zielcke <fzielcke@z-51.de>
35300
35301 * util/grub.d/10_freebsd.in: Add a missing `fi'.
35302
cba416eb 353032009-04-13 Robert Millan <rmh@aybabtu.com>
35304
35305 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
35306 to Linux, simply abort telling the user it's no longer supported.
35307
a547a745 353082009-04-13 Felix Zielcke <fzielcke@z-51.de>
35309
35310 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 35311 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 35312 `freebsd_loadenv' only when devices.hints exist.
35313
232a769c 353142009-04-13 Pavel Roskin <proski@gnu.org>
35315
35316 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
35317
c3012039 353182009-04-13 Felix Zielcke <fzielcke@z-51.de>
35319
35320 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
35321 partition number.
35322 (grub_drive): Likewise.
35323
234022fe 353242009-04-13 David S. Miller <davem@davemloft.net>
35325
35326 * kern/sparc64/ieee1275/ieee1275.c: New file.
35327 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
35328 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
35329 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
35330 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
35331 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
35332 grub_ieee1275_alloc_physmem): Declare new exported functions.
35333
d8e1836c 35334 * include/grub/sparc64/ieee1275/loader.h: New file.
35335 * include/grub/sparc64/ieee1275/memory.h: Likewise.
35336 * include/grub/sparc64/kernel.h: Likewise.
35337 * loader/sparc64/ieee1275/linux.c: Likewise.
35338
96bd81ec 35339 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
35340 (grub_fstest_SOURCES): Likewise.
35341
6a4737e5 35342 * util/hostdisk.c (make_device_name): Do not make any assumptions
35343 about the length of drive names.
35344
1d7a72fd 35345 * kern/dl.c (grub_dl_load_file): Close file immediately when
35346 we are done using it.
35347
56bc2471 353482009-04-12 David S. Miller <davem@davemloft.net>
35349
35350 * kern/misc.c (grub_ltoa): Fix cast when handling negative
35351 values. Noticed by Pavel Roskin.
35352
df38d0bb 35353 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
35354 target compiler.
7dd4a573 35355
e382e93a 35356 * genmk.rb: Add more flexible image type specification, also
35357 pass --strip-unneeded to objcopy.
35358 * conf/i386-pc.rmk: Use *_FORMAT.
35359 * conf/i386-pc.mk: Rebuilt.
35360
f5dbbca9 35361 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
35362 (OFDISK_HASH_SZ): Define.
35363 (ofdisk_hash): New hash table.
35364 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
35365 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
35366 instead of device phandle which is not unique.
35367
91c88b12 35368 * kern/sparc64/ieee1275/init.c: Delete, replace with...
35369 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
35370 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
35371 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
35372 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
35373 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
35374 GRUB_KERNEL_MACHINE_DATA_END): Define.
35375 (grub_kernel_image_size, grub_total_module_size): Declare.
35376
5b5d4aa5 353772009-04-12 Pavel Roskin <proski@gnu.org>
35378
7dd4a573 35379 * configure.ac: Change the logic when we check for target tools.
35380 Do it when the target is specified and it's different from the
35381 specified value of the host.
5b5d4aa5 35382
c91e1793 353832009-04-11 Felix Zielcke <fzielcke@z-51.de>
35384
35385 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
35386 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
35387 GNU/kFreeBSD. Check if a device is a character device. Use
35388 DIOCGMEDIASIZE to get the size.
35389 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
35390 support for GNU/kFreeBSD.
35391 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
35392 is a character device instead of a block device. Add support for
35393 FreeBSD device names.
35394
35395 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
35396 is a character device instead of a block device.
35397
35398 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
35399 is a character device instead of a block device.
35400
b1ac8644 354012009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
35402
35403 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
35404 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
35405 FreeBSD. Check if a device is a character device. Use
35406 DIOCGMEDIASIZE to get the size.
35407 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
35408 support for FreeBSD.
35409 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
35410 is a character device instead of a block device. Add support for
35411 FreeBSD device names.
35412
35413 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
35414 a character device instead of a block device.
35415 (grub_util_check_char_device): New function.
35416
35417 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
35418 a character device instead of a block device.
35419
35420 * include/grub/util/getroot.h (grub_util_check_char_device): New
35421 prototype.
35422
a3f7515a 354232009-04-11 David S. Miller <davem@davemloft.net>
35424
35425 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
35426 static libgcc.
35427 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
35428 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
35429 function, if present.
35430 (__bswapdi2): Likewise.
35431
0d44993d 35432 * include/grub/sparc64/ieee1275/boot.h: New file.
35433 * boot/sparc64/ieee1275/boot.S: Likewise.
35434 * boot/sparc64/ieee1275/diskboot.S: Likewise.
35435
ed3d2bc2 35436 * kern/misc.c (grub_ltoa): New function.
35437 (grub_vsprintf): Use it to format 'long' integers.
35438
d3bfb59c 354392009-04-10 David S. Miller <davem@davemloft.net>
35440
35441 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
35442 slots are of type grub_ieee1275_cell_t.
35443 (grub_nand_read): Likewise.
35444 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
35445 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
35446 macros are used to compare values in arg/ret block of the call.
35447 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
35448 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
35449 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
35450 grub_ieee1275_instance_to_path, grub_ieee1275_write,
35451 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
35452 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
35453 grub_ieee1275_close, grub_ieee1275_set_property,
35454 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
35455 grub_ieee1275_cell_t.
35456 * kern/ieee1275/openfw.c (grub_map): Likewise.
35457 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
35458 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
35459
450e2238 35460 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
35461 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
35462 (grub_devalias_iterate): Likewise.
35463
7dd4a573 354642009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 35465
35466 UFS improvements
35467
35468 * fs/ufs.c (INODE_NBLOCKS): new definition
35469 (struct grub_ufs_dirent): added fields for non-BSD dirents
35470 (grub_ufs_get_file_block): fixed double indirect handling
35471 (grub_ufs_lookup_symlink): use more robust way to determine whether
35472 symlink is inline
35473 (grub_ufs_find_file): support for non-BSD dirents
35474 (grub_ufs_dir): support for non-BSD dirents
35475
e7e6862a 354762009-04-10 Bean <bean123ch@gnail.com>
35477
35478 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
35479 attribute, otherwise the size would be wrong for i386 platform.
35480
35481 * include/grub/pci.h (grub_pci_read_word): New inline function.
35482 (grub_pci_read_byte): Likewise.
35483 (grub_pci_write): Likewise.
35484 (grub_pci_write_word): Likewise.
35485 (grub_pci_write_byte): Likewise.
35486
35487 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
35488
35489 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
35490 (find_framebuf): Scan pci to locate the frame buffer address.
35491
35492 * commands/efi/fixvideo.c: New file.
35493
35494 * commands/efi/loadbios.c: Likewise.
35495
35496 * commands/memrw.c: Likewise.
35497
35498 * util/grub-dumpbios.in: Likewise.
35499
35500 * conf/common.rmk (grub-dumpbios): New utility.
35501 (pkglib_MODULES): New module memrw.mod.
35502 (memrw_mod_SOURCE): New macro.
35503 (memrw_mod_CFLAGS): Likewise.
35504 (memrw_mod_LDFLAGS): Likewise.
35505
7dd4a573 35506 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 35507 fixvideo.mod.
35508 (loadbios_mod_SOURCE): New macro.
35509 (loadbios_mod_CFLAGS): Likewise.
35510 (loadbios_mod_LDFLAGS): Likewise.
35511 (fixvideo_mod_SOURCE): Likewise.
35512 (fixvideo_mod_CFLAGS): Likewise.
35513 (fixvideo_mod_LDFLAGS): Likewise.
35514
7dd4a573 35515 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 35516 fixvideo.mod.
35517 (loadbios_mod_SOURCE): New macro.
35518 (loadbios_mod_CFLAGS): Likewise.
35519 (loadbios_mod_LDFLAGS): Likewise.
35520 (fixvideo_mod_SOURCE): Likewise.
35521 (fixvideo_mod_CFLAGS): Likewise.
35522 (fixvideo_mod_LDFLAGS): Likewise.
35523
af63ada2 355242009-04-08 Felix Zielcke <fzielcke@z-51.de>
35525
35526 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
35527
c2cdde70 355282009-04-07 David S. Miller <davem@davemloft.net>
35529
35530 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
35531 support for R_SPARC_OLO10 relocations. Fix compile warning for
35532 R_SPARC_WDISP30 case.
ea3f72cf 35533 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 35534
761319cf 355352009-04-06 Pavel Roskin <proski@gnu.org>
35536
1007d1f5 35537 * include/grub/misc.h (ARRAY_SIZE): New macro.
35538 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
35539 New macro.
35540 * loader/i386/linux.c (allocate_pages): Use free_pages().
35541 (grub_linux_unload): Don't use free_pages().
35542 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
35543 wrong index. Treat all other modes as text modes.
35544 (grub_cmd_linux): Initialize vid_mode unconditionally to
35545 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
35546
761319cf 35547 * commands/help.c (print_command_help): Use cmd->prio, not
35548 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
35549
ea761d40 355502009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 35551
ea761d40 35552 Parttool
35553
35554 * parttool/pcpart.c: new file
35555 * commands/parttool.c: likewise
35556 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
35557 (parttool_mod_SOURCES): new variable
35558 (parttool_mod_CFLAGS): likewise
35559 (parttool_mod_LDFLAGS): likewise
35560 (pcpart_mod_SOURCES): likewise
35561 (pcpart_mod_CFLAGS): likewise
35562 (pcpart_mod_LDFLAGS): likewise
7dd4a573 35563 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 35564 and parttool/pcpart.c
35565 * conf/i386-efi.rmk: likewise
35566 * conf/i386-ieee1275.rmk: likewise
35567 * conf/i386-pc.rmk: likewise
35568 * conf/powerpc-ieee1275.rmk: likewise
35569 * conf/sparc64-ieee1275.rmk: likewise
35570 * conf/x86_64-ieee1275.rmk: likewise
35571
05aaebfb 355722009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
35573
35574 Support for mtime and further expandability of dir command
35575
35576 * include/grub/lib/datetime.h: moved to ...
7dd4a573 35577 * include/grub/datetime.h: ... moved here and added
05aaebfb 35578 declaration of grub_unixtime2datetime. All users updated
7dd4a573 35579 * include/grub/fs.h: new syntax for dir and mtime functions in
35580 struct grub_fs
05aaebfb 35581 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
35582 and GRUB_FSHELP_FLAGS_MASK
35583 * commands/ls.c (grub_ls_list_files): Write mtime in long format
35584 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
35585 (grub_ext2_mtime): new function
35586 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
35587 (grub_hfsplus_mtime): new function
35588 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
35589 (GRUB_UFS_ATTR_FILE): likewise
35590 (GRUB_UFS_ATTR_LNK): likewise
35591 (struct grub_ufs_sblock): new fields mtime
35592 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
35593 all users updated
35594 (grub_ufs_dir): mtime support
35595 (grub_ufs_mtime): new function
35596 * fs/affs.c (grub_affs_dir): use new dir syntax
35597 * fs/afs.c (grub_afs_dir): likewise
35598 * fs/cpio.c (grub_cpio_dir): likewise
35599 * fs/fat.c (grub_fat_find_dir): likewise
35600 * fs/hfs.c (grub_hfs_dir): likewise
35601 * fs/iso9660.c (grub_iso9660_dir): likewise
35602 * fs/jfs.c (grub_jfs_dir): likewise
35603 * fs/minix.c (grub_minix_dir): likewise
35604 * fs/ntfs.c (grub_ntfs_dir): likewise
35605 * fs/reiserfs.c (grub_reiserfs_dir): likewise
35606 * fs/sfs.c (grub_sfs_dir): likewise
35607 * fs/xfs.c (grub_xfs_dir): likewise
35608 * util/hostfs.c (grub_hostfs_dir): likewise
35609 * lib/datetime.c: moved to ...
35610 * normal/datetime.c: ... moved here
35611 (grub_unixtime2datetime): new function
35612 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 35613 * normal/completion.c (iterate_dir): use new dir syntax
35614 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 35615 last modification time of a volume
7dd4a573 35616 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 35617 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 35618 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 35619 (normal_mod_SOURCES): likewise
35620 (datetime_mod_SOURCES): Removed lib/datetime.c
35621 * conf/i386-efi.rmk: likewise
7dd4a573 35622 * conf/i386-ieee1275.rmk: likewise
05aaebfb 35623 * conf/i386-pc.rmk: likewise
35624 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 35625 * conf/sparc64-ieee1275.rmk: likewise
35626 * conf/x86_64-efi.rmk: likewise
05aaebfb 35627
8a7e1a14 356282009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
35629
35630 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 35631
35632 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 35633 on grub_fat_find_dir
35634 (grub_fat_find_dir): use grub_fat_iterate_dir
35635 (grub_fat_label): likewise
35636
04186a9c 356372009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
35638
7dd4a573 35639 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 35640 and command.h
35641 remove extraneous kernel_elf_HEADERS
35642
da4c0bb6 356432009-04-04 Bean <bean123ch@gnail.com>
35644
35645 * include/grub/util/misc.h: Add dummy function fsync for mingw.
35646
35647 * util/misc.c: Likewise.
35648
54ad9555 356492009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
35650
35651 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
35652 instead of grub_printf.
35653
7a6bf9f2 356542009-04-03 Robert Millan <rmh@aybabtu.com>
35655
35656 * loader/i386/linux.c (grub_linux_setup_video): Fill
35657 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
35658 values from `mode info' structure instead of hardcoded
35659 values.
35660
3fcc2083 356612009-04-01 Pavel Roskin <proski@gnu.org>
35662
35663 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
35664 unused now.
35665 * genmk.rb: Likewise.
35666 * configure.ac: Likewise.
35667
5ec9740b 356682009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
35669
35670 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
35671 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
35672
5270cec8 356732009-04-01 David S. Miller <davem@davemloft.net>
35674
35675 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 35676 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 35677 (grub_setjmp): Mark with 'returns_twice' attribute.
35678 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
35679 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
35680 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
35681
9c3dd854 356822009-04-01 Robert Millan <rmh@aybabtu.com>
35683
35684 Reapply fix from 2008-07-28 which was accidentally reverted; also
35685 perform the same fix to a similar check in same function.
35686
35687 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
35688 with the same number are found, just use issue a warning with
35689 grub_dprintf(), as this error has been reported to be non-fatal.
35690
0d818b7e 356912009-03-31 Pavel Roskin <proski@gnu.org>
35692
35693 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
35694 for cross-compilation.
35695
95646d92 356962009-03-30 Robert Millan <rmh@aybabtu.com>
35697
35698 Fix i386-ieee1275 build.
35699
35700 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
35701 Remove declaration.
35702
6a003ed1 357032009-03-30 Pavel Roskin <proski@gnu.org>
35704
35705 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
35706 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
35707 zero-terminated, rely only on the strlen value. Fix comparison
35708 of strings differing in length.
35709
92f33540 357102009-03-30 Robert Millan <rmh@aybabtu.com>
35711
35712 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
35713 checking for abi version. Improve error messages on BIOS to notify
35714 user about `linux16' command.
35715
a8c48fd5 357162009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
35717
f968172e 35718 Leak fixes
a8c48fd5 35719
f968172e 35720 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
35721 in case of collision
35722 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 35723
9c323f09 357242009-03-29 Robert Millan <rmh@aybabtu.com>
35725
35726 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
35727 set `vid_mode' accordingly.
35728 (grub_linux_boot): Process `vid_mode' and set video mode.
35729
ae68f423 357302009-03-29 Robert Millan <rmh@aybabtu.com>
35731
35732 * util/grub.d/10_linux.in (linux_entry): New function.
35733 Factorize generation of Linux boot entries.
35734
5709cfc4 357352009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
35736
35737 Make the format of Environment Block plain text. The boot loader
35738 part is not tested well yet.
7dd4a573 35739
5709cfc4 35740 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
35741 (buffer): Removed.
35742 (envblk): Likewise.
35743 (usage): Remove "info" and "clear". Add "unset". Update the
35744 description of "set", as this does not delete variables any
35745 longer.
35746 (create_envblk_file): Complete rewrite.
35747 (open_envblk_file): Likewise.
35748 (cmd_info): Removed.
35749 (cmd_list): Likewise.
35750 (cmd_set): Likewise.
35751 (cmd_clear): Likewise.
35752 (list_variables): New function.
35753 (write_envblk): Likewise.
35754 (set_variables): Likewise.
35755 (unset_variables): Likewise.
35756 (main): Complete rewrite.
35757
35758 * commands/loadenv.c (buffer): Removed.
35759 (envblk): Likewise.
35760 (open_envblk_file): New function.
35761 (read_envblk_file): Complete rewrite.
35762 (grub_cmd_load_env): Likewise.
35763 (grub_cmd_list_env): Likewise.
35764 (struct blocklist): New struct.
35765 (free_blocklists): New function.
35766 (check_blocklists): Likewise.
35767 (write_blocklists): Likewise.
35768 (grub_cmd_save_env): Complete rewrite.
35769
35770 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
35771 a plain text signature.
35772 (GRUB_ENVBLK_MAXLEN): Removed.
35773 (struct grub_envblk): Complete rewrite.
35774 (grub_envblk_find): Removed.
35775 (grub_envblk_insert): Likewise.
35776 (grub_envblk_open): New prototype.
35777 (grub_envblk_set): Likewise.
35778 (grub_envblk_delete): Put const to VALUE.
35779 (grub_envblk_iterate): Put const to NAME and VALUE.
35780 (grub_envblk_close): New prototype.
35781 (grub_envblk_buffer): New inline function.
35782 (grub_envblk_size): Likewise.
35783
35784 * lib/envblk.c: Include grub/mm.h.
35785 (grub_env_find): Removed.
35786 (grub_envblk_open): New function.
35787 (grub_envblk_close): Likewise.
35788 (escaped_value_len): Likewise.
35789 (find_next_line): Likewise.
35790 (grub_envblk_insert): Removed.
35791 (grub_envblk_set): New function.
35792 (grub_envblk_delete): Complete rewrite.
35793 (grub_envblk_iterate): Likewise.
35794
a9368fd3 357952009-03-28 Robert Millan <rmh@aybabtu.com>
35796
35797 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
35798 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
35799 variables. Use 16-bit loader.
35800 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
35801 loader.
35802 * kern/i386/loader.S (grub_linux_boot): Rename to ...
35803 (grub_linux16_boot): ... this. Update all users.
35804 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
35805 (grub_linux_boot): ... this. Update all users.
35806
35807 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
35808 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
35809 commands to `linux16' and `initrd16'.
35810 (GRUB_MOD_FINI(linux)): Rename to ...
35811 (GRUB_MOD_FINI(linux16)): ... this.
35812
e4dd5a7e 358132009-03-24 Pavel Roskin <proski@gnu.org>
35814
35815 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
35816 not just for compilation.
35817
c04d6e05 358182009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
35819
35820 Move multiboot helper out of kernel
35821
35822 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
35823 `loader/i386/multiboot_helper.S'.
35824 * conf/i386-coreboot.rmk: Likewise
35825 * conf/i386-ieee1275.rmk: Likewise
35826
35827 * kern/i386/loader.S: Move multiboot helpers from here...
35828 * loader/i386/multiboot_helper.S: ...moved here
35829 * include/grub/i386/loader.h: Move declarations of multiboot
35830 helpers from here...
35831 * include/grub/i386/multiboot.h: ...moved here
35832 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
35833
42a5b3fc 358342009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35835
35836 * kern/env.c (grub_env_context_open): Added an argument to specify
35837 whether a new context inherits exported variables from current
35838 one. This is useful when making a sandbox to interpret a config
35839 file.
35840 All callers updated.
35841
35842 * include/grub/env.h (grub_env_context_open): Updated the prototype.
35843
b28bbc4e 358442009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35845
35846 * kern/env.c (grub_env_context_close): Fix memory leaks.
35847
f04f02e4 358482009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35849
35850 * normal/main.c (grub_normal_execute): Added an argument
35851 BATCH to specify if an interactive interface should be provided
35852 after reading a config file.
35853 All callers updated.
35854 (read_command_list): Prevent being executed twice.
35855 (read_fs_list): Likewise.
35856
42a5b3fc 35857 * include/grub/normal.h (grub_normal_execute): Updated the
35858 prototype.
f04f02e4 35859
41473ac2 358602009-03-22 Pavel Roskin <proski@gno.org>
35861
fbc00b0c 35862 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
35863 _start.
35864 * kern/i386/pc/startup.S: Likewise.
35865 * kern/i386/efi/startup.S: Likewise.
35866 * kern/i386/ieee1275/startup.S: Likewise.
35867 * kern/i386/coreboot/startup.S: Likewise.
35868 * kern/x86_64/efi/startup.S: Likewise.
35869
41473ac2 35870 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
35871 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
35872 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
35873
2274cc8f 358742009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
35875
35876 Bugfixes in multiboot for bugs uncovered by solaris kernel.
35877
35878 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
35879 limit detection.
35880 Use vaddr of correct segment for entry_point.
35881
b1b797cb 358822009-03-21 Bean <bean123ch@gmail.com>
35883
35884 * commands/blocklist.c: Add include file <grub/command.h>, remove
35885 <grub/normal.h> and <grub/arg.h>.
35886 (grub_cmd_blocklist): Use the new command interface.
35887 (GRUB_MOD_INIT): Likewise.
35888 (GRUB_MOD_FINI): Likewise.
35889 * commands/boot.c: Likewise.
35890 * commands/cat.c: Likewise.
35891 * commands/cmp.c: Likewise.
35892 * commands/configfile.c: Likewise.
35893 * commands/crc.c: Likewise.
35894 * commands/echo.c: Likewise.
35895 * commands/halt.c: Likewise.
35896 * commands/handler.c: Likewise.
35897 * commands/hdparm.c: Likewise.
35898 * commands/help.c: Likewise.
35899 * commands/hexdump.c: Likewise.
35900 * commands/loadenv.c: Likewise.
35901 * commands/ls.c: Likewise.
35902 * commands/lsmmap.c: Likewise.
35903 * commands/lspci.c: Likewise.
35904 * commands/loadenv.c: Likewise.
35905 * commands/read.c: Likewise.
35906 * commands/reboot.c: Likewise.
35907 * commands/search.c: Likewise.
35908 * commands/sleep.c: Likewise.
35909 * commands/test.c: Likewise.
35910 * commands/usbtest.c: Likewise.
35911 * commands/videotest.c: Likewise.
35912 * commands/i386/cpuid.c: Likewise.
35913 * commands/i386/pc/halt.c: Likewise.
35914 * commands/i386/pc/play.c: Likewise.
35915 * commands/i386/pc/pxecmd.c: Likewise.
35916 * commands/i386/pc/vbeinfo.c: Likewise.
35917 * commands/i386/pc/vbetest.c: Likewise.
35918 * commands/ieee1275/suspend.c: Likewise.
35919 * disk/loopback.c: Likewise.
35920 * font/font_cmd.c: Likewise.
35921 * hello/hello.c: Likewise.
35922 * loader/efi/appleloader.c: Likewise.
35923 * loader/efi/chainloader.c: Likewise.
35924 * loader/i386/bsd.c: Likewise.
35925 * loader/i386/efi/linux.c: Likewise.
35926 * loader/i386/ieee1275/linux.c: Likewise.
35927 * loader/i386/linux.c: Likewise.
35928 * loader/i386/pc/chainloader.c: Likewise.
35929 * loader/i386/pc/linux.c: Likewise.
35930 * loader/powerpc/ieee1275/linux.c: Likewise.
35931 * loader/multiboot_loader.c: Likewise.
35932 * term/gfxterm.c: Likewise.
35933 * term/i386/pc/serial.c: Likewise.
35934 * term/terminfo.c: Likewise.
35935
35936 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
35937 * term/i386/pc/vga.c: Likewise.
35938 * video/readers/jpeg.c: Likewise.
35939 * video/readers/png.c: Likewise.
35940 * video/readers/tga.c: Likewise.
35941
35942 * util/grub-fstest (cmd_loopback): Removed.
35943 (cmd_blocklist): Likewise.
35944 (cmd_ls): Likewise.
35945 (grub_register_command): Likewise.
35946 (grub_unregister_command): Likewise.
35947 (execute_command): Use grub_command_find to locate command and execute
35948 it.
35949
35950 * include/grub/efi/chainloader.h: Removed.
35951 * loader/efi/chainloader_normal.c: Likewise.
35952 * loader/i386/bsd_normal.c: Likewise.
35953 * loader/i386/pc/chainloader_normal.c: Likewise.
35954 * loader/i386/pc/multiboot_normal.c: Likewise.
35955 * loader/linux_normal.c: Likewise.
35956 * loader/multiboot_loader_normal.c: Likewise.
35957 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
35958
35959 * gencmdlist.sh: Scan new registration command grub_register_extcmd
35960 and grub_register_command_p1.
35961
35962 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
35963 kern/command.c, lib/arg.c and commands/extcmd.c.
35964 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
35965 (minicmd_mod_SOURCES): New variable.
35966 (minicmd_mod_CFLAGS): Likewise.
35967 (minicmd_mod_LDFLAGS): Likewise.
35968 (extcmd_mod_SOURCES): Likewise.
35969 (extcmd_mod_CFLAGS): Likewise.
35970 (extcmd_mod_LDFLAGS): Likewise.
35971 (boot_mod_SOURCES): Removed.
35972 (boot_mod_CFLAGS): Likewise.
35973 (boot_mod_LDFLAGS): Likewise.
35974
35975 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
35976 kern/corecmd.c.
35977 (kernel_img_HEADERS): Add command.h.
35978 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
35979 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
35980 and lib/arg.c.
35981 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
35982 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
35983 remove the corresponding normal mode command.
35984 (normal_mod_SOURCES): Remove normal/arg.c.
35985 * conf/i386-coreboot.rmk: Likewise.
35986 * conf/i386-efi.rmk: Likewise.
35987 * conf/i386-ieee1275.rmk: Likewise.
35988 * conf/powerpc-ieee1275.rmk: Likewise.
35989 * conf/x86_64-efi.rmk: Likewise.
35990
35991 * include/grub/arg.h: Move from here ...
35992 * include/grub/lib/arg.h: ... to here.
35993
35994 * normal/arg.c: Move from here ...
35995 * lib/arg.c: ... to here.
35996
35997 * commands/extcmd.c: New file.
35998 * commands/minicmd.c: Likewise.
35999 * include/grub/command.h: Likewise.
36000 * include/grub/extcmd.h: Likewise.
36001 * kern/command.c: Likewise.
36002 * kern/corecmd.c: Likewise.
36003
36004 * kern/list.c (grub_list_iterate): Return int instead of void.
36005 (grub_list_insert): New function.
36006 (grub_prio_list_insert): Likewise.
36007
36008 * kern/rescue.c (grub_rescue_command): Removed.
36009 (grub_rescue_command_list): Likewise.
36010 (grub_rescue_register_command): Likewise.
36011 (grub_rescue_unregister_command): Likewise.
36012 (grub_rescue_cmd_boot): Move to minicmd.c
36013 (grub_rescue_cmd_help): Likewise.
36014 (grub_rescue_cmd_info): Likewise.
36015 (grub_rescue_cmd_boot): Likewise.
36016 (grub_rescue_cmd_testload): Likewise.
36017 (grub_rescue_cmd_dump): Likewise.
36018 (grub_rescue_cmd_rmmod): Likewise.
36019 (grub_rescue_cmd_lsmod): Likewise.
36020 (grub_rescue_cmd_exit): Likewise.
36021 (grub_rescue_print_devices): Moved to corecmd.c.
36022 (grub_rescue_print_files): Likewise.
36023 (grub_rescue_cmd_ls): Likewise.
36024 (grub_rescue_cmd_insmod): Likewise.
36025 (grub_rescue_cmd_set): Likewise.
36026 (grub_rescue_cmd_unset): Likewise.
7d074e3c 36027 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 36028 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 36029 commands, remove grub_rescue_register_command calls.
b1b797cb 36030
7d074e3c 36031 * normal/command.c (grub_register_command): Removed.
b1b797cb 36032 (grub_unregister_command): Likewise.
36033 (grub_command_find): Likewise.
36034 (grub_iterate_commands): Likewise.
36035 (rescue_command): Likewise.
36036 (export_command): Moved to corecmd.c.
36037 (set_command): Removed.
36038 (unset_command): Likewise.
36039 (insmod_command): Likewise.
36040 (rmmod_command): Likewise.
36041 (lsmod_command): Likewise.
36042 (grub_command_init): Likewise.
36043
36044 * normal/completion.c (iterate_command): Use cmd->prio to check for
36045 active command.
36046 (complete_arguments): Use grub_extcmd_t structure to find options.
36047 (grub_normal_do_completion): Change function grub_iterate_commands to
36048 grub_command_iterate.
36049
36050 * normal/execute.c (grub_script_execute_cmd): No need to parse
36051 argument here.
36052
36053 * normal/main.c (grub_dyncmd_dispatcher): New function.
36054 (read_command_list): Register unload commands as dyncmd.
36055 (grub_cmd_normal): Use new command interface, register rescue,
36056 unregister normal at entry, register normal, unregister rescue at exit.
36057
36058 * include/grub/list.h (grub_list_test_t): New type.
36059 (grub_list_iterate): Return int instead of void.
36060 (grub_list_insert): New function.
36061 (GRUB_AS_NAMED_LIST_P): New macro.
36062 (GRUB_AS_PRIO_LIST): Likewise.
36063 (GRUB_AS_PRIO_LIST_P): Likewise.
36064 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
36065 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
36066 (grub_prio_list): New structure.
36067 (grub_prio_list_insert): New function.
36068 (grub_prio_list_remove): New inline function.
36069
36070 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
36071 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
36072 (GRUB_COMMAND_FLAG_MENU): Likewise.
36073 (GRUB_COMMAND_FLAG_BOTH): Likewise.
36074 (GRUB_COMMAND_FLAG_TITLE): Likewise.
36075 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
36076 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
36077 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
36078 (grub_command): Likewise.
36079 (grub_register_command): Likewise.
36080 (grub_command_find): Likewise.
36081 (grub_iterate_commands): Likewise.
36082 (grub_command_init): Likewise.
36083 (grub_arg_parse): Likewise.
36084 (grub_arg_show_help): Likewise.
36085
36086 * include/grub/rescue.h (grub_rescue_register_command): Removed.
36087 (grub_rescue_unregister_command): Likewise.
36088
36089 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
36090 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
36091 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
36092
36093 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
36094 grub_rescue_cmd_initrd.
36095 * include/grub/i386/loader.h: Likewise.
36096 * include/grub/x86_64/loader.h: Likewise.
36097
36098 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
36099
1f4147aa 361002009-03-21 Bean <bean123ch@gmail.com>
36101
36102 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
36103 instead of stat in mingw environment.
36104
36105 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
36106
36107 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
36108
36109 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
36110 AC_CONFIG_LINKS.
36111
2156d5ba 361122009-03-21 Bean <bean123ch@gmail.com>
36113
36114 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
36115 out of range error.
36116
177b82ca 361172009-03-18 Michel Dänzer <michel@daenzer.net>
36118
36119 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
36120 checking inode flags for EXT4_EXTENTS_FLAG.
36121
14aad807 361222009-03-18 Robert Millan <rmh@aybabtu.com>
36123
36124 * loader/i386/linux.c: Include `<grub/video.h>' and
36125 `<grub/i386/pc/vbe.h>'..
36126 (grub_linux_setup_video): New function. Loosely based on the EFI one.
36127 (grub_linux32_boot): Attempt to configure video settings with
36128 grub_linux_setup_video().
36129 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
36130 to avoid grub_console_fini() which would step out of graphical mode
36131 unconditionally.
36132
8cf83a27 361332009-03-14 Robert Millan <rmh@aybabtu.com>
36134
36135 Fix build on powerpc.
36136 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
36137
40164e75 361382009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
36139
36140 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
36141 background image command.
36142
c58bc32a 361432009-03-12 Colin D Bennett <colin@gibibit.com>
36144
36145 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
36146 (grub_gfxterm_putchar): Extract pairs of identical calls to
36147 draw_cursor out of conditional blocks.
36148
5415144a 361492009-03-11 Pavel Roskin <proski@gnu.org>
36150
36151 * fs/hfs.c (grub_hfs_strncasecmp): New function.
36152 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
36153
6394042e 361542009-03-11 Robert Millan <rmh@aybabtu.com>
36155
36156 * loader/i386/multiboot_elfxx.c
36157 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
36158
b7b50e5f 361592009-03-11 Felix Zielcke <fzielcke@z-51.de>
36160
36161 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
36162 `kern/handler.c'.
36163
1ca7fc96 361642009-03-11 Robert Millan <rmh@aybabtu.com>
36165
36166 * loader/i386/multiboot.c (code_size): New variable.
36167 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 36168 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 36169 4-byte alignment to MBI and others by increasing
7d074e3c 36170 `boot_loader_name_length' appropriately.
1ca7fc96 36171
36172 * loader/i386/multiboot_elfxx.c
36173 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
36174
a83ea1d2 361752009-03-09 Felix Zielcke <fzielcke@z-51.de>
36176
36177 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
36178 `fs/ext2.c'.
36179
aa9f3bff 361802009-03-08 Robert Millan <rmh@aybabtu.com>
36181
36182 Make loader/i386/linux.c usable on i386-pc again.
36183
36184 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
36185 memory to heap.
36186 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
36187 `#error' stanza.
36188
d8b3b60e 361892009-03-07 Bean <bean123ch@gmail.com>
36190
36191 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
36192 allocation.
36193
b362c9e9 361942009-03-06 Robert Millan <rmh@aybabtu.com>
36195
36196 Fix display issue on terminals with screen size other than 80x25
36197 (e.g. gfxterm with resolution higher than 640x480).
36198
36199 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 36200 position relative to the center of the terminal instead of relying
b362c9e9 36201 on a hardcoded offset.
36202
9304eef1 362032009-03-04 Robert Millan <rmh@aybabtu.com>
36204
36205 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
36206 installed.
36207
36208 * Makefile.in (host_kernel): New variable.
36209 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
36210 scripts instead of just the windows one.
36211 * configure.ac: Initialize and AC_SUBST `host_kernel'.
36212
eabc95fb 362132009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 36214
36215 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
36216 `kern/handler.c'.
36217 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36218 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36219 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36220 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36221 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36222 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36223
ceb1223c 362242009-03-04 Felix Zielcke <fzielcke@z-51.de>
36225
36226 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
36227 or if there's no space for the disk label and print the partition number on a
36228 invalid magic.
36229
4910684a 362302009-03-04 Felix Zielcke <fzielcke@z-51.de>
36231
36232 * util/misc.c: Include <time.h>.
36233 (grub_millisleep): New function.
36234
7e9ca17a 362352009-03-04 Bean <bean123ch@gmail.com>
36236
36237 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
36238 another option -mno-red-zone.
36239
36240 * commands/handler.c: Change module description.
36241
36242 * kern/handler.c: Add missing space at the end of description line.
36243
36244 * kern/list.c: Likewise.
36245
f501677c 362462009-03-03 Robert Millan <rmh@aybabtu.com>
36247
36248 Move more components to the relocation area, and fix mbi pointer
36249 handling to use the destination rather than the origin (thanks to
36250 Vladimir Serbinenko for spotting).
36251
36252 * loader/i386/multiboot.c (mbi_dest): New variable.
36253 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
36254 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
36255 relocation area.
36256
9902d047 362572009-03-01 Bean <bean123ch@gmail.com>
36258
50fb7002 36259 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 36260 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
36261 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
36262 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
36263
36264 * loader/i386/efi/linux.c (acpi_guid): New variable.
36265 (acpi_guid): Likewise.
36266 (EBDA_SEG_ADDR): New constant.
36267 (LOW_MEM_ADDR): Likewise.
36268 (FAKE_EBDA_SEG): Likewise.
36269 (fake_bios_data): New function.
36270 (grub_linux_boot): Call fake_bios_data.
36271
71b9f361 362722009-03-01 Bean <bean123ch@gmail.com>
36273
36274 * commands/terminal.c: Removed.
36275
36276 * commands/handler.c: New file.
36277
36278 * include/grub/list.h: Likewise.
36279
36280 * include/grub/handler.h: Likewise.
36281
36282 * kern/list.c: Likewise.
36283
36284 * kern/handler.c: Likewise.
36285
36286 * kern/term.h: Include header file <grub/handler.h>.
36287 (grub_term_input): Move next field to the beginning.
36288 (grub_term_output): Likewise.
36289 (grub_term_input_class): New variable.
36290 (grub_term_output_class): Likewise.
36291 (grub_term_register_input): Changed to inline function.
36292 (grub_term_register_output): Likewise.
36293 (grub_term_unregister_input): Likewise.
36294 (grub_term_unregister_output): Likewise.
36295 (grub_term_set_current_input): Likewise.
36296 (grub_term_set_current_output): Likewise.
36297 (grub_term_get_current_input): Likewise.
36298 (grub_term_get_current_output): Likewise.
36299 (grub_term_iterate_input): Removed.
36300 (grub_term_iterate_output): Likewise.
36301
36302 * kern/term.c (grub_term_list_input): Removed.
36303 (grub_term_list_output): Likewise.
36304 (grub_term_input_class): New variable.
36305 (grub_term_output_class): Likewise.
50fb7002 36306 (grub_cur_term_input): Change variable as macro.
71b9f361 36307 (grub_cur_term_output): Likewise.
36308 (grub_term_register_input): Removed.
36309 (grub_term_register_output): Likewise.
36310 (grub_term_unregister_input): Likewise.
36311 (grub_term_unregister_output): Likewise.
36312 (grub_term_set_current_input): Likewise.
36313 (grub_term_set_current_output): Likewise.
36314 (grub_term_iterate_input): Likewise.
36315 (grub_term_iterate_output): Likewise.
36316 (grub_term_get_current_input): Likewise.
36317 (grub_term_get_current_output): Likewise.
36318
36319 * util/grub-editenv.c: Include header file <grub/handler.h>.
36320 (grub_term_get_current_input): Removed.
36321 (grub_term_get_current_output): Likewise.
36322 (grub_term_input_class): New variable.
50fb7002 36323 (grub_term_output_class): Likewise.
71b9f361 36324
36325 * util/grub-fstest.c (grub_term_get_current_input): Removed.
36326 (grub_term_get_current_output): Likewise.
36327 (grub_term_input_class): New variable.
50fb7002 36328 (grub_term_output_class): Likewise.
71b9f361 36329
36330 * util/grub-probe.c (grub_term_get_current_input): Removed.
36331 (grub_term_get_current_output): Likewise.
36332 (grub_term_input_class): New variable.
50fb7002 36333 (grub_term_output_class): Likewise.
71b9f361 36334
36335 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
36336 (grub_term_get_current_output): Likewise.
36337 (grub_term_input_class): New variable.
50fb7002 36338 (grub_term_output_class): Likewise.
71b9f361 36339
36340 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
36341 (terminal_mod_SOURCES): Likewise.
36342 (terminal_mod_CFLAGS): Likewise.
36343 (terminal_mod_LDFLAGS): Likewise.
36344
36345 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
36346 handler.c.
36347 (kernel_img_SOURCES): Add list.c and handler.c.
36348 (kernel_img_HEADERS): Add list.h and handler.h.
36349
36350 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
36351 handler.c.
36352 (kernel_mod_SOURCES): Add list.c and handler.c.
36353 (kernel_mod_HEADERS): Add list.h and handler.h.
36354
36355 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
36356 handler.c.
36357 (kernel_elf_SOURCES): Add list.c and handler.c.
36358 (kernel_elf_HEADERS): Add list.h and handler.h.
36359
36360 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
36361 handler.c.
36362 (kernel_elf_SOURCES): Add list.c and handler.c.
36363 (kernel_elf_HEADERS): Add list.h and handler.h.
36364
36365 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
36366 handler.c.
36367 (kernel_mod_SOURCES): Add list.c and handler.c.
36368 (kernel_mod_HEADERS): Add list.h and handler.h.
36369
36370 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
36371 handler.c.
36372 (kernel_elf_SOURCES): Add list.c and handler.c.
36373 (kernel_elf_HEADERS): Add list.h and handler.h.
36374
8a31787f 363752009-02-27 Robert Millan <rmh@aybabtu.com>
36376
36377 Factorize elf32 / elf64 code in Multiboot loader. This will
36378 prevent it from getting out of sync again.
36379
36380 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
36381 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
36382 grub_multiboot_load_elf64): Move from here ...
36383 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
36384 grub_multiboot_load_elf): ... to here (new file).
36385
51cd3dfc 363862009-02-27 Robert Millan <rmh@aybabtu.com>
36387
36388 * util/grub.d/10_linux.in: Rename "single-user mode" to
36389 "recovery mode".
36390
6e8c9c3a 363912009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
36392
36393 Don't leak in SCSI code.
36394 * disk/scsi.c (grub_scsi_close): free `scsi'.
36395
4b6bf4f9 363962009-02-27 Robert Millan <rmh@aybabtu.com>
36397
36398 * loader/i386/pc/multiboot.c: Move from here ...
36399 * loader/i386/multiboot.c: ... to here. Update all users.
36400
b9413424 364012009-02-27 Robert Millan <rmh@aybabtu.com>
36402
36403 Patch from Alexandre Bique <bique.alexandre@gmail.com>
36404 * util/i386/pc/grub-setup.c (setup): Fix directory path.
36405
50fb7002 364062009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 36407
36408 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
36409 b-tree.
36410
8cc50345 364112009-02-27 Robert Millan <rmh@aybabtu.com>
36412
36413 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
36414 `0x' qualifier as 0 when base is specified as parameter).
36415
6e09b8b7 364162009-02-24 Bean <bean123ch@gmail.com>
36417
36418 * configure.ac: Check for -mcmodel=large in x86_64 target.
36419
36420 * include/grub/efi/api.h (efi_call_10): New macro.
36421 (efi_wrap_10): New function.
36422
36423 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
36424 (GRUB_PE32_REL_BASED_HIGH): Likewise.
36425 (GRUB_PE32_REL_BASED_LOW): Likewise.
36426 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
36427 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
36428 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
36429 (GRUB_PE32_REL_BASED_SECTION): Likewise.
36430 (GRUB_PE32_REL_BASED_REL): Likewise.
36431 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
36432 (GRUB_PE32_REL_BASED_DIR64): Likewise.
36433 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
36434
36435 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
36436 issue.
36437
36438 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
36439 (efi_wrap_10): New function.
36440
36441 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
36442
36443 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
36444 MB/MBP model (NV chipset).
36445 (devdata_devs): Add devpath_5 to the list.
36446
36447 * load/i386/efi/linux.c (video_base): Remove variable.
36448 (RGB_MASK): New macro.
36449 (RGB_MAGIC): Likewise.
36450 (LINE_MIN): Likewise.
36451 (LINE_MAX): Likewise.
36452 (FBTEST_STEP): Likewise.
36453 (FBTEST_COUNT): Likewise.
36454 (fb_list): New variable.
36455 (grub_find_video_card): Remove function.
36456 (find_framebuf): New function.
36457 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
36458 line length.
36459
36460 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
36461 problem for x86_64.
36462
74b21bee 364632009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
36464
36465 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
36466
36467 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
36468 coding tool name.
36469
a455f472 364702009-02-22 Robert Millan <rmh@aybabtu.com>
36471
36472 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
36473 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
36474 in our relocation, instead of using it directly from heap. Also
36475 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
36476
6374daf3 364772009-02-21 Robert Millan <rmh@aybabtu.com>
36478
36479 Implement USB keyboard support (based on patch by Marco Gerards)
36480
36481 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
36482 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
36483 (usb_keyboard_mod_LDFLAGS): New variables.
36484
36485 * term/usb_keyboard.c: New file.
36486
8fa4ea70 364872009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
36488
36489 Corrected wrong declaration
36490
36491 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
36492
353976ac 364932009-02-14 Christian Franke <franke@computer.org>
36494
36495 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
36496 (grub_lspci_iter): Print class code and programming interface byte.
36497
6aa1169b 364982009-02-14 Christian Franke <franke@computer.org>
36499
36500 * gendistlist.sh: Ignore `.svn' directories.
36501
265372ca 365022009-02-14 Felix Zielcke <fzielcke@z-51.de>
36503
36504 * fs/fat.c: Add 2009 to Copyright line.
36505
9ff516f3 365062009-02-14 Christian Franke <franke@computer.org>
36507
36508 * commands/hdparm.c: New file. Provides `hdparm' command
36509 which sends ATA commands via grub_disk_ata_pass_through ().
36510
36511 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
36512
36513 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
36514 and <grub/cpu/io.h> to include/grub/ata.h.
36515 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
36516 (GRUB_CDROM_SECTOR_SIZE): Remove.
36517 (GRUB_ATA_*): Move to include/grub/ata.h.
36518 (GRUB_ATAPI_*): Likewise.
36519 (enum grub_ata_commands): Likewise.
36520 (enum grub_ata_timeout_milliseconds): Likewise.
36521 (struct grub_ata_device): Likewise.
36522 (grub_ata_regset): Likewise.
36523 (grub_ata_regget): Likewise.
36524 (grub_ata_regset2): Likewise.
36525 (grub_ata_regget2): Likewise.
36526 (grub_ata_check_ready): Likewise.
36527 (grub_ata_wait_not_busy): Remove static, exported in
36528 include/grub/ata.h.
36529 (grub_ata_wait_drq): Likewise.
36530 (grub_ata_pio_read): Likewise.
36531
36532 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
36533 function for hdparm.mod.
36534
36535 * include/grub/ata.h: New file, contains declarations from
36536 disk/ata.c.
36537 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
36538
36539 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
36540 (grub_disk_ata_pass_through): New exported variable.
36541
36542 * kern/disk.c (grub_disk_ata_pass_through): New variable.
36543
772e23da 365442009-02-13 Colin D Bennett <colin@gibibit.com>
36545
36546 Support multiple fallback entries, and provide an API to support
36547 executing default+fallback menu entries. Renamed the `terminal' menu
36548 viewer to `text'.
36549
36550 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
36551 variable declaration.
36552 (grub_menu_execute_callback): New structure declaration.
36553 (grub_menu_execute_callback_t): New typedef.
36554 (grub_menu_execute_with_fallback): New function declaration.
36555 (grub_menu_get_entry): Likewise.
36556 (grub_menu_get_timeout): Likewise.
36557 (grub_menu_set_timeout): Likewise.
36558
36559 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
36560
36561 * normal/menu.c (grub_wait_after_message): Moved to
36562 `normal/menu_text.c'.
36563 (draw_border): Likewise.
36564 (print_message): Likewise.
36565 (print_entry): Likewise.
36566 (print_entries): Likewise.
36567 (grub_menu_init_page): Likewise.
36568 (get_entry_number): Likewise.
36569 (print_timeout): Likewise.
36570 (run_menu): Likewise.
36571 (grub_menu_execute_entry): Likewise.
36572 (show_text_menu): Likewise.
36573 (get_and_remove_first_entry_number): New function.
36574 (grub_menu_execute_with_fallback): Likewise.
36575 (get_entry): Renamed to ...
36576 (grub_menu_get_entry): .. this and made it global.
36577 (get_timeout): Renamed to ...
36578 (grub_menu_get_timeout): ... this and made it global.
36579 (set_timeout): Renamed to ...
36580 (grub_menu_set_timeout): ... this and made it global.
36581 (grub_normal_terminal_menu_viewer): Renamed to ...
36582 (grub_normal_text_menu_viewer): ... this.
36583
36584 * normal/menu_text.c: New file. Extracted text-menu-specific code
36585 from normal/menu.c.
36586
36587 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
36588 (normal_mod_SOURCES): Likewise.
36589
36590 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36591 (normal_mod_SOURCES): Likewise.
36592
36593 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36594 (normal_mod_SOURCES): Likewise.
36595
36596 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
36597 (normal_mod_SOURCES): Likewise.
36598
36599 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36600 (normal_mod_SOURCES): Likewise.
36601
36602 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36603 (normal_mod_SOURCES): Likewise.
36604
36605 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36606 (normal_mod_SOURCES): Likewise.
36607
16ac430e 366082009-02-11 Robert Millan <rmh@aybabtu.com>
36609
36610 * util/grub.d/00_header.in: Update old reference to `font' command.
36611
06ff20fc 366122009-02-10 Felix Zielcke <fzielcke@z-51.de>
36613
36614 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
36615
36616 Based on patch from Javier Martín.
36617
96da9407 366182009-02-09 Felix Zielcke <fzielcke@z-51.de>
36619
36620 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 36621 to avoid false positives with FAT.
96da9407 36622 (grub_fstest_SOURCES): Likewise.
36623 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36624 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36625 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36626 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36627 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36628 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36629
6dca6fe4 366302009-02-09 Felix Zielcke <fzielcke@z-51.de>
36631
06ff20fc 36632 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 36633 bpb.version_specific.fat12_or_fat16.fstype and
36634 bpb.version_specific.fat32.fstype.
36635
2550c62f 366362009-02-08 Robert Millan <rmh@aybabtu.com>
36637
be110b30 36638 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 36639
56978920 366402009-02-08 Robert Millan <rmh@aybabtu.com>
36641
36642 * Makefile.in (host_os, host_cpu): New variables.
36643 (target_os): Remove. Update all users.
36644
d64399b5 366452009-02-08 Marco Gerards <marco@gnu.org>
36646
36647 * Makefile.in (enable_grub_emu_usb): New variable.
36648 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
36649 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
36650 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
36651 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
36652 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
36653 `usbtest.mod' and `usbms.mod'.
36654 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
36655 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
36656 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
36657 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
36658 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
36659 variables.
36660
36661 * disk/usbms.c: New file.
36662
36663 * include/grub/usb.h: Likewise.
36664
36665 * include/grub/usbtrans.h: Likewise.
36666
36667 * include/grub/usbdesc.h: Likewise.
36668
36669 * bus/usb/usbtrans.c: Likewise.
36670
36671 * bus/usb/ohci.c: Likewise.
36672
36673 * bus/usb/uhci.c: Likewise.
36674
36675 * bus/usb/usbhub.c: Likewise.
36676
36677 * bus/usb/usb.c: Likewise.
36678
36679 * commands/usbtest.c: Likewise.
36680
36681 * util/usb.c: Likewise.
50fb7002 36682
d64399b5 36683 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
36684
36685 * configure.ac: Test for libusb presence.
50fb7002 36686
d64399b5 36687 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
36688
2b40d6bb 366892009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
36690
36691 * kern/mm.c: Add more comments.
36692
73a4ce81 366932009-02-08 Robert Millan <rmh@aybabtu.com>
36694
36695 Patch from Javier Martín.
36696 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
36697 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
36698
f821ce59 366992009-02-08 Robert Millan <rmh@aybabtu.com>
36700
36701 * fs/cpio.c: Split tar functionality to ...
36702 * fs/tar.c: ... here (new file). Update all users.
36703
aebfc4b0 367042009-02-07 Robert Millan <rmh@aybabtu.com>
36705
36706 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
36707 backward-incompatible features.
36708
36709 Based on patch from Javier Martín, with some adjustments.
36710
50fb7002 367112009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 36712
36713 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
36714
0bb5115e 367152009-02-07 Robert Millan <rmh@aybabtu.com>
36716
36717 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
36718 position of `disk/lvm.c' to ensure grub_init_all() always picks it
36719 after the RAID stuff.
36720
38a0f8e7 367212009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
36722
50fb7002 36723 Fixes problem when running vbetest command as reported by
38a0f8e7 36724 Vladimir Serbinenko <phcoder@gmail.com>.
36725
36726 * (grub_vbe_set_video_mode): Fixed problem with text modes.
36727
3143cc1c 367282009-02-04 Felix Zielcke <fzielcke@z-51.de>
36729
36730 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
36731 /dev/md/NpN style mdraid devices.
36732
9cba6fce 367332009-02-03 Felix Zielcke <fzielcke@z-51.de>
36734
36735 * util/unifont2pff.rb: Remove.
36736
e507a2c1 367372009-02-03 Felix Zielcke <fzielcke@z-51.de>
36738
36739 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
36740 `#'.
36741
d2c2b4cd 367422009-02-03 Felix Zielcke <fzielcke@z-51.de>
36743
36744 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
36745 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36746 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36747 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36748 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36749 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36750 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36751
b4315fb0 367522009-02-02 Christian Franke <franke@computer.org>
36753
36754 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
36755
de3aa260 367562009-02-01 Felix Zielcke <fzielcke@z-51.de>
36757
7c3ff286 36758 * INSTALL: Note that we now require at least autoconf 2.59 and
36759 that LZO is optional.
de3aa260 36760
825a182b 367612009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
36762
36763 Base on patch on bug #24154 created by Tomas Tintera
36764 <trosos@seznam.cz>.
36765
36766 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
36767
a69ef770 367682009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
36769
7c3ff286 36770 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 36771 <bero@arklinux.org>.
36772
36773 * normal/parser.y (script_init): Add missing semicolon.
36774
6fa42fa6 367752009-01-31 Colin D Bennett <colin@gibibit.com>
36776
7c3ff286 36777 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 36778 (free_menu_entry_classes): Added.
36779 (grub_normal_menu_addentry): Added class property handling.
36780 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
36781 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
36782
36783 * normal/menu_viewer.c: New file.
36784
36785 * normal/menu.c (run_menu_entry): Renamed to ...
36786 (grub_menu_execute_entry): ... this and made it as global.
36787 (grub_menu_run): Renamed to ...
36788 (show_text_menu): ... this and made it local.
36789 (show_text_menu): Adapt to new function names.
36790 (grub_normal_terminal_menu_viewer): New global variable.
36791
36792 * include/grub/menu.h: New file.
36793
36794 * include/grub/menu_viewer.h: New file.
36795
36796 * include/grub/normal.h: Added include to grub/menu.h.
36797 (grub_menu_entry): Moved to include/grub/menu.h.
36798 (grub_menu_entry_t): Likewise.
36799 (grub_menu): Likewise.
36800 (grub_menu_t): Likewise.
36801 (grub_normal_terminal_menu_viewer): Added.
36802 (grub_menu_execute_entry): Likewise.
36803 (grub_menu_run): Removed.
36804
36805 * DISTLIST: Added include/grub/menu.h.
36806 Added include/grub/menu_viewer.h.
36807 Added normal/menu_viewer.c.
36808
368092009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
36810
36811 * normal/execute.c (grub_script_execute_menuentry): Changed to use
36812 arglist for menutitle arguments.
36813
36814 * normal/main.c (grub_normal_menu_addentry): Likewise.
36815
36816 * normal/parser.y (menuentry): Likewise.
36817
36818 * normal/script.c (grub_script_create_cmdmenu): Likewise.
36819
36820 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
36821 (grub_script_create_cmdmenu): Likewise.
36822
36823 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
36824
36825 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
36826 changes.
36827
36828 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
36829
36830 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
36831
36832 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
36833
36834 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36835
36836 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36837
36838 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36839
56192c23 368402009-01-30 Christian Franke <franke@computer.org>
36841
36842 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
36843 in option help text.
36844
d72521b3 368452009-01-27 Pavel Roskin <proski@gnu.org>
36846
36847 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
36848
994b5e84 368492009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
36850
36851 * commands/lsmmap.c: Add include to grub/machine/memory.h.
36852
36853 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
36854
36855 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
36856 unregister function.
36857
6a7eab2c 368582009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
36859
36860 * disk/scsi.c (grub_scsi_read): Fix sign problem.
36861
36862 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
36863
36864 * util/grub-mkfont.c (usage): Fix typo.
36865
36866 * util/elf/grub-mkimage.c (load_modules): Fix warning.
36867
1806b56e 368682009-01-26 Daniel Mierswa <impulze@impulze.org>
36869
3fb18f09 36870 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
36871
336e1fb9 36872 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
36873
1806b56e 36874 * kern/misc.c (grub_strcasecmp): New function.
36875 (grub_strcasecmp): Use grub_size_t instead of int for length.
36876 Fix return value.
36877 * include/grub/misc.h: Update function prototypes.
36878
580b2a0f 368792009-01-26 Robert Millan <rmh@aybabtu.com>
36880
36881 * configure.ac: Fix cross-compilation check.
ef257b36 36882
d31c24f1 368832009-01-22 Christian Franke <franke@computer.org>
36884
36885 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
36886 (precision) digit string. Allow `.format2' without `format1' (width).
36887 Limit input chars for `%s' output to `format2' if specified. This is
36888 compatible with standard printf ().
36889
3138b44c 368902009-01-22 Christian Franke <franke@computer.org>
36891
36892 * disk/ata.c (grub_ata_wait_status): Replace by ...
36893 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
36894 other status bits may be invalid while BSY is asserted.
36895 (grub_ata_check_ready): New function.
36896 (grub_ata_cmd): Removed.
36897 (grub_ata_wait_drq): New function.
36898 (grub_ata_strncpy): Remove inline.
36899 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
36900 and error check now done by grub_ata_wait_drq ().
36901 (grub_ata_pio_write): Likewise.
36902 (grub_atapi_identify): Set DEV before check for !BSY. Use
36903 grub_ata_wait_drq () to wait for data.
36904 (grub_ata_device_initialize): Add status register check to
36905 detect missing SATA slave devices. Add debug messages.
36906 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
36907 (grub_atapi_packet): Set DEV before check for !BSY. Replace
36908 transfer loop by grub_ata_pio_write ().
36909 (grub_ata_identify): Set DEV before check for !BSY. Use
36910 grub_ata_wait_drq () to wait for data.
ef257b36 36911 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 36912 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
36913 read/write in one loop. Fix invalid command on write. Fix incomplete
36914 command on (size % batch) == 0. Add missing error check after write of
36915 last block. Add debug messages.
36916 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
36917
59a64ef6 369182009-01-19 Christian Franke <franke@computer.org>
36919
36920 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
36921 (GRUB_ATAPI_IREASON_*): Likewise.
36922 (grub_ata_pio_write): Fix timeout error return.
36923 (grub_atapi_identify): Add grub_ata_wait () after cmd.
36924 (grub_atapi_wait_drq): New function.
36925 (grub_atapi_packet): New parameter `size'.
36926 Use grub_atapi_wait_drq () and direct write instead of
36927 grub_ata_pio_write ().
36928 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
36929 reads the number of bytes requested by the device for each DRQ
36930 assertion.
36931 (grub_atapi_write): Remove old implementation, return not
36932 implemented instead.
36933
1cfe20b3 369342009-01-19 Christian Franke <franke@computer.org>
36935
36936 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
36937 of 512 to calculate data size.
36938 (grub_scsi_read12): Likewise.
36939 (grub_scsi_write10): Likewise.
36940 (grub_scsi_write12): Likewise.
36941 (grub_scsi_read): Adjust size according to blocksize.
36942 Add checks for invalid blocksize and unaligned transfer.
36943
bee5fe5d 369442009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
36945
36946 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
36947
ef257b36 36948 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 36949 width glyphs.
36950
3e643f8c 369512009-01-19 Robert Millan <rmh@aybabtu.com>
36952
36953 * config.guess: Update to latest version from config git.
36954 * config.sub: Likewise.
36955
4fa80998 369562009-01-17 Felix Zielcke <fzielcke@z-51.de>
36957
36958 * Makefile.in: Change font compilation to use new grub-mkfont instead
36959 of java version.
36960
36961 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
36962 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
36963 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
36964 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
36965 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
36966 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
36967 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
36968 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
36969 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
36970
7086085b 369712009-01-16 Christian Franke <franke@computer.org>
36972
36973 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
36974 (enum grub_ata_timeout_milliseconds): New enum.
36975 (grub_ata_wait_status): Add parameter milliseconds.
36976 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
36977 recovery from timed-out commands.
36978 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
36979 return grub_errno instead of REG_ERROR.
36980 (grub_ata_pio_write): Add parameter milliseconds.
36981 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
36982 Pass milliseconds to grub_ata_wait_status () and
36983 grub_ata_pio_read ().
36984 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
36985 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
36986 grub_ata_wait_status (). Fix IDENTIFY timeout check.
36987 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
36988 It is not suitable for device detection, because DEV bit is ignored,
36989 the command may run too long, and not all devices set the signature
36990 properly.
36991 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
36992 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
36993 Fix device selection, DEV bit must be set first to address the registers
36994 of the correct device.
36995 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
36996 grub_ata_pio_read/write ().
36997 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
36998 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
36999
4a412913 370002009-01-13 Carles Pina i Estany <carles@pina.cat>
37001
37002 * util/grub-editenv.c (main): Use fseeko(), not fseek().
37003
7795c55e 370042009-01-13 Bean <bean123ch@gmail.com>
d913988c 37005
37006 * util/grub-mkfont.c (write_font): forget to remove some debug code.
37007
7795c55e 370082009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 37009
37010 * Makefile.in: (enable_grub_mkfont): New variable.
37011 (freetype_cflags): Likewise.
37012 (freetype_libs): Likewise.
37013
37014 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
37015 (grub_mkfont_SOURCES): New variable.
37016 (grub_mkfont_CFLAGS): Likewise.
37017 (grub_mkfont_LDFLAGS): Likewise.
37018
37019 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
37020 library if `--enable-grub-mkfont' is requested.
37021 (enable_grub_mkfont): New variable.
37022 (freetype_cflags): Likewise.
37023 (freetype_libs): Likewise.
37024
37025 * util/grub-mkfont.c: New file.
37026
093af1fe 370272009-01-12 Christian Franke <franke@computer.org>
37028
37029 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
37030 mode check. Fix setting of compat_use[].
37031
f36cc108 370322009-01-10 Robert Millan <rmh@aybabtu.com>
37033
37034 Update a few copyright years which we forgot to do in 2008 (only for
37035 files whose changes made in 2008 were copyright-significant)
37036
37037 * Makefile.in: Add 2008 to Copyright line.
37038 * disk/ieee1275/ofdisk.c: Likewise.
37039 * disk/efi/efidisk.c: Likewise.
37040 * kern/dl.c: Likewise.
37041 * kern/sparc64/ieee1275/init.c: Likewise.
37042 * kern/mm.c: Likewise.
37043 * kern/efi/mm.c: Likewise.
37044 * boot/i386/pc/boot.S: Likewise.
37045 * genfslist.sh: Likewise.
37046 * fs/iso9660.c: Likewise.
37047 * fs/hfs.c: Likewise.
37048 * fs/jfs.c: Likewise.
37049 * fs/minix.c: Likewise.
37050 * fs/ufs.c: Likewise.
37051 * gensymlist.sh.in: Likewise.
37052 * genkernsyms.sh.in: Likewise.
37053 * include/grub/misc.h: Likewise.
37054 * include/grub/types.h: Likewise.
37055 * include/grub/symbol.h: Likewise.
37056 * include/grub/elf.h: Likewise.
37057 * include/grub/kernel.h: Likewise.
37058 * include/grub/disk.h: Likewise.
37059 * include/grub/dl.h: Likewise.
37060 * include/grub/i386/linux.h: Likewise.
37061 * include/grub/i386/pc/biosdisk.h: Likewise.
37062 * include/grub/efi/api.h: Likewise.
37063 * include/grub/efi/pe32.h: Likewise.
37064 * include/grub/util/misc.h: Likewise.
37065 * normal/execute.c: Likewise.
37066 * normal/arg.c: Likewise.
37067 * normal/completion.c: Likewise.
37068 * normal/lexer.c: Likewise.
37069 * normal/parser.y: Likewise.
37070 * normal/misc.c: Likewise.
37071 * commands/i386/pc/vbeinfo.c: Likewise.
37072 * commands/hexdump.c: Likewise.
37073 * commands/terminal.c: Likewise.
37074 * commands/ls.c: Likewise.
37075 * commands/help.c: Likewise.
37076 * partmap/pc.c: Likewise.
37077 * loader/efi/chainloader.c: Likewise.
37078 * loader/multiboot_loader.c: Likewise.
37079 * loader/i386/pc/multiboot2.c: Likewise.
37080 * term/efi/console.c: Likewise.
37081 * term/i386/pc/serial.c: Likewise.
37082 * util/lvm.c: Likewise.
37083 * util/console.c: Likewise.
37084 * util/i386/efi/grub-mkimage.c: Likewise.
37085 * util/raid.c: Likewise.
37086
7f02114b 370872009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
37088
37089 * commands/videotest.c: Removed include to grub/machine/memory.h.
37090
37091 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
37092 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
37093 (video_mod_SOURCES): Removed.
37094 (video_mod_CFLAGS): Likewise.
37095 (video_mod_LDFLAGS): Likewise.
37096 (gfxterm_mod_SOURCES): Likewise.
37097 (gfxterm_mod_CFLAGS): Likewise.
37098 (gfxterm_mod_LDFLAGS): Likewise.
37099 (videotest_mod_SOURCES): Likewise.
37100 (videotest_mod_CFLAGS): Likewise.
37101 (videotest_mod_LDFLAGS): Likewise.
37102 (bitmap_mod_SOURCES): Likewise.
37103 (bitmap_mod_CFLAGS): Likewise.
37104 (bitmap_mod_LDFLAGS): Likewise.
37105 (tga_mod_SOURCES): Likewise.
37106 (tga_mod_CFLAGS): Likewise.
37107 (tga_mod_LDFLAGS): Likewise.
37108 (jpeg_mod_SOURCES): Likewise.
37109 (jpeg_mod_CFLAGS): Likewise.
37110 (jpeg_mod_LDFLAGS): Likewise.
37111 (png_mod_SOURCES): Likewise.
37112 (png_mod_CFLAGS): Likewise.
37113 (png_mod_LDFLAGS): Likewise.
37114
37115 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
37116 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
37117 (video_mod_SOURCES): Added.
37118 (video_mod_CFLAGS): Likewise.
37119 (video_mod_LDFLAGS): Likewise.
37120 (videotest_mod_SOURCES): Likewise.
37121 (videotest_mod_CFLAGS): Likewise.
37122 (videotest_mod_LDFLAGS): Likewise.
37123 (bitmap_mod_SOURCES): Likewise.
37124 (bitmap_mod_CFLAGS): Likewise.
37125 (bitmap_mod_LDFLAGS): Likewise.
37126 (tga_mod_SOURCES): Likewise.
37127 (tga_mod_CFLAGS): Likewise.
37128 (tga_mod_LDFLAGS): Likewise.
37129 (jpeg_mod_SOURCES): Likewise.
37130 (jpeg_mod_CFLAGS): Likewise.
37131 (jpeg_mod_LDFLAGS): Likewise.
37132 (png_mod_SOURCES): Likewise.
37133 (png_mod_CFLAGS): Likewise.
37134 (png_mod_LDFLAGS): Likewise.
37135 (gfxterm_mod_SOURCES): Likewise.
37136 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 37137 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 37138
37139 * term/gfxterm.c: Removed include to grub/machine/memory.h,
37140 grub/machine/console.h.
37141
644fff97 371422009-01-04 Jerone Young <jerone@gmail.com>
37143
37144 Make on screen instructions clearer
37145
37146 Based on patch created by Jidanni <jidanni@jidanni.org>
37147
37148 * normal/menu.c: print clearer instructions on the screen
37149
1e901a75 371502009-01-02 Colin D Bennett <colin@gibibit.com>
37151
37152 New font engine.
34c44600 37153
1e901a75 37154 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
37155 build system and fixed gfxterm.c to work with different sized fonts.
37156
37157 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 37158
1e901a75 37159 * configure: Re-generated.
34c44600 37160
1e901a75 37161 * DISTLIST: Removed font/manager.c.
37162 Added font/font.c.
37163 Added font/font_cmd.c.
34c44600 37164
1e901a75 37165 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
37166 compilation.
34c44600 37167
1e901a75 37168 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 37169
37170 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 37171
37172 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 37173
1e901a75 37174 * normal/menu.c: Likewise.
34c44600 37175
1e901a75 37176 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
37177 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 37178
1e901a75 37179 * include/grub/font.h: Replaced with new file.
34c44600 37180
1e901a75 37181 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
37182 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
37183 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
37184 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
37185 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 37186 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 37187 fg_red, fg_green, fg_blue, fg_alpha.
37188 (grub_video_adapter): Removed blit_glyph.
34c44600 37189 (grub_video_blit_glyph): Removed.
37190
1e901a75 37191 * font/manager.c: Removed file.
34c44600 37192
37193 * font/font.c: New file.
37194
1e901a75 37195 * font/font_cmd.c: Likewise.
34c44600 37196
1e901a75 37197 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 37198
1e901a75 37199 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
37200 (grub_video_vbe_map_rgba): Likewise.
37201 (grub_video_vbe_unmap_color_int): Likewise.
37202 (grub_video_vbe_blit_glyph): Removed.
37203 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 37204
1e901a75 37205 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
37206 (get_pixel): Likewise.
34c44600 37207 (set_pixel): Likewise.
37208
1e901a75 37209 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 37210
1e901a75 37211 * term/gfxterm.c: Adapted to new font engine.
34c44600 37212
1e901a75 37213 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 37214
1e901a75 37215 * term/i386/pc/vga.c: Likewise.
34c44600 37216
1e901a75 37217 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 37218
1e901a75 37219 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 37220
1e901a75 37221 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 37222
1e901a75 37223 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 37224
1e901a75 37225 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 37226
1e901a75 37227 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 37228
1e901a75 37229 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 37230
1e901a75 37231 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 37232
1e901a75 37233 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
37234
37235 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 37236
1e901a75 37237 * util/grub-mkconfig_lib.in: Changed font extension.
37238
278922e8 372392008-12-28 Felix Zielcke <fzielcke@z-51.de>
37240
37241 * util/getroot.c (grub_util_get_grub_dev): Add support for
37242 /dev/md/dNNpNN style partitionable mdraid devices.
37243
3ced05cf 372442008-12-12 Alex Smith <alex@alex-smith.me.uk>
37245
37246 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
37247 at a time limit of the PXE TFTP API correctly.
37248 (grub_pxefs_close): Likewise.
37249
7fd0ee30 372502008-11-29 Robert Millan <rmh@aybabtu.com>
37251
34c44600 37252 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 37253 grub_ata_device_initialize() calls.
37254
34c44600 372552008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 37256
37257 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
37258 iteration failed.
37259 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
37260
89313780 372612008-11-28 Robert Millan <rmh@aybabtu.com>
37262
37263 Fix build on powerpc-ieee1275. Based on patch created by
37264 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
37265 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
37266 `kern/ieee1275/mmap.c'.
37267 * include/grub/powerpc/ieee1275/memory.h: New file.
37268
15257703 37269 Provide grub-install on coreboot.
37270 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
37271 (grub_install_SOURCES): New variable.
37272 * util/i386/pc/grub-install.in: Add a few condition checks to make it
37273 usable on coreboot.
37274
9fc5388a 372752008-11-25 Felix Zielcke <fzielcke@z-51.de>
37276
37277 * util/grub-fstest.c (grub_term_get_current_input): Change return type
37278 to `grub_term_input_t'.
37279 (grub_term_get_current_output): Change return type to
37280 `grub_term_output_t'.
37281
bc3a2f31 372822008-11-22 Robert Millan <rmh@aybabtu.com>
37283
34c44600 37284 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 37285 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
37286 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
37287 grub_vga_text_cls().
37288
80fc88f2 37289 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 37290 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 37291
cbf36fd3 37292 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
37293 to 0x200000 (avoids trouble with some OFW implementations, and matches
37294 with the one in Yaboot).
37295 Reported by Manoel Abranches
37296
73e8e268 372972008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 37298
37299 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
37300 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
37301
73e8e268 37302 * util/grub-mkconfig_lib.in (grub_warn): New function.
37303 (convert_system_path_to_grub_path): Use grub_warn() when issuing
37304 warnings, to obtain consistent formatting.
37305 * util/grub.d/00_header.in: Likewise.
37306 * util/update-grub_lib.in: Likewise.
37307
e94045a1 37308 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 37309 Move comment text to `#error' stanza.
e94045a1 37310
79d29fd7 37311 Harmonize ieee1275's grub_available_iterate() with the generic
37312 grub_machine_mmap_iterate() interface (fixes a recently-introduced
37313 build problem on i386-ieee1275):
37314 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
37315 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
37316 parameter `type'. Update all users of this function.
37317 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
37318 `kern/ieee1275/mmap.c'.
37319 * kern/ieee1275/init.c
37320 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
37321 with ...
37322 (grub_machine_mmap_iterate): ... this.
37323 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
37324 return type to `grub_err_t'. Update all implementations of this
37325 function prototype.
37326 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
37327 Likewise.
37328
60d6b16e 37329 Add `lsmmap' command (lists firmware-provided memory map):
37330 * commands/lsmmap.c: New file.
37331 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
37332 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
37333 variables.
37334 * conf/powerpc-ieee1275.rmk: Likewise.
37335 * conf/i386-coreboot.rmk: Likewise.
37336 * conf/i386-ieee1275.rmk: Likewise.
37337
ebaaf49b 373382008-11-19 Robert Millan <rmh@aybabtu.com>
37339
37340 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 37341 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
37342 constraints to initrd allocation (based on code from
37343 loader/i386/pc/linux.c). Without them, initrd was allocated too high
37344 for Linux to find it.
ebaaf49b 37345
dfab719f 373462008-11-14 Robert Millan <rmh@aybabtu.com>
37347
37348 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
37349 order to cope with duplicate slashes.
37350
10fc3eb9 373512008-11-14 Robert Millan <rmh@aybabtu.com>
37352
37353 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
37354 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
37355 don't want to mess with lower memory, because it is used in the Linux
37356 loader.
37357
37358 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 37359 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 37360 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
37361 is in our heap (probably as a result of it being corrupted during
2f2a3442 37362 decompression). Add #error instance with comment to explain why this
37363 loader isn't currently usable on PC/BIOS.
10fc3eb9 37364
e2e07847 373652008-11-14 Robert Millan <rmh@aybabtu.com>
37366
37367 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 37368 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 37369
fe8e8d69 373702008-11-12 Robert Millan <rmh@aybabtu.com>
37371
37372 Make loader/i386/linux.c buildable on i386-pc (although disabled).
37373
37374 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
37375 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
37376 from here ...
37377 * include/grub/i386/pc/memory.h: ... to here.
37378
976b07d0 373792008-11-12 Robert Millan <rmh@aybabtu.com>
37380
37381 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
37382 split).
37383
37384 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
37385 (grub_console_cur_color, grub_console_real_putchar)
37386 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
37387 (grub_console_setcolorstate, grub_console_setcolor)
37388 (grub_console_getcolor): Move from here ...
37389 * include/grub/i386/vga_common.h: ... to here (new file).
37390
37391 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
37392 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
37393 `<grub/i386/io.h>'.
37394 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
37395 `<grub/i386/vga_common.h>'.
37396
76679cd3 373972008-11-12 Robert Millan <rmh@aybabtu.com>
37398
37399 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
37400 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
37401 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
37402 variables.
37403 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
37404 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
37405
37406 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
37407 grub_console_init() with call to grub_vga_text_init().
37408 (grub_machine_fini): Replace call to
37409 grub_console_fini() with call to grub_vga_text_fini() and
37410 grub_at_keyboard_fini().
37411
37412 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
37413 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
37414 (grub_console_setcolorstate, grub_console_setcolor)
37415 (grub_console_getcolor): New function prototypes.
37416
37417 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
37418 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
37419 (grub_vga_text_setcursor): Static-ize.
37420 (grub_vga_text_term): New structure.
37421 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
37422
37423 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
37424 (grub_console_cur_color, grub_console_standard_color)
37425 (grub_console_normal_color, grub_console_highlight_color)
37426 (map_char, grub_console_putchar, grub_console_getcharwidth)
37427 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
37428 (grub_console_getcolor): Move from here ...
37429 * term/i386/vga_common.c: ... to here (same function names).
37430
95b841d3 374312008-11-12 Robert Millan <rmh@aybabtu.com>
37432
37433 Use newly-added Multiboot support in coreboot.
37434
37435 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
37436 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
37437
37438 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
37439 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
37440 (codestart): Store the MBI in `startup_multiboot_info' when we're
37441 being loaded using Multiboot.
37442
37443 * kern/i386/coreboot/init.c (grub_machine_init): Move
37444 grub_at_keyboard_init() call to beginning of function (useful for
37445 debugging). Call grub_machine_mmap_init() before attempting to use
37446 grub_machine_mmap_iterate().
37447 (grub_lower_mem, grub_upper_mem): Move from here ...
37448 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
37449 here (new file).
37450
37451 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
37452 function prototype.
37453
761ca975 374542008-11-12 Robert Millan <rmh@aybabtu.com>
37455
37456 Fix a regression introduced by the at_keyboard.mod split. Because
37457 some terminals are default on some platforms and non-default on
37458 others, the first terminal being registered determines which is
37459 going to be default.
37460
37461 * kern/term.c (grub_term_register_input): If this is the first
37462 terminal being registered, set it as the current one.
37463 (grub_term_register_output): Likewise.
37464
37465 * term/efi/console.c (grub_console_init): Do not call
37466 grub_term_set_current_output() or grub_term_set_current_input().
37467 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
37468 * term/i386/pc/console.c (grub_console_init): Likewise.
37469 (grub_console_fini): Do not call grub_term_set_current_input()
37470 (but leave grub_term_set_current_output() to restore text mode).
37471
6c529df7 374722008-11-10 Robert Millan <rmh@aybabtu.com>
37473
37474 * util/grub.d/00_header.in: Add backward compatibility check for
37475 versions of terminal.mod that don't understand `terminal_input' or
37476 `terminal_output'.
37477
132e4113 374782008-11-09 Robert Millan <rmh@aybabtu.com>
37479
37480 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
37481 `terminal_input' / `terminal_output', not `terminal'.
37482
ac293d50 374832008-11-08 Robert Millan <rmh@aybabtu.com>
37484
37485 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 37486 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 37487
0025933a 374882008-11-08 Robert Millan <rmh@aybabtu.com>
37489
37490 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 37491 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 37492 members. Update all users.
37493 * util/console.c (grub_ncurses_term): Split in ...
37494 (grub_ncurses_term_input): ... this, and ...
37495 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 37496 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 37497
37c86336 374982008-11-08 Robert Millan <rmh@aybabtu.com>
37499
37500 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
37501 (PKGDATA): Add $(pkgdata_SRCDIR).
37502 (pkglib_BUILDDIR): New variable.
37503 (pkgdata_SRCDIR): New variable.
37504 (build_env.mk): New target.
37505 (include_DATA): New variable.
37506 (install-local): Install $(include_DATA) files in $(includedir).
37507
b6c15a2d 375082008-11-07 Pavel Roskin <proski@gnu.org>
37509
d99d46f1 37510 * gendistlist.sh: Use C locale for sorting to ensure consistent
37511 output on all systems.
37512
b6c15a2d 37513 * util/grub.d/00_header.in: Remove incorrect space before
37514 "serial".
37515
c32ee8c9 375162008-11-07 Robert Millan <rmh@aybabtu.com>
37517
37518 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
37519 per specification.
37520 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
37521 * loader/multiboot_loader.c (find_multi_boot2_header): New function
37522 (based on find_multi_boot1_header).
37523 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
37524 using find_multi_boot2_header(), and abort if neither Multiboot or
37525 Multiboot headers were found.
37526
651c29b7 375272008-11-07 Robert Millan <rmh@aybabtu.com>
37528
37529 Modularize at_keyboard.mod:
37530
37531 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
37532 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
37533 (at_keyboard_mod_LDFLAGS): New variables.
37534
37535 Actual terminal split:
37536
37537 * include/grub/term.h (struct grub_term): Split in ...
37538 (struct grub_term_input): ... this, and ...
37539 (struct grub_term_output): ... this. Update all users.
37540 (grub_term_set_current): Split in ...
37541 (grub_term_set_current_input): ... this, and ...
37542 (grub_term_set_current_output): ... this.
37543 (grub_term_get_current): Split in ...
37544 (grub_term_get_current_input): ... this, and ...
37545 (grub_term_get_current_output): ... this.
37546 (grub_term_register): Split in ...
37547 (grub_term_register_input): ... this, and ...
37548 (grub_term_register_output): ... this.
37549 (grub_term_unregister): Split in ...
37550 (grub_term_unregister_input): ... this, and ...
37551 (grub_term_unregister_output): ... this.
37552 (grub_term_iterate): Split in ...
37553 (grub_term_iterate_input): ... this, and ...
37554 (grub_term_iterate_output): ... this.
37555
37556 * kern/term.c (grub_term_list): Split in ...
37557 (grub_term_list_input): ... this, and ...
37558 (grub_term_list_output): ... this. Update all users.
37559 (grub_cur_term): Split in ...
37560 (grub_cur_term_input): ... this, and ...
37561 (grub_cur_term_output): ... this. Update all users.
37562 (grub_term_set_current): Split in ...
37563 (grub_term_set_current_input): ... this, and ...
37564 (grub_term_set_current_output): ... this.
37565 (grub_term_get_current): Split in ...
37566 (grub_term_get_current_input): ... this, and ...
37567 (grub_term_get_current_output): ... this.
37568 (grub_term_register): Split in ...
37569 (grub_term_register_input): ... this, and ...
37570 (grub_term_register_output): ... this.
37571 (grub_term_unregister): Split in ...
37572 (grub_term_unregister_input): ... this, and ...
37573 (grub_term_unregister_output): ... this.
37574 (grub_term_iterate): Split in ...
37575 (grub_term_iterate_input): ... this, and ...
37576 (grub_term_iterate_output): ... this.
37577
37578 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
37579 a check for input and one for output (and only attempt to get keys
37580 from user when input works).
37581
37582 * util/grub-probe.c (grub_term_get_current): Split in ...
37583 (grub_term_get_current_input): ... this, and ...
37584 (grub_term_get_current_output): ... this.
37585 * util/grub-fstest.c: Likewise.
37586 * util/i386/pc/grub-setup.c: Likewise.
37587 * util/grub-editenv.c: Likewise.
37588
37589 Portability adjustments:
37590
37591 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
37592 `term/i386/pc/at_keyboard.c'.
37593 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
37594 grub_keyboard_controller_init() (now handled by terminal .init).
37595 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
37596 grub_at_keyboard_init().
37597 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
37598 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
37599 at_keyboard.mod via input terminal interface).
37600 * include/grub/i386/coreboot/console.h: Convert into a stub for
37601 `<grub/i386/pc/console.h>'.
37602
37603 Migrate full terminals to new API:
37604
37605 * term/efi/console.c (grub_console_term): Split into ...
37606 (grub_console_term_input): ... this, and ...
37607 (grub_console_term_output): ... this. Update all users.
37608 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
37609 (grub_ofconsole_init): Split into ...
37610 (grub_ofconsole_init_input): ... this, and ...
37611 (grub_ofconsole_init_output): ... this.
37612 (grub_ofconsole_term): Split into ...
37613 (grub_ofconsole_term_input): ... this, and ...
37614 (grub_ofconsole_term_output): ... this. Update all users.
37615 * term/i386/pc/serial.c (grub_serial_term): Split into ...
37616 (grub_serial_term_input): ... this, and ...
37617 (grub_serial_term_output): ... this. Update all users.
37618 * term/i386/pc/console.c (grub_console_term): Split into ...
37619 (grub_console_term_input): ... this, and ...
37620 (grub_console_term_output): ... this. Update all users.
37621 (grub_console_term_input): Only enable it on PC/BIOS platform.
37622 (grub_console_init): Remove grub_keyboard_controller_init() call.
37623
37624 Migrate input terminals to new API:
37625
37626 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
37627 `i386' and `i386/pc' to enable build on x86_64 (this driver is
37628 i386-specific anyway).
37629 (grub_console_checkkey): Rename to ...
37630 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
37631 users.
37632 (grub_keyboard_controller_orig): New variable.
37633 (grub_console_getkey): Rename to ...
37634 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
37635 users.
37636 (grub_keyboard_controller_init): Static-ize. Save original
37637 controller value so that it can be restored ...
37638 (grub_keyboard_controller_fini): ... here (new function).
37639 (grub_at_keyboard_term): New structure.
37640 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
37641 functions.
37642
37643 Migrate output terminals to new API:
37644
37645 * term/i386/pc/vga.c (grub_vga_term): Change type to
37646 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
37647 members. Update all users.
37648 * term/gfxterm.c (grub_video_term): Change type to
37649 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
37650 members. Update all users.
37651 * include/grub/i386/pc/console.h (grub_console_checkkey)
37652 (grub_console_getkey): Do not export (no longer needed by gfxterm,
37653 etc).
37654
37655 Migrate `terminal' command and userland tools to new API:
37656
37657 * commands/terminal.c (grub_cmd_terminal): Split into ...
37658 (grub_cmd_terminal_input): ... this, and ...
37659 (grub_cmd_terminal_output): ... this.
37660 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
37661 `terminal_input' and `terminal_output'.
37662 * util/grub.d/00_header.in: Adjust `terminal' calls to new
37663 `terminal_input' / `terminal_output' API.
37664 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
37665 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
37666 provided ${GRUB_TERMINAL}, convert it).
37667
96e5d876 376682008-11-04 Robert Millan <rmh@aybabtu.com>
37669
37670 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
37671 for FreeBSD.
37672 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
37673
556f3775 376742008-11-03 Bean <bean123ch@gmail.com>
37675
37676 * kern/elf.c (grub_elf32_load): Revert to previous code.
37677 (grub_elf64_load): Likewise.
37678
37679 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
37680
926b9823 376812008-11-01 Robert Millan <rmh@aybabtu.com>
37682
37683 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
37684 (TARGET_CPPFLAGS): Likewise.
37685 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
37686
1432e958 376872008-11-01 Carles Pina i Estany <carles@pina.cat>
37688
37689 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
37690
dba3f844 376912008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 37692
37693 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
37694 addition of objects until the code is not going to be able to fail.
37695
dba3f844 376962008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 37697
37698 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
37699 (add a missing NULL check, and correct them by moving the pointer
37700 operations after the actual check).
37701
7ab28c21 377022008-10-29 Robert Millan <rmh@aybabtu.com>
37703
37704 * util/i386/pc/grub-install.in: Handle empty string as output from
37705 make_system_path_relative_to_its_root().
37706
1b7748eb 377072008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
37708
37709 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
37710 circular metadata worst case scenario. If the metadata is circular
37711 then copy the wrap in place.
37712 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
37713 project lib/format_text/layout.h
37714 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
37715
c9618ab2 377162008-10-03 Felix Zielcke <fzielcke@z-51.de>
37717
7a36edca 37718 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 37719
bf981c62 377202008-10-03 Felix Zielcke <fzielcke@z-51.de>
37721
37722 * util/update-grub_lib.in: Mention filename in warning message.
37723
6d994591 377242008-09-29 Felix Zielcke <fzielcke@z-51.de>
37725
37726 * NEWS: Update for rename of update-grub to grub-mkconfig.
37727
18ade780 377282008-09-29 Felix Zielcke <fzielcke@z-51.de>
37729
37730 * util/update-grub_lib.in: Copy to ...
37731 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 37732 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 37733 * util/update-grub.in: Rename to ...
37734 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
37735 option. Add `--output' option to allow users to specify the generated
37736 configuration file. Default to stdout.
37737 (update_grub_dir): Rename to ...
37738 (grub_mkconfig_dir): ... this.
37739 (grub_cfg): Default to an empty string.
37740 * conf/common.rmk (update-grub): Rename to ...
37741 (grub-mkconfig): ... this.
37742 (update-grub_lib): Copy to ...
37743 (grub-mkconfig_lib): ... this.
37744 (update-grub_SCRIPTS): Copy to ...
37745 (grub-mkconfig_SCRIPTS): ... this. Update all users.
37746 (update-grub_DATA): Rename to ...
37747 (grub-mkconfig_DATA): ... this.
37748
556ce6ac 377492008-09-28 Robert Millan <rmh@aybabtu.com>
37750
37751 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
37752 to `modified'. Add the real `created' field.
37753 (grub_iso9660_uuid): Use `modified' rather than `created' for
37754 constructing the UUID.
37755
377562008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 37757
37758 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
37759 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
37760
92274e85 377612008-09-28 Bean <bean123ch@gmail.com>
37762
37763 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
37764 Thanks to Christian Franke for finding this bug.
37765
add6f17a 377662008-09-25 Robert Millan <rmh@aybabtu.com>
37767
37768 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
37769 instances of grub_util_get_disk_name() (see previous commit).
37770
d2a367b8 377712008-09-25 Robert Millan <rmh@aybabtu.com>
37772
37773 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
37774 `util/i386/get_disk_name.c'.
37775 * conf/i386-efi.rmk: Likewise.
37776 * conf/x86_64-efi.rmk: Likewise.
37777 * conf/i386-coreboot.rmk: Likewise.
37778 * conf/i386-ieee1275.rmk: Likewise.
37779 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
37780 `util/ieee1275/get_disk_name.c'.
37781 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
37782 * util/ieee1275/get_disk_name.c: Remove file.
37783 * util/i386/get_disk_name.c: Remove file.
37784 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
37785 "hd%d" for device.map entries, rather than using
37786 grub_util_get_disk_name().
37787
81a06771 377882008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 37789
37790 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
37791 warning.
37792 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
37793
5a004279 377942008-09-24 Carles Pina i Estany <carles@pina.cat>
37795
37796 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
37797 Changed to 0x5100.
37798 (GRUB_TERM_PPAGE): Changed to 0x4900.
37799
397093d3 378002008-09-24 Robert Millan <rmh@aybabtu.com>
37801
37802 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
37803 macros (they were i386-pc specific).
37804 * include/grub/sparc64/ieee1275/console.h: Likewise.
37805 * include/grub/efi/console.h: Likewise.
37806
a91b6c7c 378072008-09-22 Bean <bean123ch@gmail.com>
37808
37809 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
37810 resident and in attribute list.
37811
37812 * include/grub/ntfs.h (BMP_LEN): Removed.
37813
c40fd116 378142008-09-22 Bean <bean123ch@gmail.com>
37815
81a06771 37816 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 37817 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
37818
37819 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
37820 error occurs, as grub_disk_open will call grub_disk_close, which will
37821 call p->close (scsi).
37822
81a06771 378232008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 37824
37825 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
37826 (AC_PREREQ): Bumped to 2.59.
37827 (AC_TRY_COMPILE): Replace obsolete macro with ...
37828 (AC_COMPILE_IFELSE): ... this.
37829 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
37830 (AC_LINK_IFELSE): ... this.
37831
5dc43410 378322008-09-21 Felix Zielcke <fzielcke@z-51.de>
37833
37834 * autogen.sh: Add a call to `gendistlist.sh'.
37835
9035dce4 378362008-09-19 Christian Franke <franke@computer.org>
37837
37838 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
37839 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
37840 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
37841 Export __enable_execute_stack() to modules.
37842 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
37843 New function.
37844
7fd75377 378452008-09-09 Felix Zielcke <fzielcke@z-51.de>
37846
040030b3 37847 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
37848 Sort the list.
37849
378502008-09-09 Felix Zielcke <fzielcke@z-51.de>
37851
37852 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 37853 #include <grub/util/hostdisk.h>.
37854
89d5ffcf 378552008-09-08 Robert Millan <rmh@aybabtu.com>
37856
37857 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
37858 segments when their filesz is zero (grub_file_read() interprets
81a06771 37859 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 37860 Use `lowest_segment' rather than 0 for calculating the current
37861 segment load address.
37862
40da438f 378632008-09-08 Robert Millan <rmh@aybabtu.com>
37864
37865 * util/hostdisk.c (open_device): Replace a grub_util_info() call
37866 with grub_dprintf("hostdisk", ...), as it was so verbose that it
37867 clobbered useful information.
37868
ddbf5556 378692008-09-08 Robert Millan <rmh@aybabtu.com>
37870
37871 * include/grub/util/biosdisk.h: Move to ...
37872 * include/grub/util/hostdisk.h: ... here. Update all users.
37873 * util/biosdisk.c: Move to ...
37874 * util/hostdisk.c: ... here. Update all users.
37875
783d0f48 378762008-09-07 Robert Millan <rmh@aybabtu.com>
37877
37878 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
37879 variables.
37880 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
37881 and length can be stored directly in the `mbi->mmap_addr' and
37882 `mbi->mmap_length' struct fields.
37883
548e2ea5 378842008-09-07 Robert Millan <rmh@aybabtu.com>
37885
37886 * conf/i386.rmk: New file. Provides declaration for building
37887 `cpuid.mod'.
37888 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
37889 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
37890 variables.
37891 Include `conf/i386.mk'.
37892 * conf/i386-efi.rmk: Likewise.
37893 * conf/x86_64-efi.rmk: Likewise.
37894 * conf/i386-coreboot.rmk: Likewise.
37895 * conf/i386-ieee1275.rmk: Likewise.
37896
0ea85a37 378972008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
37898
37899 Based on patch created by Colin D Bennett <colin@gibibit.com>.
37900 Adds optimization support for BGR based modes.
37901
37902 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
37903 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
37904 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
37905 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
37906 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
37907 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
37908 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
37909 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
37910 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
37911 (grub_video_i386_vbeblit_index_index): Likewise.
37912 (grub_video_i386_vbeblit_replace_directN): Added.
37913 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
37914 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
37915 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
37916 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
37917 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
37918 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 37919 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 37920 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
37921 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
37922 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
37923 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
37924 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
37925 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
37926
37927 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
37928 (grub_video_i386_vbefill_R8G8B8): Likewise.
37929 (grub_video_i386_vbefill_index): Likewise.
37930 (grub_video_i386_vbefill_direct32): Added.
37931 (grub_video_i386_vbefill_direct24): Likewise.
37932 (grub_video_i386_vbefill_direct16): Likewise.
37933 (grub_video_i386_vbefill_direct8): Likewise.
37934
81a06771 37935 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 37936 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
37937 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
37938 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
37939 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
37940 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 37941
0ea85a37 37942 * video/video.c (grub_video_get_blit_format): Updated to use new
37943 blit formats. Added handling for 16 bit color modes.
81a06771 37944
37945 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 37946 fillers.
37947 (common_blitter): Updated to use new blitters.
37948
37949 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
37950 Removed.
37951 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
37952 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
37953 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
37954 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
37955 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
37956 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
37957 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
37958 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
37959 (grub_video_i386_vbeblit_index_index): Likewise.
37960 (grub_video_i386_vbeblit_replace_directN): Added.
37961 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
37962 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
37963 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
37964 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
37965 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
37966 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
37967 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
37968 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
37969 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
37970 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
37971 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
37972 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
37973 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 37974
0ea85a37 37975 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
37976 (grub_video_i386_vbefill_R8G8B8): Likewise.
37977 (grub_video_i386_vbefill_index): Likewise.
37978 (grub_video_i386_vbefill_direct32): Added.
37979 (grub_video_i386_vbefill_direct24): Likewise.
37980 (grub_video_i386_vbefill_direct16): Likewise.
37981 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 37982
0ea85a37 37983 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
37984 types.
81a06771 37985
0ea85a37 37986 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
37987 types.
81a06771 37988
0ea85a37 37989 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
37990 blitter types.
81a06771 37991
0ea85a37 37992 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
37993 types.
37994
e8a83df6 379952008-09-06 Felix Zielcke <fzielcke@z-51.de>
37996
37997 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
37998 RAID level 1.
37999
6bcd8ee5 380002008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 38001
6bcd8ee5 38002 * fs/iso9660.c (grub_iso9660_date): New structure.
38003 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
38004 (grub_iso9660_uuid): New function.
c375ae58 38005
59261157 380062008-09-05 Bean <bean123ch@gmail.com>
38007
38008 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
38009
38010 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
38011 insensitive bit for names in Win32 and Win32 & DOS namespace.
38012
38013 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
38014
38015 * include/grub/types.h (LONG_MAX): Likewise.
38016
58b6645a 380172008-09-04 Felix Zielcke <fzielcke@z-51.de>
38018
4ee55921 38019 * util/getroot.c: Include <config.h>.
38020 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
38021 add support for /dev/md/N devices and handle LVM double dash escaping.
38022
380232008-09-04 Felix Zielcke <fzielcke@z-51.de>
38024
38025 * config.guess: Update to latest version from config git.
38026 * config.sub: Likewise.
58b6645a 38027
9124f65d 380282008-09-03 Robert Millan <rmh@aybabtu.com>
38029
38030 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
38031 `disk->total_sectors'.
38032
81a06771 380332008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 38034
38035 * include/grub/normal.h: Fixed incorrect comment for
38036 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
38037
81a06771 380382008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 38039
38040 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
38041 values with defines.
38042
38043 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
38044 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
38045 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
38046 (GRUB_VBE_MODEATTR_COLOR): Likewise.
38047 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
38048 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
38049 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
38050 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
38051 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
38052 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
38053 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
38054 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
38055 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
38056 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
38057 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
38058 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
38059 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
38060 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
38061 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
38062
93d5cbf8 380632008-08-31 Robert Millan <rmh@aybabtu.com>
38064
38065 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
38066 declaration.
38067 (grub_multiboot): Fix a few warnings.
38068
21751d50 380692008-08-31 Robert Millan <rmh@aybabtu.com>
38070
38071 * loader/i386/pc/multiboot.c: Update comment not to say that
38072 boot_device support is unimplemented.
38073
e27a75c5 380742008-08-31 Robert Millan <rmh@aybabtu.com>
38075
38076 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
38077 or memory map support are unimplemented.
38078
81a06771 380792008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 38080
38081 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
38082
81a06771 380832008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 38084
38085 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
38086 total video memory in 'vbeinfo' output; show color format details for
38087 each video mode.
38088
7c5d8d95 380892008-08-30 Pavel Roskin <proski@gnu.org>
38090
38091 * util/genmoddep.c: Remove for real this time.
38092 * DISTLIST: Remove util/genmoddep.c.
38093
4cebd25a 380942008-08-30 Robert Millan <rmh@aybabtu.com>
38095
38096 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
38097 as required by Multiboot spec (it was already 4-byte aligned, but
38098 only by chance).
38099
b497a269 381002008-08-29 Pavel Roskin <proski@gnu.org>
38101
e3925185 38102 * kern/powerpc/ieee1275/crt0.S: Rename to ...
38103 * kern/powerpc/ieee1275/startup.S: ... this.
38104 * conf/powerpc-ieee1275.rmk: Adjust for the above.
38105 * DISTLIST: Likewise.
38106
b497a269 38107 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
38108 grub/cpu/kernel.h. Add start label for consistency with other
38109 platforms. Add grub_prefix immediately after start. Add jump
38110 to the code after grub_prefix.
38111 * include/grub/powerpc/kernel.h: Provide valid values for
38112 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
38113
6e5a42fe 381142008-08-29 Bean <bean123ch@gmail.com>
38115
38116 * configure.ac: Change host_os to cygwin for mingw.
38117 (asprintf): New check for function.
38118
38119 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
38120 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
38121
38122 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 38123 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 38124 sync, sleep and grub_util_get_disk_size for mingw.
38125
38126 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
38127 to get size in mingw.
38128 (open_device): Use flag O_BINARY if it's defined.
38129 (find_root_device): Add dummy code for mingw.
38130
38131 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
38132 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
38133 (get_scsi_disk_name): Return 0 for mingw.
38134
38135 * util/hostfs.c: #include <grub/util/misc.h>.
38136 (grub_hostfs_open): Use "rb" flag to open file, use
38137 grub_util_get_disk_size to get disk size for mingw.
38138
38139 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
38140 (asprintf): New function if HAVE_ASPRINTF is not set.
38141 (sync): New function for mingw.
38142 (sleep): Likewise.
38143 (grub_util_get_disk_size): Likewise.
38144
ab3f2673 381452008-08-28 Pavel Roskin <proski@gnu.org>
38146
38147 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38148 kern/time.c.
38149
1c282483 381502008-08-28 Robert Millan <rmh@aybabtu.com>
38151
38152 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
38153
678e849c 381542008-08-28 Robert Millan <rmh@aybabtu.com>
38155
38156 Change find_grub_drive() syntax so it doesn't prevent it from
38157 detecting NULL names as errors.
38158
38159 * util/biosdisk.c (find_grub_drive): Move free slot search code
38160 from here ...
38161 (find_free_slot): ... to here.
38162 (read_device_map): Use find_free_slot() to search for free slots.
38163
965c75ca 381642008-08-27 Marco Gerards <marco@gnu.org>
38165
38166 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
38167 (scsi_mod_SOURCES): New variable.
38168 (scsi_mod_CFLAGS): Likewise
38169 (scsi_mod_LDFLAGS): Likewise.
38170
38171 * disk/scsi.c: New file.
38172
38173 * include/grub/scsi.h: Likewise.
38174
38175 * include/grub/scsicmd.h: Likewise.
38176
38177 * disk/ata.c: Include <grub/scsi.h>.
38178 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
38179 instead.
38180 (grub_ata_iterate): Skip ATAPI devices.
38181 (grub_ata_open): Only handle ATAPI devices.
38182 (struct grub_atapi_read): Removed.
38183 (grub_atapi_readsector): Likewise.
38184 (grub_ata_read): No longer handle ATAPI devices.
38185 (grub_ata_write): Likewise.
38186 (grub_atapi_iterate): New function.
38187 (grub_atapi_read): Likewise.
38188 (grub_atapi_write): Likewise.
38189 (grub_atapi_open): Likewise.
38190 (grub_atapi_close): Likewise.
38191 (grub_atapi_dev): New variable.
38192 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
38193 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
38194
38195 * include/grub/disk.h (enum grub_disk_dev_id): Add
38196 `GRUB_DISK_DEVICE_SCSI_ID'.
38197
c07ae501 381982008-08-26 Robert Millan <rmh@aybabtu.com>
38199
38200 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
38201 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
38202 descriptive.
38203
5ed20adc 382042008-08-23 Bean <bean123ch@gmail.com>
38205
38206 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
38207 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
38208 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
38209 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
38210 dm_nv.mod.
38211 (raid5rec_mod_SOURCES): New macro.
38212 (raid5rec_mod_CFLAGS): Likewise.
38213 (raid5rec_mod_LDFLAGS): Likewise.
38214 (raid6rec_mod_SOURCES): Likewise.
38215 (raid6rec_mod_CFLAGS): Likewise.
38216 (raid6rec_mod_LDFLAGS): Likewise.
38217 (mdraid_mod_SOURCES): Likewise.
38218 (mdraid_mod_CFLAGS): Likewise.
38219 (mdraid_mod_LDFLAGS): Likewise.
38220 (dm_nv_mod_SOURCES): Likewise.
38221 (dm_nv_mod_CFLAGS): Likewise.
38222 (dm_nv_mod_LDFLAGS): Likewise.
38223
38224 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
38225 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
38226 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
38227
38228 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
38229 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
38230
38231 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38232
38233 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38234
38235 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38236
38237 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38238
38239 * disk/raid5_recover.c: New file.
38240
38241 * disk/raid6_recover.c: Likewise.
38242
38243 * disk/mdraid_linux.c: Likewise.
38244
38245 * disk/dmraid_nvidia.c: Likewise.
38246
38247 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
38248 ULONG_MAX.
38249
38250 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
38251 calculate the size of raid device.
38252 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
38253 different layout of raid5.
38254 (grub_raid_scan_device): Remove code specific to mdraid.
38255 (grub_raid_list): New variable.
38256 (free_array): New function.
38257 (grub_raid_register): Likewise.
38258 (grub_raid_unregister): Likewise.
38259 (grub_raid_rescan): Likewise.
38260 (GRUB_MOD_INIT): Don't iterate device here.
38261 (GRUB_MOD_FINI): Use free_array to release resource.
38262
38263 * include/grub/raid.h: Remove macro and structure specific to mdraid.
38264 (grub_raid5_recover_func_t): New function variable type.
38265 (grub_raid6_recover_func_t): Likewise.
38266 (grub_raid5_recover_func): New variable.
38267 (grub_raid6_recover_func): Likewise.
38268 (grub_raid_register): New function.
38269 (grub_raid_unregister): Likewise.
38270 (grub_raid_rescan): Likewise.
38271 (grub_raid_block_xor): Likewise.
38272
38273 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
38274 (CMD_CRC): New macro.
38275 (part): Removed.
38276 (read_file): Handle device as well as file.
38277 (cmd_crc): New function.
38278 (fstest): Handle multiple disks.
38279 (options): Remove part, raw and long, add root and diskcount.
38280 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 38281 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 38282 add handling for the new options, support multiple disks.
38283
38284 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
38285
29c18915 382862008-08-23 Bean <bean123ch@gmail.com>
38287
38288 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
38289
38290 * genfslist.sh: Ignore kernel.mod.
38291
38292 * genpartmaplist.sh: Likewise.
38293
8415f261 382942008-08-23 Robert Millan <rmh@aybabtu.com>
38295
38296 * util/getroot.c (find_root_device): Skip anything that starts with
38297 a dot, not just directories. This avoids things like /dev/.tmp.md0.
38298
d5a7dc5b 382992008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 38300
d5a7dc5b 38301 * util/update-grub.in (GRUB_GFXMODE): Export variable.
38302 * util/grub.d/00_header.in: Allow the administrator to change default
38303 gfxmode via ${GRUB_GFXMODE}.
38304
380cfbb4 383052008-08-21 Felix Zielcke <fzielcke@z-51.de>
38306
38307 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
38308
c9baafe7 383092008-08-21 Robert Millan <rmh@aybabtu.com>
38310
38311 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
38312 loader.
38313 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
38314 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
38315
e290bef2 383162008-08-20 Carles Pina i Estany <carles@pina.cat>
38317
38318 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
38319 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
38320
f9dbfc96 383212008-08-19 Robert Millan <rmh@aybabtu.com>
38322
38323 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
38324 (struct grub_virtual_screen): Remove `cursor_color'.
38325 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
38326 initialization.
38327 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
38328
dd6bd6ab 383292008-08-18 Robert Millan <rmh@aybabtu.com>
38330
38331 Unify (identical) linux_normal.c files.
38332 * loader/i386/efi/linux_normal.c: Move from here ...
38333 * loader/linux_normal.c: ... to here. Update all users.
38334 * loader/i386/pc/linux_normal.c: Delete. Update all users.
38335 * loader/i386/ieee1275/linux_normal.c: Likewise.
38336
7f42f83e 383372008-08-18 Robert Millan <rmh@aybabtu.com>
38338
38339 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
38340 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
38341 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
38342 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
38343 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
38344 New macros.
38345 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
38346 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
38347 (GRUB_LINUX_CL_END_OFFSET): ... to here.
38348 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
38349 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
38350 (GRUB_EFI_CL_END_OFFSET): Rename to ...
38351 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
38352 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
38353 Initialize `params->video_cursor_x' and `params->video_cursor_y'
38354 portably using grub_getxy().
38355 Replace `-EFI' with `-bzImage' in boot message.
38356
38487ddb 383572008-08-17 Robert Millan <rmh@aybabtu.com>
38358
38359 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
38360
deceb3ec 383612008-08-17 Robert Millan <rmh@aybabtu.com>
38362
38363 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
38364
38365 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
38366 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
38367 (grub_machine_mmap_iterate): New function declaration.
38368 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
38369 structure.
38370 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
38371 macros.
38372
38373 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
38374 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
38375 Move e820 parsing from here ...
38376 * kern/i386/pc/mmap.c: New file.
38377 (grub_machine_mmap_iterate): ... to here.
38378
38379 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
38380 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
38381 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
38382 (grub_available_iterate): Redeclare to return `void', and redeclare
38383 its hook to use grub_uint64_t as addr and size parameters, and rename
38384 to ...
38385 (grub_machine_mmap_iterate): ... this. Update all users.
38386
38387 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
38388 to make it more readable. Rename to ...
38389 (grub_machine_mmap_iterate): ... this.
38390
38391 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
38392 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
38393 (grub_multiboot): Allocate an extra region after the payload, and fill
38394 it with a Multiboot memory map. Adjust a.out loader to calculate size
38395 with the extra space.
38396 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
38397 with the extra space.
38398
f8aa0f43 383992008-08-17 Carles Pina i Estany <carles@pina.cat>
38400
9807deb9 38401 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 38402
605f5bb6 384032008-08-17 Felix Zielcke <fzielcke@z-51.de>
38404
38405 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
38406 mdate-sh to the list `find' searches for.
38407 * DISTLIST: Regenerated.
38408
210db6c6 384092008-08-16 Felix Zielcke <fzielcke@z-51.de>
38410
38411 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
38412 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 38413 genmoddep.awk, gensymlist.sh.in.
38414 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 38415 * DISTLIST: Regenerated.
48cdbfd4 38416 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 38417
1082b929 384182008-08-16 Robert Millan <rmh@aybabtu.com>
38419
38420 * disk/raid.c (grub_raid_init): Handle/report errors set by
38421 grub_device_iterate().
38422 * disk/lvm.c (grub_lvm_init): Likewise.
38423
42ce5170 384242008-08-15 Bean <bean123ch@gmail.com>
38425
38426 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38427 and datehook.mod.
38428 (datetime_mod_SOURCES): New macro.
38429 (datetime_mod_CFLAGS): Likewise.
38430 (datetime_mod_LDFLAGS): Likewise.
38431 (date_mod_SOURCES): Likewise.
38432 (date_mod_CFLAGS): Likewise.
38433 (date_mod_LDFLAGS): Likewise.
38434 (datehook_mod_SOURCES): Likewise.
38435 (datehook_mod_CFLAGS): Likewise.
38436 (datehook_mod_LDFLAGS): Likewise.
38437
38438 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38439 and datehook.mod.
38440 (datetime_mod_SOURCES): New macro.
38441 (datetime_mod_CFLAGS): Likewise.
38442 (datetime_mod_LDFLAGS): Likewise.
38443 (date_mod_SOURCES): Likewise.
38444 (date_mod_CFLAGS): Likewise.
38445 (date_mod_LDFLAGS): Likewise.
38446 (datehook_mod_SOURCES): Likewise.
38447 (datehook_mod_CFLAGS): Likewise.
38448 (datehook_mod_LDFLAGS): Likewise.
38449
38450 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38451 and datehook.mod.
38452 (datetime_mod_SOURCES): New macro.
38453 (datetime_mod_CFLAGS): Likewise.
38454 (datetime_mod_LDFLAGS): Likewise.
38455 (date_mod_SOURCES): Likewise.
38456 (date_mod_CFLAGS): Likewise.
38457 (date_mod_LDFLAGS): Likewise.
38458 (datehook_mod_SOURCES): Likewise.
38459 (datehook_mod_CFLAGS): Likewise.
38460 (datehook_mod_LDFLAGS): Likewise.
38461
38462 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38463 and datehook.mod.
38464 (datetime_mod_SOURCES): New macro.
38465 (datetime_mod_CFLAGS): Likewise.
38466 (datetime_mod_LDFLAGS): Likewise.
38467 (date_mod_SOURCES): Likewise.
38468 (date_mod_CFLAGS): Likewise.
38469 (date_mod_LDFLAGS): Likewise.
38470 (datehook_mod_SOURCES): Likewise.
38471 (datehook_mod_CFLAGS): Likewise.
38472 (datehook_mod_LDFLAGS): Likewise.
38473
38474 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38475 and datehook.mod.
38476 (datetime_mod_SOURCES): New macro.
38477 (datetime_mod_CFLAGS): Likewise.
38478 (datetime_mod_LDFLAGS): Likewise.
38479 (date_mod_SOURCES): Likewise.
38480 (date_mod_CFLAGS): Likewise.
38481 (date_mod_LDFLAGS): Likewise.
38482 (datehook_mod_SOURCES): Likewise.
38483 (datehook_mod_CFLAGS): Likewise.
38484 (datehook_mod_LDFLAGS): Likewise.
38485
38486 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
38487
38488 * commands/date.c: New file.
38489
38490 * hook/datehook.c: Likewise.
38491
38492 * include/grub/lib/datetime.h: Likewise.
38493
38494 * include/grub/i386/cmos.h: Likewise.
38495
38496 * lib/datetime.c: Likewise.
38497
38498 * lib/i386/datetime.c: Likewise.
38499
38500 * lib/efi/datetime.c: Likewise.
38501
0e9242da 385022008-08-14 Robert Millan <rmh@aybabtu.com>
38503
38504 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
38505 (grub_mkelfimage_SOURCES): New variable.
38506 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
38507
38508 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
38509 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
38510 * conf/powerpc-ieee1275.rmk: Likewise.
38511 * conf/i386-ieee1275.rmk: Likewise.
38512
38513 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
38514 * kern/i386/coreboot/init.c: Likewise.
38515
38516 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
38517 with `<grub/cpu/kernel.h>'.
38518 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
38519 to ...
38520 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
38521 * kern/i386/coreboot/startup.S: Likewise.
38522
38523 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
38524 (GRUB_MOD_GAP): Remove.
38525 * include/grub/powerpc/kernel.h: New file.
38526 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
38527 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
38528 * include/grub/i386/kernel.h: New file.
38529 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
38530 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
38531 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
38532
38533 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
38534 `grub-mkelfimage'.
38535 Use --directory when invoking grub_mkimage.
38536
38537 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
38538 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
38539 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
38540 and GRUB_KERNEL_CPU_PREFIX.
38541
b86408f8 385422008-08-14 Felix Zielcke <fzielcke@z-51.de>
38543
d5e619ca 38544 * include/grub/err.h (grub_err_printf): New function prototype.
38545 * util/misc.c (grub_err_printf): New function.
38546 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
38547 grub_printf.
38548 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 38549
7161f0e0 385502008-08-13 Robert Millan <rmh@aybabtu.com>
38551
38552 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
38553
a1967522 385542008-08-13 Robert Millan <rmh@aybabtu.com>
38555
38556 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
38557 boot entry.
38558
371458b5 385592008-08-12 Robert Millan <rmh@aybabtu.com>
38560
38561 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
38562 of the relocation code from here ...
38563 (grub_multiboot): ... to here.
38564 (forward_relocator, backward_relocator): Move from here ...
38565 * kern/i386/loader.S (grub_multiboot_forward_relocator)
38566 (grub_multiboot_backward_relocator): ... to here.
38567 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
38568 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
38569 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
38570 (grub_multiboot_forward_relocator_end)
38571 (grub_multiboot_backward_relocator)
38572 (grub_multiboot_backward_relocator_end): New variables.
38573
05f9452b 385742008-08-12 Bean <bean123ch@gmail.com>
38575
38576 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
38577
20024ab0 385782008-08-11 Robert Millan <rmh@aybabtu.com>
38579
38580 * kern/i386/linuxbios/startup.S: Move from here ...
38581 * kern/i386/coreboot/startup.S: ... to here.
38582
38583 * kern/i386/linuxbios/init.c: Move from here ...
38584 * kern/i386/coreboot/init.c: ... to here.
38585
38586 * kern/i386/linuxbios/table.c: Move from here ...
38587 * kern/i386/coreboot/mmap.c: ... to here.
38588
38589 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
38590
e352e9cd 385912008-08-11 Robert Millan <rmh@aybabtu.com>
38592
38593 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
38594 errors. Leave it to the upper layer to handle them.
38595
2d05bc6a 385962008-08-09 Christian Franke <franke@computer.org>
38597
38598 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
38599 * conf/common.rmk: Install `grub-pe2elf' only if requested.
38600 Install `grub.d/10_windows' only on Cygwin.
38601 * configure.ac: Add subst of `target_os'.
38602 Check `target_os' also before setting TARGET_OBJ2ELF.
38603 Add `--enable-grub-pe2elf'.
38604
042bd419 386052008-08-08 Robert Millan <rmh@aybabtu.com>
38606
38607 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
38608 (grub_last_time): Change type to grub_uint64_t.
38609 (grub_disk_open): Migrate code from to using grub_get_time_ms().
38610 (grub_disk_close): Likewise.
38611
38612 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
38613 (run_menu): Migrate code from to using grub_get_time_ms().
38614
38615 * util/misc.c (grub_get_time_ms): New function.
38616
7f280db5 386172008-08-08 Marco Gerards <marco@gnu.org>
38618
38619 * disk/ata.c (grub_ata_regget): Change return type to
38620 `grub_uint8_t'.
38621 (grub_ata_regget2): Likewise.
38622 (grub_ata_wait_status): New function.
38623 (grub_ata_wait_busy): Removed function, updated all users to use
38624 `grub_ata_wait_status'.
38625 (grub_ata_wait_drq): Likewise.
38626 (grub_ata_cmd): New function.
38627 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
38628 error handling.
38629 (grub_ata_pio_write): Add error handling.
38630 (grub_atapi_identify): Likewise.
38631 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
38632 handling.
38633 (grub_ata_identify): Use `grub_ata_cmd' and improve error
38634 handling. Actually use the detected registers. Reorder the
38635 detection logic such that it is easier to read.
38636 (grub_ata_pciinit): Do not assign the same ID to each controller.
38637 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
38638 handling.
38639 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
38640
38641 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
38642
1fbc5e66 386432008-08-08 Marco Gerards <marco@gnu.org>
38644
38645 * NEWS: Update.
38646
819ce6c0 386472008-08-07 Bean <bean123ch@gmail.com>
38648
38649 * include/grub/x86_64/pci.h: New file.
38650
5c41d44d 386512008-08-07 Christian Franke <franke@computer.org>
38652
38653 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
38654 (TIMER2_GATE): Likewise.
38655 (grub_pit_wait): Add enable/disable of the timer2 gate
38656 bit of port 0x61. This fixes a possible infinite loop.
38657
5ebc275d 386582008-08-07 Bean <bean123ch@gmail.com>
38659
38660 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
38661 kern/i386/tsc.c and kern/i386/pit.c.
38662
38663 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
38664 x86_64 platform.
38665
38666 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
38667 <grub/i386/tsc.h>.
38668
38669 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
38670
e383b3d0 386712008-08-07 Bean <bean123ch@gmail.com>
38672
38673 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
38674
38675 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
38676
38677 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
38678 multiple inclusion. Add #include <grub/types.h>.
38679
1cbb58ac 386802008-08-06 Christian Franke <franke@computer.org>
38681
38682 * conf/common.rmk: Build and install `10_windows'.
38683 * util/grub.d/10_windows.in: New script.
38684
337f5a1e 386852008-08-06 Pavel Roskin <proski@gnu.org>
38686
38687 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
38688
057bc4ac 386892008-08-06 Robert Millan <rmh@aybabtu.com>
38690
38691 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
38692 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
38693
2b99f123 386942008-08-06 Bean <bean123ch@gmail.com>
38695
38696 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
38697 (grub_pxefs_fs_int): Remove dummy definition.
38698 (grub_pxefs_open): Use data->block_size to store the current block
38699 size setting.
38700 (grub_pxefs_read): Use block size stored in data->block_size. As the
38701 value of grub_pxe_blksize can be changed after the file is opened.
38702
9f0234cb 387032008-08-06 Bean <bean123ch@gmail.com>
38704
38705 * fs/i386/pc/pxe.c (curr_file): new variable.
38706 (grub_pxefs_open): Simply the handling of pxe file system. Don't
38707 require the dummy internal file system anymore.
38708 (grub_pxefs_read): Removed.
38709 (grub_pxefs_close): Likewise.
38710 (grub_pxefs_fs_int): Likewise.
38711 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
38712 connection when we switch file.
38713 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
38714
a55d42e0 387152008-08-06 Robert Millan <rmh@aybabtu.com>
38716
38717 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
38718 `halt.mod'.
38719 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
38720 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
38721
38722 * kern/i386/halt.c: New file.
38723 * kern/i386/reboot.c: Likewise.
38724 * include/grub/i386/reboot.h: Likewise.
38725 * include/grub/i386/halt.h: Likewise.
38726
38727 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
38728 Include `<grub/cpu/halt.h>'.
38729 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
38730 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
38731
38732 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
38733 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
38734 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
38735 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
38736 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
38737 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
38738 from here ...
38739 * include/grub/i386/at_keyboard.h: ... to here.
38740
24371d26 387412008-08-05 Robert Millan <rmh@aybabtu.com>
38742
38743 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
38744 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
38745 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
38746 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
38747 `kern/generic/millisleep.c'.
38748
38749 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
38750 instead of grub_get_rtc().
38751 (grub_tsc_init): Initialize `tsc_boot_time'.
38752
38753 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
38754 (grub_machine_init): Use grub_tsc_init() rather than
38755 installing an RTC-based handler via grub_install_get_time_ms().
38756
38757 * kern/i386/pit.c: New file.
38758 * include/grub/i386/pit.h: Likewise.
38759
9e7007b3 387602008-08-05 Bean <bean123ch@gmail.com>
38761
38762 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
38763
38764 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
38765 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
38766 (pxe_mod_SOURCES): New macro.
38767 (pxe_mod_CFLAGS): Likewise.
38768 (pxe_mod_LDFLAGS): Likewise.
38769 (pxecmd_mod_SOURCES): Likewise.
38770 (pxecmd_mod_CFLAGS): Likewise.
38771 (pxecmd_mod_LDFLAGS): Likewise.
38772
38773 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
38774 (grub_pxe_call): Likewise.
38775
38776 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
38777
38778 * commands/i386/pc/pxecmd.c: New file.
38779
9f0234cb 38780 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 38781
38782 * include/grub/i386/pc/pxe.h: Likewise.
38783
6977d49f 387842008-08-05 Bean <bean123ch@gmail.com>
38785
38786 * util/console.c (grub_console_cur_color): New variable.
38787 (grub_console_standard_color): Likewise.
38788 (grub_console_normal_color): Likewise.
38789 (grub_console_highlight_color): Likewise.
38790 (color_map): Likewise.
38791 (use_color): Likewise.
38792 (NUM_COLORS): New macro.
38793 (grub_ncurses_setcolorstate): Handle color properly.
38794 (grub_ncurses_setcolor): Don't change color here, just remember the
38795 settings, color will be set in grub_ncurses_setcolorstate.
38796 (grub_ncurses_getcolor): New function.
38797 (grub_ncurses_init): Initialize color pairs.
38798 (grub_ncurses_term): New member grub_ncurses_getcolor.
38799
9c2ff3ee 388002008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 38801
9c2ff3ee 38802 High resolution timer support. Implemented for x86 CPUs using TSC.
38803 Extracted generic grub_millisleep() so it's linked in only as needed.
38804 This requires a Pentium compatible CPU; if the RDTSC instruction is
38805 not supported, then it falls back on the generic grub_get_time_ms()
38806 implementation that uses the machine's RTC.
38807
38808 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
38809 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
38810 `kern/generic/millisleep.c'.
38811
38812 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
38813 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
38814
38815 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
38816 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
38817
38818 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
38819
38820 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38821 `kern/generic/millisleep.c'.
38822
38823 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
38824
38825 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
38826
38827 * kern/generic/rtc_get_time_ms.c: New file.
38828
38829 * kern/generic/millisleep.c: New file.
337f5a1e 38830
9c2ff3ee 38831 * kern/misc.c: Don't include
38832 <kern/time.h> anymore.
38833 (grub_millisleep_generic): Removed.
38834
38835 * commands/sleep.c (grub_interruptible_millisleep): Uses
38836 grub_get_time_ms() instead of grub_get_rtc().
38837
38838 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
38839 function.
38840 (grub_cpu_is_cpuid_supported): New inline function.
38841 (grub_cpu_is_tsc_supported): New inline function.
38842 (grub_tsc_init): New function prototype.
38843 (grub_tsc_get_time_ms): New function prototype.
38844
38845 * kern/i386/tsc.c (grub_get_time_ms): New file.
38846
38847 * include/grub/time.h: Include <grub/types.h.
38848 (grub_millisleep_generic): Removed.
38849 (grub_get_time_ms): New prototype.
38850 (grub_install_get_time_ms): New prototype.
38851 (grub_rtc_get_time_ms): New prototype.
38852
38853 * kern/time.c (grub_get_time_ms): New function.
38854 (grub_install_get_time_ms): New function.
38855
38856 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
38857 <grub/time.h> anymore.
38858 (grub_millisleep): Removed.
38859 (grub_machine_init): Call grub_tsc_init.
38860
38861 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
38862 get_time_ms() implementation.
38863
38864 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
38865 (ieee1275_get_time_ms): New function.
38866 (grub_machine_init): Install get_time_ms() implementation.
38867
38868 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
38869 (grub_machine_init): Call grub_tsc_init().
38870 (grub_millisleep): Removed.
bf06a93f 38871
9c2ff3ee 38872 * kern/ieee1275/init.c (grub_millisleep): Removed.
38873 (grub_machine_init): Install ieee1275_get_time_ms()
38874 implementation.
38875 (ieee1275_get_time_ms): New function.
38876 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
38877 real work.
38878
9ec92aaf 388792008-08-05 Marco Gerards <marco@gnu.org>
38880
38881 * disk/ata.c: Include <grub/pci.h>.
38882 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
38883 (grub_ata_initialize): Rewritten.
38884 (grub_ata_device_initialize): New function.
38885
8d23f507 388862008-08-04 Pavel Roskin <proski@gnu.org>
38887
38888 * kern/main.c: Include grub/mm.h.
38889
5e15ee3d 388902008-08-04 Robert Millan <rmh@aybabtu.com>
38891
38892 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
38893 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
38894 corruption problem).
38895
a9053f8f 388962008-08-04 Robert Millan <rmh@aybabtu.com>
38897
38898 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
38899 warnings introduced in my last commit.
38900
dd19c7d7 389012008-08-03 Robert Millan <rmh@aybabtu.com>
38902
38903 Make PCI available on all i386 architectures.
38904
38905 * include/grub/i386/pc/pci.h: Move from here ...
38906 * include/grub/i386/pci.h: ... to here.
38907
38908 * include/grub/i386/pc/pci.h: Remove.
38909 * include/grub/i386/efi/pci.h: Remove.
38910 * include/grub/x86_64/efi/pci.h: Remove.
38911
38912 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
38913 `<grub/cpu/pci.h>'.
38914
38915 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
38916 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
38917 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
38918
38919 * conf/i386-ieee1275.rmk: Likewise.
38920
e14a6184 389212008-08-03 Robert Millan <rmh@aybabtu.com>
38922
38923 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
38924 (grub_console_setcursor): Make it possible to set cursor off.
38925
52768e37 389262008-08-03 Robert Millan <rmh@aybabtu.com>
38927
38928 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
38929 of modules instead of assuming which platform provides what.
38930 * util/update-grub.in: Likewise.
38931
2d52f57f 389322008-08-03 Robert Millan <rmh@aybabtu.com>
38933
38934 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
38935 instead of `grub_install_dos_part' to determine whether a drive needs
38936 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 38937 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 38938
2a5cd121 389392008-08-02 Robert Millan <rmh@aybabtu.com>
38940
38941 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
38942
93808428 389432008-08-02 Robert Millan <rmh@aybabtu.com>
38944
38945 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
38946 of informational grub_dprintf() calls.
38947
3bd0a12a 389482008-08-02 Robert Millan <rmh@aybabtu.com>
38949
38950 * disk/memdisk.c (memdisk_size): Don't initialize.
38951 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
38952
38953 * include/grub/i386/pc/kernel.h
38954 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
38955 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
38956 (grub_memdisk_image_size, grub_arch_memdisk_addr)
38957 (grub_arch_memdisk_size): Remove.
38958
38959 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
38960 field (was only used to transfer a constant). Add `type' field to
38961 support multiple module types.
38962 (grub_module_iterate): New function.
38963
38964 * kern/device.c (grub_device_open): Do not hide error messages
38965 when grub_disk_open() fails. Use grub_print_error() instead.
38966
38967 * kern/i386/pc/init.c (grub_arch_modules_addr)
38968 (grub_arch_memdisk_size): Remove functions.
38969 (grub_arch_modules_addr): Return the module address in high memory
38970 (now that it isn't copied anymore).
38971
38972 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
38973 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
38974 decompression routine (grub_total_module_size already includes that
38975 now). Don't copy modules back to low memory.
38976
38977 * kern/main.c: Include `<grub/mm.h>'.
38978 (grub_load_modules): Split out (and use) ...
38979 (grub_module_iterate): ... this function, which iterates through
38980 module objects and runs a hook.
38981 Comment out grub_mm_init_region() call, as it would cause non-ELF
38982 modules to be overwritten.
38983
38984 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
38985 the memdisk image in its own region, make it part of the module list.
38986 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
38987 (main): Parse --memdisk|-m option, and pass user-provided path as
38988 parameter to generate_image().
38989 (add_segments): Pass `memdisk_path' down to load_modules().
38990 (load_modules): Embed memdisk image in module section when requested.
38991 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
38992 `header.type' instead of `header.offset'.
38993
38994 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
38995 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
38996 (memdisk_mod_LDFLAGS): New variables.
38997 * conf/i386-coreboot.rmk: Likewise.
38998 * conf/i386-ieee1275.rmk: Likewise.
38999
a927cc73 390002008-08-02 Robert Millan <rmh@aybabtu.com>
39001
39002 * loader/i386/pc/multiboot.c (playground, forward_relocator)
39003 (backward_relocator): New variables. Used to allocate and relocate
39004 the payload, respectively.
39005 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 39006 address, install the appropriate relocator code in each bound of
a927cc73 39007 the payload, and set the entry point such that
39008 grub_multiboot_real_boot() will jump to one of them.
39009
39010 * kern/i386/loader.S (grub_multiboot_payload_size)
39011 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
39012 (grub_multiboot_payload_entry_offset): New variables.
39013 (grub_multiboot_real_boot): Set cpu context to what the relocator
39014 expects, and jump to the relocator instead of the payload.
39015
39016 * include/grub/i386/loader.h (grub_multiboot_payload_size)
39017 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
39018 (grub_multiboot_payload_entry_offset): Export.
39019
b15d8a0c 390202008-08-01 Bean <bean123ch@gmail.com>
39021
39022 * normal/menu_entry.c (editor_getline): Don't return the original
39023 string as result, as it will be released by lexer once it has done
39024 using it.
39025
cdfb3d22 390262008-08-01 Robert Millan <rmh@aybabtu.com>
39027
39028 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
39029 within menuentries, not before them.
39030 util/grub.d/10_hurd.in: Likewise.
39031
9175e93d 390322008-08-01 Bean <bean123ch@gmail.com>
39033
39034 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
39035 (bufio_mod_SOURCES): New macro.
39036 (bufio_mod_CFLAGS): Likewise.
39037 (bufio_mod_LDFLAGS): Likewise.
39038
39039 * include/grub/bufio.h: New file.
39040
39041 * io/bufio.c: Likewise.
39042
39043 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
39044 (grub_video_reader_png): Use grub_buffile_open to open file.
39045
39046 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
39047 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
39048
39049 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
39050 (grub_video_reader_tga): Use grub_buffile_open to open file.
39051
39052 * font/manager.c: Include <grub/bufio.h>.
39053 (add_font): Use grub_buffile_open to open file.
39054
3d8383e7 390552008-07-31 Robert Millan <rmh@aybabtu.com>
39056
39057 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
39058 ELF segments, use a macro for arbitrarily accessing any of them instead
39059 of preparing a pointer that allows access to one at a time.
39060 (grub_multiboot_load_elf64): Likewise.
39061
16e641b6 390622008-07-31 Bean <bean123ch@gmail.com>
39063
39064 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
39065 GRUB_KERNEL_MACHINE_DATA_END.
39066
59198b72 390672008-07-30 Robert Millan <rmh@aybabtu.com>
39068
39069 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
39070 Increase from 0x50 to 0x60.
39071 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
39072 use UUIDs to identify the root drive for them. If that's not
39073 possible, abort.
39074 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
39075 check, for cross-disk installs.
39076
ae88bca3 390772008-07-30 Robert Millan <rmh@aybabtu.com>
39078
39079 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
39080 is non-empty, use it to set the `prefix' environment variable instead
39081 of the usual approach.
39082 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
39083 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
39084 environment variable instead of dummy make_install_device().
39085
39086 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
39087 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 39088 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 39089
39090 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
39091 New variable reference.
39092 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
39093 New macro. Defines offset of `grub_prefix' within startup.S (relative
39094 to `start').
39095 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
39096 section within startup.S (relative to `start').
39097 * include/grub/i386/coreboot/kernel.h: Likewise.
39098
39099 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
39100 Overwrite grub_prefix with its contents, at the beginning of the
39101 first segment.
39102 (main): Understand -p|--prefix.
39103
14f41dd1 391042008-07-30 Robert Millan <rmh@aybabtu.com>
39105
39106 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
39107
4ca049a3 391082008-07-30 Robert Millan <rmh@aybabtu.com>
39109
39110 * term/i386/pc/vga_text.c (grub_console_cls): Use
39111 grub_console_gotoxy() to go back to beginning of the screen.
39112 Found by Patrick Georgi <patrick.georgi@coresystems.de>
39113
2921d337 391142008-07-29 Christian Franke <franke@computer.org>
39115
39116 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
39117 Add conversion of emulated mount points on Cygwin.
39118
b609876d 391192008-07-29 Christian Franke <franke@computer.org>
39120
39121 * util/update-grub.in: Add a check for admin
39122 group on Cygwin.
39123 Remove old `grub.cfg.new' before creation.
39124 Add `-f' to `mv' to handle the different filesystem
39125 semantics of Windows.
39126
e93e4679 391272008-07-29 Bean <bean123ch@gmail.com>
39128
39129 * normal/main.c (get_line): Fix buffer overflow bug.
39130
41694fd0 391312008-07-28 Robert Millan <rmh@aybabtu.com>
39132
39133 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
39134 (struct grub_apple_header): New struct. Describes the layout of
39135 the partmap header.
39136 (apple_partition_map_iterate): Check the header magic as well as the
39137 partition magic (which was already being checked).
39138
cfd0b4e6 391392008-07-28 Pavel Roskin <proski@gnu.org>
39140
39141 * genmk.rb: Add a warning to the beginning of the output that
39142 it's a generated file and should not be edited.
39143
93cce016 391442008-07-28 Robert Millan <rmh@aybabtu.com>
39145
39146 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
39147 with the same number are found, just use issue a warning with
39148 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 39149
cd1df915 391502008-07-27 Robert Millan <rmh@aybabtu.com>
39151
39152 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
39153 information.
39154
b70a8427 391552008-07-27 Bean <bean123ch@gmail.com>
39156
39157 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
39158 (grub_fat_find_dir): Ignore case when comparing filename.
39159
8f5e379f 391602008-07-27 Bean <bean123ch@gmail.com>
39161
39162 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
39163 smallino, as it's more descriptive, and i8count can be confused with
39164 the other field count.
39165 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
39166 inode type.
39167
a85cd5a0 391682008-07-27 Bean <bean123ch@gmail.com>
39169
39170 * commands/crc.c: New file.
39171
39172 * lib/crc.c: Likewise.
39173
39174 * include/grub/lib/crc.h: Likewise.
39175
39176 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
39177
39178 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
39179 (hexdump): Move this function to ...
39180
39181 * lib/hexdump.c: ... here.
39182
39183 * include/grub/hexdump.h: Renamed to ...
39184
39185 * include/grub/lib/hexdump.h: ... this.
39186
39187 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
39188
39189 * util/grub-editenv.c: Likewise.
39190
39191 * include/envblk.h: Renamed to ...
39192
39193 * include/lib/envblk.h: ... this.
39194
39195 * util/envblk.c: Renamed to ...
39196
39197 * lib/envblk.c: ... this.
39198
39199 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
39200 lib/hexdump.c.
39201 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
39202 (pkglib_MODULES): Add crc.mod.
39203 (hexdump_mod_SOURCES): Add lib/hexdump.c.
39204 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
39205 (crc_mod_SOURCES): New macro.
39206 (crc_mod_CFLAGS): Likewise.
39207 (crc_mod_LDFLAGS): Likewise.
39208
39209 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
39210
39211 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39212
39213 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39214
39215 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39216
39217 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39218
c298def0 392192008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 39220
39221 * commands/help.c: Include <grub/term.h>.
39222 (TERM_WIDTH): Removed. Updated all users.
39223
cc349fb3 392242008-07-27 Pavel Roskin <proski@gnu.org>
39225
39226 * util/getroot.c (find_root_device): Rephrase a comment to avoid
39227 spurious warnings about a comment within a comment.
39228
9051607e 392292008-07-25 Robert Millan <rmh@aybabtu.com>
39230
39231 * util/getroot.c (find_root_device): Skip devices that match
39232 /dev/dm-[0-9]. This lets the real device be found for any type of
39233 abstraction (LVM, EVMS, RAID..).
39234 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
39235 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
39236 device is found first, find_root_device() will now skip it.
39237
01453bfc 392382008-07-24 Pavel Roskin <proski@gnu.org>
39239
39240 * include/grub/types.h: Use __builtin_bswap32() and
39241 __builtin_bswap64() with gcc 4.3 and newer.
39242
6af9849f 392432008-07-24 Christian Franke <franke@computer.org>
39244
3a0fa256 39245 * util/i386/pc/grub-install.in: If `--debug' is specified,
39246 pass `--verbose' to grub-setup.
39247 Abort script if make_system_path_relative_to_its_root() fails.
39248
7810e747 392492008-07-24 Bean <bean123ch@gmail.com>
39250
39251 * configure.ac: Fixed a bug caused by the previous cygwin patch,
39252 variable `target_platform' should be `platform'.
39253
42290e17 392542008-07-24 Bean <bean123ch@gmail.com>
39255
51cc5193 39256 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 39257 (grub_png_init_fixed_block): New function.
39258 (grub_png_decode_image_data): Handle fixed huffman code compression.
39259
2a8a80e4 392602008-07-24 Bean <bean123ch@gmail.com>
39261
39262 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
39263 (grub_pe2elf_SOURCES): New macro.
39264 (CLEANFILES): Add grub-pe2elf.
39265
39266 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
39267 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
39268 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
39269 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
39270 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
39271 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
39272 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
39273 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
39274 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
39275 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
39276 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
39277 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
39278 (GRUB_PE32_DT_FUNCTION): Likewise.
39279 (GRUB_PE32_REL_I386_DIR32): Likewise.
39280 (GRUB_PE32_REL_I386_REL32): Likewise.
39281 (grub_pe32_symbol): New structure.
39282 (grub_pe32_reloc): Likewise.
39283
39284 * util/grub-pe2elf.c: New file.
39285
39286 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
39287 start symbol in non pc platform.
39288
39289 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
39290
39291 The following patches are from Christian Franke.
39292
39293 * include/grub/dl.h: Remove .previous, gas supports this only
39294 for ELF format.
39295
39296 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
39297 Remove .type, gas supports this only for ELF format.
39298
39299 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
39300 nullbytes in symbol table. This fixes an infinite loop if table is
39301 zero filled.
39302
39303 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
39304 TARGET_IMG_LDFLAGS and EXEEXT.
39305
39306 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
39307 TARGET_IMG_LDFLAGS_AC.
39308 (grub_CHECK_STACK_ARG_PROBE): New function.
39309
39310 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
39311
39312 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
39313
39314 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
39315 to set TARGET_IMG_LD* accordingly.
39316 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
39317 Add call to grub_CHECK_STACK_ARG_PROBE.
39318 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
39319
39320 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
39321
39322 * genmk.rb: Add EXEEXT to CLEANFILES.
39323
12ccdb75 393242008-07-23 Robert Millan <rmh@aybabtu.com>
39325
39326 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
39327 define the codes for arrows and lines used for the menu).
39328 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
39329 as well.
39330
39331 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
39332 fonts, because the latter are too slow.
39333
18eeaf04 393342008-07-21 Bean <bean123ch@gmail.com>
39335
39336 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
39337 a20. Run keyboard test last, as it will cause macbook to halt.
39338
b095e2ad 393392008-07-18 Pavel Roskin <proski@gnu.org>
39340
39341 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
39342 load foreign architecture modules correctly anyway. Keep
39343 support for loading host architecture modules, whether we
39344 compile them or not.
39345
737feb35 393462008-07-17 Pavel Roskin <proski@gnu.org>
39347
3f4ce737 39348 * configure.ac: Use -m32 or -m64 regardless of whether we had to
39349 change target_cpu. The compiler default can mismatch target_cpu
39350 in any case.
39351
4ad2d049 39352 * disk/efi/efidisk.c: Fix format warnings on x86_64.
39353 * kern/efi/efi.c: Likewise.
39354
f6130a12 39355 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
39356 target compiler is functional.
39357 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
39358 are set up.
39359
58393a2d 39360 * configure.ac: Default to efi platform for x86_64-apple. Allow
39361 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
39362 adjustments from the rest, only do them if target is not
39363 explicitly given. Merge other adjustments with the final sanity
39364 check. Remove an extraneous check for supported CPU. Be
39365 specific which CPU and which platform is not supported.
39366
737feb35 39367 * configure.ac: Default to pc platform for x86_64.
39368
546f966a 393692008-07-17 Robert Millan <rmh@aybabtu.com>
39370
39371 Partial LinuxBIOS -> Coreboot rename.
39372
39373 * conf/i386-linuxbios.rmk: Renamed to ...
39374 * conf/i386-coreboot.rmk: ... this.
39375 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
39376 * configure.ac: Accept "coreboot" as input platform (but maintain
39377 compatibility with "linuxbios").
39378 * include/grub/i386/linuxbios: Renamed to ...
39379 * include/grub/i386/coreboot: ... this.
39380
20011694 393812008-07-17 Bean <bean123ch@gmail.com>
39382
39383 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 39384 (appleldr_mod_SOURCE): New variable.
20011694 39385 (appleldr_mod_CFLAGS): Likewise.
39386 (appleldr_mod_LDFLAGS): Likewise.
39387 (pci_mod_SOURCES): Likewise.
39388 (pci_mod_CFLAGS): Likewise.
39389 (pci_mod_LDFLAGS): Likewise.
39390 (lspci_mod_SOURCES): Likewise.
39391 (lspci_mod_CFLAGS): Likewise.
39392 (lspci_mod_LDFLAGS): Likewise.
39393
39394 * conf/x86_64-efi.rmk: New file.
39395
39396 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
39397 macro.
39398 (grub_efidisk_write): Likewise.
39399
39400 * include/efi/api.h (efi_call_0): New macro.
39401 (efi_call_1): Likewise.
39402 (efi_call_2): Likewise.
39403 (efi_call_3): Likewise.
39404 (efi_call_4): Likewise.
39405 (efi_call_5): Likewise.
39406 (efi_call_6): Likewise.
39407
39408 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
39409 grub_rescue_cmd_chainloader.
39410
39411 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
39412 (grub_pe32_optional_header): Change some fields based on i386 or
39413 x86_64 platform.
39414 (GRUB_PE32_PE32_MAGIC): Likewise.
39415
39416 * include/grub/efi/uga_draw.h: New file.
39417
39418 * include/grub/elf.h (STN_ABS): New constant.
39419 (R_X86_64_NONE): Relocation constant for x86_64.
39420 (R_X86_64_64): Likewise.
39421 (R_X86_64_PC32): Likewise.
39422 (R_X86_64_GOT32): Likewise.
39423 (R_X86_64_PLT32): Likewise.
39424 (R_X86_64_COPY): Likewise.
39425 (R_X86_64_GLOB_DAT): Likewise.
39426 (R_X86_64_JUMP_SLOT): Likewise.
39427 (R_X86_64_RELATIVE): Likewise.
39428 (R_X86_64_GOTPCREL): Likewise.
39429 (R_X86_64_32): Likewise.
39430 (R_X86_64_32S): Likewise.
39431 (R_X86_64_16): Likewise.
39432 (R_X86_64_PC16): Likewise.
39433 (R_X86_64_8): Likewise.
39434 (R_X86_64_PC8): Likewise.
39435
39436 * include/grub/i386/efi/pci.h: New file.
39437
39438 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
39439 Change it value based on platform.
39440 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
39441 (GRUB_E820_RAM): Likewise.
39442 (GRUB_E820_RESERVED): Likewise.
39443 (GRUB_E820_ACPI): Likewise.
39444 (GRUB_E820_NVS): Likewise.
39445 (GRUB_E820_EXEC_CODE): Likewise.
39446 (GRUB_E820_MAX_ENTRY): Likewise.
39447 (grub_e820_mmap): New structure.
39448 (linux_kernel_header): Change the efi field according to different
39449 kernel version, also field from linux_kernel_header.
39450
39451 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
39452
39453 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
39454 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
39455 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
39456 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
39457 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
39458 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
39459 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
39460 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
39461 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
39462 (GRUB_PCI_ADDR_IO_MASK): Likewise.
39463
39464 * include/grub/x86_64/efi/kernel.h: New file.
39465
39466 * include/grub/x86_64/efi/loader.h: Likewise.
39467
39468 * include/grub/x86_64/efi/machine.h: Likewise.
39469
39470 * include/grub/x86_64/efi/pci.h: Likewise.
39471
39472 * include/grub/x86_64/efi/time.h: Likewise.
39473
39474 * include/grub/x86_64/linux.h: Likewise.
39475
39476 * include/grub/x86_64/setjmp.h: Likewise.
39477
39478 * include/grub/x86_64/time.h: Likewise.
39479
39480 * include/grub/x86_64/types.h: Likewise.
39481
39482 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
39483 GRUB_TARGET_SIZEOF_VOID_P.
39484
39485 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
39486 (grub_efi_locate_handle): Likewise.
39487 (grub_efi_open_protocol): Likewise.
39488 (grub_efi_set_text_mode): Likewise.
39489 (grub_efi_stall): Likewise.
39490 (grub_exit): Likewise.
39491 (grub_reboot): Likewise.
39492 (grub_halt): Likewise.
39493 (grub_efi_exit_boot_services): Likewise.
39494 (grub_get_rtc): Likewise.
39495
39496 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
39497 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
39498 (grub_efi_allocate_pages): Wrap efi calls.
39499 (grub_efi_free_pages): Wrap efi calls.
39500 (grub_efi_get_memory_map): Wrap efi calls.
39501
39502 * kern/x86_64/dl.c: New file.
39503
39504 * kern/x86_64/efi/callwrap.S: Likewise.
39505
39506 * kern/x86_64/efi/startup.S: Likewise.
39507
39508 * loader/efi/appleloader.c: Likewise.
39509
39510 * loader/efi/chainloader.c (cmdline): New variable.
39511 (grub_chainloader_unload): Wrap efi calls.
39512 (grub_chainloader_boot): Likewise.
39513 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
39514 command line.
39515
39516 * loader/efi/chainloader_normal.c (chainloader_command):
39517 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
39518 command line.
39519
39520 * loader/i386/efi/linux.c (allocate_pages): Change allocation
39521 method.
39522 (grub_e820_add_region): New function.
39523 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
39524 booting.
39525 (grub_find_video_card): New function.
39526 (grub_linux_setup_video): New function.
39527 (grub_rescue_cmd_linux): Probe for video information.
39528
39529 * normal/x86_64/setjmp.S: New file.
39530
39531 * term/efi/console.c (map_char): New function.
39532 (grub_console_putchar): Map unicode char.
39533 (grub_console_checkkey): Wrap efi calls.
39534 (grub_console_getkey): Likewise.
39535 (grub_console_getwh): Likewise.
39536 (grub_console_gotoxy): Likewise.
39537 (grub_console_cls): Likewise.
39538 (grub_console_setcolorstate): Likewise.
39539 (grub_console_setcursor): Likewise.
39540
39541 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
39542
59652a20 395432008-07-16 Pavel Roskin <proski@gnu.org>
39544
ef294055 39545 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
39546 format strings.
39547
59652a20 39548 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
39549 pointer, not an integer. This fixes a warning and prevents
39550 precision loss on 64-bit systems.
39551 (relocate_addresses): Remove unneeded cast.
39552
afc3b5d7 395532008-07-15 Pavel Roskin <proski@gnu.org>
39554
506b2b3e 39555 * kern/i386/ieee1275/init.c: Include grub/cache.h.
39556
62ead89c 39557 * term/ieee1275/ofconsole.c: Disable code unused on i386.
39558
c4cd51d7 39559 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
39560 Fix comparison between signed and unsigned.
39561
0d3d8f28 39562 * include/grub/i386/ieee1275/console.h: Declare
39563 grub_console_init() and grub_console_fini().
39564
8804b286 39565 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
39566 It's empty and unused.
39567
ee01cf35 39568 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
39569 beginning to avoid warnings with some compilers.
39570
afc3b5d7 39571 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
39572 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
39573
e4e8eaa5 395742008-07-14 Pavel Roskin <proski@gnu.org>
39575
407aceb4 39576 * kern/env.c (grub_register_variable_hook): Don't copy empty
39577 string, it leaks memory. Pass "" to grub_env_set(), it should
39578 handle constant strings.
39579
e4e8eaa5 39580 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
39581 * commands/cmp.c (grub_cmd_cmp): Likewise.
39582 * kern/dl.c (grub_dl_flush_cache): Likewise.
39583 (grub_dl_load_core): Likewise.
39584 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
39585 (grub_elf64_load_phdrs): Likewise.
39586
d4e2dad3 395872008-07-13 Pavel Roskin <proski@gnu.org>
39588
39589 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
39590 between signed and unsigned.
39591 (LzmaEnc_Finish): Fix warning about an unused parameter.
39592
aa24b516 395932008-07-13 Bean <bean123ch@gmail.com>
39594
39595 * Makefile.in (enable_lzo): New rule.
39596
39597 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
39598
39599 * configure.ac (ENABLE_LZO): New option --enable-lzo.
39600
39601 * boot/i386/pc/lnxboot.S: #include <config.h>.
39602
39603 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 39604 its value according to the compression algorithm used, lzo or lzma.
aa24b516 39605
39606 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
39607 compression algorithm according to configure macro.
39608
39609 * kern/i386/pc/startup.S (codestart): Likewise.
39610
39611 * kern/i386/pc/lzma_decode.S: New file.
39612
39613 * include/grub/lib/LzFind.h: Likewise.
39614
39615 * include/grub/lib/LzHash.h: Likewise.
39616
39617 * include/grub/lib/LzmaDec.h: Likewise.
39618
39619 * include/grub/lib/LzmaEnc.h: Likewise.
39620
39621 * include/grub/lib/LzmaTypes.h: Likewise.
39622
39623 * lib/LzFind.c: Likewise.
39624
39625 * lib/LzmaDec.c: Likewise.
39626
39627 * lib/LzmaEnc.c: Likewise.
39628
4ae821ac 396292008-07-13 Bean <bean123ch@gmail.com>
39630
39631 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
39632 (grub_ext4_extent_header): New structure.
39633 (grub_ext4_extent): Likewise.
39634 (grub_ext4_extent_idx): Likewise.
39635 (grub_ext4_find_leaf): New function.
39636 (grub_ext2_read_block): Handle extents.
39637
9a745147 396382008-07-12 Robert Millan <rmh@aybabtu.com>
39639
39640 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
39641
d49a4cf6 396422008-07-11 Robert Millan <rmh@aybabtu.com>
39643
39644 * util/grub.d/40_custom.in: New file. Example on how to add custom
39645 entries to /etc/grub.d.
39646 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
39647 40_custom (implicitly, by merging all the grub.d rules).
39648
947414b4 396492008-07-11 Pavel Roskin <proski@gnu.org>
39650
0059cf6f 39651 * commands/read.c (grub_getline): Fix invalid memory access.
39652 Don't add newline to the variable value.
39653
947414b4 39654 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
39655 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
39656 (serial_hw_get_port): Check validity of the port number.
39657 (grub_cmd_serial): Check return value of serial_hw_get_port().
39658
62a02d00 396592008-07-07 Pavel Roskin <proski@gnu.org>
39660
39661 * boot/i386/pc/diskboot.S (notification_string): Replace
39662 "Loading kernel" with just "loading". This is shorter, less
39663 confusing and saves a few bytes for possible future changes.
39664
3e5581b0 396652008-07-05 Pavel Roskin <proski@gnu.org>
39666
ea387a48 39667 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
39668 size for ATAPI devices, they are undefined. Output sector
39669 number in decimal form.
39670
3e5581b0 39671 * disk/ata.c: Use named constants for status bits.
39672
fdecb8fd 396732008-07-04 Pavel Roskin <proski@gnu.org>
39674
bcd35b90 39675 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
39676 grub_addr_t before casting it to the void pointer to fix a
39677 warning. Non-addressable regions are discarded earlier.
39678 (grub_arch_modules_addr): Cast _end to grub_addr_t.
39679 * kern/i386/linuxbios/table.c: Include grub/misc.h.
39680 (check_signature): Don't shadow table_header.
39681 (grub_linuxbios_table_iterate): Cast numeric constants to
39682 grub_linuxbios_table_header_t.
39683 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
39684 grub_stop().
39685
af58ab3d 39686 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
39687 prevent warnings.
39688
1759aa57 39689 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
39690 pointer, which can cause warnings. Support 64-bit addresses.
39691
fdecb8fd 39692 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
39693 of sizeof(long). This fixes PowerPC image generation on x86_64.
39694
8516d2a8 396952008-07-04 Robert Millan <rmh@aybabtu.com>
39696
39697 This fixes a performance issue when pc & gpt partmap iterators
39698 didn't abort iteration even after our hook found what it was
fe987087 39699 looking for (often causing expensive probes of non-existent drives).
8516d2a8 39700
39701 Some callers relied on previous buggy behaviour, since they would
34c44600 39702 raise an error when their own hooks caused early abortion of its
8516d2a8 39703 iteration.
39704
39705 * kern/device.c (grub_device_open): Improve error message.
39706 * disk/lvm.c (grub_lvm_open): Likewise.
39707 * disk/raid.c (grub_raid_open): Likewise.
39708
39709 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
39710 when hook requests it, independently of grub_errno.
39711 (pc_partition_map_probe): Do not fail when find_func() caused
39712 early abortion of pc_partition_map_iterate().
39713
39714 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
39715 when hook requests it, independently of grub_errno.
39716 (gpt_partition_map_probe): Do not fail when find_func() caused
39717 early abortion of gpt_partition_map_iterate().
39718
39719 * kern/partition.c (grub_partition_iterate): Abort parent iteration
39720 when hook requests it, independently of grub_errno. Do not fail when
39721 part_map_iterate_hook() caused early abortion of p->iterate().
39722
39723 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
39724 when grub_partition_iterate() returned with non-zero.
39725
277d0de9 397262008-07-03 Pavel Roskin <proski@gnu.org>
39727
39728 * disk/ata.c (grub_ata_pio_write): Check status before writing,
39729 like we do in grub_ata_pio_read().
39730 (grub_ata_readwrite): Always write individual sectors. Fix the
39731 sector count for the remainder.
39732 (grub_ata_write): Enable writing to ATA devices. Correctly
39733 report error for ATAPI devices.
39734
d4c9b428 397352008-07-02 Pavel Roskin <proski@gnu.org>
39736
e43fc690 39737 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
39738 warning.
39739
f707af42 39740 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
39741 for every read sector, we already increment it for the whole
39742 batch. This fixes reading more than 256 sectors at once.
39743
11e16b15 39744 * util/grub-editenv.c (cmd_info): Cast argument to long
39745 explicitly. ptrdiff_t reduces to int on i386.
39746
cbabfdd4 39747 * util/grub-editenv.c (main): Be specific which parameter is
39748 missing.
39749
b8fbce0a 39750 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
39751 (memdisk): Make memdisk_orig_addr a pointer.
39752
c9c8e606 39753 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
39754 for file offsets, use grub_off_t instead. Fix printf format
39755 warnings.
39756
ca62e598 39757 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
39758 there. Real unexpected warnings should not drown in the noise
39759 about known problems.
39760
ce8d1766 39761 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
39762 grub_disk_addr_t for memory addresses.
39763
00c7a56a 39764 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
39765 explicitly to fix a warning.
39766
08d3ef09 39767 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
39768
cb71ba20 39769 * Makefile.in (MODULE_LDFLAGS): New variable.
39770 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
39771 the linker accepts --build-id=none.
39772 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
39773 MODULE_LDFLAGS.
39774 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
39775
d4c9b428 39776 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
39777 those in Linux XFS code. Provide a way to access 64-bit parent
39778 inode.
39779 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
39780 the end of struct grub_xfs_dir_header.
39781
d4156eee 397822008-07-02 Bean <bean123ch@gmail.com>
39783
39784 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
39785 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
39786 and GRUB_IEEE1275_FLAG_NO_ANSI.
39787
39788 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
39789 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
39790 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
39791
39792 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
39793 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
39794
39795 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
39796 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
39797
39798 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
39799 esc sequence on non ANSI terminal.
39800 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
39801
39802 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
39803 beginning of file.
39804
2270f77b 398052008-07-02 Bean <bean123ch@gmail.com>
39806
39807 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
39808 (grub_editenv_SOURCES): New variable.
39809 (pkglib_MODULES): Add loadenv.mod.
39810 (loadenv_mod_SOURCES): New variable.
39811 (loadenv_mod_CFLAGS): Likewise.
39812 (loadenv_mod_LDFLAGS): Likewise.
39813
39814 * include/grub/envblk.h: New file.
39815
39816 * util/envblk.c: New file.
39817
39818 * util/grub-editenv.c: New file.
39819
39820 * commands/loadenv.c: New file.
39821
0e9e51ec 398222008-07-01 Pavel Roskin <proski@gnu.org>
39823
d89b7634 39824 * include/multiboot2.h (struct multiboot_tag_module): Use char,
39825 not unsigned char. This fixes warnings and is consistent with
39826 other tags.
39827
bf1835b1 39828 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
39829
8222a04b 39830 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
39831
6a42d99d 39832 * term/tparm.c (analyze): Always set *popcount.
39833
10b159d1 39834 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
39835 cast to fix a warning.
39836
b8789f6c 39837 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
39838 cast to suppress a warning.
39839
29d7e38a 39840 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
39841 grub_fshelp_read_file() expects.
39842
f341f669 39843 * fs/fat.c: Fix UUID calculation on big-endian systems. We
39844 write uuid as a 32-bit value in CPU byte order, so declare and
39845 use it as such.
39846
0e9e51ec 39847 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
39848 long if the format specifier expects it.
39849 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
39850 * partmap/pc.c (pc_partition_map_iterate): Likewise.
39851 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
39852 long to fix a warning.
39853 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
39854 grub_dprintf() arguments to fix warnings.
39855
3aefa857 398562008-06-30 Pavel Roskin <proski@gnu.org>
39857
56c7668b 39858 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
39859 install_bsd_part immediately before core.img is embedded or
39860 modified on disk. This fixes core.img verification if core.img
39861 cannot be embedded.
39862
3aefa857 39863 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
39864 core_path to calculate the blocklist.
39865 Patch from Javier Martín <lordhabbit@gmail.com>
39866
5444088d 398672008-06-29 Robert Millan <rmh@aybabtu.com>
39868
39869 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
39870 block to disk block.
39871 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
39872 Patch from Niels Böhm <bitbucket@arcor.de>
39873
674835c8 398742008-06-29 Robert Millan <rmh@aybabtu.com>
39875
39876 * util/update-grub_lib.in (font_path): Search for fonts in
39877 /boot/grub first, which is more likely to be readable (we aren't
39878 deciding where fonts live, just looking for them).
39879
f527dbc8 398802008-06-26 Pavel Roskin <proski@gnu.org>
39881
6c2d8df6 39882 * util/biosdisk.c (read_device_map): Don't leave dead map
39883 entries for devices failing stat() check.
39884
f527dbc8 39885 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
39886 core_path_dev for the core.img path on the target device.
39887
aebe3d13 398882008-06-26 Robert Millan <rmh@aybabtu.com>
39889
39890 * disk/fs_uuid.c: New file.
39891 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
39892 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
39893 (fs_uuid_mod_LDFLAGS): New variables.
39894 * include/grub/disk.h (grub_disk_dev_id): Add
39895 `GRUB_DISK_DEVICE_UUID_ID'.
39896 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
39897 implement iterate().
39898
37aaf354 398992008-06-26 Robert Millan <rmh@aybabtu.com>
39900
39901 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
39902 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
39903 Linux image includes no initrd.
39904
25ff262a 399052008-06-21 Javier Martín <lordhabbit@gmail.com>
39906
39907 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
39908 call to resolve the core image location that effectively appended the
39909 name twice.
39910
76a2bd44 399112008-06-21 Robert Millan <rmh@aybabtu.com>
39912
39913 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
39914 call from here ...
39915
39916 * util/grub.d/10_hurd.in: ... to here ...
39917 * util/grub.d/10_linux.in: ... and here.
39918
650e1c79 399192008-06-19 Robert Millan <rmh@aybabtu.com>
39920
fe987087 39921 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 39922 after it has been set by grub_machine_set_prefix().
39923
6ce63911 399242008-06-19 Robert Millan <rmh@aybabtu.com>
39925
39926 * commands/search.c (search_label, search_fs_uuid, search_file): Print
39927 search result when not saving to variable, not the other way around.
39928 When saving to variable, abort iteration as soon as a match is found.
39929
73940cec 399302008-06-19 Robert Millan <rmh@aybabtu.com>
39931
39932 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
39933 check for partition that provides /boot/grub. Its logic is flawed,
39934 as it prevents prepare_grub_to_access_device() from being called
39935 multiple times.
39936
3c62a39d 399372008-06-19 Robert Millan <rmh@aybabtu.com>
39938
39939 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
39940 "insmod" command directly when abstraction modules are needed,
fe987087 39941 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 39942 since it had already been processed).
39943
47395a42 399442008-06-19 Pavel Roskin <proski@gnu.org>
39945
39946 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
39947 changed. This is needed in case GRUB_LIBDIR changes.
39948 * conf/i386-ieee1275.rmk: Likewise.
39949 * conf/i386-linuxbios.rmk: Likewise.
39950 * conf/i386-pc.rmk: Likewise.
39951 * conf/powerpc-ieee1275.rmk: Likewise.
39952
a145ac2d 399532008-06-18 Pavel Roskin <proski@gnu.org>
39954
39955 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
39956 kernel_elf_symlist.c to symlist.c for consistency with other
39957 architectures. Update all users.
39958 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39959
7847c51e 399602008-06-18 Robert Millan <rmh@aybabtu.com>
39961
39962 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
39963 it in prefix.
39964
39965 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
39966 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
39967 a RAID device, run setup() for all members independently on whether
39968 LVM abstraction is being used.
39969 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
39970 If grub-mkimage has set `*install_dos_part == -2', don't override this
39971 value.
39972 Perform *install_dos_part adjustments independently on whether
39973 we're embedding or not.
39974 Clarify error message when image is too big for embedding.
39975 Remove duplicate *install_dos_part stanza.
39976
b23e5644 399772008-06-17 Robert Millan <rmh@aybabtu.com>
39978
39979 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
39980 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
39981 variables.
39982 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
39983 values in grub_ofconsole_normal_color and
39984 grub_ofconsole_highlight_color (they're not directly related to
39985 background and foreground).
39986 (grub_ofconsole_setcolorstate): Extract background and foreground
39987 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
39988
0aac2f79 399892008-06-17 Robert Millan <rmh@aybabtu.com>
39990
39991 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
39992 /boot/grub for the check in last commit, not /boot (they could be
39993 different partitions).
39994
3cca7ef3 399952008-06-16 Robert Millan <rmh@aybabtu.com>
39996
39997 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
39998 asked to setup access for the same partition that provides /boot,
39999 don't bother using UUIDs since our root already has the value we
40000 want.
40001
347396d8 400022008-06-16 Robert Millan <rmh@aybabtu.com>
40003
40004 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
40005 I2O devices.
40006 Patch from Sven Mueller <sven@debian.org>.
40007
991477f8 400082008-06-16 Robert Millan <rmh@aybabtu.com>
40009
40010 * util/update-grub.in: Check for $EUID instead of $UID.
40011 Reported by Vincent Zweije.
40012
d31a32a1 400132008-06-16 Bean <bean123ch@gmail.com>
40014
fe987087 40015 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 40016 (grub_ext2_read_block): Likewise.
40017 (grub_ext2_read_inode): Likewise.
40018 (grub_ext2_mount): Likewise.
40019 (grub_ext2_close): Likewise.
40020 (grub_ext3_get_journal): Removed.
40021
fe987087 40022 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 40023 (grub_reiserfs_read_symlink): Likewise.
40024 (grub_reiserfs_mount): Likewise.
40025 (grub_reiserfs_open): Likewise.
40026 (grub_reiserfs_read): Likewise.
40027 (grub_reiserfs_close): Likewise.
40028 (grub_reiserfs_get_journal): Removed.
40029
40030 * fs/fshelp.c (grub_fshelp_read): Removed.
40031 (grub_fshelp_map_block): Likewise.
40032
40033 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
40034 (grub_fshelp_journal): Likewise.
40035 (grub_fshelp_read): Likewise.
40036 (grub_fshelp_map_block): Likewise.
40037
3540a760 400382008-06-16 Pavel Roskin <proski@gnu.org>
40039
40040 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
40041 floating point anymore.
40042 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
40043
95614c84 400442008-06-15 Pavel Roskin <proski@gnu.org>
40045
40046 * commands/ls.c (grub_ls_list_files): Use integer calculations
40047 for human readable format, avoid floating point use.
40048 * kern/misc.c (grub_ftoa): Remove.
40049 (grub_vsprintf): Remove floating point support.
40050
50465dd6 400512008-06-15 Robert Millan <rmh@aybabtu.com>
40052
fe6b695a 40053 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 40054 devices.
40055 Reported by Max Vozeler.
40056
a9207284 400572008-06-15 Robert Millan <rmh@aybabtu.com>
40058
40059 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
40060 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
40061 skipped later.
40062 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
40063 the beginning of the prefix.
40064
40065 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
40066 It is assumed that if we have a memdisk, grub-mkimage has set
40067 grub_prefix to include the "(memdisk)" drive in it.
40068
a7cbd45a 400692008-06-15 Robert Millan <rmh@aybabtu.com>
40070
40071 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
40072 Initialize keyboard controller after registering the terminal, so that
40073 grub_printf() can be called from grub_keyboard_controller_init().
40074
21cf716a 400752008-06-15 Robert Millan <rmh@aybabtu.com>
40076
40077 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
40078 extent-btree which is written as big endian on disk.
40079 Reported by Alain Greppin <al@chilibi.org>.
40080
23a64d8e 400812008-06-14 Robert Millan <rmh@aybabtu.com>
40082
40083 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
40084 * util/i386/pc/grub-install.in (modules): Likewise.
40085
d687651c 400862008-06-13 Pavel Roskin <proski@gnu.org>
40087
40088 * commands/ls.c (grub_ls_list_files): Fix format warnings.
40089
dfe9ddd4 400902008-06-13 Bean <bean123ch@gmail.com>
40091
40092 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
40093
40094 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
40095
40096 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
40097 to indicate sparse block.
40098
16ae7781 400992008-06-12 Pavel Roskin <proski@gnu.org>
40100
e6d1a308 40101 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
40102 number, grub_fshelp_read() does it for us.
40103
16ae7781 40104 * fs/fshelp.c (grub_fshelp_read): New function. Implement
40105 linear disk read with journal translation.
40106 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
40107 * include/grub/fshelp.h: Declare grub_fshelp_read().
40108
40fd3a2b 401092008-06-09 Pavel Roskin <proski@gnu.org>
40110
40111 * fs/minix.c (grub_minix_mount): Handle error reading
40112 superblock.
40113
f5679726 401142008-06-08 Robert Millan <rmh@aybabtu.com>
40115
40116 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
40117 don't append the RAID prefix afterwards.
40118 Reported by Clint Adams.
40119
ce525529 401202008-06-08 Robert Millan <rmh@aybabtu.com>
40121
40122 Based on description from Pavel:
40123 * kern/disk.c (grub_disk_check_range): Rename to ...
40124 (grub_disk_adjust_range): ... this. Add a comment explaining the
40125 tasks performed by this function.
40126
ad4936a0 401272008-06-08 Robert Millan <rmh@aybabtu.com>
40128
40129 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
40130 `num_serial' (for consistency with other variables).
40131 (struct grub_ntfs_data): Add `uuid' member.
40132 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
40133 (grub_ntfs_uuid): New function.
40134 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
40135
dc20b0f9 401362008-06-07 Pavel Roskin <proski@gnu.org>
40137
40138 * util/biosdisk.c (open_device): Revert last change to the
40139 function, it broke installation. The sector needs to be
40140 different dependent on which device is opened.
40141
c5e3cfba 401422008-06-06 Robert Millan <rmh@aybabtu.com>
40143
40144 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
40145 rest of GRUB, and breakage doesn't happen if its value were modified.
40146
40147 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40148 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
40149 a constant (same value).
40150 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
40151 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
40152
26a1f8c4 401532008-06-06 Robert Millan <rmh@aybabtu.com>
40154
40155 * util/biosdisk.c (open_device): Do not modify sector offset when
40156 accessing a partition. kern/disk.c already handles this for us.
40157
25d6b327 401582008-06-06 Robert Millan <rmh@aybabtu.com>
40159
40160 * util/grub-emu.c (grub_machine_init): Move code in this function from
40161 here ...
40162 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
40163 segfault in case grub_printf() is called).
40164
40165 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
40166 grub_probe. Update all users not to explicitly add it again.
40167 (grub_device): New variable; contains corresponding device for grubdir.
40168 (fs_module, partmap_module, devabstraction_module): Pass
40169 `--device ${grub_device}' to grub_probe to avoid traversing /dev
40170 every time.
40171
9ece62fb 401722008-06-05 Robert Millan <rmh@aybabtu.com>
40173
40174 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
40175 is found, print it (same layout as with labels).
40176
1ad36d37 401772008-06-04 Robert Millan <rmh@aybabtu.com>
40178
40179 * util/biosdisk.c (get_drive): Rename to ...
40180 (find_grub_drive): ... this. Update all users.
40181
40182 (get_os_disk): Rename to ...
40183 (convert_system_partition_to_system_disk): ... this. Update all users.
40184
40185 (find_drive): Rename to ...
40186 (find_system_device): ... this. Update all users.
40187
e6a30859 401882008-06-04 Robert Millan <rmh@aybabtu.com>
40189
40190 * util/biosdisk.c (get_os_disk): Handle IDA devices.
40191 * util/grub-mkdevicemap.c (get_mmc_disk_name)
40192 (make_device_map): Likewise.
40193
00c108a4 401942008-06-01 Robert Millan <rmh@aybabtu.com>
40195
40196 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
40197 before dereferencing it.
40198
40199 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
40200 union with fat12/fat16-specific ones. Add some new fields, including
40201 `num_serial' for both versions.
40202 (struct grub_fat_data): Add `uuid' member.
40203 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
40204 names. Initialize `data->uuid' using `num_serial'.
40205 (grub_fat_uuid): New function.
40206 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
40207
40208 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
40209 (grub_reiserfs_uuid): New function.
40210 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
40211 member.
40212
40213 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
40214 (grub_xfs_uuid): New function.
40215 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
40216
1385c5bb 402172008-06-01 Robert Millan <rmh@aybabtu.com>
40218
40219 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
40220 code that is backward compatible with pre-uuid search command.
40221
c682dfd7 402222008-05-31 Robert Millan <rmh@aybabtu.com>
40223
40224 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
40225 floppies after everything else, to ensure floppy drive isn't accessed
40226 unnecessarily (patch from Bean).
40227
b7db5d47 402282008-05-31 Robert Millan <rmh@aybabtu.com>
40229
40230 * commands/search.c (search_label, search_fs_uuid, search_file): Do
40231 not print device names when we were asked to set a variable.
40232
6e037aa9 402332008-05-31 Robert Millan <rmh@aybabtu.com>
40234
40235 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
40236 using "cursor-on" and "cursor-off" commands (understood at least by
40237 the Open Firmware flavour on OLPC).
40238
41305bc8 402392008-05-31 Michael Gorven <michael@gorven.za.net>
40240
40241 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
40242 on and off sequences.
40243
69ba137e 402442008-05-31 Robert Millan <rmh@aybabtu.com>
40245
40246 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
40247 * util/update-grub.in: Likewise.
40248
520ae21b 402492008-05-30 Pavel Roskin <proski@gnu.org>
40250
40251 * util/biosdisk.c (linux_find_partition): Simplify logic and
40252 make the code more universal. Keep special processing for
40253 devfs, but use a simple rule for all other devices. If the
40254 device ends with a number, append 'p' and the partition number.
40255 Otherwise, append only the partition number.
40256
5786569b 402572008-05-30 Robert Millan <rmh@aybabtu.com>
40258
40259 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
40260 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
40261 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
40262 the `root' parameter to Linux.
40263
51500452 402642008-05-30 Robert Millan <rmh@aybabtu.com>
40265
40266 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
40267 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
40268 --fs_uuid with --fs-uuid.
40269 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
40270 all filesystems support them).
40271
811d3878 402722008-05-30 Robert Millan <rmh@aybabtu.com>
40273
40274 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 40275 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 40276
cab63c95 402772008-05-30 Robert Millan <rmh@aybabtu.com>
40278
40279 * util/grub.d/00_header.in: Remove obsolete comment referencing
40280 convert_system_path_to_grub_path().
40281 * util/update-grub.in: Likewise.
40282 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
40283 (convert_system_path_to_grub_path): Add a warning message explaining
40284 that this function is deprecated. Rely on is_path_readable_by_grub()
40285 for the readability checks.
40286 (font_path): Use is_path_readable_by_grub() for the readability
40287 check rather than convert_system_path_to_grub_path().
40288
972e2f7a 402892008-05-30 Robert Millan <rmh@aybabtu.com>
40290
40291 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
40292 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
40293 converting it first.
40294 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
40295 grub.cfg for access to font file, and afterwards call it again to set
40296 the root device.
40297
62191274 402982008-05-30 Robert Millan <rmh@aybabtu.com>
40299
40300 * commands/search.c (options): Add --fs_uuid option.
40301 (search_fs_uuid): New function.
40302 (grub_cmd_search): Fix --set argument passing.
40303 Use search_fs_uuid() when requested via --fs_uuid.
40304 (grub_search_init): Update help message.
40305 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
40306 and redeclare it as an array of 16-bit words.
40307 (grub_ext2_uuid): New function.
40308 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
40309 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
40310 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
40311 (GRUB_DEVICE_BOOT_UUID): New variables.
40312 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
40313 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
40314 whenever possible.
40315 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
40316 just assume `root' variable has the right value.
40317 * util/grub.d/10_linux.in: Likewise.
40318 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
40319 via PRINT_FS_UUID.
40320 (main): Recognise `-t fs_uuid' argument.
40321
01b73ec8 403222008-05-30 Robert Millan <rmh@aybabtu.com>
40323
40324 * util/biosdisk.c (map): Redefine structure to hold information
40325 about GRUB drive name.
fe6b695a 40326 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 40327 drive names.
40328 (call_hook): Remove.
40329 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
40330 member. Assume drive has partitions.
40331 (grub_util_biosdisk_open): Access device names via `.device' struct
40332 member.
40333 (open_device): Likewise.
40334 (find_drive): Likewise.
40335 (read_device_map): Adjust map[] usage to match the new struct
40336 definition. Don't check for duplicates (still possible, but not cheap
40337 anymore).
40338 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
40339 (make_device_name): Remove assumption of BIOS-like drive names.
40340
22f16596 403412008-05-30 Pavel Roskin <proski@gnu.org>
40342
40343 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
40344 compiling execute.c doesn't need grub_script.tab.h anymore.
40345 (normal/command.c_DEPENDENCIES): Likewise.
40346 (normal/function.c_DEPENDENCIES): Likewise.
40347 * conf/i386-ieee1275.rmk: Likewise.
40348 * conf/i386-linuxbios.rmk: Likewise.
40349 * conf/i386-pc.rmk: Likewise.
40350 * conf/powerpc-ieee1275.rmk: Likewise.
40351 * conf/sparc64-ieee1275.rmk: Likewise.
40352
528ad8f2 403532008-05-29 Pavel Roskin <proski@gnu.org>
40354
d1dff95d 40355 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
40356 when scanning metadata for volume group name.
40357
528ad8f2 40358 * include/grub/script.h: Don't include grub_script.tab.h. It's
40359 a generated file, which may only be included from the files with
40360 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
40361 use union YYSTYPE, as the later allows forward declaration.
40362 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
40363
47248e08 403642008-05-29 Robert Millan <rmh@aybabtu.com>
40365
40366 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
40367 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
40368 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
40369 (grub_console_checkkey): Add grub_dprintf() call to report unknown
40370 scan codes.
40371
ee632529 403722008-05-29 Robert Millan <rmh@aybabtu.com>
40373
40374 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
40375 control key combinations.
40376
eee96e08 403772008-05-29 Robert Millan <rmh@aybabtu.com>
40378
40379 * util/powerpc/ieee1275/grub-install.in: Move from here ...
40380 * util/ieee1275/grub-install.in: ... to here.
40381 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
40382 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
40383 (grub_install_SOURCES): Likewise.
40384
da9a6a94 403852008-05-29 Robert Millan <rmh@aybabtu.com>
40386
40387 * fs/affs.c: Update copyright year.
40388 * fs/ext2.c: Likewise.
40389 * fs/fshelp.c: Likewise.
40390 * fs/hfsplus.c: Likewise.
40391 * fs/ntfs.c: Likewise.
40392 * fs/xfs.c: Likewise.
40393 * include/grub/fshelp.h: Likewise.
40394 * util/grub-mkdevicemap.c: Likewise.
40395
12e65f3a 403962008-05-28 Robert Millan <rmh@aybabtu.com>
40397
40398 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
40399 might need to be fatfs to support some firmware implementations
40400 (e.g. OFW or EFI).
40401
23023641 404022008-05-28 Robert Millan <rmh@aybabtu.com>
40403
40404 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
40405 devices.
40406 * util/grub-mkdevicemap.c (get_mmc_disk_name)
40407 (make_device_map): Likewise.
40408
887d2619 404092008-05-20 Bean <bean123ch@gmail.com>
40410
40411 * fs/fshelp.c (grub_fshelp_map_block): New function.
40412 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
40413 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
40414
40415 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
40416 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
40417 (grub_fshelp_journal): New structure.
40418 (grub_fshelp_map_block): New function prototype.
40419 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
40420 (grub_fshelp_map_block): Likewise.
40421
40422 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
40423 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
40424 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
40425 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
40426 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
40427 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
40428 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
40429 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
40430 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
40431 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
40432 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
40433 (grub_ext2_sblock): New members for journal support.
40434 (grub_ext3_journal_header): New structure.
40435 (grub_ext3_journal_revoke_header): Likewise.
40436 (grub_ext3_journal_block_tag): Likewise.
40437 (grub_ext3_journal_sblock): Likewise.
40438 (grub_fshelp_node): New members logfile and journal.
40439 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
40440 grub_fshelp_map_block to get real block number.
40441 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
40442 number.
40443 (grub_ext2_read_inode): Likewise.
40444 (grub_ext3_get_journal): New function.
40445 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
40446 (grub_ext2_close): Release memory used by journal.
40447
40448 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
40449 (REISERFS_MAGIC_DESC_BLOCK): New macro.
40450 (grub_reiserfs_transaction_header): Renamed to
40451 grub_reiserfs_description_block, replace field data with real_blocks.
40452 (grub_reiserfs_commit_block): New structure.
40453 (grub_reiserfs_data): New member journal.
40454 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
40455 number.
40456 (grub_reiserfs_read_symlink): Likewise.
40457 (grub_reiserfs_iterate_dir): Likewise.
40458 (grub_reiserfs_open): Likewise.
40459 (grub_reiserfs_read): Likewise.
40460 (grub_reiserfs_get_journal): New function.
40461 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
40462 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
40463 using grub_reiserfs_get_journal.
40464 (grub_reiserfs_close): Release memory used by journal.
40465
40466 * fs/affs.c (grub_affs_read_block): Change block type to
40467 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
40468
40469 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
40470
40471 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
40472
40473 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
40474
40475 * fs/udf.c (grub_udf_read_block): Change block type to
40476 grub_disk_addr_t. Use type cast to avoid warning.
40477
40478 * fs/xfs.c (grub_xfs_read_block): Likewise.
40479
b7c6bed5 404802008-05-16 Christian Franke <franke@computer.org>
40481
40482 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
40483 to ensure that break with ESC will always work.
40484 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
40485 Remove ESC from keyboard queue.
40486
eedf167f 404872008-05-16 Christian Franke <franke@computer.org>
40488
40489 * util/biosdisk.c: [__CYGWIN__] Add includes.
40490 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
40491 (get_os_disk): Move variable declarations to OS specific
40492 parts to avoid warning.
40493 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
40494 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
40495 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
40496 Cygwin.
40497 * util/getroot.c: [__CYGWIN__] Add includes.
40498 (strip_extra_slashes): Fix "/" case.
40499 [__CYGWIN__] (get_win32_path): New function.
40500 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
40501 [__CYGWIN__] (find_root_device): Disable.
40502 [__CYGWIN__] (get_bootsec_serial): New function.
40503 [__CYGWIN__] (find_cygwin_root_device): Likewise.
40504 [__linux__] (grub_guess_root_device): Add early returns to simplify
40505 structure.
40506 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
40507 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
40508 check for Linux only.
40509
a079699e 405102008-05-15 Bean <bean123ch@gmail.com>
40511
40512 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
40513 keyboard hang problem in apple's intel mac.
40514
1cf4059a 405152008-05-09 Robert Millan <rmh@aybabtu.com>
40516
40517 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
40518 devices.
40519 * util/grub-mkdevicemap.c (get_virtio_disk_name)
40520 (make_device_map): Likewise.
40521 Reported by Aurelien Jarno <aurel32@debian.org>
40522
ed759390 405232008-05-07 Ian Campbell <ijc@hellion.org.uk>
40524
40525 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
40526 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
40527 (make_device_map): Output entries for xvd type disks.
40528
b56c4eaa 405292008-05-07 Robert Millan <rmh@aybabtu.com>
40530
40531 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
40532 devices.
40533 * util/grub-mkdevicemap.c (get_cciss_disk_name)
40534 (make_device_map): Likewise.
40535 Reported by Roland Dreier <rdreier@cisco.com>
40536
7f8866ed 405372008-05-07 Robert Millan <rmh@aybabtu.com>
40538
40539 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
40540 grub_strstr() call. Correct a few mistakes in failure path handling.
40541
b0346e0f 405422008-05-06 Robert Millan <rmh@aybabtu.com>
40543
40544 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
40545 Do not print a trailing slash (therefore, the root directory is an
40546 empty string).
40547 (convert_system_path_to_grub_path): Do not remove trailing slash
40548 from make_system_path_relative_to_its_root() output.
40549
40550 * util/i386/pc/grub-install.in: Add trailing slash to output from
40551 make_system_path_relative_to_its_root().
40552
6cf12cbd 405532008-05-06 Robert Millan <rmh@aybabtu.com>
40554
40555 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
40556 ensures that output lines aren't intermangled with those sent to
40557 stderr (via grub_util_info()).
40558 * util/grub-probe.c (grub_refresh): Likewise.
40559 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
40560
0fbb3117 405612008-05-05 Christian Franke <franke@computer.org>
40562
40563 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
40564 Add Cygwin device names.
40565 (get_ide_disk_name) [__CYGWIN__]: Likewise.
40566 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
40567 (check_device): Return error instead of success on empty name.
40568 (make_device_map): Move label inside linux specific code to
40569 prevent compiler warning.
40570
8124cdb7 405712008-04-30 Robert Millan <rmh@aybabtu.com>
40572
40573 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
40574 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
40575 first boot option.
40576 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
40577
094c01d0 405782008-04-29 Robert Millan <rmh@aybabtu.com>
40579
40580 * docs/grub.cfg: New file (example GRUB configuration).
40581
f4b1fc02 405822008-04-26 Robert Millan <rmh@aybabtu.com>
40583
329ce2a5 40584 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
40585 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
40586 and `disk/ieee1275/nand.c'.
f4b1fc02 40587
25f16ec1 405882008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 40589
25f16ec1 40590 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
40591 i386-linuxbios.
40592
40593 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
40594 change the buffer size to 4096 for cdrom device.
40595
40596 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
40597 and nand.mod.
40598 (_linux_mod_SOURCES): New variable.
40599 (_linux_mod_CFLAGS): Likewise.
40600 (_linux_mod_LDFLAGS): Likewise.
40601 (linux_mod_SOURCES): Likewise.
40602 (linux_mod_CFLAGS): Likewise.
40603 (linux_mod_LDFLAGS): Likewise.
40604 (nand_mod_SOURCES): Likewise.
40605 (nand_mod_CFLAGS): Likewise.
40606 (nand_mod_LDFLAGS): Likewise.
40607
40608 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
40609 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
40610 type property. (nand device in olpc don't have this property)
40611
40612 * include/grub/disk.h (grub_disk_dev_id): New macro
40613 GRUB_DISK_DEVICE_NAND_ID.
40614
40615 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
40616 function prototype.
40617 (grub_rescue_cmd_initrd): Likewise.
40618
40619 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
40620 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
40621 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 40622
25f16ec1 40623 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
40624 GRUB_MACHINE_IEEE1275 is defined.
40625
40626 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
40627 Use NESTED_FUNC_ATTR attribute on the hook parameter.
40628
40629 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
40630 on nested function heap_init.
40631 (grub_upper_mem): New variable for i386-ieee1275.
40632 (grub_get_extended_memory): New function for i386-ieee1275.
40633 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
40634
40635 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
40636 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
40637 property.
f19dbdb7 40638
25f16ec1 40639 * loader/i386/ieee1275/linux.c: New file.
40640
40641 * loader/i386/ieee1275/linux_normal.c: New file.
40642
40643 * disk/ieee1275/nand.c: New file.
40644
e89d61e9 406452008-04-18 Thomas Schwinge <tschwinge@gnu.org>
40646
40647 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
40648 value.
40649 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
40650
602566f6 406512008-04-18 Robert Millan <rmh@aybabtu.com>
40652
40653 Restructures early code path on ieee1275 to unify grub_main() as
40654 the first C function that is executed in every platform.
40655
40656 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
40657 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
40658 cmain().
40659 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
40660 * kern/ieee1275/cmain.c (cmain): Rename to ...
40661 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
40662 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
40663 at the beginning.
40664
57490c2b 406652008-04-18 Robert Millan <rmh@aybabtu.com>
40666
40667 * util/update-grub.in: Fix syntax error when setting
40668 `GRUB_PRELOAD_MODULES'.
40669 Reported by Stephane Chazelas <stephane@artesyncp.com>
40670
1977517d 406712008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
40672
40673 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
40674 section into account, newer toolchains generate unique build ids
40675 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 40676 we want build ids to be preserved
1977517d 40677 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
40678 far from other sections don't cause the raw binary images grow
40679 size
40680
bfb1f1a2 406812008-04-15 Robert Millan <rmh@aybabtu.com>
40682
40683 * disk/lvm.c: Update copyright year.
40684 * kern/misc.c: Likewise.
40685
01979850 406862008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
40687
40688 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 40689 there is no memory left for physical volume name.
01979850 40690
0a1150e2 406912008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
40692
40693 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
40694 volume name mapping to support bigger than 9 character names properly.
40695
82ead3fe 406962008-04-13 Robert Millan <rmh@aybabtu.com>
40697
40698 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
40699 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
40700
e54a72f5 407012008-04-13 Christian Franke <franke@computer.org>
40702
40703 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
40704 to create a floppy emulation boot CD when non emulation mode
40705 does not work.
40706 Enable Joliet CD filesystem extension.
40707
9fe86034 407082008-04-13 Robert Millan <rmh@aybabtu.com>
40709
40710 * kern/misc.c (grub_strncat): Fix off-by-one error.
40711 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
40712
40713 * kern/env.c (grub_env_context_close): Clear current context, not
40714 previous one.
40715 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
40716
40717 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
40718
7ceeee39 407192008-04-13 Robert Millan <rmh@aybabtu.com>
40720
40721 Improve robustness when handling LVM.
40722
40723 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 40724 (and leave `*p' unmodified).
7ceeee39 40725 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
40726 through it.
40727 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
40728 iterating through it.
40729 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
40730 through it.
fe6b695a 40731 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 40732 when due) on each grub_lvm_getvalue() or grub_strstr() call.
40733 Don't assume `vg->pvs != NULL' when iterating through it.
40734
58cd3d85 407352008-04-13 Robert Millan <rmh@aybabtu.com>
40736
40737 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
40738 * genmk.rb (partmap): New variable.
40739 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
40740 (#{partmap}): New target rule.
40741 * genpartmaplist.sh: New file.
40742 * Makefile.in (pkglib_DATA): Add partmap.lst.
40743 (partmap.lst): New target rule.
40744 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
40745 modules (including all partition maps), instead of preloading them.
40746
78b51059 407472007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
40748
40749 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
40750 `linux-boot-prober' (if installed) to detect other operating
40751 systems which are installed on the computer and add them to
40752 the boot menu.
40753 * conf/common.rmk: Build and install 30_os-prober.
40754
a91627b4 407552008-04-12 Robert Millan <rmh@aybabtu.com>
40756
40757 * kern/powerpc/ieee1275/init.c: Move from here ...
40758 * kern/ieee1275/init.c: ... to here. Update all users.
40759
40760 * kern/powerpc/ieee1275/cmain.c: Move from here ...
40761 * kern/ieee1275/cmain.c: ... to here. Update all users.
40762
40763 * kern/powerpc/ieee1275/openfw.c: Move from here ...
40764 * kern/ieee1275/openfw.c: ... to here. Update all users.
40765
40766 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
40767 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
40768
322562ea 407692008-04-10 Pavel Roskin <proski@gnu.org>
40770
40771 * configure.ac: Always use "_cv_" in cache variables for
40772 compatibility with Autoconf 2.62.
40773
a02a73c5 407742008-04-07 Robert Millan <rmh@aybabtu.com>
40775
40776 Revert grub/machine/init.h addition by Pavel (since it breaks on
40777 i386-ieee1275 and others):
40778 * util/i386/pc/misc.c: Remove grub/machine/init.h.
40779 * util/powerpc/ieee1275/misc.c: Likewise.
40780
25c024b1 407812008-04-07 Robert Millan <rmh@aybabtu.com>
40782
40783 * util/grub-probe.c (probe): Improve error message.
40784
3cbd2f98 407852008-04-07 Robert Millan <rmh@aybabtu.com>
40786
40787 * util/biosdisk.c (read_device_map): Skip devices that don't exist
40788 (this prevents the presence of a bogus entry from ruining the whole
40789 thing).
40790
87a297bf 407912008-04-06 Pavel Roskin <proski@gnu.org>
40792
36747a62 40793 * util/biosdisk.c: Include grub/util/biosdisk.h.
40794 * util/grub-fstest.c (execute_command): Make static.
40795 * util/grub-mkdevicemap.c (check_device): Likewise.
40796 * util/i386/pc/misc.c: Include grub/machine/init.h.
40797 * util/powerpc/ieee1275/misc.c: Likewise.
40798 * util/lvm.c: Include grub/util/lvm.h.
40799 * util/misc.c: Include grub/kernel.h, grub/misc.h and
40800 grub/cache.h.
40801 * util/raid.c: Include grub/util/raid.h.
40802 (grub_util_getdiskname): Make static.
40803
87a297bf 40804 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
40805 grub_hostfs_fini(), as they are called from grub_init_all() and
40806 grub_fini_all() respectively. This fixes an infinite loop in
40807 grub-fstest due to double registration of hostfs.
40808 Reported by Christian Franke <Christian.Franke@t-online.de>
40809
f6ce7629 408102008-04-05 Pavel Roskin <proski@gnu.org>
40811
40812 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
40813 all 8 functions. Otherwise, probe function 0 only.
40814
070e49e4 408152008-04-04 Pavel Roskin <proski@gnu.org>
40816
8b088a4c 40817 * commands/lspci.c (grub_lspci_iter): Print the bus number
40818 correctly.
40819
4f657021 40820 * commands/lspci.c (grub_pci_classes): Fix typos.
40821 (grub_lspci_iter): Don't print func twice. Print vendor ID
40822 before device ID, as it's normally done.
40823
070e49e4 40824 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
40825 Fix signedness warnings.
40826 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
40827 Likewise.
40828 * util/ieee1275/get_disk_name.c: Include config.h so that
40829 _GNU_SOURCE is defined and getline() is declared. Mark an
40830 unused argument as such. Fix a signedness warning.
40831
ba7328dc 408322008-04-02 Pavel Roskin <proski@gnu.org>
40833
26887f22 40834 * genkernsyms.sh.in: Use more robust assignments for CC and
40835 srcdir. Quote srcdir.
40836 * gensymlist.sh.in: Likewise. Assert at the compile time that
40837 the symbol table is not empty.
40838
ba7328dc 40839 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
40840 * fs/cpio.c (grub_cpio_read): Likewise.
40841
0f582c6b 408422008-04-01 Pavel Roskin <proski@gnu.org>
40843
4b6e1995 40844 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
40845 * disk/host.c (grub_host_open): Likewise.
40846 * disk/loopback.c (grub_loopback_open): Likewise.
40847 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
40848 disk->id as in disk/host.c, not a multi-character constant.
40849
828a2768 40850 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
40851 later is obsolete, potentially dangerous and sets a bad example.
40852 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
40853 * util/misc.c (grub_util_get_image_size): Likewise.
40854
2bb4fb47 40855 * disk/loopback.c (options): Improve help for "--partitions".
40856
0f582c6b 40857 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
40858 options to align them with the short options, e.g. "echo -e".
40859
a33224e0 408602008-03-31 Bean <bean123ch@gmail.com>
40861
40862 * video/reader/png.c (grub_png_data): New member is_16bit and
40863 image_data.
40864 (grub_png_decode_image_header): Detect 16 bit png image.
40865 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
40866 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
40867 (grub_video_reader_png): Release memory occupied by image_data.
40868
40869 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
40870 4096 bytes.
40871 (grub_nfs_mount): Skip the test for sector per cluster.
40872
40873 * include/grub/ntfs.h (MAX_SPC): Removed.
40874
86cb4f54 408752008-03-31 Bean <bean123ch@gmail.com>
40876
40877 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
40878 (grub_probe_SOURCES): Add fs/afs.c.
40879 (grub_fstest_SOURCES): Likewise.
40880 (afs_mod_SOURCES): New variable.
40881 (afs_mod_CFLAGS): Likewise.
40882 (afs_mod_LDFLAGS): Likewise.
40883
40884 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
40885 (grub_emu_SOURCES): Likewise.
40886
40887 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40888
40889 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40890
40891 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40892
40893 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40894
40895 * fs/afs.c: New file.
40896
17c74c21 408972008-03-30 Pavel Roskin <proski@gnu.org>
40898
4cb68e89 40899 * disk/host.c: Include grub/misc.h to fix a warning.
40900 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
40901 warnings about implicit declarations.
40902
8790bb04 40903 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
40904 variable.
40905 * include/grub/i386/loader.h: Change declaration of
40906 grub_linux_boot() to match what grub_loader_set() expects.
40907 * util/getroot.c (grub_guess_root_device): Return const char* to
40908 fix a warning.
40909 * util/grub-probe.c (probe): Fix a warning about uninitialized
40910 abstraction_name variable.
40911 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
40912 second argument as unused to fix a warning.
40913
9a3f3296 40914 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
40915 missing grub_error() call.
40916
0ecef90d 40917 * util/update-grub_lib.in: Define datarootdir, since Autoconf
40918 2.60 and newer uses it to define datadir.
40919
0bf6d401 40920 * commands/sleep.c: Fix warning about implicit declaration.
40921 * disk/memdisk.c: Likewise.
40922 * loader/aout.c: Likewise.
40923 * loader/i386/bsd_normal.c: Likewise.
40924 * util/grub-probe.c: Likewise.
40925
7cdacf97 40926 * commands/i386/cpuid.c (has_longmode): Make static.
40927 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
40928 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
40929
17c74c21 40930 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
40931 GDT. This is more robust, as %ds can change.
40932 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
40933 calling real_to_prot().
40934 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
40935
80a3e68b 409362008-03-28 Pavel Roskin <proski@gnu.org>
40937
40938 * kern/i386/pc/startup.S: Assert that uncompressed functions
40939 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
40940 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
40941 code, as they push parts of the code (error handlers) beyond
40942 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
40943 code as correctness and size.
40944
77bcd272 409452008-03-28 Pavel Roskin <proski@gnu.org>
40946
40947 * kern/i386/pc/startup.S
40948 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
40949 data block address to the real mode, keep offset minimal. This
40950 works around a bug in AWARD BIOS on old Athlon systems, which
40951 makes CD detection hang.
40952
c5dfd43b 409532008-03-26 Pavel Roskin <proski@gnu.org>
40954
40955 * normal/color.c (grub_parse_color_name_pair): Make `name' a
40956 const.
40957 * include/grub/normal.h: Add grub_parse_color_name_pair()
40958 declaration.
40959
bf962df2 409602008-03-24 Bean <bean123ch@gmail.com>
40961
40962 * disk/i386/pc/biosdisk.c (cd_start): Removed.
40963 (cd_count): Removed.
40964 (cd_drive): New variable.
40965 (grub_biosdisk_get_drive): Don't check for (cdN) device.
40966 (grub_biosdisk_call_hook): Likewise.
40967 (grub_biosdisk_iterate): Change cdrom detection method.
40968 (grub_biosdisk_open): Replace cd_start with cd_drive.
40969 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
40970 detect cdrom device.
40971
40972 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
40973 Removed.
40974 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
40975 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
40976 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
40977 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
40978 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
40979 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
40980 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
40981 (grub_biosdisk_cdrp): New structure.
40982 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
40983
40984 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
40985
40986 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
40987 device.
40988
40989 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
40990 New function.
40991
68e7fc7a 409922008-03-20 Robert Millan <rmh@aybabtu.com>
40993
40994 Remove 2 TiB limit in ata.mod.
40995 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
40996 (grub_ata_dumpinfo): Print sector count with 0x%llx.
40997 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
40998 grub_uint64_t instead of grub_uint32_t.
40999
38ad2cf5 410002008-03-05 Bean <bean123ch@gmail.com>
41001
41002 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
41003 (grub_multiboot): Set boot device.
41004
41005 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
41006
2b89344e 410072008-03-02 Bean <bean123ch@gmail.com>
41008
41009 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
41010 symlink_buffer.
41011
87a95d1f 410122008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
41013
41014 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
41015 texinfo.tex.
41016
41017 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
41018 modified.
41019
41020 * docs/fdl.texi: New file.
f19dbdb7 41021
87a95d1f 41022 * docs/mdate-sh: New file. Copied from gnulib.
41023 * docs/texinfo.tex: Likewise.
41024
41025 * config.guess: Updated from gnulib.
41026 * install-sh: Likewise.
41027
7dc15d8e 410282008-02-28 Robert Millan <rmh@aybabtu.com>
41029
41030 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
41031 (aout_mod_SOURCES): New variable.
41032 (aout_mod_CFLAGS): Likewise.
41033 (aout_mod_LDFLAGS): Likewise.
41034
41035 * conf/i386-ieee1275.rmk: Likewise.
41036
b00ab696 410372008-02-28 Robert Millan <rmh@aybabtu.com>
41038
41039 * util/update-grub.in: Reorganise terminal validity check. Accept
41040 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
41041 Based on suggestion by Franklin PIAT.
41042
79ca2d78 410432008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
41044
41045 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
41046 function.
41047 * util/getroot.c (grub_util_check_block_device): New function that
41048 returns the given argument if it is a block device and returns NULL else.
41049 * util/grub-probe.c (argument_is_device): New variable.
41050 (probe): Promote device_name from a variable to an argument. Receive
41051 device_name from grub_util_check_block_device() if path is NULL and from
41052 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 41053 (options): Introduce new parameter '-d, --device'.
79ca2d78 41054 (main): Add description of the new parameter to the help screen.
41055 Rename path variable to argument. Set argument_is_device if the '-d'
41056 option is given. Pass argument to probe() depending on
41057 argument_is_device.
41058
0d16e571 410592008-02-24 Bean <bean123ch@gmail.com>
41060
41061 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
41062 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
41063 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
41064 (GRUB_ISO9660_VOLDESC_PART): Likewise.
41065 (GRUB_ISO9660_VOLDESC_END): Likewise.
41066 (grub_iso9660_primary_voldesc): New member escape.
41067 (grub_iso9660_data): New member joliet.
41068 (grub_iso9660_convert_string): New function.
41069 (grub_iso9660_mount): Detect joliet extension.
41070 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
41071 (grub_iso9660_iso9660_label): Likewise.
41072
41073 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
41074 (grub_setup_SOURCES): Add fs/udf.c.
41075 (grub_fstest_SOURCES): Likewise.
41076 (udf_mod_SOURCES): New variable.
41077 (udf_mod_CFLAGS): Likewise.
41078 (udf_mod_LDFLAGS): Likewise.
41079
41080 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
41081 (grub_emu_SOURCES): Likewise.
41082
41083 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41084
41085 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41086
41087 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41088
41089 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41090
41091 * fs/udf.c: New file.
41092
8a594a17 410932008-02-24 Robert Millan <rmh@aybabtu.com>
41094
41095 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
41096 (normal/lexer.c_DEPENDENCIES): New variables.
41097 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41098 (normal/lexer.c_DEPENDENCIES): Likewise.
41099 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
41100 (normal/lexer.c_DEPENDENCIES): Likewise.
41101 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
41102 (normal/lexer.c_DEPENDENCIES): Likewise.
41103 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41104 (normal/lexer.c_DEPENDENCIES): Likewise.
41105 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41106 (normal/lexer.c_DEPENDENCIES): Likewise.
41107
2dc33c03 411082008-02-23 Robert Millan <rmh@aybabtu.com>
41109
41110 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
41111 since they were intended to be in hex. This didn't break previously
41112 because of a bug in gpt_partition_map_iterate() (see below).
41113
41114 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
41115 when checking the validity of GPT header.
41116 Remove `partno', since it always provides the same information as `i'.
41117
f6f4cfb0 411182008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
41119
41120 * include/grub/efi/time.h: Fix a wrong comment.
41121
79ff665f 411222008-02-19 Pavel Roskin <proski@gnu.org>
41123
41124 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
41125 message.
41126
d38e24c2 411272008-02-19 Bean <bean123ch@gmail.com>
41128
41129 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
41130 (aout_mod_SOURCES): New variable.
41131 (aout_mod_CFLAGS): Likewise.
41132 (aout_mod_LDFLAGS): Likewise.
41133 (_bsd_mod_SOURCES): New variable.
41134 (_bsd_mod_CFLAGS): Likewise.
41135 (_bsd_mod_LDFLAGS): Likewise.
41136 (bsd_mod_SOURCES): New variable.
41137 (bsd_mod_CFLAGS): Likewise.
41138 (bsd_mod_LDFLAGS): Likewise.
41139
41140 * include/grub/aout.h: New file.
41141
41142 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
41143
41144 * include/grub/i386/bsd.h: New file.
41145
41146 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
41147 to make it public.
41148
41149 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
41150 function is called, so that it's possible to change it inside the hook.
41151 (grub_elf64_load): Likewise.
41152 (grub_elf_file): Don't close the file if elf header is not found.
41153 (grub_elf_close): Close the file if grub_elf_file fails (The new
41154 grub_elf_file won't close it).
41155 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
41156 (grub_elf64_size): Likewise.
41157
41158 * kern/i386/loader.S (grub_unix_real_boot): New function.
41159
41160 * loader/aout.c: New file.
41161
41162 * loader/i386/bsd.c: New file.
41163
41164 * loader/i386/bsd_normal.c: New file.
41165
41166 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
41167
41168 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 41169 can test other formats.
d38e24c2 41170
b93bdb0f 411712008-02-19 Robert Millan <rmh@aybabtu.com>
41172
41173 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
41174 (grub_gpt_partition_type_empty): Redefine with macro from
41175 `<grub/gpt_partition.h>'.
41176 (gpt_partition_map_iterate): Adjust partition type comparison.
41177
41178 Export `entry' as partmap-specific `part.data' struct.
41179 (grub_gpt_header, grub_gpt_partentry): Move from here ...
41180
41181 * include/grub/gpt_partition.h (grub_gpt_header)
41182 (grub_gpt_partentry): ... to here (new file).
41183
41184 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
41185
41186 (grub_gpt_partition_type_bios_boot): New const variable, defined
41187 with macro from `<grub/gpt_partition.h>'.
41188
41189 (setup): Replace `first_start' with `embed_region', which keeps
41190 track of the embed region (and is partmap-agnostic).
41191
41192 Replace find_first_partition_start() with find_usable_region(),
41193 which finds a usable region for embedding using partmap-specific
41194 knowledge (supports PC/MSDOS and GPT).
41195
41196 Fix all assumptions that the embed region start at sector 1, using
41197 `embed_region.start' from now on. Similarly, use `embed_region.end'
41198 rather than `first_start' to calculate available size.
41199
41200 In grub_util_info() message, replace "into after the MBR" with an
41201 indication of the specific sector our embed region starts at.
41202
66cb40f6 412032008-02-19 Robert Millan <rmh@aybabtu.com>
41204
41205 * DISTLIST: Replace `commands/ieee1275/halt.c' and
41206 `commands/ieee1275/reboot.c' with `commands/halt.c' and
41207 `commands/reboot.c'.
41208 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
41209 (halt_mod_SOURCES): Likewise.
41210 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
41211 (halt_mod_SOURCES): Likewise.
41212
b7202015 412132008-02-17 Christian Franke <franke@computer.org>
41214
41215 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
41216
32b0fc49 412172008-02-17 Robert Millan <rmh@aybabtu.com>
41218
41219 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
41220 set `first_start' to 0 for non-PC/MSDOS partition maps.
41221
aca63502 412222008-02-16 Robert Millan <rmh@aybabtu.com>
41223
41224 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
41225 do not assume partition map is PC/MSDOS before performing checks that
41226 are specific to that layout.
41227
0de8be86 412282008-02-13 Robert Millan <rmh@aybabtu.com>
41229
41230 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
41231 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
41232 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
41233
c3db8364 412342008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
41235
41236 * configure.ac: Only a cosmetic change on the handling of
41237 -fno-stack-protector.
41238
f714229e 412392008-02-12 Alexandre Boeglin <alex@boeglin.org>
41240
c3db8364 41241 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
41242 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
41243 reboot.c.
f714229e 41244 (grub_install_SOURCES): Add halt.mod and reboot.mod.
41245 (halt_mod_SOURCES): New variable.
41246 (halt_mod_CFLAGS): Likewise.
41247 (halt_mod_LDFLAGS): Likewise.
41248 (reboot_mod_SOURCES): Likewise.
41249 (reboot_mod_CFLAGS): Likewise.
41250 (reboot_mod_LDFLAGS): Likewise.
41251
c3db8364 41252 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
41253 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
41254 reboot.c.
f714229e 41255 (halt_mod_SOURCES): Likewise.
41256 (reboot_mod_SOURCES): Likewise.
41257
c3db8364 41258 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
41259 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 41260 (reboot_mod_SOURCES): Likewise.
41261
41262 * commands/i386/pc/reboot.c: merge this file ...
41263
41264 * commands/ieee1275/reboot.c: ... and this file ...
41265
41266 * commands/reboot.c: ... to this file.
c3db8364 41267 Add some precompiler directive to include the correct header for
41268 each machine.
f714229e 41269
41270 * commands/ieee1275/halt.c: move this file ...
41271
41272 * commands/halt.c: ... to here.
c3db8364 41273 Add some precompiler directive to include the correct header for
41274 each machine.
f714229e 41275
41276 * include/grub/efi/efi.h (grub_reboot): New function declaration.
41277 (grub_halt): Likewise.
41278
41279 * kern/efi/efi.c (grub_reboot): New function.
41280 (grub_halt): Likewise.
41281
c74493e0 412822008-02-12 Robert Millan <rmh@aybabtu.com>
41283
41284 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
41285 /dev (like it is done for /dev/mapper). This doesn't provide support
41286 for EVMS, but at least it is now easy to identify the problem when it
41287 arises.
41288
d0db4b04 412892008-02-11 Robert Millan <rmh@aybabtu.com>
41290
41291 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
41292 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
41293 comparing it with -1, not 0.
41294
bf748642 412952008-02-10 Robert Millan <rmh@aybabtu.com>
41296
41297 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
41298 `disk/lvm.c'.
41299 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41300 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
41301
41302 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
41303 `disk/lvm.c' to the end of the list.
41304 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41305 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41306
b5db202a 413072008-02-10 Robert Millan <rmh@aybabtu.com>
41308
41309 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
41310 grub_print_error() instead. This will let user know why we're entering
41311 rescue mode.
41312 Based on suggestions from Sam Morris.
41313
83abee31 413142008-02-10 Alexandre Boeglin <alex@boeglin.org>
41315
41316 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
41317 on remaining N args, instead of "--" arg N times.
41318
78d5a08b 413192008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
41320
41321 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
41322 (fill_with_default_glyph): Changed to use unknown_glyph for fill
41323 pattern for unknown glyphs.
41324
68807e5f 413252008-02-09 Robert Millan <rmh@aybabtu.com>
41326
41327 * configure.ac: Probe for `help2man'.
41328 * Makefile.in (builddir): New variable.
41329 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
41330 or otherwise add a few flags/options to it.
41331 (install-local): For every executable utility or script that is
41332 installed, invoke $(HELP2MAN) to install a manpage based on --help
41333 output.
41334
41335 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
41336 that it doesn't prevent --help from working in build tree.
41337
41338 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
41339 with `bug-grub@gnu.org'.
41340 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
41341 * util/update-grub.in (usage): New function.
41342 Implement proper argument check, with support for --help and --version
41343 (as well as existing -y).
41344
413452008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 41346
41347 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
41348 avoid overwriting previous output.
41349 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
41350
c1962162 413512008-02-09 Robert Millan <rmh@aybabtu.com>
41352
41353 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
41354 drawing the menu.
41355
3dac2e3f 413562008-02-09 Robert Millan <rmh@aybabtu.com>
41357
41358 * commands/sleep.c: New file.
41359 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
41360 (sleep_mod_SOURCES): New variable.
41361 (sleep_mod_CFLAGS): Likewise.
41362 (sleep_mod_LDFLAGS): Likewise.
41363
7a634e08 413642008-02-09 Robert Millan <rmh@aybabtu.com>
41365
41366 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
41367 situations in which we can deduce the RAID size and the superblock
41368 doesn't match it.
41369
b92f0c18 413702008-02-09 Robert Millan <rmh@aybabtu.com>
41371
41372 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
41373 and return a grub_diskmemberlist_t composed of LVM physical volumes.
41374 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
41375
41376 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
41377 and return a grub_diskmemberlist_t composed of physical array members.
41378 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
41379
41380 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
41381 prototype.
41382 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
41383 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
41384 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
41385
41386 * util/grub-probe.c (probe): Move partmap probing code from here ...
41387 (probe_partmap): ... to here.
41388 (probe): Use probe_partmap() once for the disk we're probing, and
41389 additionally, when such disk contains a memberlist() struct member,
41390 once for each disk that is contained in the structure returned by
41391 memberlist().
41392
91a4bf68 413932008-02-09 Robert Millan <rmh@aybabtu.com>
41394
41395 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
41396 environment variable to 'all' in order to obtain debug output from
41397 non-util/ code.
41398 * util/i386/pc/grub-setup.c (main): Likewise.
41399
a96f9caa 414002008-02-08 Robert Millan <rmh@aybabtu.com>
41401
41402 * disk/raid.c (grub_raid_scan_device): Check for
41403 `array->device[sb.this_disk.number]' rather than for
41404 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 41405 guaranteed to be accessible.
a96f9caa 41406
b37a9222 414072008-02-08 Robert Millan <rmh@aybabtu.com>
41408
41409 * disk/raid.c: Update copyright.
41410 * fs/cpio.c: Likewise.
41411 * include/grub/raid.h: Likewise.
41412 * loader/i386/pc/multiboot.c: Likewise.
41413 * util/hostfs.c: Likewise.
41414
5626aee1 414152008-02-08 Robert Millan <rmh@aybabtu.com>
41416
41417 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
41418 to a grub_disk_t array.
41419 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
41420 `device[x]'.
41421 (grub_raid_scan_device): Replace `device[x].name' accesses with
41422 `device[x]->name'. Simplify initialization of `array->device[x]'.
41423
554f0187 414242008-02-08 Robert Millan <rmh@aybabtu.com>
41425
41426 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
41427 grub_dprintf() calls.
41428 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
41429 error message.
41430
1ec8425d 414312008-02-07 Christian Franke <franke@computer.org>
41432
41433 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
41434 instead of fseek and ftell to support large files.
41435 (grub_hostfs_read): Likewise.
41436
f2156fda 414372008-02-07 Robert Millan <rmh@aybabtu.com>
41438
41439 Patch from Jeroen Dekkers.
41440 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 41441 failure, since successfully reading all array members might not be
f2156fda 41442 required.
41443
9216e0e7 414442008-02-06 Robert Millan <rmh@aybabtu.com>
41445
41446 * util/grub-probe.c (probe): Simplify partmap probing (with the
41447 assumption that the first word up to the underscore equals to
41448 the module name).
41449
b0dfd29a 414502008-02-06 Christian Franke <franke@computer.org>
41451
41452 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
41453 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
41454 last block of a cpio or tar stream.
41455 Check for "TRAILER!!!" instead of any empty data
41456 block to detect last block of a cpio stream.
41457 (grub_cpio_dir): Fix constness of variable np.
41458 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
41459 cpio or tar trailer is detected. This fixes a crash
41460 on open of a non existing file.
41461
c32865bf 414622008-02-05 Bean <bean123ch@gmail.com>
41463
41464 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
41465 address of entry.
41466 (grub_multiboot_load_elf64): Likewise.
41467 (grub_multiboot): Initialize mbi structure.
41468
41469 * util/grub-fstest.c: Don't include unused header file script.h.
41470
fe6b695a 41471 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 41472 of file.
41473 (grub_fstest_SOURCES): Likewise.
41474
409480b7 414752008-02-05 Robert Millan <rmh@aybabtu.com>
41476
41477 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
41478 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
41479 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
41480 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
41481
41482 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
41483 (translation_table): Replace hardcoded values with macros
41484 provided by `<grub/term.h>'.
41485
41486 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
41487 (keyboard_map): Correct/add a few values, with macros provided
41488 by `<grub/term.h>'.
41489 (keyboard_map_shift): Zero values that don't differ from their
41490 `keyboard_map' equivalents.
41491 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
41492 Discard the second scan code that is always sent by Caps lock.
41493 Only use `keyboard_map_shift' when it provides a non-zero value,
41494 otherwise fallback to `keyboard_map'.
41495
99fadbaa 414962008-02-04 Bean <bean123ch@gmail.com>
41497
41498 * Makefile.in (enable_grub_fstest): New variable.
41499
41500 * conf/common.rmk (grub_fstest_init.lst): New rule.
41501 (grub_fstest_init.h): Likewise.
41502 (grub_fstest_init.c): Likewise.
41503 (util/grub-fstest.c_DEPENDENCIES): New variable.
41504 (grub_fstest_SOURCES): Likewise.
41505
41506 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
41507
41508 * util/grub-fstest.c: New file.
41509
bf567c50 415102008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41511
41512 Make grub-setup handle a separate root device.
f19dbdb7 41513
bf567c50 41514 * util/i386/pc/grub-setup.c (setup): Always open the root device,
41515 so that the root device can be compared with the destination
41516 device.
41517 When embedding the core image, if the root and destination devices
41518 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
41519 0xFF.
41520 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 41521
9be6b98b 415222008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41523
41524 Add support for having a grub directory in a different drive. This
41525 is still only the data handling part.
f19dbdb7 41526
9be6b98b 41527 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
41528 (codestart): Save %dh in GRUB_ROOT_DRIVE.
41529 (grub_root_drive): New variable.
41530
41531 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
41532 instead of GRUB_BOOT_DRIVE to construct a device name. Set
41533 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
41534 as it was.
41535
41536 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
41537
41538 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
41539 macro.
41540 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
41541
41542 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
41543 is bogus, because PXE booting does not specify any drive
41544 correctly.
41545
41546 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
41547 am not sure if this is really correct.
41548
41549 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
41550 is always identical to the boot drive when booting from a CD.
41551
41552 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
41553 longer.
41554 (root_drive): New variable.
41555 (real_start): Unconditionally set %dh to ROOT_DRIVE.
41556 (setup_sectors): Push %dx right after popping it, because %dh will
41557 be modified later.
41558 (copy_buffer): Restore %dx.
41559
e0ca0677 415602008-02-03 Robert Millan <rmh@aybabtu.com>
41561
41562 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
41563 use `cdboot.img' for cdrom images.
41564
3b3f6629 415652008-02-03 Robert Millan <rmh@aybabtu.com>
41566
41567 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
41568 only setup gfxterm when `font' command has succeeded.
41569
d42b3672 415702008-02-03 Robert Millan <rmh@aybabtu.com>
41571
41572 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
41573 (grub_rescue_cmd_multiboot_loader)
41574 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
41575
fa370ea6 415762008-02-03 Pavel Roskin <proski@gnu.org>
41577
e0c5dacb 41578 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 41579 %edx and %esi from stack only after grub_gate_a20() is called.
41580 grub_gate_a20() clobbers %edx.
41581
f2a76e1d 415822008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41583
41584 * configure.ac (AC_INIT): Bumped to 1.96.
41585
41586 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
41587 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
41588 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
41589 video/readers/png.c.
41590
90fd32d1 415912008-02-03 Bean <bean123ch@gmail.com>
9be665dd 41592
41593 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
41594 (cdboot_img_SOURCES): New variable.
41595 (cdboot_img_ASFLAGS): New variable.
41596 (cdboot_img_LDFLAGS): New variable.
41597
41598 * boot/i386/pc/cdboot.S: New file.
41599
41600 * disk/i386/pc/biosdisk.c (cd_start): New variable.
41601 (cd_count): Likewise.
41602 (grub_biosdisk_get_drive): Add support for cd device.
41603 (grub_biosdisk_call_hook): Likewise.
41604 (grub_biosdisk_iterate): Likewise.
41605 (grub_biosdisk_open): Likewise.
41606 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
41607 (grub_biosdisk_rw): Support reading from cd device.
41608 (GRUB_MOD_INIT): Iterate cd devices.
41609
41610 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
41611 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
41612 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
41613
41614 * kern/i386/pc/init.c (make_install_device): Check for cd device.
41615
4020aa53 416162008-02-02 Robert Millan <rmh@aybabtu.com>
41617
41618 * commands/read.c: New file.
41619 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
41620 (read_mod_SOURCES): New variable.
41621 (read_mod_CFLAGS): Likewise.
41622 (read_mod_LDFLAGS): Likewise.
41623
e03a1132 416242008-02-02 Robert Millan <rmh@aybabtu.com>
41625
41626 * normal/main.c (grub_normal_execute): Check for `menu->size' when
41627 determining whether menu has to be displayed.
41628
58c69220 416292008-02-02 Marco Gerards <marco@gnu.org>
41630
41631 * bus/pci.c: New file.
41632
41633 * include/grub/pci.h: Likewise.
41634
41635 * include/grub/i386/pc/pci.h: Likewise.
41636
41637 * commands/lspci.c: Likewise.
41638
41639 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
41640 `lspci.mod'.
41641 (pci_mod_SOURCES): New variable.
41642 (pci_mod_CFLAGS): Likewise.
41643 (pci_mod_LDFLAGS): Likewise.
41644 (lspci_mod_SOURCES): Likewise.
41645 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 41646 (lspci_mod_LDFLAGS): Likewise.
58c69220 41647
c004e1b4 416482008-02-02 Bean <bean123ch@gmail.com>
41649
41650 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
41651 (grub_ufs_get_file_block): Fix indirect block calculation problem.
41652
41653 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
41654 (grub_xfs_btree_node): New structure.
41655 (grub_xfs_btree_root): New structure.
41656 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
41657 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
41658 (GRUB_XFS_EXTENT_BLOCK): Likewise.
41659 (GRUB_XFS_EXTENT_SIZE): Likewise.
41660 (grub_xfs_read_block): Support btree format type.
41661 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
41662 Use directory block as basic unit.
41663
41664 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
41665
41666 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
41667 __attribute__ ((__regparm__ (1))).
41668
f95562bf 416692008-02-01 Robert Millan <rmh@aybabtu.com>
41670
41671 Correct a mistake in previous commit.
41672
41673 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
41674 top.
41675 (normal/command.c_DEPENDENCIES): New variable.
41676
7d31f41f 416772008-02-01 Robert Millan <rmh@aybabtu.com>
41678
41679 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
41680 top.
41681 (normal/command.c_DEPENDENCIES): New variable.
41682 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
41683 * conf/i386-ieee1275.rmk: Likewise.
41684 * conf/i386-linuxbios.rmk: Likewise.
41685 * conf/i386-pc.rmk: Likewise.
41686 * conf/sparc64-ieee1275.rmk: Likewise.
41687 * conf/powerpc-ieee1275.rmk: Likewise.
41688 (grub_emu_SOURCES): Add `fs/fshelp.c'.
41689
41690 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
41691
60b6be74 416922008-02-01 Robert Millan <rmh@aybabtu.com>
41693
41694 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
41695 call at beginning of function.
41696
078522ab 416972008-01-31 Pavel Roskin <proski@gnu.org>
41698
41699 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 41700 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
41701 (grub_mkrescue_SOURCES): Likewise.
078522ab 41702 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
41703
ccaa8a5f 417042008-01-30 Robert Millan <rmh@aybabtu.com>
41705
41706 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
41707 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
41708 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
41709 (grub_probe_SOURCES): ... to here.
41710
41711 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
41712 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
41713 * conf/i386-ieee1275.rmk: Likewise.
41714 * conf/i386-linuxbios.rmk: Likewise.
41715 * conf/powerpc-ieee1275.rmk: Likewise.
41716
ae5a9cd7 417172008-01-30 Tristan Gingold <gingold@free.fr>
41718
41719 * kern/rescue.c: Silently accept empty lines.
41720
70bc2ef2 417212008-01-29 Bean <bean123ch@gmail.com>
41722
41723 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
41724 (real_code_2): Code cleanup and change comment style.
41725 (move_memory): Avoid using 32-bit address mode.
41726
6a4d50ea 417272008-01-29 Bean <bean123ch@gmail.com>
41728
41729 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
41730 (png_mod_SOURCES): New variable.
41731 (png_mod_CFLAGS): Likewise.
41732 (png_mod_LDFLAGS): Likewise.
41733
41734 * video/readers/png.c: New file.
41735
11cc30ac 417362008-01-28 Robert Millan <rmh@aybabtu.com>
41737
41738 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
41739 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
41740 `ifndef GRUB_MOD_GAP' hack.
41741 * util/elf/grub-mkimage.c (add_segments): Likewise.
41742
3abc589f 417432008-01-27 Robert Millan <rmh@aybabtu.com>
41744
41745 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
41746 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 41747 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 41748
e1907778 417492008-01-27 Robert Millan <rmh@aybabtu.com>
41750
41751 Get grub-emu to build again (including parallel builds).
41752
41753 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
41754 Split into ...
41755 (util/grub-emu.c_DEPENDENCIES): ... this, ...
41756 (normal/execute.c_DEPENDENCIES): ... this, ...
41757 (grub-emu_DEPENDENCIES): ... and this.
41758
41759 * conf/i386-efi.rmk: Likewise.
41760 * conf/i386-linuxbios.rmk: Likewise.
41761 * conf/i386-ieee1275.rmk: Likewise.
41762 * conf/powerpc-ieee1275.rmk: Likewise.
41763 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
41764
2216b101 417652008-01-27 Robert Millan <rmh@aybabtu.com>
41766
41767 * NEWS: Add a few items.
41768
f75172d9 417692008-01-27 Robert Millan <rmh@aybabtu.com>
41770
41771 Fix parallel builds with grub-emu. Based on earlier commit for
41772 grub-probe and grub-setup.
41773
41774 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41775 (util/grub-emu.c_DEPENDENCIES): ... this.
41776 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41777 (util/grub-emu.c_DEPENDENCIES): ... this.
41778 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41779 (util/grub-emu.c_DEPENDENCIES): ... this.
41780 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41781 (util/grub-emu.c_DEPENDENCIES): ... this.
41782 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41783 (util/grub-emu.c_DEPENDENCIES): ... this.
41784
3f51de77 417852008-01-27 Pavel Roskin <proski@gnu.org>
41786
41787 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
41788 to create a gap between _end and the modules added to the image
41789 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
41790 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
41791 * util/elf/grub-mkimage.c (add_segments): Likewise.
41792
2033f53e 417932008-01-26 Pavel Roskin <proski@gnu.org>
41794
41795 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
41796 just return an error.
41797
22da1f6f 417982008-01-26 Bean <bean123ch@gmail.com>
41799
41800 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
41801 (grub_reiserfs_get_item): Save offset of the next item.
41802 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
41803
2a9525e6 418042008-01-25 Robert Millan <rmh@aybabtu.com>
41805
41806 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
41807 make all filesystem sources appear together (possibly fixing omissions
41808 while at it).
41809 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41810 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41811 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41812 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41813
41814 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
41815 add `kern/file.c'.
41816 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
41817 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
41818 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
41819 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
41820
41821 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
41822 (probe): Add a sanity check to make sure of our ability to read
41823 requested files when probing for filesystem type.
41824
41825 * genmk.rb: Update copyright year (2007).
41826
41827 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
41828 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
41829 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
41830 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
41831 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
41832 : Remove function prototypes.
41833
b95f71b5 418342008-01-25 Robert Millan <rmh@aybabtu.com>
41835
41836 Revert my previous commits (based on wrong assumption of how grub_errno
41837 works).
41838
fe6b695a 41839 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 41840 * kern/file.c (grub_file_open): Likewise.
41841
d08bbb49 418422008-01-24 Pavel Roskin <proski@gnu.org>
41843
41844 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
41845 that hang if GRUB tries to setup colors.
41846 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
41847 colors for firmwares that don't support it.
41848 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
41849 Recognize Open Hack'Ware, set flags to work around its
41850 limitations.
41851
605e36ed 418522008-01-24 Robert Millan <rmh@aybabtu.com>
41853
41854 * kern/file.c (grub_file_open): Do not account previous failures of
41855 unrelated functions when grub_errno is checked for.
41856 Reported by Oleg Strikov.
41857
bac332a1 418582008-01-24 Bean <bean123ch@gmail.com>
41859
41860 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
41861 (grub_ufs_sblock): New member volume name.
41862 (grub_ufs_find_file): Fix string copy bug.
41863 (grub_ufs_label): Implement this function properly.
41864
41865 * fs/hfs.c (grub_hfs_cnid_type): New enum.
41866 (grub_hfs_iterate_records): Use the correct file number for extents
41867 and catalog file. Fix problem in next index calculation.
41868 (grub_hfs_find_node): Replace recursive function call with loop.
41869 (grub_hfs_iterate_dir): Replace recursive function call with loop.
41870
15c80c09 418712008-01-23 Robert Millan <rmh@aybabtu.com>
41872
41873 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
41874 `<grub/symbol.h>' and `<grub/multiboot.h>'.
41875 (grub_multiboot2_real_boot): New function prototype.
41876
41877 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
41878 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
41879
41880 * kern/i386/ieee1275/init.c (grub_os_area_addr)
41881 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
41882
305338fd 418832008-01-23 Robert Millan <rmh@aybabtu.com>
41884
41885 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
41886 #ifdef'ed out grub_printf().
41887
3ea52685 418882008-01-23 Robert Millan <rmh@aybabtu.com>
41889
41890 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
41891 grub_dprintf calls, since they make "debug=all" mode unusable.
41892 (grub_console_checkkey): Likewise.
41893
5882ae4b 418942008-01-23 Robert Millan <rmh@aybabtu.com>
41895
41896 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
41897 `term/i386/pc/at_keyboard.c'.
41898 (pkglib_MODULES): Add `serial.mod'.
41899 (serial_mod_SOURCES): New variable.
41900 (serial_mod_CFLAGS): Likewise.
41901 (serial_mod_LDFLAGS): Likewise.
41902
41903 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
41904 `<grub/powerpc/ieee1275/console.h>'.
41905 (grub_keyboard_controller_init): New function prototype.
41906 (grub_console_checkkey): Likewise.
41907 (grub_console_getkey): Likewise.
41908
41909 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
41910 keyboard on i386.
41911
41912 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
41913 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
41914
06ab5303 419152008-01-23 Robert Millan <rmh@aybabtu.com>
41916
41917 * kern/i386/pc/init.c (make_install_device): When memdisk image is
41918 present, "(memdisk)/boot/grub" becomes the default prefix.
41919
41920 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
41921 a memdisk tarball with all the modules. Add --overlay=DIR option that
41922 allows users to overlay additional files into the image.
41923
dbb475a4 419242008-01-23 Robert Millan <rmh@aybabtu.com>
41925
41926 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
41927 and `machine/memory.h'.
41928 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
41929 (_multiboot_mod_SOURCES): New variable.
41930 (_multiboot_mod_CFLAGS): Likewise.
41931 (_multiboot_mod_LDFLAGS): Likewise.
41932 (multiboot_mod_SOURCES): Likewise.
41933 (multiboot_mod_CFLAGS): Likewise.
41934 (multiboot_mod_LDFLAGS): Likewise.
41935
41936 * include/grub/i386/ieee1275/loader.h: New file.
41937
41938 * include/grub/i386/ieee1275/machine.h: Likewise.
41939
41940 * include/grub/i386/ieee1275/memory.h: Likewise.
41941
41942 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
41943 variable declaration.
41944 (grub_os_area_size): Likewise.
41945
41946 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
41947 (grub_lower_mem, grub_upper_mem): New variables.
41948 (grub_stop_floppy): New function (just to make
41949 grub_multiboot2_real_boot() happy).
41950
41951 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
41952 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
41953 (grub_stop): New function.
41954 Include `"../realmode.S"' and `"../loader.S"'.
41955
41956 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
41957 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
41958
41959 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
41960 rely on grub_multiboot2_real_boot() for final boot.
41961
25638629 419622008-01-22 Robert Millan <rmh@aybabtu.com>
41963
41964 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
41965 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
41966 device that doesn't look like an SD card.
41967 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
41968 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
41969 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
41970 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
41971 found.
41972
9dad816d 419732008-01-22 Robert Millan <rmh@aybabtu.com>
41974
41975 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
41976 avoid claiming over our own code.
41977
34842f2d 419782008-01-22 Bean <bean123ch@gmail.com>
41979
41980 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
41981 (jpeg_mod_SOURCES): New variable.
41982 (jpeg_mod_CFLAGS): Likewise.
41983 (jpeg_mod_LDFLAGS): Likewise.
41984
41985 * video/readers/jpeg.c : New file.
41986
44023a28 419872008-01-22 Bean <bean123ch@gmail.com>
41988
41989 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
41990 there are no more items.
41991
bc2d8ac6 419922008-01-21 Robert Millan <rmh@aybabtu.com>
41993
41994 * kern/mm.c (grub_mm_init_region): Improve debug message.
41995
261bd4bc 419962008-01-21 Robert Millan <rmh@aybabtu.com>
41997
41998 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
41999 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
42000 address.
42001 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
42002 a C macro.
42003 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
42004 Indicates start of upper memory.
42005 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
42006 (generate_image): Abort when image size is big enough to corrupt
42007 upper memory.
42008
42009 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
42010 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
42011 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
42012 instead of hardcoding 0xA0000.
42013 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
42014 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
42015 instead of hardcoding 0xA0000.
42016
f970b55e 420172008-01-21 Robert Millan <rmh@aybabtu.com>
42018
42019 * disk/memdisk.c (memdisk_size): New variable.
42020 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
42021 `memdisk_size'.
42022 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
42023 image to dynamic memory.
42024 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
42025 `memdisk_size'. Free memdisk block.
42026
1a8b0526 420272008-01-21 Robert Millan <rmh@aybabtu.com>
42028
42029 Fix detection of very small filesystems (like tar).
42030
42031 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
42032 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
42033 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
42034 a problem with this disk).
42035
6e9b4aab 420362008-01-21 Robert Millan <rmh@aybabtu.com>
42037
42038 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
42039 on grub_biosdisk_rw_standard() error.
42040
0d8837b2 420412008-01-21 Robert Millan <rmh@aybabtu.com>
42042
42043 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
42044 recent changes.
42045 * kern/elf.c: Likewise.
42046 * kern/ieee1275/ieee1275.c: Likewise.
42047 * kern/powerpc/ieee1275/openfw.c: Likewise.
42048 * term/ieee1275/ofconsole.c: Likewise.
42049
ffd36e34 420502008-01-21 Robert Millan <rmh@aybabtu.com>
42051
42052 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
42053
3f0093d0 42054 * include/grub/kernel.h (grub_arch_memdisk_addr)
42055 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 42056
3f0093d0 42057 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
42058 (grub_arch_memdisk_size): ... to here.
ffd36e34 42059
6c391b21 420602008-01-21 Robert Millan <rmh@aybabtu.com>
42061
42062 Mostly based on bugfix from Bean.
42063
42064 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
42065 attribute with hook() parameter.
42066 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
42067 declaration.
42068 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
42069 attribute with hook() parameter.
42070 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
42071 declaration.
42072
55a581dc 420732008-01-21 Robert Millan <rmh@aybabtu.com>
42074
42075 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
42076 (pkglib_MODULES): Add `memdisk.mod'.
42077 (memdisk_mod_SOURCES): New variable.
42078 (memdisk_mod_CFLAGS): Likewise.
42079 (memdisk_mod_LDFLAGS): Likewise.
42080
42081 * disk/memdisk.c: New file.
42082
42083 * include/grub/disk.h (grub_disk_dev_id): Add
42084 `GRUB_DISK_DEVICE_MEMDISK_ID'.
42085
42086 * include/grub/i386/pc/kernel.h
42087 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
42088 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
42089 (grub_kernel_image_size): New variable declaration.
42090 (grub_total_module_size): Likewise.
42091 (grub_memdisk_image_size): Likewise.
42092
42093 * include/grub/i386/pc/memory.h
42094 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
42095
42096 * include/grub/kernel.h: Include `<grub/symbol.h>'.
42097 (grub_arch_memdisk_addr): New variable declaration.
42098 (grub_arch_memdisk_size): Likewise.
42099
42100 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
42101 (grub_arch_memdisk_size): Likewise.
42102
42103 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
42104 (codestart): Replace hardcoded `0x100000' with
42105 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
42106
42107 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
42108 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
42109 not NULL, append the contents of the file it refers to, at the end of
42110 the compressed kernel image. Initialize `grub_memdisk_image_size'
42111 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
42112 (options): Add "memdisk"|'m' option.
42113 (main): Parse --memdisk|-m option, and pass user-provided path as
42114 parameter to generate_image().
42115
3d7f54c9 421162008-01-20 Robert Millan <rmh@aybabtu.com>
42117
42118 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
42119 grub_dprintf() calls from here ...
42120 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
42121
0bf74728 421222008-01-20 Robert Millan <rmh@aybabtu.com>
42123
42124 Fix detection of "real mode" when /options/real-mode? doesn't exist.
42125
42126 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
42127 declaration.
42128 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
42129 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
42130 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 42131 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 42132 property).
42133 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
42134 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
42135
33bf70a7 421362008-01-19 Robert Millan <rmh@aybabtu.com>
42137
fe6b695a 42138 Get rid of confusing function (superseded by
33bf70a7 42139 `grub_ieee1275_get_integer_property')
42140 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
42141 prototype.
42142 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
42143 function.
42144 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
42145 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 42146 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 42147
e2da7d26 421482008-01-19 Robert Millan <rmh@aybabtu.com>
42149
42150 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
42151 command after "shut-down", since implementations differ on which
42152 the command for halt is.
42153
59f1fd8d 421542008-01-19 Robert Millan <rmh@aybabtu.com>
42155
42156 * include/grub/i386/linuxbios/console.h: Add header protection.
42157 (grub_keyboard_controller_init): New function prototype.
42158 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
42159 (KEYBOARD_COMMAND_READ): Likewise.
42160 (KEYBOARD_COMMAND_WRITE): Likewise.
42161 (KEYBOARD_SCANCODE_SET1): Likewise.
42162 (grub_keyboard_controller_write): New function.
42163 (grub_keyboard_controller_read): Likewise.
42164 (grub_keyboard_controller_init): Likewise.
42165
42166 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
42167 (grub_console_init): On coreboot/LinuxBIOS, call
42168 grub_keyboard_controller_init().
42169
5f5a7c15 421702008-01-19 Robert Millan <rmh@aybabtu.com>
42171
42172 PowerPC changes provided by Pavel Roskin.
42173
42174 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
42175 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
42176 don't rely on cmain() doing it.
42177 * kern/i386/ieee1275/startup.S (_start): Store %eax in
42178 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
42179
1210e168 421802008-01-16 Robert Millan <rmh@aybabtu.com>
42181
42182 * include/grub/i386/linuxbios/memory.h
42183 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
42184 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
42185 receive `table_header' as argument. Instead, probe for it in the
42186 known memory ranges where it can be present.
42187 (grub_available_iterate): Do not pass a fixed `table_header' address
42188 to grub_linuxbios_table_iterate().
42189
3d04eab8 421902008-01-15 Robert Millan <rmh@aybabtu.com>
42191
42192 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
42193 * conf/i386-ieee1275.rmk: New file.
42194 * include/grub/i386/ieee1275/console.h: Likewise.
42195 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
42196 * include/grub/i386/ieee1275/kernel.h: Likewise.
42197 * include/grub/i386/ieee1275/time.h: Likewise.
42198 * kern/i386/ieee1275/init.c: Likewise.
42199 * kern/i386/ieee1275/startup.S: Likewise.
42200
d1bc1b73 422012008-01-15 Robert Millan <rmh@aybabtu.com>
42202
42203 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
42204 when pointers are 32-bit (but still do set it to one when they are
42205 64-bit).
42206
66a65807 422072008-01-15 Robert Millan <rmh@aybabtu.com>
42208
42209 * include/grub/ieee1275/ieee1275.h
42210 (grub_ieee1275_get_integer_property): New function prototype.
42211
42212 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
42213 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 42214 grub_ieee1275_get_property() to handle endianness.
66a65807 42215
42216 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
42217 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 42218 where appropriate.
66a65807 42219 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
42220 (grub_map): Likewise.
42221 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
42222
a83ccafd 422232008-01-15 Bean <bean123ch@gmail.com>
42224
42225 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
42226 (grub_script_execute_cmdline): Reset grub_errno.
42227
42228 * normal/main.c (read_config_file): Reset grub_errno.
42229
42230 * normal/parse.y (script_init): New.
42231 (script): Move function and menuentry here.
42232 (delimiter): New.
42233 (command): Add delimiter at the end of command.
42234 (commands): Adjust to match the new command.
42235 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 42236 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 42237 (if): Use the new commands.
42238
42239 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
42240
df6ecfc6 422412008-01-15 Robert Millan <rmh@aybabtu.com>
42242
42243 * normal/menu.c (run_menu): Move timeout message from here ...
42244 (print_timeout): ... to here.
42245 (run_menu): Use print_timeout() once during initial draw to print
42246 the whole message, and again in every clock tick to update only
42247 the number of seconds.
42248
87ae25eb 422492008-01-15 Robert Millan <rmh@aybabtu.com>
42250
42251 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
42252 actual size of `available' from grub_ieee1275_get_property(), and
42253 restrict parsing to that bound.
42254
47bf09a4 422552008-01-15 Christian Franke <franke@computer.org>
42256
42257 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
42258 (argp_program_version): Remove variable.
42259 (argp_program_bug_address): Likewise.
42260 (options): Convert from struct argp_option to struct option.
42261 (struct arguments): Remove.
42262 (parse_opt): Remove.
42263 (usage): New function.
42264 (main): Replace struct args members by simple variables.
42265 Replace argp_parse() by getopt_long().
42266 Add switch to evaluate options.
42267 Add missing "(...)" around root_dev in prefix string.
42268
c86f1469 422692008-01-14 Robert Millan <rmh@aybabtu.com>
42270
42271 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
42272 for grub_ieee1275_exit(), in order to improve portability.
42273
e622c559 422742008-01-14 Robert Millan <rmh@aybabtu.com>
42275
42276 * util/grub.d/10_linux.in (prefix): Define.
42277 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
42278
44cb1ec8 422792008-01-13 Pavel Roskin <proski@gnu.org>
42280
42281 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
42282 grub_errno if no errors have been detected.
42283
1eb8c802 422842008-01-12 Robert Millan <rmh@aybabtu.com>
42285
42286 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
42287 (grub_util_get_dev_abstraction): New function prototype.
42288
42289 * util/getroot.c: Include `<grub/util/getroot.h>'
42290 (grub_util_get_grub_dev): Move detection of abstraction type to ...
42291 (grub_util_get_dev_abstraction): ... here (new function).
42292
42293 * util/grub-probe.c: Convert PRINT_* to an enum. Add
42294 `PRINT_ABSTRACTION'.
42295 (probe): Probe for abstraction type when requested.
42296 (main): Understand `--target=abstraction'.
42297
42298 * util/i386/efi/grub-install.in: Add abstraction module to core
42299 image when it is found to be necessary.
42300 * util/i386/pc/grub-install.in: Likewise.
42301 * util/powerpc/ieee1275/grub-install.in: Likewise.
42302
42303 * util/update-grub_lib.in (font_path): Return system path without
42304 converting to GRUB path.
42305 * util/update-grub.in: Convert system path returned by font_path()
42306 to a GRUB path. Use `grub-probe -t abstraction' to determine what
42307 abstraction module is needed for loading fonts (if any). Export
42308 that as `GRUB_PRELOAD_MODULES'.
42309 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
42310 insmod commands).
42311
52bd3de9 423122008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
42313
42314 Remove some unused code from reiserfs.
f19dbdb7 42315
52bd3de9 42316 * fs/reiserfs.c (struct grub_reiserfs_key)
42317 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
42318 (struct grub_reiserfs_node_body): Removed.
42319 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
42320 Likewise.
42321 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42322 Likewise.
42323 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42324 Likewise.
42325 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42326 Likewise.
42327 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
42328 Likewise.
42329 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
42330 Likewise.
42331 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42332 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42333 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42334
2f80039d 423352008-01-10 Robert Millan <rmh@aybabtu.com>
42336
42337 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
42338 Determines if a file is garbage left by packaging systems, etc.
42339 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
42340 for processing /etc/grub.d scripts.
42341 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
42342 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
42343 as a condition for processing Linux images.
42344
87888032 423452008-01-10 Pavel Roskin <proski@gnu.org>
42346
42347 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
42348 to compile reiserfs.c on PowerPC.
42349
7e54fced 423502008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 42351
42352 * kern/device.c (grub_device_iterate): Do not abort device iteration
42353 when one of the devices cannot be opened.
42354 * kern/disk.c (grub_disk_open): Do not account previous failures of
42355 unrelated functions when grub_errno is checked for.
42356
5aa541e6 423572008-01-08 Robert Millan <rmh@aybabtu.com>
42358
42359 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
42360 `! grub_linux_is_bzimage', change order of address comparison to make
42361 it more intuitive, and improve "too big zImage" error message.
42362
7076340d 423632008-01-08 Robert Millan <rmh@aybabtu.com>
42364
42365 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
42366 `$(update-grub_DATA)'.
42367 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
42368 targets.
42369
9ca70333 423702008-01-07 Robert Millan <rmh@aybabtu.com>
42371
42372 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
42373 which instruction is modified by grub-setup during installation
42374 (since it wasn't obvious by only looking at this file).
42375
38ccf575 423762008-01-07 Robert Millan <rmh@aybabtu.com>
42377
42378 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
42379 listing actual TODO items.
42380
f5db4291 423812008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42382
868967cf 42383 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
42384 correctly.
42385 (grub_reiserfs_get_key_offset): Likewise.
42386 (grub_reiserfs_set_key_offset): Likewise.
42387 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 42388 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 42389
42390 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
42391 better to remove the bitfield version completely.
f19dbdb7 42392
868967cf 423932008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42394
f5db4291 42395 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
42396 allocated from the heap, due to the fshelp implementation.
42397 (grub_reiserfs_dir): Free NODE, due to the same reason.
42398
492e6d9d 423992008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42400
42401 Mostly from Vincent Pelletier:
f19dbdb7 42402
492e6d9d 42403 * fs/reiserfs.c: New file.
f19dbdb7 42404
492e6d9d 42405 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
42406 (reiserfs_mod_SOURCES): New variable.
42407 (reiserfs_mod_CFLAGS): Likewise.
42408 (reiserfs_mod_LDFLAGS): Likewise.
42409
42410 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
42411 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
42412 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
42413 normal/color.c.
42414
9ce3e7c1 424152008-01-06 Robert Millan <rmh@aybabtu.com>
42416
42417 * normal/color.c: Remove `<grub/env.h>'.
42418
f3b58148 424192008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
42420
42421 * include/grub/normal.h: Include <grub/env.h>.
42422
7ac3bcfa 424232008-01-05 Robert Millan <rmh@aybabtu.com>
42424
42425 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
42426 usage example with `(hd0,1)'.
fb358190 42427 Reported by Samuel Thibault.
7ac3bcfa 42428
c8ee99d7 424292008-01-05 Robert Millan <rmh@aybabtu.com>
42430
42431 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
42432 (grub_linux_boot_zimage): Rename to ...
42433 (grub_linux_boot): ... this.
42434 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
42435 (grub_linux_boot_zimage): Conditionalize zImage copy.
42436
42437 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
42438 (grub_linux_boot_bzimage): Remove prototype.
42439 (grub_linux_boot_zimage): Rename to ...
42440 (grub_linux_boot): ... this.
42441
42442 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
42443 (grub_linux_boot): Remove function.
42444
0ece25b1 424452008-01-05 Robert Millan <rmh@aybabtu.com>
42446
42447 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
42448 (grub_env_write_color_highlight): Likewise.
42449 (grub_wait_after_message): Likewise.
42450
42451 * normal/color.c: New file.
42452
42453 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42454 (normal_mod_DEPENDENCIES): Likewise.
42455
42456 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42457 (normal_mod_DEPENDENCIES): Likewise.
42458
42459 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42460 (normal_mod_DEPENDENCIES): Likewise.
42461
42462 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42463 (normal_mod_DEPENDENCIES): Likewise.
42464
42465 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
42466 for waiting after a message is printed.
42467 * normal/main.c (read_config_file): Likewise.
42468 (grub_normal_init): Register grub_env_write_color_normal() and
42469 grub_env_write_color_highlight() hooks. Mark `color_normal' and
42470 `color_highlight' variables as global.
42471
42472 * normal/menu.c (grub_wait_after_message): New function.
42473 (grub_color_menu_normal): New variable. Replaces ...
42474 (GRUB_COLOR_MENU_NORMAL): ... this macro.
42475 (grub_color_menu_highlight): New variable. Replaces ...
42476 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
42477 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
42478 `GRUB_TERM_COLOR_STANDARD'.
42479 (print_message): Use `grub_setcolorstate' to reload colors. Rename
42480 `normal_code' and `highlight_code' to `old_color_normal' and
42481 `old_color_highlight', respectively.
42482 (grub_menu_init_page): Update colors when drawing the menu, based on
42483 `menu_color_normal' and `menu_color_highlight' variables.
42484 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
42485 a message is printed.
42486
182dd4e5 424872008-01-05 Robert Millan <rmh@aybabtu.com>
42488
42489 * kern/env.c (grub_env_context_open): Propagate hooks for global
42490 variables to new context.
42491
42492 * kern/main.c (grub_set_root_dev): Export `root' variable.
42493
ddf8f6ad 424942008-01-05 Robert Millan <rmh@aybabtu.com>
42495
42496 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 42497 discs unconditionally, since udev and others have options to provide
ddf8f6ad 42498 them.
42499
d8b43d9b 425002008-01-05 Robert Millan <rmh@aybabtu.com>
42501
42502 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
42503
2bff2de3 425042008-01-04 Christian Franke <franke@computer.org>
42505
42506 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
42507 of eisa_mmap.
42508
97eab917 425092008-01-03 Pavel Roskin <proski@gnu.org>
42510
42511 * kern/i386/linuxbios/init.c: Put "void" to all function
42512 declarations with no arguments.
42513 * kern/powerpc/ieee1275/init.c: Likewise.
42514 * term/i386/pc/at_keyboard.c: Likewise.
42515 * term/i386/pc/vga_text.c: Likewise.
42516 * util/grub-mkdevicemap.c: Likewise.
42517
b9416d00 425182008-01-02 Robert Millan <rmh@aybabtu.com>
42519
42520 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
42521 message when loaded image is out of bounds.
42522 (grub_multiboot_load_elf64): Likewise.
42523
92695df9 425242008-01-02 Pavel Roskin <proski@gnu.org>
42525
42526 * util/grub.d/10_linux.in: Try version without ".old" when
42527 looking for initrd. It's better to use initrd from the newer
42528 kernel of the same version than no initrd at all.
42529
d98d9cad 425302008-01-01 Robert Millan <rmh@aybabtu.com>
42531
42532 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
42533
dbfdce36 425342008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
42535
f19dbdb7 42536 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 42537 grub_video_get_active_render_target.
42538 (grub_video_adapter): Added unmap_color and get_active_render_target.
42539
f19dbdb7 42540 * video/video.c: Added grub_video_unmap_color and
dbfdce36 42541 grub_video_get_active_render_target.
42542 (grub_video_get_info): Changed method to accept NULL pointer as an
42543 argument to allow detection of active video adapter.
42544
42545 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
42546 grub_video_vbe_unmap_color_int.
42547 Added grub_video_vbe_unmap_color and
42548 grub_video_vbe_get_active_render_target.
42549 (grub_video_vbe_adapter): Added unmap_color and
42550 get_active_render_target.
42551
f19dbdb7 42552 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 42553 with grub_video_vbe_unmap_color_int.
42554
42555 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
42556 (DEFAULT_NORMAL_COLOR): Likewise.
42557 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
42558 (DEFAULT_FG_COLOR): Removed.
42559 (DEFAULT_BG_COLOR): Likewise.
42560 (DEFAULT_CURSOR_COLOR): Changed value.
42561 (grub_virtual_screen): Added standard_color_setting,
42562 normal_color_setting, highlight_color_setting and term_color.
42563 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
42564 (bitmap_width): Added.
42565 (bitmap_height): Likewise.
42566 (bitmap): Likewise.
42567 (set_term_color): Likewise.
42568 (grub_virtual_screen_setup): Changed to use new terminal coloring
42569 settings.
42570 (grub_gfxterm_init): Added init for bitmap.
42571 (grub_gfxterm_fini): Added destroy for bitmap.
42572 (redraw_screen_rect): Updated to use background bitmap and new
42573 terminal coloring.
42574 (scroll_up): Added optimization for case when there is no bitmap.
42575 (grub_gfxterm_cls): Fixed to use correct background color.
42576 (grub_virtual_screen_setcolorstate): Changed to use new terminal
42577 coloring.
42578 (grub_virtual_screen_setcolor): Likewise.
42579 (grub_virtual_screen_getcolor): Added.
42580 (grub_gfxterm_background_image_cmd): Likewise.
42581 (grub_video_term): Added setcolor and getcolor.
42582 (MOD_INIT): Added registration of background_image command.
42583 (MOD_TERM): Added unregistration for background_image command.
42584
c3c20931 425852007-12-30 Pavel Roskin <proski@gnu.org>
42586
42587 * loader/multiboot_loader.c: Fix multiboot command
42588 unregistration. Fix all typos in the word "multiboot".
42589
df266716 425902007-12-29 Pavel Roskin <proski@gnu.org>
94239199 42591
42592 * util/grub.d/10_linux.in: Refactor search for initrd. Add
42593 support for initrd names used in Fedora.
42594
fc6e896c 425952007-12-26 Bean <bean123ch@gmail.com>
42596
42597 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
42598 (cpio_mod_SOURCES): New variable.
42599 (cpio_mod_CFLAGS): Likewise.
42600 (cpio_mod_LDFLAGS): Likewise.
42601
42602 * fs/cpio.c: New file.
42603
42604 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
42605
42606 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42607
42608 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42609
42610 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42611
533110ad 426122007-12-25 Robert Millan <rmh@aybabtu.com>
42613
42614 * include/grub/term.h (struct grub_term): Add `getcolor' function.
42615 (grub_getcolor): New function.
42616
42617 * kern/term.c (grub_getcolor): New function.
42618 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
42619 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
42620 (print_entry): Set normal and highlight colors to
42621 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
42622 respectively, before printing and restore them to old
42623 values afterwards.
42624 (grub_menu_init_page): Likewise. Fill an additional colored space
42625 that would otherwise be left blank.
42626
42627 * term/efi/console.c (grub_console_getcolor): New function.
42628 (struct grub_console_term.getcolor): New variable.
42629 * term/i386/pc/console.c (grub_console_getcolor): New function.
42630 (struct grub_console_term.getcolor): New variable.
42631 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
42632 (struct grub_console_term.getcolor): New variable.
42633
42634 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
42635 (struct grub_console_term.setcolor): Remove variable.
42636 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
42637 (struct grub_console_term.setcolor): Remove variable.
42638 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
42639 (struct grub_console_term.setcolor): Remove variable.
42640 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
42641 (struct grub_console_term.setcolor): Remove variable.
42642
4931827f 426432007-12-25 Robert Millan <rmh@aybabtu.com>
42644
42645 * configure.ac: Search for possible unifont.hex locations, and
42646 define UNIFONT_HEX if found.
42647
42648 * Makefile.in (UNIFONT_HEX): Define variable.
42649 (DATA): Rename to ...
42650 (PKGLIB): ... this. Update all users.
42651 (PKGDATA): New variable.
42652 (pkgdata_IMAGES): Rename to ...
42653 (pkglib_IMAGES): ... this. Update all users.
42654 (pkgdata_MODULES): Rename to ...
42655 (pkglib_MODULES): ... this. Update all users.
42656 (pkgdata_PROGRAMS): Rename to ...
42657 (pkglib_PROGRAMS): ... this. Update all users.
42658 (pkgdata_DATA): Rename to ...
42659 (pkglib_DATA): ... this. Update all users.
42660 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
42661 (unicode.pff, ascii.pff): New rules.
42662 (all-local): Add `$(PKGDATA)' dependency.
42663 (install-local): Process `$(PKGDATA)'.
42664
42665 * util/update-grub_lib.in (font_path): Search for *.pff files in
42666 a few more locations, including `${pkgdata}'.
42667
57e57e31 426682007-12-23 Robert Millan <rmh@aybabtu.com>
42669
42670 Patch from Bean <bean123ch@gmail.com>:
42671 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
42672 `size'.
42673
4bc72aa9 426742007-12-21 Bean <bean123ch@gmail.com>
42675
42676 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
42677 (ntfscomp_mod_SOURCES): New variable.
42678 (ntfscomp_mod_CFLAGS): Likewise.
42679 (ntfscomp_mod_LDFLAGS): Likewise.
42680
42681 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
42682 (grub_probe_SOURCES): Likewise.
42683 (grub_emu_SOURCES): Likewise.
42684
42685 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42686 (grub_emu_SOURCES): Likewise.
42687
42688 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42689 (grub_emu_SOURCES): Likewise.
42690
42691 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42692 (grub_emu_SOURCES): Likewise.
42693
42694 * fs/ntfs.c (grub_ntfscomp_func): New variable.
42695 (read_run_list): Renamed to grub_ntfs_read_run_list.
42696 (decomp_nextvcn): Moved to ntfscomp.c.
42697 (decomp_getch): Likewise.
42698 (decomp_get16): Likewise.
42699 (decomp_block): Likewise.
42700 (read_block): Likewise.
42701 (read_data): Partially moved to ntfscomp.c.
42702 (fixup): Change unsigned to grub_uint16_t.
42703 (read_mft): Change unsigned long to grub_uint32_t.
42704 (read_attr): Likewise.
42705 (read_data): Likewise.
42706 (read_run_data): Likewise.
42707 (read_run_list): Likewise.
42708 (read_mft): Likewise.
42709
42710 * fs/ntfscomp.c: New file.
42711
42712 * include/grub/ntfs.h: New file.
42713
af680a87 427142007-12-16 Robert Millan <rmh@aybabtu.com>
42715
42716 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
42717 IDE disk check, since Linux is known to support 20 IDE disks.
42718 Reported by Colin Watson.
42719
84be7599 427202007-12-15 Bean <bean123ch@gmail.com>
42721
42722 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
42723 (lnxboot_img_SOURCES): New variable.
42724 (lnxboot_img_ASFLAGS): Likewise.
42725 (lnxboot_img_LDFLAGS): Likewise.
42726
42727 * boot/i386/pc/lnxboot.S: New file.
42728
6af9db01 427292007-11-24 Pavel Roskin <proski@gnu.org>
42730
42731 * configure.ac: Test if '--build-id=none' is supported by the
42732 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
42733 objcopy to generate incorrect binary files (binutils
42734 2.17.50.0.18-1 as shipped by Fedora 8).
42735 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
42736 linking, so that build ID doesn't break the test.
42737
7361cfe6 427382007-11-24 Pavel Roskin <proski@gnu.org>
42739
42740 * include/grub/i386/time.h: use "void" in the argument list
42741 of grub_cpu_idle().
42742 * include/grub/powerpc/time.h: Likewise.
42743 * include/grub/sparc64/time.h: Likewise.
42744
1593e10c 427452007-11-18 Christian Franke <franke@computer.org>
42746
42747 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
42748 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
42749 This fixes the problem that function keys did not work in grub-emu.
42750
3b8db1a8 427512007-11-18 Christian Franke <franke@computer.org>
42752
42753 * disk/host.c (grub_host_open): Remove attribute unused from
42754 name parameter. Add check for "host". This fixes the problem
42755 that grub-emu does not find partitions.
42756
2e29408d 427572007-11-18 Christian Franke <franke@computer.org>
42758
42759 * util/hostfs.c (is_dir): New function.
42760 (grub_hostfs_dir): Handle missing dirent.d_type case.
42761 (grub_hostfs_read): Add missing fseek().
42762 (grub_hostfs_label): Clear label pointer. This fixes a crash
42763 of grub-emu on "ls (host)".
42764
398cd047 427652007-11-18 Christian Franke <franke@computer.org>
42766
42767 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
42768 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
42769 to 64 bit boundary by default.
42770
c405c391 427712007-11-18 Bean <bean123ch@gmail.com>
42772
42773 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
42774 (hexdump_mod_SOURCES): New variable.
42775 (hexdump_mod_CFLAGS): Likewise.
42776 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 42777
c405c391 42778 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42779
42780 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42781
42782 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42783
42784 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42785
42786 * include/grub/hexdump.h: New file.
42787
42788 * commands/hexdump.c: New file.
42789
5cced7fd 427902007-11-10 Robert Millan <rmh@aybabtu.com>
42791
42792 * commands/i386/pc/play.c (beep_off): Switch order of arguments
42793 in grub_outb() calls.
42794 (beep_on): Likewise.
42795
8b714eb0 427962007-11-10 Christian Franke <franke@computer.org>
42797
42798 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
42799 (grub_menu_run): Likewise.
42800
ce0f1839 428012007-11-10 Robert Millan <rmh@aybabtu.com>
42802
42803 * include/grub/i386/efi/machine.h: New file.
42804 * include/grub/i386/linuxbios/machine.h: Likewise.
42805 * include/grub/i386/pc/machine.h: Likewise.
42806 * include/grub/powerpc/ieee1275/machine.h: Likewise.
42807 * include/grub/sparc64/ieee1275/machine.h: Likewise.
42808
42809 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
42810 (serial_hw_io_addr): New variable.
42811 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
42812 instead of `(unsigned short *) 0x400'.
42813
270c237d 428142007-11-10 Bean <bean123ch@gmail.com>
42815
42816 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
42817
a87783bf 428182007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
42819
42820 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
42821 (vga_mod_SOURCES): Added.
42822 (vga_mod_CFLAGS): Likewise.
42823 (vga_mod_LDFLAGS): Likewise.
42824
42825 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
42826 grub_outb() calls.
42827 (set_map_mask): Likewise.
42828 (set_read_map): Likewise.
42829 (set_read_address): Likewise.
42830 (vga_font): Removed variable.
42831 (get_vga_glyph): Removed function.
42832 (invalidate_char): Likewise.
42833 (write_char): Changed to use grub_font_get_glyph() for font
42834 information.
42835 (grub_vga_putchar): Likewise.
42836 (grub_vga_getcharwidth): Likewise.
42837
6433b448 428382007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
42839
42840 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
42841 flags.
42842 (pxeboot_img_LDFLAGS): Likewise.
42843 (diskboot_img_LDFLAGS): Likewise.
42844 (kernel_img_LDFLAGS): Likewise.
42845
49178511 428462007-11-06 Robert Millan <rmh@aybabtu.com>
42847
42848 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
42849 in grub_outb() calls.
42850 (serial_hw_init): Likewise.
42851
53b052de 428522007-11-05 Robert Millan <rmh@aybabtu.com>
42853
42854 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
42855 spaces. Skip non-regular files.
42856
5ab33bba 428572007-11-05 Robert Millan <rmh@aybabtu.com>
42858
42859 * kern/disk.c (grub_disk_firmware_fini)
42860 (grub_disk_firmware_is_tainted): New variables.
42861
42862 * include/grub/disk.h (grub_disk_firmware_fini)
42863 (grub_disk_firmware_is_tainted): Likewise.
42864
42865 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
42866 (grub_disk_biosdisk_fini): ... to here.
42867 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
42868 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
42869 is set. Register grub_disk_biosdisk_fini() in
42870 `grub_disk_firmware_fini'.
42871
42872 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
42873 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
42874 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
42875 to finish existing firmware disk interface.
42876
42877 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
42878 (ata_mod_SOURCES): New variable.
42879 (ata_mod_CFLAGS): Likewise.
42880 (ata_mod_LDFLAGS): Likewise.
42881
0149ab7c 428822007-11-05 Robert Millan <rmh@aybabtu.com>
42883
42884 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
42885 (grub_ata_wait): Reimplement using grub_millisleep().
42886
42887 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
42888 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
42889
be7ac41e 428902007-11-03 Marco Gerards <marco@gnu.org>
42891
42892 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
42893 (CRTC_ADDR_PORT): New macro.
42894 (CRTC_DATA_PORT): Likewise.
42895 (CRTC_CURSOR): Likewise.
42896 (CRTC_CURSOR_ADDR_HIGH): Likewise.
42897 (CRTC_CURSOR_ADDR_LOW): Likewise.
42898 (update_cursor): New function.
42899 (grub_console_real_putchar): Call `update_cursor'.
42900 (grub_console_gotoxy): Likewise.
42901 (grub_console_cls): Set the default color when clearing the
42902 screen.
42903 (grub_console_setcursor): Implemented.
42904
bb06ab2e 429052007-11-03 Marco Gerards <marco@gnu.org>
42906
42907 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
42908 become activate.
42909 (grub_ata_pio_write): Likewise.
42910
42911 (grub_atapi_identify): Wait after issuing an ATA command.
42912 (grub_atapi_packet): Likewise.
42913 (grub_ata_identify): Likewise.
42914 (grub_ata_readwrite): Likewise.
42915
cf8f780b 429162007-11-03 Marco Gerards <marco@gnu.org>
42917
42918 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
42919 (grub_ata_pio_write): Likewise.
42920 (grub_ata_readwrite): Use `grub_error', instead of
42921 returning `grub_errno'.
42922
ed649e54 429232007-11-03 Marco Gerards <marco@gnu.org>
42924
42925 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
42926 grub_ata_pio_write once for every single sector, instead of for
42927 multiple sectors.
42928
ca25d8f0 429292007-10-31 Robert Millan <rmh@aybabtu.com>
42930
42931 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
42932
42933 * conf/i386-linuxbios.rmk: New file.
42934
42935 * kern/i386/pc/hardware.c: Likewise.
42936 * term/i386/pc/at_keyboard.c: Likewise.
42937 * term/i386/pc/vga_text.c: Likewise.
42938
42939 * include/grub/i386/linuxbios/boot.h: Likewise.
42940 * include/grub/i386/linuxbios/console.h: Likewise.
42941 * include/grub/i386/linuxbios/init.h: Likewise.
42942 * include/grub/i386/linuxbios/kernel.h: Likewise.
42943 * include/grub/i386/linuxbios/loader.h: Likewise.
42944 * include/grub/i386/linuxbios/memory.h: Likewise.
42945 * include/grub/i386/linuxbios/serial.h: Likewise.
42946 * include/grub/i386/linuxbios/time.h: Likewise.
42947
42948 * kern/i386/linuxbios/init.c: Likewise.
42949 * kern/i386/linuxbios/startup.S: Likewise.
42950 * kern/i386/linuxbios/table.c: Likewise.
42951
e911ecc1 429522007-10-31 Marco Gerards <marco@gnu.org>
42953
42954 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
42955 (ata_mod_SOURCES): New variable.
42956 (ata_mod_CFLAGS): Likewise.
42957 (ata_mod_LDFLAGS): Likewise.
42958
42959 * disk/ata.c: New file.
42960
42961 * include/grub/disk.h (grub_disk_dev_id): Add
42962 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 42963
7f66d0e0 429642007-10-31 Robert Millan <rmh@aybabtu.com>
42965
42966 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
42967 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
42968
42969 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
42970 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
42971
42972 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
42973 `<grub/types.h>'.
42974
42975 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
42976
5cd7dd46 429772007-10-27 Robert Millan <rmh@aybabtu.com>
42978
3236ca65 42979 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 42980
2ebfc90f 429812007-10-22 Robert Millan <rmh@aybabtu.com>
42982
42983 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
42984 `"../realmode.S"'.
42985 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
42986
73fcb0f3 429872007-10-22 Robert Millan <rmh@aybabtu.com>
42988
42989 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
42990 (pkgdata_MODULES): Add `biosdisk.mod'.
42991 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
42992 variables.
42993
42994 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
42995 (grub_biosdisk_init): Replace with ...
42996 (GRUB_MOD_INIT(biosdisk)): ... this.
42997 (grub_biosdisk_fini): Replace with ...
42998 (GRUB_MOD_FINI(biosdisk)): ... this.
42999
43000 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
43001 (grub_machine_init): Remove call to grub_biosdisk_init().
43002 (grub_machine_fini): Remove call to grub_machine_fini().
43003
43004 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
43005
3381d274 430062007-10-22 Robert Millan <rmh@aybabtu.com>
43007
43008 * include/grub/time.h: New file.
43009 * include/grub/i386/time.h: Likewise.
43010 * include/grub/powerpc/time.h: Likewise.
43011 * include/grub/sparc64/time.h: Likewise.
43012
43013 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
43014 instances to ...
43015 (KERNEL_MACHINE_TIME_HEADER): ... this.
43016 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
43017 instances to ...
43018 (KERNEL_MACHINE_TIME_HEADER): ... this.
43019 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
43020 instances to ...
43021 (KERNEL_MACHINE_TIME_HEADER): ... this.
43022
43023 * kern/i386/efi/init.c: Include `<grub/time.h>'.
43024 (grub_millisleep): New function.
43025 * kern/i386/pc/init.c: Include `<grub/time.h>'.
43026 (grub_millisleep): New function.
43027 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
43028 Remove `grub/machine/time.h' include.
43029 (grub_millisleep): New function.
43030 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
43031 Remove `grub/machine/time.h' include.
43032 (grub_millisleep): New function.
43033
43034 * include/grub/misc.h (grub_div_roundup): New function.
43035
43036 * kern/misc.c: Include `<grub/time.h>'.
43037 (grub_millisleep_generic): New function.
43038
43039 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
43040 Add `time.h'.
43041 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
43042 Add `time.h'.
43043 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
43044 `machine/time.h'. Add `time.h'.
43045 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43046
a39a0312 430472007-10-21 Robert Millan <rmh@aybabtu.com>
43048
43049 * include/grub/misc.h (grub_max): New function.
43050
2aad70e2 430512007-10-21 Robert Millan <rmh@aybabtu.com>
43052
43053 * util/misc.c (grub_util_info): Call fflush() before returning.
43054
54b71c4b 430552007-10-20 Robert Millan <rmh@aybabtu.com>
43056
43057 * genmk.rb (Image): Copy `extra_flags' from here ...
43058 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
43059
43060 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
43061 to `argc' and `args' arguments.
43062
a979f513 430632007-10-17 Robert Millan <rmh@aybabtu.com>
43064
43065 * kern/i386/loader.S: New file.
43066
43067 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
43068 * kern/i386/loader.S (grub_linux_prot_size)... to here.
43069 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
43070 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
43071 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
43072 * kern/i386/loader.S (grub_linux_real_addr)... to here.
43073 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
43074 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
43075 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
43076 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
43077 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
43078 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
43079 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
43080 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
43081
43082 * kern/i386/realmode.S: New file.
43083
43084 * kern/i386/pc/startup.S (protstack): Moved from here ...
43085 * kern/i386/realmode.S (protstack)... to here.
43086 * kern/i386/pc/startup.S (gdt): Moved from here ...
43087 * kern/i386/realmode.S (gdt)... to here.
43088 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
43089 * kern/i386/realmode.S (prot_to_real)... to here.
43090
43091 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
43092 `kern/i386/realmode.S'.
43093
825fc8fd 430942007-10-17 Robert Millan <rmh@aybabtu.com>
43095
43096 * include/grub/i386/loader.h: New file.
43097
43098 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
43099 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
43100 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
43101 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
43102 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
43103 * include/grub/i386/loader.h (grub_linux_prot_size)
43104 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
43105 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
43106 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
43107 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
43108
43109 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
43110
e179b2f4 431112007-10-15 Robert Millan <rmh@aybabtu.com>
43112
43113 * normal/misc.c (grub_normal_print_device_info): Do not probe for
43114 filesystem when dev->disk is unset.
43115 Do probe for filesystem even when dev->disk->has_partitions is set.
43116 In case a filesystem is found, always report it.
43117 In case it isn't, if dev->disk->has_partitions is set, report that
43118 a partition table was found instead of reporting that no filesystem
43119 could be identified.
43120
5db82af6 431212007-10-12 Robert Millan <rmh@aybabtu.com>
43122
43123 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
43124 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
43125
68f6ac74 43126 * include/grub/types.h (grub_host_to_target16): New macro.
43127 (grub_host_to_target32): Likewise.
43128 (grub_host_to_target64): Likewise.
43129 (grub_target_to_host16): Likewise.
43130 (grub_target_to_host32): Likewise.
43131 (grub_target_to_host64): Likewise.
5db82af6 43132
43133 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
43134 Renamed from to ...
43135 (GRUB_MOD_ALIGN): ...this. Update all users.
43136
68f6ac74 43137 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
43138 grub_host_to_target32.
43139 Replace grub_be_to_cpu32 with grub_target_to_host32.
43140 (load_modules): Likewise.
43141 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
43142 Replace grub_be_to_cpu32 with grub_target_to_host32.
43143 Replace grub_cpu_to_be16 with grub_host_to_target16.
43144 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 43145
3cf497cc 431462007-10-12 Robert Millan <rmh@aybabtu.com>
43147
43148 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
43149 * util/elf/grub-mkimage.c: ... here.
43150
43151 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
43152 `util/powerpc/ieee1275/grub-mkimage.c'.
43153
c8cc3692 431542007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 43155
c8cc3692 43156 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
43157 and make it easier to figure out.
43158 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
43159 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
43160 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
43161 leave us with less than HEAP_MIN_SIZE total heap.
43162 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 43163
5c58b791 431642007-10-03 Robert Millan <rmh@aybabtu.com>
43165
43166 * include/grub/i386/io.h: New file.
43167 * commands/i386/pc/play.c (inb): Removed.
43168 (outb): Removed.
43169 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43170 with grub_outb().
afcd2ef8 43171 * term/i386/pc/serial.c (inb): Removed.
43172 (outb): Removed.
43173 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43174 with grub_outb().
43175 * term/i386/pc/vga.c (inb): Removed.
43176 (outb): Removed.
43177 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43178 with grub_outb().
5c58b791 43179
1a477ed6 431802007-10-02 Robert Millan <rmh@aybabtu.com>
43181
43182 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
43183 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43184 Reported by Marcin Kurek.
43185
6b5d80fa 431862007-09-07 Robert Millan <rmh@aybabtu.com>
43187
43188 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
43189 SmartFirmware version updates (as released by Sven Luther), and avoid
43190 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
43191 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
43192 known broken.
43193
5618afbf 431942007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43195
43196 From Hitoshi Ozeki:
43197 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
43198 when merging two regions.
43199
6139dcd9 432002007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43201
508e39ee 43202 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
43203 * normal/completion.c (grub_normal_do_completion): Likewise.
43204 Reported by Hitoshi Ozeki.
43205
432062007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 43207
6139dcd9 43208 Do not use devices at boot in chainloading.
f19dbdb7 43209
6139dcd9 43210 * loader/i386/pc/chainloader.c (boot_drive): New variable.
43211 (boot_part_addr): Likewise.
43212 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
43213 with BOOT_DRIVE and BOOT_PART_ADDR.
43214 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
43215 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
43216
38da6516 432172007-08-29 Robert Millan <rmh@aybabtu.com>
43218
43219 Patch from Simon Peter <dn.tlp@gmx.net>:
43220 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
43221 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
43222 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
43223 util/i386/pc/grub-setup.c_DEPENDENCIES.
43224 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
43225 util/grub-probe.c_DEPENDENCIES.
43226 * conf/powerpc-ieee1275.rmk: Likewise.
43227
29d0928c 432282007-08-28 Robert Millan <rmh@aybabtu.com>
43229
43230 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
43231 to tell grub-mkdevicemap how to name devices.
43232 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
43233 feature).
43234
43235 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
43236 util/i386/get_disk_name.c.
43237 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
43238 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
43239 util/ieee1275/get_disk_name.c.
43240
43241 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
43242
43243 * DISTLIST: Add util/i386/get_disk_name.c and
43244 util/ieee1275/get_disk_name.c.
43245
43246 * util/grub-mkdevicemap.c: Replace device naming logic with
43247 grub_util_get_disk_name() calls.
43248
5a0d3cca 432492007-08-20 Robert Millan <rmh@aybabtu.com>
43250
43251 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
43252 (so that it works for both plural and singular quantities).
43253
8b72db2f 432542007-08-05 Robert Millan <rmh@aybabtu.com>
43255
43256 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
43257 so that [xz] isn't taken into account when determining order.
43258
352466bf 432592007-08-02 Marco Gerards <marco@gnu.org>
43260
43261 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
43262 `include/multiboot2.h', `include/grub/elfload.h',
43263 `include/multiboot.h', `include/grub/multiboot.h',
43264 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
43265 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
43266 `kern/elf.c', `loader/multiboot_loader.c',
43267 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
43268 `loader/i386/pc/multiboot2.c',
43269 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
43270 `util/i386/pc/grub-mkrescue.in'. Remove
43271 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
43272 `include/grub/i386/pc/util/biosdisk.h' and
43273 `include/grub/powerpc/ieee1275/multiboot.h'.
43274
8f096014 432752007-08-02 Bean <bean123ch@gmail.com>
43276
43277 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
43278 (ntfs_mod_SOURCES): New variable.
43279 (ntfs_mod_CFLAGS): Likewise.
43280 (ntfs_mod_LDFLAGS): Likewise.
43281
43282 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
43283 (grub_probe_SOURCES): Likewise.
43284 (grub_emu_SOURCES): Likewise.
43285
43286 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
43287 (grub_emu_SOURCES): Likewise.
43288
43289 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
43290 (grub_emu_SOURCES): Likewise.
f19dbdb7 43291
8f096014 43292 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
43293
43294 * fs/ntfs.c: New file.
43295
9959f7db 432962007-08-02 Bean <bean123ch@gmail.com>
43297
43298 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
43299
43300 * file.h (grub_file): Likewise.
43301
43302 * fshelp.h (grub_fshelp_read_file): Likewise.
43303
43304 * util/i386/pc/grub-setup.c (setup): Likewise.
43305 (save_first_sector): Likewise.
43306 (save_blocklists): Likewise.
f19dbdb7 43307
9959f7db 43308 * fs/affs.c (grub_affs_read_file): Likewise.
43309
43310 * fs/ext2.c (grub_ext2_read_file): Likewise.
43311
43312 * fs/fat.c (grub_fat_read_data): Likewise.
43313
43314 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
43315
43316 * fs/hfs.c (grub_hfs_read_file): Likewise.
43317
43318 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
43319
43320 * fs/jfs.c (grub_jfs_read_file): Likewise.
43321
43322 * fs/minix.c (grub_minix_read_file): Likewise.
43323
43324 * fs/sfs.c (grub_sfs_read_file): Likewise.
43325
43326 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 43327
9959f7db 43328 * fs/xfs.c (grub_xfs_read_file): Likewise.
43329
43330 * command/blocklist.c (read_blocklist): Likewise.
43331 (print_blocklist): Likewise.
43332
0a203f83 433332007-08-02 Marco Gerards <marco@gnu.org>
43334
43335 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
43336 `util/hostfs.c'.
43337
43338 * disk/host.c: New file.
43339
43340 * util/hostfs.c: Likewise.
43341
43342 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
43343 return `GRUB_ERR_BAD_FS'.
43344 * fs/sfs.c (grub_sfs_mount): Likewise.
43345 * fs/xfs.c (grub_xfs_mount): Likewise.
43346
43347 * include/grub/disk.h (enum grub_disk_dev_id): Add
43348 `GRUB_DISK_DEVICE_HOST_ID'.
43349
43350 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
43351
e5dfe777 433522007-07-24 Jerone Young <jerone@gmail.com>
43353
f19dbdb7 43354 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 43355 modules for compilation.
43356 * conf/powerpc-ieee1275.rmk: Likewise.
43357
43358 * include/multiboot.h: Move multiboot definitions to one file. Rename
43359 many definitions to not get grub specific.
43360 * include/multiboot2.h: Create header with multiboot 2 definitions.
43361 * include/grub/multiboot.h: Header for grub specific function
43362 prototypes and definitions.
43363 * include/grub/multiboot2.h: Likewise.
43364 * include/grub/multiboot_loader.h: Likewise.
43365 * include/grub/i386/pc/multiboot.h: Removed.
43366 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
43367
43368 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
43369 and 2 to allow for one multiboot and module commands.
43370 * loader/multiboot2.c: Add multiboot2 functionality.
43371 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
43372 and definition names.
43373 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
43374 2 functions.
43375 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
43376 ieee1275 specific multiboot2 code.
43377
43378 * kern/i386/pc/startup.S: Change headers and definition names for
43379 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
43380
daf0f0ba 433812007-07-22 Robert Millan <rmh@aybabtu.com>
43382
43383 * geninitheader.sh: Process file specified in first parameter rather
43384 than hardcoding grub_modules_init.lst.
fe6b695a 43385 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 43386 than hardcoding grub_modules_init.h.
43387
43388 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
43389 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
43390 grub_probe_init.[ch] and grub_setup_init.[ch].
43391
43392 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
43393 grub_modules_init.h with grub_emu_init.h.
43394 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
43395 grub_probe_init.[ch] files.
43396 * conf/i386-efi.rmk: Likewise.
43397 * conf/i386-pc.rmk: Likewise.
43398 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
43399 grub_setup_init.[ch] files.
43400
43401 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
43402 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
43403 to initialize modules rather than a list of hardcoded functions.
43404 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
43405 grub_init_all() to initialize modules rather than a list of hardcoded
43406 functions.
43407
54cdc1cc 434082007-07-22 Robert Millan <rmh@aybabtu.com>
43409
43410 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
43411 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
43412
ad0686cc 434132007-07-22 Robert Millan <rmh@aybabtu.com>
43414
43415 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
43416 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
43417 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
43418 flag when running on SmartFirmware.
43419 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
43420 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
43421 was set.
43422
43423 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
43424 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
43425 rather than decreasing it.
43426
43427 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
43428 there's not enough space to do it, fail in the same way as when it
43429 can't be done because there are no partitions.
43430
43431 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
43432 when nvsetenv failed.
43433
969c02ec 434342007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
43435
43436 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
43437 because this rule is automatically generated.
43438 (grub-mkrescue): Removed for the same reason as above.
43439
5a79f472 434402007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
43441
43442 Migrate to GNU General Public License Version 3.
f19dbdb7 43443
5a79f472 43444 * COPYING: Replaced with the plain text version of GPLv3.
43445
43446 * config.guess: Updated from gnulib.
43447 * config.sub: Likewise.
43448
43449 * geninit.sh: Output a GPLv3 copyright notice.
43450 * geninitheader.sh: Likewise.
43451 * genmodsrc.sh: Likewise.
43452 * gensymlist.sh.in: Likewise.
43453
43454 * boot/i386/pc/boot.S: Upgraded to GPLv3.
43455 * boot/i386/pc/diskboot.S: Likewise.
43456 * boot/i386/pc/pxeboot.S: Likewise.
43457 * commands/blocklist.c: Likewise.
43458 * commands/boot.c: Likewise.
43459 * commands/cat.c: Likewise.
43460 * commands/cmp.c: Likewise.
43461 * commands/configfile.c: Likewise.
43462 * commands/echo.c: Likewise.
43463 * commands/help.c: Likewise.
43464 * commands/ls.c: Likewise.
43465 * commands/search.c: Likewise.
43466 * commands/terminal.c: Likewise.
43467 * commands/test.c: Likewise.
43468 * commands/videotest.c: Likewise.
43469 * commands/i386/cpuid.c: Likewise.
43470 * commands/i386/pc/halt.c: Likewise.
43471 * commands/i386/pc/play.c: Likewise.
43472 * commands/i386/pc/reboot.c: Likewise.
43473 * commands/i386/pc/vbeinfo.c: Likewise.
43474 * commands/i386/pc/vbetest.c: Likewise.
43475 * commands/ieee1275/halt.c: Likewise.
43476 * commands/ieee1275/reboot.c: Likewise.
43477 * commands/ieee1275/suspend.c: Likewise.
43478 * disk/loopback.c: Likewise.
43479 * disk/lvm.c: Likewise.
43480 * disk/raid.c: Likewise.
43481 * disk/efi/efidisk.c: Likewise.
43482 * disk/i386/pc/biosdisk.c: Likewise.
43483 * disk/ieee1275/ofdisk.c: Likewise.
43484 * font/manager.c: Likewise.
43485 * fs/affs.c: Likewise.
43486 * fs/ext2.c: Likewise.
43487 * fs/fat.c: Likewise.
43488 * fs/fshelp.c: Likewise.
43489 * fs/hfs.c: Likewise.
43490 * fs/hfsplus.c: Likewise.
43491 * fs/iso9660.c: Likewise.
43492 * fs/jfs.c: Likewise.
43493 * fs/minix.c: Likewise.
43494 * fs/sfs.c: Likewise.
43495 * fs/ufs.c: Likewise.
43496 * fs/xfs.c: Likewise.
43497 * hello/hello.c: Likewise.
43498 * include/grub/acorn_filecore.h: Likewise.
43499 * include/grub/arg.h: Likewise.
43500 * include/grub/bitmap.h: Likewise.
43501 * include/grub/boot.h: Likewise.
43502 * include/grub/cache.h: Likewise.
43503 * include/grub/device.h: Likewise.
43504 * include/grub/disk.h: Likewise.
43505 * include/grub/dl.h: Likewise.
43506 * include/grub/elfload.h: Likewise.
43507 * include/grub/env.h: Likewise.
43508 * include/grub/err.h: Likewise.
43509 * include/grub/file.h: Likewise.
43510 * include/grub/font.h: Likewise.
43511 * include/grub/fs.h: Likewise.
43512 * include/grub/fshelp.h: Likewise.
43513 * include/grub/gzio.h: Likewise.
43514 * include/grub/hfs.h: Likewise.
43515 * include/grub/kernel.h: Likewise.
43516 * include/grub/loader.h: Likewise.
43517 * include/grub/lvm.h: Likewise.
43518 * include/grub/misc.h: Likewise.
43519 * include/grub/mm.h: Likewise.
43520 * include/grub/net.h: Likewise.
43521 * include/grub/normal.h: Likewise.
43522 * include/grub/parser.h: Likewise.
43523 * include/grub/partition.h: Likewise.
43524 * include/grub/pc_partition.h: Likewise.
43525 * include/grub/raid.h: Likewise.
43526 * include/grub/rescue.h: Likewise.
43527 * include/grub/script.h: Likewise.
43528 * include/grub/setjmp.h: Likewise.
43529 * include/grub/symbol.h: Likewise.
43530 * include/grub/term.h: Likewise.
43531 * include/grub/terminfo.h: Likewise.
43532 * include/grub/tparm.h: Likewise.
43533 * include/grub/types.h: Likewise.
43534 * include/grub/video.h: Likewise.
43535 * include/grub/efi/api.h: Likewise.
43536 * include/grub/efi/chainloader.h: Likewise.
43537 * include/grub/efi/console.h: Likewise.
43538 * include/grub/efi/console_control.h: Likewise.
43539 * include/grub/efi/disk.h: Likewise.
43540 * include/grub/efi/efi.h: Likewise.
43541 * include/grub/efi/pe32.h: Likewise.
43542 * include/grub/efi/time.h: Likewise.
43543 * include/grub/i386/linux.h: Likewise.
43544 * include/grub/i386/setjmp.h: Likewise.
43545 * include/grub/i386/types.h: Likewise.
43546 * include/grub/i386/efi/kernel.h: Likewise.
43547 * include/grub/i386/efi/loader.h: Likewise.
43548 * include/grub/i386/efi/time.h: Likewise.
43549 * include/grub/i386/pc/biosdisk.h: Likewise.
43550 * include/grub/i386/pc/boot.h: Likewise.
43551 * include/grub/i386/pc/chainloader.h: Likewise.
43552 * include/grub/i386/pc/console.h: Likewise.
43553 * include/grub/i386/pc/init.h: Likewise.
43554 * include/grub/i386/pc/kernel.h: Likewise.
43555 * include/grub/i386/pc/loader.h: Likewise.
43556 * include/grub/i386/pc/memory.h: Likewise.
43557 * include/grub/i386/pc/multiboot.h: Likewise.
43558 * include/grub/i386/pc/serial.h: Likewise.
43559 * include/grub/i386/pc/time.h: Likewise.
43560 * include/grub/i386/pc/vbe.h: Likewise.
43561 * include/grub/i386/pc/vbeblit.h: Likewise.
43562 * include/grub/i386/pc/vbefill.h: Likewise.
43563 * include/grub/i386/pc/vbeutil.h: Likewise.
43564 * include/grub/i386/pc/vga.h: Likewise.
43565 * include/grub/ieee1275/ieee1275.h: Likewise.
43566 * include/grub/ieee1275/ofdisk.h: Likewise.
43567 * include/grub/powerpc/libgcc.h: Likewise.
43568 * include/grub/powerpc/setjmp.h: Likewise.
43569 * include/grub/powerpc/types.h: Likewise.
43570 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
43571 * include/grub/powerpc/ieee1275/console.h: Likewise.
43572 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
43573 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
43574 * include/grub/powerpc/ieee1275/loader.h: Likewise.
43575 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
43576 * include/grub/powerpc/ieee1275/time.h: Likewise.
43577 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
43578 * include/grub/sparc64/libgcc.h: Likewise.
43579 * include/grub/sparc64/setjmp.h: Likewise.
43580 * include/grub/sparc64/types.h: Likewise.
43581 * include/grub/sparc64/ieee1275/console.h: Likewise.
43582 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
43583 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
43584 * include/grub/sparc64/ieee1275/time.h: Likewise.
43585 * include/grub/util/biosdisk.h: Likewise.
43586 * include/grub/util/getroot.h: Likewise.
43587 * include/grub/util/lvm.h: Likewise.
43588 * include/grub/util/misc.h: Likewise.
43589 * include/grub/util/raid.h: Likewise.
43590 * include/grub/util/resolve.h: Likewise.
43591 * io/gzio.c: Likewise.
43592 * kern/device.c: Likewise.
43593 * kern/disk.c: Likewise.
43594 * kern/dl.c: Likewise.
43595 * kern/elf.c: Likewise.
43596 * kern/env.c: Likewise.
43597 * kern/err.c: Likewise.
43598 * kern/file.c: Likewise.
43599 * kern/fs.c: Likewise.
43600 * kern/loader.c: Likewise.
43601 * kern/main.c: Likewise.
43602 * kern/misc.c: Likewise.
43603 * kern/mm.c: Likewise.
43604 * kern/parser.c: Likewise.
43605 * kern/partition.c: Likewise.
43606 * kern/rescue.c: Likewise.
43607 * kern/term.c: Likewise.
43608 * kern/efi/efi.c: Likewise.
43609 * kern/efi/init.c: Likewise.
43610 * kern/efi/mm.c: Likewise.
43611 * kern/i386/dl.c: Likewise.
43612 * kern/i386/efi/init.c: Likewise.
43613 * kern/i386/efi/startup.S: Likewise.
43614 * kern/i386/pc/init.c: Likewise.
43615 * kern/i386/pc/lzo1x.S: Likewise.
43616 * kern/i386/pc/startup.S: Likewise.
43617 * kern/ieee1275/ieee1275.c: Likewise.
43618 * kern/powerpc/cache.S: Likewise.
43619 * kern/powerpc/dl.c: Likewise.
43620 * kern/powerpc/ieee1275/cmain.c: Likewise.
43621 * kern/powerpc/ieee1275/crt0.S: Likewise.
43622 * kern/powerpc/ieee1275/init.c: Likewise.
43623 * kern/powerpc/ieee1275/openfw.c: Likewise.
43624 * kern/sparc64/cache.S: Likewise.
43625 * kern/sparc64/dl.c: Likewise.
43626 * kern/sparc64/ieee1275/init.c: Likewise.
43627 * kern/sparc64/ieee1275/openfw.c: Likewise.
43628 * loader/efi/chainloader.c: Likewise.
43629 * loader/efi/chainloader_normal.c: Likewise.
43630 * loader/i386/efi/linux.c: Likewise.
43631 * loader/i386/efi/linux_normal.c: Likewise.
43632 * loader/i386/pc/chainloader.c: Likewise.
43633 * loader/i386/pc/chainloader_normal.c: Likewise.
43634 * loader/i386/pc/linux.c: Likewise.
43635 * loader/i386/pc/linux_normal.c: Likewise.
43636 * loader/i386/pc/multiboot.c: Likewise.
43637 * loader/i386/pc/multiboot_normal.c: Likewise.
43638 * loader/powerpc/ieee1275/linux.c: Likewise.
43639 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
43640 * normal/arg.c: Likewise.
43641 * normal/cmdline.c: Likewise.
43642 * normal/command.c: Likewise.
43643 * normal/completion.c: Likewise.
43644 * normal/execute.c: Likewise.
43645 * normal/function.c: Likewise.
43646 * normal/lexer.c: Likewise.
43647 * normal/main.c: Likewise.
43648 * normal/menu.c: Likewise.
43649 * normal/menu_entry.c: Likewise.
43650 * normal/misc.c: Likewise.
43651 * normal/parser.y: Likewise.
43652 * normal/script.c: Likewise.
43653 * normal/i386/setjmp.S: Likewise.
43654 * normal/powerpc/setjmp.S: Likewise.
43655 * normal/sparc64/setjmp.S: Likewise.
43656 * partmap/acorn.c: Likewise.
43657 * partmap/amiga.c: Likewise.
43658 * partmap/apple.c: Likewise.
43659 * partmap/gpt.c: Likewise.
43660 * partmap/pc.c: Likewise.
43661 * partmap/sun.c: Likewise.
43662 * term/gfxterm.c: Likewise.
43663 * term/terminfo.c: Likewise.
43664 * term/efi/console.c: Likewise.
43665 * term/i386/pc/console.c: Likewise.
43666 * term/i386/pc/serial.c: Likewise.
43667 * term/i386/pc/vesafb.c: Likewise.
43668 * term/i386/pc/vga.c: Likewise.
43669 * term/ieee1275/ofconsole.c: Likewise.
43670 * util/biosdisk.c: Likewise.
43671 * util/console.c: Likewise.
43672 * util/genmoddep.c: Likewise.
43673 * util/getroot.c: Likewise.
43674 * util/grub-emu.c: Likewise.
43675 * util/grub-mkdevicemap.c: Likewise.
43676 * util/grub-probe.c: Likewise.
43677 * util/lvm.c: Likewise.
43678 * util/misc.c: Likewise.
43679 * util/raid.c: Likewise.
43680 * util/resolve.c: Likewise.
43681 * util/update-grub.in: Likewise.
43682 * util/update-grub_lib.in: Likewise.
43683 * util/grub.d/00_header.in: Likewise.
43684 * util/grub.d/10_hurd.in: Likewise.
43685 * util/grub.d/10_linux.in: Likewise.
43686 * util/i386/efi/grub-install.in: Likewise.
43687 * util/i386/efi/grub-mkimage.c: Likewise.
43688 * util/i386/pc/grub-install.in: Likewise.
43689 * util/i386/pc/grub-mkimage.c: Likewise.
43690 * util/i386/pc/grub-mkrescue.in: Likewise.
43691 * util/i386/pc/grub-setup.c: Likewise.
43692 * util/i386/pc/misc.c: Likewise.
43693 * util/powerpc/ieee1275/grub-install.in: Likewise.
43694 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
43695 * util/powerpc/ieee1275/misc.c: Likewise.
43696 * video/bitmap.c: Likewise.
43697 * video/video.c: Likewise.
43698 * video/i386/pc/vbe.c: Likewise.
43699 * video/i386/pc/vbeblit.c: Likewise.
43700 * video/i386/pc/vbefill.c: Likewise.
43701 * video/i386/pc/vbeutil.c: Likewise.
43702 * video/readers/tga.c: Likewise.
43703
3572d015 437042007-07-02 Robert Millan <rmh@aybabtu.com>
43705
43706 * conf/i386-efi.rmk: Replace obsolete reference to
43707 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
43708 with util/getroot.c.
43709 * conf/powerpc-ieee1275.rmk: Likewise.
43710 * conf/sparc64-ieee1275.rmk: Likewise.
43711
43712 * util/grub-emu.c (main): Fix unchecked pointer handling.
43713
2c2a681b 437142007-07-02 Robert Millan <rmh@aybabtu.com>
43715
43716 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
43717 invocation to fail, in order to support partition-less media.
43718
43719 * util/i386/pc/grub-install.in: Likewise.
43720
43721 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
43722 which fs or partmap modules are needed (akin to its sister scripts).
43723
43724 Also use grub-probe to get rid of unportable /proc/mounts check.
43725
43726 Print the same informational message that the other scripts do, before
fe6b695a 43727 exiting.
2c2a681b 43728
6193defe 437292007-06-23 Robert Millan <rmh@aybabtu.com>
43730
fe6b695a 43731 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 43732 a font file can be found and, if so, echo the GRUB path to it.
43733
43734 * util/update-grub.in: Handle multiple terminals depending on user
43735 input, platform availability and font file presence. Propagate
43736 variables of our findings to /etc/grub.d/ children.
43737
43738 * util/grub.d/00_header.in: Handle multiple terminals, based on
43739 environment setup by update-grub.
43740
eface1dc 437412007-06-23 Robert Millan <rmh@aybabtu.com>
43742
ba50d28f 43743 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 43744
bf697e28 437452007-06-21 Robert Millan <rmh@aybabtu.com>
43746
43747 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
43748 indicate end of data section in kernel image.
43749 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
43750 GRUB_KERNEL_MACHINE_DATA_END.
43751
43752 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
43753 space for it.
43754 * kern/i386/efi/startup.S: Likewise.
43755
43756 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
43757 during image generation. Implement --prefix option to override this
43758 patch.
43759 * util/i386/efi/grub-mkimage.c: Likewise.
43760
43761 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
43762 code to make path relative to its root into a separate function.
43763
43764 * util/i386/pc/grub-install.in: Use newly provided
43765 make_system_path_relative_to_its_root() to convert ${grubdir}, then
43766 pass the result to grub-install --prefix.
43767
baa574b4 437682007-06-13 Robert Millan <rmh@aybabtu.com>
43769
43770 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
43771 DEFAULT_DEVICE_MAP.
43772 * util/grub-emu.c: Use above definitions from misc.h instead of
43773 defining them.
43774 * util/grub-mkdevicemap.c: Likewise.
43775 * util/i386/pc/grub-setup.c: Likewise.
43776 * util/grub-probe.c: Likewise.
43777 (probe): Abort with grub_util_error() when either
43778 grub_guess_root_device or grub_util_get_grub_dev fails.
43779
0215dcbf 437802007-06-12 Robert Millan <rmh@aybabtu.com>
43781
43782 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
43783 "pager" assignment.
43784 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
43785 "pcdata".
43786 * util/grub-probe.c (probe): Likewise for "drive_name".
43787
8af2ab7b 437882007-06-11 Robert Millan <rmh@aybabtu.com>
43789
43790 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
43791 not just the cdrom one.
43792
59d31694 437932007-06-11 Robert Millan <rmh@aybabtu.com>
43794
43795 * util/i386/pc/grub-mkrescue.in: Add "set -e".
43796 Add --pkglibdir=DIR option to override pkglibdir.
43797 Mention --image-type=TYPE in help output.
43798 Fix --grub-mkimage (it was a no-op).
fe6b695a 43799 Abort gracefully when no parameter is given.
59d31694 43800
7ee367e4 438012007-06-11 Robert Millan <rmh@aybabtu.com>
43802
43803 * util/i386/pc/grub-mkrescue.in: New file.
43804 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
43805 * Makefile.in: Handle bin_SCRIPTS.
43806
29b0ed46 438072007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
43808
43809 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
43810 list of video modes.
43811
c0f90770 438122007-06-06 Robert Millan <rmh@aybabtu.com>
43813
43814 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
43815 file doesn't exist, or if it is in a filesystem grub can't read.
43816
43817 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
43818 not abort if GRUB_DRIVE could not be defined. Rearrange generated
43819 header comment to fit in 80 columns when the variables are resolved.
43820
43821 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
43822 could be identified by update-grub. Remove redundant check for
fe6b695a 43823 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 43824 handles that).
43825
fb36dc26 438262007-06-04 Robert Millan <rmh@aybabtu.com>
43827
43828 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
43829
43830 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
43831
43832 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
43833
0c68c93e 438342007-06-04 Robert Millan <rmh@aybabtu.com>
43835
43836 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
43837
43838 * include/grub/partition.h: Declare grub_apple_partition_map_init and
43839 grub_apple_partition_map_fini.
43840
43841 * util/biosdisk.c
43842 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
43843 to access >2 TiB disks).
43844
43845 Print disk->total_sectors with %llu instead of %lu, since this
43846 variable is always 64-bit (prevents wrong disk size from being displayed
43847 on either >2 TiB disk or big-endian CPU).
43848
43849 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
43850 into a generic case that supports all (sane) partition maps.
43851
43852 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
43853 breaks big-endian.
43854
43855 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
43856 and grub_apple_partition_map_fini() after that.
43857
0f23eb74 438582007-06-01 Robert Millan <rmh@aybabtu.com>
43859
43860 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
43861
43862 * util/grub.d/00_header.in: Only enable gfxterm when
43863 convert_system_path_to_grub_path() succeeds.
43864
42c71976 438652007-05-20 Robert Millan <rmh@aybabtu.com>
43866
43867 * util/update-grub_lib.in: New file.
43868 * DISTLIST: Add update-grub_lib.in.
43869 * conf/common.rmk: Generate update-grub_lib and install it in
43870 $(lib_DATA).
43871 * Makefile.in: Add install routine for $(lib_DATA).
43872
43873 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
43874 function provided by update-grub_lib to support arbitrary paths of
43875 unifont.pff.
43876 * util/update-grub.in: Use convert_system_path_to_grub_path() to
43877 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
43878
5beb2291 438792007-05-19 Robert Millan <rmh@aybabtu.com>
43880
43881 * commands/i386/cpuid.c: New module.
43882 * DISTLIST: Add it.
43883 * conf/i386-efi.rmk: Enable cpuid.mod.
43884 * conf/i386-pc.rmk: Likewise.
43885
7262eca1 438862007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
43887
43888 * kern/disk.c (grub_disk_read): Check return value of
43889 grub_realloc().
43890
260ba823 438912007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
43892
43893 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
43894 arrays.
43895 * disk/raid.c (grub_raid_open): Likewise.
43896
1ecb6cf2 438972007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
43898
43899 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
43900 stack instead of on the heap.
43901
43902 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
43903 before doing a read on it.
43904
43905 * configure.ac: Only use -fno-stack-protector for the target
43906 environment.
f19dbdb7 43907
21c8cbb1 439082007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
43909
43910 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
43911 __attribute_ ((unused)) to mode_type argument.
43912
43913 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 43914
21c8cbb1 43915 * kern/misc.c (memcmp): Fix prototype.
43916
43917 * include/grub/partition.h [GRUB_UTIL]
43918 (grub_gpt_partition_map_init): Add prototype.
43919 (grub_gpt_partition_map_fini): Likewise.
43920
43921 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
43922 at the right place.
43923
43924 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
43925 (grub_fat_read_data): Likewise.
43926 (grub_fat_find_dir): Likewise.
43927
43928 * font/manager.c (find_glyph): Make table a const.
43929 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 43930
849d55d3 439312007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
43932
43933 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
43934 code, first search for device in /dev/mapper, then in /dev.
43935 (grub_util_get_grub_dev): New function.
43936 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
43937 prototype.
43938 * util/grub-probe.c (probe): Remove check for RAID, call
43939 grub_util_get_grub_dev() instead of
43940 grub_util_biosdisk_get_grub_dev().
43941 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
43942 grub_util_biosdisk_get_grub_dev().
43943 * util/i386/pc/grub-setup.c (main): Likewise.
43944
8fff7c2f 439452007-05-16 Robert Millan <rmh@aybabtu.com>
43946
43947 * DISTLIST: Update for the latest changes.
43948 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
43949 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
43950 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
43951 grub/util/biosdisk.h.
43952 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
43953 grub/util/biosdisk.h.
43954
48e12b52 439552007-05-16 Robert Millan <rmh@aybabtu.com>
43956
43957 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
43958
46b9d128 439592007-05-16 Robert Millan <rmh@aybabtu.com>
43960
43961 * util/i386/efi/grub-install.in: New.
43962 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
43963 newly added grub-install.
43964 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
43965 include.
43966 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
43967 grub/util/biosdisk.h.
43968 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
43969 grub/util/biosdisk.h.
43970
2d1a40a9 439712007-05-16 Robert Millan <rmh@aybabtu.com>
43972
43973 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
43974 * include/grub/util/biosdisk.h: ... here.
43975 * util/i386/pc/biosdisk.c: Moved to ...
43976 * util/biosdisk.c: ... here.
43977 * util/i386/pc/getroot.c: Moved to ...
43978 * util/getroot.c: ... here.
43979 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
43980 * util/grub-mkdevicemap.c: ... here.
43981 * util/i386/pc/grub-probe.c: Moved to ...
43982 * util/grub-probe.c: ... here.
43983
9e26e3bc 439842007-05-15 Robert Millan <rmh@aybabtu.com>
43985
43986 * util/update-grub.in: Remove duplicated line in grub.cfg header
43987 message.
43988
57f96397 439892007-05-13 Robert Millan <rmh@aybabtu.com>
43990
43991 * util/update-grub.in: Fix a few assumptions about the devices holding
43992 /, /boot and /boot/grub being the same.
43993 * util/grub.d/00_header.in: Likewise.
43994 * util/grub.d/10_hurd.in: Likewise.
43995 * util/grub.d/10_linux.in: Likewise.
43996
43997 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
43998 patterns. Use that to define the `.old' suffix as older than `'.
43999
44000 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
44001
44002 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
44003 the grub.cfg header message.
44004
2e610d62 440052007-05-11 Robert Millan <rmh@aybabtu.com>
44006
44007 * util/update-grub.in: Create device.map if it doesn't already exist,
44008 before attempting to run grub-probe.
44009 Check for grub-probe and grub-mkdevicemap with the same code
44010 grub-install is using.
44011 Remove test mode.
44012
3f6a10ef 440132007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
44014
44015 * Makefile.in: Add the datarootdir autoconf variable.
44016
02e7b75e 440172007-05-09 Robert Millan <rmh@aybabtu.com>
44018
44019 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 44020 fail gracefully if dev->disk->partition == NULL.
02e7b75e 44021
75f396cc 440222007-05-07 Robert Millan <rmh@aybabtu.com>
44023
44024 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
44025 determine partition map module.
44026 * util/i386/pc/grub-install.in: Use this feature to decide which
44027 partition module to load, instead of hardcoding pc and gpt.
44028
da65cb36 440292007-05-07 Robert Millan <rmh@aybabtu.com>
44030
44031 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
44032 source directory differs from build directory.
44033
b57d6a91 440342007-05-05 Robert Millan <rmh@aybabtu.com>
44035
44036 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
44037 initialisation.
44038
509d00f1 440392007-05-05 Robert Millan <rmh@aybabtu.com>
44040
44041 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
44042
c48f23ef 440432007-05-05 Robert Millan <rmh@aybabtu.com>
44044
44045 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
44046 command-line arguments via ${GRUB_CMDLINE_LINUX}.
44047
20b97658 440482007-05-05 Robert Millan <rmh@aybabtu.com>
44049
44050 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
44051 (grub_probe_SOURCES): Likewise.
44052 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
44053 GPT and initialize dos_part and bsd_part accordingly.
44054 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
44055 install_bsd_part.
44056 (main): Activate gpt module for use during partition identification,
44057 and deactivate it afterwards.
44058 * util/i386/pc/grub-install.in: Add gpt module to core.img.
44059 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
44060 partition identification, and deactivate it afterwards.
44061
99123174 440622007-05-05 Robert Millan <rmh@aybabtu.com>
44063
44064 * term/i386/pc/console.c (grub_console_fini): Call
44065 grub_term_set_current() before grub_term_unregister().
44066
ebd97f6e 440672007-05-04 Robert Millan <rmh@aybabtu.com>
44068
44069 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
44070 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
44071 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
44072 and update-grub_DATA.
44073 * conf/common.rmk: Build and install update-grub components.
44074 * conf/common.mk: Regenerate.
44075 * util/update-grub.in: New. Core of update-grub.
44076 * util/grub.d/00_header.in: New. Generates grub.cfg header.
44077 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
44078 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
44079 * util/grub.d/README: New. Document grub.d directory layout.
44080
b06a264d 440812007-05-01 Robert Millan <rmh@aybabtu.com>
44082
44083 * util/grub-emu.c: Move initialization functions
44084 grub_util_biosdisk_init() and grub_init_all() before
44085 grub_util_biosdisk_get_grub_dev(), which relies on them.
44086
41f0050e 440872007-04-19 Robert Millan <rmh@aybabtu.com>
44088
44089 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
44090 it is used later.
44091
04582bb3 440922007-04-18 Jerone Young <jerone@gmail.com>
44093
f19dbdb7 44094 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 44095 stanza.
44096
08db4632 440972007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 44098
08db4632 44099 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
44100 continue on and look for device node with real device name.
44101
801b76be 441022007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 44103
fe6b695a 44104 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 44105 ability.
44106 * Makefile.in: Add autoconf package transformation code.
44107 * util/i386/pc/grub-install.in: Likewise.
44108 * util/powerpc/ieee1275/grub-install.in: Likewise.
44109
6795c4e1 441102007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
44111
44112 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
44113 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
44114 (EXT2_REVISION): Likewise.
44115 (EXT2_INODE_SIZE): Likewise.
44116 (struct grub_ext2_block_group): Added a missing member
44117 "used_dirs".
44118 (grub_ext2_read_inode): Divide by the inode size in a superblock
44119 instead of 128 to obtain INODES_PER_BLOCK.
44120 Use the macro EXT2_INODE_SIZE instead of directly using
44121 SBLOCK->INODE_SIZE.
44122
d70af616 441232007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
44124
44125 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
44126 superblock instead of the structure size to compute an
44127 offset. This fixes the problem that GRUB could not read a
44128 filesystem when inode size is different from 128-byte.
44129
3b801603 441302007-03-05 Marco Gerards <marco@gnu.org>
44131
44132 * normal/main.c (read_config_file): When "menu" is not set, create
44133 an initial context.
44134
4785bfe4 441352007-02-21 Hollis Blanchard <hollis@penguinppc.org>
44136
44137 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
44138 (HEAP_LIMIT): New macro.
44139 (grub_claim_heap): Claim memory up to `heaplimit'.
44140
a0cbb023 441412007-02-21 Hollis Blanchard <hollis@penguinppc.org>
44142
44143 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
44144 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
44145 (_start): Likewise.
44146 (grub_arch_modules_addr): Return address after `_end'.
44147 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
44148 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
44149 (add_segments): Calculate `_end' from phdr size and location.
44150 (ALIGN_UP): Moved to ...
44151 * include/grub/misc.h: here.
44152 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
44153 New macro.
44154 (GRUB_IEEE1275_MODULE_BASE): Removed.
44155
fd7d8eba 441562007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44157
44158 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
44159 loop boundary.
44160
9b09e6fc 441612007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44162
44163 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
44164 All users updated.
44165 (grub_elf64_load_hook_t): Likewise.
44166 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
44167 debug output.
44168
3ce27299 441692007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44170
44171 * kern/mm.c: Update copyright.
44172 (grub_mm_debug): Correct syntax error.
44173 (grub_mm_dump_free): New function.
44174 (grub_debug_free): Call `grub_free'.
44175 * include/grub/mm.h: Update copyright.
44176 (grub_mm_dump_free): Add declaration.
44177
077d5fee 441782007-02-12 Hollis Blanchard <hollis@penguinppc.org>
44179
44180 * include/grub/ieee1275/ieee1275.h: Update copyright.
44181 * kern/powerpc/ieee1275/init.c: Likewise.
44182 * kern/powerpc/ieee1275/openfw.c: Likewise.
44183
44184 * loader/powerpc/ieee1275/linux.c: Likewise.
44185 * include/grub/elfload.h: Likewise.
44186 * kern/elf.c: Likewise.
44187 (grub_elf32_load): Pass `base' and `size' parameters. Update all
44188 callers.
44189 (grub_elf64_load): Likewise.
44190 (grub_elf32_load_segment): Move to a nested function.
44191 (grub_elf64_load_segment): Likewise.
44192
dc946850 441932007-02-12 Hollis Blanchard <hollis@penguinppc.org>
44194
44195 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
44196 prototype.
44197 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
44198 (grub_heap_len): Likewise.
44199 (HEAP_SIZE): New macro.
44200 (grub_claim_heap): New function.
44201 (grub_machine_init): Don't claim heap directly. Call
44202 `grub_claim_heap'.
44203 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
44204 (grub_available_iterate): New function.
44205
baa2a121 442062007-02-03 Thomas Schwinge <tschwinge@gnu.org>
44207
44208 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
44209 * configure.ac: Use it for testing the HOST and TARGET compilers.
44210
4fe9862e 442112006-12-13 Thomas Schwinge <tschwinge@gnu.org>
44212
44213 * Makefile.in (enable_grub_emu): New variable.
44214 * configure.ac (--enable-grub-emu): New option.
44215 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
44216 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
44217 * conf/i386-pc.rmk: Likewise.
44218 * conf/powerpc-ieee1275.rmk: Likewise.
44219 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
44220
a8aa5762 442212006-12-12 Marco Gerards <marco@gnu.org>
44222
44223 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
44224
44225 * kern/env.c (grub_env_unset): Don't free the member `value' when
44226 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
44227 pointer.
44228
44229 * normal/main.c (current_menu): Removed.
44230 (free_menu): Unset the `menu' environment variable.
44231 (grub_normal_menu_addentry): Make use of the environment variable
44232 `menu', instead of using the global `current_menu'. Allocate
44233 memory for the sourcecode of this entry.
44234 (read_config_file): New argument `nested', changed all callers.
44235 Only in the case of a new context, initialize a new menu. Set the
44236 `menu' environment variable.
44237 (grub_normal_execute): Don't set and unset the environment
44238 variable `menu' here anymore. Only free the menu when leaving the
44239 context.
44240
44241 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
44242 leak.
44243
957b3a3e 442442006-12-11 Marco Gerards <marco@gnu.org>
44245
44246 * normal/menu_entry.c (run): Fix off by one bug so the last line
44247 is executed. Move the loader check to outside the loop.
44248
ef875714 442492006-12-08 Hollis Blanchard <hollis@penguinppc.org>
44250
44251 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
44252
4e739985 442532006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
44254
44255 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
44256 the number of sectors. Reported by Andrey Shuvikov
44257 <mr_hyro@yahoo.com>.
f19dbdb7 44258
790707f2 442592006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
44260
44261 * kern/disk.c (grub_disk_read): When there is a read error, always
44262 try to read only the necessary data.
f19dbdb7 44263
790707f2 44264 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
44265 disk/raid.c.
44266 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
44267 prototype.
44268 [GRUB_UTIL] (grub_raid_fini): Likewise.
44269 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 44270 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 44271 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
44272 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
44273 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
44274 and grub_raid_fini().
f19dbdb7 44275
03e58196 442762006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
44277
44278 * include/grub/types.h (__unused): Rename to UNUSED.
44279 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
44280 (grub_elf64_size): Likewise.
f19dbdb7 44281
ae4f23bf 442822006-11-03 Hollis Blanchard <hollis@penguinppc.org>
44283
44284 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
44285 grub_error_push and grub_error_pop in the error-handling path.
44286 (grub_elf32_load_segment): Only call grub_file_read with non-zero
44287 length.
44288
2166cc83 442892006-11-03 Hollis Blanchard <hollis@penguinppc.org>
44290
44291 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
44292 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44293 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44294 (kernel_elf_SOURCES): Likewise.
44295 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
44296 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
44297 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44298 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44299 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
44300 (elf_mod_SOURCES): New variable.
44301 (elf_mod_CFLAGS): Likewise.
44302 (elf_mod_LDFLAGS): Likewise.
44303 * include/grub/types.h (__unused): New macro.
44304 * include/grub/elfload.h: New file.
44305 * kern/elf.c: Likewise.
44306 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
44307 (ELF32_LOADMASK): New macro.
44308 (ELF64_LOADMASK): Likewise.
44309 (vmlinux): Removed.
44310 (grub_linux_load32): New function.
44311 (grub_linux_load64): Likewise.
44312 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
44313 Use grub_elf_t instead of grub_file_t.
44314
a09d5aa5 443152006-11-02 Hollis Blanchard <hollis@penguinppc.org>
44316
44317 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
44318 `catch_result' to struct set_color_args.
44319
d976fc51 443202006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
44321
44322 * normal/menu.c: Include grub/script.h.
44323 * normal/menu_entry.c: Likewise.
44324 * include/grub/normal.h: Do not include grub/script.h.
44325
67507549 443262006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44327
44328 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
44329
69203a99 443302006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44331
44332 * kern/disk.c (grub_disk_open): Print debug messages when opening a
44333 disk.
44334 (grub_disk_close): Print debug messages when closing a disk.
44335 (grub_disk_read): Print debug messages when disk read fails.
44336 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
44337 filesystem type.
44338 * kern/partition.c: Include misc.h.
44339 (grub_partition_iterate): Print debug messages when detecting
44340 partition type.
44341
e2b8278c 443422006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44343
44344 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
44345 is negative.
44346 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
44347
97b2f2ff 443482006-10-26 Hollis Blanchard <hollis@penguinppc.org>
44349
44350 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
44351 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
44352
6555d655 443532006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
44354
44355 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
44356 instead of sizeof(lv). Patch by Michael Guntsche.
44357
4d42b77f 443582006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
44359
44360 * disk/lvm.c: Rename VGS to VG_LIST.
44361 (grub_lvm_iterate): Change VGS->LV to VG-LV.
44362 (grub_lvm_open): Likewise.
44363 Thanks to Michael Guntsche for finding this bug.
44364
5d74d927 443652006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44366
44367 * configure.ac (AC_INIT): Bumped to 1.95.
44368
a1bb27e4 443692006-10-14 Robert Millan <rmh@aybabtu.com>
44370
44371 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
44372 with "/dev/.static/dev/md".
44373
e0994b8b 443742006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
44375
44376 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
44377 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
44378 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
44379 DRIVE_NAME are always freed.
44380
44381 * util/i386/pc/biosdisk.c (make_device_name): Add one into
44382 DOS_PART, as a DOS partition is counted from one instead of zero
44383 now. Reported by Robert Millan.
44384
ddd5cee9 443852006-10-14 Robert Millan <rmh@aybabtu.com>
44386
44387 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
44388 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
44389 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
44390 string returned by grub_guess_root_device.
44391 * util/i386/pc/grub-setup.c: Likewise.
44392 * util/i386/pc/grub-probefs.c: Likewise.
44393
44394 * util/i386/pc/grub-probefs.c: Rename to ...
44395 * util/i386/pc/grub-probe.c: ... this.
44396 * DISTLIST: Remove grub-probefs, add grub-probe.
44397 * conf/i386-efi.rmk: Likewise.
44398 * conf/i386-pc.rmk: Likewise.
44399 * util/i386/pc/grub-install.in: Likewise.
44400
44401 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
44402 choose which information we want to print.
44403
2b002173 444042006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
44405
44406 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
44407 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
44408 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
44409 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
44410 video/readers/tga.c and video/i386/pc/vbeutil.c.
44411
444122006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
44413
44414 Added support for RAID and LVM.
f19dbdb7 44415
2b002173 44416 * disk/lvm.c: New file.
44417 * disk/raid.c: Likewise.
44418 * include/grub/lvm.h: Likewise.
f19dbdb7 44419 * include/grub/raid.h: Likewise.
2b002173 44420 * include/grub/util/lvm.h: Likewise.
44421 * include/grub/util/raid.h: Likewise.
44422 * util/lvm.c: Likewise.
44423 * util/raid.c: Likewise.
44424
44425 * include/grub/disk.h (grub_disk_dev_id): Add
44426 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
44427 (grub_disk_get_size): New prototype.
44428 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
44429 returns a partition.
44430 (grub_disk_get_size): New function.
f19dbdb7 44431
2b002173 44432 * kern/i386/pc/init.c (make_install_device): Copy the prefix
44433 verbatim if grub_install_dos_part is -2.
44434
44435 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
44436 and LVM devices.
44437
44438 * util/i386/pc/grub-setup.c (setup): New argument
44439 MUST_EMBED. Force embedding of GRUB when the argument is
44440 true. Close FILE before returning.
44441 (main): Add support for RAID and LVM.
f19dbdb7 44442
2b002173 44443 * conf/common.rmk: Add RAID and LVM modules.
44444 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
44445 util/lvm.c.
44446 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
44447
44448 * kern/misc.c (grub_strstr): New function.
44449 * include/grub/misc.h (grub_strstr): New prototype.
44450
050548d0 444512006-10-10 Tristan Gingold <tristan.gingold@bull.net>
44452
44453 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
44454
da849d2d 444552006-10-05 Tristan Gingold <tristan.gingold@bull.net>
44456
44457 * kern/misc.c (grub_strtoull): Guess the base only if not
44458 specified.
44459
97b2f2ff 444602006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 44461
44462 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
44463 PowerMac support.
44464
97b2f2ff 444652006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 44466
44467 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
44468
44469 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
44470 Remove `flags' argument. All callers changed.
44471 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
44472 (IEEE1275_IHANDLE_INVALID): New variable.
44473 (IEEE1275_CELL_INVALID): New variable.
44474 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
44475 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
44476 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
44477 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
44478 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
44479 codes from Open Firmware. All callers updated.
44480 (grub_ieee1275_next_property): Directly return Open Firmware return
44481 code.
44482 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
44483 Standardize error checking from `grub_ieee1275_get_property'.
44484 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
44485 `devalias' to `aliases'. Correct comments. Consolidate error paths.
44486
97b2f2ff 444872006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 44488
44489 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
44490 `instance_to_package_args' to `instance_to_path_args'.
44491
44492 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
44493 `grub_ieee1275_chosen'.
44494
44495 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
44496 `grub_ieee1275_interpret'.
44497
97b2f2ff 444982006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 44499
44500 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
44501
97b2f2ff 445022006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 44503
44504 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
44505 (__cmpdi): Likewise.
44506
44507 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
44508 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
44509 `grub_ssize_t'.
44510
02bb8acc 44511 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 44512
44513 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
44514 to type `grub_ssize_t'.
44515 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
44516
7f9a8531 445172006-09-22 Marco Gerards <marco@gnu.org>
44518
44519 * normal/script.c (grub_script_create_cmdmenu): Skip leading
44520 newlines.
44521
b5ef1102 445222006-09-22 Marco Gerards <marco@gnu.org>
44523
44524 * commands/echo.c: New file.
44525
44526 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
44527
44528 * conf/common.rmk (echo_mod_SOURCES): New variable.
44529 (echo_mod_CFLAGS): Likewise.
44530 (echo_mod_LDFLAGS): Likewise.
44531
2cff3677 445322006-09-22 Marco Gerards <marco@gnu.org>
44533
44534 * normal/main.c (get_line): Malloc memory instead of using
44535 preallocated memory. Removed the arguments `cmdline' and
44536 `max_len'. Updated all callers.
44537
6ba4688b 445382006-09-22 Marco Gerards <marco@gnu.org>
44539
44540 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
44541 (normal_mod_DEPENDENCIES): Likewise.
44542
44543 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
44544 (normal_mod_DEPENDENCIES): Likewise.
44545
44546 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
44547
e02ac02c 445482006-09-22 Johan Rydberg <jrydberg@gnu.org>
44549
44550 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
44551 programs.
44552 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
44553 (normal_mod_DEPENDENCIES): Likewise.
44554 * conf/i386-pc.mk: Regenerate.
44555 * conf/i386-efi.mk: Likewise
44556 * conf/common.mk: Likewise.
44557 * conf/powerpc-ieee1275.mk: Likewise.
44558 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 44559
8d252e44 445602006-09-22 Robert Millan <rmh@aybabtu.com>
44561
44562 Sync with i386 version.
44563 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
44564 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
44565
209bf7ac 445662006-09-21 Robert Millan <rmh@aybabtu.com>
44567
44568 Import from GRUB Legacy (lib/device.c):
44569 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
44570 (init_device_map) [__linux__]: Add support for I2O devices.
44571
6b146090 445722006-09-14 Marco Gerards <marco@gnu.org>
44573
44574 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
44575 `-melf_i386'.
44576
e38600a8 445772006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 44578
44579 * util/i386/pc/grub-install.in: Skip menu.lst when removing
44580 /boot/grub/*.lst.
78fa1790 44581
2952da5d 44582 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 44583
2952da5d 44584 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
44585 before adding it to device.map.
44586
01b82a64 445872006-08-15 Johan Rydberg <jrydberg@gnu.org>
44588
fe6b695a 44589 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 44590 compiles a file; using the -MD option.
44591 * conf/common.mk: Regenerate.
44592 * conf/i386-pc.mk: Likewise.
44593 * conf/i386-efi.mk: Likewise.
44594 * conf/powerpc-ieee1275.mk: Likewise.
44595 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 44596
1064790d 445972006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
44598
44599 Move the prototypes of grub_setjmp and grub_longjmp to
44600 cpu/setjmp.h, so that each architecture may specify different
44601 attributes.
f19dbdb7 44602
1064790d 44603 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
44604 (grub_longjmp): Likewise.
44605 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
44606 (grub_longjmp): Likewise.
44607 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
44608 (grub_longjmp): Likewise.
44609
44610 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
44611 [!GRUB_UTIL] (grub_longjmp): Removed.
44612
29dda3ed 446132006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
44614
44615 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
44616 "color!" method does not return any value.
44617
ad2a06ed 446182006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44619
44620 * include/grub/bitmap.h: New file.
44621
44622 * include/grub/i386/pc/vbeutil.h: Likewise.
44623
44624 * video/bitmap.c: Likewise.
44625
44626 * video/readers/tga.c: Likewise.
44627
44628 * video/i386/pc/vbeutil.c: Likewise.
44629
44630 * commands/videotest.c: Code cleanup and updated to reflect to new
44631 video API.
44632
44633 * term/gfxterm.c: Likewise.
44634
44635 * video/video.c: Likewise.
44636
44637 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
44638 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
44639 (bitmap_mod_SOURCES): New entry.
44640 (bitmap_mod_CFLAGS): Likewise.
44641 (bitmap_mod_LDFLAGS): Likewise.
44642 (tga_mod_SOURCES): Likewise.
44643 (tga_mod_CFLAGS): Likewise.
44644 (tga_mod_LDFLAGS): Likewise.
44645
44646 * include/grub/video.h (grub_video_blit_operators): New enum type.
44647 (grub_video_render_target): Changed as forward declaration and moved
44648 actual definition to be video driver specific.
44649 (grub_video_adapter.blit_bitmap): Added blitting operator.
44650 (grub_video_adapter.blit_render_target): Likewise.
44651 (grub_video_blit_bitmap): Likewise.
44652 (grub_video_blit_render_target): Likewise.
44653
44654 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
44655 driver specific render target definition.
44656 (grub_video_vbe_map_rgba): Added driver internal helper.
44657 (grub_video_vbe_unmap_color): Updated to use
44658 grub_video_i386_vbeblit_info.
44659 (grub_video_vbe_get_video_ptr): Likewise.
44660
44661 * include/grub/i386/pc/vbeblit.h
44662 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
44663 grub_video_i386_vbeblit_info.
44664 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
44665 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
44666 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
44667 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
44668 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
44669 (grub_video_i386_vbeblit_index_index): Likewise.
44670 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
44671 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
44672 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
44673 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
44674 operator.
44675 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
44676 operator.
44677
44678 * video/i386/pc/vbeblit.c: Updated to reflect changes on
44679 include/grub/i386/pc/vbeblit.h.
44680
44681 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
44682 Updated to use grub_video_i386_vbeblit_info.
44683 (grub_video_i386_vbefill_R8G8B8): Likewise.
44684 (grub_video_i386_vbefill_index): Likewise.
44685 (grub_video_i386_vbefill): Added generic filler.
44686
44687 * video/i386/pc/vbefill.c: Updated to reflect changes on
44688 include/grub/i386/pc/vbefill.h.
44689
44690 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
44691 grub_video_i386_vbeblit_info.
44692 (grub_video_vbe_unmap_color): Likewise.
44693 (grub_video_vbe_blit_glyph): Likewise.
44694 (grub_video_vbe_scroll): Likewise.
44695 (grub_video_vbe_draw_pixel): Removed function.
44696 (grub_video_vbe_get_pixel): Likewise.
44697 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
44698 updated code to use it.
44699 (common_blitter): Added common blitter for render target and bitmap.
44700 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
44701 (grub_video_vbe_blit_render_target): Likewise.
44702
bc8c036d 447032006-07-30 Johan Rydberg <jrydberg@gnu.org>
44704
44705 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
44706 is in text mode if there is no console control protocol instance
44707 available.
44708
684a8eff 447092006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44710
44711 * include/grub/video.h: Code cleanup.
44712
44713 * include/grub/i386/pc/vbe.h: Likewise.
44714
44715 * video/i386/pc/vbe.c: Likewise.
44716
44717 * video/i386/pc/vbeblit.c: Likewise.
44718
44719 * video/i386/pc/vbefill.c: Likewise.
44720
44721 * video/video.c: Likewise. Also added more comments.
44722
5915059b 447232006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44724
44725 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
44726 (struct grub_biosdisk_dap): Likewise.
44727
44728 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
44729 linkage settings for all functions.
44730
90ce5d56 447312006-07-12 Marco Gerards <marco@gnu.org>
44732
44733 * configure.ac (--enable-mm-debug): Fix typo.
44734
44735 * genkernsyms.sh.in: Use proper quoting for `CC'.
44736
43e7f879 447372006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
44738
44739 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
44740 (normal_mod_ASFLAGS): Remove "-m32".
44741
4889bdec 447422006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
44743
44744 * util/misc.c: Include config.h.
44745 [!HAVE_MEMALIGN]: Do not include malloc.h.
44746 (grub_memalign): Use posix_memalign, if present. Then, use
44747 memalign, if present. Otherwise, emit an error.
44748
44749 * util/grub-emu.c: Do not include malloc.h.
44750
44751 * include/grub/util/misc.h: Include unistd.h. This is required for
44752 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
44753 D. Eades III <hde@foobar-qux.org>.
44754
44755 * configure.ac (AC_GNU_SOURCE): Added.
44756 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
44757 type.
44758
fd39d4da 447592006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
44760
44761 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
44762 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
44763
b786f3b5 447642006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
44765
44766 * include/grub/types.h (grub_host_addr_t): Rename to
44767 grub_target_addr_t.
44768 (grub_host_off_t): Rename to grub_target_off_t.
44769 (grub_host_size_t): Rename to grub_target_size_t.
44770 (grub_host_ssize_t): Rename to grub_target_ssize_t.
44771 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
44772
44773 * include/grub/kernel.h (struct grub_module_header): Change type
44774 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
44775 (grub_module_info): Likewise.
f19dbdb7 44776
051988bb 447772006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
44778
44779 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
44780 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
44781 Velazquez <jesus.velazquez@gmail.com>.
44782
deae281b 447832006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
44784
44785 Count partitions from 1 instead of 0 in the string representation
44786 of partitions. Still use 0-based internally.
f19dbdb7 44787
deae281b 44788 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
44789 (sun_partition_map_iterate): Use grub_partition_t instead of
44790 struct grub_partition *. Cast DESC->START_CYLINDER to
44791 grub_uint64_t after converting the endian.
44792 (sun_partition_map_probe): Subtract 1 for PARTNUM.
44793 (sun_partition_map_get_name): Add 1 to P->INDEX.
44794
44795 * partmap/pc.c (grub_partition_parse): Subtract 1 for
44796 PCDATA->DOS_PART.
44797 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
44798
44799 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
44800 zero instead of one.
44801 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
44802 (gpt_partition_map_get_name): Add 1 into P->INDEX.
44803
44804 * partmap/apple.c (apple_partition_map_iterate): Change the type
44805 of POS to unsigned.
44806 (apple_partition_map_probe): Subtract 1 for PARTNUM.
44807 (apple_partition_map_get_name): Add 1 into P->INDEX.
44808
44809 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
44810 of POS to unsigned.
44811 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
44812 calculate the offset of a partition.
44813 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
44814 (amiga_partition_map_get_name): Add 1 into P->INDEX.
44815
44816 * partmap/acorn.c (acorn_partition_map_find): Change the type of
44817 SECTOR to grub_disk_addr_t.
44818 (acorn_partition_map_iterate): Likewise.
44819 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
44820 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
44821 top.
44822 (acorn_partition_map_get_name): Add 1 into P->INDEX.
44823
44824 * kern/i386/pc/init.c (make_install_device): Add 1 into
44825 GRUB_INSTALL_DOS_PART.
44826
44827 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
44828 conditional.
44829
524a1e6a 448302006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
44831
44832 Clean up the code to support 64-bit addressing in disks and
44833 files. This change is not enough for filesystems yet.
f19dbdb7 44834
524a1e6a 44835 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
44836 type of "start" to grub_uint64_t.
44837 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
44838 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
44839 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
44840 convert addresses.
44841
44842 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
44843 to grub_disk_addr_t.
44844
44845 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
44846 string.
44847
44848 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44849
44850 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
44851 to char *.
44852
44853 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
44854
44855 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
44856
44857 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
44858
44859 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
44860 to grub_off_t, to detect an error from grub_file_seek.
44861 (grub_multiboot_load_elf32): Likewise.
44862
44863 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
44864 maximum unsigned long value when an overflow is detected.
44865 (grub_strtoull): New function.
44866 (grub_divmod64): Likewise.
44867 (grub_lltoa): use grub_divmod64.
44868
44869 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
44870 grub_disk_addr_t.
44871 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
44872 the pointer to next character. Use grub_strtoull instead of
44873 grub_strtoul.
44874 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
44875 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
44876 respectively.
44877
fe6b695a 44878 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 44879 return value is signed.
44880 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
44881 test if OFFSET is less than zero, as OFFSET is unsigned now.
44882
44883 * kern/disk.c (struct grub_disk_cache): Change the type of
44884 "sector" to grub_disk_addr_t.
44885 (grub_disk_cache_get_index): Change the type of SECTOR to
44886 grub_disk_addr_t. Calculate the hash with SECTOR casted to
44887 unsigned after shifting.
44888 (grub_disk_cache_invalidate): Change the type of SECTOR to
44889 grub_disk_addr_t.
44890 (grub_disk_cache_unlock): Likewise.
44891 (grub_disk_cache_store): Likewise.
44892 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
44893 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
44894 grub_disk_addr_t and grub_uint64_t, respectively.
44895 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
44896 body, as the value of OFFSET is tweaked by
44897 grub_disk_check_range. Change the types of START_SECTOR, LEN and
44898 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
44899 respectively.
44900 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
44901 body, as the value of OFFSET is tweaked by
44902 grub_disk_check_range. Change the types of LEN and N to
44903 grub_size_t.
44904
44905 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
44906 and "saved_offset" to grub_off_t.
44907 (test_header): Cast BUF to char *.
44908 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
44909 to char *.
44910 (grub_gzio_read): Change the types of OFFSET and SIZE to
44911 grub_off_t and grub_size_t, respectively.
44912
44913 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
44914 Removed.
44915 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
44916 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
44917 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
44918 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
44919 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
44920
44921 * include/grub/types.h (grub_off_t): Unconditionally set to
44922 grub_uint64_t.
44923 (grub_disk_addr_t): Changed to grub_uint64_t.
44924
44925 * include/grub/partition.h (struct grub_partition): Change the
44926 types of "start", "len" and "offset" to grub_disk_addr_t,
44927 grub_uint64_t and grub_disk_addr_t, respectively.
44928 (grub_partition_get_start): Return grub_disk_addr_t.
44929 (grub_partition_get_len): Return grub_uint64_t.
44930
44931 * include/grub/misc.h (grub_strtoull): New prototype.
44932 (grub_divmod64): Likewise.
44933
44934 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
44935 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
44936 grub_off_t, respectively.
44937 All callers and references changed.
44938
44939 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
44940 grub_size_t in "read".
44941 All callers and references changed.
44942
44943 * include/grub/file.h (struct grub_file): Change the types of
44944 "offset" and "size" to grub_off_t and grub_off_t,
44945 respectively. Change the type of SECTOR to grub_disk_addr_t in
44946 "read_hook".
44947 (grub_file_read): Change the type of LEN to grub_size_t.
44948 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
44949 grub_off_t.
44950 (grub_file_size): Return grub_off_t.
44951 (grub_file_tell): Likewise.
44952 All callers and references changed.
44953
44954 * include/grub/disk.h (struct grub_disk_dev): Change the types of
44955 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
44956 "write".
44957 (struct grub_disk): Change the type of "total_sectors" to
44958 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 44959 "read_hook".
524a1e6a 44960 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
44961 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
44962 (grub_disk_write): Likewise.
44963 All callers and references changed.
44964
44965 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
44966 char * for grub_strncmp to silence gcc.
44967 (grub_iso9660_mount): Likewise.
44968 (grub_iso9660_mount): Likewise.
44969 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
44970 return statement.
44971 (grub_iso9660_iterate_dir): Likewise.
44972 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
44973
44974 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
44975 LEN to grub_disk_addr_t and grub_size_t, respectively.
44976
44977 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
44978
44979 * fs/jfs.c (grub_jfs_read_file): Likewise.
44980
44981 * fs/minix.c (grub_jfs_read_file): Likewise.
44982
44983 * fs/sfs.c (grub_jfs_read_file): Likewise.
44984
44985 * fs/ufs.c (grub_jfs_read_file): Likewise.
44986
44987 * fs/xfs.c (grub_jfs_read_file): Likewise.
44988
44989 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
44990 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
44991 respectively.
44992
44993 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
44994 BLKNR to -1 instead of returning GRUB_ERRNO.
44995 (grub_ext2_read_file): Change the types of SECTOR and
44996 LEN to grub_disk_addr_t and grub_size_t, respectively.
44997
44998 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
44999 LEN to grub_disk_addr_t and grub_size_t, respectively.
45000
45001 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
45002 grub_file_read.
45003
45004 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
45005 string. Do not cast SECTOR explicitly.
45006
45007 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
45008 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
45009 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
45010 grub_disk_addr_t and grub_size_t, respectively. If the sector is
45011 over 2TB and LBA mode is not supported, raise an error.
45012 (get_safe_sectors): New function.
45013 (grub_biosdisk_read): Use get_safe_sectors.
45014 (grub_biosdisk_write): Likewise.
45015
45016 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
45017 (grub_efidisk_write): Likewise.
45018
45019 * disk/loopback.c (delete_loopback): Cosmetic changes.
45020 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
45021 correctly.
45022 (grub_loopback_open): Likewise.
45023 (grub_loopback_read): Likewise. Also, change the type of POS to
45024 grub_off_t, and fix the usage of grub_memset.
45025
45026 * commands/i386/pc/play.c: Include grub/machine/time.h.
45027
45028 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
45029 print FILE->SIZE.
45030
45031 * commands/configfile.c: Include grub/env.h.
45032
45033 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
45034 GRUB_ERRNO directly instead. Change the type of POS to
45035 grub_off_t. Follow the coding standard.
45036
45037 * commands/blocklist.c: Include grub/partition.h.
45038 (grub_cmd_blocklist): Return an error if the underlying device is
45039 not a disk. Take the starting sector of a partition into account,
45040 if a partition is used.
45041
45042 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
45043 a length field.
45044 (lba_mode): Support 64-bit addresses.
45045 (chs_mode): Likewise.
45046 (copy_buffer): Adapted to the new offsets of a length field and a
45047 segment field.
45048 (blocklist_default_start): Allocate 64-bit space.
45049
45050 * boot/i386/pc/boot.S (force_lba): Removed.
45051 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 45052 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 45053 space.
45054 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
45055 is useless.
45056 (lba_mode): Refactored to support a 64-bit address. More size
45057 optimization.
45058 (setup_sectors): Likewise.
45059
53af98ad 450602006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
45061
45062 * DISTLIST: Added include/grub/i386/linux.h. Removed
45063 include/grub/i386/pc/linux.h
45064
45065 * configure.ac (AC_INIT): Bumped to 1.94.
45066
45067 * config.guess: Updated from gnulib.
45068 * config.sub: Likewise.
45069 * install-sh: Likewise.
45070 * mkinstalldirs: Likewise.
45071
b4c1940a 450722006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
45073
45074 * conf/common.rmk (grub_modules_init.lst): Depended on
45075 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
45076 MODSRCFILES.
45077
45078 * genmk.rb (PModule::rule): Reverted the previous change.
45079
cfca1cfd 450802006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
45081
45082 * conf/common.rmk (grub_modules_init.lst): Depends on
45083 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
45084 that the target does not exist before producing.
45085 (grub_modules_init.h): Remove the target before generating.
45086 (grub_emu_init.c): Likewise.
45087
45088 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
45089
aa6d7826 450902006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
45091
45092 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
45093 for the target-specific tests. Make sure that we also have the
45094 up-to-date target variables for those tests.
45095
26c607b9 450962006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
45097
45098 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
45099 (PModule::rule): Likewise.
45100
0162321a 451012006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
45102
45103 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
45104 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
45105 target-specific flags should be prefixed.
45106 (PModule::rule): Likewise.
45107
6c826348 451082006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
45109
45110 * configure.ac (CMP): Check if cmp is available explicitly.
45111
b977bf01 451122006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
45113
45114 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
45115 (target_cpu): New variable.
45116 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 45117
b977bf01 45118 * util/i386/pc/grub-install.in (host_cpu): Removed.
45119 (target_cpu): New variable.
45120 (pkglibdir): Use target_cpu instead of host_cpu.
45121
45122 * util/genmoddep.c: Removed.
f19dbdb7 45123
b977bf01 45124 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
45125 instead of GRUB_HOST_SIZEOF_VOID_P.
45126 * kern/dl.c: Likewise.
45127
45128 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
45129 ...
45130 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45131 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45132 (GRUB_TARGET_SIZEOF_LONG): ... this.
45133 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45134 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45135 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
45136 to ...
45137 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45138 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45139 (GRUB_TARGET_SIZEOF_LONG): ... this.
45140 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45141 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45142 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
45143 to ...
45144 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45145 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45146 (GRUB_TARGET_SIZEOF_LONG): ... this.
45147 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45148 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45149
45150 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
45151 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
45152 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
45153 instead of GRUB_HOST_SIZEOF_LONG.
45154 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
45155 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
45156 GRUB_CPU_WORDS_BIGENDIAN.
45157 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
45158 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
45159 grub_host_ssize_t.
45160
45161 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
45162 (genmoddep_SOURCES): Likewise.
45163 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
45164 (genmoddep_SOURCES): Likewise.
45165 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
45166 (genmoddep_SOURCES): Likewise.
45167 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
45168 Likewise.
45169 (genmoddep_SOURCES): Likewise.
45170
45171 * genmoddep.awk: New file.
45172
45173 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
45174 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
45175 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
45176 (PModule::rule): Likewise.
45177 (Program::rule): Likewise.
45178 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
45179 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
45180 respectively.
45181
45182 * configure.ac: Rewritten intensively to use host and target
45183 instead of build and host, respectively.
45184
45185 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
45186 (host_cpu): Removed.
45187 (target_cpu): New variable.
45188 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
45189 (BUILD_CC): Removed.
45190 (BUILD_CFLAGS): Likewise.
45191 (BUILD_CPPFLAGS): Likewise.
45192 (TARGET_CC): New variable.
45193 (TARGET_CFLAGS): Likewise.
45194 (TARGET_CPPFLAGS): Likewise.
45195 (TARGET_LDFLAGS): Likewise.
45196 (AWK): Likewise.
45197 (include): Use target_cpu instead of host_cpu.
45198 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 45199
b977bf01 45200 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
45201
f09771a1 452022006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
45203
45204 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
45205 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
45206 field 'false' to 'exec_on_false'.
45207 (grub_script_create_cmdif): Renamed argument names to reflect above
45208 changes.
45209
45210 * normal/execute.c (grub_script_execute_cmdif): Likewise.
45211
45212 * normal/script.c (grub_script_create_cmdif): Likewise.
45213
118f4fb3 452142006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
45215
45216 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
45217 top.
45218 (grub_hfsplus_btree_recptr): Likewise.
45219 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
45220 FILEBLOCK both to pass a block number and store next block
45221 number.
45222 (grub_hfsplus_read_block): Rewritten heavily to support an extent
45223 overflow file correctly. Specify errors appropriately, because
45224 fshelp expects that GRUB_ERRNO is set when fails. Reuse
45225 grub_hfsplus_btree_recptr to get the pointer to a found key.
45226 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
45227 is found.
45228
45229 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
45230 linux.mod.
45231 (_linux_mod_SOURCES): New variable.
45232 (_linux_mod_CFLAGS): Likewise.
45233 (_linux_mod_LDFLAGS): Likewise.
45234 (linux_mod_SOURCES): Likewise.
45235 (linux_mod_CFLAGS): Likewise.
45236 (linux_mod_LDFLAGS): Likewise.
45237
45238 * DISTLIST: Added loader/i386/efi/linux.c,
45239 loader/i386/efi/linux_normal.c and
45240 include/grub/i386/efi/loader.h.
45241
45242 * loader/i386/efi/linux.c: New file.
45243 * loader/i386/efi/linux_normal.c: Likewise.
45244 * include/grub/i386/efi/loader.h: Likewise.
45245
89a7d726 452462006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
45247
45248 * commands/blocklist.c: New file.
45249
45250 * DISTLIST: Added commands/blocklist.c.
45251
45252 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 45253 color for the background, and a darker color for the foreground.
89a7d726 45254 (grub_console_checkkey): Return READ_KEY.
45255 (grub_console_cls): Set the background to
45256 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
45257
45258 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
45259
45260 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
45261 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
45262
45263 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
45264 prototype.
45265
45266 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
45267 BG. The spec is wrong again.
45268
45269 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
45270 prototype.
45271 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
45272
45273 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45274 commands/blocklist.c.
45275 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 45276
89a7d726 45277 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
45278 (blocklist_mod_SOURCES): New variable.
45279 (blocklist_mod_CFLAGS): Likewise.
45280 (blocklist_mod_LDFLAGS): Likewise.
45281
75c8f258 452822006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
45283
45284 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
45285 duplication.
45286 (lba_mode): Use %eax more intensively to reduce the code size.
45287
da2eb181 452882006-05-20 Marco Gerards <marco@gnu.org>
45289
45290 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
45291
45292 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
45293 for `menuentry'.
45294 (script): Accept leading newlines.
45295 (newlines): New rule to describe 0 or more newlines.
45296 (commands): Accept `command' with trailing newline. Fixed the
45297 order in which arguments were passed to `grub_script_add_cmd'.
45298 Accept commands separated by newlines.
45299 (function): Changed to accept newlines.
45300 (menuentry) Rewritten.
45301
45302 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
45303 front of the list, instead of to the end.
45304
577b4050 453052006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
45306
45307 * util/i386/pc/grub-install.in (bindir): New variable.
45308 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
45309 Shaver <lbgwjl@gmail.com>.
45310
0d6e1189 453112006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
45312
45313 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
45314 grub/machine/linux.h
45315 * loader/i386/pc/linux.c: Likewise.
45316
45317 * include/grub/i386/pc/linux.h: Moved to ...
45318 * include/grub/i386/linux.h: ... here.
45319
45320 * include/grub/i386/linux.h (struct linux_kernel_params): New
45321 struct.
f19dbdb7 45322
31b86e9f 453232006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
45324
45325 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
45326 checking.
45327 (grub_video_vbe_blit_glyph): Likewise.
45328 (grub_video_vbe_blit_bitmap): Likewise.
45329 (grub_video_vbe_blit_render_target): Likewise.
45330
83b984de 453312006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
45332
45333 * configure.ac (--with-platform): Properly quote the square
45334 brackets.
45335
5f0413bd 453362006-05-08 Marco Gerards <marco@gnu.org>
45337
45338 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
45339 this...
45340 (kernel_elf_HEADERS): ...to this. Updated all users.
45341 (grubof_symlist.c): Renamed from this...
45342 (kernel_elf_symlist.c): ...to this. Updated all users.
45343 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
45344 (grubof_SOURCES): Renamed from this...
45345 (kernel_elf_SOURCES): ...to this.
45346 (grubof_HEADERS): Renamed from this...
45347 (kernel_elf_HEADERS): ...to this.
45348 (grubof_CFLAGS): Renamed from this...
45349 (kernel_elf_CFLAGS): ...to this.
45350 (grubof_ASFLAGS): Renamed from this...
45351 (kernel_elf_ASFLAGS): ...to this.
45352 (grubof_LDFLAGS): Renamed from this...
45353 (kernel_elf_LDFLAGS): ...to this.
45354
45355 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
45356 this...
45357 (kernel_elf_HEADERS): ...to this. Updated all users.
45358 (grubof_symlist.c): Renamed from this...
45359 (kernel_elf_symlist.c): ...to this. Updated all users.
45360 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
45361 (grubof_SOURCES): Renamed from this...
45362 (kernel_elf_SOURCES): ...to this.
45363 (grubof_HEADERS): Renamed from this...
45364 (kernel_elf_HEADERS): ...to this.
45365 (grubof_CFLAGS): Renamed from this...
45366 (kernel_elf_CFLAGS): ...to this.
45367 (grubof_ASFLAGS): Renamed from this...
45368 (kernel_elf_ASFLAGS): ...to this.
45369 (grubof_LDFLAGS): Renamed from this...
45370 (kernel_elf_LDFLAGS): ...to this.
45371
45372 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
45373 `kernel.elf' instead of `grubof'.
45374
05568c2e 453752006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
45376
45377 Add --with-platform to configure. Use pkglibdir instead of
45378 pkgdatadir. This is reported by Roger Leigh.
45379
45380 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
45381 (host_vendor): Likewise.
45382 (host_os): Likewise.
45383 (pkgdatadir): Likewise.
45384 (platform): New variable.
45385 (pkglibdir): Likewise.
45386 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 45387
05568c2e 45388 * util/i386/pc/grub-install.in (datadir): Removed.
45389 (host_vendor): Likewise.
45390 (host_os): Likewise.
45391 (pkgdatadir): Likewise.
45392 (platform): New variable.
45393 (pkglibdir): Likewise.
45394 Use PKGLIBDIR instead of PKGDATADIR.
45395
45396 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
45397 instead of GRUB_DATADIR.
45398 (main): Likewise.
45399 * util/i386/pc/grub-mkimage.c (usage): Likewise.
45400 (main): Likewise.
45401 * util/i386/efi/grub-mkimage.c (usage): Likewise.
45402 (main): Likewise.
45403
45404 * configure.ac (--with-platform): New option.
45405 Use PLATFORM instead of HOST_VENDOR to specify a platform.
45406
45407 * Makefile.in: Include a makefile based on PLATFORM instead of
45408 HOST_VENDOR.
45409 (pkgdatadir): Not appended by the machine type.
45410 (pkglibdir): Appended by the machine type.
45411 (host_vendor): Removed.
45412 (platform): New variable.
45413 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
45414 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
45415 (uninstall): Likewise.
45416
4e93851c 454172006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
45418
45419 Use the environment context in the menu. Remove the commands
45420 "default" and "timeout", and use variables instead.
f19dbdb7 45421
4e93851c 45422 * normal/menu.c: Include grub/env.h.
45423 (print_entry): Cast TITLE to silence gcc.
45424 (get_timeout): New function.
45425 (set_timeout): Likewise.
45426 (get_entry_number): Likewise.
45427 (run_menu): Use a default entry, a fallback entry and a timeout
45428 in the environment variables "default", "fallback" and
45429 "timeout". Also, tweak the default entry if it is not within the
45430 current menu entries.
45431 (grub_menu_run): Use a fallback entry in the environment variable
45432 "fallback".
45433
45434 * normal/main.c (read_config_file): Do not initialize
45435 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
45436 NEWMENU->TIMEOUT.
45437 (grub_normal_execute): Use a data slot to store the menu.
45438
45439 * include/grub/normal.h (struct grub_menu): Removed default_entry,
45440 fallback_entry and timeout.
45441 (struct grub_menu_list): Removed.
45442 (grub_menu_list_t): Likewise.
45443 (struct grub_context): Likewise.
45444 (grub_context_t): Likewise.
45445 (grub_context_get): Likewise.
45446 (grub_context_get_current_menu): Likewise.
45447 (grub_context_push_menu): Likewise.
45448 (grub_context_pop_menu): Likewise.
45449 (grub_default_init): Likewise.
45450 (grub_default_fini): Likewise.
45451 (grub_timeout_init): Likewise.
45452 (grub_timeout_fini): Likewise.
45453
45454 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
45455 and timeout.mod.
45456 (normal_mod_SOURCES): Removed normal/context.c.
45457
45458 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
45459 commands/default.c, commands/timeout.c and normal/context.c.
45460 (normal_mod_SOURCES): Removed normal/context.c.
45461
45462 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
45463 commands/timeout.c and normal/context.c.
45464 (normal_mod_SOURCES): Removed normal/context.c.
45465
45466 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
45467 commands/default.c, commands/timeout.c and normal/context.c.
45468 (normal_mod_SOURCES): Removed normal/context.c.
45469
45470 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
45471 timeout.mod.
45472 (default_mod_SOURCES): Removed.
45473 (default_mod_CFLAGS): Likewise.
45474 (default_mod_LDFLAGS): Likewise.
45475 (timeout_mod_SOURCES): Removed.
45476 (timeout_mod_CFLAGS): Likewise.
45477 (timeout_mod_LDFLAGS): Likewise.
45478
45479 * DISTLIST: Removed commands/default.c, commands/timeout.c and
45480 normal/context.c.
45481
45482 * commands/default.c: Removed.
45483 * commands/timeout.c: Likewise.
45484 * normal/context.c: Likewise.
45485
1eb9cc1d 454862006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
45487
45488 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
45489
385bd9c1 454902006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
45491
45492 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
45493 "next" to "prev" for readability.
45494 (struct grub_env_sorted_var): New struct.
45495 (grub_env_context): Renamed to ...
45496 (initial_context): ... this.
45497 (grub_env_var_context): Renamed to ...
45498 (current_context): ... this.
45499 (grub_env_find): Look only at CURRENT_CONTEXT.
45500 (grub_env_context_open): Rewritten to copy exported variables from
45501 previous context.
45502 (grub_env_context_close): Rewritten according to the new
45503 scheme. Also, add an assertion to prevent the initial context from
45504 removed.
45505 (grub_env_insert): Removed the code for the sorted list.
45506 (grub_env_remove): Likewise.
45507 (grub_env_export): Simply mark the variable with
45508 GRUB_ENV_VAR_GLOBAL.
45509 (grub_env_set): A cosmetic change for naming consistency.
45510 (grub_env_get): Likewise.
45511 (grub_env_unset): Likewise.
45512 (grub_env_iterate): Rewritten to sort variables within this
45513 function.
45514 (grub_register_variable_hook): Fixed for naming consistency. Call
45515 grub_env_find again, only if NAME is not found at the first time.
45516 (mangle_data_slot_name): New function.
45517 (grub_env_set_data_slot): Likewise.
45518 (grub_env_get_data_slot): Likewise.
45519 (grub_env_unset_data_slot): Likewise.
45520
45521 * include/grub/env.h (grub_env_var_type): New enum.
45522 (GRUB_ENV_VAR_LOCAL): New constant.
45523 (GRUB_ENV_VAR_GLOBAL): Likewise.
45524 (GRUB_ENV_VAR_DATA): Likewise.
45525 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
45526 "type".
45527 (grub_env_set): Replace VAR with NAME for consistency.
45528 (grub_register_variable_hook): Likewise.
45529 (grub_env_export): Specify the name of the argument.
45530 (grub_env_set_data_slot): New prototype.
45531 (grub_env_get_data_slot): Likewise.
45532 (grub_env_unset_data_slot): Likewise.
45533
7f362539 455342006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
45535
45536 Extend the loader so that GRUB can accept a loader which comes
45537 back to GRUB when a loaded image exits. Also, this change adds
45538 support for a chainloader on EFI.
f19dbdb7 45539
7f362539 45540 * term/efi/console.c: Include grub/misc.h.
45541 (grub_console_checkkey): Display a scan code on the top for
45542 debugging. This will be removed once the EFI port gets stable.
45543 Correct the scan code mapping.
45544
45545 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
45546 allocate memory from larger regions, in order to reduce the number
45547 of allocated regions. Otherwise, the MacOSX loader panics.
45548 (filter_memory_map): Avoid less than 1MB for compatibility with
45549 other loaders.
45550 (add_memory_regions): Allocate from the tail of a region, if
45551 possible, to avoid allocating a region near to 1MB, for the MacOSX
45552 loader.
45553
45554 * kern/efi/init.c (grub_efi_set_prefix): Specify
45555 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
45556
45557 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
45558 argument IMAGE_HANDLE and specify it to get a loaded image.
45559 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
45560 grub_efi_get_loaded_image.
fe6b695a 45561 (grub_efi_get_filename): Divide the length by the size of
7f362539 45562 grub_efi_char16_t.
45563 (grub_efi_get_device_path): New function.
45564 (grub_efi_print_device_path): Print End Device Path nodes. Divide
45565 the length by the size of grub_efi_char16_t for a file path device
45566 path node.
45567
45568 * kern/loader.c (grub_loader_noreturn): New variable.
45569 (grub_loader_set): Accept a new argument NORETURN. Set
45570 GRUB_LOADER_NORETURN to NORETURN.
45571 All callers changed.
45572 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
45573 grub_machine_fini.
45574
45575 * include/grub/efi/efi.h (grub_efi_get_device_path): New
45576 prototype.
45577 (grub_efi_get_loaded_image): Take an argument to specify an image
45578 handle.
45579
45580 * include/grub/loader.h (grub_loader_set): Added one more argument
45581 NORETURN.
45582
45583 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
45584 instead of grub_efi_open_protocol.
45585 (grub_efidisk_get_device_name): Likewise.
45586 (grub_efidisk_close): Print a newline.
45587 (grub_efidisk_get_device_handle): Fixed to use
45588 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
45589 GRUB_EFI_DEVICE_PATH_TYPE.
45590
45591 * disk/efi/efidisk.c (device_path_guid): Moved to ...
45592 * kern/efi/efi.c (device_path_guid): ... here.
45593
45594 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
45595 chain.mod.
45596 (kernel_mod_HEADERS): Added efi/disk.h.
45597 (_chain_mod_SOURCES): New variable.
45598 (_chain_mod_CFLAGS): Likewise.
45599 (_chain_mod_LDFLAGS): Likewise.
45600 (chain_mod_SOURCES): Likewise.
45601 (chain_mod_CFLAGS): Likewise.
45602 (chain_mod_LDFLAGS): Likewise.
45603
45604 * DISTLIST: Added include/grub/efi/chainloader.h,
45605 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
45606
45607 * include/grub/efi/chainloader.h: New file.
45608 * loader/efi/chainloader.c: Likewise.
45609 * loader/efi/chainloader_normal.c: Likewise.
45610
c0111d6e 456112006-04-30 Marco Gerards <marco@gnu.org>
45612
45613 * commands/configfile.c (grub_cmd_source): New function.
45614 (GRUB_MOD_INIT): Register the commands `source' and `.'.
45615 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
45616
df5341da 456172006-04-30 Marco Gerards <marco@gnu.org>
45618
45619 * normal/execute.c (grub_script_execute_cmd): Change the return
45620 type to `grub_err_t'. Correctly return the error.
45621 (grub_script_execute_cmdline): In case a command line is not a
45622 command or a function, try to interpret it as an assignment.
45623
f85934bd 456242006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
45625
45626 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
45627 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
45628 skip a node whose name is obviously invalid as UTF-16,
45629 i.e. contains a NUL character. Stop the iteration when the last
45630 directory entry is found. Instead of using the return value of
45631 grub_hfsplus_btree_iterate_node, store the value in RET and use
45632 it, because the iterator can be stopped by the last directory
45633 entry.
45634
8f8a2cf8 456352006-04-30 Marco Gerards <marco@gnu.org>
45636
45637 * include/grub/env.h (grub_env_export): New prototype. Reported
45638 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
45639
a27e84ce 456402006-04-30 Marco Gerards <marco@gnu.org>
45641
45642 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
45643 size of the extents in a catalog file record.
45644
eaef0553 456452006-04-29 Marco Gerards <marco@gnu.org>
45646
45647 * commands/configfile.c (grub_cmd_configfile): Execute the
45648 configfile within its own context.
45649
45650 * include/grub/env.h (grub_env_context_open): New prototype.
45651 (grub_env_context_close): Likewise.
45652
45653 * kern/env.c (grub_env): Removed.
45654 (grub_env_sorted): Likewise.
45655 (grub_env_context): New variable.
45656 (grub_env_var_context): Likewise.
45657 (grub_env_find): Search both the active context and the global
45658 context.
45659 (grub_env_context_open): New function.
45660 (grub_env_context_close): Likewise.
45661 (grub_env_insert): Likewise.
45662 (grub_env_remove): Likewise.
45663 (grub_env_export): Likewise.
45664 (grub_env_set): Changed to use helper functions to avoid code
45665 duplication.
45666 (grub_env_iterate): Rewritten so both the current context and the
45667 global context are being used.
45668
45669 * normal/command.c (export_command): New function.
45670 (grub_command_init): Register the `export' function.
45671
7b455f4d 456722006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
45673
45674 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
45675 explicitly to suppress gcc's warnings.
45676 * fs/fat.c (grub_fat_find_dir): Likewise.
45677 (grub_fat_label): Likewise.
45678 * fs/xfs.c (grub_xfs_read_inode): Likewise.
45679 (grub_xfs_mount): Likewise.
45680 (grub_xfs_label): Likewise.
45681 * fs/affs.c (grub_affs_mount): Likewise.
45682 (grub_affs_label): Likewise.
45683 (grub_affs_iterate_dir): Likewise.
45684 * fs/sfs.c (grub_sfs_mount): Likewise.
45685 (grub_sfs_iterate_dir): Likewise.
45686 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
45687 * fs/hfs.c (grub_hfs_mount): Likewise.
45688 (grub_hfs_cmp_catkeys): Likewise.
45689 (grub_hfs_find_dir): Likewise.
45690 (grub_hfs_dir): Likewise.
45691 (grub_hfs_label): Likewise.
45692 * fs/jfs.c (grub_jfs_mount): Likewise.
45693 (grub_jfs_opendir): Likewise.
45694 (grub_jfs_getent): Likewise.
45695 (grub_jfs_lookup_symlink): Likewise.
45696 (grub_jfs_label): Likewise.
45697 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
45698 (grub_hfsplus_iterate_dir): Likewise.
45699 (grub_hfsplus_btree_iterate_node): Made static.
45700
45701 * util/grub-emu.c (prefix): New variable.
45702 (grub_machine_set_prefix): New function.
45703 (main): Do not set the environment variable "prefix" here. Only
45704 set PREFIX, which is used later by grub_machine_set_prefix.
45705
45706 * include/grub/video.h: Do not include grub/symbol.h.
45707 (grub_video_register): Not exported. This symbol is not defined in
45708 the kernel.
45709 (grub_video_unregister): Likewise.
45710 (grub_video_iterate): Likewise.
45711 (grub_video_setup): Likewise.
45712 (grub_video_restore): Likewise.
45713 (grub_video_get_info): Likewise.
45714 (grub_video_get_blit_format): Likewise.
45715 (grub_video_set_palette): Likewise.
45716 (grub_video_get_palette): Likewise.
45717 (grub_video_set_viewport): Likewise.
45718 (grub_video_get_viewport): Likewise.
45719 (grub_video_map_color): Likewise.
45720 (grub_video_map_rgb): Likewise.
45721 (grub_video_map_rgba): Likewise.
45722 (grub_video_fill_rect): Likewise.
45723 (grub_video_blit_glyph): Likewise.
45724 (grub_video_blit_bitmap): Likewise.
45725 (grub_video_blit_render_target): Likewise.
45726 (grub_video_scroll): Likewise.
45727 (grub_video_swap_buffers): Likewise.
45728 (grub_video_create_render_target): Likewise.
45729 (grub_video_delete_render_target): Likewise.
45730 (grub_video_set_active_render_target): Likewise.
45731
45732 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
45733 Undefined.
45734 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
45735
45736 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
45737 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45738 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45739 instead of $(srcdir)/genkernsyms.sh.
45740
45741 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
45742 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45743 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45744 instead of $(srcdir)/genkernsyms.sh.
45745
45746 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
45747 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45748 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45749 instead of $(srcdir)/genkernsyms.sh.
45750
45751 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
45752 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45753 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45754 instead of $(srcdir)/genkernsyms.sh.
45755
45756 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
45757 genkernsyms.sh.
45758
45759 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
45760 genkernsyms.sh.
45761 (gensymlist.sh): New target.
45762 (genkernsyms.sh): Likewise.
45763
45764 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
45765 genkernsyms.sh.in and gensymlist.sh.in.
45766
45767 * genkernsyms.sh: Removed.
45768 * gensymlist.sh: Likewise.
f19dbdb7 45769
7b455f4d 45770 * genkernsyms.sh.in: New file.
45771 * gensymlist.sh.in: Likewise.
45772
1885bb27 457732006-04-25 Hollis Blanchard <hollis@penguinppc.org>
45774
45775 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
45776 clobber "prefix", since we may have already set it manually.
45777
71538dff 457782006-04-25 Hollis Blanchard <hollis@penguinppc.org>
45779
45780 * kern/misc.c (abort): New alias for grub_abort.
45781
2965c7cc 457822006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
45783
45784 A new machine-specific function "grub_machine_set_prefix" is
45785 defined. This is called after loading modules, so that a prefix
45786 initialization can use modules. Also, this change adds an
45787 intensive debugging feature for the memory manager via the
45788 configure option "--enable-mm-debug".
f19dbdb7 45789
2965c7cc 45790 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
45791 PART.LEN.
45792
45793 * kern/sparc64/ieee1275/init.c (abort): Removed.
45794 (grub_stop): Likewise.
45795 (grub_exit): New function.
45796 (grub_set_prefix): Renamed to ...
45797 (grub_machine_set_prefix): ... this.
45798 (grub_machine_init): Do not call grub_set_prefix.
45799
45800 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
45801 (grub_machine_set_prefix): ... this.
45802 (grub_machine_init): Do not call grub_set_prefix.
45803
45804 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
45805 (grub_machine_init): Do not set the prefix here.
45806
45807 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
45808
45809 * kern/efi/init.c: Include grub/mm.h.
45810 (grub_efi_set_prefix): New function.
45811
45812 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
45813 (grub_efi_get_filename): New function.
45814 (grub_print_device_path): Renamed to ...
45815 (grub_efi_print_device_path): ... this.
45816
45817 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
45818 [MM_DEBUG] (grub_realloc): Likewise.
45819 [MM_DEBUG] (grub_free): Likewise.
45820 [MM_DEBUG] (grub_memalign): Likewise.
45821 [MM_DEBUG] (grub_mm_debug): New variable.
45822 [MM_DEBUG] (grub_debug_malloc): New function.
45823 [MM_DEBUG] (grub_debug_free): New function.
45824 [MM_DEBUG] (grub_debug_realloc): New function.
45825 [MM_DEBUG] (grub_debug_memalign): New function.
45826
45827 * kern/misc.c (grub_abort): Print a newline to distinguish
45828 the message.
45829
45830 * kern/main.c (grub_main): Call grub_machine_set_prefix and
45831 grub_set_root_dev after loading modules. This is necessary when
45832 setting a prefix depends on modules.
45833
45834 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
45835 (grub_efi_print_device_path): ... this.
45836 (grub_efi_get_filename): New prototype.
45837 (grub_efi_set_prefix): Likewise.
45838
45839 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
45840 and grub/disk.h.
45841 (grub_efidisk_get_device_handle): New prototype.
45842 (grub_efidisk_get_device_name): Likewise.
45843
45844 * include/grub/mm.h: Include config.h.
45845 (MM_DEBUG): Removed.
45846 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
45847 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
45848 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
45849 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
45850 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
45851 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
45852 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
45853 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
45854 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
45855
45856 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
45857
45858 * disk/efi/efidisk.c: Include grub/partition.h.
45859 (iterate_child_devices): New function.
45860 (add_device): First, compare only last device path nodes, so that
45861 devices are sorted by the types.
45862 (grub_efidisk_get_device_handle): New function.
45863 (grub_efidisk_get_device_name): Likewise.
45864
45865 * configure.ac (--enable-mm-debug): New option to enable the
45866 memory manager debugging feature. This makes the binary much
45867 bigger, so is disabled by default.
45868
9cacaa17 458692006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
45870
45871 Use grub_abort instead of grub_stop, and grub_exit must be
45872 define in each architecture now. Also, this change adds support
45873 for EFI disks.
f19dbdb7 45874
9cacaa17 45875 * util/i386/pc/grub-probefs.c: Include grub/term.h.
45876 (grub_getkey): New function.
45877 (grub_term_get_current): Likewise.
45878
45879 * util/i386/pc/grub-setup.c: Include grub/term.h.
45880 (grub_getkey): New function.
45881 (grub_term_get_current): Likewise.
45882
45883 * util/misc.c (grub_stop): Renamed to ...
45884 (grub_exit): ... this.
45885
45886 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
45887 (grub_exit): ... this.
45888 (grub_machine_init): Use grub_abort instead of abort.
45889 (grub_stop): Removed.
45890
45891 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
45892 abort.
45893
45894 * kern/i386/pc/startup.S (grub_exit): New function.
45895 (cold_reboot): New label.
45896
45897 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
45898 (grub_efi_init): Call grub_efidisk_init.
45899 (grub_efi_fini): Call grub_efidisk_fini.
45900
45901 * kern/efi/efi.c: Include grub/mm.h.
45902 (grub_efi_console_control_guid): Renamed to ...
45903 (console_control_guid): ... this.
45904 (grub_efi_loaded_image_guid): Renamed to ...
45905 (loaded_image_guid): ... this.
45906 (grub_efi_locate_handle): New function.
45907 (grub_efi_open_protocol): Likewise.
45908 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
45909 GRUB_EFI_CONSOLE_CONTROL_GUID.
45910 (grub_efi_exit): Removed.
45911 (grub_stop): Likewise.
45912 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
45913 (grub_exit): New function.
45914 (grub_print_device_path): Likewise.
45915
45916 * kern/rescue.c (grub_rescue_cmd_exit): New function.
45917 (grub_enter_rescue_mode): Register "exit".
45918
45919 * kern/misc.c (grub_real_dprintf): A cosmetic change.
45920 (grub_abort): New function.
45921
45922 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
45923
45924 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
45925
45926 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
45927
45928 * include/grub/efi/efi.h (grub_efi_exit): Removed.
45929 (grub_print_device_path): New prototype.
45930 (grub_efi_locate_handle): Likewise.
45931 (grub_efi_open_protocol): Likewise.
45932
45933 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
45934 * disk/efi/efidisk.c: Likewise.
45935
45936 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
45937
45938 * include/grub/efi/console_control.h
45939 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
45940
45941 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
45942 last 8 bytes as an array.
45943 (GRUB_EFI_DISK_IO_GUID): New macro.
45944 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
45945 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
45946 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
45947 grub_uint8_t.
45948 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
45949 (struct grub_efi_device_path): Rename the member "sub_type" to
45950 "subtype".
45951 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
45952 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
45953 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
45954 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
45955 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
45956 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
45957 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
45958 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
45959 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
45960 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
45961 (struct grub_efi_pci_device_path): New structure.
45962 (grub_efi_pci_device_path_t): New type.
45963 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
45964 (struct grub_efi_pccard_device_path): New structure.
45965 (grub_efi_pccard_device_path_t): New type.
45966 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
45967 (struct grub_efi_memory_mapped_device_path): New structure.
45968 (grub_efi_memory_mapped_device_path_t): New type.
45969 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
45970 (struct grub_efi_vendor_device_path): New structure.
45971 (grub_efi_vendor_device_path_t): New type.
45972 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
45973 (struct grub_efi_controller_device_path): New structure.
45974 (grub_efi_controller_device_path_t): New type.
45975 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
45976 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
45977 (struct grub_efi_acpi_device_path): New structure.
45978 (grub_efi_acpi_device_path_t): New type.
45979 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
45980 (struct grub_efi_expanded_acpi_device_path): New structure.
45981 (grub_efi_expanded_acpi_device_path_t): New type.
45982 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
45983 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
45984 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
45985 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
45986 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
45987 (struct grub_efi_atapi_device_path): New structure.
45988 (grub_efi_atapi_device_path_t): New type.
45989 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
45990 (struct grub_efi_fibre_channel_device_path): New structure.
45991 (grub_efi_fibre_channel_device_path_t): New type.
45992 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
45993 (struct grub_efi_1394_device_path): New structure.
45994 (grub_efi_1394_device_path_t): New type.
45995 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
45996 (struct grub_efi_usb_device_path): New structure.
45997 (grub_efi_usb_device_path_t): New type.
45998 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
45999 (struct grub_efi_usb_class_device_path): New structure.
46000 (grub_efi_usb_class_device_path_t): New type.
46001 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
46002 (struct grub_efi_i2o_device_path): New structure.
46003 (grub_efi_i2o_device_path_t): New type.
46004 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
46005 (struct grub_efi_mac_address_device_path): New structure.
46006 (grub_efi_mac_address_device_path_t): New type.
46007 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
46008 (struct grub_efi_ipv4_device_path): New structure.
46009 (grub_efi_ipv4_device_path_t): New type.
46010 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
46011 (struct grub_efi_ipv6_device_path): New structure.
46012 (grub_efi_ipv6_device_path_t): New type.
46013 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
46014 (struct grub_efi_infiniband_device_path): New structure.
46015 (grub_efi_infiniband_device_path_t): New type.
46016 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
46017 (struct grub_efi_uart_device_path): New structure.
46018 (grub_efi_uart_device_path_t): New type.
46019 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
46020 (struct grub_efi_vendor_messaging_device_path): New structure.
46021 (grub_efi_vendor_messaging_device_path_t): New type.
46022 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
46023 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
46024 (struct grub_efi_hard_drive_device_path): New structure.
46025 (grub_efi_hard_drive_device_path_t): New type.
46026 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
46027 (struct grub_efi_cdrom_device_path): New structure.
46028 (grub_efi_cdrom_device_path_t): New type.
46029 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
46030 (struct grub_efi_vendor_media_device_path): New structure.
46031 (grub_efi_vendor_media_device_path_t): New type.
46032 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
46033 (struct grub_efi_file_path_device_path): New structure.
46034 (grub_efi_file_path_device_path_t): New type.
46035 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
46036 (struct grub_efi_protocol_device_path): New structure.
46037 (grub_efi_protocol_device_path_t): New type.
46038 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
46039 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
46040 (struct grub_efi_bios_device_path): New structure.
46041 (grub_efi_bios_device_path_t): New type.
46042 (struct grub_efi_disk_io): New structure.
46043 (grub_efi_disk_io_t): New type.
46044 (struct grub_efi_block_io_media): New structure.
46045 (grub_efi_block_io_media_t): New type.
46046 (struct grub_efi_block_io): New structure.
46047 (grub_efi_block_io_t): New type.
46048
46049 * include/grub/misc.h (grub_stop): Removed.
46050 (grub_exit): New prototype.
46051 (grub_abort): Likewise.
46052
46053 * include/grub/disk.h (enum grub_disk_dev_id): Added
46054 GRUB_DISK_DEVICE_EFIDISK_ID.
46055
46056 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
46057 disk/efi/efidisk.c.
46058 (kernel_syms.lst): Remove the target if an error occurs.
46059
49986a9f 460602006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
46061
46062 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
46063 as it was simply too buggy.
46064
970d3b8a 460652006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
46066
46067 * kern/misc.c (grub_lltoa): New function.
46068 (grub_vsprintf): Added support for the long long suffix,
46069 i.e. "ll".
46070
ff04ec24 460712006-04-20 Hollis Blanchard <hollis@penguinppc.org>
46072
46073 * Makefile.in (LDFLAGS): Add variable.
46074 (LD): Remove variable.
46075 * configure.ac: Add -m32 to LDFLAGS.
46076 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
46077 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
46078 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
46079 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
46080 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
46081 variables.
46082 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
46083 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
46084 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
46085
37e5e1a4 460862006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
46087
46088 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
46089 length for unknown glyph.
46090
c352d8dd 460912006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
46092
2eab1c0d 46093 Add support for pre-loaded modules into the EFI port.
f19dbdb7 46094
2eab1c0d 46095 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
46096 completely. Accept one more argument DIR. The caller has changed.
46097
46098 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
46099
46100 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
46101 (grub_efi_loaded_image_guid): New variable.
46102 (grub_efi_get_loaded_image): New function.
46103 (grub_arch_modules_addr): Likewise.
46104
46105 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
46106 prototype.
46107
46108 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
46109 (struct grub_efi_loaded_image): New structure.
46110 (grub_efi_loaded_image_t): New type.
46111
461122006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 46113
c352d8dd 46114 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
46115 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
46116 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
46117
6d01d6b4 461182006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
46119
46120 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
46121
976a4ea0 461222006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
46123
46124 * DISTLIST: Added include/grub/efi/console.h,
46125 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
46126 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
46127
46128 * include/grub/efi/console.h: New file.
46129 * include/grub/efi/time.h: Likewise.
46130 * include/grub/i386/efi/kernel.h: Likewise.
46131 * kern/efi/init.c: Likewise.
46132 * kern/efi/mm.c: Likewise.
46133 * term/efi/console.c: Likewise.
f19dbdb7 46134
976a4ea0 46135 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
46136 (grub_stop): Removed.
46137 (grub_get_rtc): Likewise.
46138 (grub_machine_init): Simply call grub_efi_init.
46139 (grub_machine_fini): Call grub_efi_fini.
46140
46141 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
46142 (grub_efi_output_string): Removed.
46143 (grub_efi_stall): New function.
46144 (grub_stop): Likewise.
46145 (grub_get_rtc): Likewise.
46146
46147 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
46148 (grub_efi_stall): New prototype.
46149 (grub_efi_allocate_pages): Likewise.
46150 (grub_efi_free_pages): Likewise.
46151 (grub_efi_get_memory_map): Likewise.
46152 (grub_efi_mm_init): Likewise.
46153 (grub_efi_mm_fini): Likewise.
46154 (grub_efi_init): Likewise.
46155 (grub_efi_fini): Likewise.
46156
46157 * include/grub/i386/efi/time.h: Do not include
46158 grub/symbol.h. Include grub/efi/time.h.
46159 (GRUB_TICKS_PER_SECOND): Removed.
46160 (grub_get_rtc): Likewise.
46161
46162 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
46163 Added padding. The EFI spec is buggy.
46164 (GRUB_EFI_BLACK): New macro.
46165 (GRUB_EFI_BLUE): Likewise.
46166 (GRUB_EFI_GREEN): Likewise.
46167 (GRUB_EFI_CYAN): Likewise.
46168 (GRUB_EFI_RED): Likewise.
46169 (GRUB_EFI_MAGENTA): Likewise.
46170 (GRUB_EFI_BROWN): Likewise.
46171 (GRUB_EFI_LIGHTGRAY): Likewise.
46172 (GRUB_EFI_BRIGHT): Likewise.
46173 (GRUB_EFI_DARKGRAY): Likewise.
46174 (GRUB_EFI_LIGHTBLUE): Likewise.
46175 (GRUB_EFI_LIGHTGREEN): Likewise.
46176 (GRUB_EFI_LIGHTCYAN): Likewise.
46177 (GRUB_EFI_LIGHTRED): Likewise.
46178 (GRUB_EFI_LIGHTMAGENTA): Likewise.
46179 (GRUB_EFI_YELLOW): Likewise.
46180 (GRUB_EFI_WHITE): Likewise.
46181 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
46182 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
46183 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
46184 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
46185 (GRUB_EFI_BACKGROUND_RED): Likewise.
46186 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
46187 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
46188 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
46189 (GRUB_EFI_TEXT_ATTR): Likewise.
46190
46191 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
46192 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
46193 (kernel_mod_HEADERS): Added efi/time.h.
46194
83709125 461952006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
46196
46197 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
46198 include/grub/efi/api.h, include/grub/efi/console_control.h,
46199 include/grub/efi/efi.h, include/grub/efi/pe32.h,
46200 include/grub/i386/efi/time.h, kern/efi/efi.c,
46201 kern/i386/efi/init.c, kern/i386/efi/startup.S,
46202 and util/i386/efi/grub-mkimage.c.
46203
46204 * Makefile.in (RMKFILES): Added i386-efi.rmk.
46205
46206 * genmk.rb (PModule#rule): Do not export symbols if
46207 #{prefix}_EXPORTS is set to "no".
46208
46209 * conf/i386-efi.mk: New file.
46210 * conf/i386-efi.rmk: Likewise.
46211 * include/grub/efi/api.h: Likewise.
46212 * include/grub/efi/console_control.h: Likewise.
46213 * include/grub/efi/efi.h: Likewise.
46214 * include/grub/efi/pe32.h: Likewise.
46215 * include/grub/i386/efi/time.h: Likewise.
46216 * kern/efi/efi.c: Likewise.
46217 * kern/i386/efi/init.c: Likewise.
46218 * kern/i386/efi/startup.S: Likewise.
46219 * util/i386/efi/grub-mkimage.c: Likewise.
46220
462212006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 46222
46223 * include/grub/script.h: Include <grub/parser.h> and
46224 "grub_script.tab.h".
46225 (struct grub_lexer_param): New struct.
46226 (struct grub_parser_param): Likewise.
46227 (grub_script_create_arglist): Pass the state in an argument.
46228 (grub_script_add_arglist): Likewise.
46229 (grub_script_create_cmdline): Likewise.
46230 (grub_script_create_cmdblock): Likewise.
46231 (grub_script_create_cmdif): Likewise.
46232 (grub_script_create_cmdmenu): Likewise.
46233 (grub_script_add_cmd): Likewise.
46234 (grub_script_arg_add): Likewise.
46235 (grub_script_lexer_ref): Likewise.
46236 (grub_script_lexer_deref): Likewise.
46237 (grub_script_lexer_record_start): Likewise.
46238 (grub_script_lexer_record_stop): Likewise.
46239 (grub_script_mem_record): Likewise.
46240 (grub_script_mem_record_stop): Likewise.
46241 (grub_script_malloc): Likewise.
46242 (grub_script_yylex): Likewise.
46243 (grub_script_yyparse): Likewise.
46244 (grub_script_yyerror): Likewise.
46245 (grub_script_yylex): Likewise.
46246 (grub_script_lexer_init): Return the state.
46247
46248 * normal/lexer.c (grub_script_lexer_state): Removed variable.
46249 (grub_script_lexer_done): Likewise.
46250 (grub_script_lexer_getline): Likewise.
46251 (grub_script_lexer_refs): Likewise.
46252 (script): Likewise.
46253 (newscript): Likewise.
46254 (record): Likewise.
46255 (recording): Likewise.
46256 (recordpos): Likewise.
46257 (recordlen): Likewise.
46258 (grub_script_lexer_init): Return the state instead of setting
46259 global variables.
46260 (grub_script_lexer_ref): Use the newly added argument for state
46261 instead of globals.
46262 (grub_script_lexer_deref): Likewise.
46263 (grub_script_lexer_record_start): Likewise.
46264 (grub_script_lexer_record_stop): Likewise.
46265 (recordchar): Likewise.
46266 (nextchar): Likewise.
46267 (grub_script_yylex2): Likewise.
46268 (grub_script_yylex): Likewise.
46269 (grub_script_yyerror): Likewise.
46270
46271 * normal/parser.y (func_mem): Removed variable.
46272 (menu_entry): Likewise.
46273 (err): Likewise.
46274 (%lex-param): New parser option.
46275 (%parse-param): Likewise.
46276 (script): Always return the AST.
46277 (argument): Pass the state around.
46278 (arguments): Likewise.
46279 (grubcmd): Likewise.
46280 (commands): Likewise.
46281 (function): Likewise.
46282 (menuentry): Likewise.
46283 (if_statement): Likewise.
46284 (if): Likewise.
46285
46286 * normal/script.c (grub_script_memused): Removed variable.
46287 (grub_script_parsed): Likewise.
46288 (grub_script_malloc): Added a state argument. Use that instead of
46289 global variables.
46290 (grub_script_mem_record): Likewise.
46291 (grub_script_mem_record_stop): Likewise.
46292 (grub_script_arg_add): Likewise.
46293 (grub_script_add_arglist): Likewise.
46294 (grub_script_create_cmdline): Likewise.
46295 (grub_script_create_cmdif): Likewise.
46296 (grub_script_create_cmdmenu): Likewise.
46297 (grub_script_add_cmd): Likewise.
46298 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 46299
e2a8c904 463002006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 46301
46302 * normal/command.c (grub_command_init): Remove the title command.
46303
46304 * normal/lexer.c (grub_script_yylex): Renamed from this...
46305 (grub_script_yylex2): ... to this.
46306 (grub_script_yylex): New function. Temporary
46307 introduced to filter some tokens.
46308 (grub_script_yyerror): Print a newline.
46309
46310 * normal/main.c (read_config_file): Output information about the
46311 lines that contain errors. Wait for a key after all lines have
46312 been processed. Don't return an empty menu.
46313
46314 * normal/parser.y (func_mem): Don't initialize.
46315 (menu_entry): Likewise.
46316 (err): New variable.
46317 (script): Don't return anything when an error was encountered.
46318 (ws, returns): Removed rules.
46319 (argument): Disabled concatenated variable support.
46320 (arguments): Remove explicit separators.
46321 (grubcmd): Likewise.
46322 (function): Likewise.
46323 (menuentry): Likewise.
46324 (if): Likewise.
46325 (commands): Likewise. Add error handling.
46326
46327 * normal/script.c (grub_script_create_cmdline): If
46328 `grub_script_parsed' is 0, assume the parser encountered an error.
46329
c9a86192 463302006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
46331
46332 * configure.ac: Add support for EFI. Fix the typo
46333 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
46334
70f3b243 463352006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
46336
46337 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
46338 foreign multibyte characters should be shown correctly.
46339
65f201ad 463402006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
46341
46342 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
46343 calculation.
46344 (read_config_file): Made it to close file before returning.
46345
b4b93674 463462006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
46347
46348 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
46349 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
46350 video/i386/pc/vbefill.c.
46351
46352 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
46353 video/i386/pc/vbefill.c.
46354
46355 * include/grub/video.h (grub_video_blit_format): New enum.
46356 (grub_video_mode_info): Added new member blit_format.
46357 (grub_video_get_blit_format): New function prototype.
46358
46359 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
46360 function prototype.
46361 (grub_video_vbe_map_rgb): Likewise.
46362 (grub_video_vbe_unmap_color): Likewise.
46363
46364 * include/grub/i386/pc/vbeblit.h: New file.
46365
46366 * include/grub/i386/pc/vbefill.h: New file.
46367
46368 * video/video.c (grub_video_get_blit_format): New function.
46369 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
46370 (grub_video_vbe_map_rgb): Likewise.
46371 (grub_video_vbe_unmap_color): Likewise.
46372
46373 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
46374 optimized fills.
46375 (grub_video_vbe_blit_render_target): Changed to use more optimized
46376 blits.
46377 (grub_video_vbe_setup): Added detection for optimized settings.
46378 (grub_video_vbe_create_render_target): Likewise.
46379
46380 * video/i386/pc/vbeblit.c: New file.
46381
46382 * video/i386/pc/vbefill.c: New file.
46383
c2379b9c 463842006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
46385
46386 * font/manager.c (grub_font_get_glyph): Removed font fixup from
46387 here...
46388
46389 * util/unifont2pff.rb: ... and moved it to here. Improved argument
46390 parsing to support both hex and dec ranges. If filename was missing
46391 show usage information.
46392
bd0d7896 463932006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
46394
46395 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
46396 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
46397
46398 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
46399 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
46400 (video_mod_SOURCES): Added.
46401 (video_mod_CFLAGS): Likewise.
46402 (video_mod_LDFLAGS): Likewise.
46403 (gfxterm_mod_SOURCES): Likewise.
46404 (gfxterm_mod_CFLAGS): Likewise.
46405 (gfxterm_mod_LDFLAGS): Likewise.
46406 (videotest_mod_SOURCES): Likewise.
46407 (videotest_mod_CFLAGS): Likewise.
46408 (videotest_mod_LDFLAGS): Likewise.
46409 (vesafb_mod_SOURCES): Removed.
46410 (vesafb_mod_CFLAGS): Likewise.
46411 (vesafb_mod_LDFLAGS): Likewise.
46412 (vga_mod_SOURCES): Likewise.
46413 (vga_mod_CFLAGS): Likewise.
46414 (vga_mod_LDFLAGS): Likewise.
46415
46416 * commands/videotest.c: New file.
46417
46418 * font/manager.c (fill_with_default_glyph): Modified to use
46419 grub_font_glyph.
46420 (grub_font_get_glyph): Likewise.
46421 (fontmanager): Renamed from this...
46422 (font_manager): ... to this.
46423
46424 * include/grub/font.h (grub_font_glyph): Added new structure.
46425 (grub_font_get_glyph): Modified to use grub_font_glyph.
46426
46427 * include/grub/misc.h (grub_abs): Added as inline function.
46428
46429 * include/grub/video.h: New file.
46430
46431 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
46432 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
46433 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
46434 (grub_vbe_get_controller_info): Renamed from this...
46435 (grub_vbe_bios_get_controller_info): ... to this.
46436 (grub_vbe_get_mode_info): Renamed from this...
46437 (grub_vbe_bios_get_mode_info): ... to this.
46438 (grub_vbe_set_mode): Renamed from this...
46439 (grub_vbe_bios_set_mode): ... to this.
46440 (grub_vbe_get_mode): Renamed from this...
46441 (grub_vbe_bios_get_mode): ... to this.
46442 (grub_vbe_set_memory_window): Renamed from this...
46443 (grub_vbe_bios_set_memory_window): ... to this.
46444 (grub_vbe_get_memory_window): Renamed from this...
46445 (grub_vbe_bios_get_memory_window): ... to this.
46446 (grub_vbe_set_scanline_length): Renamed from this...
46447 (grub_vbe_set_scanline_length): ... to this.
46448 (grub_vbe_get_scanline_length): Renamed from this...
46449 (grub_vbe_bios_get_scanline_length): ... to this.
46450 (grub_vbe_set_display_start): Renamed from this...
46451 (grub_vbe_bios_set_display_start): ... to this.
46452 (grub_vbe_get_display_start): Renamed from this...
46453 (grub_vbe_bios_get_display_start): ... to this.
46454 (grub_vbe_set_palette_data): Renamed from this...
46455 (grub_vbe_bios_set_palette_data): ... to this.
46456 (grub_vbe_set_pixel_rgb): Removed.
46457 (grub_vbe_set_pixel_index): Likewise.
46458
46459 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
46460 from this...
46461 (grub_vbe_bios_get_controller_info): ... to this.
46462 (grub_vbe_get_mode_info): Renamed from this...
46463 (grub_vbe_bios_get_mode_info): ... to this.
46464 (grub_vbe_set_mode): Renamed from this...
46465 (grub_vbe_bios_set_mode): ... to this.
46466 (grub_vbe_get_mode): Renamed from this...
46467 (grub_vbe_bios_get_mode): ... to this.
46468 (grub_vbe_set_memory_window): Renamed from this...
46469 (grub_vbe_bios_set_memory_window): ... to this.
46470 (grub_vbe_get_memory_window): Renamed from this...
46471 (grub_vbe_bios_get_memory_window): ... to this.
46472 (grub_vbe_set_scanline_length): Renamed from this...
46473 (grub_vbe_set_scanline_length): ... to this.
46474 (grub_vbe_get_scanline_length): Renamed from this...
46475 (grub_vbe_bios_get_scanline_length): ... to this.
46476 (grub_vbe_set_display_start): Renamed from this...
46477 (grub_vbe_bios_set_display_start): ... to this.
46478 (grub_vbe_get_display_start): Renamed from this...
46479 (grub_vbe_bios_get_display_start): ... to this.
46480 (grub_vbe_set_palette_data): Renamed from this...
46481 (grub_vbe_bios_set_palette_data): ... to this.
46482 (grub_vbe_bios_get_controller_info): Fixed problem with registers
46483 getting corrupted after calling it. Added more pushes and pops.
46484 (grub_vbe_bios_set_mode): Likewise.
46485 (grub_vbe_bios_get_mode): Likewise.
46486 (grub_vbe_bios_get_memory_window): Likewise.
46487 (grub_vbe_bios_set_scanline_length): Likewise.
46488 (grub_vbe_bios_get_scanline_length): Likewise.
46489 (grub_vbe_bios_get_display_start): Likewise.
46490 (grub_vbe_bios_set_palette_data): Likewise.
46491
46492 * normal/cmdline.c (cl_set_pos): Refresh the screen.
46493 (cl_insert): Likewise.
46494 (cl_delete): Likewise.
46495
46496 * term/gfxterm.c: New file.
46497
46498 * term/i386/pc/vesafb.c: Removed file.
46499
46500 * video/video.c: New file.
46501
46502 * video/i386/pc/vbe.c (real2pm): Added new function.
46503 (grub_video_vbe_draw_pixel): Likewise.
46504 (grub_video_vbe_get_video_ptr): Likewise.
46505 (grub_video_vbe_get_pixel): Likewise
46506 (grub_video_vbe_init): Likewise.
46507 (grub_video_vbe_fini): Likewise.
46508 (grub_video_vbe_setup): Likewise.
46509 (grub_video_vbe_get_info): Likewise.
46510 (grub_video_vbe_set_palette): Likewise.
46511 (grub_video_vbe_get_palette): Likewise.
46512 (grub_video_vbe_set_viewport): Likewise.
46513 (grub_video_vbe_get_viewport): Likewise.
46514 (grub_video_vbe_map_color): Likewise.
46515 (grub_video_vbe_map_rgb): Likewise.
46516 (grub_video_vbe_map_rgba): Likewise.
46517 (grub_video_vbe_unmap_color): Likewise.
46518 (grub_video_vbe_fill_rect): Likewise.
46519 (grub_video_vbe_blit_glyph): Likewise.
46520 (grub_video_vbe_blit_bitmap): Likewise.
46521 (grub_video_vbe_blit_render_target): Likewise.
46522 (grub_video_vbe_scroll): Likewise.
46523 (grub_video_vbe_swap_buffers): Likewise.
46524 (grub_video_vbe_create_render_target): Likewise.
46525 (grub_video_vbe_delete_render_target): Likewise.
46526 (grub_video_vbe_set_active_render_target): Likewise.
46527 (grub_vbe_set_pixel_rgb): Remove function.
46528 (grub_vbe_set_pixel_index): Likewise.
46529 (index_color_mode): Remove static variable.
46530 (active_mode): Likewise.
46531 (framebuffer): Likewise.
46532 (bytes_per_scan_line): Likewise.
46533 (grub_video_vbe_adapter): Added new static variable.
46534 (framebuffer): Likewise.
46535 (render_target): Likewise.
46536 (initial_mode): Likewise.
46537 (mode_in_use): Likewise.
46538 (mode_list): Likewise.
46539
5f97350b 465402006-03-10 Marco Gerards <marco@gnu.org>
46541
46542 * configure.ac (AC_INIT): Bumped to 1.93.
46543
46544 * DISTLIST: Added `include/grub/hfs.h'.
46545
a3c5c6f8 465462006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
46547
46548 * boot/i386/pc/boot.S (general_error): Before looping, try INT
46549 18H, which might help the BIOS falling back to next boot media.
46550
6de53d26 465512006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
46552
46553 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
46554 Poe Chen <poe.poechen@gmail.com>.
46555
77c4a393 465562006-01-17 Marco Gerards <marco@gnu.org>
46557
46558 * include/grub/normal.h: Include <grub/script.h>.
46559 (grub_command_list): Removed struct.
46560 (grub_command_list_t): Removed type.
46561 (grub_menu_entry): Remove members `num' and `command_list'. Add
46562 members `commands' and `sourcecode'.
46563 * include/grub/script.h: Add inclusion guards.
46564 (grub_script_cmd_menuentry): New struct.
46565 (grub_script_execute_menuentry): New prototype.
46566 (grub_script_lexer_record_start): Likewise.
46567 (grub_script_lexer_record_stop): Likewise.
46568 * normal/execute.c (grub_script_execute_menuentry): New function.
46569 * normal/lexer.c (record, recording, recordpos, recordlen): New
46570 variables.
46571 (grub_script_lexer_record_start): New function.
46572 (grub_script_lexer_record_stop): Likewise.
46573 (recordchar): Likewise.
46574 (nextchar): Likewise.
46575 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
46576 2048 as the buffer size. Add the tokens `menuentry' and `@'.
46577 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
46578 (current_menu): New variable.
46579 (free_menu): Mainly rewritten.
46580 (grub_normal_menu_addentry): New function.
46581 (read_config_file): Rewritten.
46582 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 46583 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 46584 the menu entry.
46585 (run): Mainly rewritten.
46586 * normal/parser.y (menu_entry): New variable.
46587 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
46588 (menuentry): New rule.
46589 (command): Add `menuentry'.
46590 (if_statement): Allow additional returns before `fi'.
46591 * normal/script.c (grub_script_create_cmdmenu): New function.
46592
144f1f98 465932006-01-03 Marco Gerards <marco@gnu.org>
46594
46595 * INSTALL: GNU Bison is required.
46596 * configure.ac: Rewritten the test to detect Bison.
46597 * Makefile.in (YACC): New variable. Reported by Xun Sun
46598 <xun.sun.cn@gmail.com>.
46599
af4b2d89 466002006-01-03 Marco Gerards <marco@gnu.org>
46601
46602 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
46603 the HFS+ filesystem to filesystem blocks.
46604 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
46605 GCC warning is silenced.
46606
15643b71 466072006-01-03 Marco Gerards <marco@gnu.org>
46608
46609 * partmap/apple.c (apple_partition_map_iterate): Convert the data
46610 read from disk from big endian to host byte order.
46611
00905879 466122006-01-03 Hollis Blanchard <hollis@penguinppc.org>
46613
46614 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
46615 documentation.
46616 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
46617 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
46618 embedded HFS+ filesystem.
46619 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
46620 (grub_hfs_sblock): Move from here...
46621 * include/grub/hfs.h: To here... New file.
46622 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
46623 documentation.
46624 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
46625 New macros.
46626 (grub_hfsplus_volheader): Change type of member `magic' to
46627 `grub_uint16_t'.
46628 (grub_hfsplus_data): Add new member `embedded_offset'.
46629 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
46630 returned block.
46631 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
46632 Calculate the offset.
46633
8899bc3e 466342005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46635
46636 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
46637 Removed.
46638 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
46639
ae8c0277 466402005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46641
46642 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
46643 ENV->NAME is NULL after allocating ENV->VALUE.
46644
07084456 466452005-12-25 Marco Gerards <marco@gnu.org>
46646
46647 * kern/env.c (grub_env_set): Rewritten the error handling code.
46648
4750f5f1 466492005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46650
46651 * geninit.sh: Made more robust, and more portable.
46652
50214199 466532005-12-25 Marco Gerards <marco@gnu.org>
46654
46655 Add support for Apple HFS+ filesystems.
f19dbdb7 46656
50214199 46657 * fs/hfsplus.c: New file.
46658
46659 * DISTLIST: Added `fs/hfsplus.c'.
46660
46661 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
46662 (hfsplus_mod_SOURCES): New variable.
46663 (hfsplus_mod_CFLAGS): Likewise.
46664 (hfsplus_mod_LDFLAGS): Likewise.
46665 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
46666 (grub_setup_SOURCES): Likewise.
46667 (grub_mkdevicemap_SOURCES): Likewise.
46668 (grub_emu_SOURCES): Likewise.
46669 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46670
46671 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
46672
46673 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
46674
befaed6c 466752005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46676
46677 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
46678 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
46679 include/grub/parser.h, include/grub/script.h, kern/parser.c,
46680 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
46681 normal/lexer.c, normal/parser.y, normal/script.c, and
46682 partmap/gpt.c.
46683 Removed kern/sparc64/cache.c.
46684
46685 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
46686 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
46687 grub_emu_init.c.
46688
46689 * configure.ac (AC_INIT): Bumped to 1.92.
46690
6a124103 466912005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
46692
46693 * kern/err.c (grub_error_push): Added new function to support error
46694 stacks.
46695 (grub_error_pop): Likewise.
46696 (grub_error_stack_items): New local variable to support error stacks.
46697 (grub_error_stack_pos): Likewise.
46698 (grub_error_stack_assert): Likewise.
46699 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
46700 stack depth.
46701 (grub_print_error): Added support to print errors from error stack.
46702
46703 * include/grub/err.h (grub_error_push): Added function prototype.
46704 (grub_error_pop): Likewise.
46705
be973c1b 467062005-12-09 Hollis Blanchard <hollis@penguinppc.org>
46707
46708 * configure.ac: Accept `powerpc64' as host_cpu.
46709 (amd64): Rename to `biarch32'.
46710
46711 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
46712 non-cacheline-aligned addresses.
46713
46714 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
46715 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
46716 if `size' is non-zero.
46717
b04216ab 467182005-12-03 Marco Gerards <mgerards@xs4all.nl>
46719
46720 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
46721 and `cd' to make sure the filename is not prefixed with a
46722 directory name.
46723 (pkgdata_MODULES): Add `gpt.mod'.
46724 (gpt_mod_SOURCES): New variable.
46725 (gpt_mod_CFLAGS): Likewise.
46726 (gpt_mod_LDFLAGS): Likewise.
46727
46728 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
46729
46730 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
46731 New macro.
46732
46733 * partmap/gpt.c: New file.
46734
46735 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
46736 GPT partition map is detected.
46737
41730ed9 467382005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
46739
46740 * commands/i386/pc/play.c: New file.
46741 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
46742 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
46743 macros.
f19dbdb7 46744
95dc3643 467452005-11-27 Marco Gerards <mgerards@xs4all.nl>
46746
46747 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
46748 ((unused))' to silence gcc warning.
46749
1569ec51 467502005-11-26 Hollis Blanchard <hollis@penguinppc.org>
46751
46752 * configure.ac: Correct `AC_PROG_YACC' test.
46753
9abde152 467542005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46755
46756 * util/powerpc/ieee1275/grub-install.in: Run the mount point
46757 check before installing files.
46758
44b83271 467592005-11-22 Mike Small <smallm@panix.com>
46760
46761 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
46762 number regex so multidigit numbers are recognized correctly.
46763
467642005-11-22 Mike Small <smallm@panix.com>
46765
46766 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
46767 debugging message before attempting to claim memory.
46768 (grub_rescue_cmd_initrd): Add a claim debugging message and try
46769 multiple addresses in case of failure.
46770
9c12956b 467712005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46772
46773 * term/tparm.c (get_space): Remove empty `if' statement.
46774
46775 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
46776
46777 * kern/parser.c (check_varstate): Rename `state' to 's'.
46778
aeaf81d9 467792005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46780
46781 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
46782 variable definitions to the beginning of each function. Sort stack
46783 variables by size.
46784 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
46785 `buf' argument to `char *'.
46786
79bbb63f 467872005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46788
46789 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
46790 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 46791 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 46792 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
46793 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
46794 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
46795 configfile.mod, search.mod, gzio.mod and test.mod.
46796 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
46797 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
46798 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
46799 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
46800 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
46801 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
46802 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
46803 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
46804 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
46805 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
46806 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46807 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46808 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
46809 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
46810 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
46811 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
46812 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
46813 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
46814 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
46815 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
46816 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
46817 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
46818 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
46819
46820 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
46821 `grep --include'.
46822 (pkgdata_MODULES): Add test.mod.
46823
233b1628 468242005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46825
46826 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
46827 appending to variables with "+=".
46828 (PModule): Use full pathname to generate *.lst filenames.
46829
46830 * Makefile.in: Fixed list rules moved from genmk.rb.
46831 (.DELETE_ON_ERROR): New special target.
46832 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
46833
46834 * conf/i386-pc.rmk: Include conf/common.mk.
46835 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 46836 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 46837 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
46838 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
46839 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
46840 configfile.mod, search.mod, gzio.mod and test.mod.
46841 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
46842 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
46843 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
46844 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
46845 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
46846 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
46847 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
46848 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
46849 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
46850 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
46851 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46852 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46853 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
46854 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
46855 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
46856 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
46857 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
46858 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
46859 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
46860 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
46861 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
46862 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
46863 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
46864 here...
46865 * conf/common.rmk: ... to here. New file.
46866
46867 * conf/common.mk: New file.
46868
16f820c8 468692005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
46870
46871 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
46872 (grub_script.tab.c): ... here.
46873
46874 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
46875 (grub_script.tab.c): ... here.
46876
46877 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
46878 (grub_script.tab.c): ... here.
46879
46880 * normal/command.c (grub_command_find): Fixed a memory leak of
46881 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
46882
63ba1554 468832005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46884
46885 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
46886 "@" which marks the start of a comment on ARM.
46887 (VARIABLE): Likewise.
46888
7f67dc13 468892005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46890
79bbb63f 46891 Add support for Linux/ADFS partition tables.
7f67dc13 46892
46893 * partmap/acorn.c: New file.
46894
46895 * include/grub/acorn_filecore.h: Likewise.
46896
46897 * DISTLIST: Added `partmap/acorn.c' and
46898 `include/grub/acorn_filecore.h'.
f19dbdb7 46899
7f67dc13 46900 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46901 `partmap/acorn.c'.
46902 (pkgdata_MODULES): Add `acorn.mod'.
46903 (acorn_mod_SOURCES): New variable.
46904 (acorn_mod_CFLAGS): Likewise.
46905
46906 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
46907 `partmap/acorn.c'.
46908 (pkgdata_MODULES): Add `acorn.mod'.
46909 (acorn_mod_SOURCES): New variable.
46910 (acorn_mod_CFLAGS): Likewise.
46911
46912 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
46913 (pkgdata_MODULES): Add `acorn.mod'.
46914 (acorn_mod_SOURCES): New variable.
46915 (acorn_mod_CFLAGS): Likewise.
46916 (acorn_mod_LDFLAGS): Likewise.
46917
46918 * include/types.h (grub_disk_addr_t): New typedef.
46919
6d099807 469202005-11-13 Marco Gerards <mgerards@xs4all.nl>
46921
46922 * geninit.sh: New file.
46923
46924 * geninitheader.sh: Likewise.
46925
46926 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
46927 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
46928 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
46929 * commands/configfile.c (grub_configfile_init)
46930 (grub_configfile_fini): Likewise.
46931 * commands/default.c (grub_default_init, grub_default_fini):
46932 Likewise.
46933 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
46934 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
46935 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
46936 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
46937 Likewise.
46938 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
46939 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
46940 Likewise.
46941 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 46942 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 46943 Likewise.
46944 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
46945 Likewise.
fe6b695a 46946 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 46947 Likewise.
46948 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
46949 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
46950 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
46951 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
46952 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
46953 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
46954 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
46955 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
46956 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
46957 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
46958 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
46959 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
46960 * partmap/amiga.c (grub_amiga_partition_map_init)
46961 (grub_amiga_partition_map_fini): Likewise.
46962 * partmap/apple.c (grub_apple_partition_map_init)
46963 (grub_apple_partition_map_fini): Likewise.
46964 * partmap/pc.c (grub_pc_partition_map_init)
46965 (grub_pc_partition_map_fini): Likewise.
46966 * partmap/sun.c (grub_sun_partition_map_init,
46967 grub_sun_partition_map_fini): Likewise.
46968 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
46969 Likewise.
46970
46971 * util/grub-emu.c: Include <grub_modules_init.h>.
46972 (main): Don't initialize and de-initialize any modules directly,
46973 use `grub_init_all' and `grub_fini_all' instead.
46974
46975 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
46976 `grub_vesafb_mod_init'.
46977 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
46978 all users.
46979 * term/i386/pc/vga.c (grub_vga_init): Renamed to
46980 `grub_vga_mod_init'. Updated all users.
46981 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 46982
6d099807 46983 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
46984 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
46985 rules.
46986
46987 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
46988 Generate a function to initialize the module in utilities.
46989 Updated all callers.
46990 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
46991 initialize the module in utilities. Updated all callers.
46992
9046bcf0 469932005-11-09 Hollis Blanchard <hollis@penguinppc.org>
46994
46995 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
46996 escape sequence and a literal ^L to clear the screen.
46997
46998 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
46999 when returning from Open Firmware.
47000
d13ea639 470012005-11-09 Hollis Blanchard <hollis@penguinppc.org>
47002
47003 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
47004 (grub_ofconsole_height): Likewise.
47005 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
47006 manually insert a '\n'.
47007 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
47008 `grub_ofconsole_height'. Return early if these are already set.
47009
a8fcf206 470102005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
47011
47012 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
47013 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
47014 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
47015 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
47016 and `normal/script.c'.
47017 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47018 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47019 (test_mod_SOURCES): New variable.
47020 (test_mod_CFLAGS): Likewise.
47021 (test_mod_LDFLAGS): Likewise.
47022 (pkgdata_MODULES): Add `test.mod'.
47023 (grub_script.tab.c): New rule.
47024 (grub_script.tab.h): Likewise.
47025
b6b32745 470262005-11-07 Marco Gerards <mgerards@xs4all.nl>
47027
47028 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47029 `commands/test.c', `normal/execute.c', `normal/lexer.c',
47030 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47031 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47032 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47033 (test_mod_SOURCES): New variable.
47034 (test_mod_CFLAGS): Likewise.
47035 (pkgdata_MODULES): Add `test.mod'.
47036 (grub_script.tab.c): New rule.
47037 (grub_script.tab.h): Likewise.
47038
daac212a 470392005-11-06 Marco Gerards <mgerards@xs4all.nl>
47040
47041 Add initial scripting support.
47042
47043 * commands/test.c: New file.
47044 * include/grub/script.h: Likewise.
47045 * normal/execute.c: Likewise.
47046 * normal/function.c: Likewise.
47047 * normal/lexer.c: Likewise.
47048 * normal/parser.y: Likewise.
47049 * normal/script.c: Likewise.
47050
47051 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 47052
daac212a 47053 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
47054 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
47055 `normal/function.c' and `normal/script.c'.
47056 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47057 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 47058 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
47059 variables.
daac212a 47060 (pkgdata_MODULES): Add `test.mod'.
47061 (grub_script.tab.c): New rule.
47062 (grub_script.tab.h): Likewise.
47063
47064 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
47065
47066 * include/grub/normal.h (grub_test_init): New prototype.
47067 (grub_test_fini): Likewise.
f19dbdb7 47068
daac212a 47069 * normal/command.c: Include <grub/script.h>.
47070 (grub_command_execute): Rewritten.
f19dbdb7 47071
daac212a 47072 * util/grub-emu.c (main): Call `grub_test_init' and
47073 `grub_test_fini'.
47074
77500b2b 470752005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47076
47077 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
47078 to 0.
47079 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
47080 there are no pending characters.
47081
e45deb9e 470822005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47083
47084 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
47085 `grub_strndup' to drop device arguments. Replace unnecessary
47086 `grub_strndup' with `grub_strdup'.
47087
4ce32619 470882005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47089
47090 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
47091 `debug' environment variable has been set.
47092
470932005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 47094
4ce32619 47095 * Makefile.in (install-local): Use $(DATA).
47096 (uninstall): Likewise.
47097 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
47098 (sbin_UTILITIES): ... to here.
47099 (sbin_SCRIPTS): New variable.
47100 (grub_install_SOURCES): New variable.
47101 * util/powerpc/ieee1275/grub-install.in: New file.
47102 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
47103 variable.
47104 (add_segments): Call `grub_util_get_path'.
47105
25fe6f03 471062005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
47107
47108 From Timothy Baldwin:
47109 * commands/ls.c (grub_ls_list_files): Close FILE with
47110 grub_file_close.
47111 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
47112
04ccf3ec 471132005-10-24 Marco Gerards <mgerards@xs4all.nl>
47114
47115 * include/grub/parser.h: New file.
47116
47117 * kern/parser.c: Likewise.
47118
47119 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
47120 (grub_setup_SOURCES): Likewise.
47121 (grub_probefs_SOURCES): Likewise.
47122 (grub_emu_SOURCES): Likewise.
47123 (kernel_img_HEADERS): Add `parser.h'.
47124
47125 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
47126 (grub_emu_SOURCES): Add `kern/parser.c'.
47127 (grubof_SOURCES): Likewise.
47128
47129 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
47130 (grubof_SOURCES): Add `kern/parser.c'.
47131
47132 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
47133
47134 * kern/misc.c (grub_split_cmdline): Removed function.
47135
47136 * kern/rescue.c: Include <grub/parser.h>.
47137 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
47138 of `grub_split_cmdline'.
47139
47140 * normal/command.c: Include <grub/parser.h>.
47141 (grub_command_execute): Use `grub_parser_split_cmdline' instead
47142 of `grub_split_cmdline'.
47143
47144 * normal/completion.c: Include <grub/parser.h>.
47145 (cmdline_state): New variable.
47146 (iterate_dir): End the filename with a quote depending on the
47147 command line state.
47148 (get_state): new function.
47149 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
47150 split the arguments and determine the current argument. When the
47151 argument string is not quoted, escape all spaces.
47152
6d8f4b0e 471532005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47154
47155 * normal/sparc64/setjmp.S: New file.
47156
15cf03ed 471572005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47158
47159 * include/grub/sparc64/libgcc.h: New file.
47160 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
47161 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
47162 normal/sparc64/setjmp.c.
47163
03e8661a 471642005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47165
47166 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
47167 * kern/sparc64/cache.S: New file.
47168 * kern/sparc64/cache.c: Removed.
47169 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
47170 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
47171 -mtune=ultrasparc.
47172 (COMMON_LDFLAGS): Add -melf64_sparc.
47173 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
47174 (grubof_SOURCES): Use cache.S instead of cache.c.
47175 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
47176 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
47177 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
47178 commented though.
47179 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
47180 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
47181 (linux_mod_CFLAGS): Commented out.
47182 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
47183 out because module isn't built.
47184 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
47185 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
47186 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
47187 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
47188 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
47189 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
47190 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
47191 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
47192 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
47193 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
47194 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47195 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47196 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
47197 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
47198
34eeec8a 471992005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
47200
47201 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
47202 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
47203 longer, because HFS should not be used on PC.
47204
708367a3 472052005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47206
47207 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
47208 consistently within the loop.
47209
6fa1251a 472102005-10-15 Marco Gerards <mgerards@xs4all.nl>
47211
47212 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
47213 directory can not be read.
47214
4801580b 472152005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47216
47217 * configure.ac (AC_INIT): Increase the version number to 1.91.
47218
47219 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
47220 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
47221 term/i386/pc/serial.c.
47222
219ad426 472232005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47224
47225 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
47226 file size must be permitted.
47227
47228 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
47229 between %ah and %al.
47230
688e5699 472312005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47232
47233 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
47234 grub_uint64_t.
47235 Call the hook with a NUL-terminated filename.
47236 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
47237 grub_cpu_to_be32.
47238
47239 * kern/term.c (cursor_state): New variable.
47240 (grub_term_set_current): Reset the cursor state on a new
47241 terminal.
47242 (grub_setcursor): Rewritten to use CURSOR_STATE.
47243 (grub_getcursor): New function.
47244
47245 * include/grub/term.h (grub_getcursor): New prototype.
47246
47247 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
47248 integers on ARM. Reported by Timothy Baldwin
47249 <T.E.Baldwin99@members.leeds.ac.uk>.
47250
bb34586c 472512005-10-11 Marco Gerards <mgerards@xs4all.nl>
47252
47253 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
47254 allocated.
47255 (grub_sfs_dir): Likewise.
47256
9a909877 472572005-10-09 Marco Gerards <mgerards@xs4all.nl>
47258
47259 Add support for the SFS filesystem.
47260
47261 * fs/sfs.c: New file.
47262
47263 * DISTLIST: Added `fs/sfs.c'.
47264
47265 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
47266 (grub_probefs_SOURCES): Likewise.
47267 (grub_emu_SOURCES): Likewise.
47268 (pkgdata_MODULES): Add `sfs.mod'.
47269 (sfs_mod_SOURCES): New variable.
47270 (sfs_mod_CFLAGS): Likewise.
47271 (sfs_mod_LDFLAGS): Likewise.
47272
47273 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
47274 (pkgdata_MODULES): Add `sfs.mod'.
47275 (sfs_mod_SOURCES): New variable.
47276 (sfs_mod_CFLAGS): Likewise.
47277
47278 * util/grub-emu.c (main): Call `grub_sfs_init' and
47279 `grub_sfs_fini'.
47280
47281 * include/grub/fs.h (grub_sfs_init): New prototype.
47282 (grub_sfs_fini): Likewise.
47283
57bdbde3 472842005-10-07 Marco Gerards <mgerards@xs4all.nl>
47285
47286 Add support for the AFFS filesystem.
47287
47288 * fs/affs.c: New file.
47289
47290 * DISTLIST: Added `fs/affs.c'.
47291
47292 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
47293 (grub_probefs_SOURCES): Likewise.
47294 (grub_emu_SOURCES): Likewise.
47295 (pkgdata_MODULES): Add `affs.mod'.
47296 (affs_mod_SOURCES): New variable.
47297 (affs_mod_CFLAGS): Likewise.
47298 (affs_mod_LDFLAGS): Likewise.
47299
47300 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
47301 (pkgdata_MODULES): Add `affs.mod'.
47302 (affs_mod_SOURCES): New variable.
47303 (affs_mod_CFLAGS): Likewise.
47304
47305 * util/grub-emu.c (main): Call `grub_affs_init' and
47306 `grub_affs_fini'.
47307
47308 * include/grub/fs.h (grub_affs_init): New prototype.
47309 (grub_affs_fini): Likewise.
47310
047b67e0 473112005-10-01 Marco Gerards <mgerards@xs4all.nl>
47312
47313 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
47314
59b8208a 473152005-10-01 Marco Gerards <mgerards@xs4all.nl>
47316
47317 * configure.ac: Accept `x86_64' as host_cpu. In that case add
47318 `-m32' to CFLAGS.
47319
47320 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
47321 linking.
f19dbdb7 47322
59b8208a 47323 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
47324 (COMMON_LDFLAGS): New variable.
47325 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
47326 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
47327 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
47328 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
47329 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
47330 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
47331 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
47332 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
47333 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
47334 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
47335 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
47336 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
47337 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
47338 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
47339 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
47340 variables.
47341 (normal_mod_ASFLAGS): Add `-m32'.
47342
47343 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
47344 (grub_host_size_t, grub_host_ssize_t): New types.
47345 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 47346 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 47347 `GRUB_HOST_SIZEOF_VOID_P'.
47348
47349 * include/grub/kernel.h (struct grub_module_header): Type of
47350 member offset changed to `grub_host_off_t'. Type of member size
47351 changed to `grub_host_size_t'.
47352 (struct grub_module_info): Type of member offset changed to
47353 `grub_host_off_t'. Type of member size changed to
47354 `grub_host_size_t'.
47355
b4093103 473562005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
47357
47358 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 47359
b4093103 47360 * kern/i386/pc/startup.S (multiboot_header): New label.
47361 (multiboot_entry): Likewise.
47362 (multiboot_trampoline): Likewise.
47363
47364 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
47365 Increased to 0x4A0.
47366
47367 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
47368 put parentheses after a question mark.
47369 [!GRUB_UTIL] (my_mod): New variable.
47370
47371 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
47372
b2499b29 473732005-09-28 Marco Gerards <mgerards@xs4all.nl>
47374
47375 Adds support for the XFS filesystem. Btrees are not supported
47376 yet.
47377
47378 * fs/xfs.c: New file.
47379
47380 * DISTLIST: Added `fs/xfs.c'.
47381
47382 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
47383 (grub_probefs_SOURCES): Likewise.
47384 (grub_emu_SOURCES): Likewise.
47385 (pkgdata_MODULES): Add `xfs.mod'.
47386 (xfs_mod_SOURCES): New variable.
47387 (xfs_mod_CFLAGS): Likewise.
47388
47389 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
47390 (pkgdata_MODULES): Add `xfs.mod'.
47391 (xfs_mod_SOURCES): New variable.
47392 (xfs_mod_CFLAGS): Likewise.
47393
47394 * util/grub-emu.c (main): Call `grub_xfs_init' and
47395 `grub_xfs_fini'.
47396
47397 * include/grub/fs.h (grub_xfs_init): New prototype.
47398 (grub_xfs_fini): Likewise.
47399
f19dbdb7 47400
83d37a62 474012005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
47402
47403 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
47404 color modes, allow greater than 16 colors to be configured as
47405 a default palette.
47406
47d2d65e 474072005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47408
47409 * normal/completion.c (complete_arguments): Add the qualifier
47410 const into OPTIONS.
47411
47412 From Omniflux <omniflux+lists@omniflux.com>:
47413 * include/grub/terminfo.h: New file.
47414 * include/grub/tparm.h: Likewise.
47415 * include/grub/i386/pc/serial.h: Likewise.
47416 * term/terminfo.c: Likewise.
47417 * term/tparm.c: Likewise.
47418 * term/i386/pc/serial.c: Likewise.
47419 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
47420 serial.mod.
47421 (terminfo_mod_SOURCES): New variable.
47422 (terminfo_mod_CFLAGS): Likewise.
47423 (serial_mod_SOURCES): Likewise.
47424 (serial_mod_CFLAGS): Likewise.
47425
48b671ff 474262005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
47427
47428 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
47429 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
47430 and kern/powerpc/ieee1275/cmain.c, respectively.
47431
47432 * boot/powerpc/ieee1275/crt0.S: Moved to ...
47433 * kern/powerpc/ieee1275/crt0.S: ... here.
47434
47435 * boot/powerpc/ieee1275/cmain.c: Moved to ...
47436 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 47437
48b671ff 47438 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
47439 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
47440 instead of boot/powerpc/ieee1275/crt0.S and
47441 boot/powerpc/ieee1275/cmain.c, respectively.
47442
47443 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
47444 sectors. It was not used anyway.
47445
09fc77a7 474462005-08-30 Hollis Blanchard <hollis@penguinppc.org>
47447
47448 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
47449 `unused parameter' warning.
47450
003789c7 474512005-08-30 Hollis Blanchard <hollis@penguinppc.org>
47452
47453 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
47454 function.
47455 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
47456 getcharwidth.
47457
67f44c86 474582005-08-28 Marco Gerards <metgerards@student.han.nl>
47459
47460 * include/grub/normal.h (enum grub_completion_type): Added
47461 `GRUB_COMPLETION_TYPE_ARGUMENT'.
47462
47463 * normal/cmdline.c (print_completion): Handle
47464 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
47465 * normal/menu_entry.c (store_completion): Likewise.
47466
47467 * normal/completion.c (complete_arguments): New function.
47468 (grub_normal_do_completion): Call `complete_arguments' when the
47469 current words start with a dash.
47470
0b5abe02 474712005-08-27 Marco Gerards <metgerards@student.han.nl>
47472
47473 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
47474 `gzio.mod' instead of `io.mod').
47475
d9864ee1 474762005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
47477
47478 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
47479 (DISTDIRS): Added io and video.
47480 Rewrite the search routine to make an output consistently.
47481
47482 * DISTLIST: Added conf/sparc64-ieee1275.mk,
47483 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
47484 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
47485 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
47486 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
47487 util/powerpc/ieee1275/misc.c.
f19dbdb7 47488
d9864ee1 47489 * include/grub/gzio.h: New file.
47490 * io/gzio.c: Likewise.
f19dbdb7 47491
d9864ee1 47492 * kern/file.c (grub_file_close): Call grub_device_close only if
47493 FILE->DEVICE is not NULL.
47494
47495 * include/grub/mm.h [!NULL] (NULL): New macro.
47496
47497 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
47498
47499 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
47500 (pkgdata_MODULES): Added gzio.mod.
47501 (gzio_mod_SOURCES): New variable.
47502 (gzio_mod_CFLAGS): Likewise.
47503
47504 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
47505 (pkgdata_MODULES): Added gzio.mod.
47506 (gzio_mod_SOURCES): New variable.
47507 (gzio_mod_CFLAGS): Likewise.
47508
47509 * commands/cat.c: Include grub/gzio.h.
47510 (grub_cmd_cat): Use grub_gzfile_open instead of
47511 grub_file_open.
f19dbdb7 47512
d9864ee1 47513 * commands/cmp.c: Include grub/gzio.h.
47514 (grub_cmd_cmp): Use grub_gzfile_open instead of
47515 grub_file_open.
47516
47517 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
47518 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
47519 grub_file_open.
47520 (grub_rescue_cmd_module): Likewise.
47521
fa46f4b5 475222005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
47523
47524 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
47525 kern/sparc64/ieee1275/init.c because it contains _start.
47526 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
47527
e9211b5d 475282005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
47529
47530 * configure.ac: Add support for sparc64 host with ieee1275
47531 firmware.
47532 * configure: Generated from configure.ac.
47533 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
47534 instead of int.
47535 (grub_ofdisk_read): Likewise.
47536 (grub_ofdisk_open): Use %p to print pointer values, and cast the
47537 pointers as (void *) to remove a warning.
47538 (grub_ofdisk_close): Likewise.
47539 (grub_ofdisk_read): Likewise.
47540 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
47541 returns, so make it return void to remove a warning.
47542 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
47543 Corresponding prototype change.
47544 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
47545 values, and cast the pointers as (void *) to remove a warning.
47546 (grub_mm_dump): Likewise.
47547 * conf/sparc64-ieee1275.mk: New file.
47548 * conf/sparc64-ieee1275.rmk: Likewise.
47549 * include/grub/sparc64/setjmp.h: Likewise.
47550 * include/grub/sparc64/types.h: Likewise.
47551 * include/grub/sparc64/ieee1275/console.h: Likewise.
47552 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
47553 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
47554 * include/grub/sparc64/ieee1275/time.h: Likewise.
47555 * kern/sparc64/cache.c: Likewise.
47556 * kern/sparc64/dl.c: Likewise.
47557 * kern/sparc64/ieee1275/init.c: Likewise.
47558 * kern/sparc64/ieee1275/openfw.c: Likewise.
47559
385c6a92 475602005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
47561
47562 * util/console.c (grub_ncurses_putchar): If C is greater than
47563 0x7f, set C to a question mark.
47564 (grub_ncurses_getcharwidth): New function.
47565 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
47566 getcharwidth.
47567
47568 * normal/menu.c (print_entry): Made aware of Unicode. First,
47569 convert TITLE to UCS-4, and predict the cursor position by
47570 grub_getcharwidth.
47571
47572 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
47573 const to SRC.
47574 * kern/misc.c (grub_utf16_to_utf8): Likewise.
47575
16ccb8b1 475762005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47577
47578 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
47579 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
47580 grub_strcat.
47581
47582 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
47583 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
47584 grub_strcpy and grub_strlen. Take it into account that a space
47585 character is inserted as a delimiter.
47586
6a85ce79 475872005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47588
47589 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 47590 invalid magic in the error.
6a85ce79 47591
47592 * commands/search.c: New file.
f19dbdb7 47593
6a85ce79 47594 * util/grub-emu.c (main): Call grub_search_init and
47595 grub_search_fini.
47596
47597 * kern/rescue.c (grub_rescue_print_disks): Removed.
47598 (grub_rescue_print_devices): New function.
47599 (grub_rescue_cmd_ls): Use grub_device_iterate with
47600 grub_rescue_print_devices instead of grub_disk_dev_iterate with
47601 grub_rescue_print_disks.
47602
47603 * kern/partition.c (grub_partition_iterate): Return the result of
47604 PARTMAP->ITERATE instead of GRUB_ERRNO.
47605
47606 * kern/device.c: Include grub/partition.h.
47607 (grub_device_iterate): New function.
47608
47609 * include/grub/partition.h (grub_partition_iterate): Return int
47610 instead of grub_err_t.
47611
47612 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
47613 prototype.
47614 [GRUB_UTIL] (grub_search_fini): Likewise.
47615
47616 * include/grub/device.h (grub_device_iterate): New prototype.
47617
47618 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47619 commands/search.c.
47620 (pkgdata_MODULES): Added search.mod.
47621 (search_mod_SOURCES): New variable.
47622 (search_mod_CFLAGS): Likewise.
47623
47624 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
47625 (pkgdata_MODULES): Added search.mod.
47626 (search_mod_SOURCES): New variable.
47627 (search_mod_CFLAGS): Likewise.
47628
47629 * commands/ls.c (grub_ls_list_disks): Renamed to ...
47630 (grub_ls_list_devices): ... this, and use grub_device_iterate.
47631 All callers changed.
47632
47633 * DISTLIST: Added commands/search.c.
47634
ef095434 476352005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47636
47637 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
47638 conversion.
47639 (grub_getcharwidth): New function.
47640
47641 * kern/misc.c (grub_utf8_to_ucs4): New function.
47642
47643 * include/grub/term.h (struct grub_term): Added a new member
47644 "getcharwidth".
47645 (grub_getcharwidth): New prototype.
47646
47647 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
47648
47649 * term/i386/pc/console.c (map_char): New function. Segregated from
47650 grub_console_putchar.
47651 (grub_console_putchar): Use map_char.
47652 (grub_console_getcharwidth): New function.
47653 (grub_console_term): Specified grub_console_getcharwidth as
47654 getcharwidth.
47655
47656 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
47657 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
47658
47659 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
47660 GRUB_ERRNO.
47661 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
47662 on grub_strtoul completely.
47663 (write_char): Declare local variables in the beginning of the
47664 function.
47665 (grub_vesafb_getcharwidth): New function.
47666 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
47667 getcharwidth.
47668
1f0a95e4 476692005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
47670
47671 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
47672 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
47673 commands/i386/pc/vbetest.c.
47674
47675 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
47676 call grub_vbe_get_controller_info again, because the returned
47677 information is volatile.
47678 (grub_vbe_set_video_mode): Mostly rewritten.
47679 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
47680 grub_vbe_status_t correctly.
47681 (grub_vbe_get_video_mode_info): Likewise.
47682 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
47683 several if statements.
47684
47685 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
47686 * commands/i386/pc/vbeinfo.c: ... this.
47687
47688 * commands/i386/pc/vbe_test.c: Renamed to ...
47689 * commands/i386/pc/vbetest.c: ... this.
47690
47691 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
47692 ...
47693 (grub_cmd_vbeinfo): ... this. Save video modes before
47694 iterating. Skip a video mode, if it is not available, not enough
47695 information is given or it is monochrome. Show the memory
47696 model. Leave the interpretation of MODEVAR to grub_strtoul
47697 completely.
47698 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
47699 (GRUB_MOD_FINI): Likewise.
47700
47701 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
47702 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
47703 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
47704 duplicated grub_env_get. Leave the interpretation of MODEVAR to
47705 grub_strtoul completely.
47706 (real2pm): Removed.
47707 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
47708 (GRUB_MOD_FINI): Likewise.
47709
47710 * normal/misc.c: Include grub/mm.h.
47711
47712 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
47713 vbe_list_modes with vbetest.mod and vbeinfo.mod.
47714 (vbe_list_modes_mod_SOURCES): Removed.
47715 (vbe_list_modes_mod_CFLAGS): Likewise.
47716 (vbe_test_mod_SOURCES): Likewise.
47717 (vbe_test_mod_CFLAGS): Likewise.
47718 (vbeinfo_mod_SOURCES): New variable.
47719 (vbeinfo_mod_CFLAGS): Likewise.
47720 (vbetest_mod_SOURCES): Likewise.
47721 (vbetest_mod_CFLAGS): Likewise.
47722
992ffbbe 477232005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
47724
47725 * normal/misc.c: New file.
47726
47727 * DISTLIST: Added normal/misc.c.
f19dbdb7 47728
992ffbbe 47729 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
47730 DISK to HOOK. Call HOOK with DISK.
47731 * partmap/apple.c (apple_partition_map_iterate): Likewise.
47732 * partmap/pc.c (pc_partition_map_iterate): Likewise.
47733 * partmap/sun.c (sun_partition_map_iterate): Likewise.
47734
47735 * normal/menu_entry.c (struct screen): Added a new member
47736 "completion_shown".
47737 (completion_buffer): New global variable.
47738 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
47739 (store_completion): New function.
47740 (complete): Likewise.
47741 (clear_completions): Likewise.
47742 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
47743 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
47744 a tab, call complete.
47745
47746 * normal/completion.c (disk_dev): Removed.
47747 (print_simple_completion): Likewise.
47748 (print_partition_completion): Likewise.
47749 (print_func): New global variable.
47750 (add_completion): Do not take the arguments WHAT or PRINT any
47751 longer. Added a new argument TYPE. Instead of printing directly,
47752 call PRINT_FUNC if not NULL.
47753 All callers changed.
47754 (complete_device): Use a local variable DEV instead of
47755 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
47756 (grub_normal_do_completion): Take a new argument HOOK. Do not
47757 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
47758 empty string, return NULL instead.
47759 All callers changed.
47760
47761 * normal/cmdline.c (print_completion): New function.
47762
47763 * kern/partition.c (grub_partition_iterate): Add an argument DISK
47764 to HOOK.
47765 All callers changed.
47766
47767 * kern/disk.c (grub_print_partinfo): Removed.
47768
47769 * include/grub/partition.h (struct grub_partition_map): Add a new
47770 argument DISK into HOOK of ITERATE.
47771 (grub_partition_iterate): Add a new argument DISK to HOOK.
47772
47773 * include/grub/normal.h (enum grub_completion_type): New enum.
47774 (grub_completion_type_t): New type.
47775 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
47776 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
47777 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
47778 (GRUB_COMPLETION_TYPE_FILE): Likewise.
47779 (grub_normal_do_completion): Added a new argument HOOK.
47780 (grub_normal_print_device_info): New prototype.
47781
47782 * include/grub/disk.h (grub_print_partinfo): Removed.
47783
47784 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
47785 (normal_mod_SOURCES): Likewise.
47786 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47787 (normal_mod_SOURCES): Likewise.
47788
47789 * commands/ls.c (grub_ls_list_disks): Use
47790 grub_normal_print_device_info instead of grub_print_partinfo. Free
47791 PNAME.
47792 (grub_ls_list_files): Use grub_normal_print_device_info instead of
47793 duplicating the code.
47794
0bd41162 477952005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
47796
47797 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 47798 follow GCS more precisely.
47799 * commands/i386/pc/vbe_test.c: Likewise.
47800 * include/grub/i386/pc/vbe.h: Likewise.
47801 * term/i386/pc/vesafb.c: Likewise.
47802 * video/i386/pc/vbe.c: Likewise.
0bd41162 47803
6323696a 478042005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
47805
47806 * DISTLIST: Added term/i386/pc/vesafb.c
47807 DISTLIST: Added video/i386/pc/vbe.c
47808 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
47809 DISTLIST: Added commands/i386/pc/vbe_test.c.
47810 * commands/i386/pc/vbe_list_modes.c: New file.
47811 * commands/i386/pc/vbe_test.c: Likewise.
47812 * term/i386/pc/vesafb.c: Likewise.
47813 * video/i386/pc/vbe.c: Likewise.
47814 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
47815 (grub_vbe_probe) Added prototype.
47816 (grub_vbe_set_video_mode) Likewise.
47817 (grub_vbe_get_video_mode) Likewise.
47818 (grub_vbe_get_video_mode_info) Likewise.
47819 (grub_vbe_set_pixel_rgb) Likewise.
47820 (grub_vbe_set_pixel_index) Likewise.
47821 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
47822 (pkgdata_MODULES): Added vesafb.mod.
47823 (pkgdata_MODULES): Added vbe_list_modes.mod.
47824 (pkgdata_MODULES): Added vbe_test.mod.
47825 (vbe_mod_SOURCES): Added.
47826 (vbe_mod_CFLAGS): Likewise.
47827 (vesafb_mod_SOURCES): Likewise.
47828 (vesafb_mod_CFLAGS): Likewise.
47829 (vbe_list_modes_mod_SOURCES): Likewise.
47830 (vbe_list_modes_mod_CFLAGS): Likewise.
47831 (vbe_test_mod_SOURCES): Likewise.
47832 (vbe_test_mod_CFLAGS): Likewise.
47833
0a74e62f 478342005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
47835
0a74e62f 47836 * normal/command.c (grub_command_execute): If INTERACTIVE is
47837 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
47838 CMDLINE. Disable the pager if INTERACTIVE is true.
47839 All callers are changed.
47840
47841 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
47842 before reading a config file.
47843 * normal/main.c (read_config_file): Even if a command is not
47844 found, register it if it is within an entry.
47845
47846 * util/grub-emu.c: Include sys/types.h and unistd.h.
47847 (options): Added --hold.
47848 (struct arguments): Added a new member "hold".
47849 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
47850 missing.
47851 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
47852 cleared by a debugger, if it is not zero.
47853
47854 * include/grub/normal.h (grub_command_execute): Add an argument
47855 INTERACTIVE.
47856
e51f85ae 478572005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
47858
47859 * DISTLIST: Added include/grub/i386/pc/vbe.h.
47860
e9c6f39b 478612005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
47862
47863 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
47864 program with another one, because the old one didn't detect a bug
47865 in gcc-3.4. Always use regparm 2, because the new test is still
47866 not enough for gcc-4.0. Someone must investigate a simple test
47867 case which detects a bug in gcc-4.0.
47868
8de3495c 478692005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
47870
47871 * DISTLIST: Added normal/completion.c.
47872
47873 * normal/completion.c: New file.
f19dbdb7 47874
8de3495c 47875 * term/i386/pc/console.c (grub_console_getwh): New function.
47876 (grub_console_term): Assign grub_console_getwh to getwh.
47877
47878 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
47879 function is defined in normal/completion.c as
47880 grub_normal_do_completion.
47881 (grub_cmdline_get): Use grub_normal_do_completion instead of
47882 grub_tab_complete.
47883
47884 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
47885 returns non-zero, otherwise return 0.
47886 (grub_partition_iterate): First, probe the partition map. Then,
47887 call ITERATE only for this partition map.
47888
47889 * kern/misc.c (grub_strncmp): Rewritten.
47890
47891 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
47892 returns non-zero. Otherwise return 0.
47893
47894 * include/grub/partition.h (grub_partition_map_iterate): Return
47895 int instead of void.
47896
47897 * include/grub/normal.h (grub_normal_do_completion): New prototype.
47898
47899 * include/grub/misc.h (grub_strncmp): Change the type of N to
47900 grub_size_t.
47901
47902 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
47903 of void.
47904
47905 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 47906 unsigned explicitly before comparing it with I.
8de3495c 47907
47908 * kern/main.c (grub_env_write_root): Add the attribute unused into
47909 VAR.
47910
47911 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47912 normal/completion.c.
47913 (normal_mod_SOURCES): Likewise.
47914 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
47915 (normal_mod_SOURCES): Likewise.
47916
47917 * normal/command.c (grub_iterate_commands): If ITERATE returns
47918 non-zero, return one immediately.
47919
e85e144b 479202005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
47921
47922 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
47923 * kern/i386/pc/startup.S: Updated Global Descriptor table's
47924 descriptions.
47925 (grub_vbe_get_controller_info): New function.
47926 (grub_vbe_get_mode_info): Likewise.
47927 (grub_vbe_set_mode): Likewise.
47928 (grub_vbe_get_mode): Likewise.
47929 (grub_vbe_set_memory_window): Likewise.
47930 (grub_vbe_get_memory_window): Likewise.
47931 (grub_vbe_set_scanline_length): Likewise.
47932 (grub_vbe_get_scanline_length): Likewise.
47933 (grub_vbe_set_display_start): Likewise.
47934 (grub_vbe_get_display_start): Likewise.
47935 (grub_vbe_set_palette_data): Likewise.
47936 * include/grub/i386/pc/vbe.h: New file.
47937
c46153d2 479382005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47939
47940 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
47941 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
47942 * DISTLIST: Likewise.
47943 * kern/ieee1275/of.c: Moved to ...
47944 * kern/ieee1275/ieee1275.c: ... here.
47945
0cb90c45 479462005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47947
47948 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
47949 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
47950 Pass 0 as `end' parameter to grub_strtoul().
47951
a19fb360 479522005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47953
47954 * include/grub/powerpc/ieee1275/console.h: Do not include
47955 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
47956 ifdef.
47957 (grub_console_cur_color): Remove i386-specific prototype.
47958 (grub_console_real_putchar): Likewise.
47959 (grub_console_checkkey): Likewise.
47960 (grub_console_getkey): Likewise.
47961 (grub_console_getxy): Likewise.
47962 (grub_console_gotoxy): Likewise.
47963 (grub_console_cls): Likewise.
47964 (grub_console_setcursor): Likewise.
47965 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
47966 Include <grub/machine/console.h>.
47967 * term/ieee1275/ofconsole.c: Likewise.
47968
4ac9bd04 479692005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
47970
47971 * Makefile.in (LIBLZO): New variable.
47972
47973 * configure.ac: Check for LZO version 2.
47974
47975 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
47976 lzo/lzo1x.h instead of lzo1x.h.
47977
47978 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
47979 of -llzo.
47980
47981 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
47982 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
47983
47984 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
47985 copying the data from PARTITION to P.
47986
f4917dfd 479872005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
47988
47989 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
47990 negative, unload the module.
47991
47992 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
47993 map is "pc_partition_map" but not "pc".
47994 (usage): Fix the description. The options are --boot-image and
47995 --core-image but not --boot-file or --core-file.
47996 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
47997 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
47998 DEFAULT_DIRECTORY.
47999
48000 * util/i386/pc/grub-install.in: Do not specify --boot-file or
48001 --core-file. Specify INSTALL_DEVICE as an argument.
48002
48003 * util/console.c: Include config.h.
48004 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
48005 [HAVE_NCURSES_H]: Include ncurses.h.
48006 [HAVE_CURSES_H]: Include curses.h.
48007 [!A_NORMAL] (A_NORMAL): Defined as zero.
48008 [!A_STANDOUT] (A_STANDOUT): Likewise.
48009
48010 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
48011 -lncurses.
48012 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
48013
48014 * configure.ac: Check for curses libraries and headers.
48015
48016 * Makefile.in (LIBCURSES): New variable.
48017
48018 * genmk.rb (Script::rule): Set the executable bits.
48019
48020 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
48021 name of the PC partition map is "pc_partition_map" but not "pc".
48022
0e143073 480232005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48024
48025 * util/i386/pc/grub-install.in (grub_probefs): New variable.
48026 (modules): Likewise.
48027 (usage): Added descriptions for --modules and --grub-probefs.
48028 Handle --modules and --grub-probefs. Save the arguments in MODULES
48029 and GRUB_PROBEFS, respectively.
48030 Auto-detect a filesystem module against GRUBDIR. If the result is
48031 empty and modules are not specified explicitly, abort the
48032 installation. Add the result to MODULES.
48033
48034 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
48035 disk/powerpc/ieee1275/ofdisk.c,
48036 include/grub/powerpc/ieee1275/init.h and
48037 term/powerpc/ieee1275/ofconsole.c.
48038 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
48039 term/ieee1275/ofconsole.c.
48040
48041 * include/grub/powerpc/ieee1275/console.h: Resurrected.
48042
48043 * COPYING: Upgraded to the latest version. Only the address of the
48044 FSF office has changed.
f19dbdb7 48045
efd6e6d5 480462005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48047
48048 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
48049 kern/ieee1275.c with kern/ieee1275/of.c.
48050
48051 * kern/ieee1275.c: Moved to ...
48052 * kern/ieee1275/of.c: ... here.
48053
8ceafda2 480542005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
48055
48056 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 48057 readability.
8ceafda2 48058
48059 * config.guess: Updated to the latest version from gnulib.
48060 * config.sub: Likewise.
48061 * install.sh: Likewise.
48062 * mkinstalldirs: Likewise.
48063
48064 * include/grub/console.h: Removed. This file is arch-specific. Do
48065 not put this in include/grub.
48066
48067 * include/grub/i386/pc/console.h: Resurrected.
48068
48069 * util/console.c: Include grub/machine/console.h instead of
48070 grub/console.h.
48071 * util/grub-emu.c: Likewise.
48072
267f6cd9 480732005-08-04 Marco Gerards <metgerards@student.han.nl>
48074
48075 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
48076 hardcoded value.
f19dbdb7 48077
267f6cd9 48078 From Vincent Pelletier <subdino2004@yahoo.fr>
48079 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
48080 Redefined to use grub_getwh.
48081 (grub_term): New member named getwh.
48082 (grub_getwh): New prototype.
48083 * kern/term.c (grub_getwh): New function.
48084 * term/i386/pc/console.c (grub_console_getwh): New function.
48085 (grub_console_term): New member `getwh'.
48086 * term/i386/pc/vga.c (grub_vga_getwh): New function.
48087 (grub_vga_term): New member `getwh'.
0b5abe02 48088 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 48089 grub_ssize_t.
48090 (grub_ofconsole_getw): New function.
48091 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
48092 (grub_ofconsole_term): New field named getwh and new initial
48093 value.
48094
3be7266d 480952005-08-03 Hollis Blanchard <hollis@penguinppc.org>
48096
48097 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
48098 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
48099 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
48100 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
48101 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
48102 of <grub/machine/ieee1275.h>.
48103 * commands/ieee1275/reboot.c: Likewise.
48104 * boot/powerpc/ieee1275/ieee1275.c: Move ...
48105 * kern/ieee1275.c: ... to here. All users updated. Change all
48106 parameter structs to use new type `grub_ieee1275_cell_t'.
48107 * term/powerpc/ieee1275/ofconsole.c: Move ...
48108 * term/ieee1275/ofconsole.c: ... to here. All users updated.
48109 * disk/powerpc/ieee1275/ofdisk.c: Move ...
48110 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
48111 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
48112 to return int.
48113 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
48114 Remove unused prototypes. All users updated.
48115 * include/grub/powerpc/ieee1275/console.h: Removed.
48116 * include/grub/powerpc/ieee1275/ieee1275.h: Define
48117 `grub_ieee1275_cell_t'.
48118 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
48119 Cast comparisons with -1 to the correct type.
48120 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
48121 type to match `grub_ieee1275_entry_fn'.
48122
8b5f3938 481232005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
48124
48125 * DISTLIST: Added util/i386/pc/grub-probefs.c.
48126
48127 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
48128 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
48129 partmap/sun.c.
48130 (grub_probefs_SOURCES): New variable.
48131
48132 * util/i386/pc/grub-probefs.c: New file.
48133
48134 * util/i386/pc/grub-setup.c (main): Call
48135 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
48136 grub_hfs_init and grub_jfs_init to initialize the system. Call
48137 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
48138 grub_pc_partition_map_fini to finish the system.
48139
ea409713 481402005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
48141
48142 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
48143 function.
48144 (grub_multiboot_load_elf32): Likewise.
48145 (grub_multiboot_is_elf64): Likewise.
48146 (grub_multiboot_load_elf64): Likewise.
48147 (grub_multiboot_load_elf): Likewise.
48148 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
48149 an ELF32 or ELF64 file.
48150 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
48151
48152 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
48153 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
48154 NULL before calling FS->LABEL.
48155 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
48156 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
48157 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
48158 before calling FS->LABEL.
48159
141a288b 481602005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
48161
48162 * util/i386/pc/grub-install.in (datadir): New variable.
48163 (libdir): Removed.
48164 (pkgdatadir): New variable.
48165 (pkglibdir): Removed.
48166
0d5f8a54 481672005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
48168
48169 * DISTLIST: Added util/i386/pc/grub-install.in.
48170
48171 * util/i386/pc/grub-install.in: New file.
48172
48173 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
48174 (grub_install_SOURCES): Likewise.
48175
48176 * genmk.rb: Added support for scripts.
48177 (Script): New class.
48178 (scripts): New variable.
48179
48180 * Makefile.in (install-local): Install sbin_SCRIPTS by
48181 INSTALL_SCRIPT.
48182 (uninstall): Remove sbin_SCRIPTS.
48183
48184 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
48185 device, try to get a GRUB device by
48186 grub_util_biosdisk_get_grub_dev.
48187 Free DEST_DEV.
48188
48189 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
48190 description for --device-map.
48191
5f968e1e 481922005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
48193
48194 Change the semantics of variable hooks. They now return strings
48195 instead of error values.
f19dbdb7 48196
5f968e1e 48197 * util/i386/pc/grub-setup.c: Include grub/env.h.
48198 (setup): Use grub_device_set_root instead of grub_env_set.
48199
48200 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
48201 grub_env_get instead of grub_device_set_root and
48202 grub_device_get_root, respectively.
48203
48204 * kern/main.c (grub_env_write_root): New function.
48205 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
48206 grub_env_set instead of grub_device_set_root.
48207
48208 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
48209 many variables.
48210 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
48211 rather than calling ENV->WRITE_HOOK afterwards.
48212 (grub_env_get): Return the result of ENV->READ_HOOK rather than
48213 passing a pointer of a pointer.
48214 (grub_register_variable_hook): Change the types of "read_hook" and
48215 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
48216 respectively.
48217 Allocate the default empty string on the heap, because this string
48218 may be freed later.
48219
48220 * kern/device.c: Include grub/env.h.
48221 (grub_device_set_root): Removed.
48222 (grub_device_get_root): Likewise.
48223 (grub_device_open): Use grub_env_get instead of
48224 grub_device_get_root.
48225
48226 * include/grub/env.h (grub_env_read_hook_t): New type.
48227 (grub_env_write_hook_t): Likewise.
48228 (grub_env_var): Change the types of "read_hook" and "write_hook"
48229 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
48230 (grub_register_variable_hook): Likewise.
48231
48232 * include/grub/device.h (grub_device_set_root): Removed.
48233 (grub_device_set_root): Likewise.
48234
48235 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
48236 make sure that DIRNAME terminates with '/', so that
48237 grub_fat_find_dir will fail if PATH is not a directory.
48238
48239 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
48240 from DIRNAME.
48241 Use the qualifier auto for print_files and print_files_long.
48242 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
48243 as a regular file.
48244 Put a newline only if there is no error.
48245 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
48246 used.
48247
896f0afd 482482005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
48249
48250 * kern/partition.c (grub_partition_probe): Initialize PART to
48251 NULL. Otherwise, when no partition map is registered, this returns
48252 a garbage.
48253
b28b81b2 482542005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
48255
48256 * partmap/apple.c (apple_partition_map_iterate): Check if POS
48257 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
48258 valid.
48259
5f3607e0 482602005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
48261
48262 * commands/ls.c (grub_ls_list_disks): Print the filesystem
48263 information on each device, if it does not have partitions. Print
48264 "Device" instead of "Disk", because this function is not specific
48265 to disk devices.
48266
48267 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
48268 static to ensure that it is put on the memory rather than a
48269 register.
48270
502c87e8 482712005-07-17 Yoshinori Okuji <okuji@enbug.org>
48272
48273 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
48274 (grub_cat_init): Likewise.
48275 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
48276 (options): Likewise.
48277 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
48278 (grub_configfile_init): Likewise.
48279 * font/manager.c (GRUB_MOD_INIT): Likewise.
48280 * commands/help.c (GRUB_MOD_INIT): Likewise.
48281 (grub_help_init): Likewise.
48282 * normal/command.c (grub_command_init): Likewise.
48283 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
48284 * disk/loopback.c (grub_loop_init): Likewise.
48285 (GRUB_MOD_INIT): Likewise.
48286 * commands/ls.c (grub_ls_init): Likewise.
48287 (GRUB_MOD_INIT): Likewise.
48288 (options): Likewise.
48289 * commands/boot.c (grub_boot_init): Likewise.
48290 (GRUB_MOD_INIT): Likewise.
48291 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
48292 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
48293 (GRUB_MOD_INIT): Likewise.
48294 * commands/cmp.c (grub_cmp_init): Likewise.
48295 (GRUB_MOD_INIT): Likewise.
48296
48297 * normal/arg.c: Use <> instead of "" to include header files.
48298 (SHORT_ARG_HELP): New macro.
48299 (SHORT_ARG_USAGE): Likewise.
48300 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
48301 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
48302 descriptions.
48303 (find_short): Check if C is 'h' or 'u' explicitly.
48304 (grub_arg_show_help): Use space characters instead of tabs. Treat
48305 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
48306 are shown with --help and --usage only if they are not used for
48307 the command itself.
48308 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
48309 'h' and 'u'.
48310
48311 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
48312 const into "longarg". Change the type of "shortarg" to int.
48313
f806d18e 483142005-07-17 Yoshinori Okuji <okuji@enbug.org>
48315
48316 * boot/i386/pc/boot.S (boot_drive_check): New label.
48317
48318 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
48319 macro.
48320
48321 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
48322 which do not pass a boot drive correctly. Copied from GRUB Legacy.
48323
e293232b 483242005-07-17 Yoshinori Okuji <okuji@enbug.org>
48325
48326 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
48327 When turning off Gate A20, skip the check and return immediately,
48328 because this is not fatal usually.
48329
ebedfd00 483302005-07-17 Yoshinori Okuji <okuji@enbug.org>
48331
48332 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
48333 be 0x7C00 instead of 0x8000.
48334
48335 * boot/i386/pc/pxeboot.S: Rewritten.
48336
48337 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
48338 EXT_C.
48339 (gate_a20_check_state): Read a byte from 0x108000. Invert the
48340 result.
48341
654fc59f 483422005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
48343
48344 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
48345 robustness. This routine now supports a BIOS call and System
48346 Control Port A to modify the gate A20.
48347
48348 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
48349 Increased to 0x440.
48350
09f9923f 483512005-07-12 Hollis Blanchard <hollis@penguinppc.org>
48352
48353 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
48354 device path and resulting ihandle.
48355 (grub_ofdisk_close): dprintf the ihandle being closed.
48356 (grub_ofdisk_read): dprintf function parameters.
48357 * kern/mm.c (grub_mm_init_region): Likewise.
48358 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
48359 (grub_linux_boot): dprintf the Linux entry point, initrd address and
48360 size, and boot arguments.
48361 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
48362 before loading into memory.
48363 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
48364 before loading into memory.
48365
7ef504d8 483662005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
48367
48368 * kern/mm.c: Added much documentation.
48369 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
48370 8, set to 5 instead of 8.
48371
e0f050c2 483722005-07-10 Yoshinori Okuji <okuji@enbug.org>
48373
48374 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
48375
48376 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
48377 (grub_mkdevicemap_SOURCES): New variable.
48378
48379 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
48380 lib/device.c of GRUB Legacy.
48381
7224189a 483822005-07-10 Yoshinori Okuji <okuji@enbug.org>
48383
48384 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
48385 instead of PATH is NULL.
48386
68c864eb 483872005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
48388
48389 * commands/cmp.c (BUFFER_SIZE): New macro.
48390 (grub_cmd_cmp): Close the right file at the right time. Compare
48391 only data just read. Don't report files of different size as
48392 identical. Dynamically allocate buffers. Move variable
48393 declarations at the beginning of function.
48394
e6f3e614 483952005-07-09 Yoshinori Okuji <okuji@enbug.org>
48396
48397 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
48398 reverse.
48399
f8f1559a 484002004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
48401
48402 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
48403 when backspace is pressed at beginning of line.
48404
39c9d41d 484052005-07-03 Yoshinori Okuji <okuji@enbug.org>
48406
48407 * DISTLIST: Added genfslist.sh.
48408
48409 * normal/main.c (fs_module_list): New variable.
48410 (autoload_fs_module): New function.
48411 (read_fs_list): Likewise.
48412 (grub_normal_execute): Call read_fs_list.
48413
48414 * kern/fs.c (grub_fs_autoload_hook): New variable.
48415 (grub_fs_probe): Added support for auto-loading.
48416
48417 * include/grub/normal.h (struct grub_fs_module_list): New struct.
48418 (grub_fs_module_list_t): New type.
48419
48420 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
48421 (grub_fs_autoload_hook): New prototype.
48422
48423 * genfslist.sh: New file.
f19dbdb7 48424
39c9d41d 48425 * genmk.rb: Added a rule to generate a filesystem list.
48426
121c1d83 484272005-06-30 Marco Gerards <metgerards@student.han.nl>
48428
48429 * configure.ac: Fix the test for cross-compiling.
48430
48431 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
48432 define GRUB_UTIL anymore.
48433
48434 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
48435 so this function works on other systems than just big endian.
48436 (load_modules): Likewise.
48437 (add_segments): Likewise.
48438
e75d76e1 484392005-06-23 Hollis Blanchard <hollis@penguinppc.org>
48440
48441 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
48442 contains `l' modifier, get a long from va_arg().
48443
50b5a0a7 484442005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
48445
48446 * kern/mm.c (grub_free): If the next free block which is being
48447 merged is the first free block, set the first block to the block
48448 being freed.
48449 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
48450
89371b20 484512005-05-08 Hollis Blanchard <hollis@penguinppc.org>
48452
48453 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
48454 `grub_ieee1275_chosen'.
48455
168d6e58 484562005-05-08 Hollis Blanchard <hollis@penguinppc.org>
48457
48458 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
48459 (grub_ieee1275_chosen): New variable.
48460 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
48461 `chosen'.
48462 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
48463 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
48464 Rename first argument to `phandle' for consistency.
48465 (grub_ieee1275_get_property_length): Likewise.
48466 (grub_ieee1275_next_property): Likewise. Change type of first argument
48467 to grub_ieee1275_phandle_t.
48468 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
48469 Move export next to declaration.
48470 (grub_ieee1275_chosen): New variable.
48471 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
48472 Correct cosmetic typo.
48473 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
48474 `grub_ieee1275_chosen'.
48475 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
48476 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
48477 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
48478 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
48479 `grub_ieee1275_chosen'.
48480
ca5baa3f 484812005-05-10 Hollis Blanchard <hollis@penguinppc.org>
48482
48483 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
48484 /chosen/bootargs.
48485 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
48486 /chosen/bootargs as "variable=value" pairs.
48487
708b345f 484882005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
48489
48490 * include/grub/misc.h (grub_dprintf): New macro.
48491 (grub_real_dprintf): New prototype.
48492 (grub_strword): Likewise.
48493 (grub_iswordseparator): Likewise.
48494 * kern/misc.c (grub_real_dprintf): New function.
48495 (grub_strword): Likewise.
48496 (grub_iswordseparator): Likewise.
48497
f4c5e67c 484982005-04-30 Hollis Blanchard <hollis@penguinppc.org>
48499
48500 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
48501 (roundup): Remove macro.
48502 (grub_ieee1275_flags): Make static.
48503 (grub_ieee1275_realmode): Remove.
48504 (grub_ieee1275_test_flag): New function.
48505 (grub_ieee1275_set_flag): Likewise.
48506 (find_options): Rename to `grub_ieee1275_find_options'; update
48507 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
48508 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
48509 (cmain): New prototype.
48510 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
48511 `grub_ieee1275_flags' directly.
48512 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
48513 machine/biosdisk.h.
48514 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
48515 Don't include grub/machine/init.h.
48516 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
48517 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
48518 Remove prototype.
48519 (grub_ieee1275_realmode): Likewise.
48520 (grub_ieee1275_flag): New enum.
48521 (grub_ieee1275_test_flag): New prototype.
48522 (grub_ieee1275_set_flag): New prototype.
48523 * include/grub/powerpc/ieee1275/init.h: Remove file.
48524 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
48525 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
48526 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
48527 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
48528 comment.
48529 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
48530 `grub_ieee1275_test_flag'.
48531 (grub_ieee1275_encode_devname): Likewise.
48532
ed16607e 485332005-04-21 Hollis Blanchard <hollis@penguinppc.org>
48534
48535 * include/grub/powerpc/ieee1275/ieee1275.h
48536 (grub_ieee1275_encode_devname): New prototype.
48537 (grub_ieee1275_get_filename): Likewise.
48538 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
48539 function.
48540 (grub_set_prefix): Likewise.
48541 (grub_machine_init): Call grub_set_prefix.
48542 * kern/powerpc/ieee1275/openfw.c: Fix typos.
48543 (grub_parse_type): New enum.
48544 (grub_ieee1275_get_devargs): New function.
48545 (grub_ieee1275_get_devname): Likewise.
48546 (grub_ieee1275_parse_args): Likewise.
48547 (grub_ieee1275_get_filename): Likewise.
48548 (grub_ieee1275_encode_devname): Likewise.
48549
be369920 485502005-03-30 Marco Gerards <metgerards@student.han.nl>
48551
48552 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
48553 `grub_loader_unset'.
48554
a5ce3a4a 485552005-03-26 Hollis Blanchard <hollis@penguinppc.org>
48556
48557 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
48558 instead of grub_ieee1275_interpret.
48559 (grub_halt_init): New function.
48560 (grub_halt_fini): Likewise.
48561 (GRUB_MOD_INIT): Correct message grammar.
48562 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
48563 instead of grub_ieee1275_interpret.
48564 (grub_reboot_init): New function.
48565 (grub_reboot_fini): Likewise.
48566 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
48567 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
48568 util/i386/pc/misc.c with commands/ieee1275/halt.c,
48569 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
48570 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
48571 function.
48572 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
48573 Add prototype.
48574 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
48575 prototype.
48576 (grub_halt): Likewise.
48577 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
48578 (cmain): Remove __attribute__((unused)).
48579 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
48580 (grub_heap_len): Likewise.
48581 (grub_machine_fini): New function.
48582 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
48583 (grub_halt): Likewise.
48584 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
48585 function.
48586 * util/powerpc/ieee1275/misc.c: New file.
48587
0058f771 485882005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
48589
48590 * DISTLIST: New file.
48591 * gendistlist.sh: Likewise.
f19dbdb7 48592
0058f771 48593 * Makefile.in (COMMON_DISTFILES): Removed.
48594 (BOOT_DISTFILES): Likewise.
48595 (CONF_DISTFILES): Likewise.
48596 (DISK_DISTFILES): Likewise.
48597 (FS_DISTFILES): Likewise.
48598 (INCLUDE_DISTFILES): Likewise.
48599 (KERN_DISTFILES): Likewise.
48600 (LOADER_DISTFILES): Likewise.
48601 (TERM_DISTFILES): Likewise.
48602 (UTIL_DISTFILES): Likewise.
48603 (DISTFILES): Likewise.
48604 (uninstall): Uninstall files in $(pkgdata_DATA).
48605 (DISTLIST): New target.
48606 (distdir): Use the contents of the file DISTLIST to get a list of
48607 distributed files.
48608
46b3b8a5 486092005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
48610
48611 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
48612 descriptor. This is ported from GRUB Legacy.
48613
48614 * gencmdlist.sh: Added an extra semicolon to make it work with
48615 old sed versions. Reported by Robert Bihlmeyer
48616 <robbe@orcus.priv.at>.
48617
5822ff87 486182005-03-08 Yoshinori Okuji <okuji@enbug.org>
48619
48620 Automatic loading of commands is supported.
f19dbdb7 48621
5822ff87 48622 * normal/main.c (read_command_list): New function.
48623 (grub_normal_execute): Call read_command_list.
48624
48625 * normal/command.c (grub_register_command): Return zero or CMD.
48626 Allocate CMD->NAME from the heap.
48627 Initialize CMD->MODULE_NAME to zero.
48628 Find the same name as well. If the same command is found and it is
48629 a dummy command, overwrite members. If it is not a dummy command,
48630 return zero.
48631 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
48632 (grub_command_find): If a dummy command is found, load a module
48633 and retry to find a command only once.
48634
48635 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
48636 make sure that each command is loaded.
48637
48638 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
48639 macro.
48640 (struct grub_command): Remove const from the member `name'.
48641 Add a new member `module_name'.
48642 (grub_register_command): Return grub_command_t.
48643
48644 * commands/help.c (grub_cmd_help): Call grub_command_find to make
48645 sure that each command is loaded.
48646
48647 * genmk.rb (PModule::rule): Specify a module name without the
48648 suffix ".mod" to gencmdlist.sh.
48649
7b1f4b57 486502005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
48651
48652 * gencmdlist.sh: New file.
f19dbdb7 48653
7b1f4b57 48654 * genmk.rb (PModule::rule): Generate a rule for a command list.
48655 Clean command.lst.
48656 Generate command.lst from $(COMMANDFILES).
48657
48658 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
48659 (DATA): Added $(pkgdata_DATA).
48660 (install-local): Install files in $(pkgdata_DATA).
48661
062aaf39 486622005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
48663
48664 * term/i386/pc/vga.c (debug_command): Removed.
48665 (GRUB_MOD_INIT): Do not register the command "debug".
48666
48667 From Hollis Blanchard:
48668 * commands/configfile.c: New file.
48669 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48670 commands/configfile.c.
48671 (pkgdata_MODULES): Added configfile.mod.
48672 (configfile_mod_SOURCES): New variable.
48673 (configfile_mod_CFLAGS): Likewise.
48674 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48675 commands/configfile.c.
48676 (pkgdata_MODULES): Added configfile.mod.
48677 (configfile_mod_SOURCES): New variable.
48678 (configfile_mod_CFLAGS): Likewise.
48679 * util/grub-emu.c (main): Call grub_configfile_init and
48680 grub_configfile_fini.
48681 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
48682 prototype.
48683 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 48684
cee01aa6 486852005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
48686
48687 * normal/arg.c (grub_arg_show_help): Do not show the bug report
48688 address.
48689
48690 * commands/help.c (grub_cmd_help): Do not print newlines after
48691 the last command in print_command_help.
48692
93f3a1d8 486932005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
48694
48695 * commands/default.h: New file.
48696 * commands/timeout.h: Likewise.
48697 * normal/context.c: Likewise.
f19dbdb7 48698
93f3a1d8 48699 * util/misc.c: Do not include sys/times.h.
48700 Include sys/time.h and grub/machine/time.h.
48701 (grub_get_rtc): Rewritten with gettimeofday.
48702
48703 * util/grub-emu.c (main): Call grub_default_init and
48704 grub_timeout_init before grub_normal_init, and call
48705 grub_timeout_fini and grub_default_fini after grub_main.
48706
48707 * util/console.c (grub_ncurses_checkkey): Return the read
48708 character or -1.
48709
48710 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
48711 timeouts.
48712
48713 * normal/main.c (read_config_file): Push MENU. If this fails,
48714 print an error and wait for a user input.
48715 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
48716 If a menu is empty or an error occurs, pop MENU.
48717 (grub_normal_execute): Pop and free MENU after grub_menu_run
48718 returns.
48719
48720 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
48721
48722 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
48723 include time.h.
48724 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
48725 without GRUB_UTIL.
48726 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
48727 time.h.
48728 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
48729 without GRUB_UTIL.
48730
48731 * include/grub/normal.h (struct grub_menu_list): New struct.
48732 (grub_menu_list_t): New type.
48733 (struct grub_context): New struct.
48734 (grub_context_t): New type.
48735 (grub_register_command): Got rid of EXPORT_FUNC.
48736 (grub_unregister_command): Likewise.
48737 (grub_context_get): New prototype.
48738 (grub_context_get_current_menu): Likewise.
48739 (grub_context_push_menu): Likewise.
48740 (grub_context_pop_menu): Likewise.
48741 [GRUB_UTIL] (grub_default_init): Likewise.
48742 [GRUB_UTIL] (grub_default_fini): Likewise.
48743 [GRUB_UTIL] (grub_timeout_init): Likewise.
48744 [GRUB_UTIL] (grub_timeout_fini): Likewise.
48745
48746 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
48747 commands/timeout.c and normal/context.c.
48748 (pkgdata_MODULES): Added default.mod and timeout.mod.
48749 (normal_mod_SOURCES): Added normal/context.c.
48750 (default_mod_SOURCES): New variable.
48751 (default_mod_CFLAGS): Likewise.
48752 (timeout_mod_SOURCES): Likewise.
48753 (timeout_mod_CFLAGS): Likewise.
48754 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
48755 conf/i386-pc.rmk.
48756 (pkgdata_MODULES): Added default.mod and timeout.mod.
48757 (normal_mod_SOURCES): Added normal/context.c.
48758 (default_mod_SOURCES): New variable.
48759 (default_mod_CFLAGS): Likewise.
48760 (timeout_mod_SOURCES): Likewise.
48761 (timeout_mod_CFLAGS): Likewise.
48762
48763 * Makefile.in (all-local): Added $(MKFILES).
48764
4ed2e1dd 487652005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
48766
48767 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
48768 (grub_emu_SOURCES): Likewise.
48769 (pkgdata_MODULES): Add `sun.mod'.
48770 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
48771 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48772 `partmap/sun.c'.
48773 (pkgdata_MODULES): Add `sun.mod'.
48774 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
48775 * include/grub/partition.h (grub_sun_partition_map_init): New
48776 prototype.
48777 (grub_sun_partition_map_fini): Likewise.
48778 * partmap/sun.c: New file.
48779 * util/grub-emu.c (main): Initialize and de-initialize the sun
48780 partitionmap support.
48781
4d4e372e 487822005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
48783
48784 This implements an Emacs-like menu entry editor.
f19dbdb7 48785
4d4e372e 48786 * normal/menu_entry.c: New file.
f19dbdb7 48787
4d4e372e 48788 * util/console.c (grub_ncurses_putchar): Translate some Unicode
48789 characters to ASCII.
48790 (saved_char): New variable.
48791 (grub_ncurses_checkkey): Rewritten completely.
48792 (grub_ncurses_getkey): Likewise.
48793 (grub_ncurses_init): Call raw instead of cbreak.
48794
48795 * normal/menu.c (print_entry): Do not put a space.
48796 (init_page): Renamed to ...
48797 (grub_menu_init_page): ... this. All callers changed.
48798 (edit_menu_entry): Removed.
48799 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
48800
48801 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
48802
48803 * kern/misc.c (grub_vprintf): Call grub_refresh.
48804
48805 * normal/menu.c (DISP_LEFT): Renamed to ...
48806 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
48807 * normal/menu.c (DISP_UP): Renamed to ...
48808 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
48809 * normal/menu.c (DISP_RIGHT): Renamed to ...
48810 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
48811 * normal/menu.c (DISP_DOWN): Renamed to ...
48812 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
48813 * normal/menu.c (DISP_HLINE): Renamed to ...
48814 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
48815 * normal/menu.c (DISP_VLINE): Renamed to ...
48816 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
48817 * normal/menu.c (DISP_UL): Renamed to ...
48818 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
48819 * normal/menu.c (DISP_UR): Renamed to ...
48820 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
48821 * normal/menu.c (DISP_LL): Renamed to ...
48822 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
48823 * normal/menu.c (DISP_LR): Renamed to ...
48824 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
48825 * normal/menu.c (TERM_WIDTH): Renamed to ...
48826 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
48827 * normal/menu.c (TERM_HEIGHT): Renamed to ...
48828 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
48829 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
48830 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
48831 * normal/menu.c (TERM_MARGIN): Renamed to ...
48832 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
48833 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
48834 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
48835 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
48836 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
48837 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
48838 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
48839 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
48840 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
48841 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
48842 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
48843 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
48844 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
48845 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
48846 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
48847 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
48848 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
48849 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
48850 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
48851 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
48852 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
48853 All callers changed.
48854
48855 * include/grub/normal.h: New prototype.
48856
48857 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48858 normal/menu_entry.c.
48859 (normal_mod_SOURCES): Likewise.
48860 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48861 (normal_mod_SOURCES): Likewise.
48862
e6b92c8a 488632005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
48864
48865 * include/grub/normal.h (grub_halt_init): New prototype.
48866 (grub_halt_fini): Likewise.
48867 (grub_reboot_init): Likewise.
48868 (grub_reboot_fini): Likewise.
48869
48870 * util/grub-emu.c: Include signal.h.
48871 (main_env): New global variable.
48872 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
48873 catch C-c.
48874 (grub_machine_fini): New function.
48875 (main): Call grub_halt_init and grub_reboot_init before
48876 grub_main, and grub_reboot_fini and grub_halt_fini after it.
48877 Call setjmp with MAIN_ENV to go back afterwards.
48878 Call grub_machine_fini right before return.
48879
48880 * include/grub/util/misc.h: Include setjmp.h.
48881 (main_env): New prototype.
48882
48883 * include/grub/kernel.h (grub_machine_fini): New prototype.
48884 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
48885 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
48886
48887 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
48888 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
48889 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 48890
e6b92c8a 48891 * util/i386/pc/misc.c: New file.
f19dbdb7 48892
e6b92c8a 48893 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48894 util/i386/pc/misc.c, commands/i386/pc/halt.c and
48895 commands/i386/pc/reboot.c.
48896
c642636f 488972005-02-14 Guillem Jover <guillem@hadrons.org>
48898
48899 * include/grub/dl.h (grub_dl_check_header): New prototype.
48900 (grub_arch_dl_check_header): Change return type to grub_err_t,
48901 remove size parameter and export function. Update all callers.
48902 * kern/dl.c (grub_dl_check_header): New function.
48903 (grub_dl_load_core): Use `grub_dl_check_header' instead of
48904 `grub_arch_dl_check_header'. Check ELF type. Check if sections
48905 are inside the core.
48906 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
48907 independent ELF header checks.
48908 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
48909 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
48910 `grub_dl_check_header' instead of explicit checks. Check for the
48911 ELF type.
48912 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
48913 `grub_dl_check_header' instead of explicit checks. Remove arch
48914 specific ELF header checks.
48915
e6b92c8a 48916 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
48917 argument SIZE.
48918
5eabe94b 489192005-02-13 Hollis Blanchard <hollis@penguinppc.org>
48920
48921 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
48922 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
48923
1b14a681 489242005-02-12 Hollis Blanchard <hollis@penguinppc.org>
48925
48926 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 48927 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 48928 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 48929 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 48930 * partmap/amiga.c (amiga_partition_map_iterate): Return
48931 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
48932 * partmap/apple.c (apple_partition_map_iterate): Likewise.
48933
aca108aa 489342005-02-01 Guillem Jover <guillem@hadrons.org>
48935
48936 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
48937 help info.
48938
c9f9c556 489392005-01-31 Marco Gerards <metgerards@student.han.nl>
48940
48941 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
48942 Removed prototype.
48943 (grub_rescue_cmd_linux): New prototype.
48944 (grub_rescue_cmd_initrd): Likewise.
48945 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
48946 `bi_rec'.
48947 (grub_linux_release_mem): Release the memory for the initrd.
48948 (grub_load_linux): Renamed from this...
48949 (grub_rescue_cmd_linux): ...To this. Changed all callers.
48950 Changed `entry' not to be static. Loop over memory regions to
48951 find another one when the default fails.
48952 (grub_rescue_cmd_initrd): New function.
48953 (grub_linux_init): Remove function.
48954 (grub_linux_fini): Likewise.
48955 (GRUB_MOD_INIT): Register `initrd'.
48956 (GRUB_MOD_FINI): Unregister `initrd'.
48957 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
48958 Function removed.
48959 (grub_linux_normal_fini): Likewise.
48960 (GRUB_MOD_INIT): Register `initrd'.
48961 (GRUB_MOD_FINI): Unregister `initrd'.
48962
990cf3aa 489632005-01-31 Marco Gerards <metgerards@student.han.nl>
48964
48965 * commands/help.c: New file.
48966 * normal/arg.c (show_help): Renamed to...
48967 (grub_arg_show_help): ... this.
48968 * commands/i386/pc/halt.c: New file.
48969 * commands/i386/pc/reboot.c: Likewise.
48970 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
48971 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
48972 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
48973 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
48974 variables.
48975 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48976 `commands/help.c'.
48977 (pkgdata_MODULES): Add `help.mod'.
48978 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
48979 * grub/i386/pc/init.h (grub_reboot): New prototype.
48980 (grub_halt): Likewise.
48981 * include/grub/normal.h (grub_arg_show_help): New prototype.
48982 (grub_help_init): Likewise.
48983 (grub_help_fini): Likewise.
48984 * util/grub-emu.c (main): Initialize and deinitialize the help
48985 command.
48986
48987 * normal/cmdline.c (grub_cmdline_get): Doc fix.
48988
48989 * normal/command.c (grub_command_init): Fixed the description of
48990 the `set' and `unset' commands.
48991
489922005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 48993
48994 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
48995 function.
48996 * commands/ieee1275/halt.c: New file.
48997 * commands/ieee1275/reboot.c: Likewise.
48998 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
48999 `__attribute__ ((unused))'. Some GCS related fixed.
49000 (grub_suspend_init) [GRUB_UTIL]: Function removed.
49001 (grub_suspend_fini): Likewise.
49002 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
49003 and `halt.mod'.
49004 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
49005 (halt_mod_CFLAGS): New variables.
49006 * include/grub/powerpc/ieee1275/ieee1275.h
49007 (grub_ieee1275_interpret): New prototype.
49008
1ab09cc7 490092005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
49010
49011 * include/grub/misc.h (memmove): New prototype.
49012 (memcpy): Likewise.
49013
8b8cbdb2 490142005-01-22 Hollis Blanchard <hollis@penguinppc.org>
49015
49016 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
49017 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
49018
e3741a27 490192005-01-22 Marco Gerards <metgerards@student.han.nl>
49020
49021 * kern/misc.c (grub_strndup): Function rewritten.
49022
776bd780 490232005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
49024
49025 * normal/menu.c (TERM_WIDTH): Macro redefined.
49026 (TERM_TOP_BORDER_Y): Likewise.
49027 (draw_border): Replaced while-loop by a for-loop. Make the number
49028 of lines consistent with the number of lines displayed in
49029 print_entries. Added a margin below the rectangle.
49030 (print_entry): Make the entry fit in the rectangle.
49031 (print_entries): Display the scroll arrows next to the right
49032 border.
49033
78026bce 490342005-01-21 Marco Gerards <metgerards@student.han.nl>
49035
49036 * fs/minix.c (grub_minix_find_file): Reserve more space for
49037 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
49038 `grub_strncpy' to copy `path' into it.
49039
67bbaf0f 490402005-01-21 Marco Gerards <metgerards@student.han.nl>
49041
49042 Add the loopback device, a device via which files can be accessed
49043 as devices.
f19dbdb7 49044
67bbaf0f 49045 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
49046 (pkgdata_MODULES): Add loopback.mod.
49047 (loopback_mod_SOURCES): New variable.
49048 (loopback_mod_CFLAGS): Likewise.
49049 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49050 `disk/loopback.c'.
49051 (pkgdata_MODULES): Add loopback.mod.
49052 (loopback_mod_SOURCES): New variable.
49053 (loopback_mod_CFLAGS): Likewise.
49054 * disk/loopback.c: new file.
49055 * include/grub/normal.h (grub_loop_init): New prototype.
49056 (grub_loop_fini): New prototype.
49057 * util/grub-emu.c (main): Initialize and de-initialize loopback
49058 support.
49059 * include/grub/disk.h (grub_disk_dev_id): Add
49060 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
49061
6f1c18bd 490622005-01-20 Hollis Blanchard <hollis@penguinppc.org>
49063
49064 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
49065 function.
49066 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
49067 (suspend_mod_SOURCES): New variable.
49068 (suspend_mod_CFLAGS): Likewise.
49069 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
49070 New prototype.
49071 * commands/ieee1275/suspend.c: New file.
49072
b38551da 490732005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49074
49075 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 49076 ((unused))' to `__attribute__ ((used))'.
b38551da 49077 (GRUB_MOD_FINI): Likewise.
49078 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
49079 * genmk.rb (PModule): Assign space to common symbols when linking
49080 modules.
49081
777aff39 490822005-01-20 Marco Gerards <metgerards@student.han.nl>
49083
49084 * include/grub/mm.h (grub_mm_init_region): Change the type of the
49085 `unsigned' arguments to `grub_size_t'.
49086 (grub_malloc): Likewise.
49087 (grub_realloc): Likewise.
49088 (grub_memalign): Likewise.
49089 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
49090 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
49091 * util/misc.c (grub_malloc): Likewise.
49092 (grub_realloc): Likewise.
49093 * kern/mm.c (get_header_from_pointer): Change the casts to
49094 `unsigned' into a cast to `grub_size_t'.
49095
49096 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
49097 point to `currnode' when `currnode' is changed.
49098
49099 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
49100 Schottelius <nico-linux@schottelius.org>.
49101
d0ff18e1 491022005-01-09 Hollis Blanchard <hollis@penguinppc.org>
49103
49104 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
49105 (note_path): Remove variable.
49106 (GRUB_IEEE1275_NOTE_NAME): New macro.
49107 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
49108 (grub_ieee1275_note_hdr): New structure.
49109 (grub_ieee1275_note_desc): Likewise.
49110 (grub_ieee1275_note): Likewise.
49111 (load_note): Remove `dir' argument. All callers updated. Remove
49112 `note_img' and `path'. Do not load a file from `note_path'.
49113 Initialize a struct grub_ieee1275_note and write that to `out'.
49114 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
49115
4ca7004c 491162005-01-05 Marco Gerards <metgerards@student.han.nl>
49117
49118 * util/misc.c (grub_util_read_image): Revert last change. It
49119 called `grub_util_read_at', which seeks from the beginning of the
49120 file.
49121
0b412211 491222005-01-04 Hollis Blanchard <hollis@penguinppc.org>
49123
49124 * TODO: Add note about endianness in grub-mkimage.
49125 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
49126 section.
49127 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
49128 (grub_mkimage_SOURCES): New target.
49129 * include/grub/kernel.h (grub_start_addr): Remove variable.
49130 (grub_end_addr): Likewise.
49131 (grub_total_module_size): Likewise.
49132 (grub_kernel_image_size): Likewise.
49133 (GRUB_MODULE_MAGIC): New constant.
49134 (grub_module_info): New structure.
49135 (grub_arch_modules_addr): New prototype.
49136 (grub_get_end_addr): Remove prototype.
49137 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
49138 * include/grub/powerpc/ieee1275/kernel.h: New file.
49139 * include/grub/util/misc.h (grub_util_get_fp_size): New
49140 prototype.
49141 (grub_util_read_at): Likewise.
49142 (grub_util_write_image_at): Likewise.
49143 * kern/main.c (grub_get_end_addr): Remove function.
49144 (grub_load_modules): Call grub_arch_modules_addr instead of using
49145 grub_end_addr. Look for a grub_module_info struct in memory. Use
49146 the grub_module_info fields instead of calling grub_get_end_addr
49147 as loop conditions. Move grub_add_unused_region code here.
49148 (grub_add_unused_region): Remove function.
49149 * kern/i386/pc/init.c: Include grub/cache.h.
49150 (grub_machine_init): Remove call to grub_get_end_addr. Remove
49151 one call to add_mem_region.
49152 (grub_arch_modules_addr): New function.
49153 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
49154 (grub_total_module_size): Likewise.
49155 Include grub/machine/kernel.h.
49156 (grub_arch_modules_addr): New function.
49157 * util/grub-emu.c (grub_end_addr): Remove variable.
49158 (grub_total_module_size): Likewise.
49159 (grub_arch_modules_addr): New function.
49160 * util/misc.c: Include unistd.h.
49161 (grub_util_get_fp_size): New function.
49162 (grub_util_read_at): Likewise.
49163 (grub_util_write_image_at): Likewise.
49164 (grub_util_read_image): Call grub_util_read_at.
49165 (grub_util_write_image): Call grub_util_write_image_at.
49166 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
49167 additional memory in kernel_img for a struct grub_module_info.
49168 Fill in that grub_module_info.
49169 * util/powerpc/ieee1275/grub-mkimage.c: New file.
49170
458786f8 491712005-01-03 Hollis Blanchard <hollis@penguinppc.org>
49172
49173 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
49174 New function.
49175 * include/grub/powerpc/ieee1275/ieee1275.h
49176 (grub_ieee1275_milliseconds): New prototype.
49177 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
49178 Change to 1000.
49179 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
49180 grub_ieee1275_milliseconds.
49181
ac507d1b 491822005-01-03 Hollis Blanchard <hollis@penguinppc.org>
49183
49184 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
49185 variable.
49186 (find_options): New function.
49187 (cmain): Call find_options.
49188 * include/grub/powerpc/ieee1275/ieee1275.h
49189 (grub_ieee1275_realmode): New extern variable.
49190 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
49191 grub_map if grub_ieee1275_realmode is false.
49192
6b8fd1c4 491932004-12-29 Marco Gerards <metgerards@student.han.nl>
49194
49195 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
49196 lines are inserted and make it work like readline. Reported by
49197 Vincent Pelletier <subdino2004@yahoo.fr>.
49198
8514a1e0 491992004-12-28 Marco Gerards <metgerards@student.han.nl>
49200
49201 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
49202
49203 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
49204 `kern/powerpc/cache.S'.
49205
924b6140 492062004-12-27 Marco Gerards <metgerards@student.han.nl>
49207
49208 * genmk.rb: Handle the `Program' class in the main loop. Written
49209 by Johan Rydberg <jrydberg@gnu.org>.
49210 (Program): New class.
49211 (programs): New variable.
49212 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
49213 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
49214 instead of "grub/kernel.h". Include <grub/machine/init.h>.
49215 (help_arch): Function removed.
49216 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
49217 `powerpc/libgcc.h' and `loader.h'.
49218 (pkgdata_PROGRAMS): New variable.
49219 (sbin_UTILITIES): Variable removed.
49220 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
49221 (grubof_SOURCES): Variable re-defined so it only includes the
49222 core functionality.
49223 (grubof_CFLAGS): Remove `-DGRUBOF'.
49224 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
49225 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
49226 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
49227 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
49228 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
49229 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
49230 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
49231 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
49232 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
49233 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
49234 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49235 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
49236 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
49237 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
49238 (pc_mod_CFLAGS): New variables.
49239 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
49240 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
49241 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
49242 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
49243 Moved from here...
49244 * include/grub/i386/pc/init.h (grub_os_area_addr)
49245 (rub_os_area_size): ... to here.
49246 * include/grub/powerpc/ieee1275/ieee1275.h
49247 (grub_ieee1275_entry_fn): Export symbol.
49248 * include/grub/powerpc/ieee1275/init.h: New file.
49249 * include/grub/powerpc/libgcc.h: Likewise.
49250 * include/grub/cache.h: Likewise.
49251 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
49252 <hollis@penguinppc.org>.
49253 * kern/dl.c: Include <grub/cache.h>.
49254 (grub_dl_flush_cache): New function.
49255 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
49256 for this module.
49257 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
49258 (grub_console_init): Removed prototypes.
49259 (grub_machine_init): Don't initialize the modules anymore.
49260 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
49261 static.
49262 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
49263 Macro undef removed.
49264 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
49265 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
49266 relocation `R_PPC_REL32'. Return an error when the relocation is
49267 unknown.
49268 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
49269 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
49270 * util/misc.c (grub_arch_sync_caches): Likewise.
49271
e4b47e0c 492722004-12-19 Marco Gerards <metgerards@student.han.nl>
49273
49274 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
49275 `symlist.c', add `grubof_symlist.c'.
49276 (symlist.c): Variable removed.
49277 (grubof_HEADERS): Variable added.
49278 (grubof_symlist.c): New target.
49279 (kernel_syms.lst): Use `grubof_HEADERS' instead of
49280 `kernel_img_HEADERS'.
49281 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
49282 * kern/powerpc/dl.c: New file.
49283 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
49284 Function removed.
49285 (grub_arch_dl_relocate_symbols): Likewise.
49286 (grub_register_exported_symbols): Likewise.
49287
4ceb3636 492882004-12-13 Marco Gerards <metgerards@student.han.nl>
49289
49290 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
49291 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
49292 to fail instead. Reported by Vincent Pelletier
49293 <subdino2004@yahoo.fr>.
49294
49295 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
49296 it is not allocated. Reported by Vincent Pelletier
49297 <subdino2004@yahoo.fr>.
49298
49299 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
49300 output so the output looks better.
f19dbdb7 49301
3f1578fe 493022004-12-04 Marco Gerards <metgerards@student.han.nl>
49303
49304 Modulize the partition map support and add support for the amiga
49305 partition map.
f19dbdb7 49306
3f1578fe 49307 * commands/ls.c: Include <grub/partition.h> instead of
49308 <grub/machine/partition.h>.
49309 * kern/disk.c: Likewise.
49310 * kern/rescue.c: Likewise.
49311 * loader/i386/pc/chainloader.c: Likewise.
49312 * normal/cmdline.c: Likewise.
49313 * kern/powerpc/ieee1275/init.c: Likewise.
49314 (grub_machine_init): Call `grub_pc_partition_map_init',
49315 `grub_amiga_partition_map_init' and
49316 `grub_apple_partition_map_init'.
49317 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
49318 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
49319 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
49320 `partition.h' and `pc_partition.h'.
49321 (grub_setup_SOURCES): Remove
49322 `disk/i386/pc/partition.c'. Add `kern/partition.c',
49323 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
49324 (grub_emu_SOURCES): Likewise.
49325 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
49326 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
49327 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
49328 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
49329 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
49330 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
49331 (grubof_SOURCES): Likewise.
49332 * disk/i386/pc/partition.c: File removed.
49333 * disk/powerpc/ieee1275/partition.c: Likewise.
49334 * include/grub/powerpc/ieee1275/partition.h: Likewise.
49335 * include/grub/i386/pc/partition.h: Likewise.
49336 * kern/partition.c: New file.
49337 * partmap/amiga.c: Likewise.
49338 * partmap/apple.c: Likewise.
49339 * partmap/pc.c: Likewise.
49340 * include/grub/partition.h: Likewise..
49341 * include/grub/pc_partition.h: Likewise.
49342 * util/grub-emu.c: Include <grub/partition.h> instead of
49343 <grub/machine/partition.h>.
49344 (main): Call `grub_pc_partition_map_init',
49345 `grub_amiga_partition_map_init' and
49346 `grub_apple_partition_map_init' and deinitialize afterwards.
49347 * util/i386/pc/biosdisk.c: Include `#include
49348 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
49349 `<grub/machine/partition.h>'.
49350 * util/i386/pc/grub-setup.c: Likewise.
49351 * util/i386/pc/biosdisk.c: Likewise.
49352 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
49353 partition information in case of a PC partition.
49354 * util/i386/pc/grub-setup.c: Include `#include
49355 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
49356 `<grub/machine/partition.h>'.
49357 (setup): Only access the PC specific partition information in case
49358 of a PC partition.
49359
0ef4ced9 493602004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 49361
0ef4ced9 49362 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
49363 (grub_longjmp): Likewise.
49364 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
49365 20.
49366 * normal/powerpc/setjmp.S: New file.
49367 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
49368 `normal/powerpc/setjmp.S'.
49369 (grubof_CFLAGS): Add `-DGRUBOF'.
49370 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
49371 [GRUB_UTIL && !GRUBOF].
f19dbdb7 49372
19950e29 493732004-11-16 Marco Gerards <metgerards@student.han.nl>
49374
49375 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
49376 property named `name'. Correctly handle the error returned by
49377 `grub_ieee1275_finddevice' if a device can not be opened.
49378
a2fea427 493792004-11-02 Hollis Blanchard <hollis@penguinppc.org>
49380
49381 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
49382 `actual' for negativity.
49383 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
49384 kern/fshelp.c.
49385
41ea0ea3 493862004-11-01 Marco Gerards <metgerards@student.han.nl>
49387
49388 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
49389 (PAGE_OFFSET): New macro.
49390 (CRTC_ADDR_PORT): Likewise.
49391 (CRTC_DATA_PORT): Likewise.
49392 (START_ADDR_HIGH_REGISTER): Likewise.
49393 (START_ADDR_LOW_REGISTER): Likewise.
49394 (GRAPHICS_ADDR_PORT): Likewise.
49395 (GRAPHICS_DATA_PORT): Likewise.
49396 (READ_MAP_REGISTER): Likewise.
49397 (INPUT_STATUS1_REGISTER): Likewise.
49398 (INPUT_STATUS1_VERTR_BIT): Likewise.
49399 (page): New variable.
49400 (wait_vretrace): New function.
49401 (set_read_map): Likewise.
49402 (set_start_address): Likewise.
49403 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
49404 the right page.
49405 (check_vga_mem): Take the page into account.
49406 (write_char): Likewise.
49407 (write_cursor): Likewise.
49408 (scroll_up): Likewise. Copy the page to the page that is not
49409 shown and switch between both pages.
49410 (grub_vga_putchar): Fix off by one error.
49411 (grub_vga_cls): Wait for the vertical retrace. Take the page into
49412 account.
49413
ad0bd20b 494142004-11-01 Marco Gerards <metgerards@student.han.nl>
49415
49416 Add support for iso9660 (including rockridge).
f19dbdb7 49417
ad0bd20b 49418 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
49419 (iso9660_mod_SOURCES): New variable.
49420 (iso9660_mod_CFLAGS): Likewise.
49421 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
49422 * include/grub/fs.h (grub_iso9660_init): New prototype.
49423 * util/grub-emu.c (main): Call `grub_iso9660_init'.
49424 * fs/iso9660.c: New file.
49425
49426 * include/grub/misc.h (grub_strncat): New prototype.
49427 * kern/misc.c (grub_strncat): New function.
f19dbdb7 49428
ad0bd20b 49429 * fs/hfs.c (grub_hfs_mount): Translate the error
49430 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
49431 * fs/jfs.c (grub_jfs_mount): Likewise.
49432 * fs/ufs.c (grub_ufs_mount): Likewise.
49433
a5477a59 494342004-10-28 Hollis Blanchard <hollis@penguinppc.org>
49435
49436 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
49437 which initialized BAT registers.
49438 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
49439 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
49440 Move from here...
49441 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
49442 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
49443 ... to here.
49444 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
49445 (grub_mapclaim): Likewise.
49446 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
49447 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
49448 hand.
49449
9304c1f8 494502004-10-19 Hollis Blanchard <hollis@penguinppc.org>
49451
49452 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
49453 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
49454 -ffreestanding and -msoft-float.
49455
86f4ae25 494562004-10-15 Hollis Blanchard <hollis@penguinppc.org>
49457
49458 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
49459 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
49460 set in grub_ieee1275_flags.
49461
38912228 494622004-10-14 Hollis Blanchard <hollis@penguinppc.org>
49463
49464 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
49465 prototype.
49466 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
49467 grub_console_init first.
49468 Change the memory range used for grub_ieee1275_claim and
49469 grub_mm_init_region.
49470 Print an error message if the claim fails.
49471 Include <grub/misc.h>.
49472
d1923dc8 494732004-10-13 Hollis Blanchard <hollis@penguinppc.org>
49474
49475 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
49476 Call grub_children_iterate for device nodes of type `scsi',
49477 `ide', or `ata'.
49478 (grub_ofdisk_open): Remove manual device alias resolution.
49479 Fix memory leak when device cannot be opened.
f19dbdb7 49480 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 49481 (grub_children_iterate): New prototype.
49482 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
49483 New function.
49484 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
49485 Return -1 if args.size was -1.
49486
4512e4f3 494872004-10-11 Hollis Blanchard <hollis@penguinppc.org>
49488
49489 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
49490 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
49491 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
49492 Open Firmware's memory for it; claim memory from _start to _end.
49493 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
49494 (_end): New extern.
49495 (_start): Zero BSS from __bss_start to _end.
49496 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
49497 New extern.
49498 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
49499
4d61feb0 495002004-10-11 Hollis Blanchard <hollis@penguinppc.org>
49501
ad0bd20b 49502 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
49503 -1 if args.base was -1.
4d61feb0 49504
026fa2f9 495052004-10-08 Hollis Blanchard <hollis@penguinppc.org>
49506
49507 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
49508 escape sequence instead of a literal ^L. Also call
49509 grub_ofconsole_gotoxy.
49510
9f2220ef 495112004-10-03 Hollis Blanchard <hollis@penguinppc.org>
49512
49513 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
49514 void * arguments to grub_addr_t. All callers updated. Also make
49515 the `result' argument optional.
49516 (grub_ieee1275_release): change void * arguments to grub_addr_t.
49517 All callers updated.
49518
8a572cd7 495192004-09-22 Hollis Blanchard <hollis@penguinppc.org>
49520
49521 * commands/ls.c (grub_ls_list_files): Use the string following the
49522 initial ')', if present, as the filesystem path.
49523 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
49524
49525 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
49526
18aa81f2 495272004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
49528
49529 Make the source code of the menu interface more readable.
f19dbdb7 49530
18aa81f2 49531 * normal/menu.c: Include grub/mm.h.
49532 (TERM_WIDTH): New macro.
49533 (TERM_HEIGHT): Likewise.
49534 (TERM_INFO_HEIGHT): Likewise.
49535 (TERM_MARGIN): Likewise.
49536 (TERM_SCROLL_WIDTH): Likewise.
49537 (TERM_TOP_BORDER_Y): Likewise.
49538 (TERM_LEFT_BORDER_X): Likewise.
49539 (TERM_BORDER_WIDTH): Likewise.
49540 (TERM_MESSAGE_HEIGHT): Likewise.
49541 (TERM_BORDER_HEIGHT): Likewise.
49542 (TERM_NUM_ENTRIES): Likewise.
49543 (TERM_FIRST_ENTRY_Y): Likewise.
49544 (TERM_ENTRY_WIDTH): Likewise.
49545 (TERM_CURSOR_X): Likewise.
49546 (draw_border): Use macros instead of magic numbers.
49547 (print_entry): Likewise.
49548 (print_entries): Likewise.
49549 (run_menu): Likewise. Also, handle the key 'e'.
49550 (run_menu_entry): Ignore empty command lines.
49551 (print_message): Added a new argument EDIT. If EDIT is true,
49552 print a different message.
49553 (init_page): Likewise.
49554 (edit_menu_entry): New function. Not implemented yet.
49555
b47efe30 495562004-09-17 Marco Gerards <metgerards@student.han.nl>
49557
49558 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
49559 can be loaded from normal mode.
f19dbdb7 49560
b47efe30 49561 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
49562 `multiboot.mod'.
49563 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
49564 (multiboot_mod_CFLAGS): New variables.
49565 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 49566 * loader/i386/pc/multiboot_normal.c: Likewise.
49567
b47efe30 49568 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
49569 attribute `unused'.
f19dbdb7 49570
b47efe30 49571 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
49572 `fdiro' to read the mode information from instead of `diro'.
49573
49574 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
49575 looking up a symlink.
49576
49577 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
49578 macro.
49579 * normal/command.c (grub_command_execute): Don't parse the
49580 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
49581 flags of the command.
49582
49583 * normal/menu.c (grub_menu_run): Fix typo.
49584
da75ac71 495852004-09-14 Hollis Blanchard <hollis@penguinppc.org>
49586
49587 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
49588
49589 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
49590 `y + 1' instead of `y - 1'.
49591
49592 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 49593
062b24c2 495942004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
49595
49596 From Hollis Blanchard <hollis@penguinppc.org>:
49597 * kern/misc.c (memmove): New alias for grub_memmove.
49598 (memcmp): New alias for grub_memcmp.
49599 (memset): New alias for grub_memset.
f19dbdb7 49600 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 49601 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 49602 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 49603 (grub_ieee1275_get_property): Likewise.
f19dbdb7 49604
8ddad845 496052004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
49606
49607 Added normal mode command `chainloader' as module chain.mod, which
49608 depends on normal.mod and _chain.mod.
f19dbdb7 49609
8ddad845 49610 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
49611 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
49612 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
49613 Deleted prototype.
49614 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
49615 but arguments parsing moved to ...
49616 (grub_chainloader_cmd): ... here. New function.
49617 * include/grub/i386/pc/chainloader.h: New file.
49618 * loader/i386/pc/chainloader_normal.c: Likewise.
49619
2c1f4ce3 496202004-09-11 Marco Gerards <metgerards@student.han.nl>
49621
49622 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
49623 (grub_mkimage_LDFLAGS): Likewise.
49624 (grub_emu_SOURCES): Likewise.
49625 (kernel_img_HEADERS): Added fshelp.h.
49626 * fs/ext2.c: Include <grub/fshelp.h>.
49627 (FILETYPE_REG): New macro.
49628 (FILETYPE_INO_REG): Likewise.
49629 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
49630 Changed all users.
49631 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
49632 all users.
49633 (grub_fshelp_node): New struct.
49634 (grub_ext2_data): Added member `diropen'. Changed member `inode'
49635 to a pointer.
49636 (grub_ext2_get_file_block): Removed function.
49637 (grub_ext2_read_block): New function.
49638 (grub_ext2_read_file): Replaced parameter `data' by `node'.
49639 This function was written.
49640 (grub_ext2_mount): Read the root inode. Create a diropen struct.
49641 (grub_ext2_find_file): Removed function.
49642 (grub_ext2_read_symlink): New function.
49643 (grub_ext2_iterate_dir): Likewise.
49644 (grub_ext2_open): Rewritten.
49645 (grub_ext2_dir): Rewritten.
49646 * include/grub/fshelp.h: New file.
49647 * fs/fshelp.c: Likewise.
49648
3c52136a 496492004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
49650
49651 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
49652 (print_message): Add a missing newline.
49653 (run_menu): Added timeout support.
49654 (run_menu_entry): New local function.
49655 (grub_menu_run): Added support for booting.
49656
49657 * kern/loader.c (grub_loader_is_loaded): New function.
49658
49659 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
49660 (grub_get_rtc): Exported.
49661
49662 * include/grub/i386/pc/time.h: Include grub/symbol.h.
49663 (grub_get_rtc): Exported.
49664
49665 * include/grub/normal.h (struct grub_command_list): Remove
49666 constant from the member `command'.
49667
49668 * include/grub/loader.h (grub_loader_is_loaded): Declared.
49669
49670 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
49671
49672 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
49673
aa033560 496742004-08-28 Marco Gerards <metgerards@student.han.nl>
49675
49676 Add support for the JFS filesystem.
49677
49678 * fs/jfs.c: New file.
49679 * include/grub/fs.h (grub_jfs_init): New prototype.
49680 (grub_jfs_fini): New prototype.
49681 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
49682 (grub_emu_SOURCES): Likewise.
49683 (pkgdata_MODULES): Add jfs.mod.
49684 (jfs_mod_SOURCES): New variable.
49685 (jfs_mod_CFLAGS): Likewise.
49686 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
49687 (grubof_SOURCES): Likewise.
49688 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
49689
49690 * fs/fat.c (grub_fat_find_dir): Convert the filename little
49691 endian to the host endian.
49692 (grub_fat_utf16_to_utf8): Move function from there...
49693 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 49694 the endianness of the source string anymore.
aa033560 49695 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
49696
94bc45af 496972004-08-24 Marco Gerards <metgerards@student.han.nl>
49698
49699 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
49700 (grub_boot_fini) [GRUB_UTIL]: Likewise.
49701 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
49702 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 49703
94bc45af 49704 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
49705 (grub_hfs_iterate_dir): Make the function static. Add prototypes
49706 for `node_found' and `it_dir'.
49707 (grub_hfs_dir): Add prototype for `dir_hook'.
49708
49709 * fs/minix.c (grub_minix_get_file_block): Add prototype for
49710 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
49711 and `indir32' to silence a gcc warning.
49712
49713 * include/grub/fs.h (grub_hfs_init): New prototype.
49714 (grub_hfs_fini): Likewise.
f19dbdb7 49715
49716
97543f08 497172004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
49718
49719 Each disk device has its own id now. This is useful to make use
49720 of multiple disk devices.
f19dbdb7 49721
97543f08 49722 * include/grub/disk.h (grub_disk_dev_id): New enum.
49723 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
49724 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
49725
49726 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
49727 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
49728
49729 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
49730 GRUB_DISK_DEVICE_OFDISK_ID as an id.
49731
49732 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
49733 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
49734
49735 * include/grub/disk.h (struct grub_disk_dev): Added a new member
49736 "id" which is used by the cache manager.
49737
49738 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
49739 of just "GRUB".
49740
64372eb4 497412004-08-18 Marco Gerards <metgerards@student.han.nl>
49742
49743 * fs/hfs.c: New file.
49744 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
49745 (grub_emu_SOURCES): Likewise.
49746 (pkgdata_MODULES): Add hfs.mod.
49747 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
49748 (grubof_SOURCES): Likewise.
49749 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
49750
49751 * include/grub/misc.h (grub_strncasecmp): Add prototype.
49752 * kern/misc.c (grub_strncasecmp): Add function.
49753
cc61b58f 497542004-08-14 Marco Gerards <metgerards@student.han.nl>
49755
49756 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
49757 with parentheses.
49758
49759 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
49760 (grub_ext2_dir): In case the directory entry type is unknown, read
49761 it from the inode.
49762
0ef123f6 497632004-08-02 Peter Bruin <pjbruin@dds.nl>
49764
49765 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
49766 grub_load_linux instead of grub_rescue_cmd_linux as second
49767 argument of grub_rescue_register_command.
49768
49769 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
49770
a447c5df 497712004-07-27 Marco Gerards <metgerards@student.han.nl>
49772
49773 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
49774 function.
49775 * commands/boot.c: Remove the check for `GRUB_UTIL'.
49776 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
49777 `loader/powerpc/ieee1275/linux.c',
49778 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
49779 * include/grub/powerpc/ieee1275/ieee1275.h
49780 (grub_ieee1275_release): New prototype.
49781 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
49782 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
49783 normal, boot, linux and linux_normal.
49784 * loader/powerpc/ieee1275/linux.c: New file.
49785 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
49786
5a9e3546 497872004-07-12 Marco Gerards <metgerards@student.han.nl>
49788
49789 * normal/arg.c (grub_arg_parse): Correct error handling after
49790 reallocating the argumentlist (check if `argl' is not null instead
49791 of checking if `args' is not null).
49792 * kern/mm.c (grub_realloc): Return the same pointer when using the
49793 same region, instead of returning the header address.
49794
e15199cb 497952004-07-11 Marco Gerards <metgerards@student.han.nl>
49796
49797 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
49798 one block instead of two when looking for the initial partition.
49799 (grub_partition_probe): Initialize the local variable `p' with 0.
49800 Use base 10 for the grub_strtoul call.
49801 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
49802 need for one local variable.
49803 (grub_strtoul): Don't add the new value to `num', instead of that
49804 just assign it.
49805
020616c2 498062004-07-11 Marco Gerards <metgerards@student.han.nl>
49807
49808 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
49809 (pxeboot_img_SOURCES): New variable.
49810 (pxeboot_img_ASFLAGS): Likewise.
49811 (pxeboot_img_LDFLAGS): Likewise.
49812 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
49813 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
49814 <lode_leroy@hotmail.com>.
49815
6c51eb64 498162004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49817
49818 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
49819 there was no input.
49820
cfb12aff 498212004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49822
49823 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
49824 the history buffer logic.
49825
6eabba74 498262004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49827
49828 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
49829 (FILETYPE_INO_SYMLINK): New macros.
49830 (grub_ext2_find_file): Check if the node is a directory using the
49831 inode stat information instead of using the filetype in the
49832 dirent. Exclude the first character of an absolute symlink.
49833 (grub_ext2_dir): Mask out the filetype part of the mode member of
49834 the inode.
49835
66e19ef8 498362004-05-24 Marco Gerards <metgerards@student.han.nl>
49837
49838 Add support for UFS version 1 and 2. Add support for the minix
49839 filesystem version 1 and 2, both the variants with 14 and 30 long
49840 filenames.
f19dbdb7 49841
66e19ef8 49842 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
49843 fs/minix.c.
49844 (grub_emu_SOURCES): Likewise.
49845 (pkgdata_MODULES): Add ufs.mod and minix.mod.
49846 (ufs_mod_SOURCES): New variable.
49847 (ufs_mod_CFLAGS): Likewise.
49848 (minix_mod_SOURCES): Likewise.
49849 (minix_mod_CFLAGS): Likewise.
49850 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
49851 fs/minix.c.
49852 (grubof_SOURCES): Likewise.
49853 * fs/ufs.c: New file.
49854 * fs/minix.c: New file.
49855 * include/grub/fs.h (grub_ufs_init): New prototype.
49856 (grub_ufs_fini): Likewise.
49857 (grub_minix_init): Likewise.
49858 (grub_minix_fini): Likewise.
49859 * util/grub-emu.c (main): Initialize and deinitialize UFS and
49860 minix fs.
49861
cc2e748a 498622004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
49863
49864 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
49865 commands/ls.c, commands/terminal.c, commands/boot.c,
49866 commands/cmp.c and commands/cat.c.
49867 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
49868
49869 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
49870 "env.h"
49871
4b13b216 498722004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
49873
49874 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
49875 and grub_, respectively. Because the conversion is trivial and
49876 mechanical, I omit the details here. Please refer to the CVS
49877 if you need more information.
49878
6a142551 498792004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
49880
49881 * include/pupa: Renamed to ...
49882 * include/grub: ... this.
49883 * util/i386/pc/pupa-mkimage.c: Renamed to ...
49884 * util/i386/pc/grub-mkimage.c: ... this.
49885 * util/i386/pc/pupa-setup.c: Renamed to ...
49886 * util/i386/pc/grub-setup.c: ... this.
49887 * util/pupa-emu.c: Renamed to ...
49888 * util/grub-emu.c: ... this.
49889
e56cdf21 498902004-03-29 Marco Gerards <metgerards@student.han.nl>
49891
49892 Add support for the newworld apple macintosh (PPC). This has been
49893 tested on the powerbook 2000 only. It only adds support for
49894 generic ieee1275 functions, console and disk support. This should
49895 be easy to port to other architectures with support for Open
49896 Firmware.
f19dbdb7 49897
e56cdf21 49898 * configure.ac: Accept the powerpc as host_cpu. In the case of
49899 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
49900 specific tests are only executed while building for the i386.
49901 Inverse test for crosscompile.
49902 * genmk.rb (Utility): Allow assembler files.
49903 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
49904 * conf/powerpc-ieee1275.rmk: New file.
49905 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
49906 * disk/powerpc/ieee1275/partition.c: Likewise.
49907 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
49908 * include/pupa/powerpc/ieee1275/console.h: Likewise.
49909 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
49910 * include/pupa/powerpc/ieee1275/time.h: Likewise.
49911 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
49912 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
49913 * include/pupa/powerpc/ieee1275/loader.h
49914 * include/pupa/powerpc/setjmp.h: Likewise.
49915 * include/pupa/powerpc/types.h: Likewise.
49916 * kern/powerpc/ieee1275/init.c: Likewise.
49917 * kern/powerpc/ieee1275/openfw.c: Likewise.
49918 * term/powerpc/ieee1275/ofconsole.c: Likewise.
49919
49920 These files were written by Johan Rydberg
49921 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 49922
e56cdf21 49923 * boot/powerpc/ieee1275/cmain.c: New file.
49924 * boot/powerpc/ieee1275/crt0.S: Likewise.
49925 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
49926 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
49927
8c8cc205 499282004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
49929
49930 * Makefile.in: Update copyright.
49931 * genmodsrc.sh: Likewise.
49932 * gensymlist.sh: Likewise.
49933 * term/i386/pc/vga.c: Indent correctly.
49934
49935 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
49936 bugreporting address.
49937 * util/i386/pc/pupa-setup.c (usage): Likewise,
49938 (main): Call pupa_ext2_init and pupa_ext2_fini.
49939
f19dbdb7 49940 * fs/fat.c (log2): Renamed to ...
8c8cc205 49941 (fat_log2): ... this.
49942 All callers changed.
49943 * kern/misc.c (memcpy): Alias to pupa_memmove.
49944 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
49945 lvalue cast.
49946 * util/console.c (pupa_ncurses_fini): Return 0.
49947
49948 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
49949 Move fail label here.
49950 [__GNU__]: Don't warn when using stat.
49951 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
49952 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
49953 long int. Use strtol instead of strtoul.
f19dbdb7 49954
db1771cf 499552004-03-14 Marco Gerards <metgerards@student.han.nl>
49956
49957 * commands/boot.c: New file.
49958 * commands/cat.c: Likewise.
49959 * commands/cmp.c: Likewise.
49960 * commands/ls.c: Likewise.
49961 * commands/terminal.c: Likewise.
49962 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
49963 (pupa_register_command): Changed interface to match the new
49964 argument parser.
49965 (pupa_command_execute): Changed (almost rewritten) so it uses
49966 pupa_split_command. Added support for setting variables using the
49967 syntax `foo=bar'.
49968 (rescue_command): Changed to work with the new argument parser.
49969 (terminal_command): Moved from here to commands/terminal.c.
49970 (set_command): New function.
49971 (unset_command): New function.
49972 (insmod_command): New function.
49973 (rmmod_command): New function.
49974 (lsmod_command): New function.
49975 (pupa_command_init): Don't initialize the command terminal
49976 anymore. Initialize the commands set, unset, insmod, rmmod and
49977 lsmod.
49978 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
49979 (kernel_img_HEADERS): Add arg.h and env.h.
49980 (pupa_mkimage_LDFLAGS): Add kern/env.c.
49981 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
49982 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
49983 normal/arg.c.
49984 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
49985 terminal.mod.
49986 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
49987 (boot_mod_SOURCES): New variable.
49988 (terminal_mod_SOURCES): Likewise.
49989 (ls_mod_SOURCES): Likewise.
49990 (cmp_mod_SOURCES): Likewise.
49991 (cat_mod_SOURCES): Likewise.
49992
49993 * normal/arg.c: New file.
49994 * kern/env.c: Likewise.
49995 * include/pupa/arg.h: Likewise.
49996 * include/pupa/env.h: Likewise.
49997 * font/manager.c (font_command): Changed to match argument parsing
49998 interface changes.
49999 (PUPA_MOD_INIT): Likewise.
50000 * hello/hello.c (pupa_cmd_hello): Likewise.
50001 (PUPA_MOD_INIT): Likewise.
50002 * include/pupa/disk.h: Include <pupa/device.h>.
50003 (pupa_print_partinfo): New prototype.
50004 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
50005 (pupa_dl_get_prefix): Likewise.
50006 * include/pupa/misc.h: Include <pupa/err.h>.
50007 (pupa_isgraph): New prototype.
50008 (pupa_isdigit): Likewise.
50009 (pupa_split_cmdline): Likewise.
50010 * include/pupa/normal.h: Include <pupa/arg.h>.
50011 (pupa_command): Changed the prototype of the member `func' to
50012 match the argument parsing interface. Added member `options'.
50013 (pupa_register_command): Updated to match function.
50014 (pupa_arg_parse): New prototype.
50015 (pupa_hello_init) [PUPA_UTIL]: New prototype.
50016 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
50017 (pupa_ls_init) [PUPA_UTIL]: Likewise.
50018 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
50019 (pupa_cat_init) [PUPA_UTIL]: Likewise.
50020 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
50021 (pupa_boot_init) [PUPA_UTIL]: Likewise.
50022 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
50023 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
50024 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
50025 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
50026 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
50027 * kern/disk.c: Include <pupa/file.h>.
50028 (pupa_print_partinfo): New function.
50029 * kern/dl.c: Include <pupa/env.h>.
50030 (pupa_dl_dir): Variable removed.
50031 (pupa_dl_load): Use the environment variable `prefix' instead of
50032 the variable pupa_dl_dir.
50033 (pupa_dl_set_prefix): Function removed.
50034 (pupa_dl_get_prefix): Likewise.
50035 * kern/i386/pc/init.c: Include <pupa/env.h>.
50036 (pupa_machine_init): Use the environment variable `prefix' instead of
50037 using pupa_dl_set_prefix to set the prefix.
50038 * kern/main.c: Include <pupa/env.h>.
50039 (pupa_set_root_dev): Use the environment variable `prefix' instead of
50040 using pupa_dl_get_prefix to get the prefix.
50041 * kern/misc.c: Include <pupa/env.h>.
50042 (pupa_isdigit): New function.
50043 (pupa_isgraph): Likewise.
50044 (pupa_ftoa): Likewise.
50045 (pupa_vsprintf): Added support for printing values of the type
50046 `double'. Make it possible to format variable output when using
50047 formatting like `%1.2%f'.
50048 (pupa_split_cmdline): New function.
50049 * kern/rescue.c: Include <pupa/env.h>.
50050 (next_word): Removed function.
50051 (pupa_rescue_cmd_prefix): Likewise.
50052 (pupa_rescue_cmd_set): New function.
50053 (pupa_rescue_cmd_unset): New function.
50054 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
50055 split the command line instead of splitting it here. Added
50056 support for setting variables using the syntax `foo=bar'. Don't
50057 initialize the prefix command anymore. Initialized the set and
50058 unset commands.
50059 * normal/cmdline.c: Include <pupa/env.h>.
50060 (pupa_tab_complete): Added prototypes for print_simple_completion,
50061 print_partition_completion, add_completion, iterate_commands,
50062 iterate_dev, iterate_part and iterate_dir. Moved code to print
50063 partition information from here to kern/disk.c.
fe6b695a 50064 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 50065 * normal/main.c: Include <pupa/env.h>.
50066 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
50067 instead of using pupa_dl_get_prefix to get the prefix.
50068 * term/i386/pc/vga.c: Include <pupa/arg.h>.
50069 (check_vga_mem): Cast pointers to `void *' to silence a gcc
50070 warning.
50071 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
50072 (pupa_vga_setcolor): Declare unused variables with `__attribute__
50073 ((unused))' to silence a gcc warning.
50074 (pupa_vga_setcolor): Likewise.
50075 (debug_command): Changed to match argument parsing
50076 interface changes.
50077 * util/pupa-emu.c: Include <pupa/env.h>.
50078 (options): Added 0's for unused fields to silence a gcc warning.
50079 (argp): Likewise.
50080 (main): Use the environment variable `prefix' instead of using
50081 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
50082 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
50083 and terminal.
50084
50085 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
50086 * util/misc.c: Include <malloc.h>.
50087 (pupa_malloc): Rewritten so errors are correctly reported.
50088 (pupa_realloc): Likewise.
50089 (pupa_memalign): Likewise.
50090 (pupa_mm_init_region): Declare unused variables with
50091 `__attribute__ ((unused))' to silence a gcc warning.
50092 * normal/i386/setjmp.S: Remove tab at the end of the file to
50093 silence a gcc warning.
50094 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
50095 variables with `__attribute__ ((unused))' to silence a gcc
50096 warning.
50097 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
50098 local variable i unsigned to silence a gcc warning.
50099
50100 * kern/term.c: Include <pupa/misc.h>.
50101 (pupa_more_lines): New variable.
50102 (pupa_more): Likewise.
50103 (pupa_putcode): When the pager is active pause at the end of every
50104 screen.
50105 (pupa_set_more): New function.
50106 * include/pupa/term.h (pupa_set_more): New prototype.
50107
50108
3b1139cb 501092004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
50110
50111 Now this project is GRUB 2 rather than PUPA. The location of
50112 the CVS repository was moved to GRUB's.
f19dbdb7 50113
3b1139cb 50114 * configure.ac: Use bug-grub as the reporting address.
50115 Use GRUB instead of PUPA.
50116 Change the version number to 1.90.
50117
8367695c 501182004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
50119
50120 * genkernsyms.sh: Updated copyright information.
50121 * genmk.rb: Likewise.
50122 * genmodsrc.sh: Likewise.
50123 * gensymlist.sh: Likewise.
50124 * boot/i386/pc/boot.S: Likewise.
50125 * boot/i386/pc/diskboot.S: Likewise.
50126 * disk/i386/pc/biosdisk.c: Likewise.
50127 * disk/i386/pc/partition.c: Likewise.
50128 * font/manager.c: Likewise.
50129 * fs/ext2.c: Likewise.
50130 * fs/fat.c: Likewise.
50131 * include/pupa/boot.h: Likewise.
50132 * include/pupa/device.h: Likewise.
50133 * include/pupa/disk.h: Likewise.
50134 * include/pupa/dl.h: Likewise.
50135 * include/pupa/elf.h: Likewise.
50136 * include/pupa/err.h: Likewise.
50137 * include/pupa/file.h: Likewise.
50138 * include/pupa/font.h: Likewise.
50139 * include/pupa/fs.h: Likewise.
50140 * include/pupa/kernel.h: Likewise.
50141 * include/pupa/loader.h: Likewise.
50142 * include/pupa/misc.h: Likewise.
50143 * include/pupa/mm.h: Likewise.
50144 * include/pupa/net.h: Likewise.
50145 * include/pupa/normal.h: Likewise.
50146 * include/pupa/rescue.h: Likewise.
50147 * include/pupa/setjmp.h: Likewise.
50148 * include/pupa/symbol.h: Likewise.
50149 * include/pupa/term.h: Likewise.
50150 * include/pupa/types.h: Likewise.
50151 * include/pupa/i386/setjmp.h: Likewise.
50152 * include/pupa/i386/types.h: Likewise.
50153 * include/pupa/i386/pc/biosdisk.h: Likewise.
50154 * include/pupa/i386/pc/boot.h: Likewise.
50155 * include/pupa/i386/pc/console.h: Likewise.
50156 * include/pupa/i386/pc/init.h: Likewise.
50157 * include/pupa/i386/pc/kernel.h: Likewise.
50158 * include/pupa/i386/pc/linux.h: Likewise.
50159 * include/pupa/i386/pc/loader.h: Likewise.
50160 * include/pupa/i386/pc/memory.h: Likewise.
50161 * include/pupa/i386/pc/multiboot.h: Likewise.
50162 * include/pupa/i386/pc/partition.h: Likewise.
50163 * include/pupa/i386/pc/time.h: Likewise.
50164 * include/pupa/i386/pc/vga.h: Likewise.
50165 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
50166 * include/pupa/util/getroot.h: Likewise.
50167 * include/pupa/util/misc.h: Likewise.
50168 * include/pupa/util/resolve.h: Likewise.
50169 * kern/device.c: Likewise.
50170 * kern/disk.c: Likewise.
50171 * kern/dl.c: Likewise.
50172 * kern/err.c: Likewise.
50173 * kern/file.c: Likewise.
50174 * kern/fs.c: Likewise.
50175 * kern/loader.c: Likewise.
50176 * kern/main.c: Likewise.
50177 * kern/misc.c: Likewise.
50178 * kern/mm.c: Likewise.
50179 * kern/rescue.c: Likewise.
50180 * kern/term.c: Likewise.
50181 * kern/i386/dl.c: Likewise.
50182 * kern/i386/pc/init.c: Likewise.
50183 * kern/i386/pc/lzo1x.S: Likewise.
50184 * kern/i386/pc/startup.S: Likewise.
50185 * loader/i386/pc/chainloader.c: Likewise.
50186 * loader/i386/pc/linux.c: Likewise.
50187 * loader/i386/pc/multiboot.c: Likewise.
50188 * normal/cmdline.c: Likewise.
50189 * normal/command.c: Likewise.
50190 * normal/main.c: Likewise.
50191 * normal/menu.c: Likewise.
50192 * normal/i386/setjmp.S: Likewise.
50193 * term/i386/pc/console.c: Likewise.
50194 * term/i386/pc/vga.c: Likewise.
50195 * util/console.c: Likewise.
50196 * util/genmoddep.c: Likewise.
50197 * util/misc.c: Likewise.
50198 * util/pupa-emu.c: Likewise.
50199 * util/resolve.c: Likewise.
50200 * util/unifont2pff.rb: Likewise.
50201 * util/i386/pc/biosdisk.c: Likewise.
50202 * util/i386/pc/getroot.c: Likewise.
50203 * util/i386/pc/pupa-mkimage.c: Likewise.
50204 * util/i386/pc/pupa-setup.c: Likewise.
50205
e6eced71 502062004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
50207
50208 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
50209 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
50210 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
50211 reading and reset it after reading.
50212 (pupa_ext2_close): Return PUPA_ERR_NONE.
50213
50214 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
50215 Correct value.
50216 (struct linux_kernel_header): Add kernel_version and
50217 initrd_addr_max.
50218 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
50219 pupa_file_read succeeds.
50220 (pupa_rescue_cmd_initrd): Implement.
50221
5aded270 502222003-12-03 Marco Gerards <metgerards@student.han.nl>
50223
50224 * fs/ext2.c (pupa_ext2_label): New function.
50225 (pupa_ext2_fs): Added label.
50226 * fs/fat.c (pupa_fat_label): New function.
50227 (pupa_fat_fs): Added label.
50228 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
50229
50230 * kern/misc.c (pupa_strndup): New function.
50231 * include/pupa/misc.h (pupa_strndup): New prototype.
50232
50233 * include/pupa/normal.h: Include <pupa/err.h>.
50234 (pupa_set_history): New prototype.
50235 (pupa_iterate_commands): New prototype.
50236 * normal/cmdline.c: Include <pupa/machine/partition.h>,
50237 <pupa/disk.h>, <pupa/file.h>.
50238 (hist_size): New variable.
50239 (hist_lines): Likewise.
50240 (hist_end): Likewise.
50241 (hist_used): Likewise.
50242 (pupa_set_history): New function.
50243 (pupa_history_get): Likewise.
50244 (pupa_history_add): Likewise.
50245 (pupa_history_replace): Likewise.
50246 (pupa_tab_complete): Likewise.
50247 (pupa_cmdline_run): Added tab completion and history buffer. Tab
50248 completion shows partitionnames while completing partitions, this
50249 feature was suggested by Jeff Bailey.
50250 * normal/command.c (pupa_iterate_commands): New function.
50251 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
50252 (pupa_normal_init): Initialize history buffer.
50253 (PUPA_MOD_INIT): Likewise.
50254 (pupa_normal_fini): Free the history buffer.
50255 (PUPA_MOD_FINI): Likewise.
50256
50257 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
50258 key.
50259
50260 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
50261 * configure.ac [i386]: Check for regparam bug.
50262 (NESTED_FUNC_ATTR) [! i386]: Defined.
50263
1f7315a3 502642003-11-17 Marco Gerards <metgerards@student.han.nl>
50265
50266 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
50267 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
50268 (pupa_emu_SOURCES): New variable.
50269 (pupa_emu_LDFLAGS): Likewise.
50270 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
50271 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
50272 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
50273 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
50274 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
50275 (pupa_jmp_buf): New typedef.
50276 (pupa_setjmp) [PUPA_UTIL]: New macro.
50277 (pupa_longjmp) [PUPA_UTIL]: Likewise.
50278 * include/pupa/term.h (struct pupa_term): New member `refresh'.
50279 (pupa_refresh): New prototype.
50280 * include/pupa/util/getroot.h: New file.
50281 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
50282 it.
50283 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
50284 (pupa_rescue_cmd_cat): Likewise.
50285 (pupa_rescue_cmd_ls): Likewise.
50286 (pupa_rescue_cmd_testload): Likewise.
50287 (pupa_rescue_cmd_lsmod): Likewise.
50288 * normal/cmdline.c (pupa_cmdline_get): Likewise.
50289 * normal/menu.c (run_menu): Likewise.
50290 * kern/term.c (pupa_cls): Likewise.
50291 (pupa_refresh): New function.
50292 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
50293 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
50294 * util/console.c: New file.
f19dbdb7 50295
1f7315a3 50296 * util/i386/pc/getroot.c: New file.
50297 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
50298 (pupa_putchar): New function.
50299 (pupa_refresh): Likewise.
50300 (xgetcwd): Function moved to ...
50301 (strip_extra_slashes): Likewise.
50302 (get_prefix): Likewise.
f19dbdb7 50303 * util/i386/pc/getroot.c: ... here.
1f7315a3 50304 (find_root_device): Function moved and renamed to...
50305 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
50306 Changed all callers.
50307 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
50308 and renamed to...
50309 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
50310 Changed all callers.
50311 * util/misc.c (pupa_memalign): New function.
50312 (pupa_mm_init_region): Likewise.
50313 (pupa_register_exported_symbols): Likewise.
50314 (pupa_putchar): Function removed.
50315 * util/pupa-emu.c: New file.
50316
9a5c1ade 503172003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
50318
50319 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
50320 (_multiboot_mod_SOURCES): New variable.
50321 (_multiboot_mod_CFLAGS): Likewise.
50322 * loader/i386/pc/multiboot.c: New file.
50323 * include/pupa/i386/pc/multiboot.h: Likewise.
50324 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
50325 (pupa_multiboot_real_boot): New function.
50326 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
50327 (pupa_multiboot_real_boot): New prototype.
50328 (pupa_rescue_cmd_multiboot): Likewise
50329 (pupa_rescue_cmd_module): Likewise.
50330
50331 * kern/loader.c (pupa_loader_set): Continue when
50332 pupa_loader_unload_func() fails.
50333 (pupa_loader_unset): New function.
50334 * include/pupa/loader.h (pupa_loader_unset): New prototype.
50335
50336 * kern/misc.c (pupa_stpcpy): New function.
50337 * include/pupa/misc.h (pupa_stpcpy): New prototype.
50338
8e72a9c0 503392003-11-12 Marco Gerards <metgerards@student.han.nl>
50340
50341 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
50342 for available extensions.
50343
50344 * include/pupa/i386/pc/time.h: New file.
50345 * kern/disk.c: Include <pupa/machine/time.h>.
50346 (PUPA_CACHE_TIMEOUT): New macro.
50347 (pupa_last_time): New variable.
50348 (pupa_disk_open): Flush the cache when there was a timeout.
50349 (pupa_disk_close): Reset the timer.
50350 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
50351 pupa_currticks.
50352 * util/misc.c: Include <sys/times.h>
50353 (pupa_get_rtc): New function.
50354
c4adbd32 503552003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
50356
50357 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
50358 as blocks.
50359 (pupa_ext2_get_file_block): Use blocks member.
50360
50361 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
50362 first block. Return -1 instead of pupa_errno on error.
50363
bfd30f06 503642003-10-27 Marco Gerards <metgerards@student.han.nl>
50365
50366 * README: In the pupa-mkimage example use _chain instead of chain
50367 and ext2 instead of fat.
50368 * TODO: Replace ext2fs with jfs as an example. Add an item for
50369 adding journal playback for ext2fs.
50370 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
50371 (pkgdata_MODULES): Added ext2.mod.
50372 (ext2_mod_SOURCES): New variable.
50373 (ext2_mod_CFLAGS): Likewise.
50374 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
50375 * include/pupa/misc.h (pupa_strncpy): New prototype.
50376 (pupa_strcat): Likewise.
50377 (pupa_strncmp): Likewise.
50378 * kern/misc.c (pupa_strcat): Enable function.
50379 (pupa_strncpy): New function.
50380 (pupa_strncmp): Likewise.
50381 * fs/ext2.c: New file.
f19dbdb7 50382
bfd30f06 50383 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
50384 when the read failed before retrying.
50385 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
50386 (_FILE_OFFSET_BITS): Likewise.
50387 * configure.ac: Added AC_SYS_LARGEFILE.
50388
98d15063 503892003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
50390
50391 * genmk.rb (PModule#rule): Make sure to get only symbol names
50392 from the output of nm.
59cad637 50393 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 50394
18d9c7cd 503952003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
50396
50397 I forgot to check in these changes for a long time. This adds
50398 incomplete support for VGA console, and this is still very
50399 buggy. Also, a lot of consideration is required for I18N,
50400 UNICODE, and VGA font issues. Therefore, assume that this is
50401 such that "better than nothing".
f19dbdb7 50402
18d9c7cd 50403 * font/manager.c: New file.
50404 * include/pupa/font.h: Likewise.
50405 * include/pupa/i386/pc/vga.h: Likewise.
50406 * term/i386/pc/vga.c: Likewise.
50407 * util/unifont2pff.rb: Likewise.
50408
50409 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
50410 (pkgdata_MODULES): Added vga.mod and font.mod.
50411 (vga_mod_SOURCES): New variables.
50412 (vga_mod_CFLAGS): Likewise.
50413 (font_mod_SOURCES): Likewise.
50414 (font_mod_CFLAGS): Likewise.
50415
50416 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
50417
50418 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 50419 (struct pupa_term): Added init and fini.
18d9c7cd 50420 Changed the argument of putchar to pupa_uint32_t.
50421
50422 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
50423 (pupa_console_real_putchar): New prototype.
50424 (pupa_console_putchar): Removed.
50425 (pupa_console_checkkey): Exported.
50426 (pupa_console_getkey): Likewise.
50427
50428 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
50429 characters.
50430
50431 * kern/term.c (pupa_term_set_current): Rewritten.
50432 (pupa_putchar): Likewise.
50433 (pupa_putcode): New function.
50434
50435 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
50436 (pupa_console_real_putchar): ... this.
50437 (pupa_vga_set_mode): New function.
50438 (pupa_vga_get_font): Likewise.
50439
50440 * normal/command.c: Include pupa/term.h.
50441 (terminal_command): New function.
50442 (pupa_command_init): Register the command "terminal".
50443
50444 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
50445 (DISP_UP): Likewise.
50446 (DISP_RIGHT): Likewise.
50447 (DISP_DOWN): Likewise.
50448 (DISP_HLINE): Likewise.
50449 (DISP_VLINE): Likewise.
50450 (DISP_UL): Likewise.
50451 (DISP_UR): Likewise.
50452 (DISP_LL): Likewise.
50453 (DISP_LR): Likewise.
50454
50455 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 50456
977329f5 504572003-02-08 NIIBE Yutaka <gniibe@m17n.org>
50458
50459 * util/resolve.c (pupa_util_resolve_dependencies): BUG
50460 FIX. Reverse the path_list.
50461
50462 * include/pupa/normal.h: Export pupa_register_command and
50463 pupa_unregister_command.
50464
50465 * hello/hello.c (pupa_cmd_hello): New module.
50466 * conf/i386-pc.rmk: Added hello.mod.
50467
1f5ab428 504682003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
50469
50470 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 50471
1f5ab428 50472 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
50473 (compress_kernel): New variable.
50474 (generate_image): Heavily modified to support compressing a
50475 large part of the core image.
50476
50477 * util/misc.c (pupa_util_read_image): Fix a file descriptor
50478 leak.
50479 (pupa_util_load_image): New function.
50480
50481 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
50482 (pupa_compressed_size): New variable.
50483 (codestart): Enable Gate A20 here.
50484 Decompress the compressed part of the core image.
50485 Rearrange the code to put functions and variables which are
50486 required for initialization in the non-compressed part.
50487 Include lzo1x.S.
50488
50489 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
50490 here.
50491
50492 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
50493
f19dbdb7 50494 * include/pupa/i386/pc/kernel.h
1f5ab428 50495 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
50496 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
50497 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
50498 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
50499 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
50500
50501 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
50502
50503 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
50504 (Utility#rule): Likewise.
50505
50506 * configure.ac: Check if LZO is available.
50507
ce5bf700 505082003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
50509
50510 * include/pupa/normal.h: New file.
50511 * include/pupa/setjmp.h: Likewise.
50512 * include/pupa/i386/setjmp.h: Likewise.
50513 * normal/cmdline.c: Likewise.
50514 * normal/command.c: Likewise.
50515 * normal/main.c: Likewise.
50516 * normal/menu.c: Likewise.
50517 * normal/i386/setjmp.S: Likewise.
f19dbdb7 50518
ce5bf700 50519 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
50520 (pupa_rescue_cmd_initrd): Likewise.
50521
50522 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
50523 Likewise.
50524
50525 * kern/i386/pc/startup.S (translation_table): New variable.
50526 (translate_keycode): New function.
50527 (pupa_console_getkey): Call translate_keycode.
50528
50529 * kern/rescue.c (attempt_normal_mode): New function.
50530 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
50531 it failed, print a message.
50532
50533 * kern/mm.c (pupa_real_malloc): Print more information when a
50534 free magic is broken.
50535 (pupa_free): If the first free header is not free actually, set
50536 it to P.
50537
50538 * kern/main.c (pupa_load_normal_mode): Just load the module
50539 "normal".
50540 (pupa_main): Don't print the message
50541 "Entering into rescue mode..." here.
50542
50543 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
50544 Declared.
50545 (pupa_rescue_cmd_initrd): Likewise.
50546 (pupa_rescue_cmd_initrd): Likewise.
50547
50548 * include/pupa/symbol.h (FUNCTION): Specify the type.
50549 (VARIABLE): Likewise.
50550
50551 * include/pupa/err.h (pupa_err_t): Added
50552 PUPA_ERR_UNKNOWN_COMMAND.
50553
50554 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
50555 (pupa_dl_get_prefix): Likewise.
50556
50557 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
50558 Added _chain.mod and _linux.mod instead of chain.mod and
50559 linux.mod.
50560 (chain_mod_SOURCES): Renamed to ...
50561 (_chain_mod_SOURCES): ... this.
50562 (chain_mod_CFLAGS): Renamed to ...
50563 (_chain_mod_CFLAGS): ... this.
50564 (linux_mod_SOURCES): Renamed to ...
50565 (_linux_mod_SOURCES): ... this.
50566 (linux_mod_CFLAGS): Renamed to ...
50567 (_linux_mod_CFLAGS): ... this.
50568 (normal_mod_SOURCES): New variable.
50569 (normal_mod_CFLAGS): Likewise.
50570 (normal_mod_ASFLAGS): Likewise.
50571
505722003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
50573
50574 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
50575 possible.
50576
fe6b695a 50577 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 50578 recursively.
50579 (pupa_dl_unref): Unrefer depending modules recursively.
50580 Don't call pupa_dl_unload implicitly, because PUPA can crash if
50581 a module is unloaded before one depending on that module is
50582 unloaded.
50583 (pupa_dl_unload): Unload depending modules explicitly,
50584 if possible.
50585
c04da074 505862003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
50587
50588 * include/pupa/i386/pc/linux.h: New file.
50589 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 50590
c04da074 50591 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
50592 Removed.
50593 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
50594 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
50595 of PUPA_CHAINLOADER_BOOT_SECTOR.
50596
50597 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
50598 (pupa_linux_prot_size): New variable.
50599 (pupa_linux_tmp_addr): Likewise.
50600 (pupa_linux_real_addr): Likewise.
50601 (pupa_linux_boot_zimage): New function.
50602 (pupa_linux_boot_bzimage): Likewise.
50603
50604 * kern/i386/pc/init.c (struct mem_region): New structure.
50605 (MAX_REGIONS): New macro.
50606 (mem_regions): New variable.
50607 (num_regions): Likewise.
50608 (pupa_os_area_addr): Likewise.
50609 (pupa_os_area_size): Likewise.
50610 (pupa_lower_mem): Likewise.
50611 (pupa_upper_mem): Likewise.
50612 (add_mem_region): New function.
50613 (compact_mem_regions): Likewise.
50614 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
50615 the size of the conventional memory and that of so-called upper
50616 memory (before the first memory hole).
50617 Instead of adding each found region to free memory, use
50618 add_mem_region and add them after removing overlaps.
50619 Also, add only 1/4 of the upper memory to free memory. The rest
50620 is used for loading OS images. Maybe this is ad hoc, but this
50621 makes it much easier to relocate OS images when booting.
50622
50623 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
50624 (pupa_enter_rescue_mode): Don't register initrd and module.
50625
50626 * kern/mm.c: Include pupa/dl.h.
50627
50628 * kern/main.c: Include pupa/file.h and pupa/device.h.
50629
50630 * kern/loader.c (pupa_loader_load_module_func): Removed.
50631 (pupa_loader_load_module): Likewise.
50632
50633 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
50634 ``.o''.
50635
50636 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
50637 (pupa_linux_tmp_addr): Likewise.
50638 (pupa_linux_real_addr): Likewise.
50639 (pupa_linux_boot_zimage): Likewise.
50640 (pupa_linux_boot_bzimage): Likewise.
50641
50642 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
50643 (pupa_upper_mem): Likewise.
50644 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
50645 module is too dangerous.
50646
50647 * include/pupa/loader.h (pupa_os_area_addr): Declared.
50648 (pupa_os_area_size): Likewise.
50649 (pupa_loader_set): Remove the first argument. Loader doesn't
50650 manage modules or initrd any longer.
50651 (pupa_loader_load_module): Removed.
50652
50653 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
50654 (linux_mod_SOURCES): New variable.
50655 (linux_mod_CFLAGS): Likewise.
50656
a13f9237 506572003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
50658
50659 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
50660 the length of a blocklist correctly.
50661
50662 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
50663 Use ioctl only if the OS file is a block device.
50664 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
50665 not very useful for normal files.
50666
50667 * kern/main.c (pupa_set_root_dev): New function.
50668 (pupa_load_normal_mode): Likewise.
50669 (pupa_main): Call those above.
50670
50671 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
50672 pupa_uint16_t.
50673
50674 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
50675
a5ffe966 506762003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
50677
50678 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
50679 (setup): Configure the installed partition information and the
50680 dl prefix.
50681
50682 * loader/i386/pc/chainloader.c (my_mod): New variable.
50683 (pupa_chainloader_unload): New function.
50684 (pupa_rescue_cmd_chainloader): Refer itself.
50685 (PUPA_MOD_INIT): Save its own module in MY_MOD.
50686
50687 * kern/i386/pc/startup.S (install_partition): Removed.
50688 (version_string): Likewise.
50689 (config_file): Likewise.
50690 (pupa_install_dos_part): New variable.
50691 (pupa_install_bsd_part): Likewise.
50692 (pupa_prefix): Likewise.
50693 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
50694
50695 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
50696 and pupa/misc.h.
50697 (make_install_device): New function.
50698 (pupa_machine_init): Set the dl prefix.
50699
50700 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
50701 (buf): Renamed to ...
50702 (linebuf): ... this.
50703 (pupa_rescue_cmd_prefix): New function.
50704 (pupa_rescue_cmd_insmod): Likewise.
50705 (pupa_rescue_cmd_rmmod): Likewise.
50706 (pupa_rescue_cmd_lsmod): Likewise.
50707 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
50708 rmmod and lsmod.
50709
50710 * kern/mm.c (pupa_memalign): If failed even after invalidating
50711 disk caches, unload unneeded modules and retry.
50712
50713 * kern/misc.c (pupa_memmove): New function.
50714 (pupa_memcpy): Removed.
50715 (pupa_strcpy): New function.
50716 (pupa_itoa): Made static.
50717
50718 * kern/dl.c (pupa_dl_iterate): New function.
50719 (pupa_dl_ref): Likewise.
50720 (pupa_dl_unref): Likewise.
50721 (pupa_dl_unload): Return if succeeded or not.
50722 (pupa_dl_unload_unneeded): New function.
50723 (pupa_dl_unload_all): Likewise.
50724 (pupa_dl_init): Renamed to ...
50725 (pupa_dl_set_prefix): ... this.
50726 (pupa_dl_get_prefix): New function.
50727
50728 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
50729 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
50730 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
50731 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
50732 (pupa_install_dos_part): Declared.
50733 (pupa_install_bsd_part): Likewise.
50734 (pupa_prefix): Likewise.
50735 (pupa_boot_drive): Likewise.
50736
50737 * include/pupa/types.h: Fix a typo.
50738
50739 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
50740 pupa_memmove.
50741 (pupa_memmove): Declared.
50742 (pupa_strcpy): Likewise.
50743
50744 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
50745 pupa_mod_init takes one argument, its own module.
50746 (pupa_dl_unload_unneeded): Declared.
50747 (pupa_dl_unload_all): Likewise.
50748 (pupa_dl_ref): Likewise.
50749 (pupa_dl_unref): Likewise.
50750 (pupa_dl_iterate): Likewise.
50751 (pupa_dl_init): Renamed to ...
50752 (pupa_dl_set_prefix): ... this.
50753 (pupa_dl_get_prefix): Declared.
50754
50755 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 50756 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 50757 unloaded.
50758 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
50759 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
50760
50761 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
50762 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
50763
012d7999 507642003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
50765
50766 * util/i386/pc/pupa-setup.c (setup): Define the internal
50767 function find_first_partition_start at the top level, because GCC
50768 3.0.x cannot compile internal functions in deeper scopes
50769 correctly.
50770 (find_root_device): Use lstat instead of stat.
50771 Don't follow symbolic links.
50772 Fix the path-constructing code.
50773
50774 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
50775 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
50776 by a BLKGETSIZE ioctl first, because block devices don't fill
50777 the member st_mode of the structure stat on Linux.
50778 [__linux__] (linux_find_partition): Use a temporary buffer
50779 REAL_DEV for the working space. Copy it to DEV before returning.
50780 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
50781 buffer cache consistent.
50782 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
50783 strncmp. The previous value was merely wrong.
50784 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
50785
50786 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
50787 FAT size is 12. The previous value was merely wrong.
50788
50789 * kern/main.c (pupa_main): Don't split the starting message from
50790 newlines.
50791
50792 * kern/term.c (pupa_putchar): Put CR after LF instead of before
50793 LF, because BIOS goes crazy about character attributes in this
50794 case.
50795
1cc73a62 507962003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
50797
50798 * include/i386/pc/util/biosdisk.h: New file.
50799 * util/i386/pc/biosdisk.c: Likewise.
50800 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 50801
1cc73a62 50802 * Makefile.in (INCLUDE_DISTFILES): Added
50803 include/pupa/i386/pc/util/biosdisk.h.
50804 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
50805 directory util/i386/pc.
50806 (install-local): Added a rule for sbin_UTILITIES.
50807 (uninstall): Likewise.
50808
50809 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
50810
50811 * util/misc.c (xrealloc): New function.
50812 (pupa_malloc): Likewise.
50813 (pupa_free): Likewise.
50814 (pupa_realloc): Likewise.
50815 (pupa_stop): Likewise.
50816 (pupa_putchar): Likewise.
50817
50818 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
50819
50820 * include/pupa/util/misc.h (xrealloc): Declared.
50821
50822 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
50823 macro.
50824 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
50825 (PUPA_BOOT_MACHINE_BPB_END): ... this.
50826
50827 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
50828 [PUPA_UTIL] (pupa_fat_fini): Likewise.
50829
50830 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
50831 way should be implemented.
50832 [PUPA_UTIL] (pupa_fat_fini): Likewise.
50833
50834 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
50835 the size of NAME for safety.
50836 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
50837 0x88.
50838
50839 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
50840 (pupa_setup_SOURCES): Likewise.
50841
50842 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
50843
08b70fe8 508442002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
50845
50846 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
50847 bunch of pushl's from pusha, because this destroys the return
50848 value.
50849
62ddcc8f 508502002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
50851
50852 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
50853 This means that any missing prototypes could be fatal. Also, you
50854 must take care when writing assembly code. See the comments at
50855 the beginning of startup.S, for more details.
f19dbdb7 50856
62ddcc8f 50857 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
50858 compilation mechanism.
50859 (pupa_chainloader_real_boot): Likewise.
50860 (pupa_biosdisk_rw_int13_extensions): Likewise.
50861 (pupa_biosdisk_rw_standard): Likewise.
50862 (pupa_biosdisk_check_int13_extensions): Likewise.
50863 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
50864 (pupa_biosdisk_get_diskinfo_standard): Likewise.
50865 (pupa_get_memsize): Likewise.
50866 (pupa_get_mmap_entry): Likewise.
50867 (pupa_console_putchar): Likewise.
50868 (pupa_console_setcursor): Likewise.
50869 (pupa_getrtsecs): Use pushl instead of push.
50870
50871 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
50872 memory instead of the stack for a mmap entry, because some
50873 BIOSes may ignore the maximum size and overflow.
50874
50875 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
50876
50877 * genmk.rb (PModule#rule): Compile automatically generated
50878 sources with module-specific CFLAGS as well as other sources.
50879
9962ed99 508802002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
50881
50882 * configure.ac: Check ld.
50883 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
50884 respectively, before checking endianness and sizes.
50885
50886 * Makefile.in (LD): New variable.
f19dbdb7 50887
abdfc3c5 508882002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
50889
50890 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
50891
6a161fa9 508922002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
50893
50894 * Changelog: New file.
50895