]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
[grub2.git] / ChangeLog
CommitLineData
2bdd0719
VS
12013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
4 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
5 asm to stay in arm even if surrounding is thumb.
6
5e77d9cf
VS
72013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8
9 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
10 helper functions are needed for thumb.
11
7d511625
VS
122013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13
14 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
15 level / 3 division explicitly unsigned. Saves few bytes.
16
81023dbd
VS
172013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18
19 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
20
b2e9294f
VS
212013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22
23 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
24 division.
25
16a22c38
VS
262013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
27
28 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
29 grub_uboot_boot_data to asm part.
30
c9cd02c9
VS
312013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
32
33 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
34 literal load.
35 (grub_uboot_syscall): Save/restore r9 and align stack.
36
81498615
VS
372013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
38
39 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
40
ea57de18
VS
412013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
42
43 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
44 occurencies with END.
45
d0d1e3da
CW
462013-11-13 Colin Watson <cjwatson@ubuntu.com>
47
48 * util/grub-editenv.c (help_filter, argp): Document how to delete
49 the whole environment block.
50 Reported by Dan Jacobson. Fixes Debian bug #726265.
51
3809f016
CW
522013-11-13 Colin Watson <cjwatson@ubuntu.com>
53
54 * docs/grub.texi (Internationalisation, Supported kernels): Fix
55 sectioning.
56
46d8a203
JT
572013-11-13 Josh Triplett <josh@joshtriplett.org>
58
59 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
60 increment/decrement.
61
513eeb61
VS
622013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
63
64 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
65 compiling with clang.
66
bc379c1a
VS
672013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
68
69 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
70 ".".
71
722013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
286551b4 73
16057d6b
VS
74 Redirect all divisions to grub_divmod64.
75
f649a6a8
VS
762013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
77
78 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
79
ef28ee8b
VS
802013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
81
82 Add missing includes of loader.h.
83
300f48c5
VS
842013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
85
86 * configure.ac: Allow disabling themes.
87
2d357558
LS
882013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
89
90 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
91
0c62a5b2
VS
922013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
93
94 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
95 until it becomes operational.
96
b0720b49
VS
972013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
98
99 * grub-core/Makefile.core.def (legacy_password_test): Disable
100 on platforms where no legacycfg is compiled.
101 * grub-core/tests/lib/functional_test.c: Tolerate failure to
102 load legacy_password_test.
103
d5bab2c0
VS
1042013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
105
106 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
107
3ea0ccb3
VS
1082013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
109
110 * grub-core/efiemu/prepare.c: Remove variable length arrays.
111
08772054
VS
1122013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
113
114 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
115 strict-aliasing warning.
116 (fsync): Silence cast warning.
117
1dcb2715
VS
1182013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
119
120 * grub-core/commands/verify.c: Remove variable length arrays.
121 Load gcry_dsa/gcry_rsa automatically.
122
61c22fdf
VS
1232013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
124
125 * grub-core/tests/signature_test.c: New test.
126
431e57a7
VS
1272013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
128
129 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
130 API.
131
b521bb81
VS
1322013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
133
134 * grub-core/tests/legacy_password_test.c (vectors): Make static.
135 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
136
7d06b24e
VS
1372013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
138
139 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
140
3bbeade4
VS
1412013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
142
143 * grub-core/fs/proc.c: Allow \0 in proc files.
144
ba82db7a
VS
1452013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
146
147 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
148
801564c8
VS
1492013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
150
151 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
152
ac8cac1d
VS
1532013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
154
155 * grub-core/fs/ext2.c: Remove variable length arrays.
156
4b85f122
VS
1572013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
158
159 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
160 length arrays.
161
c35fcdc0
VS
1622013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
163
164 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
165 * grub-core/disk/cryptodisk.c: Likewise.
166 * grub-core/disk/geli.c: Likewise.
167 * grub-core/disk/luks.c: Likewise.
168
15decd26
VS
1692013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
170
171 * grub-core/tests/legacy_password_test.c: New test.
172 * grub-core/commands/legacycfg.c: Remove variable length arrays.
173
9c6482b8
VS
1742013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
175
176 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
177
41f26e0e
VS
1782013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
179
180 * grub-core/tests/pbkdf2_test.c: New test.
181
2def6616
VS
1822013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
183
184 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
185
9e34a34e
VS
1862013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
187
188 * grub-core/io/lzopio.c: Remove variable length arrays.
189
5ccaf904
VS
1902013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
191
192 * include/grub/crypto.h: Add maximums on hash size and cipher block
193 size.
194
44a387e0
VS
1952013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
196
197 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
198
a388e255
VS
1992013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
200
201 * grub-core/tests/xnu_uuid_test.c: New test.
202
a1ef7718
VS
2032013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
204
205 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
206 covers it).
207
65ddb300
VS
2082013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
209
210 * grub-core/commands/hashsum.c: Remove variable length arrays.
211
31747dd5
VS
2122013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
213
214 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
215 condition.
216 * tests/grub_func_test.in: Increase memory allocation.
217
6a74c4df
VS
2182013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
219
220 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
221 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
222 sys/mount.h.
223
394c3e0a
VS
2242013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
225
226 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
227 (grub_util_get_fd_size_os): ...this.
228 (grub_hostdisk_flush_initial_buffer): New empty function.
229
60d31116
VS
2302013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
231
232 * grub-core/gensyminfo.sh.in: Handle the case of portable output
233 without --defined-only.
234
8445b011
VS
2352013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
236
237 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
238 rip-relative addressing in prologue.
239
8506a641
VS
2402013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
241
242 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
243 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
244
66acd9d6
VS
2452013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
246
247 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
248 Add missing semicolon.
249
348d0535
VS
2502013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
251
252 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
253
0d2d30bb
VS
2542013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
255
256 * configure.ac: Check for lzma.h for enabling liblzma and allow
257 manual disabling.
258
631187be
VS
2592013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
260
261 Add missing includes of loader.h.
262
e756ec82
FZ
2632013-11-11 Fam Zheng <famcool@gmail.com>
264
265 * util/grub.d/30_os-prober.in: Add minix entry.
266
87d62d7d
VS
2672013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
268
269 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
270 right buffer for temporary load.
271
5460cfeb
VS
2722013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
273
274 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
275
89977306
VS
2762013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
277
278 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
279 payload.
280
3617c59b
VS
2812013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
282
283 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
284 not Types.h.
285 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
286 environment.
287 (LzmaDec_InitDicAndState): Make static.
288
881c6a10
VS
2892013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
290
291 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
292
2024ade2
VS
2932013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
294
295 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
296
297 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
298
674ad4f6
VS
2992013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
300
301 * docs/grub-dev.texi: Replace bzr references with git ones.
302
5b99970e
AB
3032013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
304
305 * docs/grub.texi (Simple configuration): Remove reference to
306 grub-reboot from saved default entry description - grub-default
307 does not use it anymore.
308
3c2304d5
VS
3092013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
310
311 * configure.ac: Make efiemu test cflags match the cflags efiemu is
312 compiled with.
313
80cfd940
AB
3142013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
315
316 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
317
33690255
VS
3182013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
319
320 Fix grub_machine_fini bitrot.
321
322 Reported by: Glenn Washburn.
323
c61471fc
VS
3242013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
325
326 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
327
54da019f
VS
3282013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
329
330 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
331 -DELF.
332 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
333 instead of ELF*.
334
3352013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
28668d80
VS
336
337 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
338 Add -march=core2 when testing compile of efiemu64.
339
340 Thanks Andrey Borzenkov for spotting this.
341
9612ebc0
VS
3422013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
343
344 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
345 XEN PV environment and load kernels.
346
1a46a3a4
VS
3472013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
348
349 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
350 * grub-core/loader/multiboot_mbi2.c: Likewise.
351
2df12551
VS
3522013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
353
354 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
355 handling.
356
3c980381
VS
3572013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
358
359 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
360
361 Tested by: Denis 'GNUtoo' Carikli.
362
800f63d3
VS
3632013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
364
365 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
366
9f8acdaa
VS
3672013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
368
5620eb53
VS
369 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
370 Use to get rounded angle rather than truncated.
371
3722013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
373
374 * grub-core/term/serial.c: Add option for enabling/disabling
9f8acdaa
VS
375 RTS/CTS flow control.
376
2dc1eb6c
VS
3772013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
378
379 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
380 divisions.
381
b9563c94
VS
3822013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
383
384 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
385 Use grub_fatal rather than divide by zero.
386 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
387
d6d8e9a9
VS
3882013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
389
390 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
391 truncate.
392 (grub_fixed_fsf_divide): Likewise.
393
d06de6c8
VS
3942013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
395
396 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
397 division by-zero and senseless negative divisions.
398
6af7d49b
VS
3992013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
400
401 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
402 division by-zero and senseless negative divisions.
403 (circprog_set_property): Don't accept negative num_ticks.
404
bcfa6d72
VS
4052013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
406
407 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
408 division by-zero and senseless negative divisions.
409
dd7f792c
VS
4102013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
411
412 * configure.ac: Use elf_*_fbsd on kfreebsd.
413
d061fda7
VS
4142013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
415
416 * grub-core/tests/div_test.c: New test.
417
4db22500
VT
4182013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
419
420 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
421 * grub-core/gfxmenu/gui_canvas.c: Likewise.
422 * grub-core/gfxmenu/view.c: Likewise.
423 * grub-core/video/fb/video_fb.c: Introduce new functions:
424 grub_video_set_area_status, grub_video_get_area_status,
425 grub_video_set_region, grub_video_get_region.
426 * grub-core/video/bochs.c: Likewise.
427 * grub-core/video/capture.c: Likewise.
428 * grub-core/video/video.c: Likewise.
429 * grub-core/video/cirrus.c: Likewise.
430 * grub-core/video/efi_gop.c: Likewise.
431 * grub-core/video/efi_uga.c: Likewise.
432 * grub-core/video/emu/sdl.c: Likewise.
433 * grub-core/video/radeon_fuloong2e.c: Likewise.
434 * grub-core/video/sis315pro.c: Likewise.
435 * grub-core/video/sm712.c: Likewise.
436 * grub-core/video/i386/pc/vbe.c: Likewise.
437 * grub-core/video/i386/pc/vga.c: Likewise.
438 * grub-core/video/ieee1275.c: Likewise.
439 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
440 * include/grub/video.h: Likewise.
441 * include/grub/video_fb.h: Likewise.
442 * include/grub/fbfill.h: Updated render_target structure.
443 grub_video_rect_t viewport, region, area
444 int area_offset_x, area_offset_y, area_enabled
445 * include/grub/gui.h: New helper function
446 grub_video_bounds_inside_region.
447 * docs/grub-dev.texi: Added information about new functions.
448
c6b755df
VS
4492013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
450
451 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
452 for alignment.
453
e2a68100
VS
4542013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
455
456 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
457 missing attribute.
458 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
459
c4f11a2a
VS
4602013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
461
462 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
463 simple division on arm and ia64.
464
e0a7bffa
VS
4652013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
466
467 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
468 link with libgcc.
469
38b864ea
VS
4702013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
471
472 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
473
12359faf
VS
4742013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
475
476 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
477 prefix symbol, not @.
478
9fdc64a9
VS
4792013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
480
481 * INSTALL: Add note about older gcc and clang.
482
665c575b
VS
4832013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
484
485 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
486
47dcf7b1
VS
4872013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
488
489 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
490 NULL pointer dereference.
491
d59849b2
VS
4922013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
493
494 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
495 clang.
496
7a3f4a18
VS
4972013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
498
499 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
500 warnings.
501
7f084087
VS
5022013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
503
504 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
505 function.
506 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
507 * grub-core/disk/geli.c (ascii2hex): Likewise.
508
d5524ca8
VS
5092013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
510
511 * configure.ac: Run linker tests without -Werror.
512 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
513 Change all occurences of -static-libgcc resp -lgcc to
514 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
515
390cd7ca
VS
5162013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
517
518 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
519
60375a88
VS
5202013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
521
522 Allow compiling with clang (not really supported though).
523
524 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
525 unconditionally.
526 * configure.ac: Add -no-integrated-as when using clangfor asm files.
527 Add -mrtd -mregparm=3 on i386 when not using clang.
528 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
529
dd07e0c4
VS
5302013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
531
532 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
533 bindings.
534 * grub-core/lib/reed_solomon.c: Likewise.
535 * include/grub/i386/gdb.h: Likewise.
536 * include/grub/i386/pc/int.h: Likewise.
537 * include/grub/i386/pc/pxe.h: Likewise.
538 * include/grub/ieee1275/ieee1275.h: Likewise.
539
9d3ae8ec
VS
5402013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
541
542 Import libgcrypt 1.5.3.
543
c12936c5
VS
5442013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
545
546 * configure.ac: Don't add -Wcast-align on x86.
547
cdc17f60
VS
5482013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
549
550 * configure.ac: Add -freg-struct-return on all platforms that
551 support it.
552
b35ec299
VS
5532013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
554
555 * acinclude.m4: Use -Werror on parameter tests.
556 * configure.ac: Likewise.
557
05f3a0d7
VS
5582013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
559
560 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
561
c966a489
VS
5622013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
563
564 * configure.ac: Check that -malign-loops works rather than assuming that
565 either -falign-loops or -malign-loops work.
566
bb0c57ec
VS
5672013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
568
569 * configure.ac: Remove -fnested-functions. We don't need it anymore.
570
24f4e57c
VS
5712013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
572
573 * configure.ac: Prevent cflags leaking to subsequent tests by always
574 resetting cflags to target_cflags in target tests.
575
ac319fbc
VS
5762013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
577
578 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
579 function.
580
4bfe934c
VS
5812013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
582
583 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
584
40a5bfde
VS
5852013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
586
587 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
588
a67c755e
VS
5892013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
590
591 * grub-core/normal/cmdline.c (grub_cmdline_get):
592 Remove nested functions.
593
87a04a2d
VS
5942013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
595
596 * tests/test_sha512sum.in: Make it work on emu.
597
c03995d2
VS
5982013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
599
600 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
601 functions.
602 (grub_bidi_line_logical_to_visual): Likewise.
603
ec0ebb3f
VS
6042013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
605
606 Remove vestiges of -Wunsafe-loop-optimisations.
607
608 * conf/Makefile.common (CFLAGS_GNULIB): Remove
609 -Wno-unsafe-loop-optimisations.
610 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
611 pragma.
612 * grub-core/io/gzio.c: Likewise.
613 * grub-core/script/parser.y: Likewise.
614 * grub-core/script/yylex.l: Likewise.
615 * util/grub-mkfont.c: Likewise.
616
6ab537e3
VS
6172013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
618
619 * util/grub-mkfont.c (process_cursive): Remove nested function.
620
e6c368d4
VS
6212013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
622
623 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
624 (grub_boot_time): Likewise.
625
4f1cfd22
VS
6262013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
627
628 * include/grub/symbol.h (FUNCTION): Use @function rather than
629 "function".
630 (VARIABLE): Likewise.
631
6d5a4cee
VS
6322013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
633
634 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
635
f06c2172
VS
6362013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
637
638 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
639 (parse_dhcp_vendor): Likewise.
640
7cb24eb5
VS
6412013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
642
643 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
644
f30c692c
VS
6452013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
646
647 * grub-core/gettext/gettext.c (main_context), (secondary_context):
648 Define after defining type and not before.
649
8b66bb5d
VS
6502013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
651
652 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
653 type.
654 (grub_gcm_decrypt): Likewise.
655 (algo_decrypt): Likewise.
656 (grub_zfs_decrypt_real): Transform error type.
657
5d17fd0f
VS
6582013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
659
660 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
661
ac35a0f7
VS
6622013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
665 (grub_usbms_cbi_reset): Likewise.
666 (grub_usbms_bo_reset): Likewise.
667 (grub_usbms_reset): Likewise.
668 (grub_usbms_attach): Likewise.
669 (grub_usbms_transfer_cbi): Likewise.
670
3ee08697
VS
6712013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
672
673 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
674 "checksum = checksum;".
675
70bb6c85
VS
6762013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
677
678 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
679 entry_type.
680
c7f34744
VS
6812013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
682
683 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
684 BIOS disk check.
685
3f63b4d8
VS
6862013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
687
688 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
689 type.
690 (grub_ehci_fini_hw): Likewise.
691 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
692
dac6ce73
VS
6932013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
694
695 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
696 return grub_usb_err_t for cosistency. All users updated.
697
5701750c
VS
6982013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
699
700 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
701 assigning to itself.
702
9e236169
GLD
7032013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
7042013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
705
706 Issue separate DNS queries for ipv4 and ipv6
707
708 Adding multiple questions on a single DNS query is not supportted by
709 most DNS servers. This patch issues two separate DNS queries
710 sequentially for ipv4 and then for ipv6.
711
712 Fixes: https://savannah.gnu.org/bugs/?39710
713
714 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
715 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
716 * (grub_net_dns_lookup): Now using separated dns packages.
717 * (grub_cmd_nslookup): Add error condition.
718 * (grub_cmd_list_dns): Print DNS option.
719 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
720 --prefer-ipv4, and --prefer-ipv6.
721 * include/grub/net.h (grub_dns_option_t): New enum.
722 * (grub_net_network_level_address): option added.
723
339eacce
VT
7242013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
725
726 * grub-core/video/fb/video_fb.c: Merge two blit functions
727 into one.
728
810f991b
VS
7292013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
730
731 * grub-core/term/terminfo.c: Add sequences for home and end.
732
386571a2
VS
7332013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
734
735 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
736 graphics console.
737
3fe63754
VS
7382013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
739
740 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
741 add mode 0x12.
742
76681e71
VS
7432013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
744
745 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
746 e-mail by Per Öberg.
747
46522fb7
VS
7482013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
749
750 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
751 name.
752
e7d09ac4
AB
7532013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
754
755 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
756 emu platforms.
757 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
758
67508925
VS
7592013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
760
761 * docs/grub.texi: Document usage of menuentry id.
762
0c62124e
VS
7632013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
764
765 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
766
9b5d4eed
PL
7672013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
768
769 * grub-core/commands/i386/nthibr.c: New command.
770
79054c1d
VS
7712013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
772
773 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
774
44d47bbe
VS
7752013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
776
777 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
778 coordinate.
779
323de05b
VS
7802013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
781
782 Support GRUB_DISABLE_SUBMENU config.
783
784 Inspired by patch from Prarit Bhargava.
785
5a01722e
VS
7862013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
787
788 * docs/grub.texi: Mention RSA support.
789
1106c3f0
VS
7902013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
791
792 * grub-core/commands/verify.c: Add RSA support.
793
a1dcc2cb
VS
7942013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
795
796 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
797 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
798 device is known to be ATAPI.
799
ee7fb780
MF
8002013-11-03 Mike Frysinger <vapier>
801
802 * configure.ac: Don't add target-prefix.
803
5ade4a42
VS
8042013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
805
806 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
807 variables.
808
6cd66043
VS
8092013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
810
811 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
812 if language is English.
813
090d7c81
VS
8142013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
815
816 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
817
dd614590
VS
8182013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
819
820 * configure.ac: Don't add -m32/-m64 on emu.
821
a8686589 8222013-11-02 neil
823
824 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
825 broken linux headers.
826
fb9f12a0
VS
8272013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
828
829 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
830
e25f8e1f
VS
8312013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
832
833 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
834 Reed-Solomon recovery if more than half of redundancy info is 0.
835
4685200f
VS
8362013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
837
838 * util/grub-mount.c: Handle symlinks to directories.
839
1397f0b5
VS
8402013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
841
842 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
843 find_file recursively for symlink.
844
8b3e6eb6
VS
8452013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
846
847 * tests/util/grub-shell.in: Copy themes.
848
a0c9d5c6
VS
8492013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
850
851 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
852
5cf9459c
VS
8532013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
854
855 * configure.ac: Use 0x8000 for address instead of 8000.
856
e7b66a28
VS
8572013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
860 signature.
861
203f53fb
VS
8622013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
863
864 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
865 variable.
866
02663ee9
VS
8672013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
868
869 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
870
f169f65e
VS
8712013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
872
873 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
874 file_progress_read_hook.
875 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
876
2855a0fc
VS
8772013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
878
879 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
880 and double.
881
bf0f3a8c
VS
8822013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
883
884 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
885
cb72aa18
VS
8862013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
887
888 Rewrite blocklist functions in order to get progress when
889 reading large extents and decrease amount of blocklist hook calls.
890
896f9135
VS
8912013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
892
893 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
894 of SI suffixes.
895
89295a06
VS
8962013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
897
898 Support --base-clock for serial command to handle weird cards with
899 non-standard base clock.
900
eb03ede0
VS
9012013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
902
903 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
904 strncpy.
905 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
906 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
907 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
908 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
909 + strcpy rather than strncpy.
910
8fbe5c7d
VS
9112013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
914 (check_pool_label): Likewise. Fixes overflow.
915 (nvlist_find_value): Fix comparison.
916
e54b8f53
VS
9172013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * include/grub/misc.h (grub_strcat): Removed. All users changed to
920 more appropriate functions.
921
fa9b3dca
VS
9222013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
923
924 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
925 realloc.
926
9a021c55
VS
9272013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
928
929 * util/grub-mkrescue.in: Do not use UUID search on EFI.
930
80e8b13a
VS
9312013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
932
933 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
934 on core size.
935
b61599ac
VS
9362013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
937
938 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
939
a602dc54
VS
9402013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
941
942 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
943 (initialize_tables): reset tl and td to NULL after freeing.
944
93c12075
VS
9452013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
946
947 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
948
1ca4b75e
VS
9492013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
950
951 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
952 of supported tags.
953
329550c4
VS
9542013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
955
956 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
957
00bfa988
VS
9582013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
959
960 * grub-core/loader/multiboot.c: Add support for multiboot kernels
961 quirks.
962
81afc5cc
VS
9632013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
964
965 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
966 a page in protected space.
967
cb3c4a47
VS
9682013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
969
970 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
971 allocate space for zero-sized modules.
972
954f7bf5
VS
9732013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
974
975 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
976
526d3d25
FL
9772013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
978
979 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
980
74124c34
VS
9812013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
982
983 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
984 safeguards. Fixes a crash with i386/pc/console.c.
985
5177391e
VS
9862013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
987
988 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
989 and grub_hostfs_init.
990
64db14b0
VS
9912013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
992
993 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
994 windows method on other platforms without good stat as well.
995
effe2036
VS
9962013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
997
998 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
999
82591fa6 10002013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 1001
82591fa6
VS
1002 Make / in btrfs refer to real root, not the default volume.
1003 Modify mkrelpath to work even if device is mounted with subvolid option.
1004
10052013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
1006
1007 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
1008 extra_dist.
1009 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
1010 extra_dist.
1011
30fd7198
VS
10122013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
1015 fails.
1016
8d179dae
BC
10172013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
1018
1019 * docs/autoiso.cfg: New file.
1020
3bc9c8cf
VS
10212013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
1024 COND_GRUB_PE2ELF conditions.
1025
8b46b0ea
VS
10262013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
1029 "vnd", "rd" and "fd" disks.
1030
442b86de
VS
10312013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1032
1033 Move grub_disk_write out of kernel into disk.mod.
1034
04dea7e6
VS
10352013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1036
1037 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
1038 handling.
1039
10402013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
1041
1042 * grub-core/kern/misc.c (grub_abort): Make static
1043
04dea7e6 10442013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
1045
1046 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
1047 transform invalid unicode codepoints.
1048
04dea7e6 10492013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
1050
1051 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
1052 \0 checking.
1053
03dcac7f
VS
10542013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1055
1056 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
1057
c81acb7f
VS
10582013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 Consolidate cpuid code.
1061
c1bee646
VS
10622013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1063
1064 Move cpuid code to cpuid.h and TSC code to tsc.c.
1065
f37bf9c7
GS
10662013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1067
1068 * util/grub.d/00_header.in: Don't use LANG if it's not set.
1069
4021132b
GS
10702013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1071
1072 * util/grub-mkconfig.in: Replace $0 with $self.
1073 * util/grub-reboot.in: Likewise.
1074 * util/grub-set-default.in: Likewise.
1075
3ace8d75
BC
10762013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1077
1078 * docs/osdetect.cfg: New file.
1079
1e6ad6a6
BC
10802013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1081
1082 * tests/util/grub-shell.in: Add new --debug option.
1083
188929eb
BC
10842013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1085
1086 * tests/test_unset.in: New test.
1087
7994a09a
BC
10882013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1089
1090 * tests/test_sha512sum.in: New test.
1091
2a8a7585
VS
10922013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
1095 * include/grub/misc.h: Remove strncat.
1096 * grub-core/lib/posix_wrap/string.h: Likewise.
1097
cf8d6bbd
VS
10982013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1099
1100 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
1101 Try to handle more than 0xFFFF packets.
1102 Reported by: Bernhard Übelacker <bernhardu>.
1103 He also spotted few overflows in first version of this patch.
1104
6d1fc99a
VS
11052013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 * tests/date_unit_test.c: New test.
1108
10bafa1c
VS
11092013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1110
1111 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
1112 of first three years after start of validity of unixtime.
1113
b1c6d037
VS
11142013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1115
1116 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
1117 division as the one making more sense.
1118 (update_screen): Likewise.
1119 (complete): Likewise.
1120
5f4028d4
VS
11212013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
1124
a2856736
VS
11252013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1126
1127 Make char and string width grub_size_t rather than grub_ssize_t.
1128
0a7e52b2
VS
11292013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1130
1131 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
1132 unsigned.
1133 (grub_history_replace): Likewise.
1134
42829573
VS
11352013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
1138 appropriate.
1139
3523b8d8
VS
11402013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
1143 appropriate.
1144
d43c6489
VS
11452013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1146
1147 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
1148 Use unsigned divisions rather than signed variants.
1149
f690f8b0
VS
11502013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1151
1152 * grub-core/video/readers/png.c (grub_png_convert_image): Use
1153 unsigned arithmetics.
1154 Add missing break.
1155
74ff2c05
VS
11562013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
1159
fb56391e
VS
11602013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1161
1162 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
1163 rather than signed one.
1164 (recovery): Likewise.
1165
40f29060
VS
11662013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1167
1168 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
1169
c64577a5
VS
11702013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
1173 than signed.
1174
c16535a8
JM
11752013-10-25 Jon McCune <jonmccune@google.com>
1176
1177 * docs/grub.texi: Cleanup security documentation around signatures.
1178
6673d8e7
VS
11792013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
1182
a105d375
VS
11832013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1184
1185 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
1186 than int.
1187
af81ed88
VS
11882013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
1191 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
1192 functions when compiling for kernel.
1193
ea899a57
VS
11942013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1195
1196 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
1197 unsigned long long when using %llu.
1198
c6dc6fa1
VS
11992013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1200
1201 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
1202 terminal after updating progress.
1203
ad2dc003
VS
12042013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1205
1206 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
1207 argument. We don't disable Gate A20 in this code.
1208
b46684ae
VS
12092013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
1212 Conceptually based on change in branch "vbe-on-coreboot".
1213
f70d5c07
RM
12142013-10-24 Robert Millan <rmh@gnu.org>
1215
1216 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
1217 numeric constants with their symbolic equivalent.
1218 Taken from branch "vbe-on-coreboot".
1219
bca274b4
VS
12202013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1221
1222 * docs/grub.texi: Fix ordering and use pxref rather than xref.
1223
238f0489
VS
12242013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1225
1226 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
1227 divmod64 for offset division.
1228
863c590b
PFS
12292013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1230
1231 Rename .bzrignore to .gitignore. Add "*.o" rule.
1232
1233 * .bzrignore: Renamed to...
1234 * .gitignore: ...this.
1235
84a0e969
PFS
12362013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1237
1238 Add new progress module that displays the load progress of files.
1239
1240 * grub-core/lib/progress.c: New file.
1241 * grub-core/Makefile.core.def (progress): New module.
1242 * grub-core/kern/file.c (grub_file_open): File name added.
1243 * (grub_file_read): Progress hook added.
1244 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
1245 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
1246 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
1247 * include/grub/file.h (struct grub_file): Add progress module members.
1248 * include/grub/term.h (struct grub_term_output): Likewise.
1249 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
1250 Terminal velocity added.
1251 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
1252 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
1253 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
1254 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
1255 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
1256 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
1257 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
1258 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
1259 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
1260 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
1261 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
1262 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
1263
0d711431
VS
12642013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1265
1266 Verify signatures of signatures unless --skip-sig is specified.
1267
f8401f76
VS
12682013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
1271 \0 checking.
1272
1273 Saves 70 bytes on compressed image.
1274
ac1feb61
VS
12752013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
1278 check.
1279
1280 Saves 10 bytes on compressed image.
1281
00f72e89
VS
12822013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1283
1284 * grub-core/kern/misc.c (grub_isprint): Move to ...
1285 * include/grub/misc.h (grub_isprint): ... here. Make inline.
1286
1287 Saves 20 bytes on compressed image due to remving exporting.
1288
067e6ae7
VS
12892013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1290
1291 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
1292
1293 Saves 5 bytes on compressed image.
1294
64a6c791
VS
12952013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1296
1297 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
1298 function get_utf8.
1299
1300 Saves 379 bytes on compressed image.
1301
979d9f52
VS
13022013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1303
1304 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
1305
1437da54
VS
13062013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
1309
1310 Saves 40 bytes on compressed image.
1311
d9ee2269
VS
13122013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1313
1314 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
1315 mask rather than 64-bit type.
1316
1317 Saves 20 bytes on compressed image.
1318
63efa602
VS
13192013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1320
1321 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
1322 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
1323
47601ffe
VS
1324 Saves 273 bytes on compressed image.
1325
2cc679ad
VS
13262013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1327
1328 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
1329 variable length arrays.
1330
1331 Saves 50 bytes on compressed image.
1332
2e4659b8
VS
13332013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
1336
2a40badf
VS
13372013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1338
1339 * grub-core/fs/ufs.c: Remove variable length arrays.
1340
1ba6b9b9
VS
13412013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1342
1343 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
1344
f3e39341
VS
13452013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1346
1347 * grub-core/fs/zfs.c: Remove variable length arrays.
1348 Reduces zfs.mod by 160 bytes (208 compressed).
1349
71523935
VS
13502013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1351
1352 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
1353
28153eb8
VS
13542013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1355
1356 * grub-core/net/arp.c: Remove variable length arrays.
1357 * grub-core/net/bootp.c: Likewise.
1358 * grub-core/net/dns.c: Likewise.
1359 * grub-core/net/icmp6.c: Likewise.
1360 * grub-core/net/net.c: Likewise.
1361
88ce4cd7
VS
13622013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1363
1364 * grub-core/fs/ntfs.c: Remove variable length arrays.
1365 Increases ntfs.mod by 64 bytes (but decreases by 3 when
1366 compressed).
1367
66123940
VS
13682013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1369
1370 * grub-core/fs/hfs.c: Remove variable length arrays.
1371 Reduces hfs.mod by 8 bytes (52 compressed).
1372
0927e5bd
VS
13732013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1374
1375 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 1376 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
1377 compressed).
1378
9c12ac97
VS
13792013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1380
1381 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 1382 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
1383 compressed).
1384
97ec2d71
VS
13852013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1386
1387 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 1388 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
1389 compressed).
1390
156e4ea0
VS
13912013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1392
1393 * grub-core/fs/xfs.c: Remove variable length arrays.
1394 Reduces xfs.mod by 40 bytes (43 compressed).
1395
3b502c29
VS
13962013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1397
1398 * grub-core/fs/fshelp.c: Remove variable length arrays.
1399 Reduces fshelp.mod by 116 bytes (23 compressed).
1400
c7037f1d
VS
14012013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1402
1403 * grub-core/normal/completion.c: Remove variable length arrays.
1404 * grub-core/normal/menu_entry.c: Likewise.
1405
1406 Reduces normal.mod by 496 bytes.
1407
a07e6ad0
VS
14082013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
1411 by 356 bytes (158 compressed).
1412
2359bf88
VS
14132013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
1416 by 364 bytes (169 compressed).
1417
d28e1163
VS
14182013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1419
1420 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
1421 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
1422 * include/grub/types.h (grub_unaligned_uint64_t): New type.
1423
e89c2d48
VS
14242013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1425
1426 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
1427 bitmasks to small structures of size chosen to fit in registers.
1428
7abdac8e
VS
14292013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1430
1431 * conf/Makefile.common: Use -freg-struct-return on i386. This
1432 decreases code size and improves performance.
1433
518864c0
VS
14342013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
1437
bbd2b539
VS
14382013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1439
1440 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
1441 "(null)" string.
1442 Simplify expressions to save around 256 bytes in kernel.img.
1443 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
1444
99519c15
VS
14452013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
1448 Use GRUB_UTIL_FD_O_* rather than O_*.
1449
20285765
VS
14502013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1451
1452 Add haiku-specific functions.
1453
887c0bb6
VS
14542013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1455
1456 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
1457
cd78a56f
VS
14582013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1459
1460 Move stat () and device mode checking into OS-dependent files as
1461 long as performance doesn't suffer.
1462
a4012f07
VS
14632013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1464
1465 Split make_system_path_relative_to_its_root into separate file
1466 relpath.c from getroot.c as it's common between unix and haiku
1467 but otherwise haiku doesn't use any functions from unix getroot.c.
1468
31de274d
VS
14692013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1470
1471 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
1472 New function.
1473 (grub_util_is_special_file): Likewise.
1474
40346de6
VS
14752013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1476
1477 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
1478 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
1479
d3923ab9
VS
14802013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1481
1482 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
1483 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
1484
663f6eb1
VS
14852013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1486
1487 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
1488 (load_image): Likewise.
1489
44d1c20a
VS
14902013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1491
1492 * util/grub-render-label.c: Move backend part to ...
1493 * util/render-label.c: ... here.
1494
d0a116ee
VS
14952013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1496
1497 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
1498 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
1499
b47fcae6
VS
15002013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
1503
0f7c00c1
VS
15042013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1505
1506 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
1507 CD-ROM in case when it's declared as having subpartitions.
1508
29013cba
VS
15092013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1510
1511 Don't add -lm on haiku.
1512
1513 * configure.ac: Define BUILD_LIBM to -lm on most platforms
1514 and empty on haiku.
1515 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
1516 -lm.
1517
e8559d24
VS
15182013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1519
1520 * configure.ac: Use -melf_*_haiku as target on haiku.
1521
8104063c
VS
15222013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1523
1524 * Makefile.util.def: Add util/setup.c to extra_dist.
1525
fc3182c7
VS
15262013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1527
1528 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
1529 unknown types through.
1530
f90a3cc0
VS
15312013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1532
1533 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
1534 (grub_util_check_char_device): Likewise.
1535 * include/grub/emu/getroot.h: Likewise.
1536
1e3e7419
VS
15372013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1538
1539 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
1540 memset rather than inline static function.
1541
92c88fc8
VS
15422013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1543
1544 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
1545 not doing embedded decompressor.
1546
3cd910a2
VS
15472013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
1550 shadowing.
1551 * grub-core/kern/disk.c: Likewise.
1552 * grub-core/kern/misc.c: Likewise.
1553 * include/grub/parser.h: Likewise.
1554 * include/grub/script_sh.h: Likewise.
1555 * include/grub/zfs/zfs.h: Likewise.
1556
7b3aca00
VS
15572013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1558
1559 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
1560
97dfe7e4
VS
15612013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1562
1563 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
1564 defined before trying to use it.
1565
bf919aa9
VS
15662013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1567
1568 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
1569 warning.
1570
f4ccf29d
VS
15712013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
1574 Use __unused__ rather than __used__ on gcc < 3.2.
1575
0d3a6f85
VS
15762013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1577
1578 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
1579 gcc < 4.0.
1580 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
1581
757e3eb7
VS
15822013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1583
1584 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
1585
fb320faf
VS
15862013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1587
1588 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
1589 * include/grub/emu/misc.h: Likewise.
1590
ea73acd2
VS
15912013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1592
1593 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
1594 cur_color.
1595
71237a6f
VT
15962013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
1597
1598 * grub-core/tests/checksums.h: Regenerated due to progress bar
1599 get_minimal_size changes.
1600
3d46c22f
BC
16012013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
1602
1603 Added `tr' command support.
1604
1605 * grub-core/commands/tr.c: New file.
1606 * grub-core/Makefile.core.def: Build rules for new module.
1607
1608 * tests/grub_cmd_tr.in: New test.
1609 * Makefile.util.def: Build rules for new test.
1610
47e0a61f
VT
16112013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
1612
1613 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
1614
946fd073
VT
16152013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
1616
1617 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
1618 * docs/gurb.texi: Likewise.
1619
9c13c576
VT
16202013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
1621
1622 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
1623 Pixmap highlighted section with east and west slices was displayed
1624 incorrectly due to negative width of the central slice.
1625
ad543f12
VT
16262013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
1627
1628 * docs/grub.texi: Graphical options information update.
1629 Removed outdated. Updated current. Inserted missed.
1630
6176a0cd
VS
16312013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 * docs/grub.texi: Mention few new platform-specific commands.
1634
9688cae2
VS
16352013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
1638 currently used so this doesn't really have any effect.
1639 Reported by: Douglas Ray <dougray>
1640
f7b69a3f
VS
16412013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1642
1643 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
1644 compilation but prevents gcc from displaying messages in non-Latin
1645 alphabets.
1646 * conf/Makefile.common: Likewise.
1647
ceca6ddf
HY
16482013-10-16 Hiroyuki YAMAMORI
1649
1650 Handle Japanese special keys.
1651 Reported by: Hiroyuki YAMAMORI.
1652 Codes supplied by: Hiroyuki YAMAMORI.
1653
ac48d334
VT
16542013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
1655
1656 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
1657
b2b71bff
VT
16582013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
1659
1660 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
1661 * docs/grub.texi: Likewise.
1662
669fc449
VS
16632013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1664
1665 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
1666 value in case of incomplete read.
1667 (grub_util_fd_write): Likewise.
1668
59381678
VS
16692013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1670
1671 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
1672
bacfefbb
VS
16732013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1674
1675 * util/grub-editenv.c (create_envblk_file): More from here ...
1676 * util/editenv.c (grub_util_create_envblk_file): ... to here.
1677
f7c49570
VS
16782013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1679
1680 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
1681 canonicalize file name before doing the rest.
1682
7b83ca44
VS
16832013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1684
1685 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
1686 mingw32.
1687
df1e64c9
VS
16882013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1689
1690 Define grub_util_is_directory/regular/special_file and
1691 use OS-dependent versions rather than to rely on stat().
1692
ec16e026
VS
16932013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 * util/grub-mkimage.c: Move backend part to ...
1696 * util/mkimage.c: ... here.
1697
4b4eeb3c
VS
16982013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1699
1700 Allow compilation with mingw64 albeit with warnings due to lack of
1701 %llx/%llu.
1702
1703 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
1704 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
1705 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
1706 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
1707 on mingw64.
1708 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
1709
f4e0adc0
VS
17102013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1711
1712 Remove leftover references to some of the system headers.
1713
e0127364
VS
17142013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1715
1716 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
1717 read.
1718
20d53541
VS
17192013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1720
1721 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
1722 of strerror.
1723
5a869940
VS
17242013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1725
1726 Split out blocklist retrieving from setup.c to
1727 grub-core/osdep/blocklist.c and add windows implementation since
1728 generic version doesn't work on NTFS on Windows due to aggressive
1729 unflushable cache.
1730
c06c7520
VS
17312013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1732
1733 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
1734 files.
1735
8f53bb3f
VS
17362013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1737
1738 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
1739 Cut tailing newline. Remove arbitrary limitation. Always use
1740 grub_util_tchar_to_utf8.
1741
148f1007
VS
17422013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1743
1744 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
1745 * tests/printf_unit_test.c (printf_test): Add %% tests.
1746 Reported by: Paulo Flabiano Smorigo.
1747
af3b06be
VS
17482013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1749
1750 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
1751 implement fsync.
1752
27f9d02e
VS
17532013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1754
1755 * configure.ac: Check for nvlist_lookup_string in nvpair since we
1756 use nvlist_lookup_string and don't use nvlist_print.
1757
f6a81f0a
VS
17582013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1759
1760 Add wrappers around rename, unlink, mkdir, opendir, readdir and
1761 closedir to handle filename charset translation.
1762
d7750b32
VS
17632013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1764
1765 * include/grub/emu/hostdisk.h: Move file operations to
1766 * include/grub/emu/hostfile.h: ... here.
1767
2859196e
VS
17682013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1769
1770 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
1771 unicode path.
1772
c018c968
VS
17732013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1774
1775 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
1776
7e45abce
VS
17772013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
1780 and remove export.h.
1781
23934da2
VS
17822013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1783
1784 * grub-core/kern/emu/error.c: Removed.
1785 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
1786 explicitly as it's already in libgnu.a.
1787
c11ebcc8
VS
17882013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
1791 config-util.h include.
1792
70671037
VS
17932013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1794
1795 Split emunet into platform-dependent and GRUB-binding parts. Keep
1796 platform-dependent part in kernel for easy access to OS functions.
1797
25ac643a
VS
17982013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1799
1800 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
1801 open/read/write.
1802
69ca5876
VS
18032013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1804
1805 * grub-core/osdep/windows/emuconsole.c: New file.
1806
d9d68ef0
AB
18072013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
1808
1809 * conf/Makefile.extra-dist: Add osdep/*/init.c
1810
58e211cc
VS
18112013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1812
1813 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
1814
588744d0
VS
18152013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1816
1817 * util/grub-probe.c (probe): Separate different drives in hint-str
1818 by spaces and not newlines.
1819 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
1820
44016e52
AB
18212013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
1822
1823 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
1824 Handle CD-ROMs.
1825
6de9ee86
VS
18262013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1827
1828 Pass-through unknown E820 types. It required reorganisation of mmap
1829 module.
1830
f8f3f155
AB
18312013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
1832
1833 * Makefile.util.def: Add osdep/init.c to grub-mount files.
1834
b73249d2
VS
18352013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1836
1837 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
1838 fseeko.
1839
dac86b18 18402013-10-14 qwertial <qwertial>
1841
1842 * grub-core/gdb_grub.in: Fix overflow and wrong field.
1843
17614b84
JM
18442013-10-14 Jon McCune <jonmccune@google.com>
1845
1846 * docs/grub.texi: Document new signatures possibility.
1847
6de292cb
VS
18482013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
1851
84379b61
VS
18522013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1853
1854 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
1855 missing prototype.
1856 (grub_util_tchar_to_utf8): Likewise.
1857
21d85db1
VS
18582013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
1861 * grub-core/kern/emu/main.c: Add missing include.
1862 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
1863 Don't call grub_util_init_nls.
1864 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
1865 Likewise.
1866
66a1b3ee
VS
18672013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1868
1869 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
1870 stat.
1871
e19bec17
VS
18722013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1873
1874 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
1875
ee8c1b29
VS
18762013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
1879
bb338aaf
VS
18802013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1881
1882 Add a wrapper for fopen. On unix-like systems just pass-through. On
1883 windows use unicode version.
1884
ae5540d3
VS
18852013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1886
1887 Move set_program_name and init_nls to host_init. On windows
1888 fix in this fuction console and argument charset as well.
1889
4cd3c4fe
AB
18902013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
1891
1892 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
1893 GRUB_ENABLE_CRYPTODISK.
1894
1895 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
1896 GRUB_ENABLE_CRYPTODISK.
1897 * util/grub-mkconfig_lib.in: Likewise.
1898
78170f3e
CCZ
18992013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
1900
1901 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
1902
3414b6c0
MC
19032013-10-12 Melki Christian <Christian.melki@saabgroup.com>
1904
1905 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
1906 error when enabling debug.
1907
6d0740e8
IB
19082013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
1909
1910 * configure.ac: Use -melf_*_obsd on openbsd.
1911
ff2d4dc4
VS
19122013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
1913
1914 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
1915
eac6ae82
VS
19162013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
1917
1918 * include/grub/misc.h: Use gnu_printf rather than printf as format
1919 template since our functions are independent of libc.
1920
ba9baabe
VS
19212013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
1922
1923 * util/grub-setup.c (setup): Move copying of partition table as
1924 futher up as possible to avoid possible overwrite by floppy routines.
1925
19262013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
1927
1928 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
1929
145e2369
VT
19302013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
1931
1932 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
1933 * docs/grub.texi: Likewise.
1934
3530bc9d
VS
19352013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1936
1937 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
1938 it's mostly unused. Move vestiges to the callers.
1939
fb9f59c3
VS
19402013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1941
1942 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
1943 version of salt and hash. Use grub_snprintf rather than snprintf.
1944
9be1c255
VS
19452013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1946
1947 * docs/grub.texi: Fix problem with braces.
1948
ed8c0887
VS
19492013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1950
1951 * conf/Makefile.extra-dist: Fix extra-dist list.
1952 * grub-core/Makefile.core.def: Likewise.
1953
f72ab14e
VS
19542013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1955
1956 * docs/grub.texi: Document disk names used on Windows and AROS.
1957
2fe53a22
VS
19582013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1959
1960 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
1961 with AROS devs.
1962 * grub-core/osdep/aros/hostdisk.c: Likewise.
1963
71c1d67a
VS
19642013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1965
1966 Avoid including hostfile.h when not necessarry as it pulls
1967 in OS-specific headers which may redefine generic names
1968 like "far".
1969
ad297ec7
VT
19702013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
1971
1972 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
1973 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
1974 scrollbar_bottom_pad
1975 * docs/grub.texi: Likewise.
1976
6e9e5dc9
VT
19772013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
1978
1979 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
1980
761c718b
VS
19812013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1982
1983 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
1984
37149a2f
VS
19852013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
1988 Removed.
1989 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
1990 Made static.
1991
3837a151
VS
19922013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1993
1994 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
1995 leftover.
1996
caca1c70
VS
19972013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1998
1999 Move OS-specific driver configuration to grub_util_fd_open. This
2000 moves OS-dependent parts from kern/emu/hostdisk.c to
2001 grub-core/osdep/*/hostdisk.c.
2002
f7676b70
VS
20032013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2004
2005 * util/grub-mkimage.c (generate_image): Use size_t instead of
2006 grub_size_t.
2007 * util/grub-mkimagexx.c (locate_sections): Likewise.
2008 (load_image): Likewise.
2009
22f98db2
VS
20102013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2011
2012 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
2013 size_t.
2014 (grub_util_write_image): Likewise.
2015
b102ce69
VS
20162013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2017
2018 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
2019 get random when no RNG is available.
2020 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
2021
acbbe5cb
VS
20222013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2023
2024 * include/grub/util/lvm.h: Removed.
2025
2112fb3f
VS
20262013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2027
2028 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
2029 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
2030
79f78fbf
VS
20312013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2032
2033 * grub-core/osdep/windows/sleep.c: Add missing config.h.
2034
c2e6f705
VS
20352013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
2038
aabe433a
VS
20392013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2040
2041 * grub-core/net/drivers/emu/emunet.c: Move to ..
2042 * grub-core/osdep/linux/emunet.c: ..here.
2043
9a2c903f
VS
20442013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2045
2046 * util/ieee1275/ofpath.c: Move to ...
2047 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
2048 * grub-core/osdep/basic/ofpath.c: ..here.
2049
4a445f58
VS
20502013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2051
2052 Move password-querying (util-version) routines to grub-core/osdep.
2053
c1ca4244
VS
20542013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 Move sleep routines to grub-core/osdep.
2057
672fa55e
VS
20582013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2059
2060 Move OS-dependent files to grub-core/osdep and document it.
2061
a5b0365a
VS
20622013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2063
2064 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
2065 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
2066
29072e99
VS
20672013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2068
2069 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
2070
f8772ea7
VS
20712013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * util/misc.c: Remove leftover inclusion of malloc.h.
2074
a1a315e7
VS
20752013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2076
2077 * include/grub/setjmp.h: Remove leftover GRUBOF.
2078
cef86fef
VS
20792013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2080
2081 * util/raid.c: Fold into ...
2082 * util/getroot_linux.c: ... here. Make all functions static.
2083
c4cf25ee
VS
20842013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2085
2086 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
2087 macros to GRUB ones.
2088
53a5f5c2
VT
20892013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2090
2091 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
2092 occasional bug. If there are too many boot entries or too low
2093 scrollbar height then we need to use another formula to calculate
2094 the position and size of the scrollbar thumb.
2095
de300af2
VS
20962013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2097
c4cf25ee 2098 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 2099
c5827364
VT
21002013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2101
2102 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
2103 * docs/grub.texi: Likewise.
2104
dd2ed8b0
VT
21052013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2106
2107 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
2108 viewport.
2109
7286c384
VT
21102013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2111
ffdfc1f3
VT
2112 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
2113 minimal width calculations.
7286c384 2114
ea547e14
VS
21152013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2116
2117 * docs/grub.texi: Update note on colors on emu console.
2118
b726be76
VS
21192013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
2122 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
2123 it's FS and not GRUB limitation.
2124
a5f6ade6
VS
21252013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2126
2127 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
2128
3b0f3aa2
VS
21292013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2130
2131 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
2132
1db38304
ST
21332013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
2134
2135 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
2136 kernels by version order.
2137
fb295fc0
VS
21382013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2139
2140 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
2141
47345010
VS
21422013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2143
2144 Add AROS hostdisk and getroot routines.
2145
bf25f879
VS
21462013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2147
2148 Make cryptodisk and diskfilter probe data retrievable programmatically
2149 and not just printable.
2150
24ca4512
VS
21512013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2152
2153 Split random retrieving code into separate files.
2154
c7c177f0
VS
21552013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2156
2157 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
2158 R_ARM_V4BX.
2159
d71b45ae
VS
21602013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2161
2162 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
2163 condition.
2164 * grub-core/tests/fake_input.c: Likewise.
2165 * grub-core/tests/cmdline_cat_test.c: Likewise.
2166
e44b9a83
VS
21672013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2168
2169 * grub-core/video/capture.c: Do not do finalization when .fini
2170 is called as there is explicit capture_end.
2171
4fa60739
VS
21722013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2173
2174 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
2175 changing windows to avoid crash.
2176
17c8bc37
VS
21772013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2178
2179 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
2180
9d4d7977
VS
21812013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2182
2183 * po/exclude.pot: Add several strings to exclude.
2184
0caa407c
VS
21852013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
2188
9ae393da
VS
21892013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2190
2191 * autogen.sh: Add ./util/grub-gen-widthspec.c and
2192 ./util/grub-gen-asciih.c to exclude list.
2193
498d5033
VS
21942013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
2197 and don't mark error strings for translation.
2198
7d93298f
VS
21992013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2200
2201 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
2202 properly in case of missing block size.
2203
b2cae20c
VS
22042013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2205
2206 * grub-core/lib/arm/setjmp.S: Add missing license section.
2207
3896d6b4
VS
22082013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2209
2210 * po/swiss.sed: Add replacement for key names and for term computer.
2211
ebc1da55
VT
22122013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
2213
2214 * grub-core/gfxmenu/theme_loader.c: New global options for the
2215 theme background image handling. desktop-image-scale-method,
2216 desktop-image-h-align, desktop-image-v-align.
2217 * grub-core/gfxmenu/view.c: Likewise.
2218 * include/gfxmenu_view.h: Likewise.
2219 * include/bitmap_scale.h: Proportional scale functions introduced.
2220 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
2221 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
2222 cases of unexpected input variables for scale functions.
2223 * docs/grub.texi: Updated documentation for new options.
2224
c5739143
VS
22252013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
2226
2227 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
2228
be74aeb3
VT
22292013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
2230
2231 * grub-core/tests/checksums.h: Corrected due to changes in
2232 bilinear interpolation function.
2233
d999ac72
VT
22342013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
2235
2236 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
2237 to eliminate artefacts in bilinear interpolation.
2238
2b131610
VS
22392013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2240
2241 * grub-core/video/readers/tga.c: Support paletted tga.
2242
de6e5ff8
VS
22432013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2244
2245 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
2246 incorrect cbcr setting when in color mode.
2247
fa31ee9c
VS
22482013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2249
2250 * grub-core/video/readers/png.c: Support paletted images and clean up
2251 greyscale support.
2252
e84f8188
VS
22532013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2254
2255 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
2256 usage of wrong table which resulted in mishandling of 4-byte
2257 sequences.
2258
22592013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
2260
2261 * grub-core/term/terminfo.c: Add Home and End key sequences.
2262
d72bff09
VS
22632013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2264
2265 * grub-core/video/readers/png.c (grub_png_decode_image_header):
2266 Fix formula for computing total number of bytes.
2267
29648c5d
VS
22682013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
2271 image processing, fix big-endian and support grayscale.
2272
4a876492
VS
22732013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
2276 Correctly will with maximum transparency when using index color.
2277
3ccf16df
VS
22782013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2279
2280 * grub-core/video/readers/png.c: Support grayscale
2281
22822013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
2283
2284 * grub-core/video/readers/jpeg.c: Support grayscale.
2285
3ccf16df 22862013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
2287
2288 * grub-core/commands/loadenv.c: Support skipping signature check
2289 and variable names filtering.
2290
30b7f58f
VS
22912013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2292
2293 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
2294 * grub-core/kern/emu/hostfs.c: Likewise.
2295 * util/getroot_unix.c: Likewise.
2296
bab7b1eb
VS
22972013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
2300 Migrate all explicit defines to this new one.
2301
43b1c99d
VS
23022013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
2305 grub_util_fd_strerror when using grub_util_fd_*.
2306 (grub_util_fd_open_device): Likewise.
2307 (grub_util_biosdisk_read): Likewise.
2308 (grub_util_biosdisk_write): Likewise.
2309 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
2310 (grub_util_fd_strerror): Likewise.
2311 (grub_util_fd_sync): Likewise.
2312 (grub_util_fd_close): Likewise.
2313 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
2314 (grub_util_fd_close): Likewise.
2315 (grub_util_fd_strerror): Likewise.
2316 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
2317 function proto rather than macro.
2318 (grub_util_fd_sync): Likewise.
2319 (grub_util_fd_open): Likewise.
2320 (grub_util_fd_strerror): New proto.
2321
e8fd80bc
VS
23222013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
2325 platforms on which it doesn't work.
2326
bf645fda
VS
23272013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2328
2329 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
2330 stat immediately to where it's used.
2331
5177ba14
VS
23322013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2333
2334 * util/getroot.c (grub_util_check_block_device): Move to ...
2335 * util/getroot_unix.c (grub_util_check_block_device): ... here.
2336 * util/getroot.c (grub_util_check_char_device): Move to ...
2337 * util/getroot_unix.c (grub_util_check_char_device): ... here.
2338
9db826e1
VS
23392013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
2342 disk closing logic.
2343
49120085
AB
23442013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
2345
2346 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
2347
b3328b68
AB
23482013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
2349
2350 * docs/grub.texi (File name syntax): Document ZFS filenames
2351 (/volume@snapshot/...).
2352
3fff48ab
VS
23532013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
2356 Always return full path. Fixes a problem with mkrelpath.
2357
39cfdaa9
PFS
23582013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2359
2360 * util/grub-install.in: Add GPT PReP support.
2361 * util/grub-probe.c (probe): Support GPT partition type.
2362 (main): Support -t gpt_parttype.
2363
7c680e1f 23642013-09-23 Aleš Nesrsta <starous@volny.cz>
2365
2366 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
2367
890bdabe
MM
23682013-09-23 Massimo Maggi <me@massimo-maggi.eu>
2369
2370 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
2371
9c262ff9
TH
23722013-09-23 Tim Hardeck <thardeck>
2373
2374 * util/grub.d/10_hurd.in: Filter out character for the class.
2375 * util/grub.d/10_kfreebsd.in: Likewise.
2376 * util/grub.d/10_linux.in: Likewise.
2377 * util/grub.d/20_linux_xen.in: Likewise.
2378
d755342a
MC
23792013-09-23 Melki Christian <Christian.melki@saabgroup.com>
2380
2381 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
2382 "changed".
2383
68b77707
JT
23842013-09-23 Josh Triplett <josh@joshtriplett.org>
2385
2386 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
2387 boot partition.
2388
efa68bfa
VS
23892013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2390
2391 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
2392 doesn't use posix_wrap. Keep literal -fno-builtin however.
2393
d9104204
VS
23942013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2395
2396 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
2397
c248781a 23982013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
23992013-09-23 neil
2400
5830df88 2401 * configure.ac: Do not enable -Wmissing-noreturn as its
2402 usefulness is limited and creates problems on some OS notably with
2403 code generated by bison.
2404
24052013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
24062013-09-23 neil
2407
2408 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 2409 supported by all gcc and when it is, it's already enabled by -Wall.
2410
621bed69
VS
24112013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2412
2413 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
2414 desactivated use of EDID at all.
2415
71764dc8 24162013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
24172013-09-23 neil
2418
2419 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
2420 video if no text is available.
2421
affce7d4 24222013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
24232013-09-23 neil
2424
2425 * configure.ac: Substitute TARGET_RANLIB.
2426
24272013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
24282013-09-23 neil
affce7d4
VS
2429
2430 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
2431
2432 Based on patches from AROS.
2433
0e8daad0 24342013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 24352013-09-23 neil
0e8daad0
VS
2436
2437 * grub-core/Makefile.am: Override STRIP and RANLIB.
2438 * configure.ac: compute TARGET_RANLIB.
2439 * INSTALL: Document TARGET_RANLIB
2440
2441 Based on patches from AROS.
2442
3f7d9c82
VS
24432013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
2446 that floppies are unpartitioned.
2447
bca8873a
VS
24482013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2449
2450 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
2451 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
2452
24532013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2454
2455 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
2456 less nice but more portable.
2457 * grub-core/lib/posix_wrap/wchar.h: Likewise.
2458
a47a78be
VS
24592013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2460
2461 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
2462 for cheat_fd.
2463 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
2464 functions.
2465 (grub_cryptodisk_cheat_insert): Likewise.
2466 (grub_cryptodisk_close): Likewise.
2467
e85a5d5c
VS
24682013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2469
2470 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
2471 Use windows path for DEFAULT_DIRECTORY.
2472
dad9fa6b
VS
24732013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2474
2475 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
2476 difference was likely just gcc version, not anything mingw-related.
2477
7e518ca8
VS
24782013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2479
2480 Use Winapi on both cygwin and mingw32 to share more code between both.
2481
d68d0157
AB
24822013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
2483
2484 * util/grub-install.in: Add --grub-editenv option.
2485 * util/grub-install_header (grub_compress_file): Explicitly check for
2486 plain file to avoid cp error.
2487
775b284d
AB
24882013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
2489
2490 * docs/grub.texi (Device syntax): Document new LVM UUID based device
2491 names; fix LVM driver name (lvm, not lv).
2492 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
2493 names.
2494
3ff4063d
VS
24952013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2496
2497 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
2498 files rather than one file with loads of #if's.
2499 * util/getroot.c: Likewise.
2500
287faafe
VS
25012013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2502
2503 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
2504
d1983764
VS
25052013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2506
2507 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
2508 GNU/Hurd to the list of checked PRNG.
2509
15ce95c4
VS
25102013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2511
2512 * configure.ac: On FreeBSD use -melf_*_fbsd format.
2513
207862dd 25142013-09-21 Ales Nesrsta <starous@volny.cz>
2515
7c680e1f 2516 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 2517
63653cfd
VS
25182013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2519
2520 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
2521 * grub-core/disk/lvm.c: Add LVM UUIDs.
2522 * util/getroot.c: Use LVM UUIDs whenever possible.
2523
f5d3e7ef
AB
25242013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
2525
2526 * docs/grub.texi (Networking commands): Add documentation for
2527 network related commands.
2528
53c6b7d6
VS
25292013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2530
2531 * util/getroot.c (grub_util_open_dm): Check major rather than the name
2532 to determine if device is handled by devmapper.
2533 (convert_system_partition_to_system_disk): Likewise.
2534 (get_dm_uuid): Don't check explicitly if device is mapped, it's
2535 already done in grub_util_open_dm.
2536
e70d6736
LL
25372013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
2538
2539 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
2540 Clean up stack manipulation (sync_caches_armv*)
2541
90379808
VS
25422013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2543
2544 * util/lvm.c: Remove since unused. Remove remaining references.
2545
386701a8
VS
25462013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2547
2548 Handle the case of partitioned LVM properly.
2549
2550 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
2551 Stop on meeting LVM, mpath or DMRAID.
2552 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
2553 (read_device_map): Likewise.
2554 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
2555 device is full disk rather than erroring out on LVM and similar cases.
2556
53070787
VS
25572013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2558
2559 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
2560
1bc783bd
VS
25612013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2562
2563 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
2564 4K before the end.
2565 Reported by: Leif Lindholm
2566
436ad5c3
PW
25672013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
25682013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2569
2570 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
2571 codes.
2572
607319c9
CW
25732013-09-18 Colin Watson <cjwatson@ubuntu.com>
2574
2575 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
2576 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
2577
d404d154
DR
25782013-09-18 Douglas Ray <dougray@cpan.org>
2579
2580 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
2581 as secure.
2582
28851ef6
AN
25832013-09-18 Aleš Nesrsta <starous@volny.cz>
2584
2585 * docs/grub.texi: Fix broken link.
2586
897c3bc6
MC
25872013-09-18 Melki Christian <Christian.melki@saabgroup.com>
2588
2589 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
2590 to break endless loop.
2591
f1630459
VS
25922013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2593
2594 * util/grub-fstest.c: Fix several printf formats.
2595 * util/grub-mkimage.c: Likewise.
2596 * util/grub-mkimagexx.c: Likewise.
2597 * util/grub-script-check.c: Likewise.
2598
64463dfd
VS
25992013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2600
2601 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
2602 error.
2603
48972495
VS
26042013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2605
2606 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
2607
5dd5e64b
VS
26082013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2609
2610 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
2611 removed in current versions cygwin_conv_*.
2612
1c1f31e5
VS
26132013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2614
2615 * configure.ac: Disable efiemu runtime on cygwin.
2616
c546a259
VS
26172013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2618
2619 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
2620 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
2621
81690478
VS
26222013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2623
2624 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
2625 error message.
2626
6b87c10a
VS
26272013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2628
2629 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
2630 windows variant.
2631 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
2632 data.
2633
8f0baaac
VS
26342013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2635
2636 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
2637 when on x86 and not cygwin.
2638 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
2639 -Wl,-melf_x86_64.
2640
b224c266
VS
26412013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2642
2643 * configure.ac: Set CPP to build one when checkoing for freetype for
2644 build.
2645
506b336b
VS
26462013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2647
2648 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
2649 [!GRUB_BUILD]: Remove has_argument.
2650
8c8c87b7
VS
26512013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2652
2653 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
2654 Replace with a dummy.
2655
7dc5ca13
VS
26562013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2657
2658 * configure.ac: Don't change host_os from mingw to cygwin.
2659
c3302aa5
VS
26602013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2661
2662 * configure.ac: Change target_os from windows to cygwin.
2663
7b780018
VS
26642013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2665
2666 Handle grub-pe2elf and grub-mkfont for cases when build != host.
2667
2668 * Makefile.am (build-grub-mkfont): Don't include gnulib.
2669 (build-grub-gen-asciih): Likewise.
2670 (build-grub-gen-widthspec): Likewise.
2671 * Makefile.util.def (grub-pe2elf): Remove.
2672 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
2673 * configure.ac: Separate tests for build.
2674 Move ./build-grub-pe2elf to grub-core.
2675 Fix typo.
2676 * grub-core/Makefile.am (build-grub-pe2elf): New target.
2677 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
2678 defined.
2679 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
2680 constants.
2681 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
2682 * util/grub-pe2elf.c: Simplify not to rely on getopt.
2683 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
2684
984cfd8a
VS
26852013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2686
2687 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
2688 mingw32 as well based on grub_util_get_disk_size.
2689 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
2690 grub_util_get_fd_size.
2691 (sync): Removed.
2692 (fsync): Moved to ...
2693 * grub-core/kern/emu/misc.c (fsync): ... here.
2694
f82d79c9
VS
26952013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2696
2697 * include/grub/mm.h (grub_extend_alloc): Remove.
2698 * grub-core/loader/i386/pc/plan9.c: Use own version of
2699 grub_extend_alloc with appropriate types.
2700
fd7dd66d
VS
27012013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2702
2703 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
2704
43ffba7c
VS
27052013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2706
2707 * util/getroot.c: Include sys/wait.h only when we need waitpid.
2708
3c7eac44
VS
27092013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2710
2711 Fix dependencies on cygwin.
2712
2713 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
2714 dependencies when used and defined.
2715 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
2716
bdb5ba47
VS
27172013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2718
2719 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
2720 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
2721
ed7fbf43
VS
27222013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2723
2724 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
2725 implementation available to cause compile-time rather than runtime
2726 error.
2727
fc46e9fc
VS
27282013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2729
2730 * util/grub-fstest.c: Don't check for symlinks on windows.
2731
7f68269a
VS
27322013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2733
2734 * INSTALL: Mention unavailability of man pages when cross-compiling.
2735
8ed358e0
VS
27362013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2737
2738 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
2739 and gcry_log_bug.
2740 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
2741
fc97214f
VS
27422013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2743
2744 * INSTALL: Document cross-compilation.
2745 * acinclude.m4: Determine whether nm support -P and --defined-only.
2746 * configure.ac: Add TARGET_ to all variables pertaining to target
2747 that don't have it yet.
2748 * gentpl.py: Likewise.
2749 * grub-core/Makefile.am: Likewise.
2750 * grub-core/genmod.sh.in: Likewise.
2751 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
2752 as well.
2753
ca1fb563
IB
27542013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
2755
2756 * configure.ac: Remove -Wempty-body. It's not essential and needs
2757 recent gcc.
2758
0031b229
IB
27592013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
2760
2761 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
2762 * util/getroot.c: Likewise.
2763
54ea2f44
VS
27642013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 * grub-core/disk/ahci.c: Add needed explicit cast.
2767 * grub-core/lib/backtrace.c: Likewise.
2768 * grub-core/net/ip.c: Likewise.
2769 * grub-core/net/tcp.c: Likewise.
2770 * grub-core/net/udp.c: Likewise.
2771
3c601f8c
VS
27722013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2773
2774 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
2775
1d679dda
VS
27762013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2777
2778 * util/import_gcry.py: Add final newline in visibility.h.
2779
00c28dd9
VS
27802013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2781
2782 * conf/Makefile.common: Fix typo.
2783
32af299a
VS
27842013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
2787
e733cf52
VS
27882013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2789
2790 * Makefile.am (widthspec.h): Fix typo.
2791 * util/grub-gen-widthspec.c: Likewise.
2792
c6b066f2
VS
27932013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2794
2795 Move ascii.h and widthspec.h generation to a separate build-time-only
2796 tool.
2797
ad1fe3f9 27982013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
2799
2800 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
2801 Always fill bootdisk info and improve check for NetBSD disklabel.
2802
92a52dd4
VS
28032013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2804
2805 * conf/Makefile.extra-dist: Add util/bin2h.c.
2806 Reported by: floppym.
2807
b2e9d276
VS
28082013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2809
2810 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
2811
7b966834
VS
28122013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2813
2814 * configure.ac: Disable unifont and starfield if no freetype was found.
2815
d5c1eef1
VS
28162013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
2819 on NetBSD and OpenBSD.
2820
66345b50 28212013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
2822
2823 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
2824
66345b50 28252013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
2826
2827 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
2828 reduced. Inheritant options are processed during the theme loading.
2829
66345b50 28302013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
2831
2832 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
2833
369508b3
AS
28342013-08-14 Avik Sil <aviksil@in.ibm.com>
2835
2836 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
2837
28382013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
2839
2840 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
2841 using qemu.
2842
6f27a3f6
PFS
28432013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2844
2845 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
2846 remove-potcdate.sed.
2847
c6ed362a
AB
28482013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
2849
2850 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
2851 unused attribute from pull argument.
2852
5e7d9464
AB
28532013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
2854
2855 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
2856 memory leak.
2857
dea55e2a
AB
28582013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
2859
2860 * util/getroot.c (pull_lvm_by_command): add --separator option
2861 to vgs call to disable padding of output to 10 characters.
2862
f0b94ded
VS
28632013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2864
2865 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
2866 here ...
2867 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
2868 here.
2869
b828fb5d
VS
28702013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2871
2872 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
2873 length.
2874
7c9d0c39
VS
28752013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 Fix handling of build-time grub-bin2h and grub-mkfont when doing
2878 full Canadian cross. Tested with build=x86_64, host=arm,
2879 target=ppc-ieee1275.
2880
816719c8
VS
28812013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2882
2883 * configure.ac: Error if no $BUILD_CC could be found.
2884 Reported by: DevHC.
2885
2af2353b
VS
28862013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2887
2888 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
2889 i386-multiboot.
2890
797abd0a
VS
28912013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2892
2893 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
2894 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
2895
36e87d25
CW
28962013-08-13 Colin Watson <cjwatson@ubuntu.com>
2897
2898 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
2899 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
2900 falling back to the partition device, otherwise a later call to this
2901 function may fail spuriously.
2902 Reported by Axel Beckert. Fixes Debian bug #708614.
2903
273349fe
GS
29042013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
2905
2906 * autogen.sh: Replace find -not by the POSIX-compliant find !.
2907
418f86c6
GS
29082013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
2909
2910 Prevent shadowing of stdlib's devname(3) on BSD.
2911
2912 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
2913 and devlast to diskname and disklast, respectively.
2914
c137aea0
CW
29152013-08-11 Colin Watson <cjwatson@ubuntu.com>
2916
2917 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
2918
272dc8df 29192013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
2920
2921 * docs/grub.texi: Introduce terminal window position options:
2922 terminal-left: terminal window's left position
2923 terminal-top: terminal window's top position
2924 terminal-width: terminal window's width
2925 terminal-height: terminal window's height
2926 terminal-border: terminal window's border width
2927 * grub-core/gfxmenu/theme-loader.c: Likewise.
2928 * include/grub/gfxmenu_view.h: Likewise.
2929 * po/exlude.pot: Likewise.
2930 * grub-core/gfxmenu/view.c: Likewise.
2931 Also updated minimal window size.
2932 Also terminal_sanity_check function has been introduced.
272dc8df
VT
2933 * grub-core/tests/checksums.h: Update (terminal window height
2934 is adjusted now for low resolution screen)
b4743461 2935
748a4533
VS
29362013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2937
2938 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
2939 position).
2940
fca5f944
VS
29412013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2942
2943 * po/exclude.pot: Add few recent exceptions.
2944
4f47d809
VS
29452013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2946
2947 * tests/grub_func_test.in: Add unicode.pf2.
2948
a62ae90c
VS
29492013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
2952 standard rather than noral color, in line with other terminals.
2953
4ed41392
VS
29542013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2955
2956 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
2957 analysis.
2958
3719fbc5
VS
29592013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2960
2961 * grub-core/loader/arm/linux.c: Change printf to dprintf.
2962
459b1d91
VS
29632013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2964
2965 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
2966 inappropriate printf.
2967
f4e1ab9d
AB
29682013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
2969
2970 * .bzrignore: Remove grub-core/lib/dtc-grub,
2971 grub-core/Makefile.libfdt.def
2972 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
2973
fa471bfa
VS
29742013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2975
2976 * include/grub/video.h (grub_video_register): Keep double-linked as
2977 well as single-linked invariants.
2978 Reported by: qwertial.
2979
d65be02b
VS
29802013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2981
2982 * grub-core/commands/nativedisk.c (get_uuid): Handle
2983 GRUB_DISK_DEVICE_UBOOTDISK_ID.
2984
ba8bc620
VT
29852013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
2986
2987 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
2988 maximum of NW, N, NE heights instead of N's height and maximum of
2989 NW, W, SW widths instead of W's width. (So the box will be always
2990 correctly drawn)
2991
4f0ad029
GS
29922013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
2993
2994 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
2995 Fix misuse of variable count.
2996
43d53b72
LL
29972013-07-18 Leif Lindholm <leif.lindholm@arm.com>
29982013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
29992013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 3000
43d53b72
LL
3001 New ports to arm-uboot and arm-efi.
3002 Mostly by Leif Lindholm with some additions from
3003 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 3004
88f8d146
VS
30052013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3006
3007 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
3008 and not before.
3009 Reported by: Leon Drugi.
3010
3f42504c
VS
30112013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3012
3013 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
3014 Reported by: Paulo Flabiano Smorigo.
3015
d110499b
VT
30162013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3017
3018 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
3019
a8674ad3
VT
30202013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3021
3022 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
3023
286fe4b3
VS
30242013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3025
3026 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
3027
1bd57aa3
VS
30282013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3029
3030 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
3031
7a87d69f
AB
30322013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
3033
3034 * grub-core/net/bootp.c: Export net_* variables.
3035 * grub-core/net/net.c: Likewise.
3036
b2182299
VS
30372013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3038
3039 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
3040
795b3dc0
VS
30412013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3042
3043 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
3044
68714c43
VS
30452013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3046
3047 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
3048
af211bab
VS
30492013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
3052
0036f02d
MM
30532013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3054
3055 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
3056 <= 0.
3057
6d0ddff3
MM
30582013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3059
3060 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
3061 functions.
3062
038016f4
MM
30632013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3064
3065 * grub-core/fs/zfs/zfs_lz4.c: New file.
3066 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
3067
776bdce2
MM
30682013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3069
3070 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
3071
c71dbd40
MM
30722013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3073
3074 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
3075 (check_pool_label): Likewise.
3076 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
3077
30782013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
3079
3080 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
3081
8e67b50f
AB
30822013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3083
3084 * docs/grub.texi (Commands): Document postition parameters
3085 for menuentry command.
3086
f5ae3717
AB
30872013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3088
3089 * util/grub-mknetdir.in: Remove stray line from help output.
3090
9c28da2a
VS
30912013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3092
3093 Remove early sm712 init as there is no reason for it (the "watchdog"
3094 effect was due to wrong GPIO map).
3095
139072b8
VS
30962013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3097
3098 * grub-core/commands/pcidump.c: Remove static variables.
3099
c6a61bda
VS
31002013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3101
3102 * grub-core/commands/sleep.c: Refresh screen before sleeping.
3103
51369614
VS
31042013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3105
3106 * configure.ac: Move delimiter after the infos.
3107
efa8640a
VS
31082013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
3111
6f80a7b2
VS
31122013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
3115 not filling whole 8x16 space.
3116
a2371e19
VS
31172013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
3120
64fce2d8
VS
31212013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 * configure.ac: Indicate which liblzma is used if any.
3124
eb272d84
PW
31252013-06-21 Paul Wise <pabs3@bonedaddy.net>
31262013-06-21 Craig Sanders <savannah@taz.net.au>
3127
3128 * util/grub-reboot.in: Document submenu usage.
3129
a9e5abee
CW
31302013-06-25 Colin Watson <cjwatson@ubuntu.com>
3131
3132 * .bzrignore: Update with a number of new test-related files.
3133
e639c204
CW
31342013-06-25 Colin Watson <cjwatson@ubuntu.com>
3135
3136 * util/grub-script-check.c: Fail on scripts containing no
3137 commands, to guard against corrupted grub-mkconfig setups that
3138 produce no useful output.
3139 * tests/grub_script_no_commands.in: New test.
3140 * Makefile.util.def (grub_script_no_commands): Add.
3141 Reported by Hans Putter. Fixes Debian bug #713886.
3142
a4c89b17
AB
31432013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3144
3145 * grub-core/disk/diskfilter.c: Forgot to remove comment
3146 from previous commit.
3147
5b06b53c
AB
31482013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3149
3150 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
3151 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
3152
702da5c9
AB
31532013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3154
3155 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
3156
aa62a5b7
AB
31572013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3158
3159 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
3160 rescan diskfilter devices until nothing new is found.
3161
4aa237c8
VS
31622013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3163
3164 Fix casts when compiling coreboot-specific code for 64-bit EFI.
3165
93d8479b
VS
31662013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3167
3168 Don't try to detect cbfs on *-emu.
3169
837222cc
VS
31702013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3171
3172 * grub-core/term/gfxterm.c: USe right background color when scrolling.
3173
99c971af
VS
31742013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3175
3176 Add support for processed coreboot payload chainloading.
3177
e6930a45
VS
31782013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3179
3180 Enable coreboot information commands even when not loaded as
3181 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
3182
5027af38
VS
31832013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3184
3185 Support for cbfs. Also factor out the part which is common
3186 for all archives to a separate module. This splits tar from cpio
3187 as they are very different but keeps cpio, cpio_be, odc and newc
3188 together since they're very similar.
3189
a5b55c4b
DM
31902013-06-15 David Michael <fedora.dm0@gmail.com>
3191
3192 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
3193 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
3194
0301a8b3
VS
31952013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 * tests/grub_script_eval.in: Really add the eval test.
3198
3d84cb17
VS
31992013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 Move flavour-specific parts out of common cpio.c file and
3202 rename remaining to cpio_common.c
3203
593e430c
AB
32042013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3205
3206 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
3207 off new function grub_script_execute_new_scope. Change callers to use
3208 either of them as appropriate.
3209 * grub-core/commands/eval.c: New command eval.
3210 * docs/grub.texi (Commands): Document it.
3211
63c29849
AB
32122013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3213
3214 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
3215 to fetch values when listing.
3216
cc284112
AB
32172013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3218
3219 Fix make dist on non-pc.
3220
32212013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
3222
3223 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
3224 without a device name.
3225
69544d1e
VS
32262013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3227
3228 Remove enable_executable_check as it's not needed anymore.
3229 Reported by: dougray.
3230
96dbe648
VS
32312013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3232
3233 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
3234 ambigouos RAID before discovering RAIDs on top of it.
3235 Reported by: bodom.
3236
ccfc0bdb
VS
32372013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3238
3239 Fix typo (failback vs fallback).
3240
f2587088
AB
32412013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
3242
3243 * util/grub.d/30_os-prober.in: Add support for probing EFI
3244 System Partition (as of os-prober 1.58).
3245
cec5cf0c
VS
32462013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3247
3248 * configure.ac: Add yet another path to unifont. For parabola.
3249
e40b4596
JT
32502013-05-30 Josh Triplett <josh@joshtriplett.org>
3251
3252 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
3253 handling to copy the killed characters to the kill buffer as
3254 UCS4 stored as grub_uint32_t rather than as 8-bit characters
3255 stored as char. Eliminates UCS4 truncation and corruption
3256 observed when killing characters with Ctrl-u and yanking them
3257 back with Ctrl-y.
3258
fc4c4fdd
VS
32592013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3260
3261 Detach optional parts of gfxterm and integrate in with coreboot init.
3262
6570b205
VS
32632013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 Move blit and fill dispatcher to appropriate files to decrease export
3266 and relocation overhead.
3267
b8323067
VS
32682013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3269
3270 * grub-core/font/font.c, include/grub/font.h: Inline simple font
3271 functions.
3272
3cc1878f
VS
32732013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3274
3275 * grub-core/Makefile.am: Fix compilation problem with some
3276 automake versions.
3277
4b80e43c
VS
32782013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
3281
57e0c20c
VS
32822013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3283
3284 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
3285 automake versions.
3286
4fd42c53
VS
32872013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3288
3289 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
3290 SSDT.
3291
1e908b34
RS
32922013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
3293
3294 * grub-core/partmap/dfly.c: New partition map.
3295
1359e474
VS
32962013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3297
3298 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
3299 checking.
3300 Reported by: Francesco Lavra.
3301
17806392
AB
33022013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
3303
3304 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
3305 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
3306 false conditions.
3307 * conf/Makefile.common: define dist_grubconf_DATA
3308
cdce14fa
VS
33092013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3310
3311 Progressively skip menu elements on small terminals rather
3312 than crashing.
3313
c8d6cc3c
VS
33142013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3315
3316 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
3317 to avoid losing last column.
3318
a73b31ce
VS
33192013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3320
3321 * po/exclude.pot: Add missing string "%C".
3322
1202c764
VS
33232013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3324
3325 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
3326 after the test.
3327
50268344
VS
33282013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3329
3330 * util/grub-install.in: Gettextize "Not found" message.
3331
62b15edf
VS
33322013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3333
3334 Fix distfiles list.
3335 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
3336
33372013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
3338
3339 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
3340 present.
3341 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
3342
709ad61b
VS
33432013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3344
3345 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
3346
d128901a
VS
33472013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3348
3349 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
3350 attribute since structure is not necessarily aligned.
3351
34b22f5c
AB
33522013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
3353
3354 * docs/grub.texi (Device syntax): Clarify description of network
3355 drives.
3356
0f7e980b
VS
33572013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3358
3359 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
3360 for vasprintf presence.
3361
30b03dc2
VS
33622013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3363
3364 * util/grub-install.in: Handle efibootmgr presence check.
3365 Reported by: Leif Lindholm.
3366
0dc11c08
VS
33672013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3368
3369 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
3370 new strings to translate.
3371
f8024c3f
VS
33722013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3373
3374 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
3375 yet another string (pun intended) to translate.
3376
b4c1da62
VS
33772013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3378
3379 * po/POTFILES-shell.in: Autogenerate it.
3380
0ef7478b
VS
33812013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3382
3383 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
3384
8200fa15
VS
33852013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3386
3387 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
3388 misnomer.
3389
091945b2
AB
33902013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
3391
3392 * docs/grub.texi (Network): Add description of net_default_interface,
3393 net_default_ip and net_default_mac. Rewrite variables description
3394 to emphasize that they are per-interface.
3395
0e7b2e32
VS
33962013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3397
3398 New test: cmdline and cat.
3399
16f7c8f6
VS
34002013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3401
3402 * grub-core/commands/cat.c: Show UTF-8 characters.
3403
3e912fda
VS
34042013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3405
3406 * conf/Makefile.common: Poison float and double on non-emu.
3407
ee0220bc
VS
34082013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3409
3410 * configure.ac: Don't disable extended registers on emu.
3411
89e0240c
VS
34122013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3413
3414 * configure.ac: Don't use extended registers on x86_64.
3415 Reported by: Peter Jones.
3416
e56d9637
VS
34172013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3418
3419 * grub-core/term/efi/console.c: Fix compile error.
3420
8098f655
VS
34212013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3422
3423 Compressed HFS+ support.
3424
16940e07
VS
34252013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3426
3427 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
3428 pixel".
3429
c5dbc13d
VS
34302013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3431
3432 Menu color test.
3433
011f8ae8
VS
34342013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3435
3436 * grub-core/tests/setjmp_test.c: New test.
3437
2aa072d7
VS
34382013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 New variables 'net_default_*' to determine MAC/IP of default interface.
3441
43fe02cb
VS
34422013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3443
3444 * tests/gettext_strings_test.in: A test to check for strings not
3445 marked for translation.
3446
bed06142
VS
34472013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3448
3449 * autogen.sh: Exclude unused libgcrypt files from translation.
3450
fb2666b5
VS
34512013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3452
3453 Simplify few strings.
3454
d22840ec
VS
34552013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 Mark few forgotten strings for translation.
3458
e34092fd
VS
34592013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3460
3461 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
3462 rather than printf.
3463
47cf82b4
VS
34642013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3465
3466 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
3467 rather than printf.
3468 * grub-core/video/readers/tga.c: Likewise.
3469
1eed0e6e
VS
34702013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3471
3472 * tests/priority_queue_unit_test.cc: New test.
3473
c5b7697b
VS
34742013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3475
3476 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
3477 than printf.
3478
5945c2f8
AB
34792013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
3480
3481 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
3482 variable for one time boot menu entry.
3483
fa292343
B
34842013-05-05 Bean <bean123ch@gmail.com>
3485
3486 * grub-core/commands/testspeed.c: New command testspeed.
3487
310d4214
VS
34882013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3489
3490 Factor-out human-size printing.
3491
85002bf3
VS
34922013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3493
3494 Agglomerate more mallocs to speed-up gfxterm.
3495
22b06e96
VS
34962013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 Speed-up gfxterm by slightly agglomerating mallocs.
3499
b7c036bc
VS
35002013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3501
3502 More video checks.
3503
92323d1f
VS
35042013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3505
3506 Speed-up gfxterm by saving intermediate results in index+alpha
3507 format.
3508
0fb356a3
VS
35092013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3510
3511 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
3512 test.
3513
44dea3f9
VS
35142013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3515
3516 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
3517 line of timeout as it may contain the rest of long line.
3518
14af86e4
VS
35192013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3520
3521 * grub-core/normal/main.c: Fix freed memory dereference.
3522
03f7c8c3
VS
35232013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3524
3525 Fix several memory leaks.
3526
c686014c
VS
35272013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3528
3529 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
3530
0788a695
VS
35312013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3532
3533 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
3534
daf01d61
VS
35352013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3536
3537 Fix test -a and -o precedence.
3538 Reported by: adrian15.
3539
82ae74d7
VS
35402013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3541
3542 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
3543
8cec7bd4
AB
35442013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
3545
3546 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
3547 and add it as source to functional_test module.
3548
aa73d688
VS
35492013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3550
3551 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
3552
c104b6f9
VS
35532013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3554
3555 New series of tests for gfxterm and gfxmenu.
3556
7391c4d5
VS
35572013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3558
3559 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
3560 the theme path relative to $prefix/themes.
3561
cff50118
VS
35622013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3563
3564 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
3565 Fix order bug.
3566 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
3567
7c332bdc
VS
35682013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3569
3570 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
3571 descriptor.
3572
a4f9a5ff
VS
35732013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3574
3575 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
3576 grub_gfxmenu_timeout_notifications.
3577 (grub_gfxmenu_view_destroy): Likewise.
3578
b5a2114d
VS
35792013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3580
3581 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
3582
a8905e8a
VS
35832013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3584
3585 Several fixes to ieee1275 and big-endian video.
3586
813c1622
VS
35872013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3588
3589 Add missing exports on mips.
3590
3f3e7326
VS
35912013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3592
3593 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
3594 if no unifont is found.
3595 Restore original keyboard.
3596
095accd1
VS
35972013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3598
3599 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
3600 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
3601
50361660
VS
36022013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3603
3604 First automated video test (running videotest and comparing results)
3605
cd0f6eec
VS
36062013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3607
3608 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
3609 instead of 2 to have full RGB/CMY test pattern.
3610
3f9634e5
VS
36112013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
3612
3613 Add few more tests.
3614
583e5b64
VS
36152013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
3616
3617 * include/grub/arc/arc.h: Account for missing "other" peripheral on
3618 ARCS. All users updated.
3619
aa7bcb99
VS
36202013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
3621
3622 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
3623
95ef1a54
VS
36242013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 * grub-core/partmap/amiga.c: Fix size of checksummed block.
3627
46546fc5
VS
36282013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3629
3630 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
3631 Reported by: qwertial.
3632
3476e0ef
VT
36332013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
3634
3635 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
3636 with syntax "XXX deg"/"XXX °".
3637
96f33fed
VS
36382013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3639
3640 Make PCI init in i386-qemu port more robust.
3641
36422013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
3643
3644 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
3645 cached view is reused.
3646 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
3647 open boot menus.
3648
c53b4e67
VS
36492013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3650
3651 Unify more code in grub-install_header.
3652
f7457fb2
VS
36532013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3654
3655 Add few new tests.
3656
e2f27a8c
VS
36572013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3658
3659 Enforce disabling of firmware disk drivers when native drivers kick in.
3660
ef9d8cd5
VS
36612013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3662
3663 * grub-core/commands/nativedisk.c: Customize the list of modules on
3664 platform. Don't try to search for disks already using native drivers.
3665
f7bf6c31
VS
36662013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3667
3668 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
3669 platforms.
3670
bdc4add8
VS
36712013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3672
3673 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
3674 handling of variables containing backslash.
3675
e9e46c9a
VS
36762013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
3679 dereference.
3680 Reported by: qwertial.
3681
0e90dee8
VS
36822013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3683
3684 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
3685
e0aacf24
VS
36862013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3687
3688 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
3689 dereference.
3690 Reported by: qwertial.
3691
3c0003c3
VS
36922013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3693
3694 * docs/grub.texi: Add a comment about usefullness of nativedisk.
3695
adb7d667
VS
36962013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3697
3698 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
3699
7cd0df84
VS
37002013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3701
3702 New command `nativedisk'.
3703
02adbb93
VS
37042013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3705
3706 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
3707 * grub-core/loader/i386/bsd.c: Likewise.
3708
9fb0fd4f
VS
37092013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3710
3711 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
3712
bd69257a
VS
37132013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3714
3715 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
3716 grub_get_unaligned16 rather than shifts.
3717
178c2764
VS
37182013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3719
3720 * grub-core/kern/file.c: Use const char * rather than casting to
3721 non-const.
3722
eadfad24
VS
37232013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3724
3725 * grub-core/commands/probe.c: Add missing grub_device_close.
3726
9f73ebd4
VS
37272013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3728
3729 * INSTALL: Document linguas.sh.
3730
965fa829
VS
37312013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3732
3733 Remove POTFILES.in and regenerate it in autogen.sh.
3734
d417ddc4
VS
37352013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3736
3737 Move --directory/--override-directorry to grub-install_header and unify.
3738
f97ec546
VS
37392013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3740
3741 * grub-core/term/morse.c: Macroify dih and dah.
3742
b2d7470c
PFS
37432013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3744
3745 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
3746
141e2a78
VS
37472013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3748
3749 * grub-core/term/ns8250.c: Systematically probe ports by writing
3750 to SR before using them.
3751
1dd70ebd
PFS
37522013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3753
3754 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
3755 disks.
3756 (check_sas): Get sas_adress info.
3757
c796a107
VS
37582013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3759
3760 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
3761 ports.
3762
43168646
LD
37632013-04-27 Leon Drugi <eyak>
3764
3765 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
3766 BSS clearing.
3767
e7b8fd08
VS
37682013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 Core compression test.
3771
17f9fd29
VS
37722013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3773
3774 Implement grub_machine_get_bootlocation for ARC.
3775
dc2a6c8b
VS
37762013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3777
3778 Improve AHCI detection and command issuing.
3779
f25a2ba6
VS
37802013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3781
3782 Fix pseries test.
3783
a6393224
VS
37842013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3785
3786 Make 'make check' work on emu.
3787
db99fbe8
VS
37882013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3789
3790 Replace libcurses with our own vt100 handling for the ease of testing
3791 and decreasing prerequisites.
3792
b24ca7cd
VS
37932013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
3796
63314aa4
VS
37972013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3798
3799 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
3800 compile when not needed.
3801
c1b00fff
VS
38022013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3803
3804 * tests/pseries_test.in: New test.
3805
f93e89ef
VS
38062013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3807
3808 Add test to check that different boot mediums work.
3809
c4b456d3
VS
38102013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3811
3812 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
3813 ofw limited ISO support.
3814
5fe67f39
VS
38152013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3816
3817 * configure.ac: Fix loongson conditional.
3818
7f63a64f
VS
38192013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3820
3821 Enable mipsel-arc.
3822
b04b5990
VS
38232013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3824
3825 Add serial on ARC platform.
3826
88d2f302
VS
38272013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3828
3829 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
3830 commit.
3831
86eb23bc
VS
38322013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3833
3834 * tests/partmap_test.in: Add missing double semicolon.
3835
eec3bb75
VS
38362013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3837
3838 * util/grub-mkrescue.in: Fix loongson filename.
3839
e0810df3
VS
38402013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3841
3842 * util/grub-mkrescue.in: Move all files that don't have a location
3843 set in stone under /boot/grub. Use ISO hard links rather than copies
3844 to save some space.
3845
65a6b30b
VS
38462013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3847
3848 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
3849 bogus SLOF values.
3850
6aff0107
VS
38512013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3852
3853 Make check work on mips-arc.
3854
5e013e56
VS
38552013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3856
3857 * util/grub-mkrescue.in: Alias sashARCS as sash.
3858
d1989e2e
VS
38592013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
3862 it's serial.
3863
1a25e72c
VS
38642013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3865
3866 * util/grub-install.in: Fix target fo qemu_mips.
3867 Fix extension on EFI.
3868
a59a9826
VS
38692013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3870
3871 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
3872 in front of chosen entry to mark it even if highlighting is lost.
3873
1a40f80c
VS
38742013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3875
3876 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
3877 gfxpayload=keep if cbfb is active.
3878
e343549c
VS
38792013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3880
3881 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
3882
45fbd9a2
VS
38832013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3884
3885 Add missing video ids to coreboot and ieee1275 video.
3886
ab1440bd
VS
38872013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3888
3889 * util/grub-mkrescue.in: Add mips-arc support.
3890
cdeb8324
VS
38912013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3892
3893 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
3894
8528c879
VS
38952013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3896
3897 Move mips-arc link address. Previous link address was chosen
3898 in belief that RAM on SGI platforms grows down while in fact it
3899 grows up from an unusual base.
3900
17fca573
VS
39012013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3902
3903 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
3904 Fix a type which prevented CD-ROM and floppy boot.
3905
d178788e
VS
39062013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3907
3908 Support coreboot framebuffer.
3909
3910 * grub-core/video/i386/coreboot/cbfb.c: New file.
3911
fe4c3e7e
VS
39122013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3913
3914 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
3915 detecting too small regions.
3916
ec2dd179
VS
39172013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3918
3919 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
3920
872dac83
VS
39212013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
3924 Remove dprintf.
3925 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
3926
90ec4b7f
VS
39272013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3928
3929 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
3930 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
3931 * grub-core/loader/powerpc/ieee1275/linux.c
3932 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
3933
f32555dd
VS
39342013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3935
3936 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
3937 Look for /boot-rom as well as /rom/boot-rom.
3938
38649799
VS
39392013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3940
3941 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
3942 handling when creating text_layer failed.
3943 * grub-core/video/video.c (grub_video_create_render_target):
3944 Set result to 0 on error.
3945 (grub_video_delete_render_target): Do not dereference NULL.
3946
aeace7f7
VS
39472013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3948
3949 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
3950 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
3951 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
3952 (grub_linux_load64): Mask out 2 high bits.
3953
4eafa175
AB
39542013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
3955
3956 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
3957 more place.
3958
daaa64bd
VS
39592013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3960
3961 Add support for pseries and other bootinfo machines to grub-mkrescue.
3962
3963 Tested by: Paulo Flabiano Smorigo.
3964
d0d2daa6
VS
39652013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3966
3967 * util/grub-mkrescue.in: Add GPT for EFI boot.
3968
b193e100
VS
39692013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3970
3971 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
3972 It improves performance in qemu.
3973
a0f8f3ac
VS
39742013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3975
3976 * build-aux/snippet: Add missing gnulib files.
3977
284df0e2
AB
39782013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
3979
3980 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
3981
740201f3
AB
39822013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
3983
3984 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
3985
a7e03923
PJ
39862013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
39872013-04-15 Peter Jones <pjones@redhat.com>
3988
3989 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
3990 sectors.
3991 Based on patch by Peter Jones.
3992
25fc51a8
VS
39932013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3994
3995 Fix DMRAID partition handling.
3996
88017d47
VS
39972013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3998
3999 * tests/grub_cmd_date.in: Skip on sparc64.
4000
fa7d914e
VS
40012013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4002
4003 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
4004 firmware error messages.
4005
cbe57a48
VS
40062013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4007
4008 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
4009 source and destination differ.
4010
21aecce0
VS
40112013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4012
4013 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
4014 detection.
4015
25092d29
VS
40162013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4017
4018 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
4019 match config-util.h to avoid warnings and increase compatibility.
4020
79451522 40212013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 40222013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
4023
4024 Add option to compress files on install/image creation.
4025
78b7d77b
VS
40262013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 * docs/grub-dev.texi: Rearrange menu to match the section order.
4029 Reported by: Bryan Hundven.
4030
cc2fa5ec
VS
40312013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4032
4033 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
4034
b49fe879
VS
40352013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4036
4037 Move GRUB out of system area when using xorriso 1.2.9 or later.
4038
5351da81
VS
40392013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4040
4041 * tests/grub_cmd_date.in: Add missing exit 1.
4042
c9d586ea
VS
40432013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4044
4045 * tests/partmap_test.in: Skip on sparc64.
4046
3f729741
VS
40472013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4048
4049 Support grub-shell on sparc64.
4050
8ca86b3a
VS
40512013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4052
4053 Support mkrescue on sparc64.
4054
aa1af9bb
VS
40552013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4056
4057 Allow IEEE1275 ports on path even if it wasn't detected automatically.
4058 Needed on OpenBIOS due to incomplete device tree.
4059
ac4fea79
VS
40602013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4061
4062 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
4063 would be otherwise excluded.
4064
40652013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
4066
4067 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4068 Inline name defines used only once.
4069
fe22b071
VS
40702013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4071
4072 Fix memory leaks in ofnet.
4073 Reported by: Francesco Lavra.
4074
9d21381b
VS
40752013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 * docs/man/grub-glue-efi.h2m: Add missing file.
4078
07aec23c
VS
40792013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4080
4081 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
4082
67ab8353
VS
40832013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4084
4085 Better support Apple Intel Macs on CD.
4086
ba44ca6d
VS
40872013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4088
4089 Replace stpcpy with grub_stpcpy in tools.
4090
bbdd6305
VS
40912013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4092
4093 Handle Japanese special keys.
4094 Reported by: Hiroyuki YAMAMORI.
4095 Codes supplied by: Hiroyuki YAMAMORI.
4096
8573d302
VS
40972013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4098
4099 * util/grub-mkimage.c: Document memdisk implying --prefix.
4100
d70dbab7
VS
41012013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4102
4103 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
4104 much we can do about it anyway.
4105
51a4c3e3
AN
41062013-04-12 Aleš Nesrsta <starous@volny.cz>
4107
4108 Fix handling of split transfers.
4109
92c8f58d
VS
41102013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4111
4112 * grub-core/net/http.c: Fix bad free.
4113
b7d17a49
VS
41142013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4115
4116 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
4117 than buffer size.
4118
a3d566d4
VS
41192013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4120
4121 Disable partmap check on i386-ieee1275 due to openfirmware issues.
4122
a936af56
VS
41232013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4124
4125 * tests/util/grub-shell.in: Fix it on powerpc.
4126
51212234
VS
41272013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4128
4129 Turn off QEMU ACPI-way since new releases don't have shutdown port
4130 anymore.
4131
a21eec9e
VS
41322013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4133
4134 * docs/grub.texi: Update coreboot status info.
4135
e3734b84
VS
41362013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4137
4138 * tests/grub_cmd_date.in: New test for datetime.
4139
f9d40055
VS
41402013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4141
4142 * tests/partmap_test.in: Fix missing qemudisk setting.
4143
dbc56d8f
VS
41442013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4145
4146 Support i386-ieee1275 grub-mkrescue and make check on it.
4147
a79b8a15
VS
41482013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4149
4150 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
4151 feature for it.
4152
48f39bb4
VS
41532013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4154
4155 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
4156 GRUB_CMDLINE_XEN_DEFAULT.
4157 Reported by: Marc Warne (GigaTux) <gigatux>
4158
053cfcdd
VS
41592013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4160
4161 Import new gnulib.
4162
93cd84df
VS
41632013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4164
4165 Use ACPI shutdown intests as traditional port was removed.
4166
f4b1fa4f
AB
41672013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
4168
4169 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
4170 distinction.
4171
49818a59
VS
41722013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4173
4174 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
4175 Fix few warining messages and leaks while on it.
4176
9277a306
AB
41772013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
4178
4179 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
4180 links under grub-core/lib/libgcrypt-grub/mpi.
4181
d5e2a158
VS
41822013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4183
4184 Fix ia64-efi image generation on big-endian machines. Deduplicate
4185 some code while on it.
4186 Reported by: Leif Lindholm.
4187
18866643
AB
41882013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
4189
4190 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
4191 as extra_dist.
4192
ca53deb8
AB
41932013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
4194
4195 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
4196
d4c4b8e1
BH
41972013-04-08 Bryan Hundven <bryanhundven@gmail.com>
4198
4199 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
4200 texinfo-5.1.
4201
47043f95
VS
42022013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4203
4204 * grub-core/normal/term.c: Few more fixes for menu entry editor
4205 rendering.
4206 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4207
a3216068
VS
42082013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4209
4210 * grub-core/normal/term.c: Few more fixes for menu entry editor
4211 rendering.
4212 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4213
21026747
AB
42142013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
4215
4216 * conf/Makefile.extra-dist (EXTRA_DIST): Add
4217 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
4218
59624ca8
AB
42192013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
4220
4221 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
4222 instead of hardcoding grub.mo.
4223
1f44478c
FN
42242013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
4225
4226 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
4227
eeada7b1
VS
42282013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4229
4230 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
4231 grub-core/disk/geli.c.
4232
132867de
VS
42332013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4234
4235 * util/grub-mkfont.c: Prefer enum to #define.
4236
de73de17
VS
42372013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4238
4239 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
4240
1865baa7
VS
42412013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4242
4243 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
4244
ce7d92a9
VS
42452013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4246
4247 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
4248
52eab656
VS
42492013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4250
4251 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
4252
98b23b95
VS
42532013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4254
4255 * include/grub/bsdlabel.h: Use enums.
4256
0467a5dd
VS
42572013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 Move GRUB_CHAR_BIT to types.h.
4260
16cc9f03
AB
42612013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
4262
4263 * docs/grub.texi: Document more user commands.
4264
3152aecb
AB
42652013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
4266
4267 * docs/grub.texi: Document menuentry --id option.
4268
c506fc30
FL
42692013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
4270
4271 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
4272
aa428238
VS
42732013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4274
4275 Unify file copying setup across different install scripts. Add
4276 options for performing partial install.
4277
efe0cdda
PJ
42782013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
42792013-04-04 Peter Jones <pjones@redhat.com>
4280
4281 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
4282
f75835bd
VS
42832013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4284
4285 Use TSC as a possible time source on i386-ieee1275.
4286
2cd5ce6c
VS
42872013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4288
4289 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
4290 Init err.
4291
c9625630
VS
42922013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4293
4294 * util/grub-setup.c (setup): Handle some corner cases.
4295
be008941
VS
42962013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4297
4298 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
4299
1a78d573
VS
43002013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4301
4302 * grub-core/commands/verify.c: Save verified file to avoid it being
4303 tampered with after verification was done.
4304
db8ff59f
VS
43052013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4306
4307 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
4308 reported width by one to compensate for curesor algorithm problem.
4309
91bf46b1
VS
43102013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4311
4312 Fix screen corruption in menu entry editor and simplify the code
4313 flow while on it.
4314
a7b1d693
AB
43152013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
4316
4317 * util/grub-mount.c (fuse_init): Return error if fuse_main
4318 failed.
4319
31df9ad8
FL
43202013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
4321
4322 * include/grub/elf.h: Add missing ARM relocation codes and fix
4323 existing ones.
4324
07f392eb
VT
43252013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
4326
4327 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
4328
9efd73ec 43292013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
43302013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4331
4332 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
4333 into account when calculating radius.
4334
43352013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
4336
4337 * grub-core/gfxmenu/view.c: Fix off-by-one error.
4338
4985ddaa
VT
43392013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
4340
4341 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
4342
8c3635ff
RS
43432013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
4344
4345 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
4346 missing closing bracket.
4347
74a35e69
RS
43482013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
4349
4350 * INSTALL: Mention xorriso requirement.
4351
40f1c000
AB
43522013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
4353
4354 * grub-core/commands/verify.c: Fix hash algorithms values for
4355 the first three hashes - they start with 1, not with 0.
4356
e75fdee4
VS
43572013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4358
4359 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
4360 Try terminating EFI services several times due to quirks in some
4361 implementations.
4362
33028f4c
CW
43632013-03-26 Colin Watson <cjwatson@ubuntu.com>
4364
4365 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
4366 skipping Event, Device, Processor, PowerRes, ThermalZone, and
4367 BankField extended opcodes.
4368 (get_sleep_type): Add minimal scope handling (just enough to
4369 handle setting the scope to the root path).
4370 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
4371 * include/grub/acpi.h: Add enumeration values for Event, Device,
4372 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
4373
33871a10
VT
43742013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
4375
4376 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
4377 memory leak.
4378
8990963a
VS
43792013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
4380
4381 * grub-core/disk/ahci.c: Give more time for AHCI request.
4382
daae8f9e
VS
43832013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
4384
4385 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
4386 command.
4387
6a7fb94b
VS
43882013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
4389
4390 Replace the region at 0 from coreboot tables to available in BSD
4391 memory map.
4392
ff99babd
VS
43932013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4394
4395 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
4396 non-BIOS platforms.
4397
30d6b1b2
VS
43982013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
4401 platforms.
4402
6ccd0b31
VS
44032013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4404
4405 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
4406 handling of multi-device filesystems.
4407
23c9cc04
VS
44082013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4409
4410 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
4411 platforms.
4412
ce50dbd7
VS
44132013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4414
4415 Add new 'proc' filesystem framework and put luks_script into it.
4416
d975e8d5
VS
44172013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4418
4419 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
4420 and qemu.
4421
e73ba5e8
VS
44222013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
4423
4424 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
4425
92750e4c
VS
44262013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
4427
4428 Add ability to generate newc additions on runtime.
4429
0ec45a68
VS
44302013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
4431
4432 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
4433 description.
4434
320abd43
VS
44352013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
4436
4437 * po/POTFILES.in: Regenerate.
4438
d7a6506e
VS
44392013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4440
4441 * grub-core/commands/verify.c (hashes): Add several hashes
4442 from the spec.
4443
8fe05def
VS
44442013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4445
4446 Slight improve in USB-related boot-time checkpoints.
4447
524e2766
VS
44482013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4449
4450 * grub-core/commands/boottime.c: Fix copyright header.
4451
cc19857a
VS
44522013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4453
4454 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
4455 coreboot tables content. Support for cbmemc.
4456
ef8810e9
VS
44572013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4458
4459 Fix a conflict between ports structures with 2 controllers of
4460 same kind.
4461
e9dabdfa
VS
44622013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4463
4464 * include/grub/boottime.h: Add missing file.
4465
f6df57d2
VS
44662013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4467
4468 Initialize USB ports in parallel to speed-up boot.
4469
d745dda7
VS
44702013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4471
4472 Fix USB devices not being detected when requested
4473 due to delayed attach.
4474
e5a2dd7b
VS
44752013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4476
e744219b
VS
4477 Implement boot time analysis framework.
4478
44792013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4480
4481 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
4482 descriptor to just receive it as argument rather than endpoint
4483 address.
4484
5dd6f587
VS
44852013-03-19 Aleš Nesrsta <starous@volny.cz>
4486
4487 Better estimate the maximum USB transfer size.
4488
2f1071d5
VS
44892013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
4490
4491 Resend a packet if we got the wrong buffer in status.
4492
46ecfc49
VS
44932013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4494
4495 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
4496 multiplication rather than division.
4497
ea811130
VS
44982013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4499
4500 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
4501 than divisions.
4502
d2789cf0
VS
45032013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4504
4505 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
4506 operations to have intended shifts and not divisions.
4507
a9c94590
VS
45082013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4509
4510 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
4511 intended shifts rather than division.
4512
84cfe81b
VS
45132013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4514
4515 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
4516 computation for some years before epoch. Avode confusing division
4517 while on it.
4518
21344ef6
VS
45192013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4520
4521 * grub-core/video/i386/pc/vbe.c
4522 (grub_video_vbe_print_adapter_specific_info): Replace division by
4523 shifts.
4524
3f2b4d1a
VS
45252013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4526
4527 Adjust types in gdb module to have intended unsigned shifts rather than
4528 signed divisions.
4529
3dac5878
VS
45302013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4531
4532 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
4533 maximum size is 4G - 1 on hfs
4534
5341c0fb
VS
45352013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4536
4537 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
4538
fc3ff2a2
VS
45392013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4540
4541 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
4542 function.
4543
81455e8e
AB
45442013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
4545
4546 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
4547 causing gcc error with gcc 4.7.1.
4548
efd4f117
NZ
45492013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
4550
4551 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
4552 dereference null pointer. While the code is technically correct, gcc
4553 may eliminate a null check if pointer is already dereferenced.
4554
e11645f4
NZ
45552013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
4556
4557 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
4558 OOM check.
4559 * grub-core/normal/term.c (read_terminal_list): Likewise.
4560
77468368
VS
45612013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
4562
4563 Lift up core size limits on some platforms. Fix potential memory
4564 corruption with big core on small memory systems. Document remaining
4565 limits.
4566
f6b58fe5
VS
45672013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4568
4569 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
4570 gotoxy to 0,0.
4571
19ce697d
VS
45722013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4573
4574 Remove all trampoline support. Add -Wtrampolines when
4575 present. Remove symbols used for trampolines to make
4576 link fail if trampolines are present.
4577
73b5d90f
VS
45782013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4579
4580 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
4581 append out of its parent.
4582
cb758e96
VS
45832013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4584
4585 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
4586 parent.
4587
3188131f
VS
45882013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4589
4590 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
4591 all vars to a macro. All users updated.
4592
e42b2514
VS
45932013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4594
4595 * grub-core/disk/ieee1275/nand.c: Fix compilation on
4596 i386-ieee1275.
4597
83e1a1a1
VS
45982013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4599
4600 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
4601
1d5a880f
VS
46022013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4603
4604 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
4605
6e4146c4
VS
46062013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 Move to more hookless approach in IEEE1275 devices handling.
4609
99fcda8a
VS
46102013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4611
4612 * grub-core/kern/term.c (grub_term_normal_color),
4613 (grub_term_highlight_color): Add back lost defaults.
4614
73bf57e2
VS
46152013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4616
4617 Make elfload not use hooks. Opt for flags and iterators instead.
4618
7f8c105f
VS
46192013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4620
4621 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
4622 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
4623
396d4091
VS
46242013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4625
4626 * grub-core/script/execute.c (gettext_append): Remove nested functions.
4627
46282013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4629
4630 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
4631 hook pass-through parameter. All users updated and unnested.
4632
74a27421
VS
46332013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4634
4635 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
4636 out of its parent.
4637
b46d4213
VS
46382013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4639
4640 * grub-core/fs/hfs.c: Remove nested functions.
4641
e114c3cc
VS
46422013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4643
4644 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
4645 the context through.
4646 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
4647
f9b7d780
VS
46482013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4649
4650 * util/grub-editenv.c (list_variables): Move print_var out of its
4651 parent.
4652
ca9c2608
VS
46532013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4654
4655 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
4656 function.
4657
5d983f5f
VS
46582013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4659
4660 * grub-core/gentrigtables.c: Make tables const.
4661
3056d3e7
VS
46622013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4663
4664 Remove nested functions from videoinfo iterators.
4665
e2303774
VS
46662013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4667
4668 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
4669 for 64-bit platforms.
4670
f42e3a2f
VS
46712013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4672
4673 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
4674 a FOR_CHILDREN macro.
4675
be174e5e
VS
46762013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4677
4678 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
4679 platform from firmware path.
4680
0789b672
VS
46812013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4682
4683 Enable linux16 on non-BIOS systems for i.a. memtest.
4684
4685 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
4686 correctly.
4687 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
4688
005a9c32
VS
46892013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4690
4691 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
4692 Fix end of table condition.
4693
ff2b3cd9
VS
46942013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4695
4696 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
4697 out of its parent.
4698
4fc40ff8
VS
46992013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4700
4701 * grub-core/fs/jfs.c: Remove nested functions.
4702
be42d97a
VS
47032013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4704
4705 * grub-core/fs/minix.c: Remove nested functions.
4706
99373ce4
VS
47072013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4708
4709 * grub-core/fs/iso9660.c: Remove nested functions.
4710
5aec2afe
VS
47112013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4712
4713 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
4714 of parent function.
4715
6c69e691
VS
47162013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4717
4718 * util/grub-fstest.c: Remove nested functions.
4719
43c91882
VS
47202013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4721
4722 * grub-core/loader/machoXX.c: Remove nested functions.
4723
4eb8b756
CW
47242013-02-27 Colin Watson <cjwatson@ubuntu.com>
4725
4726 Remove nested functions from disk and file read hooks.
4727
4728 * include/grub/disk.h (grub_disk_read_hook_t): New type.
4729 (struct grub_disk): Add read_hook_data member.
4730 * include/grub/file.h (struct grub_file): Likewise.
4731 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
4732 argument.
4733
4734 Update all callers.
4735
df6da5a5
AB
47362012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
4737
4738 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
4739 Fix off by one error in enumerating extended partitions.
4740
21aecde5
AB
47412013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
4742
4743 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
4744 memory leak if device name is not found.
4745
f1a19118
AB
47462013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
4747
4748 * grub-core/normal/menu_entry.c (update_screen): remove
4749 unused variable `off' which caused scroll down arrow to be always shown.
4750
958bfd20
AB
47512013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
4752
4753 * grub-core/normal/menu_entry.c (insert_string): fix off by one
4754 access to unallocated memory.
4755
b7b78edb
AB
47562013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
4757
4758 * Makefile.util.def: Add partmap/msdos.c to common library.
4759 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
4760 * grub-core/disk/ldm.c: Check for existence of
4761 GRUB_PC_PARTITION_TYPE_LDM.
4762
28d468d6
VS
47632013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4764
4765 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
4766 sizes and display sector size.
4767
d55ffb02
VS
47682013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4769
4770 Implement new command cmosdump.
4771
b5ea6ce0
VS
47722013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4773
4774 Support Openfirmware disks with non-512B sectors.
4775
4776 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
4777 size of the disk.
4778 * (grub_ofdisk_get_block_size): New function.
4779 * (grub_ofdisk_prepare): Use the correct block size.
4780 * (grub_ofdisk_read): Likewise.
4781 * (grub_ofdisk_write): Likewise.
4782 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
4783 New proto.
4784
cc0e476f
VS
47852013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4786
4787 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
4788
c5dbdc33
VS
47892013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4790
4791 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
4792 on first error.
4793
3f078c0f
VS
47942013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4795
4796 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
4797 freeing it.
4798
66a93674
VS
47992013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4800
4801 Implement USBDebug (full USB stack variant).
4802
c9f0c134
VS
48032013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4804
4805 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
4806 unless they have unexpected values.
4807
cfe1288b
VS
48082013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4809
4810 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
4811 grub_print_error.
4812
e42b9969
VS
48132013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4814
4815 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
4816 zero-out of port structure.
4817
cf94fd62
VS
48182013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4819
4820 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
4821 of extended attributes.
4822
f81ef4b5
AB
48232013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
4824
4825 * util/grub-install.in: change misleading comment about
4826 device.map creation
4827
af18fdb4
VS
48282013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
4831 when menu highlight color isn't set.
4832
08bcec50
M
48332013-01-27 C. Masloch <pushbx@38.de>
4834
4835 Improve FreeDOS direct loading support compatibility.
4836
4837 * include/grub/i386/relocator.h (grub_relocator16_state):
4838 New member ebp.
4839 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
4840 variable.
4841 (grub_relocator16_boot): Handle %ebp.
4842 * grub-core/lib/i386/relocator16.S: Likewise.
4843 * grub-core/loader/i386/pc/freedos.c:
4844 Load BPB to pass kernel which partition to load from.
4845 Check that kernel file is not too large.
4846 Set register dl to BIOS unit number as well.
4847
7782b8a6
CW
48482013-01-22 Colin Watson <cjwatson@ubuntu.com>
4849
4850 * util/grub-reboot.in (usage): Document the need for
4851 GRUB_DEFAULT=saved.
4852 * util/grub-set-default.in (usage): Likewise.
4853 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
4854
e661c180
VS
48552013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4856
4857 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
4858 than defining WORDS_BIGENDIAN manually.
4859
1c22ca9a
VS
48602013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4861
4862 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
4863 invariants.
4864
d44892fe
CW
48652013-01-21 Colin Watson <cjwatson@ubuntu.com>
4866
4867 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
4868 nested.
4869 (blit_comb: add_device_width): Likewise.
4870
5fdbaed1
CW
48712013-01-21 Colin Watson <cjwatson@ubuntu.com>
4872
4873 Remove nested functions from USB iterators.
4874
4875 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
4876 (grub_usb_controller_iterate_hook_t): Likewise.
4877 (grub_usb_iterate): Add hook_data argument.
4878 (grub_usb_controller_iterate): Likewise.
4879 (struct grub_usb_controller_dev.iterate): Likewise.
4880
4881 Update all implementations and callers.
4882
4250985a
VS
48832013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4884
4885 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
4886 margin when not needed.
4887
7d8848f3
VS
48882013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4889
bc136973 4890 Make color variables global instead of it being per-terminal.
7d8848f3
VS
4891
48922013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4893
bc136973
VS
4894 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
4895 asterisk.
7d8848f3 4896
ed12a003
CW
48972013-01-21 Colin Watson <cjwatson@ubuntu.com>
4898
4899 Fix powerpc and sparc64 build failures caused by un-nesting memory
4900 map iterators.
4901
6a0db449
CW
49022013-01-21 Colin Watson <cjwatson@ubuntu.com>
4903
4904 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
4905 parameter declarations.
4906
ccd86b21
VS
49072013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4908
4909 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
4910
822b726b
VS
49112013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4912
4913 Improve spkmomdem reliability by adding a separator between bytes.
4914
115c2cc1
CW
49152013-01-21 Colin Watson <cjwatson@ubuntu.com>
4916
4917 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
4918 an Acer registration utility with several sightings in the wild.
4919 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
4920
fc524edf
CW
49212013-01-21 Colin Watson <cjwatson@ubuntu.com>
4922
4923 Remove nested functions from filesystem directory iterators.
4924
4925 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
4926 (struct grub_fs.dir): Add hook_data argument.
4927
4928 Update all implementations and callers.
4929
53d3e4e3
CW
49302013-01-21 Colin Watson <cjwatson@ubuntu.com>
4931
4932 * docs/grub.texi (Multi-boot manual config): Fix typo for
4933 "recommended".
4934
c821711f
LL
49352013-01-20 Leif Lindholm <leif.lindholm@arm.com>
4936
4937 * util/grub-mkimage.c (main): Postpone freeing arguments.output
4938 until after its use in generate_image.
4939
6a0debbd
CW
49402013-01-20 Colin Watson <cjwatson@ubuntu.com>
4941
4942 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
4943 initrd size to addr_min, since the initrd will be allocated after
4944 this address.
4945
f41e08db
AB
49462013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
4947
4948 * conf/Makefile.common: Fix autogen rules to pass definition
4949 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
4950
77529e0f
LL
49512013-01-20 Leif Lindholm <leif.lindholm@arm.com>
4952
4953 * include/grub/elf.h: Update ARM definitions based on binutils.
4954
b879aa7b
VS
49552013-01-20 Aleš Nesrsta <starous@volny.cz>
4956
4957 Split long USB transfers into short ones.
4958
8eb8284d
AB
49592013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
4960
4961 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
4962 is interrupted by ESC.
4963
08dad2dc
VS
49642013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4965
4966 * util/grub-script-check.c (main): Uniform the error message.
4967
6c724b85
CW
49682013-01-20 Colin Watson <cjwatson@ubuntu.com>
4969
4970 Remove nested functions from ELF iterators.
4971
25239370
CW
49722013-01-20 Colin Watson <cjwatson@ubuntu.com>
4973
4974 Remove nested functions from device iterators.
4975
4976 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
4977 (grub_arc_iterate_devs): Add hook_data argument.
4978 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
4979 (struct grub_ata_dev.iterate): Add hook_data argument.
4980 * include/grub/device.h (grub_device_iterate_hook_t): New type.
4981 (grub_device_iterate): Add hook_data argument.
4982 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
4983 (struct grub_disk_dev.iterate): Add hook_data argument.
4984 (grub_disk_dev_iterate): Likewise.
4985 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
4986 Likewise.
4987 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
4988 Likewise.
4989 * include/grub/partition.h (grub_partition_iterate_hook_t): New
4990 type.
4991 (struct grub_partition_map.iterate): Add hook_data argument.
4992 (grub_partition_iterate): Likewise.
4993 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
4994 (struct grub_scsi_dev.iterate): Add hook_data argument.
4995
4996 Update all callers.
4997
6c0314d6
CW
49982013-01-20 Colin Watson <cjwatson@ubuntu.com>
4999
5000 Fix typos for "developer" and "development".
5001
600dc5f1
VS
50022013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 Add license header to spkmodem-recv.c.
5005
17334a6b
VS
50062013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
5007
5008 Rewrite spkmodem to use PIT for timing. Double the speed.
5009
7d462559
VS
50102013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5011
5012 Add new command pcidump.
5013
b78d6c32
VS
50142013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5015
5016 New terminal outputs using serial: morse and spkmodem.
5017
34f71cb8
VS
50182013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5019
5020 Improve bidi handling in entry editor.
5021
4542e71b
VS
50222013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5023
5024 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5025 argument to prevent name collision.
5026
09fd6d82
CW
50272013-01-15 Colin Watson <cjwatson@ubuntu.com>
5028
5029 Remove nested functions from script reading and parsing.
5030
5031 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
5032 getline_data argument, passed to getline.
5033 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
5034 getline_data argument, passed to grub_parser_split_cmdline.
5035 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
5036 lexerstate->getline_data to lexerstate->getline.
5037 (grub_script_lexer_init): Add getline_data argument, saved in
5038 lexerstate->getline_data.
5039 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
5040 argument, passed to grub_script_parse.
5041 * grub-core/script/script.c (grub_script_parse): Add getline_data
5042 argument, passed to grub_script_lexer_init.
5043 * include/grub/parser.h (grub_parser_split_cmdline): Update
5044 prototype. Update all callers to pass appropriate getline data.
5045 (struct grub_parser.parse_line): Likewise.
5046 (grub_rescue_parse_line): Likewise.
5047 * include/grub/reader.h (grub_reader_getline_t): Add void *
5048 argument.
5049 * include/grub/script_sh.h (struct grub_lexer_param): Add
5050 getline_data member.
5051 (grub_script_parse): Update prototype. Update all callers to pass
5052 appropriate getline data.
5053 (grub_script_lexer_init): Likewise.
5054 (grub_normal_parse_line): Likewise.
5055
5056 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
5057 data argument.
5058 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
5059 static instead of nested. Rename to ...
5060 (grub_parser_execute_getline): ... this.
5061 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
5062 data argument.
5063 * grub-core/normal/main.c (read_config_file: getline): Make static
5064 instead of nested. Rename to ...
5065 (read_config_file_getline): ... this.
5066 (grub_normal_read_line): Add unused data argument.
5067 * grub-core/script/execute.c (grub_script_execute_sourcecode:
5068 getline): Make static instead of nested. Rename to ...
5069 (grub_script_execute_sourcecode_getline): ... this.
5070 * util/grub-script-check.c (main: get_config_line): Make static
5071 instead of nested.
5072
d0d4b8a0
CW
50732013-01-15 Colin Watson <cjwatson@ubuntu.com>
5074
5075 Remove nested functions from memory map iterators.
5076
5077 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
5078 argument, passed to hook.
5079 * grub-core/kern/i386/coreboot/mmap.c
5080 (grub_linuxbios_table_iterate): Likewise.
5081 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
5082 instead of nested.
5083 (grub_machine_mmap_iterate): Add hook_data argument.
5084 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
5085 Add hook_data argument, passed to hook.
5086 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
5087 Likewise.
5088 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
5089 Likewise.
5090 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
5091 Likewise.
5092 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
5093 Likewise.
5094 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
5095 Likewise.
5096 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
5097 Likewise.
5098 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
5099 (grub_machine_mmap_iterate): Likewise.
5100 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
5101 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
5102 prototype.
5103 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
5104 Remove NESTED_FUNC_ATTR from here and from all users.
5105 (grub_mmap_iterate): Update prototype.
5106 (grub_efi_mmap_iterate): Update prototype. Update all callers to
5107 pass appropriate hook data.
5108 (grub_machine_mmap_iterate): Likewise.
5109
5110 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
5111 static instead of nested.
5112 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
5113 Rename to ...
5114 (lsmmap_hook): ... this.
5115 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
5116 Likewise.
5117 (grub_efiemu_mmap_fill: fill_hook): Likewise.
5118 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
5119 heap_init): Likewise.
5120 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
5121 Rename to ...
5122 (mmap_iterate_hook): ... this.
5123 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
5124 Likewise.
5125 * grub-core/lib/ieee1275/relocator.c
5126 (grub_relocator_firmware_get_max_events: count): Likewise.
5127 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
5128 to ...
5129 (grub_relocator_firmware_fill_events_iter): ... this.
5130 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
5131 hook): Likewise. Rename to ...
5132 (grub_relocator_alloc_chunk_align_iter): ... this.
5133 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
5134 Rename to ...
5135 (generate_e820_mmap_iter): ... this.
5136 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
5137 Rename to ...
5138 (count_hook): ... this.
5139 (grub_linux_boot: hook): Likewise. Rename to ...
5140 (grub_linux_boot_mmap_find): ... this.
5141 (grub_linux_boot: hook_fill): Likewise. Rename to ...
5142 (grub_linux_boot_mmap_fill): ... this.
5143 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
5144 hook): Likewise. Rename to ...
5145 (grub_fill_multiboot_mmap_iter): ... this.
5146 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
5147 hook): Likewise. Rename to ...
5148 (count_hook): ... this.
5149 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
5150 hook): Likewise. Rename to ...
5151 (grub_fill_multiboot_mmap_iter): ... this.
5152 * grub-core/loader/powerpc/ieee1275/linux.c
5153 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
5154 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
5155 Likewise. Rename to ...
5156 (alloc_phys_choose): ... this.
5157 (determine_phys_base: get_physbase): Likewise.
5158 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
5159 find_hook): Likewise.
5160 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
5161 (malloc_hook: count_hook): Likewise.
5162 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
5163 Likewise. Rename to ...
5164 (lower_hook): ... this.
5165 (grub_mmap_get_upper: hook): Likewise. Rename to ...
5166 (upper_hook): ... this.
5167 (grub_mmap_get_post64: hook): Likewise. Rename to ...
5168 (post64_hook): ... this.
5169 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
5170 Likewise. Rename to ...
5171 (lower_hook): ... this.
5172 (grub_mmap_get_upper: hook): Likewise. Rename to ...
5173 (upper_hook): ... this.
5174 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
5175 (grub_mmap_iterate: fill_hook): Likewise.
5176 (fill_mask): Pass addr and mask within a single struct.
5177 (grub_cmd_badram: hook): Make static instead of nested. Rename
5178 to ...
5179 (badram_iter): ... this.
5180 (grub_cmd_cutmem: hook): Likewise. Rename to ...
5181 (cutmem_iter): ... this.
5182
22099030
VS
51832013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5184
5185 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
5186 delimit path in strings using quotes.
5187 * util/getroot.c (grub_guess_root_devices): Likewise.
5188 (grub_make_system_path_relative_to_its_root): Likewise.
5189 * util/grub-probe.c (probe): Likewise.
5190 * util/ieee1275/ofpath.c (find_obppath): Likewise.
5191 (xrealpath): Likewise.
5192
4a9950ec
VS
51932013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5194
5195 Fix compilation with older compilers.
5196
5197 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
5198 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
5199 declarations.
5200 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
5201 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
5202 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
5203 identifier with b.
5204 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
5205 * include/grub/crypto.h: Add type defines.
5206 * util/import_gcrypth.sed: Remove duplicate type defines.
5207
adcc6020
VS
52082013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5209
5210 New command list_trusted.
5211
5212 * grub-core/commands/verify.c (grub_cmd_list): New function.
5213
a4528937
CW
52142013-01-13 Colin Watson <cjwatson@ubuntu.com>
5215
5216 * util/grub-mkimage.c (generate_image): Fix "size of public key"
5217 info message.
5218
ca3a7446
CW
52192013-01-13 Colin Watson <cjwatson@ubuntu.com>
5220
5221 Remove nested functions from PCI iterators.
5222
5223 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
5224 passed to hook. Update all callers to pass appropriate hook data.
5225 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
5226 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
5227 Remove NESTED_FUNC_ATTR from here and from all users.
5228 (grub_pci_iterate): Update prototype.
5229 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
5230 instead of nested. Rename to ...
5231 (grub_cs5536_find_iter): ... this.
5232 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
5233 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
5234 Likewise.
5235 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
5236 Likewise.
5237 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
5238 Likewise.
5239 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
5240 Likewise.
5241 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
5242 * grub-core/video/radeon_fuloong2e.c
5243 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
5244 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
5245 find_card): Likewise.
5246 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
5247 Likewise.
5248
f8e98fee
VS
52492013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5250
5251 * grub-core/commands/verify.c: Mark messages for translating.
5252
055b36b6
VS
52532013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5254
5255 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
5256 fatal.
5257
f7ff879b
VS
52582013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5259
5260 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
5261 fatal.
5262
52632013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
5264
5265 * autogen.sh: Do not try to delete nonexistant files.
5266 * util/import_gcrypth.sed: Add some missing header removals.
5267
01323d49
CW
52682013-01-12 Colin Watson <cjwatson@ubuntu.com>
5269
5270 Clean up dangling references to grub-setup.
5271 Fixes Ubuntu bug #1082045.
5272
5273 * docs/grub.texi (Images): Refer generally to grub-install rather
5274 than directly to grub-setup.
5275 (Installing GRUB using grub-install): Remove direct reference to
5276 grub-setup.
5277 (Device map) Likewise.
5278 (Invoking grub-install): Likewise.
5279 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
5280 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
5281 * util/grub-install.in (usage): Likewise.
5282
5283 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
5284 Apply to grub-bios-setup and grub-sparc64-setup rather than to
5285 grub-setup.
5286 * configure.ac: Remove grub_setup output variable.
5287
5288 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
5289 to grub-bios-setup.
5290 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
5291 grub-setup to grub-sparc64-setup.
5292
5e3b8dcb
VS
52932013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5294
5295 Import gcrypt public-key cryptography and implement signature checking.
5296
535714bd
VS
52972013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5298
5299 * grub-core/fs/ntfs.c: Ue more appropriate types.
5300 * grub-core/fs/ntfscomp.c: Likewise.
5301 * include/grub/ntfs.h: Likewise.
5302
3e4f3566
VS
53032013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5304
5305 Support Apple FAT binaries on non-Apple platforms.
5306
5307 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
5308 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
5309 Likewise.
5310 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
5311 Apple FAT binaries.
5312
4dedb13f
VS
53132013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5314
5315 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
5316 sector devices.
5317
f8861eaf
CW
53182013-01-07 Colin Watson <cjwatson@ubuntu.com>
5319
5320 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
5321 explicitly zeroing elements.
5322 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
5323 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
5324 of elements in a structure already allocated using grub_zalloc.
5325 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
5326
86065b0a
CW
53272013-01-07 Colin Watson <cjwatson@ubuntu.com>
5328
5329 * docs/grub.texi (grub_cpu): New subsection.
5330 (grub_platform): Likewise.
5331
c6f1e92f
VS
53322013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5333
5334 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
5335
f797ec85
VS
53362013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5337
5338 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
5339 divisions.
5340
033d0b4b
VS
53412013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5342
5343 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
5344 * grub-core/fs/ntfscomp.c: Likewise.
5345 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
5346 (grub_ntfs_comp): Likewise.
5347
21d1b9a0
VS
53482013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5349
5350 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
5351 Rename to ...
5352 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
5353 of groups_per_block. All users updated.
5354
10ca8645
VS
53552013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5356
5357 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
5358 grub_error properly.
5359 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
5360 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
5361
a4c3ed4c
VS
53622013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5363
5364 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
5365 always in /boot/zfs.
5366 Reported by: Yuta Satoh.
5367
0b716507
YS
53682013-01-03 Yuta Satoh <nigoro>
5369
5370 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
5371 ${grub_probe}
5372
00c05e22
VS
53732013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5374
5375 * configure.ac: Extend -Wno-trampolines to host.
5376
dadddb76
VS
53772013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5378
5379 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
5380 entry->len = 0.
5381
54ce53ca
CW
53822013-01-03 Colin Watson <cjwatson@ubuntu.com>
5383
5384 * docs/grub.texi (Invoking grub-mkrelpath): New section.
5385 (Invoking grub-script-check): Likewise.
5386
8912efca
CW
53872013-01-03 Colin Watson <cjwatson@ubuntu.com>
5388
5389 * docs/grub.texi (Invoking grub-mount): New section.
5390 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
5391
c3fc8394
CW
53922013-01-02 Colin Watson <cjwatson@ubuntu.com>
5393
5394 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
5395 test failures, so that a failing unit test correctly causes 'make
5396 check' to fail.
5397
45d26abb
CW
53982013-01-02 Colin Watson <cjwatson@ubuntu.com>
5399
5400 Fix failing printf test.
5401
5402 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
5403 '$' in the correct order when collecting type information.
5404
971dd2c6
CW
54052013-01-02 Colin Watson <cjwatson@ubuntu.com>
5406
5407 * docs/grub.texi (configfile): Explain environment variable
5408 handling.
5409 (source): New section.
5410 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
5411
5c67ea6c
CW
54122012-12-31 Colin Watson <cjwatson@ubuntu.com>
5413
5414 Remove several trivially-unnecessary uses of nested functions.
5415
5416 * grub-core/commands/i386/pc/sendkey.c
5417 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
5418 instead of nested.
5419 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
5420 Rename to ...
5421 (legacy_file_getline): ... this.
5422 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
5423 Likewise.
5424 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
5425 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
5426 to ...
5427 (probe_dummy_iter): ... this.
5428 * grub-core/kern/i386/coreboot/mmap.c
5429 (grub_linuxbios_table_iterate: check_signature): Likewise.
5430 * grub-core/kern/parser.c (grub_parser_split_cmdline:
5431 check_varstate): Likewise. Mark inline.
5432 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
5433 an additional parameter.
5434 (find_long: fnd_long): Likewise. Pass two additional parameters.
5435 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
5436 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
5437 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
5438 Likewise. Rename to ...
5439 (grub_cmos_find_port_iter): ... this.
5440 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
5441 Rename to ...
5442 (find_rtc_iter): ... this.
5443
5444 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
5445 function directly into the function body, since it is only called
5446 once.
5447
33a68ac6
CW
54482012-12-30 Colin Watson <cjwatson@ubuntu.com>
5449
5450 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
5451 __attribute__ ((unused)).
5452 * grub-core/video/bochs.c (find_card): Likewise.
5453 * grub-core/video/cirrus.c (find_card): Likewise.
5454 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
5455 * grub-core/video/sis315pro.c (find_card): Likewise.
5456 * grub-core/video/sm712.c (find_card): Likewise.
5457
608b647a
CW
54582012-12-28 Colin Watson <cjwatson@ubuntu.com>
5459
5460 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
5461 Fixes Savannah bug #37821.
5462
fd49ceb3
CW
54632012-12-28 Colin Watson <cjwatson@ubuntu.com>
5464
5465 Apply program name transformations at build-time rather than at
5466 run-time. Fixes Debian bug #696465.
5467
5468 * acinclude.m4 (grub_TRANSFORM): New macro.
5469 * configure.ac: Create output variables with transformed names for
5470 most programs.
5471 * util/bash-completion.d/grub-completion.bash.in: Use
5472 pre-transformed variables for program names.
5473 * util/grub-install.in: Likewise.
5474 * util/grub-kbdcomp.in: Likewise.
5475 * util/grub-mkconfig.in: Likewise.
5476 * util/grub-mkconfig_lib.in: Likewise.
5477 * util/grub-mknetdir.in: Likewise.
5478 * util/grub-mkrescue.in: Likewise.
5479 * util/grub-mkstandalone.in: Likewise.
5480 * util/grub-reboot.in: Likewise.
5481 * util/grub-set-default.in: Likewise.
5482 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5483 * tests/util/grub-shell-tester.in: Remove unused assignment.
5484 * tests/util/grub-shell.in: Likewise.
5485 * util/grub.d/00_header.in: Likewise.
5486
7024b3c0
CW
54872012-12-28 Colin Watson <cjwatson@ubuntu.com>
5488
5489 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
5490
5491 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
5492 HAVE_RAW_DECL_GETS.
5493 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
5494
e3501b13
VS
54952012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
5496
5497 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
5498 Reported by: Eriks Latosheks <foresterlv>.
5499
b40c88a9
VS
55002012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5501
5502 * docs/grub.texi (Network): Update instructions on generating netboot
5503 image.
5504
ce96d01c
VS
55052012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5506
5507 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
5508 around device name if necessarry.
5509
0f596201
PFS
55102012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5511
5512 * util/grub-install.in: Follow the symbolic link parameter added
5513 to the file command.
5514
600d5bdb
AB
55152012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
5516
5517 * util/grub-install.in: Remove stale TODO.
5518
64ebd2f4
PFS
55192012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5520
5521 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
5522 dynamic allocation for the bootpath buffer.
5523
74b2fe3e
DTB
55242012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
5525
5526 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
5527 window too small.
5528
969b804f
VS
55292012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5530
5531 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
5532 argument rather than font name. All users updated.
5533 (grub_gfxterm_set_window): Likewise.
5534
b9f5ebd6
VT
55352012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
5536
5537 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
5538 from working.
5539
258f43b7
VS
55402012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5541
5542 * util/getroot.c (convert_system_partition_to_system_disk): Support
5543 nbd disks.
5544
cc1ce5f9
VS
55452012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5546
5547 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
5548 infinite loop on corrupted FS.
5549
e77a16ca
VS
55502012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
5551
5552 Fix big-endian mtime.
5553
5554 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
5555 together sec and usec.
5556 (grub_ufs_dir): Use correct byteswapping for UFS time.
5557
d9c48c7b
VS
55582012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
5559
5560 Support big-endian UFS1.
5561
5562 * Makefile.util.def (libgrubmods): Add ufs_be.c
5563 * grub-core/Makefile.core.def (ufs1_be): New module.
5564 * grub-core/fs/ufs_be.c: New file.
5565 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
5566 the file.
5567
2f9f40ba
LL
55682012-11-28 Leif Lindholm <leif.lindholm@arm.com>
5569
5570 * include/grub/types.h: Fix functionality unaffecting typo in
5571 GRUB_TARGET_WORDSIZE conditional macro.
5572
48ff0889
PFS
55732012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5574
5575 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
5576
03711240
GS
55772012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
5578
5579 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
5580 that /netbsd appears first (when it exists).
5581
a31b11bd
CJ
55822012-10-12 Christoph Junghans <ottxor@gentoo.org>
5583
5584 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
5585 Fixes Savannah bug #37558.
5586
e8a5d5d4
CW
55872012-10-12 Colin Watson <cjwatson@ubuntu.com>
5588
5589 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
5590 description of extract_entries_configfile.
5591
55922012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
5593
5594 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
5595 preferred_address.
5596 (grub_cmd_linux): Likewise.
5597 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
5598 preferred_lifetime. Update all users.
5599
288c757d
CW
56002012-09-26 Colin Watson <cjwatson@ubuntu.com>
5601
5602 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
5603 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
5604
0d35da3f
CW
56052012-09-26 Colin Watson <cjwatson@ubuntu.com>
5606
5607 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
5608 errors from grub-probe to /dev/null, not stdout.
5609
b78c3127
VS
56102012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
5611
5612 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
5613 sector 1.
5614
473959f0
CW
56152012-09-24 Colin Watson <cjwatson@ubuntu.com>
5616
5617 * util/grub-install.in: Make the error message if $source_dir
5618 doesn't exist more useful.
5619
794c8c33
CW
56202012-09-22 Colin Watson <cjwatson@ubuntu.com>
5621
5622 Fix grub-emu build on FreeBSD.
5623
5624 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
5625 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
5626 headers on Linux.
5627 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
5628 implementation is currently Linux-specific.
5629 * util/getroot.c (exec_pipe): Define only on Linux or when either
5630 libzfs or libnvpair is unavailable.
5631 (find_root_devices_from_poolname): Remove unused path variable.
5632
86d08fdb
CW
56332012-09-19 Colin Watson <cjwatson@ubuntu.com>
5634
5635 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
5636 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
5637 should fit before end == 63.
5638
735abf54
CW
56392012-09-19 Colin Watson <cjwatson@ubuntu.com>
5640
5641 * util/grub-setup.c (write_rootdev): Remove unused core_img
5642 parameter. Update all callers.
5643 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
5644 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
5645 GRUB_SETUP_BIOS.
5646
140acd3c
VS
56472012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5648
5649 * util/grub-mkconfig_lib.in (grub_tab): New variable.
5650 (grub_add_tab): New function.
5651 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
5652 * util/grub.d/10_illumos.in: Likewise.
5653 * util/grub.d/10_kfreebsd.in: Likewise.
5654 * util/grub.d/10_linux.in: Likewise.
5655 * util/grub.d/10_netbsd.in: Likewise.
5656 * util/grub.d/10_windows.in: Likewise.
5657 * util/grub.d/10_xnu.in: Likewise.
5658 * util/grub.d/20_linux_xen.in: Likewise.
5659 * util/grub.d/30_os-prober.in: Likewise.
5660
7ddffdad
VS
56612012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5662
5663 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5664 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
5665 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
5666 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
5667 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
5668 ieee1275-nocursor.
5669 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
5670 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
5671
4e092454
VS
56722012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5673
5674 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
5675 le-conversion.
5676 Reported by: BURETTE, Bernard.
5677
735abf54 56782012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
5679
5680 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
5681 from comment.
5682
dfd39dbd
CW
56832012-09-14 Colin Watson <cjwatson@ubuntu.com>
5684
5685 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
5686 IEEE1275 machines. Fixes powerpc-emu compilation.
5687 * include/grub/terminfo.h: Likewise.
5688
3bfa763c
VS
56892012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
5690
5691 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
5692 a const pointer.
5693 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
5694 const pointer.
5695 (efiemu_set_variable): Make vendor_guid a const pointer.
5696
250e475b
VS
56972012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
5698
5699 Don't require grub-mkconfig_lib to generate manpages for programs.
5700
5701 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
5702 dependencies, don't add grub-mkconfig_lib.
5703 (program): Pass empty adddeps.
5704 (script): Pass grub-mkconfig_lib as adddeps.
5705
592fd0e4
VS
57062012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
5707
5708 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
5709 * util/getroot.c (grub_find_device): Likewise.
5710 (get_mdadm_uuid): Likewise.
5711 (grub_util_is_imsm): Likewise.
5712 (grub_util_pull_device): Likewise.
5713 * util/grub-probe.c (probe): Likewise.
5714
801a3027
BG
57152012-09-10 Benoit Gschwind <gschwind>
5716
5717 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
5718 (devs): Add devpath_8.
5719
c5052c81
PJ
57202012-09-08 Peter Jones <pjones@redhat.com>
5721
5722 * grub-core/Makefile.core.def (efifwsetup): New module.
5723 * grub-core/commands/efi/efifwsetup.c: New file.
5724 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
5725 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
5726 New define.
5727 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
5728
8e832f71
JS
57292012-09-05 Jiri Slaby <jslaby@suse.cz>
5730
5731 * configure.ac: Add SuSe path.
5732
f0f55752
CW
57332012-09-05 Colin Watson <cjwatson@ubuntu.com>
5734
5735 * NEWS: Fix typo.
5736
ecadc4c2
CW
57372012-09-05 Colin Watson <cjwatson@ubuntu.com>
5738
5739 * util/import_gcry.py: Sort cipher_files, to make build system
5740 generation more deterministic.
5741
64498f25
VS
57422012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5743
5744 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
5745 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
5746 (grub_set_datetime): Likewise.
5747
9cc836a2
VS
57482012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5749
5750 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
5751 warnings.
5752
bcfcea01
VS
57532012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5754
5755 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
5756
a4099485
VS
57572012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5758
5759 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
5760
265c162a
CW
57612012-09-04 Colin Watson <cjwatson@ubuntu.com>
5762
5763 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
5764 required for checkouts from bzr, but it may be useful for users or
5765 distributors wishing to update translations against a tarball
5766 distribution, and it can be helpful for the tarball to be a superset
5767 of what's in bzr.
5768
3d171e95
CW
57692012-09-04 Colin Watson <cjwatson@ubuntu.com>
5770
5771 * Makefile.am (EXTRA_DIST): Add
5772 grub-core/tests/boot/linux.init-mips.S,
5773 grub-core/tests/boot/linux.init-ppc.S, and
5774 grub-core/tests/boot/linux-ppc.cfg.
5775
f2c2503e
CW
57762012-09-04 Colin Watson <cjwatson@ubuntu.com>
5777
5778 * grub-core/mmap/mips/loongson: Remove empty directory.
5779
57802012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
5781
5782 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
5783 gone.
5784
ab2163d5
CW
57852012-09-04 Colin Watson <cjwatson@ubuntu.com>
5786
5787 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
5788 grub-sparc64-setup.
5789
ce938140
GS
57902012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
5791
5792 * configure.ac: Strengthen the test for working -nostdinc -isystem.
5793
529f58a5
GS
57942012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
5795
5796 * po/POTFILES.in: Regenerated.
5797
16cf79e9
GS
57982012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
5799
5800 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
5801 (NetBSD): New subsection.
5802
39b27f1e 58032012-07-22 Ales Nesrsta <starous@volny.cz>
5804
5805 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
5806 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
5807
a885261b
VS
58082012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5809
5810 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
5811 * util/grub.d/10_hurd.in: Add missing quoting.
5812 * util/grub.d/10_illumos.in: Likewise.
5813 * util/grub.d/10_kfreebsd.in: Likewise.
5814 * util/grub.d/10_linux.in: Likewise.
5815 * util/grub.d/20_linux_xen.in: Likewise.
5816
7bd29c01
VS
58172012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5818
5819 New command `lsefi'.
5820
5821 * grub-core/Makefile.core.def (lsefi): New module.
5822 * grub-core/commands/efi/lsefi.c: New file.
5823 * include/grub/efi/api.h: Add more GUIDs.
5824
ac625d8f
VS
58252012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5826
5827 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
5828 (grub_bsd_elf32_hook): Likewise.
5829 (grub_bsd_elf64_size_hook): Likewise.
5830 (grub_bsd_elf64_hook): Likewise.
5831 (grub_bsd_load_elf): Likewise.
5832
e73bb801
VS
58332012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5834
5835 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
5836 if hash function is unavailable.
5837 (dec_stream_header): Likewise.
5838
e81db8b5
VS
58392012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5840
5841 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
5842 filter state.
5843
d187a1c3
VS
58442012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5845
5846 Fix coreboot compilation.
5847
5848 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
5849 (grub_vga_text_init_real): ... this.
5850 (grub_vga_text_fini): Rename to ...
5851 (grub_vga_text_fini_real): ... this.
5852
91a05f64
VS
58532012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
5856
6af96df7
VS
58572012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5858
5859 * grub-core/lib/legacy_parse.c: Support clear and testload.
5860
4d569e12
VS
58612012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5862
5863 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
5864
073b57bb
VS
58652012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5866
5867 * grub-core/fs/ext2.c: Experimental support for 64-bit.
5868
a706f4cc
VS
58692012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5870
5871 * grub-core/net/tftp.c (ack): Fix endianness problem.
5872 (tftp_receive): Likewise.
5873 Reported by: Michael Davidsaver.
5874
e7850aa9
VS
58752012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5876
5877 * gentpl.py: Make mans depend on grub-mkconfig_lib.
5878
58792012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5880
5881 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
5882 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
5883 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
5884
35692881
VS
58852012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5886
5887 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
5888 efi_mmap_size.
5889 Reported by: Stuart Hayes.
5890
c35fc5bd
VS
58912012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
5892
5893 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
5894
5895 * grub-core/Makefile.core.def (mda_text): New module.
5896 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
5897 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
5898 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
5899 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
5900 here.
5901 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
5902 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
5903 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
5904 here.
5905 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
5906 to ..
5907 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
5908 ... here
5909 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
5910 here.
5911 * grub-core/term/i386/vga_common.c: Removed.
5912 * include/grub/i386/vga_common.h: Likewise.
5913 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
5914 (grub_vga_cr_bw_read): Likewise.
5915 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
5916 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
5917 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
5918 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
5919 grub_vga_cr_read/grub_vga_cr_write.
5920 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
5921
5f91f701
VS
59222012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5923
5924 * configure.ac: Bump version to 2.00.
5925 * grub-core/normal/main.c (features): Add feature_200_final.
5926
0c4f85f6
VS
59272012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
59282012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
5929
5930 * NEWS: Fix unclarity and language mistakes.
5931
f923ad22
VS
59322012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5933
5934 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
5935 additional size to 3 pages.
5936 Reported by: Stuart Hayes.
5937
d22029ba
VS
59382012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 * NEWS: Add 2.00 entry.
5941
58eee08f
VS
59422012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5943
5944 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
5945 put explicit "/" for empty path.
5946 (wildcard_expand): Improve dprintf.
5947
c59bdff7
VS
59482012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5949
5950 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
5951 it's equal to currnode. This can happen with "" symlink.
5952
5e6a440a
YB
59532012-06-27 Yves Blusseau <blusseau@zetam.org>
5954
5955 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
5956 echo shell command by printf command.
5957
73a68bcb
VS
59582012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5959
5960 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
5961 the value returned by firmware is the maximal position, not diumension.
5962 (grub_terminfo_output_state): Use a more sane fallback.
5963
392a603b
VS
59642012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5965
5966 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
5967
42d0867f
VS
59682012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5969
5970 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
5971 frequency to 150 MHz.
5972
489509f4
VS
59732012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5974
5975 Apple fixes.
5976
5977 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
5978 __APPLE_
5979 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
5980 definition.
5981 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
5982
9f3fc883
VS
59832012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5984
5985 Handle slash in HFS label.
5986
5987 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
5988 (grub_hfs_dir): Tanslate slash.
5989 (grub_hfs_label): Don't translate slash.
5990
54853fd7
VS
59912012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5992
5993 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
5994 network protocol listing since it introduces problematic dependency on
5995 net module.
5996
4dc02ddf
VS
59972012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5998
5999 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
6000
c50c867d
VS
60012012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6002
6003 Init video early on yeeloong to avoid being rebooted by watchdog.
6004
6005 * grub-core/Makefile.am (gensm712): New target.
6006 (sm712_start.S): Likewise.
6007 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
6008 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
6009 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
6010 description.
6011 * include/grub/vga.h: Move registry definitions to...
6012 * include/grub/vgaregs.h: ... here.
6013
5f92c8a1
VS
60142012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6015
6016 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
6017 signedness.
6018
e9e6f111
VS
60192012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6020
6021 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
6022 platforms with firmware disk drivers in the core.
6023
754ad9eb
VS
60242012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6025
6026 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
6027 informative verbose message.
6028 (read_lv): Handle 64-bit segment size.
6029
315654c2
VS
60302012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6031
6032 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
6033
fb022c79
VS
60342012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6035
6036 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
6037 character but still remove trainling spaces.
6038 (grub_fat_label): Ignore archive flag.
6039
8645f72c
VS
60402012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6041
6042 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
6043 cast between linux_kernel_header and linux_kernel_params.
6044
36498496
VS
60452012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6046
6047 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
6048 type for size.
6049 (grub_raid6_recover_func_t): Likewise.
6050 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
6051 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
6052
0b5ea6b8
VS
60532012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6054
6055 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
6056
650cfcfe
GS
60572012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
6058
6059 Fix overflow.
6060
6061 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
6062 [__NetBSD__]: Add explicit cast before bitshift.
6063
8a4d6a44
VS
60642012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6065
6066 * configure.ac: Bump to 2.00~rc1.
6067
2fb97ed3
VS
60682012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6069
6070 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
6071 half of $a0.
6072
1fa097dc
VS
60732012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
60742012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
6075
6076 * docs/grub.texi: Fix search syntax.
6077 (Multi-boot manual config): Put msdos rather than GPT example.
6078 Grammar corrections.
6079
c890ba78
VS
60802012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6081
6082 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
6083
0f92dca7
VS
60842012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6085
6086 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
6087
3988c4a0
VS
60882012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6089
6090 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
6091 message on double free. Put the value of magic in case of mismatch.
6092
9e86d4c5
VS
60932012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6094
6095 Speed-up video on yeeloong.
6096
6097 * grub-core/video/sm712.c (framebuffer): Remove render_target and
6098 add cached_ptr.
6099 (grub_video_sm712_video_fini): Unmap cached_ptr.
6100 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
6101 (grub_video_sm712_set_active_render_target): Removed.
6102 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
6103 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
6104 sync caches.
6105
ed24c312
VS
61062012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 Avoid flushing the same line multiple times on loongson.
6109
6110 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
6111 Step in 32 bytes and not 1 byte.
6112 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
6113 Likewise.
6114
d1718e7d
VS
61152012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6116
6117 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
6118 subvolumes.
6119
982f1909
VS
61202012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6121
6122 Implement flow control for http.
6123
6124 * grub-core/net/http.c (parse_line): Handle response 206.
6125 (http_receive): Stall if too many packets are in the queue.
6126 (http_establish): Fix range header.
6127 (http_seek): Fix double free.
6128 (http_close): Likewise.
6129 (http_packets_pulled): New function.
6130 (grub_http_protocol): Set http_seek
6131 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
6132 (ack_real): Set window depending on i_stall.
6133 (grub_net_send_tcp_packet): Likewise.
6134 (grub_net_tcp_stall): New function.
6135 (grub_net_tcp_unstall): Likewise.
6136 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
6137 (grub_net_tcp_unstall): Likewise.
6138
bd407d6e
VS
61392012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6140
6141 * grub-core/net/tftp.c: Decrease stall to 50 packets.
6142
c7564b8e
VS
61432012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6144
6145 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
6146
a3706162
VS
61472012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6148
6149 * tests/util/grub-shell.in: Fix a typo.
6150
b27069e0
VS
61512012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6152
6153 Implement flow control for tftp.
6154
6155 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
6156 packets but stop only if stop condition is satisfied.
6157 (grub_net_fs_read_real): Call packets_pulled after real read. Use
6158 `stall' instead of `eof' as stop condition.
6159 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
6160 (http_err): Likewise.
6161 * grub-core/net/tftp.c (ack): Replace the first argument with data
6162 instead of socket.
6163 (tftp_receive): Stall if too many packets are in wait queue.
6164 (tftp_packets_pulled): New function.
6165 (grub_tftp_protocol): Set packets_pulled.
6166 * include/grub/net.h (grub_net_packets): New field count.
6167 (grub_net_put_packet): Increment count.
6168 (grub_net_remove_packet): Likewise.
6169 (grub_net_app_protocol): New field `packets_pulled'.
6170 (grub_net): New field `stall'.
6171
6b9cfac6
VS
61722012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6173
6174 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
6175 sync part to handle them.
6176
f35abd81
VS
61772012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6178
6179 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
6180 * grub-core/net/drivers/ieee1275/ofnet.c
6181 (grub_ieee1275_net_config_real): Likewise.
6182
0e7ec820
VS
61832012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6184
6185 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
6186 the direct route for server/gateway.
6187
9d611a31
VS
61882012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6189
6190 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
6191 IP address to server name since we may not hame the DNS.
6192
418f45ab
VS
61932012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6194
6195 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
6196 freeing random buffer on failure.
6197 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
6198
44a0efc1
VS
61992012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6200
6201 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
6202
531e2241
VS
62032012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6204
6205 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
6206 reserved bytes.
6207 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
6208 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
6209 Handle malloc error correctly.
6210
cde393c9
VS
62112012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
6214 blocks.
6215
538478d0
VS
62162012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6217
6218 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
6219 increment.
6220
9b55efe0
VS
62212012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6222
6223 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
6224 none is explicitly specified.
6225
9eb832c3
VS
62262012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6227
6228 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
6229 while reallocating.
6230
d6b7c7c9
VS
62312012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6232
6233 Respect netmask from bootp/dhcp.
6234
6235 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
6236 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
6237 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
6238 into ...
6239 (grub_net_add_ipv4_local): ... this.
6240 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
6241 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
6242 (grub_net_add_ipv4_local): New proto.
6243
67caf9eb
VS
62442012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6245
6246 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
6247 determining EFI memory map size.
6248
43657558
VS
62492012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6250
6251 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
6252
eb6d0dd3
VS
62532012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6254
6255 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
6256 when looking for partition separator.
6257
31230544
VS
62582012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6259
6260 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6261 Escape commas.
6262
918a2517
VS
62632012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6264
6265 Restructure FAT driver to avoid hook in label reading as it hits a
6266 GCC bug.
6267
6268 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
6269 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
6270 (grub_fat_iterate_dir): Split into ...
6271 (grub_fat_iterate_init): ... this, ...
6272 (grub_fat_iterate_fini): ... this, ...
6273 (grub_fat_iterate_dir_next): ... and this. All users updated.
6274
9f1d654e
VS
62752012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6276
6277 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6278 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
6279 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6280 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
6281 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
6282 New fields last_key and last_key_time.
6283 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
6284 extended key-esc into extended key-extended key.
6285
52f0f643
VS
62862012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6287
6288 Avoid unnecessary memcpy of whole video buffer.
6289
6290 * grub-core/video/fb/video_fb.c (dirty): New struct.
6291 (framebuffer): Add members current_dirty and previous_dirty.
6292 (dirty): New function.
6293 (grub_video_fb_fill_rect): Update dirty.
6294 (common_blitter): Likewise.
6295 (grub_video_fb_scroll): Likewise.
6296 (doublebuf_blit_update_screen): Copy only dirty part.
6297 (doublebuf_pageflipping_update_screen): Likewise.
6298 (grub_video_fb_doublebuf_blit_init): Init dirty.
6299 (doublebuf_pageflipping_init): Likewise.
6300 (grub_video_fb_setup): Likewise.
6301
e169a180
VS
63022012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6303
6304 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
6305 poll rate.
6306
48556879
VS
63072012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6308
6309 Fix wildcard regexp dot and other special characters handling.
6310 Reported by: Robert Mabee.
6311
6312 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
6313 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
6314 (split_path): Trigger expansion on '?'.
6315 (unescape): New function.
6316 (wildcard_expand): Unescape parts copied without globbing.
6317 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
6318 (grub_script_arglist_to_argv): Don't unescape expansions.
6319
0494408e
VS
63202012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6321
6322 * include/grub/net.h (grub_net_card): New member txbufsize.
6323 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
6324 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
6325 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
6326 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
6327 txbufsize.
6328 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
6329 compatible property to check for macs. Set
6330 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
6331 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
6332 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
6333 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
6334 (send_card_buffer): Use txbuf.
6335 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
6336 nested function out of the parent while on it.
6337
cc35fe8f
VS
63382012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6339
6340 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
6341 presence check.
6342 (grub_ieee1275_net_config_real): Fix config pointer.
6343
970a0a09
VS
63442012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6345
6346 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
6347 filename parsing to non-block devices.
6348
3e19bf87
VS
63492012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6350
6351 * grub-core/kern/device.c (grub_device_open): Remove dead code.
6352
c62d1a0c
VS
63532012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6354
6355 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
6356 All users updated.
6357
ef76bec3
VS
63582012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6359
6360 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
6361 UUID search command even if hints probing failed.
6362
63632012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
6364
6365 * po/POTFILES.in: Regenerated.
6366
70aaf305
VS
63672012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
6368
6369 Speed-up video on fuloong.
6370
6371 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
6372 New function.
6373 (grub_pci_device_unmap_range): Handle non-cached address.
6374 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
6375 add direct_ptr.
6376 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
6377 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
6378 (grub_video_sis315pro_set_active_render_target): Removed.
6379 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
6380 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
6381 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
6382 sync caches.
6383 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
6384 New proto.
6385
10400f0b
VS
63862012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6387
6388 * docs/grub.texi (Multi-boot manual config): New section.
6389
ba67e2c6
VS
63902012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6391
6392 Avoid slow read-back from VRAM.
6393
6394 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
6395 Move from here ...
6396 * grub-core/video/fb/video_fb.c
6397 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
6398 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
6399 (front_target): Remove front_target. Add pages.
6400 (grub_video_fb_init): Skip setting front_pages.
6401 (grub_video_fb_fini): Likewise.
6402 (doublebuf_blit_update_screen): Use pages.
6403 (grub_video_fb_doublebuf_blit_init): Likewise.
6404 (doublebuf_pageflipping_init): Allocate offscreen buffer.
6405 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
6406 (grub_video_fb_setup): Prefer doublebuffing.
6407
377c98cb
VS
64082012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6409
6410 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
6411 gzio.
6412
eac49cff
VS
64132012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6414
6415 Add loongson tests.
6416
6417 * tests/util/grub-shell.in: Handle loongson.
6418 * tests/partmap_test.in: Add loongson to the list of platform using ATA
6419 drivers.
6420 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
6421 Reboot instead of shutdown if REBOOT is defined.
6422
0321415e
VS
64232012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6424
6425 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
6426 sized ports since unlike on real hardware qemu supports only 32-bit
6427 regs.
6428
3f2bdd8f
VS
64292012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6430
6431 * Makefile.util.def (grub-mkrescue): Enable on loongson.
6432 * util/grub-mkrescue.in: Handle loongson.
6433
29a049c9
VS
64342012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
6435
6436 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
6437 Set is_part appropriately.
6438 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
6439 names. Canonicalize partition without full disk.
6440
4abde346
VS
64412012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6442
6443 Revert usb-quiesce since it's wrong.
6444
6445 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
6446 (grub_ofdisk_init): Don't do quiesce.
6447
61f1d93b
VS
64482012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6449
6450 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
6451 PowerMac workaround to Xserves as well.
6452 Information supplied by: Benjamin Herrenschmidt.
6453
a09eb541
VS
64542012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6455
6456 Don't assume that beginning address is also the entry point on ppc.
6457
6458 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
6459 (grub_linux_boot): Use linux_entry.
6460 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
6461 (grub_linux_load64): Likewise.
6462
505b3c9b
VS
64632012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6464
6465 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
6466
cbe0b4ef
VS
64672012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6468
6469 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
6470 needlessly lose the console.
6471
3006e981
VS
64722012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6473
6474 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
6475 space.
6476
4e5a96b0
VS
64772012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
6478
7da036bb
VS
6479 Remove non-functional EFI grub_get_rtc. Put a better fatal message
6480 than current grub_get_rtc() not implemented when booted with
6481 coreboot without TSC.
6482
6483 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
6484 Add machine/time.h to kernel headers on loongson.
6485 * grub-core/Makefile.core.def (kernel): Remove
6486 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
6487 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
6488 (grub_get_rtc): Likewise.
6489 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
6490 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
6491 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
6492 * grub-core/kern/i386/tsc.c (grub_tsc_init)
6493 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
6494 rather than installing known non-working time source.
6495 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
6496 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
6497 * include/grub/time.h: Don't include machine/time.h.
6498 * include/grub/efi/time.h: Removed.
6499 * include/grub/i386/efi/time.h: Likewise.
6500 * include/grub/i386/ieee1275/time.h: Likewise.
6501 * include/grub/powerpc/ieee1275/time.h: Likewise.
6502 * include/grub/sparc64/ieee1275/time.h: Likewise.
6503 * include/grub/x86_64/efi/time.h: Likewise.
6504
65052012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
6506
6507 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
6508
6509 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
6510 value.
6511 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
6512 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
6513 with dotless variants when any combining above is present.
6514
5561c22d
VS
65152012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6516
6517 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
6518 text and not binary.
6519
96f7e60e
VS
65202012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6521
6522 Stop polling as soon as we have the packet we were waiting for.
6523
6524 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
6525 All users updated.
6526 * grub-core/net/arp.c (have_pending): New var.
6527 (pending_req): Likewise.
6528 (grub_net_arp_send_request): Fill pending_req and use have_pending as
6529 stop indicator.
6530 (grub_net_arp_receive): Set have_pending.
6531 * grub-core/net/dns.c (recv_data): New field stop.
6532 (recv_hook): Set stop.
6533 (grub_net_dns_lookup): Init stop and use as stop condition.
6534 * grub-core/net/http.c (http_establish): Use headers_recv as stop
6535 condition.
6536 * grub-core/net/net.c (grub_net_poll_cards): New argument
6537 stop_condition. Stop when it goes true.
6538 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
6539 indicator.
6540 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
6541
3e747239
VS
65422012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6543
6544 Keep TX and RX buffers on EFI rather than always allocate new ones.
6545
6546 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
6547 card. All users updated.
6548 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
6549 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
6550 (get_card_packet): Likewise.
6551 (grub_efinet_findcards): Init new fields.
6552
f695e99a
VS
65532012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6554
6555 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
6556 compilation error on sparc64.
6557
9e5e66d1
VS
65582012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6559
6560 Use ITC on IA64 rather than broken routine based on daytime.
6561
6562 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
6563 ia64.
6564 (grub_get_rtc) [__ia64__]: Likewise.
6565 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
6566 (get_itc): New function.
6567 (grub_rtc_get_time_ms): Likewise.
6568 (grub_machine_init): Calibrate ITC.
6569 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
6570 Keep only on non-ia64. Don't export since it's broken and used only
6571 if TSC is unavailable.
6572
a1767404
VS
65732012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6574
6575 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
6576 even if it's used.
6577 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
6578 Skip if parent is unused.
6579
34b2bced
VS
65802012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6581
6582 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
6583
5e619f40
VS
65842012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6585
6586 Fix wildcard escaping.
6587
6588 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
6589 * grub-core/script/execute.c (wildcard_escape): .. to here.
6590 Don't escape dot.
6591 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
6592 * grub-core/script/execute.c (wildcard_unescape): .. to here.
6593 Don't escape dot.
6594 * grub-core/script/execute.c (gettext_append): Always escape.
6595 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
6596 * grub-core/script/yylex.l: Don't cut away the escaping.
6597 * tests/grub_script_echo1.in: Add tests with wildcard.
6598
c8ca5855
VS
65992012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6600
6601 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
6602 (ftdi_hw_configure): Likewise.
6603 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
6604 define.
6605 (real_config): Handle 1.5 stop bits.
6606 (pl2303_hw_configure): Likewise.
6607
7183452c
VS
66082012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6609
6610 * Makefile.am: Add ppc linux bootcheck.
6611 * grub-core/tests/boot/linux-ppc.cfg: New file.
6612 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
6613
f57c84cd
VS
66142012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6615
6616 * tests/grub_script_expansion.in: Skip network protocols.
6617
ecfc6207
VS
66182012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6619
6620 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
6621
8d03d284
VS
66222012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6623
6624 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
6625 --rom-directory.
6626 Add -graft-points.
6627
61c42af0
VS
66282012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6629
6630 ESCC serial driver for conducting sautomated tests in qemu.
6631 Not tested on real hardware.
6632
6633 * include/grub/serial.h (grub_serial_port): New field escc_desc.
6634 * grub-core/term/ieee1275/escc.c: New file.
6635 * grub-core/Makefile.core.def (escc): New module.
6636
08fd1291
VS
66372012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6638
6639 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
6640 invalid on error.
6641 (serial_hw_fetch): Don't read invalid handle.
6642 (serial_hw_put): Don't write into invalid handle.
6643
08dafeea
VS
66442012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6645
6646 Add a 1.5 stop bits value.
6647
6648 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
6649 * include/grub/serial.h (grub_serial_stop_bits_t): Add
6650 GRUB_SERIAL_STOP_BITS_1_5.
6651
9068fdcf
VS
66522012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6653
6654 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
6655 value rather than let it uninited.
6656
f4d5820f
VS
66572012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6658
6659 * grub-core/commands/wildcard.c (+check_file): New function.
6660 (wildcard_expand): Don't expand to non-existing files, expand with
6661 suffix and not attempt to expand if not needed.
6662
3d2de9a7
VS
66632012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6664
6665 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
6666 out of partitions containing other partitions.
6667
c5c81ff9
VS
66682012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6669
6670 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
6671 on some qemu versions with GRUB.
6672
6673 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
6674 define.
6675 (grub_openbsd_bootarg_pcibios): New struct.
6676 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
6677 Add PCIINFO.
6678
08a14e0b
VS
66792012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6680
6681 * tests/util/grub-shell.in: Trim firmware output on EFI.
6682
cede3ca3
VS
66832012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6684
6685 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
6686 and coreboot since it's already in kernel.
6687
558d3a60
VS
66882012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6689
6690 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
6691 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
6692 to here. New return value start. All users updated.
6693 Recursively scan linear mappings.
6694 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
6695 proto.
6696 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
6697 Use grub_util_get_dm_node_linear_info.
6698 * util/getroot.c (convert_system_partition_to_system_disk): Use
6699 grub_util_info rather than grub_dprintf.
6700 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
6701
60fde14d
VS
67022012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6703
6704 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
6705
6706 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
6707 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
6708
24bd8838
VS
67092012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6710
6711 * include/grub/types.h (grub_set_unaligned64): New function.
6712 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
6713 (setup): Likewise.
6714
7bc06a49
VS
67152012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6716
6717 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
6718 (grub_ofdisk_fini): Quiesce USB devices.
6719
49cea015
VS
67202012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6721
6722 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
6723 caches.
6724
8dcbe03b
VS
67252012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6726
6727 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
6728
5b258735
VS
67292012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6730
6731 * grub-core/disk/pata.c (grub_pata_pio_read)
6732 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
6733 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
6734
37ba07eb
VS
67352012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6736
6737 Extend automated tests to qemu-mips.
6738
6739 * Makefile.am: reorganise tests and enable qemu-mips.
6740 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
6741 * grub-core/tests/boot/linux.init-mips.S: New file.
6742 * tests/partmap_test.in: Handle ata0 disks.
6743 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
6744 non-pc i386.
6745
070038f8
VS
67462012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6747
6748 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
6749 ia64.
6750 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
6751 quotes while on it.
6752
004be2cd
VS
67532012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6754
6755 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
6756 (grub_halt): Likewise.
6757 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
6758
b1622487
VS
67592012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6760
6761 * grub-core/term/serial.c (grub_serial_register)
6762 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
6763 the behaviour in line with x86 platforms.
6764
b7b4ab33
VS
67652012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6766
6767 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
6768 (grub_ata_strncpy): Likewise.
6769 (grub_ata_identify): Add missing byteswaps.
6770
5e3535ae
VS
67712012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6772
6773 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
6774 byte-swap.
6775 (screen_read_char): Likewise.
6776 (grub_vga_text_cls): Likewise.
6777
c21b17e6
VS
67782012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6779
6780 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
6781 filenames.
6782 (make_file_path): Likewise.
6783
bf293dec
VS
67842012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6785
6786 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
6787 machines.
6788 Tested by: Paulo Flabiano Smorigo.
6789 Crucial information about API supplied by: Coleen <Last name unknown>.
6790 Reviewed by: Coleen <Last name unknown>.
6791
81f6ef0e
VS
67922012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6793
6794 * util/grub-mkimage.c: Disable -Wcast-align.
6795
7284143a
VS
67962012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6797
6798 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
6799 as they are fatal.
6800
b99f3e00
VS
68012012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6802
6803 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
6804
944f752d
VS
68052012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6806
6807 * util/grub-probe.c (escape_of_path): Fix double free.
6808
6cce6f38
VS
68092012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6810
6811 * grub-core/commands/videoinfo.c (hook): Show pitch.
6812
1e1eb50e
VS
68132012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6814
6815 * util/grub.d/20_linux_xen.in: Skip xen-syms.
6816
1c715b5a
VS
68172012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6818
6819 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
6820 (probe): Add ieee1275 to OFW devices.
6821
007ae52d
VS
68222012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6823
6824 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
6825
4557a36d
VS
68262012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6827
6828 Handle IBM OFW path.
6829
6830 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
6831 available.
6832 (of_path_of_scsi): Handle vdevice.
6833
efbeefe9
VS
68342012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
6835
6836 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
6837 Allocate in multiples of 16 to avoid adding a few bytes free region the
6838 windows bugs upon.
6839
15a940bb
VS
68402012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
6841
6842 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
6843 Allocate in multiples of 16 to avoid adding a few bytes free region the
6844 windows bugs upon.
6845 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
6846
6e5efd60
VS
68472012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6848
6849 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
6850 resolutions.
6851 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
6852 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
6853
0d3d137e
IS
68542012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
6855
6856 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
6857
45dbe300
VS
68582012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6859
6860 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
6861 resulted in \\ at the end of the line.
6862
6d8db947
VS
68632012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6864
6865 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
6866 (grub_parser_cmdline_state): Likewise.
6867 (grub_parser_split_cmdline): Likewise.
6868
de89d338
VS
68692012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6870
6871 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
6872 /dev/root and /dev/dm-*.
6873
00d41dee
VS
68742012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6875
6876 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
6877 fix partially stale display.
6878
f95d1f11
VS
68792012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6880
6881 * grub-core/normal/menu_entry.c (backward_char): Use right line for
6882 substraction.
6883
6297e197
VS
68842012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6885
6886 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
6887 Fix MBR remapping workaround.
6888 (grub_util_biosdisk_read) [__linux__]: Likewise.
6889
8a7ecad3
VS
68902012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
6891
6892 * util/grub-install.in: Check for ieee1275 and not ieee1276.
6893
2b34f944
VS
68942012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6895
6896 * configure.ac: Bump to beta6.
6897
684aef11
CW
68982012-05-31 Christer Weinigel <christer@weinigel.se>
6899
6900 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
6901
05b0bb91
VS
69022012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6903
6904 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
6905 (grub_cmd_linux): Likewise.
6906
bda36bfa
CW
69072012-05-31 Christer Weinigel <christer@weinigel.se>
6908
6909 Fix EHCI low-speed.
6910
6911 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
6912 (GRUB_EHCI_MULT_TWO): Likewise.
6913 (GRUB_EHCI_MULT_THREE): Likewise.
6914 (GRUB_EHCI_CMASK_MASK): New enum value.
6915 (GRUB_EHCI_SMASK_MASK): Likewise.
6916 (GRUB_EHCI_CMASK_OFF): Likewise.
6917 (GRUB_EHCI_SMASK_OFF): Likewise.
6918 (grub_ehci_pci_iter): Enable periodic schedule.
6919 (grub_ehci_parse_notrun): Likewise.
6920 (grub_ehci_restore_hw): Likewise.
6921 (grub_ehci_setup_qh): Set flags for low speed transfers.
6922 (grub_ehci_find_qh): Use periodic list for low speed.
6923 (grub_ehci_setup_transfer): Check periodic queue as well.
6924 (grub_ehci_check_transfer): Likewise.
6925 (grub_ehci_cancel_transfer): Cancel periodic transfer.
6926
e12bcb1c
PFS
69272012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6928
6929 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
6930 parameter is used.
6931
bcc75fb3
PJ
69322012-05-31 Peter Jones <pjones@redhat.com>
6933
6934 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
6935 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
6936 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
6937
f19cb95e
VS
69382012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6939
6940 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
6941 uninited variable. Allocate at least setup_sects.
6942
a4e5ca80
VS
69432012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6944
6945 Fix handling of EFI with big memory maps.
6946
6947 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
6948 (real_mode_mem): Likewise.
6949 (real_mode_target): Likewise.
6950 (real_mode_pages): Likewise.
6951 (prot_mode_pages): Likewise.
6952 (linux_params): New var.
6953 (linux_cmdline): Likewise.
6954 (free_pages): Don't set real mode variables.
6955 (allocate_pages): Don't allocate real mode memory.
6956 (grub_e820_add_region): Remove the limit.
6957 (grub_linux_boot): Allocate and copy real mode memory.
6958 (grub_linux_unload): Free linux_cmdline.
6959 (grub_cmd_linux): Use temporary storage for parameters.
6960 (grub_cmd_initrd): Likewise.
6961 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
6962 (linux_kernel_params): Make it 1K big.
6963
ddb73558
VS
69642012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6965
6966 * Makefile.util.def: Remove -Wno-format.
6967 * grub-core/Makefile.core.def: Likewise.
6968
1c4afb60
VS
69692012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6970
6971 * tests/cmp_unit_test.c: Add missing failure message.
6972 * tests/example_unit_test.c: Likewise.
6973 * tests/printf_unit_test.c: Likewise.
6974
941e3a6d
VS
69752012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6976
6977 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
6978 relaxation of protective MBR requirements.
6979
b105df76
VS
69802012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
6981
6982 * configure.ac: Add condition for COND_HOST_XNU.
6983 * Makefile.util.def (10_xnu): New script.
6984 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
6985
84e1569e
VS
69862012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
6987
6988 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
6989 objconv bug.
6990
130c0f77
VS
69912012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
6992
6993 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
6994 Binary on other platforms stays identical.
6995
6fd0b143
VS
69962012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6997
6998 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
6999 Apple.
7000
0af1751d
VS
70012012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7002
7003 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
7004
176d5f7d
VS
70052012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7006
7007 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
7008 rather than defining size_t ourselves to avoid conflict.
7009
7de5e20a
VS
70102012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7011
7012 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
7013 initialisation to avoid __bzero reference.
7014
f7143efe
VS
70152012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7016
7017 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
7018 version.
7019 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
7020 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
7021 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
7022 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
7023 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
7024
e6ad0555
VS
70252012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7026
7027 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
7028 * grub-core/kern/misc.c: Likewise.
7029 * grub-core/loader/i386/xnu.c: Likewise.
7030 * include/grub/i386/tsc.h: Likewise.
7031 * include/grub/symbol.h: Likewise.
7032
4a5a3c4a
VS
70332012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7034
7035 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
7036 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
7037 on older compiler.
7038
037f6d90
VS
70392012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7040
7041 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
7042 Implement Apple flavour.
7043 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
7044
f7194551
VS
70452012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7046
7047 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
7048 (memmove) [__APPLE__]: Likewise.
7049 (memcpy) [__APPLE__]: Likewise.
7050 (memset) [__APPLE__]: Likewise.
7051 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
7052 (memmove) [__APPLE__]: Likewise.
7053 (memcpy) [__APPLE__]: Likewise.
7054 (memset) [__APPLE__]: Likewise.
7055
85a730ca
VS
70562012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7057
7058 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
7059 dependency discard.
7060
40e80b94
VS
70612012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7062
7063 * grub-core/normal/main.c (read_config_file): Provide config_file and
7064 config_directory.
7065 * util/grub.d/41_custom.in: Use config_directoy when available.
7066
9da59c32
VS
70672012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7068
7069 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
7070 (grub_bfs_dir): Likewise.
7071
2787ae53
PJ
70722012-05-27 Peter Jones <pjones@redhat.com>
7073
7074 The old code gives arguments to a printf function which can't work
7075 correctly, and the compiler complains.
7076
7077 * grub-core/tests/example_functional_test.c (example_test): Add
7078 missing text.
7079 * grub-core/tests/lib/test.c (add_failure): Rewrite.
7080 * include/grub/test.h (grub_test_assert_helper): New declaration.
7081 (grub_test_assert): Use grub_test_assert_helper.
7082
526ef13d
VS
70832012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7084
7085 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
7086 (exfctest): ... this to avoid overlong filenames.
7087 All users updated.
7088
20dd511c
VS
70892012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7090
7091 Handle "." and ".." on squashfs.
7092
7093 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
7094 Make inode numbers into stack.
7095 (grub_squash_read_symlink): Use stack.
7096 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
7097 (make_root_node): Fill stack.
7098 (grub_squash_open): Use stack.
7099
1d80c62a
VS
71002012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7101
7102 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
7103 freeing.
7104
d336f652
VS
71052012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7106
7107 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
7108 stderr on test calls.
7109
8b43f587
VS
71102012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7111
7112 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
7113
80a3dc3f
VS
71142012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7115
7116 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
7117
47e297d4
VS
71182012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7119
7120 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
7121 "..".
7122
df042ccb
VS
71232012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7124
7125 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
7126 (grub_hfsplus_iterate_dir): Add "." and "..".
7127
fc977f48
VS
71282012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7129
7130 * grub-core/fs/cpio.c (canonicalize): Handle "..".
7131 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
7132
f3250e5f
VS
71332012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7134
7135 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
7136 (find_path): Handle "." and "..".
7137
fd8ed4c5
VS
71382012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7139
7140 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
7141 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
7142 (grub_affs_iterate_dir): Handle hardlinks.
7143
4ce776d2
MG
71442012-05-26 Matthew Garrett <mjg@redhat.com>
7145
7146 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
7147 (grub_efi_console_fini): Likewise.
7148 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
7149 (grub_video_gop_fill_mode_info): Rename to ...
7150 (grub_video_gop_fill_real_mode_info): ... this.
7151 (grub_video_gop_fill_mode_info): New function.
7152 (grub_video_gop_setup): Setup double framebuffer.
7153 (grub_video_gop_get_info_and_fini): Use original framebuffer.
7154 Free offscreen.
7155 (grub_video_gop_swap_buffers): Copy framebuffer.
7156 (grub_video_gop_fini): Free offscreen buffer.
7157 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
7158 New enum.
7159 (grub_efi_gop_blt_pixel): New struct.
7160
683031ba
VS
71612012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
7162
7163 * gentpl.py: Remove error disabling for objconv.
7164
c2deb798
VS
71652012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
7166
7167 * configure.ac: Remove -Wunitialized as it's not available on older
7168 compilers.
7169
71702012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
7171
7172 Fix extent overflow comparator.
7173
7174 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
7175 (grub_hfsplus_read_block): Set type.
7176 (grub_hfsplus_cmp_extkey): Compare type.
7177
d6b1fd36
VS
71782012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
7179
7180 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
7181
0a9aa0f6
VS
71822012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7183
7184 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
7185 than 0.
7186
8360e159
VS
71872012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7188
7189 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
7190 (dejavu_bold_14.pf2): New target.
7191
501b9e4b
VS
71922012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7193
7194 * configure.ac: Fix djvu font detection.
7195
7026b0e2
VS
71962012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7197
7198 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
7199 ext* instead of ext2.
7200
c2a51ade
VS
72012012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7202
7203 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
7204 name with \0.
7205
8f803a5d
JU
72062012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
7207
7208 * docs/grub-dev.texi: Remove dot from .png.
7209
13c6353f
VS
72102012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7211
7212 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
7213 protective entry in any slot.
7214 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
7215 if protective entry is found in any slot.
7216
7217 Protective entry in non-first slot make no sense but is a widespread
7218 brain damage.
7219
4cf6be1b
VS
72202012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7221
7222 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
7223
937d1c44
VS
72242012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7225
7226 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
7227 with old reiserfs.
7228 (grub_reiserfs_open): Don't free root.
7229
021d90ec
VS
72302012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7231
7232 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
7233 after freeing for safety.
7234
967b2b64
VS
72352012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7236
7237 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
7238 Reported by: Jordan Uggla.
7239
34274d02
JU
72402012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
7241
967b2b64
VS
7242 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
7243 actual implementation. Specifically, clarify that the grub menu will
7244 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
7245 passed.
34274d02 7246
dcaaae9d
BH
72472012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
7248
7249 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
7250 of r0.
7251
7086ad52
VS
72522012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7253
7254 Remove unjustified hard dependency of normal.mod on gfxterm.
7255
7256 * include/grub/term.h (grub_term_output): New member fullscreen.
7257 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
7258 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
7259 (grub_gfxterm): Set .fullscreen.
7260 * grub-core/normal/menu.c (menu_init): Use fullscreen.
7261 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
7262
37ed2c9b
VS
72632012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7264
7265 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
7266 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 7267 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 7268
a4469c88
VS
72692012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7270
7271 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
7272
4e461486
VS
72732012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7274
7275 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
7276 a bad FS.
7277
aa78f5c4
VS
72782012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7279
7280 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
7281 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
7282
197626b5
VS
72832012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7284
7285 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
7286 (grub_jfs_mount): Fill caseins.
7287 (grub_jfs_find_file): Respect caseins.
7288
8ad3f28c
VS
72892012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7290
7291 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
7292 through UTF-16.
7293
0c6c324e
VS
72942012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7295
7296 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
7297 New argument origpath. All users updated.
7298
c6666ba6
VS
72992012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7300
7301 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
7302 (read_attr): Ensure that we read start of possibly compressed block.
7303
e28e5fe5
VS
73042012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7305
7306 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
7307 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
7308 All users updated.
7309
5fc23ab2
VS
73102012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7311
7312 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
7313 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
7314 (dejavu.pf2): Replace with ...
7315 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
7316 this.
7317
79dbc21c
VS
73182012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7319
7320 * util/grub.d/20_linux_xen.in: Add missing line.
7321
d2fcfb0c
VS
73222012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7323
7324 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
7325 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
7326 (grub_utf16_to_utf8): Likewise.
7327
5560e9d6
VS
73282012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7329
7330 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
7331 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
7332 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7333 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
7334 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
7335 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
7336
73372012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
7338
7339 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
7340 a bad FS.
7341
5560e9d6 73422012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
7343
7344 * grub-core/fs/udf.c (read_string): Bail out on size=0.
7345 (grub_udf_read_symlink): Handle read_string failure.
7346
5eae3175
VS
73472012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7348
7349 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
7350 comment.
7351
c1ad82db
VS
73522012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7353
7354 Fix handling of UDF symlinks.
7355
7356 * grub-core/fs/udf.c (read_string): New argument outbuf.
7357 All users updated.
7358 (grub_ufs_read_symlink): Rename to ...
7359 (grub_udf_read_symlink): ... this. All users updated.
7360 Handle symlinks with more than one component.
7361
33eca6e0
VS
73622012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7363
7364 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
7365 symlinks. Replace leading colon with a slash.
7366
57f4a70b
VS
73672012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7368
7369 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
7370 filename.
7371
38c8ee20
VS
73722012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7373
7374 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
7375 match in inner node.
7376
2e57f28f
VS
73772012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7378
7379 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
7380 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
7381 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
7382 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
7383 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
7384 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
7385 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
7386 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
7387 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
7388
fe8c2f11
VS
73892012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
7390
7391 Use grub-probe and not cmp to check that disk is empty.
7392
7393 * util/grub-install.in: Use grub-probe for zero-check.
7394 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
7395 (probe): Handle PRINT_ZERO_CHECK.
7396 (argp_parser): Handle -t zero_check.
7397
73982012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
7399
7400 Flush block cache on adding disk to device map.
7401
7402 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
7403 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
7404 adding.
7405 (read_device_map): Likewise.
7406 (open_device): Flush on opening.
7407
690434e8
VS
74082012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7409
7410 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
7411 (handle_symlink): Fix off-by-one error.
7412 Canonicalize the target.
7413 (grub_cpio_dir): Canonicalize the name.
7414 Fix memory leak.
7415 Set directory.
7416 (grub_cpio_open): Canonicalize the name.
7417
742d2be6
VS
74182012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7419
7420 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
7421 handling.
7422
3244fe96
VS
74232012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7424
7425 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
7426 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
7427
8aeb1837
VS
74282012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7429
7430 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
7431 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 7432 All users updated.
8aeb1837 7433
9133fd05
VS
74342012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7435
7436 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
7437 counterpart.
7438
6d521c5b
VS
74392012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7440
7441 Fix UFS1 big file support.
7442
7443 * grub-core/fs/ufs.c (INODE): Removed.
7444 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
7445 64-bit.
7446 (INODE_MODE): Simplify.
7447 (grub_ufs_inode): Use uint64_t for size and not int64_t.
7448 (grub_ufs_lookup_symlink): Don't use INODE.
7449
21b82e17
VS
74502012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7451
7452 Fix minixfs with non-power-of-two blocks since it's supported by minix.
7453
7454 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
7455 (grub_minix_data): Replace log_block_size with block_size.
7456 (grub_minix_read_file): Use block_size but avoid 64-bit division.
7457 (grub_minix_mount): Fill block_size.
7458
74592012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
7460
7461 * configure.ac: Bump to beta5.
7462
f417ed04
VS
74632012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7464
7465 Fix wrapped HFS+ handling.
7466
7467 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
7468 blocks_start. All users updated.
7469 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
7470 wrapping offset.
7471 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
7472
607d282b
VS
74732012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7474
7475 Fix long symlinks on reiserfs.
7476
7477 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
7478 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
7479 (grub_reiserfs_iterate_dir): Save size for non-directories.
7480 (grub_reiserfs_open): Don't reread stat block as we already know the
7481 size.
7482 (grub_reiserfs_read): Split into...
7483 (grub_reiserfs_read_real): ... and ...
7484 (grub_reiserfs_read): ...this.
7485
ae16024d
VS
74862012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7487
7488 Fix non-indexed JFS.
7489
7490 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
7491 (grub_jfs_data): New field namecomponentlen.
7492 (grub_jfs_mount): Fill namecomponentlen.
7493 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
7494
eea1e26e
VS
74952012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7496
7497 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
7498 * tests/grub_script_echo1.in: Add tests.
7499
df760f77
VS
75002012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7501
7502 * util/grub-install.in: Ignore empty devicetree directory.
7503
5efb817d
B
75042012-05-08 Bean <bean123ch@gmail.com>
7505
7506 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
7507 All users updated.
7508 (free_rsm): Free header as well.
7509 (free_old_fragments): Fix memory leak.
7510 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
7511 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
7512 (destroy_pq): Likewise.
7513 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
7514
668ea6d2
VS
75152012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7516
7517 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
7518 resulting hash as a precaution.
7519
1739b1fe
VS
75202012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7521
7522 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
7523 '_' in variable names.
7524 * grub-core/net/net.c (grub_net_network_level_interface_register):
7525 Likewise.
7526
6ae485aa
VS
75272012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7528
7529 Fix AFFS with non-512B blocks.
7530
7531 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
7532 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
7533 (grub_affs_data): Replace blocksize with log_blocksize.
7534 (grub_affs_read_block): Fix non-512B blocks.
7535 (grub_affs_read_symlink): Likewise.
7536 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
7537 (grub_affs_read): Fix non-512B blocks.
7538 (grub_affs_label): Likewise.
7539 (grub_affs_mtime): Likewise.
7540 (grub_affs_mount): Fix block detection routine.
7541
d20fab84
VS
75422012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7543
7544 Add filesystem mtime to AFFS.
7545
7546 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
7547 (aftime2ctime): New function.
7548 (grub_affs_dir): Use aftime2ctime.
7549 (grub_affs_label): Fix return value.
7550 (grub_affs_mtime): New function.
7551 (grub_affs_fs): Add mtime.
7552
e87b10f5
VS
75532012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
7554
7555 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
7556 UTF-8.
7557
7dceec9b
VS
75582012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
7559
7560 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
7561 UTF-8.
7562
2f48221f
VS
75632012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
7564
7565 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
7566
dacd85cf
VS
75672012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
7568
7569 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
7570 flags.
7571 (FLAGS_CASE_SENSITIVE): New enum value.
7572 (cache_entry): New struct.
7573 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
7574 cache_size and cache.
7575 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
7576 Add log_blocksize and fshelp_flags.
7577 (grub_sfs_read_extent): Handle non-512 blocks.
7578 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
7579 (grub_sfs_read_file): Handle non-512 blocks.
7580 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
7581 fshelp_flags.
7582 (grub_sfs_read_symlink): Handle non-512 blocks.
7583 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
7584 (grub_sfs_dir): Free cache.
7585 (grub_sfs_close): Likewise.
7586
24e9a854
VS
75872012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
7588
7589 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
7590 filesystems.
7591
62ace64d
VS
75922012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
7593
7594 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
7595
83b2e89c
VS
75962012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
7597
7598 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
7599
75ccaea3
VS
76002012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
7601
7602 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
7603 (grub_sfs_read_extent): Likewise.
7604 (grub_sfs_read_block): Likewise.
7605 (grub_sfs_mount): Likewise.
7606 (grub_sfs_iterate_dir): Likewise.
7607 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
7608 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
7609
1b8463f2
VS
76102012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7611
7612 Fix errors on compressed NTFS with 512B clusters.
7613
7614 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
7615 types.
7616 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
7617 not 0.
7618 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
7619 Relax check for inline extents.
7620 (ntfscomp): Return correct -1 on error and not 0.
7621
4f8e368f
VS
76222012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7623
7624 * util/grub-install.in: Fix handling of prefix containing spaces.
7625
6f5d5ee8
VS
76262012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7627
7628 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
7629 (grub_squash_read_data): Fix offset byte-swapping.
7630
ce41ab7a
VS
76312012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7632
7633 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
7634 per common usage and preffered in several parts of code.
7635 (grub_memcmp): Likewise.
7636 (grub_strncmp): Likewise.
7637 * include/grub/misc.h (grub_strcasecmp): Likewise.
7638 (grub_strncasecmp): Likewise.
7639 * Makefile.util.def (cmp_test): New test.
7640 (grub_script_strcmp): Likewise.
7641 * tests/cmp_unit_test.c: New file.
7642 * tests/grub_script_strcmp.in: Likewise.
7643 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
7644
49717bf4
VS
76452012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7646
7647 * include/grub/pci.h: Move enums into no-asm part.
7648
0a308f64
VS
76492012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7650
7651 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
7652
1796965f
ST
76532012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
7654
7655 * util/getroot.c (find_hurd_root_device): Try to make error message
7656 and comments to translators clearer.
7657
4e9b2819
VS
76582012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7659
7660 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
7661
076aeb50
VS
76622012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7663
7664 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
7665 btrfs.
7666
19424d94
VS
76672012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7668
7669 * docs/grub.cfg: Update.
7670
ebb73076
VS
76712012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7672
7673 * docs/grub.texi (PXE): Remove not present variables.
7674
9a1b669c
VS
76752012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7676
7677 * grub-core/net/net.c (defserver_set_env): New function.
7678 (defserver_get_env): Likewise.
7679 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
7680
d38bf7d3
VS
76812012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7682
7683 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
7684 entries.
7685
76862012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
7687
7688 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
7689 * grub-core/kern/emu/hostdisk.c: Likewise.
7690
e5e4ca48
ST
76912012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
7692
7693 Handle hurd userspace partitions.
7694
7695 * util/getroot.c (find_hurd_root_device): New function.
7696 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
7697
56bb5dd5
VS
76982012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7699
7700 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
7701 names.
7702 Reported by: Bastian Blank.
7703
9e8bc27a
VS
77042012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7705
7706 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
7707 crossing page boundary.
7708
aa01499d
VS
77092012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7710
7711 Fix B-tree search in BFS, especially in presence of non-ASCII
7712 characters.
7713
7714 * grub-core/fs/bfs.c (bfs_strcmp): New function.
7715 (find_in_b_tree): Use standard bsearch + btree algorithm.
7716
57006035
VS
77172012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7718
7719 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
7720 and so on.
7721
9d34bb85
MG
77222012-05-03 Matthew Garrett <mjg@redhat.com>
77232012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7724
7725 Suspend broadcom cards in order to stop their DMA.
7726
7727 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
7728 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
7729 (pci): Don't build on x86 EFI.
7730 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
7731 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
7732 New function.
7733 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
7734 stop_broadcom if running on EFI.
7735 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
7736 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
7737 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
7738 (grub_pci_find_capability): New proto.
7739
01aab997
VS
77402012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7741
7742 * docs/grub.texi: Remove dot from the extension as it apparently
7743 doesn't work with some makeinfo versions.
7744
fbd8dca6
VS
77452012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7746
7747 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
7748 with GRUB expectance.
7749
dab797f4
VS
77502012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7751
7752 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
7753
1516bfb4
VS
77542012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7755
7756 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
7757 zero after directory block since last entry may be not 0-terminated if
7758 it ends on block boundary. Use continue instead of if spanning whole
7759 loop.
7760
a3a0eace
VS
77612012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7762
7763 Support 4K sectors UDF inline files.
7764
7765 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
7766 (grub_udf_extended_file_entry): Likewise.
7767 (grub_fshelp_node): Name the anonymous union. Put block at the end.
7768 All users updated.
7769 (get_fshelp_size): New function.
7770 (grub_udf_read_icb): Read whole block.
7771 (grub_udf_iterate_dir): Likewise.
7772 (grub_udf_dir): Likewise.
7773 (grub_udf_open): Likewise.
7774
c82f16c1
VS
77752012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7776
7777 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
7778
59fd2aac
VS
77792012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7780
7781 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
7782 inline symlinks in addition to workaround.
7783
3b4afb4d
VS
77842012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7785
7786 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
7787
f45c794a
VS
77882012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7789
7790 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
7791
f25cecbd
VS
77922012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7793
7794 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
7795
bb9a34e8
VS
77962012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7797
7798 Fix reiserfs big seek times.
7799
7800 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
7801 exact. All users updated.
7802 (grub_reiserfs_read): Use nearest btree search for seeking.
7803 Fix return value on error.
7804
dc478aea
VS
78052012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7806
7807 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
7808 entries.
7809 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
7810 * docs/grub.texi: Update menuentry description.
7811
8db10f47
VS
78122012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7813
7814 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
7815 crash when embedding onto filesystem.
7816
bcb288ed
VS
78172012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7818
7819 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
7820 name.
7821
a626fdd7
VS
78222012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7823
7824 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
7825
b2f68477
VS
78262012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7827
7828 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
7829 commit.
7830
ba15b2af
B
78312012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
78322012-05-01 Bean <bean123ch@gmail.com>
7833
7834 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
7835
a188012e
VS
78362012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7837
7838 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
7839 Special behaviour for len = 0 to read whole file isn't used anywhere and
7840 can cause buffer ovewrflows in several places.
7841
f0a53ed2
VS
78422012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7843
7844 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
7845
5ed554f0
VS
78462012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7847
7848 Handle RAIDZ on non-512B sectors.
7849
7850 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
7851 max_children_ashift.
7852 (fill_vdev_info_real): Fill max_children_ashift.
7853 (read_device): Use max_children_ashift.
7854
ddc58357
VS
78552012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7856
7857 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
7858
e3282399
VS
78592012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7860
7861 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
7862 disk names.
7863 * docs/grub.texi: Update device.map parts.
7864
ee618bd4
VS
78652012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7866
7867 Don't scan into non-diskfilter devices having diskfilter names.
7868
7869 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
7870 (scan_disk): New argument accept_diskfilter. Fix recursion depth
7871 handling.
7872 (scan_disk_hook): New function.
7873
bdf88864
B
78742012-04-29 Bean <bean123ch@gmail.com>
7875
7876 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
7877 allocation.
7878
32745f51
MK
78792012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
7880
7881 * configure.ac: Detect starfield theme font path
7882 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
7883
bc95c8c0
VS
78842012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7885
7886 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
7887 geometry on serial consoles.
7888
147fbcab
VS
78892012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7890
7891 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
7892 because of network consoles.
7893
0f42c889
VS
78942012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7895
7896 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
7897 handling.
7898
4a3594c9
VS
78992012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7900
7901 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
7902 falls on Q syndrom.
7903
5cb53879
VS
79042012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7905
7906 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
7907 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
7908
b282dfe5
VS
79092012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7910
7911 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
7912 Allocate at lest 8192 for temporary buffer as required for lzo.
7913
daa59f47
VS
79142012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7915
7916 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
7917 to cluster_bits, since it's already added in.
7918 (grub_fat_read_data): Likewise.
7919
986748ce
VS
79202012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7921
7922 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
7923 as long as cluster size is multiple of 512 bytes.
7924
a20f6ad0
VS
79252012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
7926
7927 * util/grub-mkrescue.in: Fix locale directory.
7928
385f9abb
VS
79292012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
7930
7931 * grub-core/kern/emu/hostdisk.c (map): Make static.
7932
1c557d30
B
79332012-04-23 Bean <bean123ch@gmail.com>
7934
7935 * util/grub-fstest.c (fstest): Add missing break.
7936
524b5d3a
ST
79372012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
7938
7939 Fix hurd build.
7940
7941 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
7942 not define nr variable.
fe4824e9 7943 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
7944 find_root_devices_from_poolname, find_root_devices_from_libzfs,
7945 grub_find_device): Do not define.
524b5d3a 7946
9a06490c
VS
79472012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
7948
7949 Fix kfreebsd compile and behaviour.
7950
7951 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
7952 format-security.
7953 * util/getroot.c: Fix wait.h include.
7954 (grub_guess_root_devices): Error if grub_find_device fails.
7955 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
7956 (grub_util_get_dev_abstraction): Likewise.
7957 (grub_util_pull_device): Likewise.
7958 (grub_util_get_grub_dev): Likewise.
7959 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
7960
48143d96
VS
79612012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
7962
7963 Fix and unify wholedisk detection.
7964
7965 * util/getroot.c (convert_system_partition_to_system_disk): New argument
7966 is_part. All users updated.
7967 (device_is_wholedisk): Removed.
7968 (grub_util_biosdisk_get_grub_dev): Use is_part.
7969
ebbd24f3
VS
79702012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7971
7972 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
7973 mode.
7974
56f7aa1e
VS
79752012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7976
7977 * configure.ac: Bump to beta4.
7978
9c815e01
VS
79792012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7980
7981 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
7982 --fs-uuid --set UUID syntax.
7983
59e2651a
VS
79842012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7985
7986 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
7987 disunification.
7988
54e03cfc
VS
79892012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7990
7991 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
7992
81092a75
MK
79932012-04-18 Mads Kiilerich <mads@kiilerich.com>
7994
7995 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
7996
f8315e14
MG
79972012-04-18 Mike Gilbert <floppym@gentoo.org>
7998
7999 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
8000
1501ac21
B
80012012-04-18 Bean <bean123ch@gmail.com>
8002
8003 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
8004 place.
8005
cb7f944e
VS
80062012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8007
8008 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
8009 users updated.
8010 (grub_util_biosdisk_read): Handle Linux partitions not exactly
8011 corresponding to GRUB partitions.
8012 (grub_util_biosdisk_write): Likewise.
8013
b72d44a1
VS
80142012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8015
8016 Scan mdraid before LVM.
8017
8018 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
8019 (grub_diskfilter_register_front): ... this.
8020 (grub_diskfilter_register_back): New function.
8021 All users of grub_diskfilter_register updated.
8022
33d918b8
VS
80232012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8024
8025 * util/grub-install.in: Fix an automatic target detection bug.
8026
c6ca973d
VS
80272012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8028
8029 * util/grub-install.in: New option --efi-directory.
8030
b41be562
VS
80312012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8032
8033 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
8034 boot services if we have no other choice.
8035
80362012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
8037
8038 * util/grub-mknetdir.in: Rename --override-directory to --directory and
8039 document it.
8040 * tests/util/grub-shell.in: Update to --directory.
8041
e0595a73
VS
80422012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8043
8044 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
8045
4ed80652
VS
80462012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8047
8048 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
8049 (grub_minix_read_file): Likewise.
8050 (grub_minix_read_inode): Likewise.
8051 (grub_minix_find_file): Likewise.
8052 (grub_minix_dir): Likewise.
8053
56008077
VS
80542012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8055
8056 * util/grub-setup.c (setup): Fix partition handling and blocklist
8057 check.
8058
ee520775
VS
80592012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8060
8061 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
8062 redundant buggy overlap check.
8063
16fc9293
VS
80642012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8065
8066 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
8067 and grub-mknetdir.
8068
9bab65c4
VS
80692012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8070
8071 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
8072 kh.loadflags on pre-2.00 kernels.
8073
3c491b47
VS
80742012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8075
8076 Terminate UNDI and PXE before launching the payload to avoid problems
8077 with DMA.
8078
8079 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
8080 (grub_loader_flags): ... this. All users updated.
8081 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
8082 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
8083 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
8084 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
8085 function.
8086 (grub_pxe_restore): Likewise.
8087 (fini_hnd): New var.
8088 (GRUB_MOD_INIT): Register shutdown hook.
8089 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
8090 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
8091 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
8092 (grub_loader_set): Rename second argument to flags.
8093
851ffada
VS
80942012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
8097 written bytes.
8098 (grub_get_num_of_utf8_bytes): New function.
8099 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
8100 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
8101 executing it.
8102 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
8103 (grub_ucs4_to_utf8): Change return type.
8104
491c57a8
VS
81052012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8106
8107 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
8108 warning.
851ffada
VS
8109 * grub-core/fs/bfs.c (hop_level): Likewise.
8110 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 8111
756773df
VS
81122012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8113
8114 * grub-core/lib/adler32.c: Recode due to license unclearness.
8115
fd556a96
VS
81162012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8117
8118 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
8119 (test_header): Likewise.
8120
9f9d3f69
VS
81212012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8122
8123 Fix --help formatting.
8124
8125 * util/grub-mkconfig_lib.in (print_option_help): New function.
8126 (grub_fmt): Likewise.
8127 * util/grub-install.in: Use print_option_help and grub_fmt.
8128 * util/grub-kbdcomp.in: Likewise.
8129 * util/grub-mkconfig.in: Likewise.
8130 * util/grub-mknetdir.in: Likewise.
8131 * util/grub-mkrescue.in: Likewise.
8132 * util/grub-mkstandalone.in: Likewise.
8133 * util/grub-reboot.in: Likewise.
8134 * util/grub-set-default.in: Likewise.
8135 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8136
561ec77e
VS
81372012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8138
8139 * linguas.sh: Remove autogenerated *.po.
8140
7ec2b021
VS
81412012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8142
8143 * po/README: Move language fetcing to ...
8144 * linguas.sh: ... here.
8145 * po/README: Point to linguas.sh.
8146
a88f3270
VS
81472012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8148
8149 * po/README: Exclude ko.po due to disclaimer problems.
8150
d61357ce
VS
81512012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8152
8153 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
8154 len = 0.
8155 (grub_gettext_translate_real): Handle 0th string.
8156 (grub_gettext_translate): Ensure that "" isn't translated.
8157
505e41dc
VS
81582012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8159
8160 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
8161 TRANSLATORS comment.
8162 (grub_diskfilter_print_partmap): Propagate changing of error into
8163 warning.
8164
e44092db
VS
81652012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8166
8167 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
8168 to uint64_t to prevent overflow.
8169 (grub_diskfilter_lv): Increase start_extent and extent_count
8170 to uint64_t to prevent overflow.
8171
9b83956a
VS
81722012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8173
8174 * configure.ac: Increase version.
8175
da0d5b3f
VS
81762012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8177
8178 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
8179
8180 * po/Rules-translit: New file.
8181 * po/arabic.sed: Likewise.
8182 * po/cyrillic.sed: Likewise.
8183 * po/greek.sed: Likewise.
8184 * po/hebrew.sed: Likewise.
8185 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
8186 * po/Makefile.in.in: Add extra_dist4.
8187
ac66b453
VS
81882012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8189
8190 Handle big-endian minixfs (fixes minixfs tests on bigendian).
8191
8192 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
8193 modify names. Introduce MODE_BIGENDIAN.
8194 * grub-core/fs/minix_be.c: New file.
8195 * grub-core/fs/minix2_be.c: Likewise
8196 * grub-core/fs/minix3_be.c: Likewise.
8197 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
8198 minix3_be.
8199 * grub-core/Makefile.core.def (minix_be): New module.
8200 (minix2_be): Likewise.
8201 (minix3_be): Likewise.
8202
82032012-04-01 Felix <email@hamburg.de>
8204
8205 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
8206 (devs): Add MBP 2011.
8207
0a2d5a82
VS
82082012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8209
8210 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
8211
d1625889
VS
82122012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8213
8214 * grub-core/normal/cmdline.c (print_completion): New field
8215 prompt_len.
8216 (grub_cmdline_get): Handle width properly.
8217
6d36a236
VS
82182012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8219
8220 * grub-core/commands/lsacpi.c (options): Add missing terminator.
8221
9576977e
VS
82222012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8223
8224 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 8225 after 29th of February.
9576977e 8226
d73ff15d
VS
82272012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8228
8229 Fix exfat endianness handling.
8230
8231 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
8232 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
8233 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
8234 Byte-swap utf16 when necessary.
8235 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
8236
bbb39a45
AB
82372012-03-31 Anton Blanchard <anton@samba.org>
82382012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8239
8240 Fix btrfs endianness handling.
8241
8242 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
8243 (lower_bound): Make root uint64_t. Use root in le.
8244 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
8245 (find_path): Fix template key init.
8246 (grub_btrfs_dir): Fix mtime byteswap.
8247 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
8248
354e0af7
VS
82492012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8250
8251 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
8252 recursion_depth. Break infinite resursions. All users updated.
8253
4e75f21c
VS
82542012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8255
8256 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
8257 after free.
8258 Reported by: Peter Jones.
8259
25581802
AB
82602012-03-31 Anton Blanchard <anton@samba.org>
8261
8262 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
8263 8 bit values.
8264
08fbf92e
VS
82652012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8266
8267 * util/grub-install.in: Fix nvram call for PreP.
8268
5d1182a6
VS
82692012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8270
8271 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
8272 the error when some elements are missing into a warning.
8273
3f8cdd90
VS
82742012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8275
8276 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
8277
51006716
CW
82782012-03-28 Colin Watson <cjwatson@ubuntu.com>
8279
8280 * docs/grub.texi (Invoking grub-probe): New section.
8281 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
8282
e1bd676b
VS
82832012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
8284
8285 Fix tab and wide character handling in editor and menu.
8286
8287 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
8288 agglomerate control characters with combining marks.
8289 (bidi_line_wrap): Allow break on tab.
8290 (grub_unicode_get_comb_start): New function.
8291 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
8292 and tab correctly.
8293 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
8294 with a space.
8295 * grub-core/normal/term.c (print_ucs4_terminal): New argument
8296 fixed_tab_size. All users updated.
8297 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
8298 (grub_term_getcharwidth): Handle \t.
8299 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
8300 and copy.
8301
22e6a774
VS
83022012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8303
8304 Handle big-endian mdraid.
8305
8306 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
8307 * grub-core/Makefile.core.def (mdraid09_be): New module.
8308 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
8309 rather than grub_le_to_cpu* and grub_cpu_to_le*.
8310 * grub-core/disk/mdraid_linux_be.c: New file.
8311
3c0eae66
VS
83122012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8313
8314 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
8315
b6cf74c9
VS
83162012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8317
8318 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
8319 missing quotes which caused confusion among translators.
8320
83c93b9c
VS
83212012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8322
8323 * util/grub-mkconfig_lib.in: Fix typo.
8324
ac6fd218
VS
83252012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8326
8327 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
8328 spaces.
8329 * tests/grub_script_leading_whitespace.in: New file.
8330 * Makefile.util.def (grub_script_leading_whitespace): New test.
8331
ba287dd8
VS
83322012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8333
8334 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
8335 to work.
8336
d2d58d0a
VS
83372012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8338
8339 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
8340 starts with control character.
8341
0382d9bb
VS
83422012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8343
8344 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
8345 overflow.
8346 (grub_gdb_outbuf): Likewise.
8347
d83ff9f9
VS
83482012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8349
8350 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
8351 zero terminator. Fixes a crash.
8352
2282da4a
VS
83532012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8354
8355 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
8356 beyond 4 GiB.
8357 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
8358 images independently of preffered adderss field.
8359
0ae4f0bd
VS
83602012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8361
8362 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
8363 * grub-core/commands/regexp.c: Likewise.
8364 * grub-core/loader/i386/linux.c: Likewise.
8365 * grub-core/partmap/msdos.c: Likewise.
8366 * grub-core/script/execute.c: Likewise.
8367 * grub-core/term/gfxterm.c: Likewise.
8368
546fbe9b
VS
83692012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8370
8371 Add variable parsing in $"..." and fix several mismatches with bash.
8372
8373 * Makefile.util.def (grub_script_gettext): New test.
8374 * grub-core/script/execute.c (parse_string): New function.
8375 (gettext_append): Likewise.
8376 (grub_script_arglist_to_argv): Use gettext_append.
8377 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
8378 * tests/grub_script_gettext.in: New file.
8379
9fdb2d7b
VS
83802012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8381
8382 Fix handling of leading spaces in scripts.
8383
8384 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
8385 spaces.
8386 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
8387 other than skipping \r. All users updated.
8388 * tests/grub_script_echo1.in: Add space-related tests.
8389 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
8390
1a1ac4f6
VS
83912012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8392
8393 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
8394
b63d89b6
VS
83952012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8396
8397 * configure.ac: Bump up the version to beta2.
8398
17f38c0f
VS
83992012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8400
8401 Fix gettext reload bugs (e.g. inability to disable gettext
8402 once enabled).
8403
8404 * grub-core/gettext/gettext.c: Encapsulate all static variables in
8405 main_context and secondary_context. All functions updated.
8406 (grub_gettext_translate): Rename to ...
8407 (grub_gettext_translate_real): ... this. Return NULL on failed
8408 translate.
8409 (grub_gettext_translate): Handle secondary context.
8410 (grub_gettext_delete_list): Close file and zero-out the context.
8411 (grub_mofile_open): Don't call grub_gettext_delete_list.
8412 Don't close file.
8413 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
8414 if locale="" to avoid pointless error message.
8415 (grub_gettext_env_write_lang): Update lang even if load fails.
8416 Handle secondary context.
8417 (grub_gettext_reread_prefix): New function.
8418 (read_main): Likewise.
8419 (read_secondary): Likewise.
8420 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
8421 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
8422 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
8423 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
8424
8e56f870
VS
84252012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8426
8427 * configure.ac: Decrease warning level to avoid spurious warnings and
8428 to be able to compile with GCC 4.2.
8429 * Makefile.util.def: Remove -Wno-error=logical-op.
8430
82f6d455
WB
84312012-03-10 William Bittner <william.bittner@gmail.com>
8432
8433 * util/import_unicode.py: Add missing brackets around string for
8434 python 3 support.
8435
1ecd61a4
VS
84362012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8437
8438 Fix efi chainloader on network root.
8439
8440 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
8441 network devices.
8442 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
8443 New function.
8444
14361ee8
VS
84452012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8446
8447 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
8448 unused show_text member.
8449 * docs/grub.texi: Document "text" property.
8450
922aabf3
VS
84512012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8452
8453 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
8454 in dprintf.
8455
ec316771
VS
84562012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8457
8458 Fix IMSM handling on Fedora.
8459
8460 * util/getroot.c (grub_util_is_imsm): New function.
8461 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
8462
0f021838
VS
84632012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8464
8465 * Makefile.am: Strip gold section.
8466 * conf/Makefile.common: Likewise.
8467 * gentpl.py: Likewise.
8468 * grub-core/Makefile.core.def: Likewise.
8469 * grub-core/genmod.sh.in: Likewise.
8470
1039c8eb
VS
84712012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8472
8473 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
8474 * util/grub.d/20_linux_xen.in: Likewise.
8475 Based on Debian patch.
8476
6dd412cd
VS
84772012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8478
8479 * util/grub.d/10_linux.in: Fix syntax error resulting in
8480 Richard Laager's patch.
8481 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
8482
3fd8bae5
VS
84832012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8484
8485 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
8486 dependencies.
8487
7eea1671
RL
84882012-03-10 Richard Laager <rlaager@wiktel.com>
8489
8490 * util/grub.d/10_linux.in: Fix ZFS root passing.
8491
e8e0566b
VS
84922012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8493
8494 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
8495 * grub-core/commands/xnu_uuid.c: Likewise.
8496 * grub-core/loader/efi/appleloader.c: Likewise.
8497 * grub-core/script/execute.c: Likewise.
8498 * grub-core/script/main.c: Likewise.
8499 * util/grub-mkfont.c: Likewise.
8500
1acc5b1f
VS
85012012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8502
8503 * util/grub-mkfont.c (options): Use more appropriate "select" that
8504 "set" for face index.
8505
35d70620
VS
85062012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8507
8508 * util/grub-editenv.c (options): Gettextize command summaries.
8509
c9eb96b5
VS
85102012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8511
8512 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
8513 "out of memory" error messagge.
8514
1f493136
VS
85152012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8516
8517 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
8518 of diskfilter for diskfilter on diskfilter support.
8519
6d790129
VS
85202012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8521
8522 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
8523
005f46c9
VS
85242012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8525
8526 * util/grub-install.in: Check for themes/starfield/theme.txt and not
8527 themes/starfield.
8528
c8f778a0
VS
85292012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8530
8531 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
8532
de1e64eb
VS
85332012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8534
8535 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
8536
c6d54211
VS
85372012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8538
8539 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
8540 of error message.
8541
dd390777
VS
85422012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
8543
8544 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
8545
5fd1c522
VS
85462012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
8547
8548 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
8549 message.
c6d54211 8550 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 8551
fae01f6c
VS
85522012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8553
8554 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
8555 Gettextize.
8556 * util/grub-mount.c (options): Likewise.
8557
292fdaff
VS
85582012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8559
8560 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
8561 gettextize.
8562 * grub-core/commands/search_wrap.c (options): Likewise.
8563
ecdbae77
VS
85642012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8565
8566 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
8567
52bfedfa
VS
85682012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8569
8570 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
8571 size calculation.
8572 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
8573 none is known.
8574
55b20e58
VS
85752012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8576
8577 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
8578 "temporary" since it's used in identifier and is limited in space.
8579
fda9d101
VS
85802012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8581
8582 * po/POTFILES.in: Regenerate. Include *.h since they contain
8583 translatable strings as well.
8584
6a0295e2
VS
85852012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8586
8587 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
8588 byte-swap on big-endian.
8589 Reported by: Lennart Sorensen
8590
807fb77c
VS
85912012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
8592
8593 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
8594 (allocate_pages): Improve dprintf.
8595 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
8596 code32_start. Fill code32_start and kernel_alignment in params.
8597 (grub_cmd_initrd): Use prot_init_space.
8598
61ac50ba
VS
85992012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8600
8601 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
8602
abdd26dd
VS
86032012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8604
8605 * util/grub-install.in: Add missing dot at the end of sentence.
8606
6e69da9c
VS
86072012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8608
8609 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
8610 * grub-core/commands/videotest.c: Likewise.
8611 * grub-core/loader/i386/linux.c: Likewise.
8612
4a929343
VS
86132012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8614
8615 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
8616 sentence.
8617 Reported by: Milo Casagrande.
8618
bb51c6c6
VS
86192012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8620
8621 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
8622 * grub-core/commands/gptsync.c: Likewise.
8623 * grub-core/commands/hashsum.c: Likewise.
8624 * grub-core/commands/i386/pc/sendkey.c: Likewise.
8625 * grub-core/commands/legacycfg.c: Likewise.
8626 * grub-core/io/gzio.c: Likewise.
8627 * grub-core/net/net.c: Likewise.
8628 * grub-core/term/gfxterm.c: Likewise.
8629 * grub-core/term/terminfo.c: Likewise.
8630 * grub-core/tests/test_blockarg.c: Likewise.
8631 * grub-core/video/video.c: Likewise.
8632 * util/grub-install.in: Likewise.
8633 * util/grub-mkfont.c: Likewise.
8634
b2b149cb
VS
86352012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8636
8637 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
8638
c7c080ad
VS
86392012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8640
8641 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 8642 Reported by: David Prévot.
c7c080ad 8643
f2e243c0
VS
86442012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8645
8646 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
8647 description.
8648
09963c76
VS
86492012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8650
8651 * util/grub-script-check.c (main): Fix a syntax error message which was
8652 unclear.
8653
a50514a8
VS
86542012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8655
8656 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
8657
4650daec
VS
86582012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8659
8660 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
8661 messages.
8662
86632012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
8664
8665 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
8666 without argument.
8667 * util/grub-mount.c (options): Likewise.
8668
bbc5a342
VS
86692012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8670
8671 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
8672
ef292a87
VS
86732012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8674
8675 * grub-core/net/http.c: Add TRANSLATORS comments.
8676 * grub-core/normal/cmdline.c: Likewise.
8677 * grub-core/normal/misc.c: Likewise.
8678 * grub-core/partmap/msdos.c: Likewise.
8679 * grub-core/parttool/msdospart.c: Likewise.
8680 * grub-core/script/execute.c: Likewise.
8681 * grub-core/script/main.c: Likewise.
8682 * grub-core/term/terminfo.c: Likewise.
8683 * grub-core/video/bitmap.c: Likewise.
8684 * util/grub-install.in: Likewise.
8685 * util/grub-mkimage.c: Likewise.
8686 * util/grub-mklayout.c: Likewise.
8687 * util/grub-setup.c: Likewise.
8688
0fc19bd0
VS
86892012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8690
8691 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
8692 with similar messages in grub-fstest.
8693
d95862ef
VS
86942012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8695
8696 * util/grub-install.in: Unify "option requires an argument" message
8697 with similar messages in other files.
8698 * util/grub-mkconfig.in: Likewise.
8699
b7308f90
VS
87002012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8701
8702 * util/grub-set-default.in: Replace printf with gettext_printf (the
8703 string in in question is already translated from grub-reboot)
8704
559dc587
VS
87052012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8706
8707 * configure.ac: Bump up the version to beta1.
8708
1a11761f
VS
87092012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8710
8711 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
8712 case when min_align = 0.
8713
24539abd
VS
87142012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8715
8716 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
8717 and fix a case when line_start overflows.
8718
32bd735b
VS
87192012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8720
8721 * util/grub-reboot.in (usage): Mention id posibility.
8722 * util/grub-set-default.in (usage): Likewise.
8723
1a2fd1e6
VS
87242012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8725
8726 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
8727 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
8728 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
8729 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
8730 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
8731 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8732 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8733
90eeab76
VS
87342012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8735
8736 * grub-core/commands/menuentry.c (options): Remove
8737 GRUB_ARG_OPTION_REPEATABLE.
8738 Reported by: Andreas Vogel
8739
5ad1be82
AV
87402012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
8741
8742 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
8743
cb055286
HE
87442012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
8745
8746 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
8747 error.
8748
93b1cd79
VS
87492012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8750
8751 Use sort -V by the idea of Georgi Georgiev.
8752
8753 * util/grub-mkconfig_lib.in (version_sort): New function.
8754 (version_test_numeric): Use version_sort.
8755
0cdc126c
VS
87562012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8757
8758 Use submenus in grub-mkconfig.
8759
8760 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
8761 * util/grub-mkconfig_lib.in (grub_quote): New function.
8762 (gettext_printf): Use gettext and not gettext_quoted to fix several
8763 messages.
8764 * util/grub.d/10_hurd.in: Use submenus.
8765 * util/grub.d/10_kfreebsd.in: Likewise.
8766 * util/grub.d/10_linux.in: Likewise.
8767 * util/grub.d/10_netbsd.in: Likewise.
8768 * util/grub.d/20_linux_xen.in: Likewise.
8769 * util/grub.d/30_os-prober.in: Likewise.
8770 * util/grub.d/10_illumos.in: Add missing quoting.
8771 * util/grub.d/10_windows.in: Likewise.
8772
d9bef9bc
VS
87732012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8774
8775 Fix menu title instability bug.
8776
8777 * grub-core/commands/menuentry.c (options): New option --id.
8778 (grub_normal_add_menu_entry): New argument id. All users updated.
8779 (grub_cmd_menuentry): Handle --id.
8780 (grub_menu_init): Accept unknown arguments.
8781 * grub-core/normal/main.c (features): Add feature_menuentry_id and
8782 feature_menuentry_options.
8783 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
8784 saved_entry.
8785 (get_entry_number): Match with id as well.
8786 * include/grub/menu.h (grub_menu_entry): New member id.
8787 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
8788 * util/grub.d/00_header.in: Define menuentry_id_option.
8789 * util/grub.d/10_hurd.in: Define id.
8790 * util/grub.d/10_illumos.in: Likewise.
8791 * util/grub.d/10_kfreebsd.in: Likewise.
8792 * util/grub.d/10_linux.in: Likewise.
8793 * util/grub.d/10_netbsd.in: Likewise.
8794 * util/grub.d/10_windows.in: Likewise.
8795 * util/grub.d/20_linux_xen.in: Likewise.
8796 * util/grub.d/30_os-prober.in: Likewise.
8797
87982012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
8799
8800 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
8801 "scope" with "body".
8802
7c8d0ce7
VS
88032012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8804
8805 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
8806 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
8807 prot_size and prot_file_size.
8808
49de079b
VS
88092012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8810
8811 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
8812 All users updated. If easily=1 require raid-5/-6 to be full.
8813 (is_node_readable): Likewise.
8814 (scan_devices): Scan incomplete but readable LVs at the end.
8815 (grub_diskfilter_memberlist): Pull missing devices.
8816 (insert_array): Skip scanning until device is complete or scan is
8817 done otherwise.
8818 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
8819 check.
8820 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
8821 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
8822
aff05d45
MG
88232012-03-03 Matthew Garrett <mjg@redhat.com>
88242012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8825
8826 Avoid EFI boot services when loading Linux.
8827
8828 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
8829 avoid_efi_bootservices. All users updated.
8830 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
8831 argument avoid_efi_bootservices. All users updated.
8832 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
8833 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
8834 align, min_align, relocatable, prefered_address. All users updated.
8835 Allocate avoiding boot services if kernel is relocatable.
8836 (grub_cmd_linux): Check if kernel is relocatable.
8837 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
8838 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
8839 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
8840 avoid_efi_boot_services.
8841 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
8842 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
8843 (linux_kernel_params): Likewise.
8844
3935dde2
MG
88452012-03-03 Matthew Garrett <mjg@redhat.com>
88462012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8847
8848 Use EDID on EFI.
8849
8850 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
8851 datasize_out.
8852 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
8853 modes. Set gop_handle.
8854 (grub_video_gop_get_edid): New function.
8855 (grub_gop_get_preferred_mode): Likewise.
8856 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
8857 (grub_video_efi_gop_adapter): Set .get_edid.
8858 * include/grub/efi/edid.h: New file.
8859 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
8860
32107ec0
VS
88612012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8862
8863 * util/grub-install.in: Load efivars unconditionally.
8864
e70a2c50
VS
88652012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8866
8867 * po/Rules-piglatin: Change suffix from .po-update-en to
8868 .po-update-en-piglatin.
8869
8f9cace1
VS
88702012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 Add a pig farm.
8873
8874 * po/piglatin.sed: New file.
8875 * po/en@piglatin.header: Likewise.
8876 * po/Rules-piglatin: Likewise.
8877 * po/README: Add en@piglatin to autogenerated languages.
8878
8f95d002
VS
88792012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8880
8881 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
8882 "Command for ...".
8883 * grub-core/commands/hdparm.c (options): Use "Display" rather than
8884 "Check" since we don't check anything.
8885 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
8886 is 64-bit one.
8887 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
8888 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
8889 (grub_md_sha512_real): Likewise.
8890
805a8dcc
VS
88912012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8892
8893 * grub-core/commands/gptsync.c: Fix typographic quoting.
8894 * grub-core/commands/ieee1275/suspend.c: Likewise.
8895 * grub-core/commands/parttool.c: Likewise.
8896 * grub-core/commands/search_wrap.c: Likewise.
8897 * grub-core/commands/videoinfo.c: Likewise.
8898 * grub-core/gfxmenu/gui_label.c: Likewise.
8899 * grub-core/hello/hello.c: Likewise.
8900 * grub-core/kern/emu/main.c: Likewise.
8901 * grub-core/net/net.c: Likewise.
8902 * grub-core/normal/menu.c: Likewise.
8903 * grub-core/normal/menu_text.c: Likewise.
8904 * grub-core/normal/misc.c: Likewise.
8905 * util/grub-editenv.c: Likewise.
8906 * util/grub-install.in: Likewise.
8907 * util/grub-kbdcomp.in: Likewise.
8908 * util/grub-mkconfig.in: Likewise.
8909 * util/grub-mknetdir.in: Likewise.
8910 * util/grub-mkrescue.in: Likewise.
8911 * util/grub-mkstandalone.in: Likewise.
8912 * util/grub-reboot.in: Likewise.
8913 * util/grub-set-default.in: Likewise.
8914 * util/grub-setup.c: Likewise.
8915 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8916
40211ab8
VS
89172012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8918
8919 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
8920 * grub-core/commands/keystatus.c: Likewise.
8921 * grub-core/commands/loadenv.c: Likewise.
8922 * grub-core/commands/probe.c: Likewise.
8923 * grub-core/commands/regexp.c: Likewise.
8924 * grub-core/commands/true.c: Likewise.
8925 * grub-core/commands/videoinfo.c: Likewise.
8926 * grub-core/disk/cryptodisk.c: Likewise.
8927 * grub-core/disk/ldm.c: Likewise.
8928 * grub-core/disk/loopback.c: Likewise.
8929 * grub-core/disk/luks.c: Likewise.
8930 * grub-core/fs/zfs/zfsinfo.c: Likewise.
8931 * grub-core/kern/disk.c: Likewise.
8932 * grub-core/kern/emu/hostdisk.c: Likewise.
8933
0c7d99c7
VS
89342012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8935
8936 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
8937 * util/grub-install.in: Add missing quote in the comment.
8938
e7d2559b
VS
89392012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8940
8941 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
8942 * grub-core/commands/lsmmap.c: Likewise.
8943 * grub-core/commands/minicmd.c: Likewise.
8944 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
8945 * grub-core/commands/regexp.c: Likewise.
8946 * grub-core/gdb/gdb.c: Likewise.
8947 * grub-core/term/gfxterm.c: Likewise.
8948 * util/grub-mkconfig.in: Likewise.
8949 * util/grub-mkfont.c: Likewise.
8950 * util/grub-mklayout.c: Likewise.
8951 * util/grub-mknetdir.in: Likewise.
8952 * util/grub-mkrescue.in: Likewise.
8953 * util/grub.d/30_os-prober.in: Likewise.
8954
49ce9e50
VS
89552012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8956
8957 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
8958 with "Direct color" and "Packed" with "Packed pixel".
8959 (grub_cmd_videoinfo): Simplify legend.
8960
e4b791fa
VS
89612012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8962
8963 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
8964 absolutely unclear error message.
8965
fd1265cb
VS
89662012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8967
8968 * util/grub-mkstandalone.in: Remove confusing leftover print.
8969
8822a8a0
VS
89702012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8971
8972 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
8973 comments.
8974 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
8975 (GRUB_MOD_INIT): Likewise.
8976 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
8977 VGA mode.
8978 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
8979 comments.
8980 * util/grub-install.in (usage): Likewise.
8981 Spell ID in whole letters.
8982 Add missing ending dot.
8983 Quote variables.
8984 * util/grub-reboot.in: Fix capitalisation.
8985 * util/grub-set-default.in: Likewise.
8986
937fd0cc
VS
89872012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8988
8989 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
8990 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
8991 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
8992 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
8993 Disable -Werror for -Wdeprecated-declarations.
8994 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
8995 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
8996 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
8997 (grub_util_get_grub_dev): Make luks handling dependent on
8998 HAVE_DEVICE_MAPPER and not __linux__.
8999 (get_win32_path): Fix format security.
9000 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
9001 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
9002 Don't try grub_find_zpool_from_dir.
9003 (grub_make_system_path_relative_to_its_root) [!__linux__]:
9004 #ifdef-out paresdir.
9005
1bab1ae3
VS
90062012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9007
9008 * util/grub-pe2elf.c (usage): Add missing noreturn.
9009 (write_section_data): Rename name to shname to avoid shadowing.
9010 (write_symbol_table): Rename name to symname to avoid shadowing.
9011 Fix write_reloc_section call.
9012
ef023e42
VS
90132012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9014
9015 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
9016 to ensure that it's after the last byte of .text.
9017
48afcb75
VS
90182012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9019
9020 * util/ieee1275/ofpath.c (my_isdigit): New function.
9021 (trailing_digits): Use my_isdigit.
9022 (strip_trailing_digits): Likewise.
9023
88d51eff
VS
90242012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9025
9026 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
9027 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
9028
17edc2ba
VS
90292012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9030
9031 * grub-core/kern/i386/pc/startup.S: Define __start.
9032
ad5518d7
VS
90332012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9034
9035 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
9036 strip already transforms he format.
9037
9e95e1bf
VS
90382012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9039
9040 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
9041
9cc3ee5c
VS
90422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9043
9044 * util/grub-install.in: Add missing gettext init.
9045 * util/grub-kbdcomp.in: Likewise.
9046 * util/grub-mkconfig.in: Likewise.
9047 * util/grub-mknetdir.in: Likewise.
9048 * util/grub-mkrescue.in: Likewise.
9049 * util/grub-mkstandalone.in: Likewise.
9050 * util/grub-reboot.in: Likewise.
9051 * util/grub-set-default.in: Likewise.
9052 * util/grub.d/00_header.in: Likewise.
9053 * util/grub.d/10_hurd.in: Likewise.
9054 * util/grub.d/10_windows.in: Likewise.
9055 * util/grub.d/30_os-prober.in: Likewise.
9056 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9057
49e08a06
VS
90582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9059
9060 * po/Rules-swiss: Fix header comment.
9061
3809cb41
AV
90622012-02-29 Andreas Vogel <anvoit>
9063
9064 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
9065 resulted in leak of arguments.
9066
fa6ec573
VS
90672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9068
9069 * grub-core/boot/i386/pc/startup_raw.S: Use separate
9070 reed_solomon_size const definition instead of computing it since
9071 Apple assembler doesn't support the later.
9072
22899b9c
VS
90732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9074
9075 * gentpl.py (kernel): Rewrite Apple part.
9076
a132afc3
VS
90772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9078
9079 * include/grub/kernel.h (FOR_MODULES): Check module magic.
9080
9d742bd4
VS
90812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9082
9083 * util/grub-mkimagexx.c (locate_sections): Support non-standard
9084 ELF section gap.
9085 (load_image): Likewise.
9086
f04a9a21
VS
90872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9088
9089 * configure.ac: Fix a typo in previous commit.
9090
46cf439c
VS
90912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9092
9093 Don't add -Wl,-N on Apple platform.
9094
9095 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
9096 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
9097
c4c48c54
VS
90982012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9099
9100 * grub-core/Makefile.core.def (lzma_decompress): Use
9101 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
9102
31a12124
VS
91032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9104
9105 * grub-core/genmod.sh.in: Rewrite the Apple part.
9106
4f3aa1af
VS
91072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9108
9109 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
9110 comparison.
9111
7bd8b0c7
VS
91122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9113
9114 * acinclude.m4 (grub_CHECK_PIC): New test.
9115 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
9116
97304d7c
VS
91172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9118
9119 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
9120 to avoid the warning.
9121
fb883812
VS
91222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9123
9124 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
9125 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
9126 after. All users updated.
9127
a121c964
VS
91282012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9129
9130 Use the common size routine in hostfs so we can read disks as well.
9131
9132 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
9133 (grub_util_get_fd_size): ... this. Return size in bytes.
9134 All users updated.
9135 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
9136 grub_util_get_fd_size.
9137
c66d6410
VS
91382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9139
9140 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
9141 Add blocksize retrieval.
9142
dfc8aeb0
VS
91432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9144
9145 * configure.ac: Restore CFLAGS after efiemu check.
9146
403e25a5
VS
91472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9148
9149 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
9150 Apple bug.
9151
382775d1
VS
91522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9153
9154 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
9155
6fd4e6e4
VS
91562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9157
9158 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
9159 (grub_cmd_halt): Likewise.
9160
bea359d6
VS
91612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9162
9163 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
9164 for local arithmetics.
9165 Break %sp init into 2 instructions.
9166 Add 0 byte at the end.
9167
32eb6ee1
VS
91682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9169
9170 * grub-core/disk/diskfilter.c (read_segment): Initialise err
9171 before loops.
9172
e8377389
VS
91732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9174
9175 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
9176 for context.
9177
8cb17de7
VS
91782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9179
9180 * grub-core/disk/ldm.c (make_vg): Init part.name.
9181 (grub_ldm_detect): Silence spurious warning.
9182 (grub_util_is_ldm): Likewise.
9183
595717e6
VS
91842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9185
9186 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
9187 sane value to avoid a spurious warning.
9188
c4b7e588
VS
91892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9190
9191 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
9192 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
9193
59824957
VS
91942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9195
9196 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
9197 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
9198
70115b99
VS
91992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9200
9201 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
9202 hardcoding the relevant info.
9203
56733740
VS
92042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9205
9206 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
9207 missing const qualifiers.
9208 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
9209
43481481
VS
92102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 * util/getroot.c [__APPLE__]: Add missing includes.
9213 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
9214
3cb38f01
VS
92152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9216
9217 * util/grub-mkimage.c (generate_image): Silence spurious warning.
9218
d9dbf11e
VS
92192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9220
9221 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
9222 avoid conflicts.
9223
0c42a45d
VS
92242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9225
9226 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
9227
46c34eb0
VS
92282012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9229
9230 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
9231 and grub_file_close call.
9232
99ce1597
VS
92332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9234
9235 Add LZSS Mach-O support (needed for new xnu kernelcache).
9236
9237 * grub-core/Makefile.core.def (xnu): Add file lzss.c
9238 * grub-core/loader/lzss.c: New file.
9239 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
9240 on Mach-O open failure.
9241 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
9242 Don't free cmdsXX in uncompressedXX is set.
9243 (grub_macho_file): Init new fields.
9244 New argument is_64bit. All users updated.
9245 Handle compressed. Error out if no suitable architecture is found.
9246 Don't close file.
9247 (grub_macho_open): New argument is_64bit. All users updated.
9248 * grub-core/loader/macho32.c: Add defines for new fields.
9249 * grub-core/loader/macho64.c: Likewise.
9250 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
9251 (grub_macho_parse): Handle compressed.
9252 Defer actual processing if compressed.
9253 (grub_macho_cmds_iterate): Decompress if compressed. New argument
9254 "filename". All users updated.
9255 (grub_macho_size): New argument "filename". All users updated.
9256 (grub_macho_get_entry_point): Likewise.
9257 (grub_macho_load): Handle compressed.
9258 * include/grub/macho.h (grub_macho_lzss_header): New struct.
9259 (GRUB_MACHO_LZSS_OFFSET): New define.
9260 (grub_decompress_lzss): New proto.
9261 * include/grub/machoload.h (grub_macho_file): New fields to handle
9262 compressed.
9263 (grub_macho_contains_macho64): Remove proto.
9264 (grub_macho_contains_macho32): Likewise.
9265 * util/grub.d/30_os-prober.in: Use kernel cache if available.
9266
ebd17d6f
VS
92672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9268
9269 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
9270
2702b4e4
VS
92712012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
9272
9273 Fix make dist.
9274
9275 * Makefile.am (starfield_theme_files): New var.
9276 (starfield_DATA): Use starfield_theme_files.
9277 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
9278 Add bootcheck-related files.
9279 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
9280 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
9281 and font_char_metrics.txt.
9282 * grub-core/Makefile.core.def (kernel): Update extra_dist.
9283 (setjmp): Add lib/ia64/longjmp.S.
9284 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
9285 * po/POTFILES.in: Regenerate.
9286 * po/Rules-swiss: use DISTFILES.common.extra2 and not
9287 DISTFILES.common.extra1.
9288 * util/devicemap.c: Removed.
9289 * grub-core/lib/i386/relocator_backward.S: Likewise.
9290 * util/import_gcry.py: Remove unused files. Add extra_dist for
9291 ChangeLog.
9292
cf1adfdf
VS
92932012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
9294
9295 * grub-core/gettext/gettext.c (grub_mofile_open): Call
9296 grub_gettext_delete_list before changing grub_gettext_max to avoid
9297 running out of array bounds.
9298
92992012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
9300
9301 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
9302 grub_vga_text_init/grub_vga_text_fini.
9303
cf1adfdf 93042012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
9305
9306 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
9307
541d92e9
VS
93082012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9309
9310 * configure.ac: Bump to 2.00~beta0.
9311
7931dddf
VS
93122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9313
9314 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
9315 missing initialisation.
9316
f1b16fa3
VS
93172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9318
9319 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
9320
83ddae23
VS
93212012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9322
9323 Support v2 xnu boot arguments.
9324
9325 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
9326 New argument fsbfreq_out.
9327 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
9328 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
9329 be used.
9330 * grub-core/loader/machoXX.c (grub_macho_load): New argument
9331 darwin_version.
9332 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
9333 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
9334 (grub_xnu_boot_params): Rename to ...
9335 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
9336 (grub_xnu_boot_params_v2): New struct.
9337
dc693fe6
VS
93382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9339
9340 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
9341 zeroing of CRC field before computing CRC.
9342
5a6e39c2
VS
93432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9344
9345 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
9346 Change order of allocations to decrease fragmentation.
9347
6c21f5d7
VS
93482012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9349
9350 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
9351
cfe456dc
CW
93522012-02-27 Colin Watson <cjwatson@ubuntu.com>
9353
9354 Use write-combining MTRR to speed up video with buggy BIOSes.
9355
9356 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
9357 (cpuid): New define.
9358 (rdmsr): Likewise.
9359 (wrmsr): Likewise.
9360 (mtrr_base): Likewise.
9361 (mtrr_mask): Likewise.
9362 (grub_vbe_enable_mtrr_entry): New function.
9363 (grub_vbe_enable_mtrr): Likewise.
9364 (grub_vbe_disable_mtrr): Likewise.
9365 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
9366 control off to BIOS.
9367 (grub_video_vbe_init): Fill mtrr.
9368 (grub_video_vbe_fini): Disable mtrr.
9369 (grub_video_vbe_get_info_and_fini): Likewise.
9370 (grub_video_vbe_setup): Enable mtrr.
9371
e3c78337
CW
93722012-02-27 Colin Watson <cjwatson@ubuntu.com>
9373
9374 * include/grub/partition.h (grub_partition_map): Change prototype of
9375 embed to take a maximum value for nsectors.
9376 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
9377 * include/grub/fs.h (grub_fs): Likewise.
9378 * grub-core/partmap/msdos.c (embed_signatures): New array.
9379 (pc_partition_map_embed): Check for and avoid sectors matching any
9380 of the signatures in embed_signatures, up to max_nsectors.
9381 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
9382 returned sector map to max_nsectors.
9383 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
9384 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
9385 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
9386 * util/grub-setup.c (setup): Allow for the embedding area being
9387 split into multiple blocklists. Tell dest_partmap->embed the
9388 maximum number of sectors we care about.
9389
93902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9391
9392 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
9393 Specify blocklist_install and reserver_first_sector for all fs.
9394 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
9395 blocklists.
9396
984b973f
VS
93972012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9398
9399 * util/grub-install.in: Clarify strings.
9400 Fix source dir check.
9401
f122e0d6
RL
94022012-02-27 Richard Laager <rlaager@wiktel.com>
9403
9404 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
9405 "zfs" and "fuse.zfs" as synonyms.
9406
071114bb
VS
94072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9408
9409 * configure.ac: Put platform and target_cpu substitutions back since
9410 they are used for directories.
9411
817e6abc
RL
94122012-02-27 Richard Laager <rlaager@wiktel.com>
94132012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9414
9415 * util/grub.d/10_linux.in: Add ZFS-related arguments.
9416 * util/grub.d/20_linux_xen.in: Likewise.
9417
897b7419
RL
94182012-02-27 Richard Laager <rlaager@wiktel.com>
9419
9420 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
9421 with full paths.
9422
a414bd15
RL
94232012-02-27 Richard Laager <rlaager@wiktel.com>
9424
9425 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
9426 unescape.
9427
30ac48c4
VS
94282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9429
9430 Don't use insecure popen in getroot.
9431
9432 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
9433 (exec_pipe): ... here.
9434 (find_root_devices_from_poolname): Use exec_pipe.
9435
53f13848
VS
94362012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9437
9438 Remove platform and target_cpu replacement.
9439
9440 * configure.ac: Remove platform and target_cpu substitutions.
9441 * tests/util/grub-shell.in: Use modinfo.
9442 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
9443 explicitly.
9444
90cb2803
VS
94452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9446
9447 Autodetect platform in grub-install but allow override.
9448
9449 * util/grub-install.in: Autodetect platform. Support --target and
9450 --directory. Read platform from modinfo.sh.
9451
b9136427
VS
94522012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9453
9454 Support btrfs multi-volume probe.
9455
9456 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
9457 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
9458 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
9459 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
9460 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
9461 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
9462 grub_find_root_devices_from_btrfs if on btrfs.
9463
c36e5cd1
VS
94642012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9465
9466 Remove any awareness of *.c util files about target.
9467
9468 * Makefile.util.def (grub-setup): Split to ...
9469 (grub-bios-setup): ... and this.
9470 (grub-sparc64-setup): ... and this.
9471 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
9472 * docs/man/grub-setup.h2m: Split into ...
9473 * docs/man/grub-sparc64-setup.h2m: ... this.
9474 * docs/man/grub-bios-setup.h2m: ... and this.
9475 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
9476 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
9477 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
9478 (grub_target_addr_t): Remove.
9479 (grub_target_size_t): Remove.
9480 (grub_target_ssize_t): Remove.
9481 * util/grub-install.in: Use new grub-*-setup.
9482 * util/grub-mkimagexx.c (Elf_Word): New define.
9483 (Elf_Half): Likewise.
9484 (Elf_Section): Likewise.
9485 (ELF_ST_TYPE): Likewise.
9486 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
9487 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
9488
584b2f8a
VS
94892012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9490
9491 Replace grub_target_addr with more appropriate types.
9492
9493 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
9494 grub_target_addr with grub_addr.
9495 * grub-core/commands/iorw.c (grub_cmd_read): Replace
9496 grub_target_addr with grub_port.
9497 (grub_cmd_write): Likewise.
9498 * grub-core/commands/memrw.c (grub_cmd_read): Replace
9499 grub_target_addr with grub_addr.
9500 (grub_cmd_write): Likewise.
9501 * grub-core/video/efi_uga.c (find_line_len): Likewise.
9502
5a0dc6fb
VS
95032012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9504
9505 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
9506 const qualifier for vendor_guid.
9507
786aff6e
VS
95082012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9509
9510 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
9511 const qualifier.
9512 (efiemu_memequal): Likewise.
9513 (find_variable): Likewise.
9514
49017b17
VS
95152012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9516
9517 Fix missing console prototype on qemu-mips.
9518
9519 * include/grub/mips/qemu_mips/console.h: New file.
9520
c5988629
MG
95212012-02-27 Matthew Garrett <mjg@redhat.com>
95222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9523
9524 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
9525 * include/grub/efi/efi.h: Likewise.
9526 * include/grub/efi/api.h: Add guid for EFI-specified variables.
9527 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
9528 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
9529 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
9530 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
9531 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
9532
e33f8d69
MG
95332012-02-27 Matthew Garrett <mjg@redhat.com>
9534
9535 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
9536
fb312cd9
VS
95372012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9538
9539 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
9540 error.
9541
7134247c
VS
95422012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9543
9544 * configure.ac: Remove inappropriate use of program_transform_name
9545 on grubdir and bootdir but allow explicit specification of those
9546 variables.
9547
6a313124
VS
95482012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9549
9550 * util/grub-mknetdir.in (grub_prefix): Removed.
9551 (subdir): Use @bootdirname@ and @grubdirname@.
9552
2311c5ca
VS
95532012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9554
9555 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
9556
7d5d60f7
VS
95572012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9558
9559 * po/POTFILES.in: Regenerated.
9560
8151bc82
VS
95612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9562
9563 Remove improper use of program_transform_name on pkglibrootdir.
9564
9565 * configure.ac (pkglibrootdir): Removed.
9566 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
9567 * util/grub-mkimage.c: Likewise.
9568
b4a6a533
VS
95692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9570
9571 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
9572 warning.
9573
668f304f
VS
95742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9575
9576 * util/grub-install.in: Use file identifier if no UUID is available
9577 or user explicitly prompted for it.
9578
665f2341
NP
95792012-02-27 Navdeep Parhar <nparhar@gmail.com>
9580
9581 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
9582 (freebsd_get_zfs): New function.
9583 (grub_freebsd_boot): Pass zfs UUID.
9584 (grub_cmd_freebsd): Set zfs UUID.
9585
8151bc82 95862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
9587
9588 * conf/Makefile.common (platformdir): Base on pkglibdir and not
9589 pkglibrootdir.
9590
e4c498a1
MG
95912012-02-27 Mike Gilbert <floppym@gentoo.org>
9592
9593 Add configure flag to control libzfs integration.
9594
9595 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
9596
1e9a9a3f
VS
95972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9598
9599 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
9600 device.
9601 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
9602 small devices.
9603
036985b8
VS
96042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9605
9606 Remove grub_{modname}_init and grub_{modname}_fini. They should never
9607 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
9608 be used on non-modules.
9609
9610 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
9611 Rename to grub_boot_init.
9612 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
9613 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
9614 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
9615 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
9616 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
9617 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
9618 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
9619 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
9620 includes.
9621 (grub_machine_init): Remove empty inits.
9622 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
9623 includes.
9624 (grub_machine_init): Remove empty inits.
9625 * grub-core/term/arc/console.c: Remove explicit proto.
9626 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
9627 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
9628 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
9629 grub_at_keyboard_fini.
9630 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
9631 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
9632 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
9633 grub_gfxterm_fini.
9634 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
9635 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
9636 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
9637 grub_vgatext_fini.
9638 * grub-core/term/ieee1275/console.c: Remove explicit proto.
9639 * grub-core/term/serial.c (GRUB_MOD_INIT)
9640 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
9641 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
9642 grub_serial_fini.
9643 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
9644 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
9645 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
9646 grub_terminfo_fini.
9647 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
9648 (GRUB_MOD_FINI): Likewise.
9649 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
9650 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
9651 (GRUB_MOD_FINI) [LOONGSON]: Rename to
9652 grub_video_radeon_fuloong2e_fini.
9653 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
9654 [LOONGSON]: Rename to grub_video_sis315pro_init.
9655 (GRUB_MOD_FINI) [LOONGSON]: Rename to
9656 grub_video_sis315pro_fini.
9657 * grub-core/video/sm712.c (GRUB_MOD_INIT)
9658 [LOONGSON]: Rename to grub_video_sm712_init.
9659 (GRUB_MOD_FINI) [LOONGSON]: Rename to
9660 grub_video_sm712_fini.
9661 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
9662 (grub_at_keyboard_fini): Likewise.
9663 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
9664 Don't declare grub_{modname}_init.
9665 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
9666 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
9667 New proto.
9668 (grub_keylayouts_fini) [!EMU]: Likewise.
9669 * include/grub/serial.h (grub_serial_init) [!EMU]:
9670 New proto.
9671 (grub_serial_fini) [!EMU]: Likewise.
9672 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
9673 New proto.
9674 (grub_terminfo_fini) [!EMU]: Likewise.
9675 * include/grub/video.h (grub_font_init) [!EMU]:
9676 New proto.
9677 (grub_font_fini) [!EMU]: Likewise.
9678 (grub_gfxterm_init) [!EMU]: Likewise.
9679 (grub_gfxterm_fini) [!EMU]: Likewise.
9680 (grub_video_sm712_init) [!EMU]: Likewise.
9681 (grub_video_sm712_fini) [!EMU]: Likewise.
9682 (grub_video_sis315pro_init) [!EMU]: Likewise.
9683 (grub_video_sis315pro_fini) [!EMU]: Likewise.
9684 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
9685 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
9686
d5534665
VS
96872012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9688
9689 Make nand a prefix for nand devices.
9690
9691 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
9692
10133b5f
VS
96932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9694
9695 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
9696 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
9697
8e307a62
VS
96982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9699
9700 * include/grub/env.h (grub_env_find): Remove prototype.
9701 * grub-core/kern/env.c (grub_env_find): Make static.
9702 (grub_env_set): Remove useless set.
9703
a4c65f34
VS
97042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9705
9706 * grub-core/kern/i386/realmode.S: Remove useless align.
9707
d87893d5
VS
97082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9709
9710 * include/grub/dl.h (grub_dl_load_file): Don't export.
9711
50159add
VS
97122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9713
9714 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
9715 grub_dprintf.
9716
b2582b84
VS
97172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9718
9719 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
9720 grub_errors.
9721 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
9722 not reloading whole superblock but only the part which is really needed.
9723 Remove useless grub_errors.
9724 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
9725 grub_errors.
9726
e2a83395
VS
97272012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9728
9729 Don't export grub_get_rtc.
9730
9731 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
9732 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
9733
e7d2a906
VS
97342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9735
9736 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
9737
6cf1363b
VS
97382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9739
9740 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 9741 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 9742
eece3349
VS
97432012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9744
9745 Remove prio_list.
9746
9747 * include/grub/list.h (grub_prio_list): Removed.
9748 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
9749 GRUB_COMMAND_PRIO_MASK.
9750 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
9751 GRUB_COMMAND_FLAG_ACTIVE.
9752 (grub_prio_list_insert): Removed.
9753 (grub_prio_list_remove): Likewise.
9754 (GRUB_AS_PRIO_LIST): Likewise.
9755 (GRUB_AS_PRIO_LIST_P): Likewise.
9756 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
9757 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
9758 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
9759 * grub-core/kern/command.c (grub_register_command_prio): Inline
9760 the prio_list code.
9761 (grub_unregister_command): Likewise.
9762
94f064b4
VS
97632012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9764
9765 Fix interrupt mixup from previous commit.
9766
9767 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
9768 (grub_realidt): New var.
9769 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
9770 Load idt.
9771 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
9772 New declaration.
9773 (grub_relocator16_boot): Set grub_relocator16_idt.
9774 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
9775 (LOCAL(realidt)): ... this.
9776 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
9777 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
9778 (grub_realidt): New variable.
9779
27317084
VS
97802012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9781
9782 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
9783 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
9784 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
9785 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
9786 Gettextize.
9787 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
9788 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
9789 * po/POTFILES.in: Regenerate.
9790
47b40053
VS
97912012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9792
9793 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
9794 errors.
9795
2b343101
VS
97962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9797
9798 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
9799 \0.
9800 (add_length): Likewise.
9801
ff27c3dd
LK
98022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
98032012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
9804
9805 GDB serial and backtrace support.
9806
9807 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
9808 (prot_to_real): Likewise.
9809 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
9810 * grub-core/Makefile.core.def (backtrace): New module.
9811 (gdb): Likewise.
9812 * grub-core/gdb/cstub.c: New file.
9813 * grub-core/gdb/gdb.c: Likewise.
9814 * grub-core/gdb/i386/idt.c: Likewise.
9815 * grub-core/gdb/i386/machdep.S: Likewise.
9816 * grub-core/gdb/i386/signal.c: Likewise.
9817 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 9818 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
9819 * include/grub/backtrace.h: Likewise.
9820 * include/grub/gdb.h: Likewise.
9821 * include/grub/i386/gdb.h: Likewise.
9822
98232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
9824
9825 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
9826 New function.
9827 (add_length): Likewise.
9828 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
9829 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
9830 proto.
9831 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
9832 __argp_get_display_len.
9833
ff27c3dd 98342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
9835
9836 $"..." support in scripts.
9837
9838 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
9839 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
9840 * grub-core/script/yylex.l: Likewise.
9841 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
9842 value.
9843
ff27c3dd 98442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
9845
9846 * gentpl.py: Remove obsolete pkglib_DATA handling.
9847
ff27c3dd 98482012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
9849
9850 Don't transform PACKAGE_TARNAME following a discussion on autoconf
9851 mailing list.
9852
9853 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
9854 * util/grub-kbdcomp.in: Likewise.
9855 * util/grub-mkconfig.in: Likewise.
9856 * util/grub-mkconfig_lib.in: Likewise.
9857 * util/grub-mknetdir.in: Likewise.
9858 * util/grub-mkrescue.in: Likewise.
9859 * util/grub-mkstandalone.in: Likewise.
9860 * util/grub-reboot.in: Likewise.
9861 * util/grub-set-default.in: Likewise.
9862 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9863
ff27c3dd 98642012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
9865
9866 Remove GRUB_PREFIX.
9867
9868 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
9869 * util/grub.d/00_header.in: Compute prefix in the only place it's still
9870 used for backward compatibility.
9871
ff27c3dd 98722012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
9873
9874 Add new all_video module.
9875
9876 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
9877 * grub-core/Makefile.core.def (all_video): New module.
9878 * grub-core/genmoddep.awk: Generate dependency of all_video from
9879 video.lst.
9880 * grub-core/lib/fake_module.c: New file.
9881 * grub-core/normal/main.c (features): Add feature_all_video_module.
9882 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
9883 don't do explicit search again.
47454da5 9884 insmod all_video in load_video if available.
22c7ce85 9885
ff27c3dd 98862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
9887
9888 Another round of string clarification and adding TRANSLATORS comments.
9889
ff27c3dd 98902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
9891
9892 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
9893
ff27c3dd 98942012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
9895
9896 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
9897 to grub_ssize_t.
9898 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
9899 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
9900
ff27c3dd 99012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
9902
9903 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
9904 trailing newline implicitly. All users updated.
9905
ff27c3dd 99062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
9907
9908 Implement serial on IEEE1275 and EFI.
9909
9910 * docs/grub.texi (Platform-specific limitations): Fix the columen video
9911 on emu. Mention arc and emu as the only platforms without serial
9912 support.
9913 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
9914 ieee1275 platforms.
9915 * grub-core/term/efi/serial.c: New file.
9916 * grub-core/term/ieee1275/serial.c: Likewise.
9917 * grub-core/term/serial.c (grub_serial_find): Disable direct port
9918 specification if no ns8250 driver is available.
9919 (grub_cmd_serial): Likewise.
9920 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
9921 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
9922 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
9923 (grub_efi_parity_type_t): New type.
9924 (grub_efi_stop_bits_t): Likewise.
9925 (grub_efi_serial_io_interface): New struct.
9926 * include/grub/serial.h (grub_serial_port): Make 'broken' field
9927 available for all interfaces.
9928 Add EFI and IEEE1275 fields.
9929 (grub_ofserial_init): New proto.
9930 (grub_efiserial_init): Likeiwse.
9931 * util/grub.d/00_header.in: Don't check for the presence of serial
9932 module.
9933
ff27c3dd 99342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
9935
9936 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
9937 name as if it was an alias.
9938
114076ef
VS
99392012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
9940
9941 * grub-core/commands/lsacpi.c (options): Fix typo.
9942
6a656b0e
VS
99432012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
9944
9945 Convert grub-emu to argp.
9946
9947 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
9948 emu.
9949 * util/argp_common.c: Rename to ...
9950 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
9951 Add missing includes.
9952 * grub-core/kern/emu/main.c: Convert to argp.
9953 * po/POTFILES.in: Regenerate.
9954 * util/grub-install.in (usage): Make first letter lowcase in messages
9955 for uniformity.
9956 * util/grub-setup.c (options): Likewise.
9957
1e3f8ae8
VS
99582012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9959
9960 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
9961 Put back accidently commented-out code.
9962
ed167a80
VS
99632012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9964
9965 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
9966 loop check using Brent algorithm.
9967 (grub_hfsplus_btree_search): Likewise.
9968
6753c0ec
VS
99692012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9970
9971 * util/grub-install.in: Fix usage of wrong device for PreP install.
9972
4e27343f
VS
99732012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9974
9975 * conf/Makefile.common (CFLAGS_GNULIB): Add
9976 -Wno-unsafe-loop-optimizations.
9977 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
9978 on tools.
9979 * grub-core/commands/legacycfg.c: Add pragma to skip
9980 -Wunsafe-loop-optimizations.
9981 (check_password_md5_real): Fix loop counter type.
9982 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
9983 reading.
9984 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
9985 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
9986 loop condition.
9987 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
9988 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
9989 * grub-core/net/net.c (grub_net_route_address): Add safety loop
9990 condition.
9991 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
9992 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
9993 avoid possible infinite loops.
9994 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
9995 and -Wunsafe-loop-optimizations.
9996 * grub-core/script/yylex.l: Likewise.
9997 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
9998 (print_glyphs): Avoid infinite loops.
9999 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
10000
697f18b0
GS
100012012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
10002
10003 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
10004 to avoid infinite loop.
10005 (disp_acpi_rsdt_table): Likewise.
10006
274416e8
VS
100072012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10008
10009 * grub-core/font/font.c (grub_font_load): Add support for default
10010 path for fonts ($prefix/fonts).
10011 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
10012 for checking if string is a path.
10013 * grub-core/normal/main.c (features): Add feature_default_font_path.
10014 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
10015 * util/grub.d/00_header.in: Use default directory if possible.
10016 * util/grub-install.in: Install unicode.pf2.
10017
b3e08622
VS
100182012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10019
10020 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
10021 * po/Rules-swiss: New file.
10022 * po/swiss.sed: Likewise.
10023
fe42ce09
VS
100242012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10025
10026 * grub-core/fs/btrfs.c (find_device): Fix typos.
10027 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
10028 * util/grub-mkrelpath.c (argp_parser): Likewise.
10029 Reported by: Yuri Chornoivan.
10030
72f1d065
DO
100312012-02-23 Dalet Omega <daletomega@gmail.com>
10032
10033 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
10034 for usual informative messages.
10035
c5884973
DO
100362012-02-23 Dalet Omega <daletomega@gmail.com>
10037
10038 Starfield theme.
10039
10040 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
10041 * conf/Makefile.common: Define starfielddir.
10042 * configure.ac: Configure starfield.
10043 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
10044 * themes/starfield/README: Likewise.
10045 * themes/starfield/blob_w.png: Likewise.
10046 * themes/starfield/boot_menu_c.png: Likewise.
10047 * themes/starfield/boot_menu_e.png: Likewise.
10048 * themes/starfield/boot_menu_n.png: Likewise.
10049 * themes/starfield/boot_menu_ne.png: Likewise.
10050 * themes/starfield/boot_menu_nw.png: Likewise.
10051 * themes/starfield/boot_menu_s.png: Likewise.
10052 * themes/starfield/boot_menu_se.png: Likewise.
10053 * themes/starfield/boot_menu_sw.png: Likewise.
10054 * themes/starfield/boot_menu_w.png: Likewise.
10055 * themes/starfield/slider_c.png: Likewise.
10056 * themes/starfield/slider_n.png: Likewise.
10057 * themes/starfield/slider_s.png: Likewise.
10058 * themes/starfield/src/blob_nw.xcf: Likewise.
10059 * themes/starfield/src/bootmenu/: Likewise.
10060 * themes/starfield/src/bootmenu/center.xcf: Likewise.
10061 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
10062 * themes/starfield/src/bootmenu/side.xcf: Likewise.
10063 * themes/starfield/src/slider_c.xcf: Likewise.
10064 * themes/starfield/src/slider_n.xcf: Likewise.
10065 * themes/starfield/src/slider_s.xcf: Likewise.
10066 * themes/starfield/src/terminalbox/: Likewise.
10067 * themes/starfield/src/terminalbox/center.xcf: Likewise.
10068 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
10069 * themes/starfield/src/terminalbox/side.xcf: Likewise.
10070 * themes/starfield/starfield.png: Likewise.
10071 * themes/starfield/terminal_box_c.png: Likewise.
10072 * themes/starfield/terminal_box_e.png: Likewise.
10073 * themes/starfield/terminal_box_n.png: Likewise.
10074 * themes/starfield/terminal_box_ne.png: Likewise.
10075 * themes/starfield/terminal_box_nw.png: Likewise.
10076 * themes/starfield/terminal_box_s.png: Likewise.
10077 * themes/starfield/terminal_box_se.png: Likewise.
10078 * themes/starfield/terminal_box_sw.png: Likewise.
10079 * themes/starfield/terminal_box_w.png: Likewise.
10080 * themes/starfield/theme.txt: Likewise.
10081
17d73325
VS
100822012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10083
10084 * util/grub.d/00_header.in: Add missing export theme.
10085
dbebaf92
VS
100862012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10087
10088 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
10089 already included.
10090 Reported by: Eren D.
10091
3d68bffb
VS
100922012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10093
10094 * conf/Makefile.common (grubdatadir): Removed.
10095 (Makefile.am): Move eveything grubdata to pkgdata.
10096
4b59234d
VS
100972012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10098
10099 * grub-core/commands/acpihalt.c (get_sleep_type):
10100 Remove unused variable.
10101
463dcadc
VS
101022012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10103
10104 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
10105 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
10106 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
10107 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
10108 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
10109 i18n with gettext no-op.
10110 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
10111 GRUB_ACPI_OPCODE_STRING_CONST.
10112 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
10113 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
10114
e5b90c82
VS
101152012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10116
10117 * po/POTFILES.in: Regenerate.
10118
2a704ca9
VS
101192012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10120
10121 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
10122 -Wno-error=missing-noreturn.
10123
84f9d341
VS
101242012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10125
10126 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
10127 condition to avoid possibly infinite loops.
10128 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
10129 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
10130
d46683f9
VS
101312012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10132
10133 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
10134 condition to avoid possibly infinite loops.
10135
c44866b2
VS
101362012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10137
10138 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
10139 on show_error.
10140
96790539
VS
101412012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10142
10143 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
10144
1ba7e295
VS
101452012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10146
10147 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
10148
21ffe8f1
VS
101492012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10150
10151 * util/bin2h.c (usage): Add missing attribute noreturn.
10152
0ccb6b3c
VS
101532012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10154
10155 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
10156 if the size isn't divisible by 512.
10157
b00d7fb6
VS
101582012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10159
10160 Make list_push and list_remove functions rather than inline functions
10161 to decrease size and avoid aliasing violations.
10162
10163 * include/grub/list.h (grub_list_push): Move to ...
10164 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
10165 * include/grub/list.h (grub_list_remove): Move to ...
10166 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
10167
9d369087
VS
101682012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10169
10170 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
10171 and -Wunused-result.
10172
af0250d9
VS
101732012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
10174
10175 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
10176 Reported by: Seth Goldberg
10177
aad32b14
VS
101782012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
10179
10180 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
10181
ac96441c
ST
101822012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
10183
10184 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
10185 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
10186 command line.
10187 * docs/grub.texi (Simple configuration): Document
10188 GRUB_CMDLINE_GNUMACH.
10189
101902012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
10191
10192 * conf/Makefile.common (platform_SCRIPTS): New variable.
10193 (platform_PROGRAMS): Likewise.
10194 * gentpl.py: Mark *,module and *.image for install.
10195 * grub-core/gdb_grub.in: Add a notice of expected environment.
10196 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
10197 (gmodule.pl): Likewise.
10198
ac96441c 101992012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
10200
10201 Replace grub_checkkey with grub_getkey_noblock.
10202
10203 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
10204 (grub_getkey_noblock): ... this. All users updated.
10205
ac96441c 102062012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
10207
10208 * grub-core/kern/emu/console.c: Move to ...
10209 * grub-core/term/emu/console.c: ...here.
10210 (grub_ncurses_getkey): Fix return value if no key is detected.
10211
e51b5666
VS
102122012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10213
10214 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
10215 (grub_unit_test_fini): Likewise.
10216 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
10217
102182012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10219
10220 * include/grub/test.h (GRUB_UNIT_TEST)
10221
d9a62292
VS
102222012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10223
10224 * grub-core/script/execute.c (grub_script_break): Clarify logic.
10225 Better error handling.
10226 (grub_script_return): Likewise.
10227 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
10228
77c9182f
VS
102292012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10230
10231 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
10232 rimplicit redifinition.
10233
edb13cf9
VS
102342012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10235
10236 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
10237 GRUB.
10238
a9e9dc7c
VS
102392012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10240
10241 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
10242 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
10243 prompt here.
10244
b4ba8e02
VS
102452012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10246
10247 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
10248 as GRUB_ERR_BUG. Don't malloc if no device is available.
10249
dded5540
VS
102502012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10251
10252 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
10253 Mark calling with invalid term as GRUB_ERR_BUG.
10254
0cf69874
VS
102552012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10256
10257 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
10258 packets rather than raising an error.
10259
59bfe502
VS
102602012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10261
10262 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
10263 in if.
10264
db5fc596
VS
102652012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10266
10267 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
10268 diagnostic to dprintf.
10269 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10270
e4b7f404
VS
102712012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10272
10273 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
10274 device name.
10275
e7b02f9e
VS
102762012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10277
10278 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
10279 (grub_ntfs_iterate_dir): Likewise.
10280
0331e102
VS
102812012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10282
10283 Efiemu stylistic fixes and gettext.
10284
10285 * grub-core/efiemu/i386/loadcore32.c
10286 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
10287 * grub-core/efiemu/i386/loadcore64.c
10288 (grub_arch_efiemu_relocate_symbols64): Likewise.
10289 * grub-core/efiemu/i386/pc/cfgtables.c
10290 (grub_machine_efiemu_init_tables): Likewise.
10291 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
10292 (grub_efiemu_loadcore_initXX): Add a filename argument.
10293 All users updated.
10294 Improved error message.
10295 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
10296 Add a filename argument.
10297 All users updated.
10298 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
10299 Reclassify double relocation as GRUB_ERR_BUG.
10300
306fc074
VS
103012012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10302
10303 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
10304 handling.
10305
794d8ef2
VS
103062012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10307
10308 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
10309 on partition.
10310
103112012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
10312
10313 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
10314
794d8ef2 103152012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
10316
10317 Improve string. Gettextize.
10318
78dde88e
VS
103192012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10320
10321 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
10322 utils.
10323 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
10324
4786a90f
VS
103252012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10326
10327 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
10328 [GRUB_UTIL]: New function.
10329 (insert_array) [GRUB_UTIL]: Store partmaps.
10330 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
10331 partmaps.
10332 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
10333 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
10334 (probe_abstraction): Print diskfilter and not raid.
10335 Reported by: Lennart Sorensen
10336
0b6225bd
VS
103372012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10338
10339 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
10340 * util/grub-mkimagexx.c (MASK3): New define.
10341 (add_value_to_slot_20b): Use MASK3.
10342 (add_value_to_slot_21): Likewise.
10343 (relocate_addresses): Fix format specification.
10344 (load_image): Explicitly init symtab_section.
10345
b055f8f6
VS
103462012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10347
10348 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
10349 (grub_util_biosdisk_get_grub_dev): Fix format specification.
10350
b77c2fb7
VS
103512012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10352
10353 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
10354 on powerpc.
10355 Reported by: Lennart Sorensen
10356
e3ec28ab
VS
103572012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10358
10359 * gentpl.py: Add missing license header.
10360 * docs/grub.texi: Update copyright year.
10361
c8d9ead6
GS
103622012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
10363
10364 Source grub-mkconfig_lib from the build directory at build time.
10365 Suggested by: Vladimir Serbinenko.
10366
10367 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
10368 * util/grub-install.in: Define pkgdatadir if not already set, and source
10369 grub-mkconfig_lib from there.
10370 * util/grub-kbdcomp.in: Likewise.
10371 * util/grub-mkconfig.in: Likewise.
10372 * util/grub-mknetdir.in: Likewise.
10373 * util/grub-mkrescue.in: Likewise.
10374 * util/grub-mkstandalone.in: Likewise.
10375 * util/grub-reboot.in: Likewise.
10376 * util/grub-set-default.in: Likewise.
10377 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10378
ebcecdf1
VS
103792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10380
10381 Increase warning level.
10382
10383 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
10384 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
10385 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
10386 (TARGET_CFLAGS): Likewise.
10387 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
10388 * grub-core/Makefile.core.def (decompressor_xz): Add
10389 -Wno-unreachable-code.
10390 (normal): Add -Wno-redundant-decls.
10391 (xzio): Add -Wno-unreachable-code.
10392 (lzopio): Add -Wno-redundant-decls -Wno-error.
10393 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
10394 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
10395 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
10396 * grub-core/kern/dl.c: Add exception to -Wcast-align.
10397 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
10398 * grub-core/kern/i386/coreboot/init.c: Add exception to
10399 -Wsuggest-attribute=noreturn.
10400 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
10401 * grub-core/kern/ia64/dl_helper.c: Likewise.
10402 * grub-core/kern/mips/dl.c: Likewise.
10403 * grub-core/kern/sparc64/dl.c: Likewise.
10404 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
10405 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
10406 (memcmp): Likewise.
10407 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
10408 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
10409 * grub-core/loader/mips/linux.c: Likewise.
10410 * grub-core/loader/multiboot_elfxx.c: Likewise.
10411 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
10412 * grub-core/video/sm712.c: Add exception to -Wcast-align.
10413 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
10414 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
10415 fixme.
10416 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
10417 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
10418 Fix prototype.
10419
37bb97fe
VS
104202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10421
10422 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
10423 address.
10424
29a3550b
VS
104252012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10426
10427 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
10428 Avoid improper use of strings.
10429 (grub_cmd_legacy_initrdnounzip): Likewise.
10430
dfdffd0d
VS
104312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10432
10433 * include/grub/emu/misc.h (grub_util_warn): Add missing format
10434 attribute.
10435 (grub_util_info): Likewise.
10436 (grub_util_error): Likewise.
10437
102fae4a
VS
104382012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10439
10440 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
10441 * util/grub-fstest.c (fstest): Likewise.
10442
7e94d044
VS
104432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10444
10445 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
10446 (grub_md_sha512_real): Likewise.
10447 (grub_util_get_geli_uuid): Likewise.
10448 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
10449 (grub_util_biosdisk_open): Fix format specification.
10450 Respect format security.
10451 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
10452 (xrealloc): Likewise.
10453 (xasprintf): Likewise.
10454
5ebd9769
VS
104552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10456
10457 * util/import_gcry.py: Include grub/crypto.h in init.c.
10458
495fc8c1
VS
104592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10460
10461 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
10462 (generate_image): Make prefix a const char *.
10463 Fix format specifications. Respect format security.
10464 Avoid void * arithmetics.
10465 Avoid shadowing.
10466 (argp_parser): Remove unused variable. Respect format security.
10467 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
10468 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
10469 (count_funcs): Remove unused variable.
10470 (relocate_addresses): Fix format specification.
10471 Disable x86-64 with elf32. Remove unused variables.
10472 (add_fixup_entry): Avoid shadowing.
10473 (make_reloc_section): Fix format specification.
10474 Use assert.
10475 (locate_sections): Fix format specifications.
10476 (load_image): Avoid shadowing.
10477
043c2ea3
VS
104782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10479
10480 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
10481 Fix format specifications. Respect format security.
10482 Don't translate already translated grub_errmsg.
10483 (argp_parser): Remove unused variable
10484
3ec65a81
VS
104852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10486
10487 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
10488
a4d9fe4a
VS
104892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10490
10491 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
10492 (main): Likewise. Use xmalloc. Respect format security.
10493
15b81d49
VS
104942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10495
10496 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
10497 a const char *.
10498 (argp_parser): Remove unused variable.
10499
31731fc0
VS
105002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10501
10502 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
10503 (add_pixel): Make static.
10504 (add_font): Likewise.
10505 (write_string_section): Make name and str a const char *.
10506 (write_be16_section): Make name a const char *.
10507 (print_glyphs): Make static.
10508 (write_font_ascii_bitmap): Likewise.
10509 (write_font_width_spec): Likewise.
10510 (write_font_pf2): Likewise.
10511 (argp_parser): Remove unused variable.
10512 Respect format security.
10513 (main): Avoid shadowing. Respect format security.
10514
0809527b
VS
105152012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10516
10517 * util/grub-editenv.c (argp_parser): Make static.
10518 (create_envblk_file): Use xmalloc.
10519 (open_envblk_file): Likewise.
10520 Resepect format security.
10521 (set_variables): Respect format security.
10522
45b0c8b7
VS
105232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10524
10525 * util/getroot.c (grub_find_device): Respect format security.
10526 (get_mdadm_uuid): Remove unused variable.
10527 (grub_util_pull_device): Dont call gettext on already translated
10528 grub_errmsg.
10529 (find_system_device): Remove unused variable.
10530 (grub_util_get_grub_dev): Likewise.
10531 (grub_make_system_path_relative_to_its_root): Respect format security.
10532
1b024b4e
VS
105332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10534
10535 * util/grub-fstest.c (execute_command): Make first argument
10536 a const char *.
10537 (read_file): Avoid shadowing.
10538 Reuse underlying error message if device open fails.
10539 (cmd_cmp): Respect format security.
10540 (root): Make const char *.
10541 (fstest): Remove args argument and use global copy.
10542 Respect format security.
10543 (argp_parser): Make static.
10544 (main): Make default_root const char *.
10545
5d1d4e28
VS
105462012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10547
10548 * util/grub-mount.c (root): Make const char *.
10549 (execute_command): Make first argument a const char *.
10550 (fuse_init): Respect format security.
10551 (argp_parser): Make static. Remove unused variable.
10552 (main): Make default_root a const char *.
10553 Respect format security.
10554
36eb7379
VS
105552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10556
10557 * util/grub-probe.c (probe): Don't call gettext on already translated
10558 grub_errmsg.
10559 Remove unused variables.
10560 (argp_parser): Remove unused variable.
10561
76fb2ea9
VS
105622012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10563
10564 * util/grub-script-check.c (argp_parser): Remove unused variable.
10565 (main): Rename read to curread to avoid shadowing.
10566
56c98584
VS
105672012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10568
10569 * util/misc.c (grub_util_write_image_at): Fix format specification.
10570 (grub_util_write_image): Likewise.
10571 (grub_script_execute_argument_to_string): Removed (unused).
10572 (grub_script_execute_menuentry): Likewise.
10573 (grub_putchar): Likewise.
10574
164ebb48
VS
105752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10576
10577 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
10578 (FUNCTION) [GRUB_UTIL]: Likewise.
10579 (VARIABLE) [GRUB_UTIL]: Likewise.
10580
44318d61
VS
105812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10582
10583 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
10584 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
10585
31a26002
VS
105862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10587
10588 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
10589 buffer.
10590
105912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10592
10593 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
10594 (LzmaEnc_SaveState): Removed (unused).
10595 (LzmaEnc_RestoreState): Likewise.
10596 (LzmaEnc_InitPriceTables): Made static.
10597 (LzmaEnc_Construct): Likewise.
10598 (LzmaEnc_FreeLits): Likewise.
10599 (LzmaEnc_Destruct): Likewise.
10600 (LzmaEnc_Init): Likewise.
10601 (LzmaEnc_InitPrices): Likewise.
10602 (LzmaEnc_Finish): Likewise.
10603 (LzmaEnc_PrepareForLzma2): Removed (unused).
10604 (LzmaEnc_MemPrepare): Likewise.
10605 (LzmaEnc_GetNumAvailableBytes): Likewise.
10606 (LzmaEnc_GetCurBuf): Likewise.
10607 (LzmaEnc_CodeOneMemBlock): Likewise.
10608
6fa67967
VS
106092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10610
10611 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
10612 (grub_util_ldm_embed): Likewise.
10613
9a7428e6
VS
106142012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10615
10616 * util/grub-editenv.c (print_var): Rename name to varname to
10617 avoid shadowing.
10618 (main): Rename index to curindex to avoid shadowing.
31a26002 10619 Make filename a const char *.
9a7428e6 10620
4f96abd1
VS
106212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10622
10623 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
10624 to arg_getline to avoid shadowing.
10625
44d10dad
VS
106262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10627
10628 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
10629 disk_ to avoid shadowing.
10630
340ba63e
VS
106312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10632
10633 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
10634 curindex to avoid shadowing.
10635 Make static.
10636 (MatchFinder_GetNumAvailableBytes): Make static.
10637
22965bce
VS
106382012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10639
10640 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
10641 avoid shadowing.
10642
7b5784d4
VS
106432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10644
10645 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
10646 argument from encrypt to do_encrypt to avoid shadowing.
10647
6f48ca01
VS
106482012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10649
10650 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
10651 incorrect nesting of #if's.
10652
a4ea2dff
VS
106532012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10654
10655 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
10656 checks which are always false on some platforms.
10657 (grub_cmd_lsacpi): Likewise.
10658 * grub-core/kern/misc.c (grub_strtoul): Likewise.
10659 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
10660 Likewise.
10661
def9fc1b
VS
106622012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10663
10664 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
10665 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
10666
a67b2a04
VS
106672012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10668
10669 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
10670 re_dfa_t to avoid breaking alignment invariants.
10671 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
10672 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
10673
44c6828d
VS
106742012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10675
10676 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
10677 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
10678
bebe0dd0
VS
106792012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10680
10681 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
10682 Fix declaration.
10683
a9cdb3cf
VS
106842012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10685
10686 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
10687 conserve alignment invariants.
10688 (grub_ehci_ehcc_read16): Likewise.
10689 (grub_ehci_oper_read32): Likewise.
10690 (grub_ehci_oper_write32): Likewise.
10691 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
10692 Conserve alignment invariants.
10693
ccc3b1b8
VS
106942012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10695
10696 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
10697 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
10698 declarations.
10699
987fbd95
VS
107002012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10701
10702 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
10703 Remove unused variable.
10704
0df363f3
VS
107052012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10706
10707 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
10708 Remove set in if.
10709
b2c0c4a6
VS
107102012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10711
10712 * include/grub/net.h: Remove double declarations.
10713
690c531f
VS
107142012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10715
10716 Remove "payload" command in ia64 Linux loader since I couldn't
10717 find any evidence of it being used for anything.
10718 Replace "relocate" command with an environment variable
10719
10720 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
10721 fields.
10722 (ia64_boot_payload): Removed.
10723 (last_payload): Likewise.
10724 (RELOCATE_OFF): Likewise.
10725 (RELOCATE_ON): Likewise.
10726 (RELOCATE_FORCE): Likewise.
10727 (relocate): Likewise.
10728 (free_pages): Don't free payloads.
10729 (grub_load_elf64): Use common error messages.
10730 Use "linux_relocate" variable.
10731 Increase the space after boot_params.
10732 (grub_cmd_payload): Removed.
10733 (grub_cmd_relocate): Likewise.
10734 (grub_cmd_fpswa): Improve messages.
10735 (cmd_payload): Removed.
10736 (cmd_relocate): Likewise.
10737 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
10738 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
10739
01783768
VS
107402012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10741
10742 Convert UHCI to DMA framework.
10743
10744 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
10745 (grub_uhci_pci_iter): Fill new members
10746 (grub_alloc_td): Use P2V and V2P functions.
10747 (grub_free_queue): Likewise.
10748 (grub_alloc_qh): Likewise.
10749 (grub_uhci_setup_transfer): Likewise.
10750 (grub_uhci_check_transfer): Likewise.
10751
43206939
VS
107522012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10753
10754 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
10755 Remove assignment in if while on it.
10756
571e140e
VS
107572012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10758
10759 * util/grub-mkstandalone.in: Fix modules directory.
10760
a9d96eeb
VS
107612012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10762
10763 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
10764 on i386-pc target.
10765 (argp_parser): Accept "auto" as compression specification.
10766
e4e37e8d
VS
107672012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10768
10769 Fix `help' with unloaded modules.
10770
10771 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
10772 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
10773 (grub_dyncmd_dispatcher): Small stylistic fix.
10774 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
10775 explicit help is requested.
10776
e1ea3ade
VS
107772012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10778
10779 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
10780 Explicitly init restart while on it.
10781
27556881
VS
107822012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10783
10784 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
10785 uninited variable.
10786
d65f6b36
VS
107872012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10788
10789 * util/grub-mknetdir.in: Use . rather than source for POSIX
10790 compatibility.
10791
0a1e473c
VS
107922012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10793
10794 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
10795
ce6647c8
VS
107962012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10797
10798 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
10799 variable.
10800
66747894
VS
108012012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10802
10803 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
10804 without quotes.
10805
71645f6e
VS
108062012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10807
10808 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
10809
0e1c1f61
VS
108102012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10811
10812 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
10813 iteration of partitions.
10814
9c4b5c13
VS
108152012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10816
10817 Improve gettext support. Stylistic fixes and error handling fixes while
10818 on it.
10819
215c90cb
VS
108202012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10821
10822 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
10823 part. Instead setup the correct stack in RM.
10824 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
10825 for stack.
10826 * include/grub/i386/relocator_private.h: New file.
10827
b5c1f9bf
VS
108282012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10829
10830 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
10831 argument.
10832 * util/grub-fstest.c (options): Add missing DEVICE part.
10833
b525fd83
VS
108342012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10835
10836 Clarify and unify messages.
10837
10838 * grub-core/commands/hashsum.c (options): Unify messages.
10839 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
10840 literal-only message as translatable.
10841 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
10842 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
10843 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
10844 commands.
10845 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
10846 key, not the key used to unlock. Clarify what it's used for.
10847 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
10848 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
10849 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
10850 * util/grub-editenv.c (options): Unify "verbose" message.
10851 * util/grub-fstest.c (read_file): Unify error message.
10852 (fstest): Add quotes around commands.
10853 (options): Unify "verbose" message.
10854 * util/grub-install.in: Add quotes around variable name.
10855 * util/grub-kbdcomp.in: Unify error message.
10856 * util/grub-mkfont.c (main): Likewise.
10857 * util/grub-mkrescue.in: Likewise.
10858 * util/grub-mklayout.c (options): Unify "verbose" message.
10859 * util/grub-mkstandalone.in: Unify help and verbose messages.
10860 * util/grub-mount.c (options): Unify "verbose" message.
10861 * util/grub-probe.c (options): Likewise.
10862 * util/grub-script-check.c (options): Likewise.
10863 * util/grub-setup.c (setup): Unify no-terminator message.
10864 (options): Use DEVICE and not DEV.
10865 Unify "verbose" message.
10866 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
10867
0ae70393
VS
108682012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10869
10870 Improve and unify messages.
10871
10872 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
10873 name. All users updated.
10874 Print filename in error.
10875 (read_device_map): Print filename in error.
10876 * util/getroot.c (grub_guess_root_devices): Print filename in error.
10877 (grub_util_get_os_disk): Likewise.
10878 (grub_util_biosdisk_get_grub_dev): Likewise.
10879 (grub_util_check_block_device): Likewise.
10880 (grub_util_check_char_device): Likewise.
10881 (grub_make_system_path_relative_to_its_root): Likewise.
10882 * util/grub-editenv.c (create_envblk_file): Likewise.
10883 (open_envblk_file): Likewise.
10884 (write_envblk): Likewise.
10885 * util/grub-fstest.c (cmd_cp): Likewise.
10886 (cmd_cat): Likewise.
10887 (cmd_cmp): Likewise.
10888 * util/grub-menulst2cfg.c (main): Likewise.
10889 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
10890 (write_font_width_spec): Likewise.
10891 (write_font_pf2): Likewise.
10892 * util/grub-mkimage.c (generate_image): New argument outname.
10893 All users updated.
10894 Remove unreacheable message.
10895 (options): Unify messages.
10896 (help_filter): Likewise.
10897 * util/grub-mklayout.c (usage): Removed (unused).
10898 (main): Print filename in error.
10899 * util/grub-mkrescue.in: Fix wrong quoting.
10900 * util/grub-setup.c (setup): Print filename in error.
10901 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
10902 (check_sas): Likewise.
10903 * util/misc.c (grub_util_get_fp_size): Removed.
10904 (grub_util_get_image_size): Print filename in error.
10905 (grub_util_read_at): Removed.
10906 (grub_util_read_image): Print filename in error.
10907 (grub_util_load_image): Likewise.
10908 (grub_util_write_image_at): New argument filename. All users updated.
10909 Print filename in error.
10910 (grub_util_write_image): New argument filename. All users updated.
10911 Print filename in error.
10912 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
10913 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
10914
0a96117d
VS
109152012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10916
10917 * grub-core/Makefile.core.def (pxechain): New module.
10918 * grub-core/loader/i386/pc/pxechainloader.c: New file.
10919 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
10920 function.
10921 (grub_pc_net_config_real): Use grub_pxe_get_cached.
10922 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
10923
aca002f7
VS
109242012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10925
10926 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
10927 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
10928 * include/grub/err.h (grub_error_saved): New struct.
10929 (grub_errmsg): Make array size explicit.
10930 * include/grub/misc.h (grub_error_save): New function.
10931 (grub_error_load): Likewise.
10932 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
10933 (grub_error_push): Update `errno' member name.
10934 (grub_error_pop): Likewise
10935 * grub-core/net/tftp.c (tftp_data): New member save_err.
10936 (tftp_receive): Save error.
10937 (tftp_open): Restore error.
10938
a51dab13
VS
109392012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10940
10941 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
10942 to real mode down to execute A20-related code in protected mode as
10943 intended.
10944
eb6e6649
GS
109452012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
10946
10947 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
10948 NULL when the argument `level' has an unexpected value.
10949
92cd0f6e
VS
109502012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10951
10952 Move platform-dependent files from $prefix to $prefix/$platform.
10953
10954 * config.h.in (GRUB_TARGET_CPU): New definition.
10955 (GRUB_PLATFORM): Likewise.
10956 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
10957 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
10958 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
10959 * grub-core/kern/dl.c (grub_dl_load): Likewise.
10960 * grub-core/normal/autofs.c (read_fs_list): Likewise.
10961 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
10962 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
10963 * grub-core/normal/term.c (read_terminal_list): Likewise.
10964 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
10965 $prefix/locale.
10966 (grub_gettext_init_ext): Likewise.
10967 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
10968 grub_platform.
10969 * util/grub-install.in: Update directories.
10970 * util/grub-mknetdir.in: Likewise.
10971 * util/grub-mkrescue.in: Likewise.
10972
db606889
VS
109732012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10974
10975 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
10976 grub_error framework. All users updated.
10977
c39992a4
VS
109782012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10979
10980 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
10981 lists (by always binsearching), improve caching (cache strings
10982 used for binsearch, not only results), improve
10983 maintainability (by using more structured binary search) and correct
10984 error handling.
10985
1e5ec32f
VS
109862012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10987
10988 * grub-core/script/execute.c (grub_script_return): Fix warning.
10989
ac576cde
VS
109902012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10991
10992 * grub-core/script/execute.c (grub_script_return): Fix potential
10993 NULL-dereference.
10994 Reported by: Jim Meyering.
10995
498453f6
VS
109962012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10997
10998 * po/POTFILES.in: Regenerate.
10999 * util/grub-install.in: Gettextize the strings missed in first pass.
11000
8be63f2e
VS
110012012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11002
11003 * Makefile.util.def (grub-mkdevicemap): Removed.
11004 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
11005 * include/grub/util/deviceiter.h: Removed.
11006 * util/deviceiter.c: Likewise.
11007 * util/getroot.c (grub_util_get_os_disk): New function.
11008 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
11009 replacement for EFI.
11010 * util/grub-mkdevicemap.c: Removed.
11011 * util/grub-probe.c (probe): Handle PRINT_DISK.
11012 (argp_parser): Handle -t disk.
11013
8e1e4e39
VS
110142012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11015
11016 * util/grub-mkfont.c: Migrate to argp.
11017 * util/grub-mklayout.c: Likewise.
11018 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11019 * util/grub-mkrelpath.c: Likewise.
11020 * util/grub-probe.c: Likewise.
11021 * util/grub-script-check.c: Likewise.
11022
4459819a
VS
110232012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11024
11025 * util/grub-reboot.in: Add missing datarootdir.
11026 Add missing newline.
11027 * util/grub-set-default.in: Add missing datarootdir.
11028 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
11029 * util/grub-mkrescue.in: Likewise.
11030
f65741c7
VS
110312012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11032
11033 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
11034
c1a33466
VS
110352012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11036
11037 * util/grub-kbdcomp.in: Add decent help and gettextize.
11038 * docs/man/grub-kbdcomp.h2m: New file.
11039
c76899a0
VS
110402012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11041
11042 Migrate grub-mkimage.c to argp.
11043
11044 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
11045 (grub-setup): Likewise.
11046 * util/grub-setup.c (print_version): Move to ...
11047 * util/argp_common.c (print_version): ... here.
11048 * util/grub-setup.c (argp_program_version_hook): Move to ...
11049 * util/argp_common.c (argp_program_version_hook): ... here.
11050 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
11051 safety.
11052 * util/grub-mkimage.c (main): Migrate to argp.
11053
57db0757
VS
110542012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11055
11056 * util/grub-mkrescue.in: Use same message as
11057 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
11058 for better translations.
11059
18534ad9
VS
110602012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11061
11062 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
11063 options with generic grub-mkrescue.in with the goal of future
11064 merge.
11065
c84ba308
VS
110662012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11067
11068 * grub-core/kern/mm.c: Add missing include of i18n.h
11069 * grub-core/lib/relocator.c: Likewise.
11070
347998c2
VS
110712012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11072
11073 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
11074 error.
11075 (allocate_pages): Check return value.
11076 Replace fatal with error.
11077 (grub_linux_boot): Replace printf with dprintf.
11078 Check find_mmap_size return value.
11079 Replace fatal with error.
11080 Don't call grub_machine_fini.
11081 (grub_load_elf64): Replace printf with dprintf.
11082 (grub_cmd_linux): Likewise.
11083 (grub_cmd_initrd): Likewise.
11084 (grub_cmd_payload): Likewise.
11085
c779226e
VS
110862012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11087
11088 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
11089 message.
11090 * grub-core/video/radeon_fuloong2e.c
11091 (grub_video_radeon_fuloong2e_setup): Likewise.
11092 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
11093 * grub-core/video/video.c (grub_video_set_mode): Don't override
11094 standard out of memory message.
11095
dc87d45a
GS
110962012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11097
11098 NetBSD disk wedge support.
11099
11100 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
11101 [__NetBSD__]: Handle NetBSD disk wedges.
11102 * util/getroot.c (convert_system_partition_to_system_disk)
11103 [__NetBSD__]: Likewise.
11104
055f856f
MW
111052012-02-03 Mark Wooding <mdw@distorted.org.uk>
11106
11107 * util/grub-mkconfig.in: Use umask rather than chmod to create
11108 grub.cfg.new to avoid insecure grub.cfg.
11109
4a9f8346
VS
111102012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11111
11112 * grub-core/commands/ls.c: Gettextize.
11113 * grub-core/commands/setpci.c: Likewise.
11114 * grub-core/commands/videotest.c: Likewise.
11115 * grub-core/disk/geli.c: Likewise.
11116 * grub-core/kern/mm.c: Likewise.
11117 * grub-core/lib/relocator.c: Likewise.
11118 * grub-core/loader/efi/appleloader.c: Likewise.
11119 * grub-core/loader/i386/xnu.c: Likewise.
11120 * grub-core/loader/ia64/efi/linux.c: Likewise.
11121 * grub-core/loader/xnu.c: Likewise.
11122 * grub-core/net/dns.c: Likewise.
11123 * grub-core/net/net.c: Likewise.
11124 * grub-core/script/lexer.c: Likewise.
11125 * grub-core/script/parser.y: Likewise.
11126 * grub-core/script/yylex.l: Likewise.
11127 * util/getroot.c: Likewise.
11128 * util/grub-setup.c: Likewise.
11129
a646a366
VS
111302012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11131
11132 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
11133 number.
11134
54e2be26
VS
111352012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11136
11137 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
11138
f7c71e68
VS
111392012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11140
11141 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
11142 macro.
11143 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
11144 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
11145
a32d5c71
VS
111462012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11147
11148 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
11149 * util/grub-install.in: Gettextize.
11150 * util/grub-mkconfig.in: Likewise.
11151 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
11152 if not available.
11153 (grub_warn): Gettextize.
11154 * util/grub-mknetdir.in: Gettextize.
11155 * util/grub-mkrescue.in: Likewise.
11156 * util/grub-mkstandalone.in: Likewise.
11157 * util/grub-reboot.in: Likewise.
11158 * util/grub-set-default.in: Likewise.
11159 * util/grub.d/00_header.in: Likewise.
11160 * util/grub.d/10_hurd.in: Likewise.
11161 * util/grub.d/10_kfreebsd.in: Likewise.
11162 * util/grub.d/10_linux.in: Likewise.
11163 * util/grub.d/10_netbsd.in: Likewise.
11164 * util/grub.d/10_windows.in: Likewise.
11165 * util/grub.d/20_linux_xen.in: Likewise.
11166 * util/grub.d/30_os-prober.in: Likewise.
11167 * po/POTFILES-shell.in: Regenerate.
11168
69edd81a
RL
111692012-02-03 Richard Laager <rlaager@wiktel.com>
11170
11171 * util/grub-mkimage.c (main): Fix format-security warning.
11172 * util/grub-mkrelpath.c (main): Likewise.
11173 * util/grub-probe.c (main): Likewise.
11174
65f08dbf
RL
111752012-02-03 Richard Laager <rlaager@wiktel.com>
11176
11177 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
11178 failure.
11179 Put back lost PRINT_DRIVE.
11180
e9084abe
RL
111812012-02-03 Richard Laager <rlaager@wiktel.com>
11182
11183 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
11184 (grub_guess_root_devices): Replace strlen with sizeof.
11185 Avoid crash.
11186 (find_root_devices_from_poolname): Remove unused variable.
11187 Handle raidzN.
11188
cf5f7ee7
VS
111892012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11190
11191 Support install on multi-device filesystems.
11192
11193 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
11194 (grub_guess_root_devices): ...this. Return char **. All users updated.
11195 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
11196 Removed.
11197 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
11198 (find_root_devices_from_poolname): ... here.
11199 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
11200 Support zfs-fuse.
11201 (grub_guess_root_device): Rename to ...
11202 (grub_guess_root_devices): ... this. Return char **. All users updated.
11203 * util/grub-install.in: Handle multi-device filesystems.
11204 * util/grub-probe.c (probe). Make device_names a char **. Add delim
11205 argument. All users updated.
11206 Handle multi-device filesystems.
11207 Use 'delim' as separator.
11208 Remove device check to allow filesystems on file.
11209 (main): Support -0 argument. Handle multi-device.
11210 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
11211 Fix a cross-device check while on it.
11212 (arguments): Remove root_dev.
11213 (argp_parser): Remove -r.
11214 (main): Remove root_dev.
11215
2f53a9ed
VS
112162012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11217
11218 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
11219
17e1d934
VS
112202012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11221
11222 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
11223 symbol.
11224 Reported by: NODA, Kai <nodakai>.
11225
d3e3fab5
VS
112262012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11227
11228 Fix ehci on amd64.
11229
11230 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
11231 pointers.
11232 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
11233 (grub_ehci_setup_qh): Likewise.
11234 (grub_ehci_find_qh): Likewise.
11235 (grub_ehci_transaction): Likewise.
11236 (grub_ehci_setup_transfer): Likewise.
11237 (grub_ehci_check_transfer): Likewise.
11238 (grub_ehci_portstatus): Likewise.
11239 (grub_ehci_detect_dev): Likewise.
11240 (grub_ehci_transfer_controller_data): New field td_last_phys.
11241 (grub_ehci_setup_transfer): Fill td_last_phys.
11242 (grub_ehci_check_transfer): Use td_last_phys.
11243
3008675b
SG
112442012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
11245
11246 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
11247 if no submenu is present.
11248
fc9b5652
AN
112492012-02-01 Aleš Nesrsta <starous@volny.cz>
11250
11251 CBI support.
11252
11253 * include/grub/usb.h (grub_usbms_protocol_t): New values
11254 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
11255 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
11256 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
11257 (grub_usbms_dev): Add subclass, protocol and intrpt.
11258 Remove in_maxsz and out_maxsz.
11259 (grub_usbms_reset): Rename to ...
11260 (grub_usbms_bo_reset): .. this.
11261 (grub_usbms_cbi_cmd): New function.
11262 (grub_usbms_cbi_reset): Likewise.
11263 (grub_usbms_reset): Likewise.
11264 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
11265 (grub_usbms_transfer): Rename to ...
11266 (grub_usbms_transfer_bo): ... this.
11267 (grub_usbms_transfer_cbi): Likewise.
11268 (grub_usbms_transfer): Likewise.
11269
a2b81d53
AN
112702012-02-01 Aleš Nesrsta <starous@volny.cz>
112712012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11272
11273 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
11274 the support for the CS5536 modification thereos and few bugfixes.
11275
11276 * grub-core/Makefile.core.def (ehci): New module.
11277 * grub-core/bus/usb/ehci.c: New file.
11278 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
11279 port and hubaddr. All users updated.
11280 Save port and hubaddr into dev structure.
11281 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
11282 define.
11283 * include/grub/pci.h (grub_dma_phys2virt): New function.
11284 (grub_dma_virt2phys): Likewise.
11285 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
11286
b1d51f02
VS
112872012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11288
11289 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
11290 check as some mkfs implementations omit it.
11291
fc694106
VS
112922012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11293
11294 * docs/grub.texi (Unicode): Mention identifier and space limitations.
11295
6c0920e3
VS
112962012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11297
11298 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
11299 Add new member volname2.
11300 (grub_jfs_label): Use volname2 if available.
11301
d1a46f9a
VS
113022012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11303
11304 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
11305 over last_mounted as seen in image generated by mkfs.nilfs2.
11306 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
11307
dec8ed14
VS
113082012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11309
11310 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
11311 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
11312 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
11313
7397c69b
VS
113142012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11315
11316 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
11317 over the sector.
11318
b3fe42ad
VS
113192012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11320
11321 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
11322 subvolume name (by removing a bogus and useless check).
11323
10476bb0
VS
113242012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11325
11326 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
11327 sizeof while on it.
11328
9c08ad87
VS
113292012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11330
11331 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
11332 (grub_scsi_read_capacity10): ... this.
11333 (grub_scsi_read_capacity16): New function.
11334 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
11335 0xffffffff.
11336 Fix off-by-one error.
11337 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
11338 64-bit unsigned.
11339 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
11340 (grub_scsi_read_capacity10): ... this.
11341 (grub_scsi_read_capacity_data): Rename to ...
11342 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
11343 (grub_scsi_read_capacity16): New struct.
11344 (grub_scsi_read_capacity16_data): Likewise.
11345 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
11346 grub_scsi_cmd_read_capacity10.
11347 New command grub_scsi_cmd_read_capacity16.
11348
bc8d0f45
VS
113492012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11350
11351 SCSI >2TiB support.
11352
11353 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
11354 (grub_scsi_write16): Likewise.
11355 (grub_scsi_read): Use read16 when necessary.
11356 (grub_scsi_write): Likewise.
11357 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
11358 (grub_scsi_write16): Likewise.
11359 (grub_scsi_cmd_t): Add READ16 and WRITE16.
11360
cc774926
VS
113612012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11362
11363 SCSI write support (for usbms mainly).
11364
11365 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
11366 a const pointer.
11367 (grub_scsi_write): Implement.
11368 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
11369
67639fd7
VS
113702012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11371
11372 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
11373 variable.
11374
9079d3ed
VS
113752012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11376
11377 * grub-core/lib/posix_wrap/string.h (memchr): New function.
11378
c6a6f204
VS
113792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11380
11381 * po/POTFILES.in: Regenerate.
11382
ecbf8cd1
VS
113832012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11384
11385 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
11386 with grub_printf to avoid unnecessary fatal failure.
11387
0b3b3b38
VS
113882012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11389
11390 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
11391 (INT_MAX): Likewise.
11392 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
11393 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
11394 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
11395 (strcpy): Likewise.
11396 (strstr): Likewise.
11397 (strchr): Likewise.
11398 (strncpy): Likewise.
11399 (strcat): Likewise.
11400 (strncat): Likewise.
11401 (strcoll): Likewise.
11402 * include/grub/types.h (GRUB_SHRT_MAX): New define.
11403 (GRUB_INT_MAX): Likewise.
11404
db7337a3
VS
114052012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11406
11407 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
11408 unexpected error.
11409 (optimize_utf8): Likewise.
11410 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
11411
f37c87e1
VS
114122012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11413
11414 * grub-core/boot/i386/pc/lnxboot.S: Use
11415 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
11416 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
11417 location.
11418 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
11419 definition.
11420 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
11421
63fe43f3
VS
114222012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11423
11424 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
11425 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
11426 now to avoid double free.
11427 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
11428 hostdisk.
11429 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
11430 * util/grub-probe.c (escape_of_path): Always return a new copy.
11431 (print_full_name): Escape path.
11432 (probe): Don't call grub_util_devname_to_ofpath on NULL.
11433 Fix hints on abstractions.
11434
ebe2c961
VS
114352012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11436
11437 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
11438 Don't add "root" line if no compatibility hont is available.
11439 Suggested by: Seth Goldberg.
11440
2b5336a2
VS
114412012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11442
11443 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
11444 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
11445 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
11446 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
11447
74310bd8
VS
114482012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11449
11450 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
11451
c30582ba
VS
114522012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11453
11454 * util/grub-pe2elf.c (ehdr): Make static.
11455 (shdr): Likewise.
11456 (num_sections): Likewise.
11457 (offset): Likewise.
11458
5f47782c
VS
114592012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11460
11461 Eliminate ofpath limits and possible overflows.
11462
11463 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
11464 (OF_PATH_MAX): Removed.
11465 (MAX_DISK_CAT): New const.
11466 (find_obppath): Use allocated rather than preallocated buffer.
11467 Return result. Argument of_path removed. All users updated.
11468 Add missing fdstat.
11469 (xrealpath): New function.
11470 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
11471 Allocate rather than use preallocated buffer. All users updated.
11472 (__of_path_common): Use allocated rather than preallocatecd buffer.
11473 Return result. Argument of_path removed. All users updated.
11474 (vendor_is_ATA): Read only needed part form the file.
11475 (check_sas): Allocate depending on contents rather than fixed.
11476 (main) [STANDALONE]: Handle NULL result.
11477
f990cbf9
VS
114782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11479
11480 * grub-core/normal/completion.c (iterate_dev): Close the disk.
11481
9c6e84b8
VS
114822012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11483
11484 Cryptodisk write support.
11485
11486 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
11487 (grub_cryptodisk_decrypt): Moved logic to ...
11488 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
11489 (grub_cryptodisk_write): Implement.
11490 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
11491 (grub_util_fd_write): ... this. Make global.
11492 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
11493
87cf9744
VS
114942012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11495
11496 * include/grub/list.h (grub_list_remove): Don't crash if element is
11497 removed twice.
11498
ca8c0baf
VS
114992012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11500
11501 Rename ofconsole to console.
11502
11503 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
11504 as sysnonym to console.
11505 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
11506 * grub-core/term/ieee1275/console.c: ... this. All users updated.
11507 Rename grub_ofconsole_ to grub_console_. All users updated
11508 (grub_console_term_output): Rename "ofconsole" to "console".
11509 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
11510 as "console".
11511
64c8b8f6
VS
115122012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11513
11514 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
11515 handling.
11516 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
11517 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
11518 GRUB_DISK_DEVICE_FILE_ID.
11519
f6c434d5
VS
115202012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11521
11522 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
11523 and improve performance.
11524
5858b42d
VS
115252012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11526
11527 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
11528 missing ieee1275/ prefix on whole disk.
11529
4ed3c26b
VS
115302012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11531
11532 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
11533 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
11534
df71143e
VS
115352012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11536
11537 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
11538
076e7c0f
VS
115392012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11540
11541 Merge common RAID and LVM logic to an abstract diskfilter.
11542 Add LDM support using the same framework.
11543
11544 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
11545 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
11546 (libgrubmods): Remove grub-core/disk/raid.c and
11547 grub-core/partmap/gpt.c.
11548 * grub-core/Makefile.core.def (ldm): New module.
11549 (raid): Renamed to diskfilter. All users updated.
11550 * grub-core/disk/raid.c: Moved to ...
11551 * grub-core/disk/diskfilter.c: ... here.
11552 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
11553 (lv_num): New var.
11554 (find_array): Renamed to ...
11555 (find_lv): ... this. Support multi-LV. Skip nameless LVs
11556 (grub_is_array_readable): Renamed to ...
11557 (grub_is_lv_readable): ... this. Support multinode hierarchy.
11558 (insert_array): New argument id.
11559 (is_node_readable): New function.
11560 (scan_device): Rename to ...
11561 (scan_disk): .. this. Restrict to one disk.
11562 (scan_devices): New function.
11563 (grub_diskfilter_iterate): Support multi-LV.
11564 Skip invisible and nameless LVs.
11565 (grub_diskfilter_memberlist): Support multi-LV.
11566 (grub_diskfilter_read_node): New function.
11567 (grub_raid_read): Most of logic moved to ...
11568 (read_segment): ... here
11569 (read_lv): New function.
11570 (grub_diskfilter_get_vg_by_uuid): New function.
11571 (grub_diskfilter_make_raid): Likewise.
11572 * grub-core/disk/ldm.c: New file.
11573 * grub-core/disk/lvm.c (vg_list): Removed.
11574 (lv_count): Likewise.
11575 (scan_depth): Likewise.
11576 (is_lv_readable): Likewise.
11577 (grub_lvm_getvalue): Advance pointer past the number.
11578 (find_lv): Removed.
11579 (do_lvm_scan): Refactored into ...
11580 (grub_lvm_detect): ... this. Support raid.
11581 (grub_lvm_iterate): Removed.
11582 (grub_lvm_memberlist): Likewise.
11583 (grub_lvm_open): Likewise.
11584 (grub_lvm_close): Likewise.
11585 (read_lv): Likewise.
11586 (read_node): Likewise.
11587 (is_node_readable): Likewise.
11588 (is_lv_readable): Likewise.
11589 (grub_lvm_read): Likewise.
11590 (grub_lvm_write): Likewise.
11591 (grub_lvm_dev): Use diskfilter
11592 (GRUB_MOD_INIT): Likewise.
11593 (GRUB_MOD_FINI): Likewise.
11594 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
11595 new interface.
11596 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
11597 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11598 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
11599 grub_diskfilter_read_node.
11600 Fix a bug with xor.
11601 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
11602 grub_diskfilter_read_node.
11603 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
11604 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
11605 (grub_disk_dev_iterate): Move from here...
11606 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
11607 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
11608 Make global.
11609 (grub_hostdisk_find_partition_start): Likewise.
11610 (grub_hostdisk_os_dev_to_grub_drive): New function.
11611 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
11612 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
11613 * util/getroot.c (make_device_name): ... here.
11614 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
11615 Move to ...
11616 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
11617 * grub-core/kern/emu/hostdisk.c
11618 (convert_system_partition_to_system_disk): Move to ...
11619 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
11620 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
11621 * util/getroot.c (device_is_wholedisk): ... here.
11622 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
11623 * util/getroot.c (find_system_device): ... here.
11624 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
11625 Move to ...
11626 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
11627 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
11628 Move to ...
11629 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
11630 Handle LDM.
11631 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
11632 Move to ...
11633 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
11634 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
11635 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
11636 DISKFILTER.
11637 * include/grub/raid.h: Renamed to ...
11638 * include/grub/diskfilter.h: ... this.
11639 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
11640 (GRUB_RAID_LAYOUT_*): Make into array.
11641 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
11642 (grub_diskfilter_vg): New struct.
11643 (grub_diskfilter_pv_id): Likewise.
11644 (grub_raid_member): Removed.
11645 (grub_raid_array): Likewise.
11646 (grub_diskfilter_pv): New struct.
11647 (grub_diskfilter_lv): Likewise.
11648 (grub_diskfilter_segment): Likewise.
11649 (grub_diskfilter_node): Likewise.
11650 (grub_diskfilter_get_vg_by_uuid): New proto.
11651 (grub_raid_register): Inline.
11652 (grub_diskfilter_unregister): Likewise.
11653 (grub_diskfilter_make_raid): New proto.
11654 (grub_diskfilter_vg_register): Likewise.
11655 (grub_diskfilter_read_node): Likewise.
11656 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
11657 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
11658 (grub_util_is_ldm): Likewise.
11659 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
11660 (grub_hostdisk_find_partition_start): Likewise.
11661 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
11662 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
11663 New definition.
11664 (grub_gpt_partition_map_iterate): New proto.
11665 * include/grub/lvm.h (grub_lvm_vg): Removed.
11666 (grub_lvm_pv): Likewise.
11667 (grub_lvm_lv): Likewise.
11668 (grub_lvm_segment): Likewise.
11669 (grub_lvm_node): Likewise.
11670 * util/getroot.c [...]
11671 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
11672 (probe_abstraction): Likewise.
11673 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
11674 (main): Remove dead logic.
11675
8a7f9b9c
VS
116762012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
11677
11678 Simplify root device discover and don't fail when trying to open
11679 incorrect devices.
11680
11681 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
11682 function.
11683 (get_diskname_from_path): Likewise.
11684 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
11685 of iterating.
11686
30545b85
VS
116872012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
11688
11689 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
11690
28ea58cf
VS
116912012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
11692
11693 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
11694 pastthe end.
11695
692dabca
VS
116962012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
11697
11698 * util/grub-install.in: Add missing \.
11699 Reported by: gentoofan
11700
f6e4ea70
VS
117012012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
11702
11703 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
11704 (direct_read): Use correct compressed size.
11705 (grub_squash_read_data): Likewise.
11706
117072012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
11708
11709 * docs/grub.texi (Platform limitations): New section.
11710 (Platform-specific operations): Likewise.
11711 * docs/grub-dev.texi (Porting): Likewise.
11712
76261110
VS
117132012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11714
11715 IEEE1275 disk write support.
11716
11717 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
11718 const void *.
11719 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
11720 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
11721 and seek loginc to ...
11722 (grub_ofdisk_prepare): ... here.
11723 (grub_ofdisk_write): Implement.
11724
fc36d603
VS
117252012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11726
11727 ARC disk write support.
11728
11729 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
11730 (reopen): New argument writable. All users updated.
11731 Handle required access mode.
11732 (grub_arcdisk_write): Implement.
11733 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
11734 (grub_arc_firmware_vector): Make buffer to write a const buffer.
11735
e06c2e7a
VS
117362012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11737
11738 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
11739 (read_sblock): Don't attempt to read superblocks outside the disk size.
11740
ff447958
VS
117412012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11742
11743 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
11744 first superblock to find the second one when possible.
11745
9e88df39
VS
117462012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11747
11748 * util/grub-install.in: Fix an ARC bug.
11749 Print a warning if no platform-specific setup is available.
11750
bb26e4ff
VS
117512012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11752
11753 Use static allocation rather than scratch pointer in reed_solomon.
11754 It decreases its size significantly and avoids a variable in .text.
11755
11756 * grub-core/lib/reed_solomon.c (scratch): Removed.
11757 (chosenstat): New const or static array.
11758 (sigma): Likewise.
11759 (errpot): Likewise.
11760 (errpos): Likewise.
11761 (sy): Likewise.
11762 (mstat): Likewise.
11763 (errvals): Likewise.
11764 (eqstat): Likewise.
11765 (pol_evaluate): Replace x with log_x argument. All users updated.
11766 (syndroms): Removed.
11767 (gauss_solve): Use statically allocated arrays.
11768 (rs_recover): Likewise.
11769 Calculate syndroms directly.
11770 (decode_block): Use statically allocated arrays.
11771 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
11772 (main) [TEST]: Allow -DTEST -DSTANDALONE.
11773
2e13ede5
VS
117742012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11775
11776 Eliminate fixed limit on reed solomon decoder length.
11777
11778 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
11779 rather than hardcoding the address.
11780 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
11781 no_reed_solomon_length.
11782 Move gate_a20 to no-reed-solomon part.
11783 Don't force a particular size of no reed-solomon part.
11784 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
11785 Removed.
11786 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
11787 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
11788
f8a9ab12
VS
117892012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11790
11791 * grub-core/commands/wildcard.c (match_files): Handle filenames
11792 without explicit device.
11793 (wildcard_expand): Don't add explicit device if not already present.
11794 * tests/grub_script_echo1.in: Add a new expansion test.
11795
87edb894
VS
117962012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11797
11798 Replace single-linked with double-linked lists. It results in more
11799 compact and more efficient code.
11800
11801 * grub-core/kern/list.c (grub_list_push): Moved from here ...
11802 * include/grub/list.h (grub_list_push): ... to here. Set prev.
11803 (grub_list_remove): Moved from here ...
11804 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
11805 (grub_prio_list_insert): Set prev.
11806 * include/grub/list.h (grub_list): Add prev. All users updated.
11807
48b391e9
VS
118082012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11809
11810 Handle newer autotools. Add some missing quotes while on it.
11811
11812 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
11813 (pkglib_DATA): Move grub-mkconfig_lib from here ...
11814 (pkgdata_DATA): ... here.
11815 * Makefile.util.def (update-grub_lib): Removed.
11816 * conf/Makefile.common (pkglib_DATA): Removed.
11817 (pkglib_SCRIPTS): Likewise.
11818 (pkgdata_DATA): New variable.
11819 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
11820 needed.
11821 Add missing quotes.
11822 Remove unused variable while on it.
11823 * tests/util/grub-shell.in: Likewise.
11824 * util/grub-install.in: Likewise.
11825 * util/grub-mkconfig.in: Likewise.
11826 * util/grub-mknetdir.in: Likewise.
11827 * util/grub-mkrescue.in: Likewise.
11828 * util/grub-mkstandalone.in: Likewise.
11829 * util/grub.d/00_header.in: Likewise.
11830 * util/grub.d/10_hurd.in: Likewise.
11831 * util/grub.d/10_illumos.in: Likewise.
11832 * util/grub.d/10_kfreebsd.in: Likewise.
11833 * util/grub.d/10_linux.in: Likewise.
11834 * util/grub.d/10_netbsd.in: Likewise.
11835 * util/grub.d/10_windows.in: Likewise.
11836 * util/grub.d/20_linux_xen.in: Likewise.
11837 * util/grub.d/30_os-prober.in: Likewise.
11838 * util/update-grub_lib.in: Removed.
11839
118402012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
11841
11842 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
11843 a workaround for intel problem.
11844
66832792
PRP
118452012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
118462012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
118472012-01-23 pfsmorigo
11848
11849 * util/grub-install.in: Support dd'in into PreP partition.
11850 * util/grub-probe.c (probe): Support discovering partition type.
11851 (main): Support -t msdos_parttype.
11852
7816a17e
VS
118532012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
11854
11855 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
11856 infinite recursion using counter.
11857 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
11858 init to skip it if the magic check fails.
11859 (dec_stream_header): Init s->crc32.
11860
8f9d3a8c
ZB
118612012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
118622012-01-22 Zachary Bedell <pendorbound@gmail.com>
118632012-01-22 Richard Laager <rlaager@wiktel.com>
11864
11865 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
11866 All users updated.
11867 (find_bestub): Determine correct size.
11868 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
11869 (scan_disk): Align the size down.
11870 Call check pool before find_bestub to have ashift.
11871
b055dd32
VS
118722012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11873
11874 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
11875 dprintf in no-malloc zone.
11876
d779e9bd
ML
118772012-01-22 Mario Limonciello <mario_limonciello@dell.com>
11878
11879 * configure.ac: Add back in test for limits.h.
11880
b508af69
VS
118812012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11882
11883 Support 4K-sector NTFS.
11884
11885 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
11886 (grub_ntfs_data): Remove blocksize.
11887 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
11888 Remove data argument. All users updated.
11889
dad9c8b5
VS
118902012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11891
11892 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
11893 being in .text to avoid dprel references.
11894 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
11895 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
11896 (grub_arch_highmemsize): Likewise.
11897 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
11898 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
11899 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
11900
d43a777e
VS
119012012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11902
11903 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
11904
11905 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
11906 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
11907
34e4208f
VS
119082012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11909
11910 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
11911 GRUB_UTIL.
11912 (grub_set_datetime_cmos): Likewise.
11913
3ec0fc1c
VS
119142012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11915
11916 Make XZ compression parameters dependent on target and not host CPU.
11917
11918 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
11919 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
11920
22489834
VS
119212012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11922
11923 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
11924 set but not used variable.
11925
8502fbca
VS
119262012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11927
11928 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
11929 created when no uuid support is compiled into mkfs.reiser.
11930
76df2068
VS
119312012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11932
11933 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
11934 (utf8_to_macroman): Do the opposite.
11935 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
11936
64e3f8f6
VS
119372012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11938
11939 * configure.ac: Refise build qemu_mips w/o unifont.
11940
9c271078
VS
119412012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11942
11943 Eliminate grub_min/grub_max prone to overflow usage.
11944
11945 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
11946 (poll_nonroot_hub): Likewise.
11947 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
11948 (grub_affs_label): Likewise.
11949 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
11950 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
11951 (grub_hfs_label): Likewise.
11952 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
11953 * grub-core/fs/zfs/zfs.c (MIN): Remove.
11954 (zap_leaf_array_equal): Use grub_size. Remove MIN.
11955 (zap_leaf_array_get): Likewise.
11956 (dnode_get_path): Likewise.
11957 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
11958 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
11959 * grub-core/script/execute.c (grub_script_break): Likewise.
11960 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
11961 grub_max.
11962 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
11963 * include/grub/misc.h (grub_min): Removed.
11964 (grub_max): Likewise.
11965
80662dbc
VS
119662012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
11967
11968 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
11969 direct.inode = 0.
11970
e6da1467
VS
119712012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11972
11973 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
11974
b1ac4cb1
VS
119752012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11976
11977 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
11978
b4bf7c3b
VS
119792012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11980
11981 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
11982 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
11983
8ee1101a
VS
119842012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11985
11986 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
11987 rather than a hack for grub_strncasemap.
11988
119892012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11990
11991 Support multiple initrds
11992 Note: part of this was accidently committed in r3739.
11993
11994 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
11995 initrd.
11996 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
11997 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
11998 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
11999 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12000 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12001
4d1e2bc9
VS
120022012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12003
12004 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
12005 disks with unknown size.
12006 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
12007
75b49ebe
VS
120082012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12009
12010 Remove defines pertaining to arbitrary limits not affecting GRUB
12011 anymore.
12012
12013 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
12014 (EXT2_MAX_SYMLINKCNT): Likewise.
12015 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
12016 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
12017 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
12018 (GRUB_PXE_MAX_BLKSIZE): Likewise.
12019 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
12020 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
12021 (DN_MAX_OBJECT_SHIFT): Likewise.
12022 (DN_MAX_OFFSET_SHIFT): Likewise.
12023 (DN_MAX_OBJECT): Likewise.
12024 (DNODES_PER_LEVEL_SHIFT): Likewise.
12025 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
12026 (SPA_MAXBLOCKSIZE): Likewise.
12027 (SPA_BLOCKSIZES): Likewise.
12028 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
12029 (MZAP_MAX_BLKSZ): Likewise.
12030
74a1dce7
VS
120312012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12032
12033 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
12034 handle NULL appropriately.
12035 Remove MIN.
12036
30c7d3ce
VS
120372012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12038
12039 Fix efiemu.
12040
12041 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
12042 cpu/types.h.
12043 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
12044 * configure.ac: Fix efiemu check.
12045
3c76ea0c
VS
120462012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12047
12048 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
12049 grub_probe.
12050 Reported by: adamwill
12051
7e532280
SG
120522012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
12053
12054 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
12055
30492374
VS
120562012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12057
12058 Fix handling of wide characters in gfxterm.
12059
12060 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
12061 (clear_char): Likewise.
12062 (paint_char): Skip code == NULL chars.
12063 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
12064
e70cb72f
VS
120652012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12066
12067 * grub-core/normal/charset.c: Move comment to right place.
12068
5c827cf9
VS
120692012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12070
12071 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
12072 (GRUB_AFFS_FLAG_FFS): Put back where it was.
12073 (grub_affs_mount): Revert the correct version checking.
12074
53603892
VS
120752012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12076
12077 * docs/grub.texi (Unicode): Mention several other unsupported features.
12078
ff094b9b
VS
120792011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12080
12081 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
12082 case statements as compile-time one.
12083 (direct_read): Prevent spurious warnings.
12084 (grub_squash_read_data): Likewise.
12085
c029da8a
VS
120862011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12087
12088 Various squash4 fixes and LZO and XZ support.
12089
12090 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
12091 Add xzembed source files.
12092 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
12093 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
12094 (grub_squash_inode): New subtype long_dir.
12095 (SQUASH_TYPE_LONG_DIR): New inode type.
12096 (COMPRESSION): New enum.
12097 (XZBUFSIZ): New const.
12098 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
12099 (read_chunk): Use data->decompress.
12100 (zlib_decompress): New function.
12101 (lzo_decompress): Likewise.
12102 (xz_decompress): Likewise.
12103 (squash_mount): Set new data fields.
12104 (grub_squash_iterate_dir): Handle long dir.
12105 (squash_unmount): Free xzdec and xzbuf.
12106 (grub_squash_open): Check ino type.
12107 (direct_read): Stylistic fixes. Use data->decompress.
12108 (grub_squash_read_data): Likewise.
12109 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
12110 (get_byte): Likewise.
12111 (grub_zlib_disk_read): Removed.
12112 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
12113 (GRUB_POSIX_BOOL_DEFINED): New define.
12114 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
12115 * grub-core/lib/xzembed/xz.h: Addmissing includes.
12116 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
12117 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
12118
7a45a539
VS
121192011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12120
12121 Don't override more informative errors.
12122
12123 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
12124 * grub-core/font/font.c (open_section): Likewise.
12125 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
12126 filename. Don't override errors.
12127 (grub_cmd_openbsd_ramdisk): Don't override errors.
12128 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
12129 (grub_cmd_initrd): Likewise.
12130 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12131 (grub_cmd_initrd): Likewise.
12132 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
12133 (grub_cmd_linux): Likewise.
12134 (grub_cmd_initrd): Likewise.
12135 (grub_cmd_payload): Likewise.
12136 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
12137 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
12138 (grub_cmd_module): Likewise.
12139 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12140 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12141 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
12142 (grub_cmd_xnu_mkext): Likewise.
12143 (grub_cmd_xnu_ramdisk): Likewise.
12144 (grub_xnu_check_os_bundle_required): Likewise.
12145 (grub_xnu_load_kext_from_dir): Likewise.
12146 (grub_cmd_xnu_kextdir): Likewise.
12147 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
12148
b2d004db
VS
121492011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12150
12151 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
12152 as 1024 in block size field. Found on one of my test images.
12153 Small optimisation while on it.
12154
ec000eac
VS
121552011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12156
12157 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
12158 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
12159 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
12160 performance fixes while on it.
12161 (grub_sfs_close): Fix memory leak while on it.
12162 (grub_sfs_label): Convert Latin1 to UTF-8.
12163
f50e1165
VS
121642011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12165
12166 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
12167 space to avoid overflows.
12168 (grub_hfs_label): Convert from macroman to UTF-8.
12169
2ae254de
VS
121702011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12171
12172 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
12173
0108f491
VS
121742011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12175
12176 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
12177
f45f5f89
VS
121782011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12179
12180 * unicode: Import Unicode 6.0 data.
12181
4d8c4765
VS
121822011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12183
63fa8ef9
VS
12184 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
12185 outside of range.
12186
121872011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12188
12189 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
12190
12191 * include/grub/charset.h (grub_getend): New function.
12192 * grub-core/script/function.c (grub_script_function_find): Use
12193 grub_getend.
12194 * grub-core/normal/completion.c (add_completion): Likewise.
12195
f3cb4a4e
VS
121962011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12197
12198 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
12199 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
12200 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
12201 (GRUB_UNICODE_TAG_END): Likewise.
12202 (GRUB_UNICODE_LAST_VALID): Likewise.
12203
5da8dbc5
VS
122042011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12205
12206 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
12207 len and make it smaller. All users updated.
12208 * util/import_unicode.py: Put length and not end character.
12209 Check length.
12210
8569f13d
VS
122112011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12212
12213 Make better Unicode-compliant and unify some UTF-8 code pathes.
12214
12215 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
12216 valid character.
12217 (grub_is_valid_utf8): Use grub_utf8_process.
12218 Check resulting code range.
12219 (grub_utf8_to_ucs4): Use grub_utf8_process.
12220 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
12221 valid character.
12222
cc4fddf5
VS
122232011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12224
12225 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
12226
bbc47747
VS
122272011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12228
12229 * docs/grub.texi (Filesystems): Mention AFS.
12230
f63d6bf4
VS
122312011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12232
12233 * docs/grub.texi (Filesystems): Clarify restrictions.
12234 (Regexp): Mention non-Unicode regexp behaviour.
12235 (Other): Mention non-Unicode matching behaviour.
12236
74bbf0db
VS
122372011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12238
f63d6bf4 12239 Make HFS implementation use MacRoman.
74bbf0db
VS
12240
12241 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
12242 (macroman): New const array.
12243 (macroman_to_utf8): New function.
12244 (utf8_to_macroman): Likewise.
12245 (grub_hfs_find_dir): Use utf8_to_macroman.
12246 (grub_hfs_dir): Use macroman_to_utf8.
12247 Set case_insensitive.
12248
4ea0316e
VS
122492011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12250
12251 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
12252
d3c13cbd
VS
122532011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12254
12255 Integrate hints into autogeneration scripts.
12256
12257 * docs/grub.texi (Filesystems): Add a hostdisk example.
12258 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
12259 (grub-probe): Add ofpath.
12260 * gentpl.py: Remove group nosparc64.
12261 * grub-core/commands/search.c (cache_entry): New struct.
12262 (cache): New var.
12263 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
12264 * grub-core/commands/search_wrap.c (options): Add platform-specific
12265 hint options.
12266 (grub_cmd_search): Handle platform-specific hints.
12267 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
12268 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
12269 (grub_util_biosdisk_data): Likewise.
12270 (grub_util_biosdisk_open): Set device_map.
12271 (read_device_map): Handle "" as indication of no map.
12272 Set device_map.
12273 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
12274 (grub_util_biosdisk_get_compatibility_hint): New function.
12275 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
12276 * include/grub/emu/hostdisk.h
12277 (grub_util_biosdisk_get_compatibility_hint): New proto.
12278 * util/grub-install.in: Don't call grub-mkdevicemap.
12279 Add platform-specific hint to load.cfg.
12280 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
12281 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
12282 hints. Set root preliminary to compatibility hint, not to OS name.
12283 * util/grub-probe.c (PRINT_*): Add hints.
12284 (print): Make static.
12285 (escape_of_path): New function.
12286 (guess_bios_drive): Likewise.
12287 (guess_efi_drive): Likewise.
12288 (guess_baremetal_drive): Likewise.
12289 (print_full_name): Likewise.
12290 (probe): Handle hints.
12291 (main): Likewise.
12292 * util/ieee1275/devicemap.c: Removed.
12293 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
12294 updated.
12295 (grub_util_devname_to_ofpath): Return NULL on failure.
12296
12297 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
12298 resource leak.
12299 * util/getroot.c (grub_util_pull_device): Fix memory leak.
12300
12301 * po/POTFILES.in: Regenerated.
12302
12303 Allow purely long options
12304
12305 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
12306 (SHORT_ARG_USAGE): Likewise.
12307 (grub_arg_show_help): Compare opt with help_options.
12308 (parse_option): Receive opt as argument. If makes big simplificatons.
12309 All users updated
12310
00ce2df3
VS
123112011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12312
12313 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
12314 Restructure to avoid warning.
12315
e77e325f
VS
123162011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12317
12318 * util/grub-install.in: Account for possible escaped comma in device
12319 name.
12320
165099ea
VS
123212011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12322
12323 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
12324 channel.
12325
ce4a999d
VS
123262011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12327
12328 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
12329 allocation and zero-setting.
12330 (grub_ieee1275_get_devname): Check that alias is complete.
12331
379586ad
VS
123322011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12333
12334 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
12335 unaligned segments.
12336
9197b0ad
VS
123372011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12338
12339 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
12340 prefix.
12341 (grub_ofdisk_open): Check and discard ieee1275 prefix.
12342 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
12343 Add ieee1275 prefix.
12344
edddb7f9
VS
123452011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12346
12347 * docs/grub.texi (Filesystems): Update.
12348
a1a8b1b9
VS
123492011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12350
12351 Support odc, newc and bigendian cpio formats.
12352
12353 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
12354 * grub-core/Makefile.core.def (newc): New module.
12355 (odc): Likewise.
12356 (cpio_be): Likewise.
12357 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
12358 (MAGIC): Likewise.
12359 (MAGIC2): Likewise.
12360 (head) [MODE_ODC]: Adapt for the format.
12361 (head) [MODE_NEWC]: Likewise.
12362 (head) [!MODE_*]: Write fields of interest as arrays.
12363 (MAGIC_USTAR): Removed.
12364 (read_number) [MODE_NEWC]: Change to hex.
12365 (read_number) [!MODE_*]: Parse binary arrays.
12366 (grub_cpio_find_file): Factor out the code for better structure and
12367 always use read_number.
12368 (grub_cpio_mount): Use MAGIC and MAGIC2.
12369 (grub_cpio_dir): Exit on first hook non-0 return.
12370 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
12371 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
12372 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
12373 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
12374 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
12375 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
12376 * grub-core/fs/newc.c: New file.
12377 * grub-core/fs/odc.c: Likewise.
12378 * grub-core/fs/cpio_be.c: Likewise.
12379
58eba9ee
VS
123802011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12381
12382 Fix handling of tar numbers occupying the whole field.
12383
12384 * grub-core/fs/cpio.c (read_number): New function.
12385 (grub_cpio_find_file): Use read_number instead of strtoull.
12386
a54a0e12
VS
123872011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12388
12389 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
12390 occupying the whole field size.
12391
a6120aca
LA
123922011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
12393
12394 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
12395
a93964ce
VS
123962011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12397
12398 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
12399
3ea1ca46
SG
124002011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
12401
12402 * grub-core/Makefile.core.def (lzma_decompress): Add missing
12403 TARGET_IMG_LDFLAGS.
12404
b87f7ef2
VS
124052011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12406
12407 * util/getroot.c (ESCAPED_PATH_MAX): New define.
12408 (mountinfo_entry): Increase the field size to take escaping into
12409 account.
12410 (find_root_device_from_libzfs): Add one byte to size of strings for
12411 security.
12412
62092395
VS
124132011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12414
12415 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
12416 an assert.
12417 * util/grub-setup.c (setup): Likewise.
12418
1f0b1a77
VS
124192011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12420
12421 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
12422 _LzmaDecodeA.
12423
8eba9997
VS
124242011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12425
12426 * docs/grub.texi (Internationalisation): New section.
12427
dd0c91e9
VS
124282011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12429
12430 * docs/grub.texi (Loopback booting): New section.
12431
124322011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
12433
12434 * util/grub-mkstandalone.in: Fix minor typo errors.
12435
198e150a
VS
124362011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
12437
12438 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
12439
12440 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
12441 net/icmp.c and net/icmp6.c.
12442 (http): New module.
12443 (priority_queue): Likewise.
12444 * grub-core/io/bufio.c: Rewritten.
12445 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
12446 TYPE_WITH_CONFIGFILE_OPTION.
12447 (legacy_commands): Add bootp and dhcp.
12448 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
12449 (grub_legacy_parse): Likewise.
12450 * grub-core/lib/priority_queue.c: New file.
12451 * grub-core/net/arp.c: Add missing license header.
12452 (arp_find_entry): Removed.
12453 (arp_find_entry): Likewise.
12454 (grub_net_arp_resolve): Rename to ...
12455 (grub_net_arp_send_request): ...this.
12456 (grub_net_arp_receive): New card argument.
12457 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
12458 Set router and DNS server.
12459 (grub_net_configure_by_dhcp_ack): Handle routing information.
12460 (grub_cmd_bootp): Set checksum.
12461 (grub_bootp_init): Remove net_dhcp.
12462 * grub-core/net/dns.c: New file.
12463 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
12464 completion.
12465 (get_card_packet): Handle allocation.
12466 (grub_efinet_findcards): Set mtu.
12467 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
12468 (get_card_packet): Handle allocation.
12469 (emucard): Set mtu.
12470 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
12471 (GRUB_MOD_INIT): Set mtu.
12472 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
12473 mtu.
12474 (get_card_packet): Handle allocation.
12475 (grub_ofnet_findcards): Set mtu.
12476 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
12477 assert.
12478 (grub_net_recv_ethernet_packet): Handle IPv6.
12479 * grub-core/net/http.c: New file.
12480 * grub-core/net/icmp.c: Likewise.
12481 * grub-core/net/icmp6.c: Likewise.
12482 * grub-core/net/ip.c (ip6addr): New type.
12483 (ip6hdr): Likewise.
12484 (reassemble): Likewise.
12485 (cmp): New function.
12486 (reassembles): New variable.
12487 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
12488 (id): New variable.
12489 (send_fragmented): New function.
12490 (grub_net_send_ip_packet): Rename to ...
12491 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
12492 Handle non-UDP.
12493 (grub_net_recv_ip_packets): Rename to ...
12494 (handle_dgram): ... this. Check checksum. Handle non-UDP.
12495 (free_rsm): New function.
12496 (free_old_fragments): Likewise.
12497 (grub_net_recv_ip4_packets): New function.
12498 (grub_net_send_ip6_packet): Likewise.
12499 (grub_net_send_ip_packet): Likewise.
12500 (grub_net_recv_ip6_packets): Likewise.
12501 (grub_net_recv_ip_packets): Likewise.
12502 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
12503 (LINK_LAYER_CACHE_SIZE): New const.
12504 (link_layer_find_entry): New function.
12505 (grub_net_link_layer_add_address): Likewise.
12506 (grub_net_link_layer_resolve_check): Likewise.
12507 (grub_net_link_layer_resolve): Likewise.
12508 (grub_net_ipv6_get_slaac): Likewise.
12509 (grub_net_ipv6_get_link_local): Likewise.
12510 (grub_cmd_ipv6_autoconf): Likewise.
12511 (parse_ip): Handle one number representation.
12512 (parse_ip6): New functoion.
12513 (match_net): Handle IPv6.
12514 (grub_net_resolve_address): Handle IPv6 and DNS.
12515 (grub_net_resolve_net_address): Handle IPv6.
12516 (route_cmp): New function.
12517 (grub_net_route_address): Find best route.
12518 (grub_net_addr_to_str): Handle IPv6.
12519 (grub_net_addr_cmp): New function.
12520 (grub_net_add_addr): Register local route.
12521 (print_net_address): Handle net address.
12522 (grub_net_poll_cards): Retransmit TCP.
12523 (grub_net_poll_cards_idle_real): Likewise.
12524 (have_ahead): New function.
12525 (grub_net_seek_real): Use underlying seek.
12526 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
12527 * grub-core/net/tcp.c: New file.
12528 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
12529 (cmp): New function.
12530 (ack): Likewise.
12531 (tftp_receive): Handle unordered input.
12532 (destroy_pq): New function.
12533 (tftp_close): Close pq.
12534 * grub-core/net/udp.c: Put missing license header.
12535 (grub_net_udp_socket): New function.
12536 (udp_socket_register): Likewise.
12537 (grub_net_udp_close): Likewise.
12538 (grub_net_recv_udp_packet): Check checksum.
12539 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
12540 * include/grub/misc.h (grub_memchr): New function.
12541 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
12542 (grub_net_card_driver): Return buf in recv.
12543 (grub_net_slaac_mac_list): New struct.
12544 (grub_network_level_protocol_id): Add ipv6.
12545 (grub_net_network_level_addr): Likewise.
12546 (grub_net_network_level_net_addr): Likewise.
12547 (grub_net_app_protocol): Add seek.
12548 (grub_net_socket): Removed.
12549 (grub_net_sockets): Likewise.
12550 (grub_net_socket_register): Likewise.
12551 (grub_net_socket_unregister): Likewise.
12552 (FOR_NET_SOCKETS): Likewise.
12553 (grub_net_add_addr): Add const.
12554 (GRUB_NET_BOOTP_*): New enum.
12555 (grub_net_addr_cmp): New proto.
12556 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
12557 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
12558 (grub_net_hwaddr_to_str): NEw proto.
12559 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
12560 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
12561 (grub_dns_init): New proto.
12562 (grub_dns_fini): Likewise.
12563 (grub_net_tcp_retransmit): Likewise.
12564 (grub_net_link_layer_add_address): Likewise.
12565 (grub_net_link_layer_resolve_check): Likewise.
12566 (grub_net_link_layer_resolve): Likewise.
12567 (grub_net_dns_lookup): Likewise.
12568 (grub_net_add_dns_server): Likewise.
12569 (grub_net_remove_dns_server): Likewise.
12570 (GRUB_NET_TRIES): New const.
12571 (GRUB_NET_INTERVAL): Likewise.
12572 * include/grub/net/arp.h: Mostly rewritten.
12573 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
12574 * include/grub/net/ip.h: Mostly rewritten.
12575 * include/grub/net/netbuff.h: Indent.
12576 * include/grub/net/tcp.h: New file.
12577 * include/grub/net/udp.h: Mostly rewritten.
12578 * include/grub/priority_queue.h: New file.
12579 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
12580 (grub_swap_bytes64_compile_time): Likewise.
12581 (grub_cpu_to_be16_compile_time): Likewise.
12582 (grub_cpu_to_be32_compile_time): Likewise.
12583 (grub_cpu_to_be64_compile_time): Likewise.
12584 (grub_be_to_cpu64_compile_time): Likewise.
12585
215c1800
VS
125862011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
12587
12588 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
12589 UINT_TO_PTR with cast.
12590
c17e546c
VS
125912011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12592
12593 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
12594 don't use them.
12595
ff6b18b6
VS
125962011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12597
12598 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
12599 already there.
12600
70ffcc93
VS
126012011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12602
12603 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
12604 confusing ipxe.
12605
e5f4d260
VS
126062011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12607
12608 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
12609 Add missing const attribute.
12610 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
12611 Likewise.
12612 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
12613 Likewise.
12614
8e54b4b7
VS
126152011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12616
12617 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
12618 misaligned access.
12619 (serpent_setkey): Likewise.
12620 (serpent_encrypt_internal): Likewise.
12621 (serpent_decrypt_internal): Likewise.
12622 (serpent_encrypt): Don't put an alignment-increasing cast.
12623 (serpent_decrypt): Likewise.
12624 (serpent_test): Likewise.
12625
813c0a2b
VS
126262011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12627
12628 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
12629
f2b60fbd
VS
126302011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12631
12632 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
12633
12634 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
12635 grub_addr_t casts.
12636 (PTR_TO_UINT64): Likewise.
12637 (PTR_TO_UINT32): Likewise.
12638
5ef5c511
VS
126392011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12640
12641 * util/grub-mkimage.c (generate_image): Decrease the higher limit
12642 because of stack.
12643 * util/grub-setup.c (setup): Don't add redundancy past the higher load
12644 limit.
12645
c476e6df
VS
126462011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12647
12648 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
12649 text_width > available width a bit more gracefully.
12650
384ad7cc
VS
126512011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12652
12653 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
12654 current address calculation.
12655
96f8caf8
VS
126562011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12657
12658 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
12659 stack.
12660 (encode_block): Likewise.
12661
276b7a8b
VS
126622011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12663
12664 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
12665 certainety.
12666
e3fd394a
VS
126672011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12668
12669 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
12670 non-RS part to avoid RS messing with GDT.
12671 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
12672 Increase to suit in realmode routines.
12673
126742011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12675
12676 * grub-core/kern/i386/realmode.S: Increase alignment.
12677 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
12678
ee9c2e7a
VS
126792011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12680
12681 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
12682 be deterministic.
12683 (syndroms): Compute 0 syndrom.
12684 (rs_recover): Use 0 syndrom.
12685
7a7f7cc9
VS
126862011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12687
12688 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
12689
a14b16d1
VS
126902011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12691
12692 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
12693 brackets.
12694
9f59e9fc
VS
126952011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12696
ca1b552c
VS
12697 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
12698 account.
12699 (get_top_pad): Likewise.
12700 (get_right_pad): Likewise.
12701 (get_bottom_pad): Likewise.
12702
127032011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12704
12705 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 12706
e739d698
VS
127072011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12708
12709 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
12710 attribute as the structure isn't guaranteed to be properly aligned.
12711 (grub_efi_pci_device_path): Likewise.
12712 (grub_efi_pccard_device_path): Likewise.
12713 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
12714 specify the size of `memory_type'.
12715 (grub_efi_vendor_device_path): Likewise.
12716 (grub_efi_controller_device_path): Likewise.
12717 (grub_efi_acpi_device_path): Likewise.
12718 (grub_efi_expanded_acpi_device_path): Likewise.
12719 (grub_efi_atapi_device_path): Likewise.
12720 (grub_efi_scsi_device_path): Likewise.
12721 (grub_efi_fibre_channel_device_path): Likewise.
12722 (grub_efi_1394_device_path): Likewise.
12723 (grub_efi_usb_device_path): Likewise.
12724 (grub_efi_usb_class_device_path): Likewise.
12725 (grub_efi_i2o_device_path): Likewise.
12726 (grub_efi_mac_address_device_path): Likewise.
12727 (grub_efi_ipv4_device_path): Likewise.
12728 (grub_efi_ipv6_device_path): Likewise.
12729 (grub_efi_infiniband_device_path): Likewise.
12730 (grub_efi_uart_device_path): Likewise.
12731 (grub_efi_vendor_messaging_device_path): Likewise.
12732 (grub_efi_hard_drive_device_path): Likewise.
12733 (grub_efi_cdrom_device_path): Likewise.
12734 (grub_efi_vendor_media_device_path): Likewise.
12735 (grub_efi_file_path_device_path): Likewise.
12736 (grub_efi_protocol_device_path): Likewise.
12737 (grub_efi_piwg_device_path): Likewise.
12738 (grub_efi_bios_device_path): Likewise.
12739
cb8f88ea
VS
127402011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12741
12742 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
12743 (grub_ucs4_to_utf8_alloc): Likewise.
12744 (grub_ucs4_to_utf8): Likewise.
12745 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
12746 (grub_ucs4_to_utf8_alloc): Likewise.
12747
309e5352
VS
127482011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12749
12750 AFFS never uses unicode.
12751
12752 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
12753 (grub_latin1_to_utf8): New inline function.
12754 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
12755
e7987e1b
VS
127562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12757
12758 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
12759 overflow.
12760
efc2616e
VS
127612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12762
12763 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
12764 (grub_squash_dirent_header): Likewise.
12765 (read_chunk): Don't double swap.
12766 (grub_squash_iterate_dir): Fix swap sizes.
12767
3c349f5a
VS
127682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12769
12770 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
12771
b453412d
VS
127722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12773
12774 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
12775 (grub_hfs_iterate_dir): Likewise.
12776
12e9d4d1
VS
127772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12778
12779 Fix video on platforms where unaligned access is forbidden.
12780 Make several optimisations while on it.
12781
12782 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
12783 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
12784 (grub_video_fbblit_replace_32bit_1bit): Likewise.
12785 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
12786 Disable.
12787 (grub_video_fbblit_replace_16bit_1bit):
12788 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
12789 (grub_video_fbblit_replace_8bit_1bit): Likewise.
12790 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
12791 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
12792 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
12793 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
12794 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
12795 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
12796 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
12797 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
12798 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
12799 (grub_video_fbblit_replace_index_RGB888): Likewise.
12800 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
12801 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
12802 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
12803 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
12804 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
12805 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
12806 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
12807 Disable.
12808 (grub_video_fbblit_blend_XXX565_1bit):
12809 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
12810 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
12811 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
12812 void *.
12813 * grub-core/video/fb/video_fb.c (common_blitter)
12814 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
12815 (grub_video_fb_create_render_target_from_pointer)
12816 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
12817 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
12818 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
12819 definition.
12820 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
12821
ace96609
VS
128222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12823
12824 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
12825 HH22 and HM10 relocations.
12826
fd261d73
VS
128272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12828
12829 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
12830
e59b7857
VS
128312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12832
12833 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
12834 allocation succeeded.
12835
9b4baaa4
VS
128362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12837
12838 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
12839 argument a u8 pointer. All users updated.
12840 Handle unaligned buffers.
12841
dc713193
VS
128422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12843
12844 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
12845 add_part to workaround compiler bug.
12846
30dd48c2
VS
128472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12848
12849 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
12850
0c6087a8
VS
128512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12852
12853 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
12854 Reserve alignment invariants.
12855 (grub_multiboot_load): Likewise.
12856 (retrieve_video_parameters): Likewise.
12857 (grub_multiboot_make_mbi): Likewise.
12858
c2e77777
VS
128592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12860
12861 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
12862 incorrect pointer.
12863
b70b6d11
VS
128642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12865
12866 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
12867 (grub_pata_pio_write): Likewise.
12868
02a2bf83
VS
128692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12870
12871 Add noreturn attributes and remove unreachable code.
12872
12873 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
12874 code.
12875 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
12876 code. Mark as noreturn.
12877 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
12878 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
12879 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
12880 unreachable code.
12881 * grub-core/kern/main.c (grub_main): Mark as noreturn.
12882 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
12883 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
12884 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
12885 * include/grub/kernel.h (grub_main): Mark as noreturn.
12886 * include/grub/reader.h (grub_rescue_run): Likewise.
12887
2019d09e
VS
128882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12889
12890 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
12891 redundant declaration.
12892
d1c501ee
VS
128932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12894
12895 * include/grub/net.h (grub_net_network_level_interfaces): Remove
12896 redundant declaration.
12897 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
12898
61664420
VS
128992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12900
12901 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
12902 to ensure alignment.
12903 (grub_hdparm_print_identify): Make argument uint16 * to ensure
12904 alignment. Ensure tmp alignment.
12905 (grub_cmd_hdparm): Ensure buf alignment.
12906 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
12907 to ensure alignment.
12908 (grub_ata_dumpinfo): Ensure text alignment.
12909 (grub_atapi_identify): Preserve alignment invariant.
12910 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
12911
0d51ee20
VS
129122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12913
12914 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
12915 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
12916 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
12917 * include/grub/misc.h (grub_reboot)
12918 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
12919 (grub_halt) [__mips__]: Likewise.
12920
753ef8c1
VS
129212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12922
12923 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
12924 Remove redundant declaration.
12925 (grub_mmap_get_post64): Likewise.
12926 (grub_mmap_get_upper): Likewise.
12927 (grub_mmap_get_lower): Likewise.
12928
85c85365
VS
129292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12930
12931 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
12932 uint32_t * to ensure alignment.
12933 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
12934
a23f2cc4
VS
129352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12936
93018f64
VS
12937 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
12938 uint16_t * to ensure alignment.
12939 (sun_pc_partition_map_iterate): Make `block' a union to ensure
12940 alignment.
12941
129422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12943
12944 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
12945 to ensure alignment.
12946 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
12947
58acccd6
VS
129482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12949
12950 * grub-core/fs/ntfs.c (u16at): Make into inline function.
12951 Handle unaligned pointers.
12952 (u32at): Likewise.
12953 (u64at): Likewise.
12954 (fixup): Use byte access instead of v16at.
12955 (find_attr): Fix imporper usage of v32at.
12956 (read_data): Likewise.
12957 (list_file): Handle byte-swapping and unaligned strings.
12958 (grub_ntfs_label): Likewise.
12959
9b05cad7
VS
129602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12961
12962 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
12963 as it's not necessarily aligned.
12964
b3950b84
VS
129652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12966
12967 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
12968 redundant declaration.
12969 (grub_serial_init): Likewise.
12970 (grub_terminfo_init): Likewise.
12971
fcd232b7
VS
129722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12973
12974 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
12975 function.
12976 (ZAP_HASH_IDX): Likewise.
12977 (ZAP_LEAF_HASH_SHIFT): Likewise.
12978 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
12979 (LEAF_HASH): Likewise.
12980 (ZAP_LEAF_NUMCHUNKS): Likewise.
12981 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
12982 alignment invariants. Return pointer. All users updated.
12983 (ZAP_LEAF_ENTRY): Make into inline function.
12984 (NBBY): Removed.
12985 (xor): LIkewise.
12986 (xor_out): Use grub_crypto_xor.
12987 (dnode_get_path): Use grub_get_unaligned.
12988 (nvlist_find_value): Likewise.
12989 (grub_zfs_nvlist_lookup_uint64): Likewise.
12990 (grub_zfs_nvlist_lookup_string): Likewise.
12991 (get_nvlist_size): Likewise.
12992 (grub_zfs_open): Likewise.
12993 (fill_fs_info): Likewise.
12994 (grub_zfs_dir): Likewise.
12995 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
12996 alignment invariants.
12997 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
12998 necessarily aligned.
12999
f138623a
VS
130002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13001
13002 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
13003
564840dc
VS
130042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13005
13006 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
13007 arithmetic to conserve alignment invariants.
13008
9b40df20
VS
130092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13010
13011 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
13012 redundant declaration.
13013 (grub_efiemu_mm_obtain_request): Likewise.
13014 (grub_efiemu_prepare): Likewise.
13015
d1c930f9
VS
130162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13017
13018 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
13019 to match types.
13020
4c5f3056
VS
130212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13022
13023 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
13024 case of aunaligned recptr.
13025 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
13026 alignment.
13027 (grub_hfsplus_btree_search): Handle unaligned index.
13028
728cba91
VS
130292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13030
13031 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
13032 to get freetag and skip.
13033
eb561f31
VS
130342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13035
13036 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
13037 array.
13038 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
13039 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
13040
20993fbb
VS
130412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13042
13043 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
13044 name for checksum and fix allocation algorithm.
13045
1f313b94
VS
130462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13047
13048 * include/grub/types.h (grub_properly_aligned_t): New type.
13049 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
13050 (grub_get_unaligned16): Add explicit casts.
13051 (grub_get_unaligned32): Likewise.
13052 (grub_get_unaligned64): Likewise.
13053 (grub_set_unaligned16): New function.
13054 (grub_set_unaligned32): Likewise.
13055
47ae27ec
VS
130562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13057
13058 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
13059
78c2cd1c
VS
130602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13061
13062 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
13063 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
13064 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
13065
53072f9b
VS
130662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13067
13068 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
13069 conditionals.
13070
055dc239
VS
130712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13072
13073 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
13074 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
13075
496bd074
VS
130762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13077
13078 Unify and improve RAID and crypto xor.
13079
13080 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
13081 changed to grub_crypto_xor
13082 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
13083 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
13084 Use bigger types when possible.
13085
ef6e4335
VS
130862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13087
13088 * grub-core/disk/raid.c (scan_devices): Fix condition.
13089
5d048bf2
VS
130902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13091
13092 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
13093 Make name a const ptr.
13094
ee533335
VS
130952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13096
13097 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
13098 first argument a const pointer.
13099 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
13100 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
13101 proto.
13102 (grub_children_iterate): Likewise.
13103 (grub_machine_mmap_iterate): Remove redundant declaration.
13104
cc8f3668
VS
131052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13106
13107 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
13108 (grub_cmd_acpi) [!x86]: Disable EBDA.
13109
c5fc563a
VS
131102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13111
13112 Enable UTF8 in gnulib regexp.
13113
13114 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
13115 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
13116 (isupper): Use grub_isupper.
13117 (isascii): New inline function.
13118 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
13119 * grub-core/lib/posix_wrap/wctype.h: Likewise.
13120 * grub-core/normal/charset.c (grub_utf8_process): New function.
13121 (grub_utf8_to_utf16): Use grub_utf8_process.
13122 (grub_encode_utf8_character): New function.
13123 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
13124 * include/grub/charset.h (grub_utf8_process): New declaration.
13125 (grub_encode_utf8_character): Likewise.
13126 * include/grub/misc.h (grub_islower): New inline function.
13127 (grub_isupper): Likewise.
13128 (grub_strchrsub): Moved down to fix the definitions.
13129
0af2346f
VS
131302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13131
13132 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
13133 specification.
13134
74dbd244
VS
131352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13136
13137 * include/grub/loader.h (grub_loader_register_preboot_hook):
13138 Use struct preboot * and not void * for handle. All users updated.
13139 (grub_loader_unregister_preboot_hook): Likewise.
13140
1bc8f60d
VS
131412011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
13142
13143 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
13144 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
13145 UTF-16-BE. All users updated.
13146 (grub_hfsplus_cmp_catkey): Fix unicode handling.
13147 (grub_hfsplus_iterate_dir): Likewise.
13148 (grub_hfsplus_label): Likewise.
13149
48d6e456
VS
131502011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
13151
13152 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
13153
bf3a3857
VS
131542011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
13155
13156 Add missing const qualifiers.
13157
13158 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
13159 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
13160 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
13161 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
13162 (grub_lvm_check_flag): Likewise.
13163 * grub-core/efiemu/i386/coredetect.c
13164 (grub_efiemu_get_default_core_name): Likewise
13165 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
13166 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
13167 * grub-core/fs/ntfs.c (fixup): Likewise.
13168 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
13169 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
13170 (fzap_lookup): Likewise.
13171 (zap_lookup): Likewise.
13172 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
13173 * grub-core/lib/legacy_parse.c (check_option): Likewise.
13174 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
13175 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
13176 (grub_freebsd_add_meta_module): Likewise.
13177 (grub_cmd_freebsd_module): Likewise.
13178 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
13179 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
13180 (grub_xnu_writetree_get_size): Likewise.
13181 (grub_xnu_writetree_toheap_real): Likewise.
13182 (grub_xnu_find_key): Likewise.
13183 (grub_xnu_create_key): Likewise.
13184 (grub_xnu_create_value): Likewise.
13185 (grub_xnu_register_memory): Likewise.
13186 (grub_xnu_check_os_bundle_required): Likewise.
13187 (grub_xnu_scan_dir_for_kexts): Likewise.
13188 (grub_xnu_load_kext_from_dir): Likewise.
13189 * grub-core/normal/color.c (color_list): Likewise.
13190 * grub-core/normal/completion.c (current_word): Likewise.
13191 * grub-core/normal/menu_entry.c (insert_string): Likewise.
13192 * grub-core/term/serial.c (grub_serial_find): Likewise.
13193 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
13194 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
13195 Likewise.
13196 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
13197 (grub_freebsd_add_meta_module): Likewise.
13198 * include/grub/lib/arg.h (grub_arg_option): Likewise.
13199 * include/grub/net.h (grub_net_card_driver): Likewise.
13200 (grub_net_card): Likewise.
13201 (grub_net_app_protocol): Likewise.
13202 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
13203 * include/grub/serial.h (grub_serial_find): Likewise.
13204 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
13205 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
13206 (grub_xnu_create_value): Likewise.
13207 (grub_xnu_find_key): Likewise.
13208 (grub_xnu_scan_dir_for_kexts): Likewise.
13209 (grub_xnu_load_kext_from_dir): Likewise.
13210
13211 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
13212 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
13213 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
13214 Moved from here ...
13215 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
13216
112b4837
CW
132172011-11-28 Colin Watson <cjwatson@ubuntu.com>
13218
13219 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
13220
49e891ac
VS
132212011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
13222
13223 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
13224 (read_device): Fix size calculation.
13225
fd258e5c
RM
132262011-11-25 Robert Millan <rmh@gnu.org>
13227
13228 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
13229 (find_root_device_from_libzfs): Add zpool output parser to be used
13230 as fallback when libzfs isn't available.
13231
78845dc2
SG
132322011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
13233
13234 * po/Makefile.in.in: Add missing escape-continuation.
13235
adac5211
VS
132362011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
13237
13238 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
13239
10b64f1c
VS
132402011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13241
13242 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
13243
bb416954
VS
132442011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13245
13246 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
13247
bdfe9eeb
VS
132482011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13249
13250 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
13251
581ffa8a
VS
132522011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13253
13254 * grub-core/lib/adler32.c: Add missing license specification.
13255 * grub-core/lib/crc64.c: Likewise.
13256 * grub-core/loader/i386/pc/plan9.c: Likewise.
13257 * grub-core/partmap/plan.c: Likewise.
13258
2536cf64
LK
132592011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
13260
13261 Add facility to debug GRUB with gdb under qemu.
13262
13263 * grub-core/gdb_grub.in: New file.
13264 * grub-core/gmodule.pl.in: Likewise.
13265 * grub-core/Makefile.core.def (gmodule.pl): New script.
13266 (gdb_grub): Likewise.
13267
bc108a4a
VS
132682011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13269
13270 * util/grub-mount.c (argp_parser): Accept relative pathes.
13271 * util/grub-fstest.c (argp_parser): Likewise.
13272
111c1778
VS
132732011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13274
13275 Plan9 support.
13276
13277 * Makefile.util.def (libgrubmods): Add
13278 grub-core/partmap/plan.c.
13279 * docs/grub.texi: Notice Plan9 support.
13280 * grub-core/Makefile.core.def (plan9): New module.
13281 (part_plan): Likewise.
13282 * grub-core/loader/i386/pc/plan9.c: New file.
13283 * grub-core/partmap/plan.c: Likewise.
13284 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
13285 define.
13286 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
13287 * include/grub/mm.h (grub_extend_alloc): New inline function.
13288
c30be3b6
VS
132892011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13290
13291 Make Reed-Solomon faster by using power of generator representation of
13292 GF(256)*.
13293
13294 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
13295 (gf_double_t): Likewise.
13296 (gf_invert): Removed.
13297 (gf_powx): New array.
13298 (gf_powx_inv): Likewise.
13299 (scratch): Move higher.
13300 (gf_reduce): Removed.
13301 (gf_mul): Use powx.
13302 (gf_invert): Likewise.
13303 (init_inverts): Replaced with ...
13304 (init_powx): ...this. All users updated.
13305 (pol_evaluate): Replace multiplications with additions.
13306 (rs_encode): Likewise.
13307 (gauss_eliminate): Call gf_invert.
13308 (grub_reed_solomon_add_redundancy): Call init_powx.
13309 (grub_reed_solomon_recover): Call init_powx unconditionally.
13310
fa5aeffc
VS
133112011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13312
13313 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
13314
a346b81c
VS
133152011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13316
13317 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
13318 disk->partiton for safety.
13319
d89ee414
VS
133202011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13321
13322 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
13323 Fix a memory leak.
13324 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
13325
91ee7b6d
VS
133262011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13327
13328 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
13329
91e5a33d
VS
133302011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13331
13332 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
13333
9edd7be2
VS
133342011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13335
13336 Fix spaces handling in proc/self/mountinfo.
13337
13338 * util/getroot.c (unescape): New function.
13339 (grub_find_root_device_from_mountinfo): Use unescape.
13340
ba102053
VS
133412011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13342
13343 Support ZFS embedding.
13344
13345 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
13346 (grub_zfs_fs): Register grub_zfs_embed.
13347
aa94b870
VS
133482011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13349
13350 Fix MIPS compilation.
13351
13352 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
13353 * include/grub/offsets.h: Rename decompressor fields from
13354 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
13355 * util/grub-mkimage.c (image_targets): Use new names.
13356
5fbdac14
VS
133572011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13358
13359 Defer multiboot device parsing until we're in compressed part.
13360
13361 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
13362 bsd_part. setdevice has fallen into disuse.
13363 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
13364 (bsd_part): Likewise.
13365 (boot_dev): New variable.
13366 (multiboot_trampoline): Don't parse multiboot device.
13367 Pass multiboot device in %edx.
13368 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
13369 grub_boot_device.
13370 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
13371 Likewise.
13372 * grub-core/kern/i386/pc/startup.S: Save edx.
13373 (grub_boot_drive): Removed.
13374 (grub_install_dos_part): Likewise.
13375 (grub_install_bsd_part): Likewise.
13376 (grub_boot_device): New variable.
13377 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
13378 (grub_install_bsd_part): Likewise.
13379 (grub_boot_drive): Likewise.
13380 (grub_boot_device): New variable.
13381 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
13382 Removed.
13383 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
13384 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
13385 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
13386 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
13387 * util/grub-install.in: Remove redundant condition.
13388
691cbb58
VS
133892011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13390
13391 Fix bug introduced by previous commit.
13392
13393 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
13394
60240b8b
VS
133952011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13396
13397 Use decompressors framework on i386-pc. It increases core size
13398 by 46 bytes but improves compatibility and maintainability.
13399
13400 * grub-core/Makefile.core.def (lzma_decompress): New image.
13401 (kernel): Add i386_pc_ldflags.
13402 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
13403 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
13404 to real_to_prot, prot_to_real and device info.
13405 * include/grub/offsets.h: Renamed decompressor offsets.
13406 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
13407 (image_target_desc): Remove raw_size and rename decompressor fields.
13408 (compress_kernel): Handle lzma.
13409 (generate_image): Handle decompressors on i386-pc.
13410
e9d3421c
VS
134112011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13412
13413 * configure.ac: Add -fno-asynchronous-unwind-tables.
13414
2b23074a
VS
134152011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13416
13417 Move assembly code to C by using intwrap. It increases core size
13418 by 88 bytes but improves compatibility and maintainability.
13419
13420 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
13421 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
13422 ... here. Translated to C.
13423 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
13424 * grub-core/term/i386/pc/console.c (grub_console_getkey):
13425 ... here. Translated to C.
13426 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
13427 * grub-core/term/i386/pc/console.c (grub_console_getxy):
13428 ... here. Translated to C.
13429 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
13430 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
13431 ... here. Translated to C.
13432 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
13433 * grub-core/term/i386/pc/console.c (grub_console_cls):
13434 ... here. Translated to C.
13435 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
13436 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
13437 ... here. Translated to C.
13438 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
13439 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
13440 Translated to C.
13441 * grub-core/term/i386/pc/console.c (int10_9): New function.
13442 (grub_console_putchar): Likewise.
13443 * include/grub/i386/pc/console.h: Removed the not anymore shared
13444 functions.
13445
678f4b67
VS
134462011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13447
13448 Move grub_chainloader_real_boot out of the kernel.
13449
13450 * grub-core/Makefile.am: Remove machine/loader.h.
13451 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
13452 Removed.
13453 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
13454 variable.
13455 (grub_relocator16_keep_a20_enabled): Likewise.
13456 (grub_relocator16_boot): Fill new variables.
13457 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
13458 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
13459 relocator.
13460 (grub_chainloader_unload): Likewise.
13461 (grub_chainloader_cmd): Likewise.
13462 * include/grub/i386/pc/loader.h: Removed.
13463 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
13464 and esi. All initialisers updated.
13465
4626edf6
VS
134662011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
134672011-11-12 Colin Watson <cjwatson@ubuntu.com>
13468
13469 * Makefile.util.def (grub-mount): New util.
13470 * .bzrignore: Add grub-mount.
13471 * configure.ac: Check for fuse and enable grub-mount if available.
13472 * docs/man/grub-mount.h2m: New file.
13473 * util/grub-mount.c: Likewise.
13474
10f0117b
VS
134752011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13476
13477 * grub-core/commands/efi/fixvideo.c: Gettextize.
13478 * grub-core/commands/hashsum.c: Likewise.
13479 * grub-core/commands/i386/cmostest.c: Likewise.
13480 * grub-core/commands/i386/pc/drivemap.c: Likewise.
13481 * grub-core/commands/i386/pc/lsapm.c: Likewise.
13482 * grub-core/commands/i386/pc/sendkey.c: Likewise.
13483 * grub-core/commands/lsmmap.c: Likewise.
13484 * grub-core/commands/menuentry.c: Likewise.
13485 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
13486 * grub-core/commands/setpci.c: Likewise.
13487 * grub-core/loader/i386/bsd.c: Likewise.
13488 * grub-core/loader/i386/linux.c: Likewise.
13489 * util/getroot.c: Likewise.
13490 * util/grub-editenv.c: Likewise.
13491 * util/grub-fstest.c: Likewise.
13492 * util/grub-mkfont.c: Likewise.
13493 * util/grub-mkimage.c: Likewise.
13494 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13495 * util/grub-pe2elf.c: Likewise.
13496 * util/grub-probe.c: Likewise.
13497 * util/grub-setup.c: Likewise.
13498 * util/ieee1275/ofpath.c: Likewise.
13499 * util/misc.c: Likewise.
13500 * util/raid.c: Likewise.
13501
566f779b
RM
135022011-11-11 Robert Millan <rmh@gnu.org>
13503
13504 * util/getroot.c (grub_util_get_geom_abstraction): Remove
13505 __attribute__((unused)) from `os_dev', which *is* being used.
13506
b50787de
VS
135072011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13508
13509 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
13510 forgotten define.
13511 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
13512 GRUB_IA64_DL_GOT_ALIGN.
13513 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
13514 GRUB_IA64_DL_TRAMP_ALIGN.
13515
119d11c8
VS
135162011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13517
13518 Replace grub_fatal with normal errors in i386 linux loader.
13519
13520 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
13521 (allocate_pages): Check find_efi_mmap_size return value.
13522 (grub_e820_add_region): Return error.
13523 (grub_linux_boot): Check mmap return value.
13524
6e0632e2
VS
135252011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13526
13527 * grub-core/commands/acpihalt.c: Gettextized.
13528 * grub-core/commands/cacheinfo.c: Likewise.
13529 * grub-core/commands/cmp.c: Likewise.
13530 * grub-core/commands/efi/loadbios.c: Likewise.
13531 * grub-core/commands/gptsync.c: Likewise.
13532 * grub-core/commands/ieee1275/suspend.c: Likewise.
13533 * grub-core/commands/legacycfg.c: Likewise.
13534 * grub-core/commands/memrw.c: Likewise.
13535 * grub-core/commands/minicmd.c: Likewise.
13536 * grub-core/commands/parttool.c: Likewise.
13537 * grub-core/commands/time.c: Likewise.
13538 * grub-core/commands/videoinfo.c: Likewise.
13539 * grub-core/disk/geli.c: Likewise.
13540 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
13541 * grub-core/disk/luks.c: Likewise.
13542 * grub-core/disk/lvm.c: Likewise.
13543 * grub-core/font/font_cmd.c: Likewise.
13544 * grub-core/fs/zfs/zfscrypt.c: Likewise.
13545 * grub-core/fs/zfs/zfsinfo.c: Likewise.
13546 * grub-core/gfxmenu/view.c: Likewise.
13547 * grub-core/kern/emu/hostdisk.c: Likewise.
13548 * grub-core/kern/emu/main.c: Likewise.
13549 * grub-core/kern/emu/misc.c: Likewise.
13550 * grub-core/kern/emu/mm.c: Likewise.
13551 * grub-core/kern/mips/arc/init.c: Likewise.
13552 * grub-core/kern/mips/loongson/init.c: Likewise.
13553 * grub-core/kern/partition.c: Likewise.
13554 * grub-core/lib/i386/halt.c: Likewise.
13555 * grub-core/lib/mips/arc/reboot.c: Likewise.
13556 * grub-core/lib/mips/loongson/reboot.c: Likewise.
13557 * grub-core/loader/i386/pc/chainloader.c: Likewise.
13558 * grub-core/loader/i386/xnu.c: Likewise.
13559 * grub-core/loader/multiboot.c: Likewise.
13560 * grub-core/net/bootp.c: Likewise.
13561 * grub-core/net/net.c: Likewise.
13562 * grub-core/normal/term.c: Likewise.
13563 * grub-core/partmap/bsdlabel.c: Likewise.
13564 * grub-core/parttool/msdospart.c: Likewise.
13565 * grub-core/term/gfxterm.c: Likewise.
13566 * grub-core/term/terminfo.c: Likewise.
13567 * grub-core/video/i386/pc/vbe.c: Likewise.
13568 * util/grub-menulst2cfg.c: Likewise.
13569 * util/grub-mkdevicemap.c: Likewise.
13570 * util/grub-mklayout.c: Likewise.
13571 * util/grub-mkrelpath.c: Likewise.
13572 * util/grub-script-check.c: Likewise.
13573 * util/ieee1275/grub-ofpathname.c: Likewise.
13574 * util/resolve.c: Likewise.
13575
073aa7a9
VS
135762011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13577
13578 Support %1$d syntax.
13579
13580 * tests/printf_unit_test.c: New file.
13581 * Makefile.util.def (printf_test): New test.
13582 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
13583
c76b5417
VS
135842011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13585
13586 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
13587 fix.
13588
df067ad1
VS
135892011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13590
13591 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
13592 dprintf.
13593 * grub-core/font/font.c (grub_font_load): Likewise.
13594
5b289bc5
VS
135952011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13596
13597 * util/grub-macho2img.c: Add comment concerning gettext.
13598 * grub-core/lib/legacy_parse.c: Likewise.
13599
c1860f87
VS
136002011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13601
13602 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
13603 (grub_xvasprintf): Likewise.
13604
d35d0d37
VS
136052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13606
13607 Add const keyword to grub_env_get and gettextize week days.
13608
13609 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
13610 (grub_read_hook_datetime): Return const char *.
13611 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
13612 updated.
13613 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
13614 Mark for gettext.
13615 (grub_get_weekday_name): Return const char *. Call gettext.
13616 * grub-core/script/argv.c (grub_script_argv_append): Receive const
13617 char * and len as the argument. All users updated.
13618 (grub_script_argv_split_append): Receive const char *.
13619 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
13620 * include/grub/env.h (grub_env_get): Likewise.
13621 (grub_env_read_hook_t): Return const char *.
13622 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
13623 (grub_script_argv_split_append): Likewise.
13624
9aed8a71
VS
136252011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13626
13627 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
13628
067fdf00
VS
136292011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13630
13631 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
13632 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
13633
a8bd9d39
VS
136342011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13635
13636 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
13637 Fix prototype.
13638
f7ce5baf
VS
136392011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13640
13641 Fix mips compilation.
13642
13643 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
13644 normal decoder.
13645 (hashes): Use in embed decoder as well (for sizes).
13646 (dec_stream_header): Fix embed decompressor logic.
13647 (dec_stream_footer): Likewise.
13648
9bb182f3
VS
136492011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13650
13651 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
13652 an error and not a fatal on unrecognised relocation types.
13653
63a9e6f6
VS
136542011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13655
13656 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
13657 Issue error rather than printf on unknown arguments.
13658
4c458569
VS
136592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13660
13661 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
13662 Make buf a const.
13663
e2d22baf
VS
136642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13665
13666 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
13667 Fix module name.
13668
53dc8590
VS
136692011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13670
13671 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
13672 leftover debug printf.
13673
6c189294
VS
136742011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13675
13676 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
13677
f7688369
VS
136782011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13679
13680 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
13681 A stylistic fix.
13682
11a775a3
VS
136832011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13684
13685 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
13686
33f784e8
SL
136872011-11-10 Shea Levy <slevy@tieronedesign.com>
13688
13689 Allow all modules to perform serial IO
13690
13691 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
13692 * include/grub/serial.h (grub_serial_port_configure): New inline
13693 function.
13694 (grub_serial_port_fetch): Likewise.
13695 (grub_serial_port_put): Likewise.
13696 (grub_serial_port_fini): Likewise.
13697 (grub_serial_find): New proto.
13698
f6276525
VS
136992011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13700
13701 Put symlink at the end of the node and fix a potential
13702 memory corruption.
13703
13704 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
13705 Make symlink into an array.
13706 (set_rockridge): Set have_symlink and alloc_dirents.
13707 (grub_iso9660_read_symlink): Use new layout.
13708 (grub_iso9660_iterate_dir): Fix memory corruption.
13709 Use new layout.
13710 (grub_iso9660_dir): Set have_symlink.
13711 (grub_iso9660_open): Likewise.
13712
c3591189
VS
137132011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13714
13715 Remove local keyword.
13716
13717 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
13718 (version_test_gt): Likewise.
13719 (version_find_latest): Likewise.
13720 (gettext_printf): Likewise.
13721 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
13722
cb544caa
VS
137232011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13724
13725 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
13726
45bd824d
VS
137272011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13728
13729 Fix ZFS memory and resource leaks.
13730
13731 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
13732 All users updated.
13733 Free type on exit.
13734 (fill_vdev_info): New parameter inserted. All users updated.
13735 (check_pool_label): Likewise.
13736 (scan_disk): Likewise.
13737 (scan_devices): Close non-inserted disks.
13738 (fzap_iterate): Free l.
13739 (unmount_device): Free children descripto memory.
13740
ad9a2f44
VS
137412011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13742
13743 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
13744 argument (access out of bounds).
13745
6b68db81
VS
137462011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13747
13748 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
13749 >= 6 drives.
13750
28840fda
VS
137512011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13752
13753 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
13754 Fix declaration.
13755
8a5a3a5b
VS
137562011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13757
13758 Fix several memory leaks.
13759
13760 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
13761 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
13762 (grub_cpio_dir): Likewise.
13763 * grub-core/fs/fat.c (grub_fat_label): Likewise.
13764 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
13765 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
13766 (grub_romfs_label): Likewise.
13767 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
13768 (squash_unmount): New function.
13769 (grub_squash_dir): Fix memory leak.
13770 (grub_squash_open): Likewise.
13771 (grub_squash_read): Likewise.
13772 (grub_squash_mtime): Likewise.
13773 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
13774 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
13775 * util/grub-fstest.c (fstest): Likewise.
13776
57b01250
VS
137772011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13778
13779 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
13780 avoid accessing beyond the array.
13781
19e81ba7
VS
137822011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13783
13784 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
13785
52b656c0
VS
137862011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13787
13788 Several AFFS fixes.
13789
13790 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
13791 (GRUB_AFFS_FLAG_FFS): Removed.
13792 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
13793 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
13794 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
13795 (grub_fshelp_node): Make block 32-bit.
13796 Add block_cache and last_block_cache.
13797 (grub_affs_read_block): Fill and use block cache.
13798 (grub_affs_read_file): Removed.
13799 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
13800 boot block.
13801 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
13802 safety.
13803 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
13804 space.
13805 (grub_affs_close): Free block cache.
13806 (grub_affs_read): Use grub_fshelp_read_file directly.
13807
438a746a
VS
138082011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13809
13810 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
13811 with no error set.
13812
49a45021
VS
138132011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13814
13815 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
13816 used variable.
13817 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
13818 Likewise.
13819
3ae17eb8
VS
138202011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13821
13822 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
13823
13824 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
13825 byteswap when needed.
13826
27610c38
VS
138272011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13828
13829 Fix FreeBSD compilation.
13830
13831 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
13832 to avoid circular dependency.
13833 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
13834 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
13835 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
13836
4a19b601
VS
138372011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13838
13839 Fix ZFS crypto error types.
13840
13841 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
13842 (grub_gcm_decrypt): Likewise.
13843 (grub_zfs_load_key_real): Fix error code type. Handle possible error
13844 from PBKDF2.
13845
958ee221
VS
138462011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13847
13848 Illumos support.
13849
13850 * Makefile.util.def (10_illumos): New script.
13851 * configure.ac: Set COND_HOST_ILLUMOS.
13852 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
13853 Support Illumos calls.
13854 (find_partition_start) [__sun__]: Likewise.
13855 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
13856 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
13857 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
13858 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
13859 device.
13860 * util/grub-probe.c (probe) [__sun__]: Do character check.
13861 * util/grub.d/10_illumos.in: New file.
13862
cac14fb6
VS
138632011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13864
13865 Support escaped commas in hostdisk.
13866
13867 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
13868 (find_grub_drive): Use unescape_cmp.
13869 (make_device_name): Escape commas.
13870
78e08dc3
VS
138712011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13872
13873 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
13874
9f421dd1
VS
138752011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13876
13877 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
13878 variable.
13879
ed64e9e2
VS
138802011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13881
13882 Support trampoline jumps on powerpc.
13883
13884 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
13885 __ia64__ path.
13886 (grub_dl_load_segments): Set mod->sz.
13887 (grub_dl_flush_cache): Flush whole space occupied by module, not just
13888 segments.
13889 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
13890 (jump): Likewise.
13891 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
13892 function.
13893 (trampoline): New struct.
13894 (trampoline_template): New const.
13895 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
13896 * include/grub/dl.h (grub_dl): Add sz element.
13897 [__powerpc__]: Follow __ia64__.
13898 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
13899 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
13900 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
13901 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
13902
3084ede4
VS
139032011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13904
13905 ZFS crypto support.
13906
13907 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
13908 * grub-core/Makefile.core.def (zfscrypt): New module.
13909 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
13910 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
13911 it. All users updated.
13912 (grub_zfs_decrypt): New var.
13913 (grub_zfs_load_key): Likewise.
13914 (zio_checksum_functions): Add SHA256+MAC.
13915 (zio_checksum_verify): Handle incomplete comparison due to MAC.
13916 (zio_read): Handle encrypted blocks.
13917 (zap_verify): Remove incorrect check.
13918 (fzap_iterate): Handle non-standard fzap.
13919 (zap_iterate): Likewise.
13920 (zap_iterate_u64): New function.
13921 (dnode_get_fullpath): Load keys.
13922 * grub-core/fs/zfs/zfscrypt.c: New file.
13923 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
13924 (grub_crypto_ecb_encrypt): Make input const.
13925 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
13926 (grub_crypto_ecb_encrypt): Make input const.
13927 (GRUB_CIPHER_AES): New macro.
13928 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
13929 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
13930 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
13931 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
13932 prefix. All users updated.
13933 (grub_zfs_add_key): New proto.
13934 (grub_zfs_decrypt): Likewise.
13935 (grub_zfs_load_key): Likewise.
13936 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
13937 * util/grub-fstest.c (options): Add -K option.
13938 (argp_parser): Likewise.
13939
b632b404
VS
139402011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
13941
13942 Support zle compression on ZFS.
13943
13944 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
13945 (decomp_table): Add zle.
13946 * include/grub/zfs/zio.h (zio_compress): Add zle.
13947
c7ba4f69
VS
139482011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
13949
13950 Support BtrFS embedding.
13951
13952 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
13953 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
13954 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
13955 * util/grub-setup.c (setup): Use fs embedding if available.
13956 Add additional sanity check.
13957
455377d9
VS
139582011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
13959
13960 * util/grub-install.in: Fix condition for config_opt.
13961
c2fd16ca
VS
139622011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13963
13964 Support third redundancy strip on raidz3.
13965
13966 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
13967 Return error on singularity. All users updated.
13968 (read_device): Don't stop on 3rd failure on raidz3.
13969
8622923b
VS
139702011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13971
13972 Support case-insensitive ZFS subvolumes.
13973
13974 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
13975 All users updated.
13976 (zap_hash): Likewise.
13977 (name_cmp): New function.
13978 (zap_leaf_array_equal): New parameter case_insensitive.
13979 All users updated.
13980 (zap_leaf_lookup): Likewise.
13981 (fzap_lookup): Likewise.
13982 (zap_lookup): Likewise.
13983 (dnode_get_path): New parameter case_insensitive. Retrieve case
13984 sensitiviness of a volume. All users updated.
13985 (dnode_get_fullpath): New parameter case_insensitive.
13986 All users updated.
13987 (grub_zfs_dir): Set info.case_insensitiveness.
13988
95f2e860
VS
139892011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13990
13991 Support second redundancy strip on raidz(2,3).
13992
13993 * grub-core/fs/zfs/zfs.c (powx): New array.
13994 (powx_inv): Likewise.
13995 (poly): New const.
13996 (xor_out): New function.
13997 (gf_mul): Likewise.
13998 (recovery): Likewise.
13999 (read_device): Use second redundancy strip.
14000
11ee4389
VS
140012011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14002
14003 Use a power of generator representation of GF(256) multiplication group
14004 to save space time and complexity.
14005
14006 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
14007 (raid6_table2): Likewise.
14008 (powx): New array.
14009 (powx_inv): Likewise.
14010 (poly): New const.
14011 (grub_raid_block_mul): Replace with ...
14012 (grub_raid_block_mulx): ...this.
14013 (grub_raid6_init_table): Rewritten.
14014 (grub_raid6_recover): Use power of generator representation.
14015
09e2763f
VS
140162011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14017
14018 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
14019 for the right device.
14020
8bec9a28
VS
140212011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14022
14023 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
14024 expected by grub-mkimage and it's more clear since there is no implicit
14025 padding.
14026
dbd3a32e
VS
140272011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14028
14029 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
14030 disk.
14031 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
14032
182c872a
PMH
140332011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
14034
14035 * util/grub-mkrescue.in: Fix handling xorriso option.
14036
1e51cabd
VS
140372011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14038
14039 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
14040 NULL.
14041
9cc3581d 140422011-11-03 crocket <crockabiscuit@gmail.com>
14043
14044 * util/grub.d/10_linux.in: Add Slackware initrd naming.
14045
158dc1ea
VS
140462011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14047
14048 XZ CRC64 and SHA256 support.
14049
14050 * Makefile.util.def (libgrubmods): Add crc64.c.
14051 * grub-core/Makefile.core.def (crc64): New module.
14052 * grub-core/lib/crc64.c: New file.
14053 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
14054 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
14055 Fix the type.
14056 (MAX_HASH_SIZE): New define.
14057 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
14058 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
14059 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14060 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14061 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
14062 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
14063 Handle non-crc32 hashes.
14064 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
14065 (dec_stream_header): Handle non-crc32 hashes.
14066 (dec_stream_footer): Likewise.
14067 (dec_block_header): Likewise.
14068 (dec_main): Likewise.
14069 (xz_dec_init): Likewise.
14070 (xz_dec_reset): Likewise.
14071 (xz_dec_end): Likewise.
14072 * util/import_gcry.py: Add CRC64 line.
14073
9d9b3d2f
VS
140742011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14075
14076 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
14077 as well.
14078
7d0ac931
VS
140792011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14080
14081 Make reiserfs label retrieval similar to other *_label functions.
14082
14083 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
14084 (REISERFS_MAX_LABEL_LENGTH): Removed.
14085 (REISERFS_LABEL_OFFSET): Likewise.
14086 (grub_reiserfs_label): Rewritten.
14087
140882011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14089
14090 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
14091 field.
14092
cf5ba824
VS
140932011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14094
14095 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
14096
17744004
VS
140972011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
14098
14099 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
14100 drive failure on both raidz and raidz2.
14101
aca5aefc
VS
141022011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
14103
14104 Fix RAIDZ(2) for >= 5 devices.
14105
14106 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
14107 asize argument. All users updated.
14108
ce8ca56e
VS
141092011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14110
14111 Fix RAIDZ(2).
14112
14113 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
14114 (fill_vdev_info_real): Set ashift.
14115 (read_device): Rewrite RAIDZ part based on reverse engineering.
14116
7c01e783
VS
141172011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14118
14119 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
14120 don't report potentially unavialiable fields in debug output.
14121 (find_path): Fix double-free and memory leak.
14122
ce109e84
VS
141232011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14124
14125 Read label on UFS1.
14126
14127 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
14128 (grub_ufs_fs): Always set .label.
14129
87661123
VS
141302011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14131
14132 Use shifts in UFS.
14133
14134 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
14135 (grub_ufs_data): New field log2_blksz.
14136 (grub_ufs_read_file): Use shifts.
14137 (grub_ufs_mount): Check block size and logarithm it.
14138
46bc1dc2
VS
141392011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14140
14141 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
14142 long symlinks.
14143
19ee2987
VS
141442011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14145
14146 Handle symlinks and long names on tar and cpio.
14147
14148 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
14149 (ATTR_FILE): Likewise.
14150 (ATTR_DIR): Likewise.
14151 (ATTR_LNK): Likewise.
14152 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
14153 (grub_cpio_find_file): Fill mode, handle linkname field as well as
14154 L and K entries.
14155 (grub_cpio_mount): Zero-fill data.
14156 (handle_symlink): New function.
46bc1dc2
VS
14157 (grub_cpio_dir): Handle symlinks.
14158 (grub_cpio_open): Likewise.
14159 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 14160
c83a08d8
VS
141612011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14162
14163 Fix iso9660 filename limitations and fix memory leaks.
14164
14165 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
14166 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
14167
45cdd3ea
VS
141682011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14169
14170 Fix JFS file name length limitations.
14171
14172 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
14173 (grub_jfs_diropen): Fix maximum filename length.
14174 (grub_jfs_getent): Fix filename length.
14175 (grub_jfs_lookup_symlink): Fix size checks.
14176
94ef05c2
VS
141772011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14178
14179 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
14180 string.
14181
785ab8c7
VS
141822011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14183
eb0b6b45
VS
14184 Leverage BFS implementation to read AFS.
14185
14186 * Makefile.util.def (libgrubmods): Add afs.c.
14187 * grub-core/Makefile.core.def (afs): New module
14188 * grub-core/fs/afs.c: New file.
14189 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
14190
141912011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14192
14193 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 14194
c4a1628f
VS
141952011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14196
14197 * grub-core/fs/bfs.c: Run indent.
14198
5825b379
VS
141992011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14200
14201 BFS implementation based on the specification.
14202
14203 * grub-core/fs/bfs.c: New file.
14204 * Makefile.util.def (libgrubmods): Add bfs.c.
14205 * grub-core/Makefile.core.def (bfs): New module.
14206
42b2a706
VS
142072011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14208
14209 * util/grub-fstest.c (cmd_cp): Clarify error message.
14210 (cmd_cmp): Likewise.
14211
61b99bfc
YB
142122011-10-30 Yves Blusseau <blusseau@zetam.org>
14213
14214 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
14215 and befs_be.
14216
faba3d16
VS
142172011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
14218
14219 Remove afs and befs because of copyright problem.
14220
14221 * grub-core/fs/afs.c: Removed.
14222 * grub-core/fs/afs_be.c: Removed.
14223 * grub-core/fs/befs.c: Removed.
14224 * grub-core/fs/befs_be.c: Removed.
14225 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
14226 * grub-core/Makefile.core.def (afs): Removed.
14227 (afs_be): Likewise.
14228 (befs): Likewise.
14229 (befs_be): Likewise.
14230
c39224b0
VS
142312011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14232
14233 Prefer rockridge over Joliet.
14234
14235 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
14236 to ...
14237 (set_rockridge): ... here.
14238 (grub_iso9660_mount): Check rockridge on the primary label when
14239 discovering. Ignore Joliet if Rockridge is present.
14240
e551115a
VS
142412011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14242
14243 Use shifts in nilfs2.
14244
14245 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
14246 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
14247 (grub_nilfs2_palloc_entries_per_group): Replace with ...
14248 (grub_nilfs2_log_palloc_entries_per_group): ... this.
14249 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
14250 (grub_nilfs2_entries_per_block): Replaced with ...
14251 (grub_nilfs2_log_entries_per_block_log): ... this.
14252 (grub_nilfs2_blocks_per_group): Replaced with ...
14253 (grub_nilfs2_blocks_per_group_log): ... this.
14254 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
14255 (grub_nilfs2_blocks_per_desc_block_log): ... this.
14256 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
14257 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
14258 (grub_nilfs2_palloc_entry_offset): Replaced ...
14259 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
14260 (grub_nilfs2_dat_translate): Use shifts.
14261 (grub_nilfs2_read_inode): Likewise.
14262 (GRUB_MOD_INIT): Ensure that logs are correct.
14263
564dd58c
VS
142642011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14265
14266 Use shifts in minix filesystem.
14267
14268 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
14269 (GRUB_MINIX_ZONE2SECT): Likewise.
14270 (grub_minix_data): Replace block_size with log_block_size.
14271 (grub_minix_read_file): Use shifts.
14272 (grub_minix_mount): Check block size and take a logarithm.
14273
ed9ba06d
VS
142742011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14275
14276 Use shifts in squash4.
14277
14278 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
14279 (squash_mount): Check block size and take logarithm.
14280 (direct_read): Use shifts.
14281
ad03fe76
VS
142822011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14283
14284 Correct befs block counting logic.
14285
14286 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
14287 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
14288 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
14289 (grub_afs_read_inode): Use block_shift.
14290 (RANGE_SHIFT): New definition.
14291 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
14292 unexpected conditions, use shifts and appropriate types.
14293 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
14294
6563f63d
VS
142952011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14296
14297 * grub-core/disk/raid.c (scan_devices): Check partition.
14298 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
14299
5b1ae25f
VS
143002011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
14301
14302 Support BFS (befs) UUID.
14303
14304 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
14305 (grub_afs_small_data_element_header): New struct.
14306 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
14307 (grub_afs_read_attribute) [MODE_BFS]: New function.
14308 (grub_afs_iterate_dir): Allocate for complete inode.
14309 (grub_afs_mount): Likewise.
14310 (grub_afs_uuid) [MODE_BFS]: New function.
14311 (grub_afs_fs) [MODE_BFS]: Add .uuid.
14312
f8d82408
VS
143132011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
14314
14315 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
14316 (zfs_unmount): Fix memory leak.
14317
5773fb64
VS
143182011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14319
14320 Support NTFS reparse points.
14321
14322 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
14323 (symlink_descriptor): New struct.
14324 (grub_ntfs_read_symlink): New function.
14325 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
14326 (grub_ntfs_open): Likewise.
14327
91c3fdde
VS
143282011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14329
14330 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
14331
3be82e10
VS
143322011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14333
14334 fstest xnu_uuid subcommand.
14335
14336 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
14337 grub-core/commands/xnu_uuid.c.
14338 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
14339 (fstest): Handle xnu_uuid.
14340 (options): Document xnu_uuid.
14341 (argp_parser): Parse xnu_uuid.
14342
8e32442e
VS
143432011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14344
14345 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
14346 -l argument. Add newline at the end if printing.
14347 (GRUB_MOD_INIT): Document -l.
14348
52a05075
VS
143492011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14350
14351 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
14352
1869edb5
VS
143532011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14354
14355 ZFS multi-device and version 33 support.
14356
14357 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
14358 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
14359 (grub_zfs_data): Add multidev-ice-related fields.
14360 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
14361 (dva_get_offset): Make dva const.
14362 (zfs_fetch_nvlist): New function.
14363 (fill_vdev_info_real): Likewise.
14364 (fill_vdev_info): Likewise.
14365 (check_pool_label): Likewise.
14366 (scan_disk): Likewise.
14367 (scan_devices): Likewise.
14368 (read_device): Likewise.
14369 (read_dva): Likewise.
14370 (zio_read_gang): Use read_dva.
14371 (zio_read_data): Likewise.
14372 (zap_leaf_lookup): Add missing endian conversion.
14373 (zap_verify): Add missing endian conversion. All users updated.
14374 (fzap_lookup): Likewise.
14375 (fzap_iterate): Likewise.
14376 (dnode_get_path): Handle SA bonus.
14377 (nvlist_find_value): Make input const. All users updated.
14378 (unmount_device): New function.
14379 (zfs_unmount): Use unmount_device.
14380 (zfs_mount): Use scan_disk.
14381 (zfs_mtime): New function.
14382 (grub_zfs_open): Handle system attributes.
14383 (fill_fs_info): Likewise.
14384 (grub_zfs_dir): Likewise.
14385 (grub_zfs_fs): Add mtime.
14386 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
14387 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
14388 (SA_MTIME_OFFSET): Likewise.
14389 (SA_SYMLINK_OFFSET): Likewise.
14390 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
14391 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
14392 (fstest): Support zfsinfo.
14393 (argp_parser): Likewise.
14394
186b4028
VS
143952011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14396
14397 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
14398 error.
14399
144002011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
14401
14402 ZFS fixes.
14403
14404 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
14405 sharing the same block. Iterate over correct number of indices.
14406 (dnode_get_path): Handle symlinks correctly.
14407
c0584900
VS
144082011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14409
14410 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
14411
67e2bd71
VS
144122011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14413
14414 Read label on HFS+.
14415
14416 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
14417 (grub_hfsplus_btree_search): Fix types.
14418 (grub_hfsplus_label): Implement.
14419
e9cc6b7b
VS
144202011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14421
14422 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
14423
19832ddb
VS
144242011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14425
14426 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
14427
66b40850
VS
144282011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14429
14430 Fix symlink handling on iso9660.
14431
14432 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
14433 All users updated.
14434 (grub_iso9660_susp_iterate): Accept zero-size iterate.
14435 (grub_iso9660_read_symlink): Moved most of code ...
14436 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
14437
db821363
VS
144382011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14439
14440 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
14441 Use union to avoid breaking strict-aliasing rules.
14442
e1211949
VS
144432011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14444
14445 Support multi-extent iso files.
14446
14447 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
14448 Add node.
14449 (grub_fshelp_node): Revamp. All users updated.
14450 (FLAG_*): New enum.
14451 (read_node): New function.
14452 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
14453 All users updated.
14454 (grub_iso9660_mount): Don't attempt to read sua when there is none.
14455 (get_node_size): New function.
14456 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
14457 entries.
14458 Fix memory leak on . and ..
14459 (grub_iso9660_read): Use read_node.
14460 (grub_iso9660_close): Free node.
14461
d4888031
VS
144622011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14463
14464 Fix tar 4G limit and handle paths containing dot.
14465
14466 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
14467 (canonicalize): New function.
14468 (grub_cpio_find_file): Use canonicalize. Store offs in
14469 grub_disk_addr_t.
14470 (grub_cpio_dir): Use grub_disk_addr_t.
14471 (grub_cpio_open): Likewise.
14472
9f12e664
VS
144732011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14474
14475 Fix handling of uncompressed blocks on squashfs and break 4G limit.
14476
14477 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
14478 unused flags.
14479 (grub_squash_inode): Add long_file and block_size.
14480 (grub_squash_cache_inode): New struct.
14481 (grub_squash_dirent): Make types into enum.
14482 (SQUASH_TYPE_LONG_REGULAR): New type.
14483 (grub_squash_frag_desc): Add field size.
14484 (SQUASH_BLOCK_FLAGS): New enum.
14485 (grub_squash_data): Use grub_squash_cache_inode.
14486 (grub_fshelp_node): Make ino_chunk 64-bit.
14487 (read_chunk): Minor argument change. All users updated.
14488 (squash_mount): Use correct le_to_cpu.
14489 (grub_squash_open): Handle LONG_REGULAR.
14490 (direct_read): New function.
14491 (grub_squash_read_data): Handle blocks correctly.
14492
9f326fba
VS
144932011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14494
14495 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
14496
f4d9b64b
VS
144972011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14498
14499 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
14500
5bbd28b8
VS
145012011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
14502
14503 Fix 2G limit on ZFS.
14504
14505 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
14506 types.
14507 (uberblock_verify): Likewise.
14508 (dmu_read): Likewise.
14509 (grub_zfs_read): Likewise. Remove invalid cast.
14510
68c72069
VS
145112011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
14512
14513 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
14514 (grub_jfs_blkno): Fix incorrect shift.
14515 (grub_jfs_read_file): Use more appropriate types.
14516
6e536dc8
VS
145172011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
14518
14519 Support triple indirect on minix2 and minix3.
14520
14521 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
14522 Declare triple_indir_zone.
14523 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
14524 indirect.
14525
e0864e7a
VS
145262011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
14527
14528 Minix FS fixes.
14529
14530 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
14531 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
14532 Rename ctime to mtime. All users updated.
14533 (grub_minix_get_file_block): Fix types and double indirect computations.
14534
89481cab
VS
145352011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14536
14537 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
14538 if no label is found.
14539 (grub_fat_iterate_dir): Fix file size type.
14540 (grub_fat_iterate_dir): Likewise.
14541
f646e143
VS
145422011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14543
14544 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
14545 save some space.
14546 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
14547 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
14548
534d769e
VS
145492011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14550
14551 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
14552
e084ba18
VS
145532011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14554
14555 * util/import_gcry.py: Accept space between # and include.
14556
3471ecdf
VS
145572011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14558
14559 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
14560
124df5f6
VS
145612011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14562
14563 Fine grainely disable warnings on lexer. Remove Wno-error on it.
14564
14565 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
14566 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
14567 yylex_strncpy.
14568 * grub-core/script/yylex.l: Add fine-grained #pragma.
14569
4defb8d5
VS
145702011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14571
14572 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
14573 New inline function.
14574 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
14575 Likewise.
14576 (memset) [GRUB_UTIL]: Likewise.
14577 (memcmp) [GRUB_UTIL]: Likewise.
14578
4e94ae65
VS
145792011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14580
14581 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
14582 inline function rather than a define.
14583
18c575e5
VS
145842011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14585
14586 * util/grub-setup.c: Add missing include.
14587
f8bc22a8
VS
145882011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14589
14590 * util/ieee1275/grub-ofpathname.c: Add missing include.
14591
3ce69fc9
VS
145922011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14593
14594 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
14595 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
14596 Likewise.
14597
d1e293bb
VS
145982011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14599
14600 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
14601 grub_memcmp usage.
14602
7a5c54a4
VS
146032011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14604
14605 * util/grub-install.in: Add datarootdir as per automake manual
14606 suggestion.
14607 * util/grub-mknetdir.in: Likewise.
14608
146092011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
14610
14611 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
14612 suggestion.
14613 * util/grub.d/10_kfreebsd.in: Likewise.
14614 * util/grub.d/10_linux.in: Likewise.
14615 * util/grub.d/10_netbsd.in: Likewise.
14616 * util/grub.d/10_windows.in: Likewise.
14617 * util/grub.d/20_linux_xen.in: Likewise.
14618
766f7d08
VS
146192011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
14620
14621 Remove redundant grub_kernel_image_size.
14622
14623 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
14624 _edata and _start.
14625 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
14626 the small code. It moves it only by few bytes but simplifies the code.
14627 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
14628 _start.
14629 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
14630 (grub_kernel_image_size): Removed.
14631 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
14632 (grub_kernel_image_size): Removed.
14633 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
14634 compiled with Apple toolchain.
14635 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
14636 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
14637 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
14638 (grub_total_module_size): Likewise.
14639 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
14640 Removed.
14641 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
14642 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
14643 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
14644 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
14645 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
14646 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
14647 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
14648 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
14649 Removed.
14650 (grub_total_module_size): Removed.
14651 * util/grub-mkimage.c (image_target_desc): Remove image_size.
14652 (image_targets): Likewise.
14653 Set .compressed_size to no field on sparc.
14654 (generate_image): Remove kernel_image_size handling.
14655
fcf1d672
SJ
146562011-10-19 Szymon Janc <szymon@janc.net.pl>
14657
14658 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
14659 NULL pointer dereference.
14660
de9c615e
VS
146612011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14662
14663 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
14664 done with a dedicated section.
14665
14666 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
14667 Ensure the correct position of boot_path.
14668 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
14669 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
14670 other fields.
14671 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
14672 * include/grub/boot.h: Removed. All references removed.
14673 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
14674 Removed.
14675 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
14676
e55599dc
VS
146772011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14678
14679 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
14680 name.
14681
36dd20ad
VS
146822011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14683
14684 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
14685
f8f72eb8
VS
146862011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14687
14688 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
14689 Don't add the bogus brackets.
14690
a374751b
VS
146912011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14692
14693 ExFAT support.
14694
14695 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
14696 * grub-core/Makefile.core.def (exfat): New module.
14697 * grub-core/fs/exfat.c: New file.
14698 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
14699 (GRUB_FAT_ATTR_*): Make into an enum.
14700 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
14701 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
14702 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
14703 (GRUB_FAT_MAXFILE): Removed.
14704 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
14705 (grub_current_fat_bpb_t): New type.
14706 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
14707 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
14708 (grub_fat_dir_node_t): New type.
14709 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
14710 (fat_log2) [MODE_EXFAT]: Removed.
14711 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
14712 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
14713 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
14714 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
14715 (grub_fat_label) [MODE_EXFAT]: New function.
14716 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
14717 reserved_first_sector to 0.
14718
544c2487
VS
147192011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14720
14721 Move grub_reboot out of the kernel.
14722
14723 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
14724 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
14725 * grub-core/lib/efi/reboot.c: ... here.
14726 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
14727 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
14728 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
14729 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
14730 * grub-core/lib/i386/reboot_trampoline.S: ... here.
14731 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
14732 * grub-core/lib/ieee1275/reboot.c: ... here.
14733 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
14734 * grub-core/lib/mips/arc/reboot.c: ... here.
14735 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
14736 * grub-core/lib/mips/loongson/reboot.c: ...here.
14737 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
14738 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
14739 * include/grub/emu/misc.h (grub_reboot): New function declaration.
14740 * include/grub/i386/reboot.h: New file.
14741 * include/grub/mips/loongson/ec.h: Fix includes.
14742 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
14743 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
14744 * grub-core/lib/i386/reboot.c: New file.
14745
a97501d2
VS
147462011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
14747
14748 Make grub_prefix into module to fix the arbitrary limit and save
14749 some space.
14750
14751 * grub-core/kern/emu/main.c (grub_prefix): Removed.
14752 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
14753 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
14754 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
14755 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
14756 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
14757 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
14758 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
14759 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
14760 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
14761 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
14762 * include/grub/ia64/efi/kernel.h: Removed.
14763 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
14764 (grub_prefix): Removed.
14765 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
14766 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
14767 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
14768 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
14769 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
14770 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
14771 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
14772 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
14773 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
14774 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
14775 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
14776 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
14777 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
14778 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
14779 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
14780 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
14781 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
14782 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
14783 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
14784 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
14785 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
14786 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
14787 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
14788 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
14789 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
14790 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
14791 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
14792 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
14793 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
14794 from module.
14795 * util/grub-mkimage.c (image_target_desc): Removed prefix and
14796 prefix_end.
14797 (image_targets): Likewise.
14798 (generate_image): Put prefix as a module.
14799
39705fad
VS
148002011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14801
14802 Replace grub_module_iterate with FOR_MODULES.
14803
14804 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
14805 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
14806 (grub_efi_modules_addr): ...this.
14807 * grub-core/kern/efi/init.c (grub_modbase): New variable.
14808 (grub_efi_init): Set grub_modbase.
14809 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
14810 (grub_modbase): New variable.
14811 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
14812 (grub_modbase): New variable.
14813 (grub_machine_init): Set grub_modbase.
14814 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
14815 (grub_modbase): New variable.
14816 (grub_machine_init): Set grub_modbase.
14817 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
14818 (grub_modbase): New variable.
14819 (grub_machine_init): Set grub_modbase.
14820 * grub-core/kern/main.c (grub_module_iterate): Remove.
14821 (grub_modules_get_end): Use grub_modbase.
14822 (grub_load_modules): Use FOR_MODULES.
14823 (grub_load_config): Likewise.
14824 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
14825 (grub_modbase): New variable.
14826 (grub_machine_init): Set grub_modbase.
14827 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
14828 (grub_modbase): New variable.
14829 (grub_machine_init): Set grub_modbase.
14830 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
14831 Removed.
14832 (grub_modbase): New variable.
14833 (grub_machine_init): Set grub_modbase.
14834 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
14835 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
14836 (grub_module_iterate): Likewise.
14837 (grub_modbase): New variable declaration.
14838 (FOR_MODULES): New macro.
14839
2afb7f6c
VS
148402011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14841
14842 * configure.ac: Check for __ctzdi2 and __ctzsi2.
14843 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
14844
366e34fa
VS
148452011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14846
14847 Fix few obvious type discrepancies.
14848
14849 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
14850 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
14851 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
14852 variable.
14853 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
14854 and connected types.
14855 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
14856 offset.
14857 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
14858 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
14859 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
14860 and connected types.
14861
177b960e
VS
148622011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14863
14864 Fix python 3.x incompatibilities.
14865
14866 * gentpl.py: Put brackets around print strings.
14867 * util/import_gcry.py: Open explicitly as utf-8.
14868 Use in instead of has_key.
14869
3b619ae1
VS
148702011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14871
14872 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
14873 (GRUB_XFS_INO_AGBITS): Make into inline function.
14874 (GRUB_XFS_INO_INOINAG): Likewise.
14875 (GRUB_XFS_INO_AG): Likewise.
14876 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
14877 (GRUB_XFS_EXTENT_OFFSET): Likewise.
14878 (GRUB_XFS_EXTENT_BLOCK): Likewise.
14879 (GRUB_XFS_EXTENT_SIZE): Likewise.
14880 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
14881 (GRUB_XFS_NEXT_DIRENT): Likewise.
14882 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
14883 (grub_xfs_read_file): Fix offset type.
14884
8bcebcb8
RM
148852011-10-15 Robert Millan <rmh@gnu.org>
14886
14887 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
14888
0017e5ef
RM
148892011-10-15 Robert Millan <rmh@gnu.org>
14890
14891 Fix build problem on FreeBSD and GNU/kFreeBSD.
14892
14893 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
14894
d8919552
VS
148952011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14896
14897 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
14898
14899 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
14900 types.
14901 (grub_hfsplus_btree_recoffset): Likewise.
14902 (grub_hfsplus_btree_recptr): Likewise.
14903 (grub_hfsplus_find_block): Likewise.
14904 (grub_hfsplus_btree_search): Likewise.
14905 (grub_hfsplus_read_block): Likewise.
14906 (grub_hfsplus_read_file): Likewise.
14907 (grub_hfsplus_mount): Likewise.
14908 (grub_hfsplus_btree_iterate_node): Likewise.
14909 (grub_hfsplus_btree_search): Likewise.
14910 (grub_hfsplus_iterate_dir): Likewise.
14911 (grub_hfsplus_read): A small code simplification.
14912
c81296b6
VS
149132011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14914
14915 * grub-core/kern/emu/hostdisk.c
14916 (convert_system_partition_to_system_disk): Don't assume that children
14917 of mapper nodes are mapper nodes.
14918
0eb8ffb1
VS
149192011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14920
14921 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
14922 * include/grub/misc.h (grub_isxdigit): New function.
14923 * grub-core/video/colors.c (my_isxdigit): Removed. All users
14924 switched to grub_isxdigit.
14925 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
14926 number starting with a letter.
14927
a98f4a08
RM
149282011-10-09 Robert Millan <rmh@gnu.org>
14929
14930 LVM support for FreeBSD and GNU/kFreeBSD.
14931
14932 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
14933 GNU/kFreeBSD.
14934 (LVM_DEV_MAPPER_STRING): Move from here ...
14935 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
14936 * util/getroot.c: Include `<grub/util/lvm.h>'.
14937 (grub_util_get_dev_abstraction): Enable
14938 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
14939 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
14940 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
14941 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
14942 support it.
14943 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
14944 GNU/kFreeBSD.
14945 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
14946 when LVM abstraction is required for ${GRUB_DEVICE}.
14947
050e8e90
SJ
149482011-10-06 Szymon Janc <szymon@janc.net.pl>
14949
14950 Add support for LZO compression in GRUB:
14951 - import of minilzo library,
14952 - LZO decompression for btrfs,
14953 - lzop files decompression.
14954
14955 * grub-core/io/lzopio.c: New file.
14956 * grub-core/lib/adler32.c: Likewise.
14957 * grub-core/lib/minilzo/lzoconf.h: Likewise.
14958 * grub-core/lib/minilzo/lzodefs.h: Likewise.
14959 * grub-core/lib/minilzo/minilzo.c: Likewise.
14960 * grub-core/lib/minilzo/minilzo.h: Likewise.
14961 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
14962 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
14963 grub-core/lib/minilzo/minilzo.c to common.
14964 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
14965 cflags in cppflags.
14966 * grub-core/Makefile.core.def (btrfs): Likewise.
14967 * grub-core/Makefile.core.def (lzopio): New module.
14968 (adler32): Likewise.
14969 * grub-core/fs/btrfs.c: Include minilzo.h.
14970 (GRUB_BTRFS_COMPRESSION_LZO): New define.
14971 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
14972 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
14973 (grub_btrfs_lzo_decompress): New function.
14974 (grub_btrfs_extent_read): Add support for LZO compression type.
14975 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
14976 (GRUB_USHRT_MAX): Likewise.
14977 (GRUB_UINT_MAX): Likewise.
14978 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
14979 (UINT_MAX): Likewise.
14980 (CHAR_BIT): Likewise.
14981 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
14982 grub-core/lib/posix_wrap/limits.h
14983 (UCHAR_MAX): Likewise.
14984 * include/grub/file.h (grub_file_filter_id): New compression filter
14985 GRUB_FILE_FILTER_LZOPIO.
14986 * include/grub/file.h (grub_file_filter_id): Set
14987 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
14988 * include/grub/types.h (grub_get_unaligned16): New function.
14989 (grub_get_unaligned32): Likewise.
14990 (grub_get_unaligned64): Likewise.
14991 * util/import_gcry.py (cryptolist): Add adler32.
14992
0eb8ffb1
VS
149932011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
14994
14995 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
14996 in perspective decreases the complexity of build system and fixes
14997 compilation right now.
14998
ce79cc99 149992011-10-01 Ales Nesrsta <starous@volny.cz>
15000
15001 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
15002 (fixed problem related to using UHCI with coreboot).
15003
8667a314
BC
150042011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
15005
15006 * gentpl.py: Use Autogen macros so that the output template file
15007 (Makefile.tpl) size is reduced.
15008
fc5efcc0
MK
150092011-09-29 Mads Kiilerich <mads@kiilerich.com>
15010
15011 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
15012 extra_dist.
15013
d1ab689d
ML
150142011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15015
15016 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
15017 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
15018
c05de032
ML
150192011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15020
15021 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
15022 _fullpath.
15023
cca7ccd8
ML
150242011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15025
15026 Remove extra declaration of sleep for mingw32.
15027
15028 * util/misc.c (sleep) [__MINGW32__]: Removed.
15029 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
15030
e0b0dc83
GS
150312011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
15032
15033 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
15034 type and packname.
15035 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
15036 Resurrected.
15037 (NETBSD_BTINFO_BOOTWEDGE): New definition.
15038 (grub_netbsd_btinfo_bootwedge): New struct.
15039 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15040 New function.
15041 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
15042
91a1a164
TH
150432011-09-28 Thomas Haller <thomas.haller@fen-net.de>
15044
15045 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
15046 loader.
15047
2ded951e
AB
150482011-09-28 Andreas Born <futur.andy@googlemail.com>
15049
15050 Fix incorrect identifiers in bash-completion.
15051
15052 * util/bash-completion.d/grub-completion.bash.in
15053 (_grub_mkpasswd-pbkdf2): Rename to ...
15054 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
15055 (_grub_script-check): Rename to ...
15056 (_grub_script_check): ... this. All users updated.
15057
69915030
VS
150582011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
15059
15060 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
15061 Return 0 if disk isn't biosdisk.
15062
20fd15f9
GS
150632011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15064
15065 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
15066 on NetBSD.
15067 * Makefile.util.def (grub-fstest): Likewise.
15068
1a7d7db9
GS
150692011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15070
15071 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
15072 Get sector size from disk label.
15073
2221ab6c
CW
150742011-09-05 Colin Watson <cjwatson@ubuntu.com>
15075
15076 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
15077 */README* as well as README*.
15078 Reported by: Axel Beckert.
15079
ca51c4a0
VS
150802011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15081
15082 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
15083 case of less than 256 MiB of RAM.
15084
ab80f326
VS
150852011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15086
15087 * grub-core/commands/wildcard.c (make_regex): Handle @.
15088
4155e697
VS
150892011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15090
15091 * util/grub-install.in: Move cryptodisk logic to appropriate place.
15092
ab178c08
SJ
150932011-08-21 Szymon Janc <szymon@janc.net.pl>
15094
15095 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
15096 AC_LANG_CONFTEST macros.
15097
7dc3c686
SJ
150982011-08-20 Szymon Janc <szymon@janc.net.pl>
15099
15100 Add grub-fstest option to uncompress data for commands.
15101
15102 * util/grub-fstest.c (uncompress): New var.
15103 (options): New option -u.
15104
fe8d4a7b
SJ
151052011-08-20 Szymon Janc <szymon@janc.net.pl>
15106
15107 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
15108 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
15109
a5219af1
SJ
151102011-08-20 Szymon Janc <szymon@janc.net.pl>
15111
15112 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
15113 file type was not recognized correctly (not gzip or corrupted).
15114
f87abff5
VS
151152011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15116
15117 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
15118 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
15119
d94497ea
VS
151202011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15121
15122 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
15123 loongson.
15124 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
15125 video_radeon_fuloong2e.
15126 * grub-core/video/radeon_fuloong2e.c: New file.
15127 * include/grub/video.h (grub_video_id_t): Add new ID
15128 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
15129
0d1fd011
VS
151302011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15131
15132 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
15133 define.
15134 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
15135 that PRID matches the detected subplatform and reset the subplatform
15136 if it doesn't.
15137
84beb0ee
VS
151382011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15139
15140 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
15141
1227c133
VS
151422011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15143
15144 Fix PCI iterating on functions >= 4.
15145
15146 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
15147 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
15148 Removed.
15149 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
15150 (grub_pci_read): Fix bitmask.
15151 (grub_pci_read_word): Likewise.
15152 (grub_pci_read_byte): Likewise.
15153 (grub_pci_write): Likewise.
15154 (grub_pci_write_word): Likewise.
15155 (grub_pci_write_byte): Likewise.
15156
9594c689
VS
151572011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15158
15159 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
15160 can still be specified in TARGET_CFLAGS)
15161
14a2562c
VS
151622011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15163
15164 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
15165
15166 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
15167 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
15168 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
15169 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
15170 (FULOONG): Rename to ...
15171 (FULOONG2F): ... this. All users updated.
15172 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
15173 (machtype_fuloong2f_str): ... this.
15174 (machtype_fuloong2e_str): New string.
15175 Check for machtype_fuloong2e_str.
15176 * grub-core/loader/mips/linux.c (loongson_machtypes)
15177 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
15178 * grub-core/term/serial.c (loongson_defserial)
15179 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
15180 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
15181 loongson_defserial.
15182 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
15183 Rename to ...
15184 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
15185 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
15186 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
15187 to IMAGE_FULOONG2F_FLASH. All users updated.
15188 (image_targets): Rename images.
15189 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
15190
b526cbb6
SJ
151912011-08-19 Szymon Janc <szymon@janc.net.pl>
15192
15193 Make enable of disk cache statistics code configurable.
15194
15195 * configure.ac: --enable-cache-stats added.
15196 * config.h.in (DISK_CACHE_STATS): New define.
15197 * grub-core/Makefile.core.def (cacheinfo): New command.
15198 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
15199 * grub-core/commands/cacheinfo.c: New file.
15200 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
15201 moved to cacheinfo.c.
15202 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
15203 debug code.
15204 * include/grub/disk.h: Likewise.
15205
fb739ccd
SJ
152062011-08-19 Szymon Janc <szymon@janc.net.pl>
15207
15208 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
15209 * grub-core/Makefile.am: Likewise.
15210
2bba8cfd
VS
152112011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15212
15213 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
15214 non-zero pull.
15215
43526629
VS
152162011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15217
15218 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
15219 All users updated.
15220 (grub_jfs_lookup_symlink): Use correct starting inode.
15221
5c144cc8
VS
152222011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15223
15224 * util/grub-setup.c (main): Add missing gcry initialisation.
15225
b1257f65
VS
152262011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15227
15228 Don't accept text modes on EFI when booting Linux.
15229
15230 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
15231 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
15232
828bc390
ML
152332011-08-15 Mario Limonciello <mario_limonciello@dell.com>
152342011-08-15 Colin Watson <cjwatson@ubuntu.com>
15235
15236 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
15237 use of "/path/.." as in grub-install for EFI as well as handling
15238 symlinks correctly.
15239 Fixes Debian bug #637768.
15240
5f60ccac
CW
152412011-08-15 Colin Watson <cjwatson@ubuntu.com>
15242
15243 * util/grub-probe.c: Remove duplicate #include.
15244
6dc212f9
RM
152452011-08-10 Robert Millan <rmh@gnu.org>
15246
15247 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
15248
15249 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
15250 function.
15251 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
15252 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
15253
66816d85
RM
152542011-08-03 Robert Millan <rmh@gnu.org>
15255
15256 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
15257 la_array as packed.
15258 Reported by: Zachary Bedell
15259
20168fca
CW
152602011-07-26 Colin Watson <cjwatson@ubuntu.com>
15261
15262 * configure.ac: The Loongson port requires grub-mkfont due to its
15263 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
15264 be built.
15265
303b6246
CW
152662011-07-26 Colin Watson <cjwatson@ubuntu.com>
15267
15268 * util/grub-install.in: Don't source grub-mkconfig_lib until after
15269 processing arguments (otherwise help2man fails when GRUB has not yet
15270 been installed).
15271
6795300e
VS
152722011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15273
41aa28ea
VS
15274 New script grub-mkstandalone.
15275
15276 * Makefile.util.def (grub-mkstandalone): New script.
15277 * docs/man/grub-mkstandalone.h2m: New file.
15278 * util/grub-mkstandalone.in: Likewise.
15279
152802011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15281
15282 Support ATA disks with 4K sectors.
6795300e
VS
15283
15284 * include/grub/ata.h (grub_ata): New member log_sector_size.
15285 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
15286 (grub_ata_identify): Read sector size.
15287 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
15288
92227597
VS
152892011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15290
15291 * util/grub-install.in: Don't use uhci outside of x86.
15292
c77069f5
VS
152932011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15294
15295 * util/grub-mkrescue.in: Add missing quotes.
15296
152972011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
15298
15299 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
15300 dereference.
15301
583168a2
VS
153022011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15303
15304 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
15305
6be1c01f
VS
153062011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15307
15308 * include/grub/video.h: add missing EXPORT_FUND on
15309 grub_video_edid_checksum and grub_video_edid_preferred_mode.
15310
a1167439
VS
153112011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15312
15313 * include/grub/mips/kernel.h: Fix define conflict.
15314
bf66054f
VS
153152011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15316
15317 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
15318 all four ways.
15319
8fc4fa45
CW
153202011-07-21 Colin Watson <cjwatson@ubuntu.com>
15321
15322 Preferred resolution detection for VBE.
15323
15324 * grub-core/video/video.c (grub_video_edid_checksum): New function.
15325 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
15326 the Flat Panel extension, in line with the X.org VESA driver.
15327 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
15328 New function.
15329 (grub_vbe_bios_get_ddc_capabilities): Likewise.
15330 (grub_vbe_bios_read_edid): Likewise.
15331 (grub_vbe_get_preferred_mode): Likewise.
15332 (grub_video_vbe_setup): When the mode is "auto", try to get the
15333 preferred mode from VBE, and use the largest mode that is no larger
15334 than the preferred mode (some BIOSes expose a preferred mode that is
15335 not in their mode list!). If this fails, fall back to 640x480 as a
15336 safe conservative choice.
15337 (grub_video_vbe_get_edid): New function.
15338 (grub_video_vbe_adapter): Add get_edid.
15339 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
15340 (struct grub_video_adapter): Add get_edid.
15341 (grub_video_edid_checksum): Add prototype.
15342 (grub_video_edid_preferred_mode): Likewise.
15343 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
15344 structure.
15345
15346 * grub-core/commands/videoinfo.c (print_edid): New function.
15347 (grub_cmd_videoinfo): Print EDID if available.
15348
15349 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
15350 is more appropriate on a wider range of platforms than 640x480.
15351 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
15352 documentation.
15353
ca5572a9
VS
153542011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15355
15356 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
15357
e4bcf625
VS
153582011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15359
15360 * po/POTFILES.in: Regenerate.
15361
c4edd548
VS
153622011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15363
15364 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
15365 incorrect memory usage.
15366
16a2bab0
VS
153672011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15368
15369 * util/grub-install.in: Source grub-mkconfig_lib.
15370
2e418de6
VS
153712011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
15372
15373 Remove getroot.c from core on emu platform.
15374
15375 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
15376 kern/emu/raid.c.
15377 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
15378 useless.
15379 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
15380 * util/getroot.c (get_win32_path): ... here.
15381 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
15382 * util/getroot.c (fini_libzfs): ... here.
15383 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
15384 * util/getroot.c (grub_get_libzfs_handle): ... here.
15385 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
15386 Moved from here...
15387 * util/getroot.c (grub_find_zpool_from_dir): ... here.
15388 * grub-core/kern/emu/misc.c
15389 (grub_make_system_path_relative_to_its_root): Moved from here...
15390 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
15391 * grub-core/kern/emu/getroot.c: Moved from here ...
15392 * util/getroot.c: ... here. All users updated.
15393 * grub-core/kern/emu/raid.c: Moved from here ...
15394 * util/raid.c: ... here. All users updated.
15395
def9832a
VS
153962011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
15397
15398 * po/POTFILES.in: Regenerate.
15399
cd8fe79a
VS
154002011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
15401
15402 Fix compilation on GNU/Linux.
15403
15404 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
15405 Disable geli.
15406 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
15407 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
15408 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
15409
a251b719
VS
154102011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
154112011-07-07 Michael Gorven <michael@gorven.za.net>
154122011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
15413
15414 LUKS and GELI support.
15415
15416 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
15417 grub-core/disk/luks.c, grub-core/disk/geli.c,
15418 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
15419 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
15420 grub-core/lib/arg.c.
15421 (libgrubmods.a): Remove gcrypts cflags and cppflags.
15422 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
15423 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
15424 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
15425 (grub-bin2h): Add libgcry.a.
15426 (grub-mkimage): Likewise.
15427 (grub-mkrelpath): Likewise.
15428 (grub-script-check): Likewise.
15429 (grub-editenv): Likewise.
15430 (grub-mkpasswd-pbkdf2): Likewise.
15431 (grub-pe2elf): Likewise.
15432 (grub-fstest): Likewise.
15433 (grub-mkfont): Likewise.
15434 (grub-mkdevicemap): Likewise.
15435 (grub-probe): Likewise.
15436 (grub-ofpath): Likewise.
15437 (grub-mklayout): Likewise.
15438 (example_unit_test): Likewise.
15439 (grub-menulst2cfg): Likewise.
15440 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
15441 * grub-core/Makefile.core.def (cryptodisk): New module.
15442 (luks): Likewise.
15443 (geli): Likewise.
15444 * grub-core/disk/AFSplitter.c: New file.
15445 * grub-core/disk/cryptodisk.c: Likewise.
15446 * grub-core/disk/geli.c: Likewise.
15447 * grub-core/disk/luks.c: Likewise.
15448 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
15449 grub_util_is_lvm.
15450 (grub_util_get_dm_abstraction): New function.
15451 (grub_util_follow_gpart_up): Likewise.
15452 (grub_util_get_geom_abstraction): Likewise.
15453 (grub_util_get_dev_abstraction): Use new functions.
15454 (grub_util_pull_device): Pull GELI and LUKS.
15455 (grub_util_get_grub_dev): Handle LUKS and GELI.
15456 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
15457 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
15458 (follow_geom_up): Removed.
15459 (grub_util_fd_seek): New function.
15460 (open_device): Use grub_util_fd_seek.
15461 (nread): Rename to ..
15462 (grub_util_fd_read): ... this. All users updated.
15463 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
15464 (grub_crypto_cbc_decrypt): Likewise.
15465 (grub_crypto_hmac_write): Likewise.
15466 (grub_crypto_hmac_buffer): Likewise.
15467 (grub_password_get): Extend to util.
15468 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
15469 New member modname.
15470 (gcry_md_spec) [GRUB_UTIL]: Likewise.
15471 * include/grub/cryptodisk.h: New file.
15472 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
15473 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
15474 LUKS and GELI.
15475 (grub_util_follow_gpart_up): New proto.
15476 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
15477 (grub_util_fd_read): Likewise.
15478 (grub_cryptodisk_cheat_mount): Likewise.
15479 (grub_util_cryptodisk_print_uuid): Likewise.
15480 (grub_util_get_fd_sectors): Likewise.
15481 * util/grub-fstest.c (mount_crypt): New var.
15482 (fstest): Mount crypto if requested.
15483 (options): New option -C.
15484 (argp_parser): Parse -C.
15485 (main): Init and fini gcry.
15486 * util/grub-install.in: Support cryptodisk install.
15487 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
15488 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
15489 cryptodisk.
15490 (prepare_grub_to_access_device): Likewise.
15491 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
15492 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
15493 (probe_cryptodisk_uuid): New function.
15494 (probe_abstraction): Likewise.
15495 (probe): Use new functions.
15496 * util/import_gcry.py: Create Makefile.utilgcry.def.
15497 Add modname member.
15498
9bfdcbbc
VS
154992011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
15500
15501 Lazy device scanning.
15502
15503 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
15504 (grub-setup): Remove util/raid.c.
15505 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
15506 * grub-core/disk/lvm.c (scan_depth): New variable.
15507 (grub_lvm_iterate): Rescan if necessary.
15508 (find_lv): New function based on grub_lvm_open.
15509 (grub_lvm_open): Use find_lv. Rescan on error.
15510 (is_node_readable): New function.
15511 (is_lv_readable): Likewise.
15512 (grub_lvm_scan_device): Skip already found disks.
15513 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
15514 Stop if searched device is found and readable.
15515 * grub-core/disk/raid.c (inscnt): New variable.
15516 (scan_depth): Likewise.
15517 (scan_devices): New function based on grub_raid_register. Abort if
15518 looked for device is found.
15519 (grub_raid_iterate): Rescan if needed.
15520 (find_array): NEw function based on -grub_raid_open.
15521 (grub_raid_open): Use find_array and rescan.
15522 (insert_array): Set became_readable_at.
15523 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
15524 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
15525 New function.
15526 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
15527 (grub_util_pull_device): New function.
15528 (grub_util_get_grub_dev): Call grub_util_pull_device.
15529 * util/raid.c: Moved to ..
15530 * grub-core/kern/emu/raid.c: ... here.
15531 (grub_util_raid_getmembers): New parameter "bootable".
15532 All users updated. Support 1.x.
15533 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
15534 All users updated.
15535 * include/grub/disk.h (grub_disk_pull_t): New enum.
15536 (grub_disk_dev): Change iterate prototype.
15537 All users updated.
15538 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
15539 New proto.
15540 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
15541 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
15542 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
15543 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
15544 All users updated.
15545 * include/grub/util/raid.h: Removed.
15546
1c358e59
VS
155472011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
15548
15549 * po/POTFILES.in: Regenerate.
15550
abee94ed
VS
155512011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
15552
15553 Unify sparc init with other ieee1275.
15554
15555 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
15556 instead of kern/sparc64/ieee1275/init.c.
15557 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
15558 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
15559 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
15560 grub/machine/kernel.h.
15561 (grub_ieee1275_original_stack) [__sparc__]: New variable.
15562 (grub_claim_heap) [__sparc__]: Use sparc version.
15563 (grub_machine_init): Moved args parsing to
15564 (grub_parse_cmdline): ...this.
15565 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
15566 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
15567 New definition.
15568 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
15569
15570 Move BOOTP to separate file.
15571
15572 * grub-core/Makefile.core.def (net): Add net/bootp.c.
15573 * grub-core/net/net.c: Move all BOOTP functions to
15574 * grub-core/net/bootp.c: ... here.
15575
15576 Use frame interface on PXE.
15577
15578 * grub-core/Makefile.core.def (pxecmd): Removed.
15579 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
15580 * grub-core/commands/i386/pc/pxecmd.c: Removed.
15581 * grub-core/i386/pc/pxe.c: Moved from here ...
15582 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
15583 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
15584 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
15585
15586 EFI network support.
15587
15588 * grub-core/Makefile.core.def (efinet): New module.
15589 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
15590 here...
15591 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
15592 All users updated.
15593 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
15594 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
15595 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
15596 * grub-core/net/drivers/efi/efinet.c: New file.
15597 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
15598 (grub_efi_net_config): New extern var.
15599
15600 Various cleanups and bugfixes.
15601
15602 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
15603 error.
15604 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
15605 disk declared as partition.
15606 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
15607 leak on failure.
15608 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
15609 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
15610 (grub_debug_zalloc): Likewise.
15611 (grub_debug_realloc): Likewise.
15612 (grub_debug_memalign): Likewise.
15613 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
15614 Check that target is IPv4.
15615 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
15616 local-mac-address as fallback.
15617 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
15618 memory leak.
15619 * grub-core/net/ip.c (ipchksum): Rename to ...
15620 (grub_net_ip_chksum): ... this. All users updated.
15621 (grub_net_recv_ip_packets): Special handling for DHCP.
15622 * util/grub-mkimage.c (generate_image): Zero-out aout header.
15623
15624 Unify prefix handling
15625
15626 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
15627 (grub_machine_get_bootlocation): ... this.
15628 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
15629 (grub_machine_get_bootlocation): ... this.
15630 (grub_prefix): New variable.
15631 (prefix): Removed.
15632 (root_dev): New variable.
15633 (dir): Likewise.
15634 (main): Use new variables.
15635 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
15636 Revamped into ...
15637 (grub_machine_get_bootlocation): ... this.
15638 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
15639 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
15640 (grub_machine_get_bootlocation): ... this.
15641 (grub_machine_set_prefix): Removed.
15642 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
15643 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
15644 Revamped into ...
15645 (grub_machine_get_bootlocation): ... this.
15646 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
15647 (grub_set_prefix_and_root): ... this. All users updated.
15648 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
15649 Revamped into ...
15650 (grub_machine_get_bootlocation): ... this.
15651 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
15652 (grub_machine_get_bootlocation): New proto.
15653 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
15654
15655 Less intrusive and more reliable seek on network implementation.
15656
15657 * grub-core/kern/file.c (grub_file_net_seek): Removed.
15658 (grub_file_seek): Don't call grub_file_net_seek.
15659 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
15660 (grub_net_fs_read_real): .. this.
15661 (grub_net_seek_real): Use net->offset.
15662 (grub_net_fs_read): Seek if necessary.
15663
15664 Unify IEEE1275 netwotk config with the other platforms.
15665
15666 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
15667 New variable.
15668 (grub_machine_get_bootlocation): Support network.
15669 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
15670 Support type and device parsing.
15671 (grub_ieee1275_get_device_type): New function.
15672 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
15673 into ...
15674 (grub_ieee1275_net_config_real): ... this.
15675 (grub_ofnet_probecards): Removed.
15676 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
15677 * include/grub/ieee1275/ofnet.h: Removed.
15678 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
15679 extern var.
15680 (grub_ieee1275_get_device_type): New function.
15681
15682 Unify network device closing across platforms and make more robust.
15683
15684 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
15685 grub_grubnet_fini.
15686 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
15687 already.
15688 * grub-core/net/net.c (grub_net_network_level_interface_register):
15689 Update num_ifaces.
15690 (grub_net_card_unregister): Close all interfaces.
15691 (receive_packets): Don't poll if no iterfaces are registered.
15692 Open if necessary.
15693 (grub_net_fini_hw): New function.
15694 (grub_net_restore_hw): Likewise.
15695 (fini_hnd): New variable.
15696 (GRUB_MOD_INIT): Register preboot hook.
15697 (GRUB_MOD_FINI): Run and unregister preboot hook.
15698
15699 Poll network cards when idle.
15700
15701 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
15702 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
15703 * grub-core/net/net.c (receive_packets): Save last poll time.
15704 (grub_net_poll_cards_idle_real): New function.
15705 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
15706 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
15707 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
15708
15709 Rename ofnet interfaces.
15710
15711 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
15712 (grub_ofnet_findcards): Use ofnet_%s names.
15713
15714 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
15715
15716 Cleanup socket opening.
15717
15718 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
15719 (grub_net_fs_close): Likewise.
15720 (grub_net_fs_read_real): Use eof member.
15721 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
15722 (+grub_net_udp_close): New inline function.
15723
15724 * include/grub/net/tftp.h: Moved to the top of ...
15725 * grub-core/net/tftp.c: ... here.
15726 * include/grub/net/ip.h: Moved mostly to the top of ...
15727 * grub-core/net/ip.c: ... here.
15728 * include/grub/net/ethernet.h: Moved mostly to the top of ...
15729 * grub-core/net/ethernet.c: ... here.
15730
15731 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
15732
15733 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
15734 FS name.
15735
15736 * include/grub/net/ip.h (ipv4_ini): Removed.
15737 (ipv4_fini): Likewise.
15738
15739 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
15740 (grub_net_send_ip_packets): Likewise.
15741
cf1337aa
VS
157422011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15743
15744 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
15745 grub_read_cmos prototype.
15746
93c06ff9
VS
157472011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15748
15749 VGA text support in qemu-mips
15750
15751 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
15752 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
15753 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
15754 text.
15755 * grub-core/kern/i386/qemu/init.c: Renamed to ...
15756 * grub-core/kern/vga_init.c: ... this.
15757 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
15758 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
15759 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
15760 Adjust.
15761 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
15762 GRUB_MACHINE_PCI_IO_BASE.
15763
748ccabe
VS
157642011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15765
15766 MIPS qemu flash support.
15767
15768 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
15769 magic.
15770 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
15771 (grub_machine_init): Probe memory if its size isn't known.
15772 * util/grub-mkimage.c (image_targets): Add flash targets.
15773 (generate_image): Handle flash targets.
15774
d7345994
VS
157752011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15776
15777 MIPS qemu at_keyboard support.
15778
15779 * gentpl.py (videoinkernel): Add qemu-mips.
15780 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
15781 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
15782 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
15783 modules.
15784 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
15785 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
15786 * grub-core/term/serial.c (grub_serial_register)
15787 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
15788
a07a81b3
VS
157892011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15790
15791 CMOS support on sparc.
15792
15793 * gentpl.py (cmos): Add powerpc and sparc.
15794 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
15795 powerpc and sparc.
15796 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
15797 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
15798 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
15799 grub_set_datetime_cmos.
15800 * grub-core/lib/ieee1275/cmos.c: New file.
15801 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
15802 (find_rtc): Set no_ieee1275_rtc on error.
15803 (grub_get_datetime): Call grub_get_datetime_cmos on error.
15804 (grub_set_datetime): Call grub_set_datetime_cmos on error.
15805 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
15806 fail. Move value to argument. All users updated
15807 (grub_cmos_write): Likewise.
15808 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
15809 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
15810 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
15811 grub_get_datetime_cmos and grub_set_datetime_cmos.
15812
77546584
GS
158132011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
15814
15815 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
15816 sourcing grub-mkconfig_lib.
15817 * util/update-grub_lib.in: Likewise.
15818 * util/grub.d/00_header.in: Likewise.
15819 * util/grub.d/10_hurd.in: Likewise.
15820 * util/grub.d/10_kfreebsd.in: Likewise.
15821 * util/grub.d/10_linux.in: Likewise.
15822 * util/grub.d/10_netbsd.in: Likewise.
15823 * util/grub.d/10_windows.in: Likewise.
15824 * util/grub.d/20_linux_xen.in: Likewise.
15825 * util/grub.d/30_os-prober.in: Likewise.
15826
54894791
CW
158272011-06-28 Colin Watson <cjwatson@ubuntu.com>
15828
15829 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
15830 default_bg_color rather than black.
15831 (grub_gfxterm_fullscreen): Likewise.
15832 (grub_gfxterm_background_color_cmd): Save new background color in
15833 default_bg_color.
15834
8d5d8444
VS
158352011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15836
15837 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
15838
5afeb5bd
VS
158392011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15840
15841 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
15842 mismerge.
15843
ba7df45e
VS
158442011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15845
15846 Chainloading on coreboot support.
15847
15848 * grub-core/Makefile.core.def (chain): Add coreboot.
15849 * grub-core/loader/i386/coreboot/chainloader.c: New file.
15850
d0b526b2
VS
158512011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15852
15853 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
15854 if it happens.
15855
5ff1d945
VS
158562011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15857
15858 Implement time command.
15859
15860 * grub-core/Makefile.core.def (time): New module.
15861 * grub-core/commands/time.c: New file.
15862 * grub-core/script/parser.y: Remove "time" keyword.
15863 * grub-core/script/yylex.l: Likewise.
15864
5ebaad7e
VS
158652011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15866
15867 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
15868
bdea3798
VS
158692011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15870
15871 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
15872 when handling leftovers.
15873
b28c5655
VS
158742011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15875
15876 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
15877 so that help2man doesn't fail.
15878
b6f945dc
VS
158792011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15880
15881 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
15882 type in pointers on sparc64.
15883 (get_card_packet): Likewise.
15884
f9b75e8a
CW
158852011-06-27 Colin Watson <cjwatson@ubuntu.com>
15886
15887 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
15888 with `*'.
15889 (grub_cmd_videoinfo): Fetch current video mode.
15890
1e3d9b86
VS
158912011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15892
15893 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
15894 because of underlying system restrictions.
15895
efff4b1c
VS
158962011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15897
15898 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
15899 necessary.
15900
9fc9ce37
VS
159012011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15902
15903 Coreboot video support.
15904
15905 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
15906 (vbe): Likewise.
15907 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
15908 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
15909 here ...
15910 * grub-core/kern/i386/int.S: ... here.
15911 * grub-core/video/i386/pc/vbe.c: Updated includes.
15912 * grub-core/video/i386/pc/vga.c: Likewise.
15913 * include/grub/i386/coreboot/memory.h
15914 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
15915 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
15916 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
15917 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
15918 Disable interrupts.
15919 * include/grub/i386/pc/vga.h: Removed. All users updated.
15920
41bec7fe
VS
159212011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15922
15923 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
15924 definitions for dprintf.
15925 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
15926
ca80309d
VS
159272011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15928
15929 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
15930 prototype.
15931 (get_card_packet): Likewise.
15932
9e322ce8
YB
159332011-06-26 Yves Blusseau <blusseau@zetam.org>
15934
15935 Display the path of the file when file is not found
15936
15937 * grub-core/fs/fat.c: Display the filename when file is not found.
15938 * grub-core/fs/fshelp.c: Likewise.
15939 * grub-core/fs/hfs.c: Likewise.
15940 * grub-core/fs/jfs.c: Likewise.
15941 * grub-core/fs/minix.c: Likewise.
15942 * grub-core/fs/ufs.c: Likewise.
15943 * grub-core/fs/btrfs.c: Likewise.
15944 * grub-core/commands/i386/pc/play.c: Likewise.
15945
cbf597af
SJ
159462011-06-26 Szymon Janc <szymon@janc.net.pl>
15947
15948 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
15949 pointer checks before calling grub_free().
15950 * grub-core/commands/wildcard.c (match_devices): Likewise.
15951 * grub-core/commands/wildcard.c (match_files): Likewise.
15952 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
15953 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
15954 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
15955 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
15956 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
15957 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
15958 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
15959 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
15960 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
15961
6295b32f
P
159622011-06-25 Patrick <p55@mailinator.com>
15963
15964 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
15965
77c0840b
VS
159662011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
15967
15968 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
15969 (grub_pxe_send): Likewise.
15970 (GRUB_MOD_INIT): Fix types.
15971
40ea05de
SJ
159722011-06-24 Szymon Janc <szymon@janc.net.pl>
15973
15974 * grub-core/io/xzio.c: Fix code style issues
15975
90162423
MRA
159762011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
159772011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
15978
15979 Network infrastructure.
15980 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
15981
15982 * include/grub/net/arp.h: New file.
90162423
MRA
15983 * include/grub/net/device.h: Likewise.
15984 * include/grub/net/ethernet.h: Likewise.
15985 * include/grub/net/ip.h: Likewise.
15986 * include/grub/net/netbuff.h: Likewise.
15987 * include/grub/net/tftp.h: Likewise.
15988 * include/grub/net/udp.h: Likewise.
15989 * include/grub/ieee1275/ofnet.h: Likewise.
15990 * include/grub/emu/export.h: Likewise.
15991 * include/grub/net.h: Likewise.
15992 * grub-core/net/arp.c: Likewise.
15993 * grub-core/net/ethernet.c: Likewise.
15994 * grub-core/net/ip.c: Likewise.
15995 * grub-core/net/udp.c: Likewise.
15996 * grub-core/net/tftp.c: Likewise.
15997 * grub-core/net/netbuff.c: Likewise.
15998 * grub-core/net/net.c: Likewise.
15999 * grub-core/net/drivers/emu/emunet.c: Likewise.
16000 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
16001 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
16002 export.h.
16003 * grub-core/Makefile.core.def (net): New module.
16004 (tftp): Likewise.
16005 (ofnet): Likewise.
16006 (emunet): Likewise.
16007 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
16008 network protocols.
16009 * grub-core/kern/device.c (grub_net_open) : New variable.
16010 (grub_device_open): Handle network device.
16011 (grub_device_close): Likewise.
16012 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
16013 (grub_grubnet_fini): Likewise.
16014 (grub_file_seek): Seek in network device.
16015 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
16016 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
16017 network root.
16018 (grub_machine_fini): Call grub_grubnet_fini.
16019 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
16020 network.
16021 (grub_ieee1275_get_aliasdevname): New function.
16022 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16023 Add unofficial Solaris network info.
16024 (grub_multiboot_make_mbi): Likewise.
16025 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
16026 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
16027 * include/grub/device.h (grub_fs): Removed.
16028 * include/grub/err.h (grub_err_t): Add network-related values.
16029 * include/grub/i386/pc/pxe.h: Removed bootp parts.
16030 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
16031 (grub_ieee1275_get_aliasdevname): New proto.
16032 * include/grub/net.h: Rewritten.
423a1849 16033
031f22a0
VS
160342011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16035
16036 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
16037 names.
16038
4388ca72
VS
160392011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16040
16041 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
16042 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
16043 it truncates the output.
16044 Reported by: Ximin Luo.
16045
98e2f506
VS
160462011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16047
16048 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
16049
2a5e94d8
VS
160502011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16051
16052 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
16053 partmap before abstraction.
16054
535c1910
AK
160552011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
16056
16057 * util/grub-mkconfig_lib.in: Add missing quotes.
16058
bc09e1a2
VS
160592011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16060
16061 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
16062 old method if mountinfo would return /dev/root and /dev/root doesn't
16063 exist.
16064
290766fb
VS
160652011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16066
16067 ZFS zlib support
16068
16069 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
16070 (decomp_table): Add zlib entries.
16071 (zio_read): USe 8 bits for compression function rather than 3.
16072 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
16073
160742011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16075
16076 * grub-core/disk/ahci.c: Add missing license statements.
16077 * grub-core/fs/romfs.c: Likewise.
16078 * grub-core/lib/ia64/setjmp.S: Likewise.
16079 * grub-core/loader/i386/pc/freedos.c: Likewise.
16080 * grub-core/loader/ia64/efi/linux.c: Likewise.
16081 * grub-core/video/colors.c: Likewise.
16082 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
16083
5ab3f48a
VS
160842011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16085
16086 AHCI support.
16087
16088 * grub-core/Makefile.core.def (ata_pthru): Removed.
16089 (ahci): New module.
16090 (pata): Likewise.
16091 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
16092 on unload.
16093 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
16094 readwrite.
16095 (grub_hdparm_do_check_powermode_cmd): Likewise.
16096 (grub_hdparm_do_smart_cmd): Likewise.
16097 (grub_hdparm_set_val_cmd): Likewise.
16098 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
16099 * grub-core/disk/ahci.c: New file.
16100 * grub-core/disk/ata.c: Factor out the low-level part into ...
16101 * grub-core/disk/pata.c: ... here.
16102 * grub-core/disk/ata_pthru.c: Contents moved to ...
16103 * grub-core/disk/pata.c: ... here.
16104 * grub-core/disk/scsi.c (grub_scsi_names): New array.
16105 (grub_scsi_iterate): Use grub_scsi_names.
16106 (grub_scsi_open): Likewise.
16107 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
16108 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
16109 (grub_ata_regs_t): New struct.
16110 (grub_disk_ata_pass_through_parms): Likewise.
16111 (grub_ata_device): Renamed to ...
16112 (grub_ata): ... this.
16113 (grub_ata_dev): New struct.
16114 Removed all low-level inline functions.
16115 * include/grub/scsi.h: Add PATA and AHCI subsystems.
16116 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
16117 iterate hooks and open. All users updated.
16118 * util/grub-install.in: Handle AHCI disk module.
16119
c31dc5f5
SJ
161202011-06-23 Szymon Janc <szymon@janc.net.pl>
16121
16122 Add support for DRI and RSTn markers in JPEG files.
16123
16124 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
16125 (JPEG_MARKER_RST0): Likewise.
16126 (JPEG_MARKER_RST1): Likewise.
16127 (JPEG_MARKER_RST2): Likewise.
16128 (JPEG_MARKER_RST3): Likewise.
16129 (JPEG_MARKER_RST4): Likewise.
16130 (JPEG_MARKER_RST5): Likewise.
16131 (JPEG_MARKER_RST6): Likewise.
16132 (JPEG_MARKER_RST7): Likewise.
16133 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
16134 (grub_jpeg_decode_dri): New function.
16135 (grub_jpeg_decode_sos): Move image data related part into
16136 grub_jpeg_decode_data function.
16137 (grub_jpeg_decode_data): New function.
16138 (grub_jpeg_reset): New function.
16139 (grub_jpeg_decode_jpeg): Handle new markers.
16140
fe12fd5b
VS
161412011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16142
16143 * util/ieee1275/ofpath.c (check_sas): Close fd.
16144 (main): Free of_path.
16145 Reported by: David Volgyes <dvolgyes>.
16146
03147f46
VS
161472011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16148
16149 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
16150 Reported by: David Volgyes <dvolgyes>.
16151
cad3237f
VS
161522011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16153
16154 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
16155 file after stat.
16156 Reported by: David Volgyes <dvolgyes>.
16157
13548d26
VS
161582011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16159
16160 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
16161
16162 Reported by: David Volgyes <dvolgyes>.
16163
e061a1b5
VS
161642011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16165
16166 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
16167 Prevent memory leak.
16168
1abe47dc
VS
161692011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16170
16171 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
16172 (main): Close file.
e061a1b5 16173 Reported by: David Volgyes <dvolgyes>.
1abe47dc 16174
fbc62666
VS
161752011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16176
16177 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
16178 to continue if allocation is failed.
16179
16180 Reported by: David Volgyes <dvolgyes>.
16181
e98c83e9
DV
161822011-06-23 David Volgyes <dvolgyes>
16183
16184 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
16185 dereference.
16186
a199a8cd
VS
161872011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16188
16189 Fix spurious warning.
16190
16191 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
16192 (acorn_partition_map_find): Use .bin member.
16193
e2d1dba0
VS
161942011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16195
16196 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
16197 /dev/root as a valid device.
16198
8a5d6919
JM
161992011-06-23 Jim Meyering <meyering@redhat.com>
16200
e2d1dba0
VS
16201 Avoid NULL deref in grub_device_open.
16202
8a5d6919
JM
16203 * grub-core/kern/device.c (grub_device_open): Don't dereference
16204 a NULL pointer upon failed grub_env_get.
16205
f7db6f4a
VS
162062011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16207
16208 Support non-512B sectors and agglomerate reads.
16209
16210 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
16211 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
16212 (disk_io_guid): Removed.
16213 (make_devices): Locate solely by BlockIO.
16214 (grub_efidisk_open): Fill log_sector_size and total_sectors.
16215 (grub_efidisk_read): Use read_blocks.
16216 (grub_efidisk_write): Use write_blocks.
16217 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
16218 log_sector_size.
16219 (get_safe_sectors): Handle non-512B sectors.
16220 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
16221 sectors.
16222 (grub_biosdisk_write): Handle non-512B sectors.
16223 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
16224 (grub_scsi_read): Remove special non-512B block handling (now handled
16225 one level up).
16226 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
16227 and do sanity checks.
16228 (grub_disk_adjust_range): Handle non-512B sectors.
16229 (transform_sector): New function.
16230 (grub_disk_read_small): Likewise.
16231 (grub_disk_read): Rewritten.
16232 (grub_disk_write): Handle non-512B sectors.
16233 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
16234 log_sector_size.
16235 (open_device): Use log_sector_size.
16236 (grub_util_biosdisk_read): Likewise.
16237 (grub_util_biosdisk_write): Likewise.
16238 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
16239 non-512B sectors.
16240 (pc_partition_map_embed): Likewise.
16241 * include/grub/disk.h (grub_disk): New field log_sector_size.
16242 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
16243 (GRUB_DISK_CACHE_BITS): Increased to 6.
16244 * util/grub-fstest.c (fstest): New command testload.
16245 (argp_parser): Likewise.
16246
881ac815
RM
162472011-06-16 Robert Millan <rmh@gnu.org>
16248
16249 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
16250 `ata' driver on kernel of FreeBSD 9.
16251
16252 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
16253 (get_ataraid_disk_name): New functions.
16254 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
16255 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
16256 get_ataraid_disk_name() and get_ada_disk_name().
16257
1e9aef7d
CW
162582011-06-13 Colin Watson <cjwatson@ubuntu.com>
16259
16260 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
16261 input format.
16262
351c7c8a
CW
162632011-05-29 Colin Watson <cjwatson@ubuntu.com>
16264
16265 * docs/grub.texi (Obtaining and Building GRUB): Substitute
16266 `ftp.gnu.org' for `alpha.gnu.org'.
16267
6b4e6430
CW
162682011-05-27 Colin Watson <cjwatson@ubuntu.com>
16269
16270 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
16271 partitions under /dev/disk/by-id/.
16272
c64db050
CW
162732011-05-27 Colin Watson <cjwatson@ubuntu.com>
16274
16275 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
16276 after ten consecutive open failures. Scanning all the way up to
16277 10000 is excessive and can cause serious performance problems in
16278 some configurations.
16279 Fixes Ubuntu bug #787461.
16280
245f4aba
VS
162812011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16282
16283 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
16284 opening new one.
16285
f767c929
VS
162862011-05-21 Colin Watson <cjwatson@ubuntu.com>
162872011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16288
16289 Don't stat devices unless we have to.
16290
16291 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
16292 dir == /dev/mapper.
16293 (grub_guess_root_device): Use already known os_dev if possible.
16294 * grub-core/kern/emu/hostdisk.c
16295 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
16296 if device is known to be a dm one.
16297
f35fa3a6
CW
162982011-05-20 Colin Watson <cjwatson@ubuntu.com>
16299
16300 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
16301 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
16302 Reported by: Pawel Tecza.
16303
9a79fcf2
VS
163042011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
16305
16306 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
16307 (lsefisystab): Likewise.
16308 (lssal): Likewise.
16309 (lsefimmap): Likewise.
16310 (hdparm): Enable on qemu-mips.
16311 (setjmp): Add ia64 nodist.
16312 (serial): Simplify tags.
16313
63e3eea9
CW
163142011-05-18 Colin Watson <cjwatson@ubuntu.com>
16315
16316 * Makefile.util.def (grub-ofpathname): Install manual page.
16317
09728256
CW
163182011-05-18 Colin Watson <cjwatson@ubuntu.com>
16319
16320 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
16321
8b63a142
CW
163222011-05-18 Colin Watson <cjwatson@ubuntu.com>
16323
16324 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
16325
e775d8ed
VS
163262011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16327
16328 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
16329 into dprintf.
16330
bf947d36
VS
163312011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16332
16333 Use full 64-bit division.
16334
16335 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
16336 (grub_divmod64): ... this.
16337 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
16338 version.
16339
b84f26c5
CW
163402011-05-18 Colin Watson <cjwatson@ubuntu.com>
16341
16342 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
16343 `source'.
16344
5626056f
CW
163452011-05-18 Colin Watson <cjwatson@ubuntu.com>
16346
16347 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
16348 to avoid accidents when debugging with 'sh -x'.
16349 * grub-core/gensyminfo.sh.in: Likewise.
16350 * tests/example_scripted_test.in: Likewise.
16351 * tests/grub_cmd_regexp.in: Likewise.
16352 * tests/grub_script_blanklines.in: Likewise.
16353 * tests/grub_script_dollar.in: Likewise.
16354 * tests/grub_script_expansion.in: Likewise.
16355 * tests/grub_script_final_semicolon.in: Likewise.
16356 * tests/partmap_test.in: Likewise.
16357 * tests/util/grub-shell-tester.in: Likewise.
16358 * tests/util/grub-shell.in: Likewise.
16359
e2965f4a
CW
163602011-05-18 Colin Watson <cjwatson@ubuntu.com>
16361
16362 Move gfxmenu color handling to video, so that gfxterm can use it
16363 too.
16364
16365 * grub-core/gfxmenu/named_colors.c: Move to ...
16366 * grub-core/video/colors.c: ... here. Rename
16367 grub_gui_get_named_color to grub_video_get_named_color.
16368 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
16369 * grub-core/video/colors.c (my_isxdigit): ... here.
16370 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
16371 Move to ...
16372 * grub-core/video/colors.c (parse_hex_color_component): ... here.
16373 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
16374 to ...
16375 * grub-core/video/colors.c (grub_video_parse_color): ... here.
16376
16377 * include/grub/gui.h (grub_gui_color_t): Move to ...
16378 * include/grub/video.h (grub_video_rgba_color_t): ... here.
16379 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
16380 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
16381 * include/grub/gui.h (grub_gui_map_color): Move to ...
16382 * include/grub/video.h (grub_video_map_rgba_color): ... here.
16383 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
16384 to ...
16385 * include/grub/video.h (grub_video_get_named_color): ... here.
16386 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
16387 * include/grub/video.h (grub_video_parse_color): ... here.
16388
16389 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
16390 video/colors.c.
16391 (gfxmenu): Remove gfxmenu/named_colors.c.
16392 (video) [videomodules]: Add video/colors.c.
16393
16394 Add a background_color command.
16395
16396 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
16397 function.
16398 (GRUB_MOD_INIT): Register background_color command.
16399 (GRUB_MOD_FINI): Unregister background_color command.
16400 (redraw_screen_rect): Allow blend/replace of text layer to be
16401 controlled independently from whether there is a background bitmap.
16402 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
16403 changing bitmap.
16404
1e4b4390
VS
164052011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16406
26618ff0
VS
16407 Patch BPB in ntldr and chainloader --bpb.
16408
1e4b4390
VS
16409 * grub-core/fs/fat.c: Include grub/fat.h.
16410 (grub_fat_bpb): Moved to ...
16411 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
16412 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
16413 grub/ntfs.h.
16414 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
16415 Moved from here...
16416 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
16417 here.
16418 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
16419 New function.
16420 (grub_chainloader_cmd): Patch BPB if --bpb is given.
16421 (GRUB_MOD_INIT): Show --bpb.
16422 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
16423 * grub-core/normal/main.c (features): New variable.
16424 (GRUB_MOD_INIT): Set feature_* variables.
16425 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
16426 proto.
16427 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
16428
cf02731e
VS
164292011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16430
16431 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
16432 for cleanness.
16433
e3a1073f
VS
164342011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16435
16436 FreeDOS direct loading support.
16437
16438 * docs/grub.texi (Supported OS): Add FreeDOS.
16439 * grub-core/Makefile.core.def (freedos): New module.
16440 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
16441 variable.
16442 (grub_relocator16_boot): Handle %ebx.
16443 * grub-core/lib/i386/relocator16.S: Likewise.
16444 * grub-core/loader/i386/pc/freedos.c: New file.
16445
05caa461
VS
164462011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16447
16448 Long Linux command line support.
16449
16450 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
16451 (maximal_cmdline_size): New variable.
16452 (allocate_pages): Use maximal_cmdline_size.
16453 (grub_cmd_linux): Set and use maximal_cmdline_size.
16454 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
16455 (allocate_pages): Use maximal_cmdline_size.
16456 (grub_cmd_linux): Set and use maximal_cmdline_size.
16457 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
16458 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
16459 and cmdline_size.
16460
a2491e23
VS
164612011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
164622011-05-18 Colin Watson <cjwatson@ubuntu.com>
16463
16464 Improve devmapper support
16465
16466 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
16467 (grub_util_is_lvm): New function.
16468 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
16469 than lvm if not dmraid.
16470 Handle mapped md nodes.
16471 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
16472 (grub_util_device_is_mapped): ... this. Make always available. All users
16473 updated.
16474 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
16475 (convert_system_partition_to_system_disk): Handle lvm, mpath and
16476 dmraid nodes.
16477 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
16478
6ad6223e
VS
164792011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16480
16481 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
16482
16483 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
16484 * grub-core/modinfo.sh.in: New file.
16485 * grub-core/Makefile.core.def (modinfo.sh): New script.
16486 * util/grub-mknetdir.in: Use modinfo.sh.
16487 * util/grub-mkrescue.in: Likewise.
16488
543a8f6e
VS
164892011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16490
16491 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
16492 Fix potential usage of Elf32 instead of Elf64 when compiling on
16493 32-bit architecture. Add endianness macros while on it.
16494
4959e111
VS
164952011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16496
16497 Use mipsel- rather than mips- in directories involving mipsel ports to
16498 allow both endiannesses coexist.
16499
16500 * configure.ac: proparate target_cpu=mipsel rather than resetting to
16501 mips. All conditions adjusted.
16502 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
16503 variable.
16504 * util/grub-install.in: Adjust conditions to take renaming into account.
16505 * util/grub-mkimage.c (image_targets): Likewise. New target
16506 mips-qemu_mips-elf for bigendian mips.
16507
35341bbc
VS
165082011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16509
16510 Avoid unnecessary copying on MIPS.
16511
16512 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
16513 early if src == dest.
16514 * util/grub-mkimage.c (generate_image): Arange for src == dest if
16515 compression is none.
16516
b772baed
VS
165172011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16518
16519 Reduce memory footprint on SGI by putting modules before the kernel
16520 as opposed to after.
16521
16522 * grub-core/Makefile.core.def (kernel): Increase linking address.
16523 (none_decompress): Likewise.
16524 (xz_decompress): Likewise.
16525 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
16526 address.
16527 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
16528 layout change.
16529 (grub_arch_modules_addr): New function.
16530 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
16531 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
16532 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
16533 here.
16534 * grub-core/kern/mips/startup.S (total_size): Rename to ...
16535 (grub_total_modules_size): ... this. Make global.
16536 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
16537 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
16538 New definition.
16539 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
16540 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
16541 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
16542 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
16543 * util/grub-mkimage.c (image_target_desc): New flag
16544 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
16545 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
16546 (generate_image): Handle images with modules before kernel.
16547
566a1917
VS
165482011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16549
16550 Prevent potential loss of memory map by overwrite on qemu-mips.
16551
16552 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
16553 Save ram size in $s4.
16554 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
16555 All users changed to grub_arch_memsize.
16556 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
16557 Loongson.
16558 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
16559 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
16560 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
16561 external variable.
16562
5d420cd9
CW
165632011-05-17 Colin Watson <cjwatson@ubuntu.com>
16564
16565 * .bzrignore: Remove grub-dumpbios.
16566
d064b830
CW
165672011-05-17 Colin Watson <cjwatson@ubuntu.com>
16568
16569 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
16570 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
16571 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
16572 existing options which append).
16573 * docs/grub.texi (Simple configuration): Document new options.
16574 Reported by: Ian Jackson. Fixes Debian bug #617538.
16575
3ca2b466
CW
165762011-05-17 Colin Watson <cjwatson@ubuntu.com>
16577
16578 * util/grub-fstest.c (cmd_cat): New function.
16579 (fstest): Handle CMD_CAT.
16580 (options): Add cat.
16581 (argp_parser): Handle cat.
16582
24c9143a
CW
165832011-05-17 Colin Watson <cjwatson@ubuntu.com>
16584
16585 * Makefile.util.def (grub-bin2h): Don't install.
16586 * docs/man/grub-bin2h.h2m: Remove.
16587
90f7ac19
VS
165882011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16589
16590 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
16591 place.
16592
8d4a5178
VS
165932011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16594
16595 Reenable qemu-mips port.
16596
16597 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
16598 Fix small arc bug while on it.
16599 * gentpl.py: Handle qemu_mips.
16600 * grub-core/Makefile.am: Likewise.
16601 * grub-core/Makefile.core.def: Likewise.
16602 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
16603 inappropriate includes.
16604 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
16605 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
16606 * grub-core/kern/main.c (grub_modules_get_end)
16607 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
16608 * grub-core/kern/mips/qemu-mips: Moved to ..
16609 * grub-core/kern/mips/qemu_mips: ... this.
16610 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
16611 (grub_machine_init): Call terminfo_init and serial_init.
16612 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
16613 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
16614 New variable.
16615 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
16616 parameter passing.
16617 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
16618 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
16619 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
16620 * include/grub/mips/qemu_mips/cmos.h: New file.
16621 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
16622 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
16623 Removed.
16624 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
16625 Use correct mips-style address.
16626 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
16627 (GRUB_TICKS_PER_SECOND): Removed.
16628 (grub_get_rtc): Likewise.
16629 (grub_cpu_idle): Likewise.
16630 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
16631 New definition.
16632 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
16633 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
16634 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
16635 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
16636 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
16637 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
16638 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
16639 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
16640
400b9371
VS
166412011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16642
16643 SGI ARCS port.
16644
16645 * Makefile.util.def (libgrubmods.a): Add dvh.c.
16646 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
16647 platforms.
16648 * configure.ac: New target mips-arc.
16649 * gentpl.py: Likewise.
16650 * grub-core/Makefile.am: Likewise.
16651 * grub-core/Makefile.core.def: Likewise.
16652 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
16653 (none_decompress): Likewise.
16654 (lsdev): New module.
16655 (datetime): Use lib/arc/datetime.c on ARC.
16656 (part_dvh): New module.
16657 * grub-core/commands/arc/lsdev.c: New file.
16658 * grub-core/disk/arc/arcdisk.c: Likewise.
16659 * grub-core/kern/mips/arc/init.c: Likewise.
16660 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
16661 aligned addresses.
16662 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
16663 support.
16664 (grub_arch_dl_relocate_symbols): Likewise.
16665 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
16666 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
16667 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
16668 platforms.
16669 * grub-core/lib/arc/datetime.c: New file.
16670 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
16671 pci.h on non-loongson.
16672 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
16673 (grub_linux_boot): Set unused registers to 0.
16674 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
16675 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
16676 * grub-core/mmap/mips/uppermem.c: ...here.
16677 * grub-core/partmap/dvh.c: New file.
16678 * grub-core/term/arc/console.c: Likewise.
16679 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
16680 (grub_terminfo_set_current): Add terminal "arc".
16681 (grub_terminfo_readkey): Support ARC sequences.
16682 * include/grub/arc/arc.h: New file.
16683 * include/grub/arc/console.h: Likewise.
16684 * include/grub/disk.h (grub_disk_dev_id): Add
16685 GRUB_DISK_DEVICE_ARCDISK_ID.
16686 * include/grub/mips/arc/kernel.h: New file.
16687 * include/grub/mips/arc/memory.h: Likewise.
16688 * include/grub/mips/arc/time.h: Likewise.
16689 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
16690 * include/grub/mips/kernel.h (grub_halt): ... here.
16691 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
16692 here...
16693 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
16694 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
16695 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
16696 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
16697 proto.
16698 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
16699 from here ...
16700 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
16701 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
16702 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
16703 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
16704 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
16705 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
16706 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
16707 (grub_phys_addr_t): Moved from here ...
16708 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
16709 (grub_vtop): Moved from here ...
16710 * include/grub/mips/memory.h (grub_vtop): ... here.
16711 (grub_map_memory): Moved from here ...
16712 * include/grub/mips/memory.h (grub_map_memory): ... here.
16713 (grub_unmap_memory): Moved from here ...
16714 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
16715 (grub_machine_mmap_iterate): Moved from here ...
16716 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
16717 (grub_mmap_get_lower): Moved from here ...
16718 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
16719 (grub_mmap_get_upper): Moved from here ...
16720 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
16721 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
16722 here ...
16723 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
16724 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
16725 here ...
16726 * include/grub/mips/time.h (grub_get_rtc): ... here.
16727 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
16728 here ...
16729 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
16730 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
16731 here ...
16732 * include/grub/mips/time.h (grub_cpu_idle): ... here.
16733 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
16734 definition.
16735 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
16736 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
16737 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
16738 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
16739 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
16740 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
16741 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
16742 (GRUB_MACHINE_LINK_ADDR): Likewise.
16743 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
16744 to 6.
16745 * util/grub-install.in: Run dvhtool on ARC.
16746 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 16747 (generate_image): Handle ECOFF output for mips-arc.
400b9371 16748
c8ecc840
VS
167492011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
16750
16751 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
16752 blocks.
16753
153a4b55
VS
167542011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
16755
16756 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
16757 after enabling port.
16758
ff44d107
VS
167592011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
16760
16761 Skip incorrect USB devices.
16762
16763 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
16764 configcnt == 0.
16765 * include/grub/usb.h (grub_usb_err_t): New enum value
16766 GRUB_USB_ERR_BADDEVICE.
16767
638dbe4f
VS
167682011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
16769
16770 Fuloong video init support.
16771
16772 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
16773 well.
16774 (grub_vga_read_arx): New function.
16775 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
16776 definition.
16777 (framebuffer): New members io, mmioptr and mmiobase.
16778 (read_sis_cmd): New function.
16779 (write_sis_cmd): Likewise.
16780 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
16781 rather than 640x400.
16782 * grub-core/video/sis315_init.c: New file.
16783
c3fc520c
VS
167842011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16785
16786 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
16787 non-loongson.
16788 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
16789 to grub_dl_register_symbol.
16790
67b1e5c9
VS
167912011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16792
16793 Fix compilation errors.
16794
16795 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
16796 potentially unused.
16797 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
16798 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
16799 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
16800 to loongson machines.
16801
b756f75f
VS
168022011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16803
16804 Several FS mtime support.
16805
16806 * grub-core/fs/affs.c (grub_affs_time): New struct.
16807 (grub_affs_file): New field mtime.
16808 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
16809 type. Removed 'size'. New field 'di'. All users updated.
16810 (grub_affs_mount): Simplify checsum checking.
16811 (grub_affs_iterate_dir): New helper grub_affs_create_node.
16812 (grub_affs_dir): Handle mtime.
16813 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
16814 (grub_cpio_dir): Likewise.
16815 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
16816 (grub_hfs_filerec): New field mtime.
16817 (grub_hfs_dir): Handle mtime.
16818 (grub_hfs_mtime): New function.
16819 (grub_hfs_fs): Register grub_hfs_mtime.
16820 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
16821 (grub_iso9660_dir): New field mtime.
16822 (grub_fshelp_node): New field dirent.
16823 (iso9660_to_unixtime): New function.
16824 (iso9660_to_unixtime2): Likewise.
16825 (grub_iso9660_read_symlink): Use node->dirent.
16826 (grub_iso9660_iterate_dir): Likewise.
16827 (grub_iso9660_dir): Set mtime.
16828 (grub_iso9660_mtime): New function.
16829 (grub_iso9660_fs): Register grub_iso9660_mtime.
16830 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
16831 (grub_jfs_inode): New fields atime, ctime and mtime.
16832 (grub_jfs_dir): Set mtime.
16833 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
16834 * grub-core/fs/ntfs.c (list_file): Set mtime.
16835 (grub_ntfs_dir): Likewise.
16836 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
16837 (grub_reiserfs_iterate_dir): Set mtime.
16838 (grub_reiserfs_dir): Likewise.
16839 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
16840 (grub_fshelp_node): Likewise.
16841 (grub_sfs_iterate_dir): Set mtime.
16842 (grub_sfs_dir): Likewise.
16843 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
16844 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
16845 (grub_xfs_inode): New fields atime, mtime, ctime.
16846 (grub_xfs_dir): Set mtime.
16847 * include/grub/datetime.h (grub_datetime2unixtime): New function.
16848 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
16849 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
16850
16851 Support UDF symlinks.
16852
16853 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
16854 (grub_ufs_read_symlink): New function. All users updated.
16855
16856 Check amiga partmap checksum.
16857
16858 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
16859 (grub_amiga_partition): Likewise.
16860 (amiga_partition_map_checksum): New function.
16861 (amiga_partition_map_iterate): Check checksum.
16862
5470225d
VS
168632011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16864
16865 ROMFS support.
16866
16867 * Makefile.util.def (libgrubmods.a): Add romfs.
16868 * grub-core/Makefile.core.def (romfs): New module.
16869 * grub-core/fs/romfs.c: New file.
16870
d4680a35
VS
168712011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16872
16873 Squashfs v4 support.
16874
16875 * Makefile.util.def (libgrubmods.a): Add squash4.
16876 * grub-core/Makefile.core.def (squash4): New module.
16877 * grub-core/fs/squash4.c: New file.
16878 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
16879 disk_input_start, disk_input.
16880 (get_byte): Handle disk_input.
16881 (grub_zlib_disk_read): New function.
16882 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
16883
bcb18e74
FZ
168842011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
168852011-05-15 Feiran Zheng <famcool@gmail.com>
16886
16887 * Makefile.util.def (libgrubmods.a): Add minix3.
16888 * grub-core/Makefile.core.def (minix3): New module.
16889 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
16890 (GRUB_MINIX_BSIZE): Removed.
16891 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
16892 (grub_minix_ino_t): New type.
16893 (grub_minix_le_to_cpu_ino): New macro.
16894 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
16895 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
16896 (grub_minix_data): New field block_size.
16897 (grub_minix_read_file): Handle 64-bit correctly.
16898 * grub-core/fs/minix3.c: New file.
16899
32297d5f
TG
169002011-05-15 Tristan Gingold <gingold@free.fr>
169012011-05-15 Robert Millan <rmh.grub@aybabtu.com>
169022011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16903
16904 IA64 support.
16905
16906 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
16907 * configure.ac: Add ia64-efi target.
16908 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
16909 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
16910 * gentpl.py: Add ia64_efi platform.
16911 Rename x86_efi to efi and Add ia64-efi. All users updated.
16912 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
16913 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
16914 Remove kern/generic/rtc_get_time_ms.c on EFI.
16915 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
16916 kern/ia64/dl_helper.c on ia64-efi.
16917 Add kern/emu/cache.c on emu.
16918 (linux): Use on loader/ia64/efi/linux.c on ia64.
16919 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
16920 whether symbol is a function.
16921 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
16922 (grub_symbol): New field 'isfunc'.
16923 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
16924 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
16925 (grub_dl_load_segments): Place all sections into the same region.
16926 [__ia64__]: Create trampolines and got.
16927 [GRUB_MACHINE_EMU]: Call mprotect.
16928 (grub_dl_resolve_symbols): Resolve symbol type as well.
16929 [__ia64__]: Create function descriptors.
16930 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
16931 (grub_rtc_get_time_ms): ... this. Expressions simplified.
16932 (grub_get_rtc): New function.
16933 * grub-core/kern/emu/cache.c [__ia64__]: New file.
16934 * grub-core/kern/emu/cache.S: Renamed to ...
16935 * grub-core/kern/emu/cache_s.S: ... this.
16936 [__ia64__]: Add a nop.
16937 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
16938 [__ia64__]: New function.
16939 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
16940 * grub-core/kern/ia64/dl.c: New file.
16941 * grub-core/kern/ia64/dl_helper.c: Likewise.
16942 * grub-core/kern/ia64/efi/init.c: New file.
16943 * grub-core/kern/ia64/efi/startup.S: Likewise.
16944 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
16945 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
16946 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
16947 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
16948 * grub-core/loader/ia64/efi/linux.c: New file.
16949 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
16950 (GRUB_MOD_DEP): Likewise.
16951 (grub_dl) [__ia64__]: New fields got and tramp.
16952 (grub_dl): New field 'base'.
16953 (grub_dl_register_symbol): New argument isfunc. All users updated.
16954 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
16955 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
16956 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
16957 (grub_ia64_dl_get_tramp_got_size): New proto.
16958 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
16959 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
16960 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
16961 * include/grub/efi/api.h: Skip call wrappers on ia64.
16962 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
16963 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
16964 * include/grub/elf.h (ELF_ST_INFO): New definition.
16965 * include/grub/ia64/efi/kernel.h: New file.
16966 * include/grub/ia64/efi/memory.h: Likewise.
16967 * include/grub/ia64/efi/time.h: Likewise.
16968 * include/grub/ia64/kernel.h: Likewise.
16969 * include/grub/ia64/setjmp.h: Likewise (from glibc).
16970 * include/grub/ia64/time.h: New file.
16971 * include/grub/ia64/types.h: Likewise.
16972 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
16973 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
16974 New protos.
16975 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
16976 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
16977 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
16978 * util/grub-mkimage.c (image_target_desc): New field pe_target.
16979 All users updated.
16980 (EFI64_HEADER_SIZE): New definition. All users updated.
16981 (image_targets): Add ia64-efi.
16982 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
16983 jumpers_addr. All users updated.
16984 Create function descriptors.
16985 (count_funcs): New function.
16986 (unaligned_uint32): New struct.
16987 (MASK20): New definition.
16988 (MASK19): Likewise.
16989 (MASKF21): Likewise.
16990 (add_value_to_slot_20b): New function.
16991 (add_value_to_slot_21_real): Likewise.
16992 (add_value_to_slot_21): Likewise.
16993 (ia64_kernel_trampoline): New struct.
16994 (nopm): New variable.
16995 (jump): Likewise.
16996 (make_trampoline): New function.
16997 (relocate_addresses): Handle ia64.
16998 (make_reloc_section): Likewise.
16999 (load_image): Likewise.
17000
983b414d
VS
170012011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17002
17003 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
17004 warning. Move variables before code while on it.
17005
5d063cdc
VS
170062011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17007
17008 Fuloong support.
17009
17010 * configure.ac: Rename yeeloong platform to loongson. All users updated.
17011 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
17012 * grub-core/boot/mips/loongson/fuloong.S: New file.
17013 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
17014 Explicitly init CS5536.
17015 [FULOONG]: Don't use serial until CS5536 is available.
17016 Set GPIO based on dumps.
17017 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
17018 [FULOONG]: Handle GPIO and memory controller differences.
17019 Parse machine type in $a2.
17020 * grub-core/boot/mips/startup_raw.S: Determine and save the
17021 architecture.
17022 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
17023 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
17024 init on architecture type.
17025 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
17026 SIS315E. Don't init at_keyboard on fuloong.
17027 (grub_halt): Support Fuloong.
17028 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
17029 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
17030 (loongson_machtypes): New array.
17031 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
17032 type.
17033 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
17034 config. All users updated. Handle CS5536 serial.
17035 * grub-core/term/serial.c (grub_serial_register): Conditionalise
17036 default port on machine type. Register serial as inactive.
17037 * grub-core/video/sis315pro.c: New file.
17038 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
17039 definition.
17040 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
17041 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
17042 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
17043 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
17044 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
17045 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
17046 to ...
17047 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
17048 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
17049 definition.
17050 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
17051 (grub_arch_machine): New extern var.
17052 * include/grub/mips/loongson/serial.h
17053 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
17054 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
17055 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
17056 (GRUB_MACHINE_SERIAL_PORT0): ... this.
17057 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
17058 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
17059 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
17060 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
17061 * include/grub/term.h (grub_term_register_input_inactive): New inline
17062 function.
17063 (grub_term_register_output_inactive): Likewise.
17064 * include/grub/video.h (grub_video_driver_id): New value
17065 GRUB_VIDEO_DRIVER_SIS315PRO.
17066 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
17067 New field "names". All users updated.
17068 New field value IMAGE_FULOONG_FLASH.
17069 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
17070
6ada82d1
JU
170712011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
17072
17073 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
17074 and add some clarification.
17075
90c571a4
VS
170762011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17077
17078 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
17079 platforms if kernel is compressed.
17080
de04eecf
VS
170812011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17082
17083 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
17084 unused modules since currently referrence counter isn't reliable and
17085 there isn't much memory to recover there anyway.
17086
57688121
VS
170872011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17088
17089 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
17090 rather than resetting it to allow modules to reference themselves
17091 in init.
17092
3d2c7e35
VS
170932011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17094
17095 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
17096 counter on dependencies since grub_dl_unref already handles this.
17097
b25db218
VS
170982011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17099
17100 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
17101 on error if not already done.
17102
25a45338
VS
171032011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17104
17105 Fix few potential memory misusage.
17106
17107 * grub-core/font/font.c (load_font_index): Don't free char_index to
17108 avoid double free.
b25db218
VS
17109 (grub_font_load): Zero-fill font at alloc for safety.
17110 Close file on error.
17111 (free_font): Free bmp_idx.
25a45338 17112
0cac83df
VS
171132011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17114
17115 * docs/grub.texi (Installation): Fix several outdated claims.
17116
2217a143
VS
171172011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17118
17119 Handle module_license on windows.
17120
17121 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
17122 sections shifted.
17123 (insert_string): Make argument const char * instead of char *.
17124 (write_section_data): Handle long section names.
17125 Handle module_license.
17126
d4de6b01
VS
171272011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17128
17129 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
17130 handle class-free menuentries.
17131 (grub_normal_add_menu_entry): Add a check to be sure.
17132
4c2a3b43
VS
171332011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17134
17135 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
17136 PgUp and PgDown.
17137
85c6210f
VS
171382011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17139
17140 * configure.ac: Bump version to 1.99.
17141
36084912
VS
171422011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17143
17144 Give ATA device a bit more time on first try in order to allow disks
17145 to spin up.
17146
17147 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
17148 if dev->present is 1. Reset dev->present on failure.
17149 (grub_ata_device_initialize): Set dev->present to 1.
17150 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
17151 (grub_ata_device): New member 'present'.
17152
bda0e219
VS
171532011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17154
17155 * util/grub-mkimage.c (generate_image): Update hash.
17156
19e1c41b
VS
171572011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17158
17159 Flush caches on DMA memory.
17160
17161 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
17162 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
17163 (grub_dma_free): Likewise.
17164 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
17165
91bbcc0c
VS
171662011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17167
17168 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
17169 to avoid asm treating ld and sd as macros.
17170
60ddfad3
VS
171712011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17172
17173 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
17174 decompressor.
17175
a298aa04
VS
171762011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17177
17178 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
17179 grub_decompress_core since later would fail if grub_decompress_core
17180 is too far.
17181
9b44feca
VS
171822011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17183
17184 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
17185 R_MIPS_JALR since it's used by newer compiler.
17186
56dbe7b4
VS
171872011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
17188
17189 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
17190
52856af2
VS
171912011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17192
17193 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
17194 file_path to 0 for surety.
17195 (grub_chainloader_boot): Set exit_data to NULL.
17196 Unset the loader once done.
17197 (grub_cmd_chainloader): Fix confusing error message if file is empty.
17198
9c9bfc6d
VS
171992011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17200
17201 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
17202 unknown key into a dprintf.
17203
dd94a3df
VS
172042011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17205
17206 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
17207 on first non-existant partition.
17208
fa68d99c
VS
172092011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17210
17211 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
17212 openning fails.
17213 Reported by: Mark Korenberg.
17214
157effb7
VS
172152011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17216
17217 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
17218 overflow.
17219
ea75312f
VS
172202011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17221
17222 * util/grub-mkimage.c (main): Explicitely flush and sync the output
17223 before closing to ensure that it will be readable by grub-setup.
17224
072b5d31
VS
172252011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17226
17227 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
17228 (devpath_1): Use MAKE_PIWG_PATH.
17229 (devpath_2): Likewise.
17230 (devpath_3): Likewise.
17231 (devpath_4): Likewise.
17232 (devpath_5): Likewise.
17233 (devpath_6): Likewise.
17234
17235 The appleldr.mod was checked that to be binary identical to previous
17236 version.
17237
7fae0051
Z
172382011-05-05 Zach <mikezackles>
17239
17240 Support 2010 Macbooks.
17241
17242 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
17243 (devs): Add devpath_6.
17244
7c515bee
VS
172452011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17246
17247 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
17248 /dev/random. /dev/urandom is good enough for our purposes (salting).
17249
ed660bd8
VS
172502011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17251
17252 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
17253
ee5614b7
VS
172542011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17255
17256 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
17257 hexadecimal.
17258
664889a6
VS
172592011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17260
17261 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
17262 and not 0 on failure.
17263
bd405bbc
CW
172642011-05-03 Colin Watson <cjwatson@ubuntu.com>
17265
17266 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
17267 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
17268 disk; otherwise grub_fs_probe will not fall back to the next
17269 filesystem.
17270 (grub_pxefs_open): Likewise, for consistency.
17271 Reported and tested by: Ezekiel Grave.
17272
4ebff753
CW
172732011-05-03 Colin Watson <cjwatson@ubuntu.com>
17274
17275 * tests/partmap_test.in: Don't hardcode path to parted.
17276 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
17277
8f942553
CW
172782011-05-01 Colin Watson <cjwatson@ubuntu.com>
17279
17280 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
17281 of `ls' to find out which devices are available.
17282
3c62402d
VS
172832011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17284
17285 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
17286 than source address for efi mmap buffer.
17287
723f63f2
VS
172882011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17289
17290 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
17291 wrong action on non-detecting the magic.
17292
68797f92
VS
172932011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17294
17295 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
17296 already supplied by another part of the module (fixes compilation on
17297 FreeBSD).
17298
6be8715d
VS
172992011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17300
17301 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
17302 match the one used by mdadm.
17303
e91dba5b
CW
173042011-04-21 Colin Watson <cjwatson@ubuntu.com>
17305
17306 * po/README: Add instructions for creating po/LINGUAS.
17307
c85140b3
CW
173082011-04-21 Colin Watson <cjwatson@ubuntu.com>
17309
17310 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
17311 #551428.
17312
17313 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
17314 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
17315 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
17316 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
17317 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
17318 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
17319 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
17320 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
17321 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
17322 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
17323 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
17324 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
17325 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
17326 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
17327 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
17328 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
17329 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
17330 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
17331 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
17332 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
17333 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
17334 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
17335
92051871
CW
173362011-04-21 Colin Watson <cjwatson@ubuntu.com>
17337
17338 * grub-core/kern/emu/getroot.c
17339 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
17340 test that was incorrectly reintroduced in r3214.
17341 Reported by: Ian Dall. Fixes Savannah bug #33133.
17342
b13f79a4
CW
173432011-04-21 Colin Watson <cjwatson@ubuntu.com>
17344
17345 Fix stack pointer handling in 16-bit relocator.
17346
17347 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
17348 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
17349 Fixes Ubuntu bug #683904.
17350
9b710a88
VS
173512011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
17352
17353 * configure.ac: Bump version to 1.99~rc2.
17354
d97e7b59
VS
173552011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
17356
17357 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
17358 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
17359 * grub-core/lib/x86_64/setjmp.S: Likewise.
17360 * grub-core/lib/mips/setjmp.S: Likewise.
17361 * grub-core/lib/powerpc/setjmp.S: Likewise.
17362 * grub-core/lib/sparc64/setjmp.S: Likewise.
17363
0624551c
VS
173642011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
17365
17366 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
17367 * grub-core/lib/efi/datetime.c: Likewise.
17368
e8f28d4c
VS
173692011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17370
17371 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
17372 New function.
17373 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
17374 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
17375 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
17376
bba79a15
VS
173772011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17378
17379 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
17380 bitmap.
17381 (grub_gfxterm_term_init): Likewise.
17382
abc474ef
VS
173832011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17384
17385 Take into account the decorations the computing menu entry width.
17386
17387 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
17388 (grub_gfxmenu_create_box): Register get_border_width.
17389 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
17390 if available.
17391 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
17392 get_border_width.
17393
e74b3947
EP
173942011-04-18 Endres Puschner <code@e7p.de>
17395
17396 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
17397 Don't skip first class.
17398
34faa595
VS
173992011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17400
17401 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
17402 chunks.
17403 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
17404
93a777e3
VS
174052011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17406
17407 Complete 64-bit division support.
17408
17409 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
17410 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
17411 * include/grub/misc.h (grub_divmod64): Rename to ...
17412 (grub_divmod64_full): ... this.
17413 (grub_divmod64): New inline function.
17414
a5102d94
VS
174152011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17416
17417 * util/grub-mkimage.c (generate_image): Add forgotten comma.
17418
f3fb7b36
VS
174192011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17420
17421 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
17422 performing the necessary test.
17423
9ac718b0
VS
174242011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
17425
17426 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
17427 (kfreebsd.elf): Likewise.
17428 (pc-chainloader.elf): Likewise.
17429 (ntldr.elf): Likewise.
17430
50d2cc5a
VS
174312011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
17432
17433 Identify RAID by its UUID rather than (guessed) name.
17434
17435 * grub-core/disk/raid.c (ascii2hex): New function.
17436 (grub_raid_open): Accept mduuid/%s specification.
17437 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
17438 (get_mdadm_uuid): ... this.
17439 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
17440
e03f7bea
VS
174412011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
17442
17443 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
17444 to negative size.
17445
e74c3112
CW
174462011-04-13 Colin Watson <cjwatson@ubuntu.com>
17447
17448 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
17449 btrfs subvolume.
17450 * util/grub.d/20_linux_xen.in: Likewise.
17451
78fa584f
CW
174522011-04-13 Colin Watson <cjwatson@ubuntu.com>
17453
17454 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
17455 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
17456
17457 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
17458 Build a list of relevant visible mounts using the mnt_id and
17459 parent_mnt_id fields, and then scan that list at the end.
17460
9d5f8162
CW
174612011-04-12 Colin Watson <cjwatson@ubuntu.com>
17462
17463 * docs/grub.texi (normal): New section.
17464 (normal_exit): New section.
17465 (Embedded configuration): Add reference to normal.
17466 (GRUB only offers a rescue shell): Likewise.
17467 * docs/grub-dev.texi (Error Handling): Fix typo.
17468
09a9d66f
CW
174692011-04-12 Colin Watson <cjwatson@ubuntu.com>
17470
17471 * NEWS: Drop obsolete entry about probe-only btrfs support.
17472
0c676933
CW
174732011-04-12 Colin Watson <cjwatson@ubuntu.com>
17474
17475 * util/import_gcry.py: Fix typo.
17476
ec9f5e0d
VS
174772011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17478
17479 * NEWS: Add btrfs support.
17480
fe6b2cba
VS
174812011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
174822011-04-11 Colin Watson <cjwatson@ubuntu.com>
17483
17484 BtrFS support. Written by me (Vladimir) with important bugfixes and
17485 even more important testing by Colin.
17486
17487 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
17488 * grub-core/Makefile.core.def (btrfs): Add crc.c.
17489 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
17490 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
17491 mem_input_off and mem_input. All users updated to accept in-RAM input.
17492 (gzio_seek): New function.
17493 (test_zlib_header): Likewise.
17494 (grub_gzio_read): Likewise.
17495 (grub_zlib_decompress): Likewise.
17496 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
17497 Accept partial and non-virtual mounts.
17498 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
17499 avoid receiving /dev/dm-X as device.
17500 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
17501 Handle bind and partial mounts.
17502 * grub-core/lib/crc.c: New file.
17503 * include/grub/deflate.h: Likewise.
17504 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
17505 proto.
17506 * include/grub/lib/crc.h: New file.
17507
e745cf0c
VS
175082011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17509
17510 Implement automatic module license checking according to new GNU
17511 guidelines.
17512
17513 * grub-core/kern/dl.c (grub_dl_check_license): New function.
17514 (grub_dl_load_core): Use grub_dl_check_license.
17515 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
17516 (GRUB_MOD_LICENSE): Likewise.
17517 (GRUB_MOD_DUAL_LICENSE): Likewise.
17518 All modules updated.
17519
2a9bc016
CW
175202011-04-11 Colin Watson <cjwatson@ubuntu.com>
17521
17522 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
17523 reserved_first_sector to 1. btrfs reserves plenty of space for boot
17524 loaders.
17525 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
17526
8a3bc88e
VS
175272011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17528
17529 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
17530
af869a4a
VS
175312011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17532
17533 * util/grub-fstest.c (read_file): Report GRUB error if file opening
17534 failed.
17535
9ee8d94f
VS
175362011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17537
17538 * grub-core/kern/file.c (grub_file_open): Don't take into account the
17539 parenthesis in the middle of the filename.
17540
b01abe3e
VS
175412011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17542
17543 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
17544 rather than trying to put initrd way too high.
17545 Reported by: Ryan Lortie <desrt@desrt.ca>
17546
335bda1e
VS
175472011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17548
17549 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
17550 improperly removed string.
17551
5ca1a64d
VS
175522011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17553
17554 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
17555 is_disk.
17556 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
17557 (open_device) Likewise.
17558 (grub_util_biosdisk_close): Likewise.
d8ce9995 17559 Reported by: Mark Korenberg.
5ca1a64d 17560
cbac5b1e
AK
175612011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
17562
17563 * util/grub-mkconfig_lib.in: Add missing quotes.
17564
088cdb65
CW
175652011-04-10 Colin Watson <cjwatson@ubuntu.com>
17566
17567 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
17568 is NULL.
17569
8b8a81fa
VS
175702011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17571
17572 Dynamically count the number of lines for the lower banner.
17573
17574 * grub-core/normal/menu_entry.c (per_term_screen): New member
17575 num_entries.
17576 (print_down): Use num_entries.
17577 (update_screen): Likewise.
17578 (grub_menu_entry_run): Set num_entries.
17579 * grub-core/normal/menu_text.c (menu_viewer_data): New member
17580 num_entries.
17581 (grub_print_message_indented): Move real part to ...
17582 (grub_print_message_indented_real): ... here. Additional argument
17583 dry_run.
17584 (draw_border): Additional argument num_entries.
17585 (print_message): Additional argument dry_run.
17586 (print_entries): Receive menu viewer data.
17587 (grub_menu_init_page): New argment num_entries.
17588 (menu_text_set_chosen_entry): Use num_entries.
17589 (grub_menu_try_text): Likewise.
17590 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
17591 All users updated.
17592 (grub_ucs4_count_lines): New function.
17593 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
17594 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
17595 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
17596 (grub_term_border_height): Likewise.
17597 (grub_term_num_entries): Likewise.
17598
277f955b
VS
175992011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17600
17601 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
17602 Remove now unused string.
17603
536ce85a
CW
176042011-04-09 Colin Watson <cjwatson@ubuntu.com>
17605
17606 * docs/grub-dev.texi (Finding your way around): Update for 1.99
17607 build system.
17608 (Getting started): GRUB is developed in Bazaar now, not Subversion.
17609
17610 (Comment): Fix typo.
17611 (Getting started): General copy-editing.
17612 (Typical Development Experience): Likewise.
17613 (Error Handling): Likewise.
17614 (Video API): Likewise.
17615
2cf09e32
CW
176162011-04-09 Colin Watson <cjwatson@ubuntu.com>
17617
17618 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
17619 throughout.
17620
1ec652f4
VS
176212011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17622
17623 * util/grub-mkimage.c (main): Handle special naming of yeeloong
17624 directory.
17625
2c583728
CW
176262011-04-08 Colin Watson <cjwatson@ubuntu.com>
17627
17628 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
17629 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
17630 "development".
17631
d7a565e9
VS
176322011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17633
17634 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
17635 grub_strcpy since the lines aren't necessarily 0-terminated.
17636
7c2e4909
VS
176372011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17638
17639 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
17640 root on legacy.
17641
34c09785
VS
176422011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17643
17644 * grub-core/commands/probe.c (options): Argument to set isn't optional.
17645 (GRUB_MOD_INIT): DEVICE isn't optional.
17646
6a6f8058
VS
176472011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17648
17649 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
17650 word on new line if it's too long anyway. Fixes a hang.
17651
2e335e90
VS
176522011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17653
17654 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
17655 const.
17656 * util/grub-setup.c (main): Reuse md device name if available.
17657 * util/raid.c (grub_util_raid_getmembers): Receive device name and
17658 not GRUB name as argument.
17659 Based on patch by: Florian Wagner <fwagner>.
17660
10a7a867
VS
176612011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17662
17663 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17664 Place mbi on low memory for better compatibility.
17665
7a3d6cd9
VS
176662011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17667
17668 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
17669
18dd6b47
VS
176702011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
176712011-04-08 Colin Watson <cjwatson@ubuntu.com>
17672
17673 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 17674 * conf/Makefile.common: Likewise.
18dd6b47 17675
3c0e3f14
VS
176762011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17677
f7148863
VS
17678 * grub-core/normal/menu.c: Add missing include.
17679
176802011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17681
17682 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 17683
6d1fa41f
MZ
176842011-04-08 Martin Zuther <mzuther@mzuther.de>
17685
17686 * util/grub-mkconfig.in: Ignore emacsen backup.
17687
478182a8
VS
176882011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17689
17690 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
17691 on open.
17692 (grub_util_biosdisk_close): Likewise.
17693
72a89a54
VS
176942011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17695
17696 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
17697 const attribute and use grub_isdigit.
17698
b5ebecfa
A
176992011-04-06 Andrey <dev_null@ukr.net>
17700
17701 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
17702 gcc warning.
17703
7755f66e
VS
177042011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17705
17706 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
17707 useful grub_dprintf's.
17708
461121ff
VS
177092011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17710
17711 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
17712
2a961775
VS
177132011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17714
17715 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
17716
adf594cc
VS
177172011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17718
17719 Output errors if theme loading failed.
17720
17721 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
17722 grub_gfxterm_fullscreen on error paths to ...
17723 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
17724 theme loading error.
17725
665900a3
VS
177262011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17727
17728 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
17729 space for older compilers.
17730 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17731
a562b479
VS
177322011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17733
17734 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
17735 and report them as not RAID members since they are useless for GRUB.
17736 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17737
850e9373
VS
177382011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17739
17740 Increase LVM implementation robustness in order not to crash on
17741 configurations like pvmove. Previously code assumed that in some places
17742 only lvs or only pvs are used whereas it seems that they are used
17743 interchangeably.
17744
17745 * grub-core/disk/lvm.c (read_node): New function.
17746 (read_lv): Use read_node.
17747 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
17748 Match volumes only at the end when all lvs are found. Take both
17749 pvs (first) and lvs (second) into account.
17750 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
17751 mirror_* into node_*. All users updated.
17752 (grub_lvm_stripe): Merge this ...
17753 (grub_lvm_mirror): ... and this ...
17754 (grub_lvm_node): ... into this. All users updated.
17755
6f332153
VS
177562011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17757
17758 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
17759 of function to allow further scanning for LVMs.
17760
829ea451
VS
177612011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17762
17763 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
17764 on failed seek as it breaks open fd reusage.
17765
09ceb9a5
VS
177662011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17767
17768 * util/grub-install.in: Add a recommendation to use --recheck before
17769 reporting bugs.
17770
67e11623
VS
177712011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17772
17773 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
17774 are obtained.
17775
caee5efd
VS
177762011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17777
17778 GRUB developper manual based on existing Internals section and
17779 contributions by the various authors with active copyright assignment.
17780
17781 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
17782 * docs/font_char_metrics.png: New file.
17783 * docs/font_char_metrics.txt: Likewise.
17784 * docs/grub-dev.texi: Likewise.
17785 * docs/grub.texi (Internals): Move from here ...
17786 * docs/grub-dev.texi: ... here.
17787
2cccc747
CW
177882011-04-01 Colin Watson <cjwatson@ubuntu.com>
17789
17790 Store the loopback device as data on loopback grub_disk structures,
17791 rather than the file it points to. This fixes use of freed memory
17792 if an existing loopback device is replaced.
17793
17794 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
17795 disk->data, not dev->file.
17796 (grub_loopback_read): Adjust file assignment to match.
17797 Fixes Ubuntu bug #742967.
17798
186ae367
CW
177992011-04-01 Colin Watson <cjwatson@ubuntu.com>
17800
17801 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
17802 when replacing an existing device.
17803
cfed2ad0
VS
178042011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
17805
17806 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
17807 memory corruptions.
17808
17809 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
17810 unsigned.
17811 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
17812 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
17813 (grub_jfs_read_inode): Likewise.
17814 (grub_jfs_opendir): Likewise. Remove now useless casts.
17815 (grub_jfs_getent): Likewise.
17816 Make ino a grub_uint32_t rather than int.
17817 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
17818 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
17819 division and module with bit operations.
17820 (grub_jfs_find_file): Make ino a grub_uint32_t.
17821 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
17822
05d2ed32
CW
178232011-04-01 Colin Watson <cjwatson@ubuntu.com>
17824
17825 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
17826 warning. (This was in fact always initialised before use, but GCC
17827 wasn't smart enough to prove that.)
17828 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
17829
91dc6073
VS
178302011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
17831
17832 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
17833 stack alignment.
17834 (efi_wrap_1): Likewise.
17835 (efi_wrap_2): Likewise.
17836 (efi_wrap_3): Likewise.
17837 (efi_wrap_4): Likewise.
17838 (efi_wrap_5): Likewise.
17839 (efi_wrap_6): Likewise.
17840 (efi_wrap_10): Likewise.
17841 Based on information by: Red Hat/Peter Jones.
17842
a8afc1d1
CW
178432011-03-31 Colin Watson <cjwatson@ubuntu.com>
17844
17845 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
17846 set-but-not-used variable.
17847
a826cc7d
CW
178482011-03-31 Colin Watson <cjwatson@ubuntu.com>
17849
17850 * docs/grub.texi (Simple configuration): Be more explicit about
17851 GRUB_DEFAULT, and add an example.
17852 Reported by: Leslie Rhorer.
17853
875b67ba
CW
178542011-03-30 Colin Watson <cjwatson@ubuntu.com>
17855
17856 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
17857 shell".
17858
fd7cd914
AS
178592011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
17860
17861 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
17862 * util/grub.d/20_linux_xen.in: Likewise.
17863
090b1b6a
VS
178642011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17865
17866 * util/grub.d/10_linux.in: Try alternative config filenames where
17867 we parse config file.
17868 * util/grub.d/20_linux_xen.in: Likewise.
17869
baad885c
AS
178702011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
17871
17872 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
17873 * util/grub.d/20_linux_xen.in: Likewise.
17874
241e41f5
VS
178752011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17876
17877 * grub-core/disk/raid.c (insert_array): Add few potentially
17878 useful grub_util_info.
17879 (grub_raid_register): Likewise.
17880
56445fb2
VS
178812011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17882
17883 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
17884 Preserve partition number in mdadm code path.
17885
c871b1c6
VS
178862011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17887
17888 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
17889 few potentially useful grub_util_info.
17890
5e631b4f
CW
178912011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17892
17893 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
17894
2d5d0333
CW
178952011-03-30 Colin Watson <cjwatson@ubuntu.com>
17896
17897 * docs/grub.texi (default): Use @example rather than nested
17898 itemized lists to avoid breaking gendocs.
17899
3d7ed04e
CW
179002011-03-30 Colin Watson <cjwatson@ubuntu.com>
17901
17902 * docs/grub.texi (Future): Update.
17903
abf04200 179042011-03-30 Colin Watson <cjwatson@ubuntu.com>
17905
17906 * docs/grub.texi (Environment): New chapter.
17907 (Changes from GRUB Legacy): Link to "Environment block" section for
17908 details of limitations.
17909 (Simple configuration): Likewise. Link to documentation of gfxmode
17910 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
17911 respectively.
17912 (Shell-like scripting): Note that normal variables are stored in the
17913 environment.
17914 (gettext): Link to documentation of lang and locale_dir.
17915 (list_env): New section.
17916 (load_env): New section.
17917 (save_env): New section.
17918
17919 (Reporting bugs): Fix typo.
17920
e1ad0edd
VS
179212011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17922
17923 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
17924 the example.
17925
5d803174
VS
179262011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17927
17928 * grub-core/term/at_keyboard.c (set_scancodes)
17929 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
17930
2a2da1d0
CW
179312011-03-30 Colin Watson <cjwatson@ubuntu.com>
17932
17933 * docs/grub.texi (Menu-specific commands): Remove some semantics
17934 that were true in GRUB Legacy but not in GRUB 2.
17935 (submenu): New section.
17936 (false): New section.
17937 (read): New section.
17938 (true): New section.
17939
a7527639
CW
179402011-03-30 Colin Watson <cjwatson@ubuntu.com>
17941
17942 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
17943
179442011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
17945
17946 * docs/grub.texi (Simple configuration): Explain some of the
17947 current limitations of grub-mkconfig.
8a748df2 17948 Reported by: Leslie Rhorer.
e30af029 17949
fc858482
VS
179502011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17951
17952 Old macs search for boot.efi rather than for bootia32.efi.
17953
17954 * util/grub-install.in: Copy bootia32.efi to boot.efi.
17955 * util/grub-mkrescue.in: Likewise.
17956 Suggested by: Peter Jones.
17957
e1eb511d
VS
179582011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17959
17960 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
17961
70e75364
VS
179622011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17963
17964 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
17965 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
17966 (grub_lvm_mirror): New struct.
17967 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
17968 (grub_lvm_iterate): Iterate only visible volumes.
17969 (grub_lvm_read): Factor out to ..
17970 (read_lv): ... this. Support mirrors.
17971 (grub_lvm_read): New wrapper function.
17972 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
17973 stripped or mirrored.
17974
fc18f6a3
VS
179752011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17976
17977 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
17978
5c650f4c
CW
179792011-03-29 Colin Watson <cjwatson@ubuntu.com>
17980
17981 * docs/grub.texi (loopback): New section.
17982
61d7156b
CW
179832011-03-29 Colin Watson <cjwatson@ubuntu.com>
17984
17985 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
17986 removed -p option.
17987
994b8264
CW
179882011-03-29 Colin Watson <cjwatson@ubuntu.com>
17989
17990 * docs/grub.texi (BIOS installation): New section, partly based on
17991 previous text in other sections.
17992 (Installing GRUB using grub-install): Replace BIOS discussion with a
17993 cross-reference.
17994 (Images): Likewise.
17995
9e4d19e0
VS
179962011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17997
17998 * grub-core/kern/emu/hostdisk.c (find_partition_start)
17999 [HAVE_DIOCGDINFO]: Add safety checks.
18000
a307c0b2
VS
180012011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18002
18003 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
18004 per default compiled in kernel and prior to 8.0 isn't shipped at all.
18005
b4db4f39
CW
180062011-03-29 Colin Watson <cjwatson@ubuntu.com>
18007
18008 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
18009 real_sb->size is zero (e.g. RAID-0), get the disk size from
18010 real_sb->data_size instead.
18011 Fixes Ubuntu bug #743136.
18012
35e5f84c
VS
180132011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18014
18015 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
18016 printf clauses for printing size and start.
18017
d2e29d81
VS
180182011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18019
18020 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
18021 Reported and tested by: Timothy Nikkel.
18022
ed5587af
VS
180232011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18024
18025 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
18026 (dirty_region_add_real): ... this.
18027 (dirty_region_add): Don't discard margin refresh when performing
18028 scheduled repaint.
18029
a1dc717c
VS
180302011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18031
18032 * grub-core/lib/relocator.c (allocate_regstart)
18033 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
18034 terminals are capabple of malloc-free operation.
18035 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18036 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18037
9f3677d3
VS
180382011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
18039
18040 * util/grub-setup.c: Copy the partition table zone if floppy support
18041 is disabled, even if no partition table is found.
18042
18043 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
18044 during POST if an invalid partition table is contained in the PBR
18045 of the active partition when GRUB is installed to a partition.
18046
24148725
CW
180472011-03-28 Colin Watson <cjwatson@debian.org>
18048
18049 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
18050 comment.
18051
f329eda7
CW
180522011-03-28 Colin Watson <cjwatson@debian.org>
18053
18054 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
18055 to be specific about what kind of RAID device we're scanning for.
18056
c482ad98
SG
180572011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
18058
18059 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
18060 return freed string.
18061
5ee04984
VS
180622011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18063
18064 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
18065
f4727da9
VS
180662011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18067
18068 Use libgeom on FreeBSD to detect partitions.
18069
18070 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
18071 (grub-mkrelpath): Likewise.
18072 (grub-script-check): Likewise.
18073 (grub-editenv): Likewise.
18074 (grub-mkpasswd-pbkdf2): Likewise.
18075 (grub-fstest): Likewise.
18076 (grub-mkfont): Likewise.
18077 (grub-mkdevicemap): Likewise.
18078 (grub-probe): Likewise.
18079 (grub-setup): Likewise.
18080 (grub-ofpathname): Likewise.
18081 (grub-mklayout): Likewise.
18082 (example_unit_test): Likewise.
18083 (grub-menulst2cfg): Likewise.
18084 * grub-core/Makefile.core.def (grub-emu): Likewise.
18085 (grub-emu-lite): Likewise.
18086 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
18087 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
18088 define HAVE_DIOCGDINFO.
18089 (follow_geom_up) [FreeBSD]: New function.
18090 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
18091 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
18092 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
18093 unconditionally of HAVE_DIOCGDINFO.
18094
82fe6c75
VS
180952011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18096
18097 Fix FreeBSD compilation problem.
18098
18099 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
18100 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
18101
4c6c9431
CW
181022011-03-24 Colin Watson <cjwatson@ubuntu.com>
18103
18104 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
18105 Switch back to page zero before loading a kernel, since some kernel
18106 drivers expect that.
18107 Thanks to: Felix Kuehling.
18108
c7064d94
VS
181092011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18110
18111 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
18112 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
18113 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
18114
3f71cded
VS
181152011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18116
18117 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
18118 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
18119
ef6de21a
VS
181202011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18121
18122 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
18123 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
18124 malloc is disabled.
18125
8bc66a2c
VS
181262011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18127
18128 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
18129 for modules headers when counting the needed allocation size.
18130
5657722c
VS
181312011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18132
18133 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
18134 if no ASCII character is found to prevent crash.
18135
41a85f55
AK
181362011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
18137
18138 * grub-core/video/bitmap.c (match_extension): Ignore case.
18139
59e1e5f1
VS
181402011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18141
18142 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
18143
bd4d051a
VS
181442011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18145
18146 * grub-core/script/parser.y: Declare "time" as valid argument.
18147
bae7fcc1
PJ
181482011-03-23 Peter Jones <pjones@redhat.com>
18149
18150 Fix incorrect assert failure reporting.
18151
18152 * grub-core/tests/example_functional_test.c (example_test): Add
18153 a failure comment.
18154 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
18155 (failure_start): ...this. Check that malloc succeeded.
18156 Don't call xvasprintf. Return failure struct.
18157 (failure_append_vtext): New function.
18158 (failure_append_text): Likewise.
18159 (add_failure): Likewise.
18160 (grub_test_assert_helper): Likewise.
18161 * include/grub/test.h (grub_test_assert_helper): New declaration.
18162 (grub_test_assert): Macro rewritten.
18163
537dc9be
VS
181642011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18165
18166 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
18167
fa3e01bf
VS
181682011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18169
18170 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
18171
b1d28404
VS
181722011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18173
18174 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
18175 into GRUB-style one.
18176
2e3e2e09
VS
181772011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18178
18179 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
18180 error and not grub_errno.
18181 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
18182
ed57e557
VS
181832011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18184
18185 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
18186 GRUB_USB_SPEED_NONE in case of failure and not the error code.
18187
d1611f01
VS
181882011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18189
18190 * grub-core/efiemu/i386/pc/cfgtables.c
18191 (grub_machine_efiemu_init_tables): Make declaration a prototype.
18192 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
18193 (grub_xnu_unlock): Likewise.
18194 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
18195
7d4e39d6
VS
181962011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18197
18198 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
18199 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
18200 * grub-core/commands/hashsum.c (aliases): Likewise.
18201 * grub-core/commands/setpci.c (pci_registers): Likewise.
18202 * grub-core/disk/usbms.c (attach_hook): Likewise.
18203 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
18204 (zio_checksum_table): Likewise.
18205 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
18206 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
18207 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
18208 * grub-core/lib/relocator.c (leftovers): Likewise.
18209 (extra_blocks): Likewise.
18210 * grub-core/loader/i386/bsd.c (relocator): Likewise.
18211 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
18212 (modules_last): Likewise.
18213 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
18214 (devices): Likewise.
18215 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
18216 (modules_last): Likewise.
18217 * grub-core/normal/auth.c (users): Likewise.
18218 * grub-core/normal/context.c (initial_menu): Likewise.
18219 (current_menu): Likewise.
18220 * grub-core/normal/crypto.c (crypto_specs): Likewise.
18221 * grub-core/term/serial.c (grub_serial_ports): Likewise.
18222 (grub_serial_terminfo_input_template): Likewise.
18223 (grub_serial_terminfo_output_template): Likewise.
18224 (grub_serial_terminfo_input): Likewise.
18225 (grub_serial_terminfo_output): Likewise.
18226 (registered): Likewise.
18227 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
18228
40fc4659
VS
182292011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18230
18231 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
18232 grub_video_mode_type_t.
18233 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
18234 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
18235 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
18236
2da48d28
VS
182372011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18238
18239 * util/grub-install.in: Correct the x86-64 name as x86_64.
18240
9b43bf39
CW
182412011-03-11 Colin Watson <cjwatson@ubuntu.com>
18242
18243 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
18244 initial chunk read from the kernel always includes GRUB's multiboot
18245 header, which is now outside the first sector.
18246
be1a7ce0
CW
182472011-03-09 Colin Watson <cjwatson@ubuntu.com>
18248
18249 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
18250 cached mmap_size, so that this works correctly when called multiple
18251 times.
18252 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
18253
83a3c48d
CW
182542011-03-09 Colin Watson <cjwatson@ubuntu.com>
18255
18256 * docs/grub.texi (Simple configuration): Tidy up formatting.
18257
57d75699
SJ
182582011-03-07 Szymon Janc <szymon@janc.net.pl>
18259
18260 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
18261 Set-but-not-used variable removed.
18262
028501a0
VS
182632011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
18264
18265 Workaround yet another IEEE1275 bug.
18266
18267 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
18268 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
18269 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
18270 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
18271 is set.
18272 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18273 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
18274
d998657d
VS
182752011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
18276
18277 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
18278 error.
18279
fee7cdd4
CW
182802011-02-11 Colin Watson <cjwatson@ubuntu.com>
18281
18282 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
18283 empty, since in that case we can only generate either nothing or a
18284 syntactically invalid configuration file.
18285 Reported by: Michal Suchanek. Fixes Debian bug #612898.
18286
97286eb5
CW
182872011-02-09 Colin Watson <cjwatson@ubuntu.com>
18288
18289 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
18290 (Making a GRUB bootable CD-ROM): Likewise.
18291 (Invoking grub-mkrescue): New section.
18292 Reported by: Yann Dirson. Fixes Debian bug #612585.
18293
22b28eb3
CW
182942011-02-09 Colin Watson <cjwatson@ubuntu.com>
18295
18296 * util/grub-install.in: Remove unnecessary brackets from tr
18297 arguments.
18298 * util/grub.d/10_hurd.in: Likewise.
18299 * util/grub.d/10_kfreebsd.in: Likewise.
18300 * util/grub.d/10_linux.in: Likewise.
18301 * util/grub.d/20_linux_xen.in: Likewise.
18302 Reported by: Jamie Heilman. Fixes Debian bug #612564.
18303
7e735e43
CW
183042011-02-08 Colin Watson <cjwatson@ubuntu.com>
18305
18306 * include/grub/file.h (not_easly_seekable): Rename to ...
18307 (not_easily_seekable): ... this. Update all users.
18308
800f1881
CW
183092011-01-28 Colin Watson <cjwatson@ubuntu.com>
18310
18311 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
18312 grub-mkrescue.
18313
3281d3d6
VS
183142011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
18315
18316 * util/grub-mkimage.c (generate_image): Refuse to create the images
18317 bigger than the actual flash (512K) in Loongson machines. 512K is also
18318 the biggest chip supported by them.
18319
3533413c
VS
183202011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18321
18322 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
18323
73ae4f4f
VS
183242011-01-22 Anthony DeRobertis <anthony@derobert.net>
18325
18326 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
18327 super_offset field.
18328
37f4f608
VS
183292011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18330
18331 * util/grub-install.in: Ignore install device on platforms
18332 where it doesn't make sense. Always use UUIDs except on pc, efi and
18333 sparc64.
18334 Reported by: Daniel Kahn Gillmor.
18335
03a4ccb5
VS
183362011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18337
18338 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
18339
ffc8f4d8
VS
183402011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18341
18342 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
18343 (iterate_real): Don't rely on partition being non-NULL.
18344
80f23be7
VS
183452011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18346
18347 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
18348 supported platforms. Put a compile time assert for this rather than
18349 generate a warning with 32-bit shift.
18350
5d4f4dd5
VS
183512011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18352
18353 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
18354 logical expression more readable.
18355
e489601a
VS
183562011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18357
18358 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
18359 even if some elements have a name.
18360 Reported by: Alexander GQ Gerasiov.
18361
96e0a6ea
CW
183622011-01-22 Colin Watson <cjwatson@ubuntu.com>
18363
18364 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
18365 path unreadable if `grub-probe -t abstraction' fails, for example if
18366 memberlist fails on an LVM volume group.
18367 Reported by: Darius Jahandarie.
18368
81431e2b
CW
183692011-01-22 Colin Watson <cjwatson@ubuntu.com>
18370
18371 * docs/grub.texi (Simple configuration): Document
18372 GRUB_PRELOAD_MODULES.
18373
5e79d66a
CW
183742011-01-17 Colin Watson <cjwatson@ubuntu.com>
18375
18376 * .bzrignore: Remove nonexistent grub-pbkdf2.
18377
646ada34
VS
183782011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
18379
18380 * configure.ac: Bump version to 1.99~rc1.
18381
04360337
VS
183822011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
18383
18384 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
18385 for safety.
18386
46c9db88
VS
183872011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
18388
18389 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
18390 module.
18391
183922011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
18393
18394 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
18395
4fbf1852
VS
183962011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
18397
18398 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
18399 diskdevid.
18400
f1632d4d
VS
184012011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
18402
18403 Fix compilation on cygwin.
18404
18405 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
18406 -R .drectve on cygwin.
18407 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
18408 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
18409 (COND_CYGWIN): New condition.
18410 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
18411 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
18412 not @TARGET_OBJ2ELF@.
18413 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
18414 type to determine whether aux is to be used.
18415
0b5e127b
VS
184162011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18417
18418 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
18419 realpath'ed device string.
18420 Handle floppy (somewhat).
18421 Issue error in unknown case rather than garbage.
18422 Reported by: Axel Beckert.
18423
173b71e9
VS
184242011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18425
18426 * util/grub.d/00_header.in (load_video): Handle the case when no video
18427 drivers available.
18428 Thanks to: Axel Beckert.
18429
f8f479db
VS
184302011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18431
18432 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
18433 variable. Fixes problem on big endian platforms.
18434
8fc0a245
VS
184352011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18436
18437 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
18438 It doesn't work well there.
18439
b8494fbe
VS
184402011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18441
18442 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
18443 warning.
18444 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
18445 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
18446 counter.
18447
b44a558c
VS
184482011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18449
18450 Use alias->path rather than buggy "canon".
18451
18452 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
18453 (ofdisk_hash_add): New argument curcan. All users updated.
18454
51fa856c
CW
184552011-01-11 Colin Watson <cjwatson@ubuntu.com>
18456
18457 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
18458
9da068a5
VS
184592011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
18460
18461 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
18462 loadmask before doing any calculations. Use correct type for offset.
18463 (grub_linux_load64): Likewise.
18464
86205c94
CW
184652011-01-11 Colin Watson <cjwatson@ubuntu.com>
18466
18467 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
18468 with NULL.
18469 (console_grub_equivalences_unshift): Likewise.
18470 Reported by: Daniel Dehennin.
18471
4531a206
VS
184722011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
18473
18474 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
18475 (set_env_limn_ro): Likewise.
18476 (GRUB_MOD_INIT): Likewise.
18477 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
18478 ARRAY_SIZE while on it.
18479 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
18480 * grub-core/normal/context.c (grub_env_export): Move from here ...
18481 * grub-core/kern/env.c (grub_env_export): ... here.
18482 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
18483 prefix.
18484 * grub-core/kern/main.c (grub_main): Export root and prefix.
18485 * include/grub/env.h (grub_env_export): Export.
18486 Reported by: Seth Goldberg.
18487
45146057
VS
184882011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
18489
18490 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18491 Take into account space used by ELF sections and multiboot palette.
18492 Reported by: Grégoire Sutre.
18493
f093110b
VS
184942011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
18495
18496 * BUGS: New file.
18497
3395fe52
VS
184982011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18499
18500 Pass more appropriate video id to Linux.
18501
18502 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
18503 grub_video_get_driver_id and variable gfxpayloadforcelfb to
18504 fill have_vga.
18505 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
18506 shift params->lfb_size.
18507 * include/grub/i386/linux.h: Make an enume out of have_vga values.
18508
c2fa6cbb
VS
185092011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18510
18511 * util/grub-menulst2cfg.c: Add missing include of misc.h.
18512
b3ff6ff0
VS
185132011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18514
18515 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
18516 separator and pass bootpath/devid even if only one of them is available.
18517 Reported by: Seth Goldberg.
18518
ae67942e
VS
185192011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18520
18521 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
18522 implementations bug on them.
18523
18524 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
18525 memory.
18526 (filter_memory_map): Likewise.
18527
d570097a
VS
185282011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18529
18530 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
18531 Reported by: nebuchadnezzar.
18532
a508e776
VS
185332011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18534
18535 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
18536 Reported by: nebuchadnezzar.
18537
dcb883b1
VS
185382011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18539
18540 Submenu default support.
18541
18542 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
18543 auto_boot. All users updated.
18544 Declared static.
18545 Handle chosen and default with submenus.
18546 (grub_menu_execute_with_fallback): Declared static.
18547 Don't notify failure if autobooted. Upper level does it.
18548 (menuentry_eq): New function.
18549 (get_entry_number): Use menuentry_eq.
18550 (show_menu): New parameter "autobooted". All users updated.
18551 (grub_show_menu): Likewise.
18552 * include/grub/normal.h (grub_show_menu): Likewise.
18553 * include/grub/menu.h (grub_menu_execute_entry): Removed.
18554 (grub_menu_execute_with_fallback): Likewise.
18555
6fef99b4
VS
185562011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18557
18558 * util/grub-mklayout.c (usage): Update help text.
18559
47a77af5
VS
185602011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18561
18562 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
18563
ce6bb3ee
VS
185642011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18565
18566 * util/grub-menulst2cfg.c (main): Trim the line.
18567
db87be2a
VS
185682011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18569
18570 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
18571 (grub_machine_init): Don't check amount of low memory as reportedly
18572 INT 12h can be broken and if low memory is too low we wouldn't have
18573 gotten into grub_machine_init anyway.
18574
c49849cc
VS
185752011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18576
18577 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
18578 (grub_machine_mmap_iterate): Take low memory into account
18579
b1969b30
VS
185802011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18581
18582 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
18583 badfs.
18584 Reported by: TiCPU.
18585
cf0eaf13
VS
185862011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18587
18588 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
18589 members errors.
18590
1f060f39
GS
185912011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
18592
18593 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
18594 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
18595
a21e5672
GS
185962011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
18597
18598 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
18599 openbsd and netbsd types being in part_bsd module.
18600
c88172fa
VS
186012011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18602
18603 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
18604 (_FILE_OFFSET_BITS): Likewise.
18605 Reported by: Seth Goldberg.
18606
53798c4b
GS
186072011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18608
18609 * configure.ac: Check for libdevmapper header.
18610
e7121b69
VS
186112011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18612
18613 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
18614 avoid aliasing.
18615 (fzap_lookup): Likewise.
18616 (dnode_get): Likewise.
18617 (make_mdn): Likewise.
18618 (zfs_mount): Likewise.
18619 (fzap_iterate): Use temporary pointer to avoid aliasing.
18620 (grub_zfs_read): Likewise.
18621 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
18622 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
18623 pointers to avoid aliasing.
18624 (grub_cmd_xnu_kernel64): Likewise.
18625 (grub_xnu_load_driver): Likewise.
18626
fc836af9
VS
186272011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18628
18629 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
18630 aliasing warning.
18631 (grub_cmd_terminal_output): Likewise.
18632 Reported and tested by: Grégoire Sutre.
18633
f9f37648
VS
186342011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18635
18636 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
18637 warning.
18638 Reported and tested by: Grégoire Sutre.
18639
ec1dfd63
VS
186402011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18641
18642 * configure.ac: Do CPU substitution even if it's specified explicitly.
18643 Reported and tested by: Alain Greppin.
18644
9462775a
VS
186452011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18646
18647 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
18648 Reported and tested by: Alain Greppin.
18649
0fd48e35
VS
186502011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18651
18652 Satisfy some bison versions need for inttypes.h.
18653
18654 * grub-core/lib/posix_wrap/inttypes.h: New file.
18655 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
18656 (int16_t): Likewise.
18657 (int32_t): Likewise.
18658 (int64_t): Likewise.
18659 Reported and tested by: Alain Greppin.
18660
43f1bc83
VS
186612011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18662
18663 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
18664 Silence spurious warning.
18665 Reported and tested by: Alain Greppin.
18666
64d1f041
SJ
186672011-01-07 Szymon Janc <szymon@janc.net.pl>
18668
18669 * docs/grub.texi (Support automatic decompression): Update with xz
18670 decompression support.
18671
25953e10
SJ
186722011-01-07 Szymon Janc <szymon@janc.net.pl>
18673
18674 Improve loaders' kernel command line handling.
18675
18676 * grub-core/lib/cmdline.c: New file.
18677 * include/grub/lib/cmdline.h: Likewise.
18678 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
18679 grub_create_loader_cmdline to create kernel command line.
18680 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
18681 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
18682 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
18683 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
18684 (linux): Add lib/cmdline.c on common.
18685
e72d259f
VS
186862011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
18687
18688 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
18689 inopos might be unaligned.
18690
c0cf26da
VS
186912011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
18692
18693 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
18694 endian transformations.
18695 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18696 Based on report by: Doug Nazar.
18697
0ca09e6c
DN
186982011-01-07 Doug Nazar <nazard.michi@gmail.com>
18699
18700 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
18701 array->members[i].start_sector.
18702 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
18703
014b6806
VS
187042011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
18705
18706 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
18707 Reported and tested by: Grégoire Sutre.
18708
415502c2
CW
187092011-01-06 Colin Watson <cjwatson@ubuntu.com>
18710
18711 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
18712 avoid causing test failures by clearing the screen.
18713
71b6a2b7
CW
187142011-01-06 Colin Watson <cjwatson@ubuntu.com>
18715
18716 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
18717 Fix prefix check to handle the case where dir ends with a slash
18718 (most significantly, "/" itself).
18719 Reported by: Michael Vogt.
18720
b3f8d28a
VS
187212011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
18722
18723 Run terminfo_cls on initing terminfo output to clear the screen and
18724 move the cursor to (0,0).
18725
18726 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
18727 Call grub_terminfo_output_init.
18728 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
18729 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
18730 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
18731
4c3e4f37
VS
187322011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
18733
18734 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
18735 only when needed.
18736
488f71f1
VS
187372011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
18738
18739 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
18740 CTRL.
18741
18a38098
VS
187422011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
18743
18744 The E820 type 5 is BADRAM, not EXEC_CODE.
18745
18746 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
18747 (GRUB_E820_BADRAM): New define.
18748 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
18749 into reserved. Propagate BADRAM.
18750 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
18751 (GRUB_E820_BADRAM): New define.
18752
9eae2084
VS
187532011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18754
18755 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
18756 Ignore the memory post-4G.
18757 (grub_relocator_firmware_alloc_region): Additional debug statement.
18758
ebc71d28
VS
187592011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18760
18761 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
18762 names.
18763 Reported by: David Pravec.
18764
446fa400
VS
187652011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18766
18767 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
18768 BIOSes.
18769
a0159f37
VS
187702011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18771
18772 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
18773 Prevent overflow.
18774 (grub_reed_solomon_recover): Likewise.
18775
e5146ca1
VS
187762011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18777
18778 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
18779
187802011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
18781
18782 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
18783 variable.
18784
5b1bdf12
CW
187852011-01-04 Colin Watson <cjwatson@ubuntu.com>
18786
18787 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
18788 descriptions of extract_legacy_entries_source and
18789 extract_legacy_entries_configfile.
18790 Reported by: Seung Soo, Ha.
18791
99d925aa
CW
187922011-01-03 Colin Watson <cjwatson@ubuntu.com>
18793
18794 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
18795 on devices that do not implement function 0.
18796
4af0504b
DV
187972011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
18798
18799 * grub-core/fs/hfsplus.c: Make parent unsigned.
18800 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
18801 overflows.
18802 (grub_hfsplus_cmp_extkey): Likewise
18803
469ee10a
VS
188042011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
18805
18806 * util/grub-install.in: Correctly use bootloader_id and not
18807 GRUB_DISTRIBUTOR on efibootmgr line.
18808
323a8e9c
VS
188092011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
18810
18811 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
18812
1b394975
IC
188132010-12-31 Ian Campbell <ijc@hellion.org.uk>
18814
18815 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
18816 Xen and reorder menu item wording to make it clearer that this entry
18817 will launch Xen. Print separate messages when loading Xen and
18818 Linux.
18819
275bff5f
VS
188202010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
18821
18822 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
18823 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
18824 loop in case of incorrect amiga partmap.
18825
307806cb
VS
188262010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
18827
18828 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
18829 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
18830 Reported by:EHeM.
18831
b12b923e
VS
188322010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
18833
18834 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
18835 spurious warning.
18836 Reported by: crocket
18837
14b48a19
VS
188382010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18839
18840 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
18841 Preload EFIemu.
18842 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
18843
693db2df
VS
188442010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18845
18846 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
18847 is loaded
18848 (grub_cmd_xnu_kextdir): Likewise.
18849 (grub_cmd_xnu_splash): Likewise.
18850
c7638645
VS
188512010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18852
18853 Avoid using Reed-Solomon with 0 redundancy.
18854
18855 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
18856 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
18857 or 0 redundancy.
18858 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
18859 (grub_reed_solomon_recover): Likewise.
18860
25dd4780
VS
188612010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18862
18863 Don't use disk subsystem in freebsd_boot.
18864
18865 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
18866 (freebsd_biosdev): Likewise.
18867 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
18868 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
18869
0b2db943
VS
188702010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
18871
18872 Handling of files of unknown size is currently limited. They can't be
18873 used e.g. for initrd or modules. Moreover gzip handling of not
18874 easily seekable files is buggy. Disable unknown file size for now. May
18875 be inefficient but works.
18876
18877 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
18878 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
18879
5c408d0f
MP
188802010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
18881
18882 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
18883 floppy probe.
18884
190a011a
JD
188852010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
18886
18887 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
18888
022d01b8
SL
188892010-12-25 Shea Levy <shlevy>
18890
18891 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
18892
c4855fdc
VS
188932010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18894
18895 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
18896 Windows Server 2008.
18897 Reported by: Devin Giddings.
18898
0354b867
VS
188992010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18900
18901 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
18902 writing an error message because of async power management.
18903 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
18904 (grub_reboot): Likewise.
18905
ab66c69f
JU
189062010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
18907
18908 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
18909 keep unit tests from failing when they shouldn't.
18910
1426ef35
CW
189112010-12-21 Colin Watson <cjwatson@ubuntu.com>
18912
18913 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
18914 previous patch increased the size of the RS code by 20 bytes (at
18915 least with gcc-4.4), so increase this by 20 bytes to match.
18916 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
18917
20641b6b
CW
189182010-12-21 Colin Watson <cjwatson@ubuntu.com>
18919
18920 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
18921 scratch area. Make sure to initialise chosen in standalone mode as
18922 well as non-standalone.
18923 Reported by: Robert Hooker and Andy Whitcroft.
18924 Tested by: Andy Whitcroft.
18925
d060ad60
CW
189262010-12-21 Colin Watson <cjwatson@ubuntu.com>
18927
18928 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
18929 constructing a new unescaped string and passing it to grub_xputs in
18930 one go, rather than passing characters to grub_printf one at a time.
18931
b889cfad
CW
189322010-12-21 Colin Watson <cjwatson@ubuntu.com>
18933
18934 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
18935 initialising utf16.
18936
4e01b6c8
CW
189372010-12-21 Colin Watson <cjwatson@ubuntu.com>
18938
18939 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
18940 comment. Add an extra layer of quotation, requiring the output of
18941 this function to be used in a printf format string.
18942 (gettext_printf): New function.
18943 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
18944 Extract translatable strings from here-documents and use a temporary
18945 variable instead, so that xgettext can find them.
18946 * util/grub.d/10_kfreebsd.in: Likewise.
18947 * util/grub.d/10_linux.in: Likewise.
18948 * util/grub.d/20_linux_xen.in: Likewise.
18949
18950 * po/grub.d.sed: New file.
18951 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
18952 arguments. Set c-format flags on all strings extracted from
18953 util/grub.d/ (xgettext refuses to include these itself for strings
18954 it extracted from a shell file, but these really are c-format).
18955
5318fe98
VS
189562010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18957
18958 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
18959 Avoid next pointing to nowhere.
18960
6c85b743
VS
189612010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18962
18963 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
18964 rather than assuming than rootblock is exactly in the middle.
18965 (grub_affs_label): Likewise.
18966
a2a08a35
VS
189672010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18968
18969 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
18970 reserved_first_sector to 0.
18971 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
18972 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
18973 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
18974
7059d1ec
VS
189752010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18976
18977 Fix handling of UTF-16 UDF labels.
18978
18979 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
18980 (read_string): .. here.
18981 (grub_udf_label): Use read_string.
18982
30aff4cb
BC
189832010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
18984
18985 * grub-core/normal/menu_entry.c (run): Execute commands from menu
18986 editor under argument scope.
18987 Reported by: Jordan Uggla
18988
5cf86f4b
VS
189892010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18990
18991 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
18992
32570200
CW
189932010-12-18 Colin Watson <cjwatson@ubuntu.com>
18994
18995 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
18996 line, and other keys scroll an entire page (previous handling was
18997 for \r and \n to scroll a page and other keys to scroll two lines).
18998
e1dffcf2
VS
189992010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19000
19001 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19002 Set ptrdest to correct get_physical_target_address rather than
19003 incorrect get_virtual_current_address.
19004
b04298cf 190052010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
19006
19007 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
19008 correct cat to grub_uint8_t * rather than grub_uint32_t *.
19009
5367ecd3
CW
190102010-12-10 Colin Watson <cjwatson@ubuntu.com>
19011
19012 * .bzrignore: Ignore grub-core/rs_decoder.S.
19013
1fb430f8
CW
190142010-12-10 Colin Watson <cjwatson@ubuntu.com>
19015
19016 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
19017 .mo/.mo.gz opening sequence to ...
19018 (grub_mofile_open_lang): ... here.
19019 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
19020 * util/grub.d/00_header.in (grub_lang): Include country part of
19021 locale.
19022 Reported by: Mario Limonciello.
19023
a94a6671
RM
190242010-12-09 Robert Millan <rmh@gnu.org>
19025
19026 * NEWS: Document addition of ZFS support.
19027
24b7938b
CW
190282010-12-04 Colin Watson <cjwatson@ubuntu.com>
19029
19030 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
19031 rather than `/ 2', as the latter requires -Wa,--divide which would
19032 require bumping our minimum binutils version.
19033
bddc3ef6
BC
190342010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
19035
19036 * util/grub-script-check.c (main): Print script line number on
19037 error.
19038
bf78d5b2
RM
190392010-12-01 Robert Millan <rmh@gnu.org>
19040
19041 * grub-core/fs/zfs/zfs.c: New file.
19042 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
19043 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
19044 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
19045 * grub-core/fs/zfs/zfsinfo.c: Likewise.
19046
19047 * include/grub/zfs/dmu.h: Likewise.
19048 * include/grub/zfs/dmu_objset.h: Likewise.
19049 * include/grub/zfs/dnode.h: Likewise.
19050 * include/grub/zfs/dsl_dataset.h: Likewise.
19051 * include/grub/zfs/dsl_dir.h: Likewise.
19052 * include/grub/zfs/sa_impl.h: Likewise.
19053 * include/grub/zfs/spa.h: Likewise.
19054 * include/grub/zfs/uberblock_impl.h: Likewise.
19055 * include/grub/zfs/vdev_impl.h: Likewise.
19056 * include/grub/zfs/zap_impl.h: Likewise.
19057 * include/grub/zfs/zap_leaf.h: Likewise.
19058 * include/grub/zfs/zfs.h: Likewise.
19059 * include/grub/zfs/zfs_acl.h: Likewise.
19060 * include/grub/zfs/zfs_znode.h: Likewise.
19061 * include/grub/zfs/zil.h: Likewise.
19062 * include/grub/zfs/zio.h: Likewise.
19063 * include/grub/zfs/zio_checksum.h: Likewise.
19064
19065 * Makefile.util.def: Build ZFS into libgrubmods.
19066 * grub-core/Makefile.core.def: Build zfs.mod.
19067
3f0f3831
SJ
190682010-11-30 Szymon Janc <szymon@janc.net.pl>
19069
19070 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
19071 variable.
19072 * grub-core/commands/wildcard.c (match_files): Likewise.
19073
3a4253b2
RM
190742010-11-30 Robert Millan <rmh@gnu.org>
19075
19076 * grub-core/loader/i386/bsd.c
19077 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
19078 whether kernel is loaded using grub_loader_is_loaded(), rather
19079 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
19080 certain error conditions.
19081
8c317b27
RM
190822010-11-30 Robert Millan <rmh@gnu.org>
19083
c5c9cd3e
RM
19084 * grub-core/commands/echo.c: Include `<grub/term.h>'.
19085 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 19086
49d3ab46
VS
190872010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
19088
19089 Avoid using tricks for initialising endian variables.
19090
19091 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
19092 Make const.
19093 (GRUB_MOD_INIT): Don't byte-swap.
19094 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
19095 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
19096 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
19097 (grub_swap_bytes32_compile_time): Likewise.
19098 (grub_cpu_to_le32_compile_time): Likewise.
19099 (grub_cpu_to_le16_compile_time): Likewise.
19100
f420a804
VS
191012010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
19102
19103 * util/grub-setup.c (setup): Stop recommending --force. People who
19104 understand the dangers of blocklists are able to find this option
19105 anyway and the ones who don't shouldn't use it anyway.
19106
4e7db17b
RM
191072010-11-26 Robert Millan <rmh@gnu.org>
19108
19109 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
19110 Update all users.
19111
9be57a0d
CW
191122010-11-26 Colin Watson <cjwatson@ubuntu.com>
19113
19114 Fix LVM-on-RAID probing.
19115
19116 * util/grub-probe.c (probe): Remember which disk was detected as
19117 RAID (perhaps an LVM physical volume). Use that disk's raidname
19118 rather than that of the top-level disk.
19119
2c7859b3 191202010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 19121
d7647bb6
BC
19122 Fix cmdline argument quotes for setparams command of menuentry
19123 definitions.
7e623b0d
BC
19124
19125 * grub-core/commands/menuentry.c (setparams_prefix): Use single
19126 quotes for arguments.
f866fe80 19127 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 19128 grub_strchrsub function instead.
f866fe80 19129
7955bea0 19130 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 19131
74f72a64
CW
191322010-11-24 Colin Watson <cjwatson@ubuntu.com>
19133
19134 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
19135 effort by skipping "." and ".." entries up-front.
19136 Suggested by: Michael Lazarev.
19137
5a407278
CW
191382010-11-24 Colin Watson <cjwatson@ubuntu.com>
19139
19140 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
19141 ldflags to ldadd, to fix link line ordering.
19142 (none_decompress): Likewise.
19143
3030d8ec
CW
191442010-11-24 Colin Watson <cjwatson@ubuntu.com>
19145
19146 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
19147 platforms.
19148 (grub-emu-lite): Remove kern/emu/cache.S.
19149
b7fbac12
CW
191502010-11-23 Colin Watson <cjwatson@ubuntu.com>
19151
19152 * util/deviceiter.c (compare_devices): If the by-id link for a
19153 device couldn't be resolved, fall back to sorting by the by-id link
19154 rather than segfaulting.
19155 Reported and tested by: Daniel Mierswa.
19156
5225f328
CW
191572010-11-23 Colin Watson <cjwatson@ubuntu.com>
19158
19159 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
19160 ldflags, to fix link line ordering.
19161
038b3ce8
CW
191622010-11-23 Colin Watson <cjwatson@ubuntu.com>
19163
19164 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
19165 linkers are picky about this.
19166
bf16e98e
CW
191672010-11-23 Colin Watson <cjwatson@ubuntu.com>
19168
19169 * grub-core/Makefile.am (command.lst): Adjust sed expression
19170 ordering so that extended and priority commands aren't treated as
19171 ordinary commands.
19172
7242bab6
CW
191732010-11-23 Colin Watson <cjwatson@ubuntu.com>
19174
19175 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
19176 Remove byte-swapping function calls, which are not valid in
19177 structure initialisers.
19178 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
19179 non-const.
19180 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
19181 grub_gpt_partition_type_bios_boot.
19182
14e8b279
CW
191832010-11-22 Colin Watson <cjwatson@ubuntu.com>
19184
19185 Fix test program build on GNU/kFreeBSD.
19186
19187 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
19188 $(LIBNVPAIR)' library dependencies.
19189
e6f63338 191902010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
19191
19192 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
19193
cf8ffc38
CW
191942010-11-22 Colin Watson <cjwatson@ubuntu.com>
19195
19196 * util/grub-install.in: Remove excessive quoting that broke
19197 installations to RAID devices.
19198
7f8b0fd7
VS
191992010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19200
19201 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
19202 bootloader version instead of 0.
19203
dfd240b1
VS
192042010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19205
19206 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
19207 warning.
19208
7b61e609
VS
192092010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19210
19211 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
19212 retrieve the metadat sector if size isn't known.
19213 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19214
9dfe92d0
RM
192152010-11-18 Robert Millan <rmh@gnu.org>
19216
19217 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
19218 with grub_memcmp().
19219
41cc919e
VS
192202010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
19221
19222 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
19223 arrow.
19224 Reported by: Jordan Uggla.
19225
1afcc914
VS
192262010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19227
19228 Make better UTF compliant.
19229
19230 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
19231 sequences as incorrect.
19232 (grub_is_valid_utf8): Likewise.
19233 (grub_utf8_to_ucs4): Likewise.
19234 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
19235 (grub_ucs4_to_utf8_alloc): Likewise.
19236 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
19237
f1808884
VS
192382010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19239
19240 Make legacy_source behave like source.
19241
19242 * grub-core/commands/legacycfg.c (legacy_file): Don't call
19243 grub_show_menu.
19244 (grub_cmd_legacy_source): Call grub_show_menu if needed.
19245
24ec575b
CW
192462010-11-16 Colin Watson <cjwatson@debian.org>
19247
19248 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
19249 (-Wunused implies -Wunused-parameter, but not vice versa).
19250
72b7c7aa
CW
192512010-11-16 Colin Watson <cjwatson@ubuntu.com>
19252
19253 * configure.ac: Make error messages less confusing by testing for
19254 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
19255 accepted, but produces a diagnostic if something else is wrong).
19256
e98937aa
VS
192572010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
19258
19259 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
19260 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
19261 (now unused).
19262 (grub_keyboard_controller_init)
19263 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
19264 read the initial state since controller isn't inited yet.
19265
f6bbabc3
VS
192662010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
19267
19268 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
19269 allocate_regbeg may need to create new chunk header.
19270
22e7dbb2
VS
192712010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19272
19273 Fix quoting in legacy parser.
19274
19275 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
19276 single quotes.
19277 (grub_legacy_parse): Likewise.
19278 Reported by: Jordan Uggla.
19279 Tested by: Jordan Uggla.
19280
03f80960
VS
192812010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19282
19283 Don't add -lgcc on i386 and x86_64.
19284
19285 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
19286 * conf/Makefile.common (LDADD_KERNEL): Likewise.
19287 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
19288
779dc15b
VS
192892010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19290
19291 * configure.ac: Add -Wno-trampolines when supported.
19292
d20a3b37
MV
192932010-11-14 Modestas Vainius <modax@debian.org>
19294
19295 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
19296 fakeraid.
19297
e5360933
GC
192982010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19299
19300 Add generic logical block size support for UDF.
19301
19302 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
19303 (GRUB_UDF_BLKSZ): Removed.
19304 (struct grub_udf_data): New field "lbshift" to hold the logical block
19305 size of the file system in log2 format. All users updated.
19306 (sblocklist): Change type to unsigned.
19307 (grub_udf_mount): Change type of "sblklist" to unsigned.
19308 Move AVDP search before VRS recognition, because the latter requires
19309 knowledge of the logical block size, which is detected during the
19310 former.
19311 Detect and validate logical block size during AVDP search, adding
19312 support for block sizes 512, 1024 and 4096.
19313 Make VRS recognition independent of block size.
19314
cb0229c5
GC
193152010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19316
19317 Properly handle deleted files on UDF.
19318
19319 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
19320 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
19321 set.
19322
406858a8
GC
193232010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19324
19325 Support reading files larger than 2 GiB.
19326
19327 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
19328 "offset" to grub_off_t.
19329 (grub_udf_read_file): Likewise for parameter "pos".
19330
130da6a7
VS
193312010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19332
19333 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
19334 unavailable.
19335 (Simple configuration): Refer to Changes from GRUB Legacy about
19336 save_env availability.
19337
65e93f6b
VS
193382010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19339
19340 * util/grub-install.in: Ignore empty partition table detection
19341 instead of trying to include part_ module.
19342
1fd08bf1
VS
193432010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19344
19345 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
19346 LVM on RAID support.
19347
de1a024f
VS
193482010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19349
19350 Properly define WORDS_BIGENDIAN in wrapped environments.
19351
19352 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
19353 definition.
19354 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
19355
19356 Reported by: Manoel Rebelo Abranches.
19357 Tested by: Manoel Rebelo Abranches.
19358
bc5dd0b9
VS
193592010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19360
19361 * util/grub-mkconfig.in: Fix quoting.
19362
58c184be
VS
193632010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19364
19365 Support big ext2 files.
19366
19367 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
19368 (grub_ext2_read_block): Support triple indirect blocks.
19369 (grub_ext2_read_file): Use 64-bit types and read size_high.
19370 (grub_ext2_open): Read size_high.
19371 Reported by: Ximin Luo.
19372 Tested by: Manoel Rebelo Abranches.
19373
5f0c02b3
VS
193742010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19375
19376 * util/grub-install.in: Handle filenames containing spaces.
19377 Reported by: Jordan Uggla.
19378 Tested by: Jordan Uggla.
19379
4417aae6
VS
193802010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19381
19382 * util/grub-mkconfig.in (grub_script_check): New variable.
19383 Use grub_script_check instead of grub-script-check.
19384 Reported by: Barry Jackson.
19385
7625a68e
VS
193862010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19387
19388 * docs/grub.texi (menu): Correct the order.
19389 Reported by: D. Hugh Redelmeier.
19390
10001ac5
VS
193912010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
19392
19393 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
19394 jump.
19395
9c4cf53b
MRA
193962010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
19397
10001ac5
VS
19398 * include/grub/elfload.h (grub_elf32_size): New parameter.
19399 All users updated.
9c4cf53b
MRA
19400 Return maximum segments alignment.
19401 (grub_elf64_size): Likewise.
19402 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
19403 Return maximum segments alignment.
19404 (grub_elf64_size): Likewise.
19405 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
19406 (grub_linux_claimmap_iterate): New function. Uses the
19407 "available" property in the "memory" node for memory allocation
19408 for kernel in the PowerPC loader.
9c4cf53b
MRA
19409 (grub_linux_load32): Correctly find linux entry point offset.
19410 (grub_linux_load64): Likewise.
19411
d2bf06bf
RM
194122010-11-07 Robert Millan <rmh@gnu.org>
19413
19414 On mips-yeeloong, build with -march=loongson2f when this flag is
19415 available (GCC >= 4.4).
19416 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
19417 `-march=mips3'.
19418 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
19419 or otherwise add -march=mips3.
19420
898c99a2
BC
194212010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
19422
87220a68
BC
19423 Suppress shell expansion on echo '*' and echo "*" like cases.
19424 Reported by: Jordan Uggla.
898c99a2
BC
19425
19426 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
19427 string arguments before shell expansion.
19428 * tests/grub_cmd_echo.in: New testcases.
19429
4f9b406a
RM
194302010-11-07 Robert Millan <rmh@gnu.org>
19431
19432 * conf/mips-qemu-mips.rmk: Remove stale file from previous
19433 transition.
19434
80c6d25e
VS
194352010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
19436
19437 * grub-core/kern/emu/hostdisk.c
19438 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
19439
4a1a0153
VS
194402010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
19441
19442 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
19443 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
19444 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
19445
34706ddc
VS
194462010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
19447
19448 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
19449
6972dea9
VS
194502010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
19451
19452 * util/grub-install.in: Replace useless recomendation to pass
19453 --modules with a recomendation to report a bug.
19454
9c693bd6
VS
194552010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
19456
19457 Properly register serial terminfo.
19458 Reported by: Jordan Uggla
19459
19460 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
19461 const.
19462 (grub_serial_terminfo_output_template): Likewise.
19463 (grub_cmd_serial): Register "serial" with terminfo.
19464 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
19465 grub_serial_terminfo_output.
19466
6c9e4c0c
RM
194672010-11-05 Robert Millan <rmh@gnu.org>
19468
19469 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
19470 needed).
19471
b9b3839f
RM
194722010-11-05 Robert Millan <rmh@gnu.org>
19473
19474 On Yeeloong, pass machine type information to Linux.
19475
19476 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
19477 (LOONGSON_MACHTYPE): New macro, set to
19478 "machtype=lemote-yeeloong-2f-8.9inches".
19479 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
19480 additional argument to Linux.
19481
1a3aaff4
RM
194822010-11-04 Robert Millan <rmh@gnu.org>
19483
19484 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
19485 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
19486 (its SATA disks are detected as slaveless IDE master drives on
19487 kFreeBSD).
19488 Reported by Carsten Aulbert.
19489
a75f4f62
CW
194902010-11-02 Colin Watson <cjwatson@ubuntu.com>
19491
19492 * util/bin2h.c (main): Fix spelling error in generated output.
19493
33b4b0c6
GS
194942010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
19495
19496 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
19497
2b36fbf4
VS
194982010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19499
19500 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
19501 vga= option is supplied.
19502
74aaf558
VS
195032010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19504
19505 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
19506 * util/grub.d/10_kfreebsd.in: Likewise.
19507 * util/grub.d/10_linux.in: Likewise.
19508 * util/grub.d/20_linux_xen.in: Likewise.
19509
6428dec3
VS
195102010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19511
19512 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
19513 argument as an argument to no-argument option.
19514
f8729d98
VS
195152010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19516
19517 * util/grub.d/10_linux.in: Add missing load_video with explicit
19518 GRUB_GFXPAYLOAD_LINUX.
19519
89d68fa6
VS
195202010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19521
19522 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
19523
3a1197cd
VS
195242010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19525
19526 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
19527 elements with invlid index.
19528 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19529 * grub-core/disk/raid.c (insert_array): Automatically reallocate
19530 members.
19531 * include/grub/raid.h (grub_raid_member): New struct.
19532 (grub_raid_array): Transform devices and start_sector into usage of
19533 grub_raid_member. All users updated
19534 (allocated_devs): New member.
19535
71574288
VS
195362010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19537
19538 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
19539 is modified
19540
8d40ec65
BC
195412010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
19542
19543 NetBSD build fix for getline function conflict from gnulib.
19544
19545 * Makefile.util.def (libgrubkern.a): New library for grub kernel
19546 components that depend on gnulib headers.
19547 (libgrubmods.a): Renamed from earlier libgrub.a.
19548 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
19549
95b9257e
VS
195502010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
19551
19552 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
19553 install rather than creating a broken install.
19554
26c53dc6
VS
195552010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
19556
19557 * util/grub-setup.c (argp): Remove misleading example of installing to
19558 a partition.
19559
4171b3c5
VS
195602010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
19561
19562 * util/grub-setup.c (setup): Clarify the error message.
19563
18568d18
VS
195642010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
19565
19566 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
19567
4f6a2e21
VS
195682010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
19569
19570 * grub-core/kern/emu/misc.c
19571 (grub_make_system_path_relative_to_its_root)
19572 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
19573
195742010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
19575
19576 * grub-core/kern/emu/misc.c
19577 (grub_make_system_path_relative_to_its_root): Revert r2882.
19578
e138c458
VS
195792010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
19580
19581 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
19582 useless field head. All users updated.
19583 (free_subchunk): Correct handling of IN_REGION subchunk.
19584
0cbcdf0e
CW
195852010-10-22 Colin Watson <cjwatson@ubuntu.com>
19586
19587 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
19588 (Supported kernels): Likewise.
19589
b65ea155
GS
195902010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
19591
19592 Make mktemp invocations portable.
19593
19594 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
19595 exit if mktemp fails.
19596 * tests/grub_script_blockarg.in: Likewise.
19597 * tests/partmap_test.in: Likewise.
19598 * tests/util/grub-shell-tester.in: Likewise.
19599 * tests/util/grub-shell.in: Likewise.
19600 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19601 * Makefile.am: Likewise, and chain shell commands with `&&'
19602 instead of ';'.
19603 * util/grub-mkrescue.in: Use the same explicit template as above, and
19604 exit if mktemp fails.
19605
05f43cdd
BC
196062010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
19607
19608 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
19609 Linux kernel, reported by Dennis Schridde.
19610
800e6a9b
SJ
196112010-10-17 Szymon Janc <szymon@janc.net.pl>
19612
19613 * grub-core/normal/auth.c (grub_auth_check_authentication):
19614 Set-but-not-used variable removed.
19615
d82df574
VS
196162010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19617
19618 * docs/grub.texi (GNU/Linux): Document APM unavailability with
19619 32-bit linux protocol.
19620
7bced458
VS
196212010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19622
19623 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
19624 cursor shape for sanity.
19625
5b027690
VS
196262010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19627
19628 * docs/grub.texi (Installation): Document buggy BIOS install.
19629
ba5f65cf
VS
196302010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19631
19632 * docs/grub.texi (Installation): Indent.
19633
fdf2ec9c
VS
196342010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19635
19636 * util/grub-setup.c (setup): New parameter allow_floppy.
19637 (arguments): New member allow_floppy.
19638 (argp_parser): Handle --allow-floppy.
19639 (main): Pass allow_floppy.
19640 * util/grub-install.in: New option --allow-floppy passed though to
19641 grub-setup.
19642
861dfd4c
VS
196432010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19644
19645 * util/grub-install.in: Handle partitionless disks.
19646
f77a8c24
VS
196472010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19648
19649 * util/grub-setup.c (setup): Don't clean blocklists before readability
19650 verfification.
19651
27d9ee32
VS
196522010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19653
19654 * docs/grub.texi (Installation): Document embedding zone. Remove
19655 obsolete grub-install example.
19656
6bdda8f8
SJ
196572010-10-16 Szymon Janc <szymon@janc.net.pl>
19658
19659 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
19660 Set-but-not-used variable ifdef'ed.
19661 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
19662 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
19663 variable removed.
19664 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
19665 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
19666 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
19667 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
19668 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
19669 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
19670 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
19671 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
19672 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
19673 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
19674 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
19675 Likewise.
19676
e19b016b
VS
196772010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19678
19679 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
19680 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
19681 enum value.
19682
6c8d3002
VS
196832010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19684
19685 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
19686 synonym to _S5_. Needed for some DSDTs.
19687
c32b51c9
VS
196882010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19689
19690 Userspace ACPI parser debugging.
19691
19692 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
19693 headers and add relevant defines. Don't include standard headers.
19694 (main) [GRUB_DSDT_TEST]: New function.
19695 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
19696 Don't declare functions.
19697
fbfbeb39
VS
196982010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19699
19700 Remove dead grub_efi_mm_fini.
19701
19702 * grub-core/kern/efi/mm.c (allocated_page): Removed.
19703 (ALLOCATED_PAGES_SIZE): Likewise.
19704 (MAX_ALLOCATED_PAGES): Likewise.
19705 (allocated_pages): Likewise.
19706 (grub_efi_allocate_pages): Don't record allocated pages.
19707 (grub_efi_free_pages): Likewise.
19708 (grub_efi_mm_init): Likewise.
19709 (grub_efi_mm_fini): Removed.
19710
65f7ed7c
VS
197112010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19712
19713 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
19714 (grub_efi_mm_init): Take into account the memory map size increase.
19715
24977b44
VS
197162010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19717
19718 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
19719 (serial_hw_put): Wait based on real time rather than port reads. Don't
19720 roken ports.
19721 * include/grub/serial.h (grub_serial_port): New field broken.
19722
1eb01cd2
RM
197232010-10-16 Robert Millan <rmh@gnu.org>
19724
19725 * grub-core/kern/emu/misc.c
19726 (grub_make_system_path_relative_to_its_root): Fix premature return
19727 when processing non-root ZFS filesystems.
5f8b440b 19728 Reported by Sergio Talens-Oliag.
1eb01cd2 19729
2d5fed60
RM
197302010-10-15 Robert Millan <rmh@gnu.org>
19731
19732 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
19733 guarantee compressed ones are processed first.
19734
d0f4c1ea
VS
197352010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
19736
19737 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
19738 grub_efiemu_autocore.
19739
d87c681f
VS
197402010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
19741
19742 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
19743 rather than 0x1b.
19744 (grub_console_getkey): Use correct jae opcode rather than ja.
19745
219b3564
RM
197462010-10-12 Robert Millan <rmh@gnu.org>
19747
19748 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
19749 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
19750 variable. All references updated.
19751
19752 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
19753
20c6bb7e
VS
197542010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
19755
19756 Correctly distinguish mdraid flavours.
19757
19758 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
19759 (insert_array): New argument raid.
19760 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
19761 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
19762 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
19763
74baff84
VS
197642010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
19765
19766 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
19767 handling of special keys.
19768
3ef068df 197692010-10-02 Aleš Nesrsta <starous@volny.cz>
19770
c7980ad9
VS
19771 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
19772 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 19773
a9455194 197742010-10-02 Aleš Nesrsta <starous@volny.cz>
19775
c7980ad9
VS
19776 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
19777 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
19778 users updated.
a9455194 19779 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 19780 Use right endpoint when querying descriptor.
a9455194 19781
441cfe65
VS
197822010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
19783
19784 Clear out 0x80 color bit on EFI.
19785 Tested by: decoder
19786 Reported by: decoder and meta tech.
19787
19788 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
19789 (grub_console_setcolorstate): Clear out 0x80 bit.
19790 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
19791 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
19792 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
19793
bf26bcc4
VS
197942010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
19795
19796 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
19797 Set to "auto".
19798
6e3c515d
VS
197992010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19800
19801 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
19802 mo_file after freeing.
19803
e6d983ba
VS
198042010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19805
19806 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
19807
74ccb5b5
VS
198082010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19809
19810 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
19811 flags.
19812
17821956
VS
198132010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19814
19815 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
19816 usage.
19817
ee74fa48
VS
198182010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19819
19820 Put terminfo into core on ieee1275 and yeeloong (needed for console).
19821
19822 * gentpl.py: New groups terminfoinkernel and terminfomodule.
19823 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
19824 and terminfo.h when needed.
19825 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
19826 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
19827 (terminfo): Enable only on terminfokernel.
19828 (extcmd): Likewise.
19829 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
19830 * include/grub/lib/arg.h: Likewise.
19831 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
19832 incorrect usage of ->.
19833
aa438e68
VS
198342010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19835
19836 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
19837 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
19838
57994012
VS
198392010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19840
19841 Fix coreboot compilation.
19842
19843 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
19844 Take VBE info into account even if only text is supported.
19845 (fill_vbe_info): Take into account the case when only VGA text
19846 is supported.
19847 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
19848 on coreboot, multiboot and qemu.
19849
2a406611
VS
198502010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19851
19852 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
19853 debug messages.
19854 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
19855
d33613fc
VS
198562010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19857
19858 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
19859 parameters.
19860
44a1b432
VS
198612010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19862
19863 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
19864 if they were BSD-style.
19865
edde54e6
VS
198662010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19867
19868 * grub-core/boot/i386/pc/lnxboot.S: Replace
19869 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
19870 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
19871
b65830fa
VS
198722010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19873
19874 Write embedding zone using Reed-Solomon.
19875
19876 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
19877 * grub-core/Makefile.am (rs_decoder.S): New target.
19878 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
19879 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
19880 (multiboot): Move to RS part.
19881 (post_reed_solomon): New label.
19882 (grub_boot_drive): Move to non-RS part since it's modified in memory
19883 on boot.
19884 Include rs_decoder.S.
19885 * grub-core/lib/reed_solomon.c: New file.
19886 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
19887 New definition.
19888 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
19889 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
19890 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
19891 * include/grub/partition.h (grub_partition_map): Change prototype of
19892 embed to allow returning additional sectors.
19893 * include/grub/reed_solomon.h: New file.
19894 * util/grub-setup.c (setup): Handle Reed-Solomon.
19895
0b4b227f
CW
198962010-09-28 Colin Watson <cjwatson@ubuntu.com>
19897
19898 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
19899 i386 and x86-64 definedness tests.
19900
f772623b
YB
199012010-09-27 Yves Blusseau <blusseau@zetam.org>
19902
19903 Fix generation of kernel_syms.lst
19904
19905 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
19906 ASM_PREFIX
19907
8e57a6ca
RM
199082010-09-26 Robert Millan <rmh@gnu.org>
19909
19910 Support degraded ZFS arrays in "grub-probe -t device" resolution.
19911
19912 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
19913 the pool is an array of devices, iterate through it and return the
19914 first device that passes a stat() test (instead of blindly returning
19915 the first one).
19916
f9130836
RM
199172010-09-26 Robert Millan <rmh@gnu.org>
19918
19919 Build fixes for GNU/kFreeBSD.
19920
19921 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
19922 to programs that require ZFS conversion.
19923 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
19924 kernels that don't have FLOPPY_MAJOR.
19925
96510faf
BC
199262010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
19927
19928 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
19929
449333eb
BC
199302010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
19931
19932 Fix grub-emu build.
19933
19934 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
19935 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
19936 mdraid09 and mdraid1x.
19937
e1fd1939
CW
199382010-09-24 Colin Watson <cjwatson@ubuntu.com>
19939
19940 Re-enable grub-extras.
19941
19942 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
19943 avoid confusing Automake. Run autogen only twice, once for the top
19944 level and once for grub-core. Add Makefile.util.def and
19945 Makefile.core.def from extra modules to the appropriate autogen
19946 invocations. If Makefile.common exists in an extra module, include
19947 it in both Makefile.util.am and grub-core/Makefile.core.am;
19948 similarly, include any Makefile.util.common file in Makefile.util.am
19949 and any Makefile.core.common file in grub-core/Makefile.core.am.
19950 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
19951 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
19952 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
19953 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
19954
19955 * gentpl.py (gvar_add): Turn GVARS into a set.
19956 (global_variable_initializers): Sort global variables on output.
19957 (vars_init): New function.
19958 (first_time): Likewise.
19959 (library): Ensure that non-global variable initialisations are
19960 emitted before the first time we emit code for a library block.
19961 Append to variables rather than setting them. Only emit
19962 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
19963 each conditional path.
19964 (program): installdir() emits an Autogen macro, so must be passed to
19965 var_add rather than gvar_add.
19966 (data): Likewise.
19967 (script): Likewise.
19968 (rules): New function, centralising handling for different target
19969 types. Set up Guile association lists for first_time and vars_init,
19970 and send most output to a diversion so that variable initialisations
19971 can be emitted first.
19972 (module_rules): Use new rules function.
19973 (kernel_rules): Likewise.
19974 (image_rules): Likewise.
19975 (library_rules): Likewise.
19976 (program_rules): Likewise.
19977 (script_rules): Likewise.
19978 (data_rules): Likewise.
19979
19980 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
19981
19982 * .bzrignore: Add contrib and grub-core/contrib. Remove
19983 grub-core/Makefile.gcry.am.
19984
1d12cf29
YB
199852010-09-24 Yves Blusseau <blusseau@zetam.org>
19986
19987 * grub-core/lib/LzFind.c: Add missing include.
19988 * grub-core/lib/LzmaEnc.c: Likewise.
19989 * grub-core/script/lexer.c: Likewise.
19990 * grub-core/script/yylex.l: Likewise.
19991 * util/grub-macho2img.c: Likewise.
19992 * util/grub-menulst2cfg.c: Likewise.
19993 * util/grub-mklayout.c: Likewise.
19994 * util/grub-mkpasswd-pbkdf2.c
19995 * util/grub-mkrelpath.c: Likewise.
19996 * util/resolve.c: Likewise.
19997
dd363028
BC
199982010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
19999
20000 * Makefile.util.def (example_unit_test): Add
20001 grub-core/gnulib/libgnu.a.
20002
f5a109e2
GS
200032010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
20004
20005 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
20006
6d0fa83c
VS
200072010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
20008
20009 Support xz compression on yeeloong.
20010
20011 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
20012 * configure.ac: Check for LZMA.
20013 * grub-core/Makefile.core.def (xz_decompress): New target.
20014 (none_decompress): Likewise.
20015 * grub-core/boot/decompressor/minilib.c: New file.
20016 * grub-core/boot/decompressor/none.c: Likewise.
20017 * grub-core/boot/decompressor/xz.c: Likewise.
20018 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
20019 * grub-core/kern/mips/cache_flush.S: Likewise.
20020 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
20021 * grub-core/kern/mips/startup.S: Move first stage to ...
20022 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
20023 nomacro.
20024 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
20025 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
20026 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
20027 Allocate statically.
20028 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
20029 Allocate statically or use scratch. Don't check CRC32.
20030 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
20031 Allocate statically. Don't check CRC32.
20032 * include/grub/decompressor.h: New file.
20033 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
20034 Removed.
20035 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
20036 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
20037 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
20038 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
20039 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
20040 * util/grub-mkimage.c (grub_compression_t): New type.
20041 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
20042 (image_target_desc): New field default_compression.
20043 (image_targets): Adjust yeeloong targets.
20044 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
20045 (compress_kernel): New parameter comp.
20046 (generate_image): Likewise. Handle new compression case.
20047 (options): New option --compression
20048 (help): Likewise.
20049 (main): Handle new option.
20050
1b655af6
GS
200512010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
20052
20053 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
20054
8f03f0b5
CW
200552010-09-22 Colin Watson <cjwatson@ubuntu.com>
20056
20057 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20058 typo in __i386__ conditional.
20059
7835dfd3
VS
200602010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20061
20062 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
20063 include.
20064
e255597e
VS
200652010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20066
6d0fa83c 20067 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
20068
20069 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
20070 new tags as supported.
20071 (acpiv2_size): New function.
20072 (grub_multiboot_get_mbi_size): Take new tags into account.
20073 (grub_multiboot_make_mbi): Add new tags.
20074 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 20075
6cc14051 200762010-09-21 Aleš Nesrsta <starous@volny.cz>
20077
20078 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
20079 Added missing configuration of USB device.
20080
df7769d8
CW
200812010-09-21 Colin Watson <cjwatson@ubuntu.com>
20082
20083 * grub-core/normal/menu_entry.c (run): Make sure we always return
20084 a value.
20085
b031012d
CW
200862010-09-21 Colin Watson <cjwatson@ubuntu.com>
20087
20088 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
20089 NumberOfPages is UINT64 according to the UEFI specification, not
20090 UINTN. Fix printf format.
20091
174de8f3
CW
200922010-09-21 Colin Watson <cjwatson@ubuntu.com>
20093
20094 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
20095 `err' to grub_usb_err_t.
20096 Reported and tested by: KESHAV P.R.
20097
d7dbe923
CW
200982010-09-21 Colin Watson <cjwatson@ubuntu.com>
20099
20100 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
20101 tpart non-const, so that we can assign to it. (Since this is a
20102 typedef, the constness refers to the pointer rather than what it
20103 points to.)
20104
8d5e2af3
CW
201052010-09-21 Colin Watson <cjwatson@ubuntu.com>
20106
20107 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
20108 $(top_srcdir)/grub-core/gnulib as well as
20109 $(top_builddir)/grub-core/gnulib.
20110 Reported by: KESHAV P.R.
20111
5c527783
CW
201122010-09-21 Colin Watson <cjwatson@ubuntu.com>
20113
20114 * util/grub-install.in: Fix the bootloader ID option to be
20115 consistently --bootloader-id, not --bootloader_id.
20116 Reported by: KESHAV P.R.
20117
d309a16e
CW
201182010-09-21 Colin Watson <cjwatson@ubuntu.com>
20119
20120 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
20121 check hash checksum." consistently translatable.
20122
b830cd16
YB
201232010-09-21 Yves Blusseau <blusseau@zetam.org>
20124
20125 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
20126 $(top_builddir).
20127
c4fe27a8
CW
201282010-09-21 Colin Watson <cjwatson@ubuntu.com>
20129
20130 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
20131 (GRUB_MOD_INIT): Register sha1sum command.
20132 (GRUB_MOD_FINI): Unregister sha1sum command.
20133
a4c1d277
YB
201342010-09-21 Yves Blusseau <blusseau@zetam.org>
20135
20136 Keep boot and grub directory names in sync with utils scripts
20137
20138 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
20139 * config.h.in: Add previous macros.
20140 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
20141 * util/grub-install.in: Use $bootdir and $grubdir variables.
20142
4eff79d2
CW
201432010-09-21 Colin Watson <cjwatson@ubuntu.com>
20144
20145 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
20146 convert partition names to disk names if the new `convert' parameter
20147 is set.
20148 (grub_util_biosdisk_get_grub_dev): If opening the disk device
20149 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
20150 disk in its own right. This can happen with Xen disk images.
20151
934d7e44
YB
201522010-09-21 Yves Blusseau <blusseau@zetam.org>
20153
20154 * util/grub-editenv.c: Update strings to avoid warnings when generating
20155 grub.pot file.
20156 * util/grub-setup.c: Likewise.
934d7e44 20157
df3367cc
VS
201582010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
20159
20160 * configure.ac: Change version to 1.99~beta0.
20161
77a94e98
VS
201622010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
20163
20164 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
20165 Add BADRAM.
20166 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
20167 Likewise.
20168 * include/multiboot.h: Resynced with specification.
20169 * include/multiboot2.h: Likewise.
20170
269004c1
CW
201712010-09-21 Colin Watson <cjwatson@ubuntu.com>
20172
20173 Fix po directory handling.
20174
20175 * configure.ac: Create po/Makefile.in rather than po/Makefile.
20176 * grub-core/gnulib/Makefile.am: Import gettext module.
20177 * m4/gnulib-cache.m4: Likewise.
20178 * m4/gnulib-comp.m4: Likewise.
20179 * m4/gettext.m4: New file, from gnulib.
20180 * m4/glibc2.m4: Likewise.
20181 * m4/iconv.m4: Likewise.
20182 * m4/intdiv0.m4: Likewise.
20183 * m4/intl.m4: Likewise.
20184 * m4/intldir.m4: Likewise.
20185 * m4/intlmacosx.m4: Likewise.
20186 * m4/intmax.m4: Likewise.
20187 * m4/inttypes-pri.m4: Likewise.
20188 * m4/lcmessage.m4: Likewise.
20189 * m4/lib-ld.m4: Likewise.
20190 * m4/lib-link.m4: Likewise.
20191 * m4/lib-prefix.m4: Likewise.
20192 * m4/lock.m4: Likewise.
20193 * m4/nls.m4: Likewise.
20194 * m4/po.m4: Likewise.
20195 * m4/printf-posix.m4: Likewise.
20196 * m4/progtest.m4: Likewise.
20197 * m4/threadlib.m4: Likewise.
20198 * m4/uintmax_t.m4: Likewise.
20199 * m4/visibility.m4: Likewise.
20200 * po/Makefile.am: Remove.
20201 * po/Makefile.in.in: New file, from gettext.
20202 ($(DOMAIN).pot-update): Support POTFILES-shell.
20203 * po/Makevars: New file.
20204 * po/POTFILES-shell: Rename to ...
20205 * po/POTFILES-shell.in: ... this. Update.
20206 * po/POTFILES: Rename to ...
20207 * po/POTFILES.in: ... this. Update.
20208 * po/Rules-quot: New file, from gettext.
20209 * po/boldquot.sed: Likewise.
20210 * po/en@boldquot.header: Likewise.
20211 * po/en@quot.header: Likewise.
20212 * po/insert-header.sin: Likewise.
20213 * po/quot.sed: Likewise.
20214 * po/remove-potcdate.sin: Likewise.
20215
3e0fa5d0
VS
202162010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20217
20218 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
20219
ade9bd66
VS
202202010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20221
20222 * util/grub.d/20_linux_xen.in: Use submenus.
20223
fc55cc4c
VS
202242010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20225
20226 Support submenus.
20227
20228 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
20229 parameter submenu. All users updated.
20230 * grub-core/normal/main.c (free_menu): Rename to ...
20231 (grub_normal_free_menu): ... this. Made global.
20232 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
20233 if requested.
20234 * grub-core/normal/menu_entry.c (screen): New field submenu.
20235 (make_screen): Set submenu.
20236 (run): Open new context if requested.
20237 * include/grub/menu.h (grub_menu_entry): New field submenu.
20238 * include/grub/normal.h (grub_normal_free_menu): New proto.
20239
600cedf7
VS
202402010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20241
20242 Menu entries extractor.
20243
20244 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
20245 variants.
20246 (GRUB_MOD_INIT): Register new variants.
20247 (GRUB_MOD_FINI): Unregister new variants.
20248 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
20249 into grub_cmd_legacy_source.
20250 (grub_cmd_legacy_source): Implement extractor variants.
20251 (GRUB_MOD_INIT): Register new variants.
20252 (GRUB_MOD_FINI): Unregister new variants.
20253 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
20254 as an extractor.
20255 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
20256 search as an extractor.
20257 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
20258 test as an extractor.
20259 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
20260 as an extractor.
20261 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
20262 (grub_env_new_context): New function.
20263 (grub_env_context_open): Likewise.
20264 (grub_env_extractor_open): Likewise.
20265 (grub_env_extractor_close): Likewise.
20266 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
20267 grub_extractor_level.
20268 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
20269 * include/grub/env.h (grub_env_extractor_open): New proto.
20270 (grub_env_extractor_close): Likewise.
20271 * include/grub/normal.h (grub_extractor_level): New external variable.
20272
7bda3a87
VS
202732010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20274
20275 Make cutmem accept a region specification.
20276 Suggested by: Samuel Thibault
20277
20278 * grub-core/mmap/mmap.c (parsemem): New function.
20279 (grub_cmd_cutmem): Handle new arguments.
20280
2ea57f88
VS
202812010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20282
20283 New command cutmem.
20284
20285 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
20286 (GRUB_MOD_INIT): Register new command.
20287 (GRUB_MOD_FINI): Unregister new command.
20288
74342e31
VS
202892010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20290
20291 Support some annoying BSD and Minix subpartitions.
20292
20293 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
20294 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
20295 Properly handle concatenation.
20296 * grub-core/kern/device.c (grub_device_iterate): Likewise.
20297 * grub-core/normal/completion.c (iterate_partition): Likewise.
20298 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
20299 contain partition. All users updated.
20300 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
20301 struct.
20302 (grub_openbsdlabel_partition_map): Likewise.
20303 (bsdlabel_partition_map_iterate): Rename to ..
20304 (iterate_real): ... this. New arguments sector, freebsd and pmap.
20305 (bsdlabel_partition_map_iterate): New function.
20306 (netopenbsdlabel_partition_map_iterate): Likewise.
20307 (netbsdlabel_partition_map_iterate): Likewise.
20308 (openbsdlabel_partition_map_iterate): Likewise.
20309 (GRUB_MOD_INIT): Register new partmaps.
20310 (GRUB_MOD_FINI): Unregister new partmaps.
20311 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
20312 (grub_partition_msdos_iterate): ... this. All users updated.
20313 Don't support embedding other than in a minix partition.
20314 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
20315 proto.
20316 * include/grub/partition.h (grub_partition): New field msdostype.
20317 * util/grub-install.in: Handle openbsd and netbsd types being in
20318 part_bsd module.
20319
1e8d555b
VS
203202010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20321
20322 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
20323
20324 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
20325 * grub-core/Makefile.core.def (mdraid): Renamed to ...
20326 (mdraid09): ... this.
20327 (mdraid1x): New module.
20328 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
20329 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
20330
899d8af4
VS
203312010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20332
20333 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
20334 vsprintf.
20335
40901acd
CW
203362010-09-20 Colin Watson <cjwatson@ubuntu.com>
20337
20338 * grub-core/commands/efi/lsefimmap.c: Correct header.
20339 * NEWS: Update.
20340
dfe3b247
CW
203412010-09-20 Colin Watson <cjwatson@ubuntu.com>
20342
20343 * util/grub-editenv.c (argp_parser): Don't pass translated strings
20344 as printf format strings; the translations might contain '%' which
20345 could cause a crash.
20346 (main): Likewise.
20347 * util/grub-fstest.c (argp_parser): Likewise.
20348 * util/grub-setup.c (argp_parser): Likewise.
20349 (main): Likewise.
20350
3286a4b4
VS
203512010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20352
20353 Use argp in grub-fstest.
20354
20355 * util/grub-fstest.c: Don't include getopt.h.
20356 Include argp.h.
20357 (root): New variable.
20358 (args_count): Likewise.
20359 (nparm): Likewise.
20360 (num_disks): Likewise.
20361 (images): Likewise.
20362 (cmd): Likewise.
20363 (debug_str): Likewise.
20364 (args): Likewise.
20365 (options): Transformed to argp.
20366 (usage): Removed.
20367 (main): Split argument parsing into ...
20368 (argp_parser): ... this. Changed to argp format.
20369 (argp): New variable.
20370 (main): Use argp_parse.
20371
3dccbe4b
TG
203722010-09-20 Tristan Gingold <gingold@free.fr>
203732010-09-20 Robert Millan <rmh.grub@aybabtu.com>
203742010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20375
20376 * grub-core/commands/efi/lsefimmap.c: New file.
20377 * grub-core/Makefile.core.def (lsefimmap): New module.
20378 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
20379
38c259a7
VS
203802010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20381
20382 Pause the execution (10s max) if any errors are displayed so the user
20383 has a chance to see them.
20384
20385 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
20386 (grub_print_error): Increment grub_err_printed_errors.
20387 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
20388 execution if any errors were displayed.
20389 (show_menu): Remove old code for pause.
20390 * grub-core/normal/menu_entry.c (run): Likewise.
20391 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
20392 users updated.
20393 (grub_normal_get_char_counter): Likewise.
20394 * include/grub/err.h (grub_err_printed_errors): New external variable.
20395 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
20396
f218b09c
VS
203972010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20398
20399 Support multiboot VBE info.
20400
20401 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
20402 Take VBE info into account.
20403 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
20404 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
20405 Call fill_vbe_info when appropriate.
20406 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
20407 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
20408 as supported.
20409 (grub_multiboot_get_mbi_size): Take new tags into account.
20410 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
20411 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
20412 Call fill_vbe_tag when appropriate.
20413 (grub_multiboot_make_mbi): Properly align tags.
20414 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
20415 function.
20416 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
20417 proto.
20418 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
20419
a9cc5438
VS
204202010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20421
20422 Suport manual terminal geometry specification.
20423
20424 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
20425 Save state in grub_ofconsole_terminfo_output.
20426 (grub_ofconsole_term): Use grub_terminfo_getwh.
20427 (grub_ofconsole_getwh): Removed.
20428 * grub-core/term/serial.c (grub_serial_getwh): Removed.
20429 (grub_serial_term): Use grub_terminfo_getwh.
20430 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
20431 (options): New struct.
20432 (OPTION_*): New enum.
20433 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
20434 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
20435 width and height.
20436 (grub_terminfo_getwh): New proto.
20437 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
20438
1a8fed20
VS
204392010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20440
20441 Handle legacy "terminal" command.
20442
20443 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
20444 and FLAG_TERMINAL.
20445 (legacy_commands): Add terminal and title.
20446 (grub_legacy_parse): Handle terminal. Simplify title handling.
20447
41e9c57d
VS
204482010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20449
20450 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
20451 parameters overflow.
20452
61c874c5
CW
204532010-09-20 Colin Watson <cjwatson@ubuntu.com>
20454
20455 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
20456 widthspec.h.
20457
20458 * docs/grub.texi (Shell-like scripting): Document `!'.
20459 (Network): Simplify using new i386-pc-pxe format. Mention
20460 grub-mknetdir.
20461
20462 * NEWS: Update.
20463
943682b4
CW
204642010-09-20 Colin Watson <cjwatson@ubuntu.com>
20465
20466 * Makefile.am (SUBDIRS): Restore "."; it's important to force
20467 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
20468 when needed.
20469
6d3d698d
CW
204702010-09-20 Colin Watson <cjwatson@ubuntu.com>
20471
20472 * grub-core/commands/efi/lsefisystab.c: Correct header.
20473 * grub-core/commands/efi/lssal.c: Likewise.
20474 * grub-core/commands/testload.c: Likewise.
20475
c982589f
CW
204762010-09-20 Colin Watson <cjwatson@ubuntu.com>
20477
20478 * util/grub-mkrescue.in: Add explicit root argument to --set to
20479 prevent the UUID being interpreted as an argument to --set (matches
20480 previous change to prepare_grub_to_access_device).
20481
a63c31b6
CW
204822010-09-20 Colin Watson <cjwatson@ubuntu.com>
20483
20484 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
20485 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
20486 the verbosity of later #ifs.
20487 (find_partition_start): Define this function on FreeBSD too.
20488 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
20489 function.
20490 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
20491 on FreeBSD.
20492
6439b8ee
YB
204932010-09-20 Yves Blusseau <blusseau@zetam.org>
20494
20495 * util/grub-editenv.c: Use argp instead of getopt.
20496
c5930ec8
YB
204972010-09-20 Yves Blusseau <blusseau@zetam.org>
20498
20499 * util/grub-setup.c: Use argp instead of getopt.
20500
15c69261
YB
205012010-09-20 Yves Blusseau <blusseau@zetam.org>
20502
20503 Use gnulib-tool to create gnulib source files.
20504
20505 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
20506 grub-core/gnulib directories
20507 * .bzignore: Add **/.deps and autogenerated gnulib files
20508 * configure.ac: Assign auxiliary directory to build-aux, add invocation
20509 of gnulib macros, add grub-core/gnulib/Makefile
20510 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
20511 include m4 directory to aclocal.
20512 * Makefile.util.def: Remove direct compilation of gnulib source files
20513 and use the new grub-core/gnulib/libgnu.a.
20514 * build-aux/config.rpath: move config.rpath from top directory to
20515 build-aux
20516 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
20517 in gnulib headers
20518 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
20519 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
20520 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
20521 header.
20522 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
20523 string.
20524
e511c9f5
YB
205252010-09-20 Yves Blusseau <blusseau@zetam.org>
20526
20527 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
20528 grub-core/genmod.sh and grub-core/gensyminfo.sh
20529
c2dede05
BC
205302010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
20531
20532 Add a test for echo command options.
20533
20534 * tests/grub_cmd_echo.in: New test.
20535 * Makefile.util.def: Rules for new test.
20536
c55f5018
SJ
205372010-09-20 Szymon Janc <szymon@janc.net.pl>
20538
20539 Remove crc.mod and move crc command to hashsum.mod.
20540 Remove lib/crc.c - users updated to use gcrypt implementation.
20541
20542 * grub-core/commands/crc.c: Removed.
20543 * grub-core/Makefile.core.def (crc): Module removed.
20544 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
20545 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
20546 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
20547 * grub-core/lib/crc.c: Removed.
20548 * include/grub/lib/crc.h: Removed.
20549 * Makefile.util.def (crc): Remove lib/crc.c
20550 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
20551 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
20552 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
20553 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
20554 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
20555 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
20556
e0337366
VS
205572010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20558
20559 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
20560
742f9232
VS
205612010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20562
20563 Split config.h for util and core.
20564
20565 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
20566 (ADDR32): Likewise.
20567 (DATA32): Likewise.
20568 (BSS_START_SYMBOL): Likewise.
20569 (END_SYMBOL): Likewise.
20570 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
20571 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
20572 * config.h.in: New file.
20573 * configure.ac: Use config-util.h as config define file.
20574 Rename MACHINE into GRUB_MACHINE. All users updated.
20575 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
20576 updated.
20577 (NESTED_FUNC_ATTR): Likewise.
20578 Substitue new variables.
20579 (COND_HAVE_ASM_USCORE): New conditional.
20580 * grub-core/Makefile.am (ASM_PREFIX): New variable.
20581 (kernel_syms.lst): Use ASM_PREFIX.
20582 * grub-core/kern/emu/console.c: Include config-util.h.
20583 * grub-core/kern/emu/misc.c: Likewise.
20584 * grub-core/kern/emu/mm.c: Likewise.
20585 * include/grub/emu/misc.h: Likewise.
20586 * include/grub/libgcc.h: Likewise.
20587
39feb0e8
VS
205882010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20589
20590 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
20591 constants usage.
20592 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
20593 Fix GRUB_TERM_KEY_* constants usage.
20594 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
20595
9af6dac3
VS
205962010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20597
20598 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
20599 print pointer.
20600 * grub-core/bus/usb/uhci.c: Remove empty define.
20601 (grub_uhci_check_transfer): Add missing cast.
20602 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
20603 print pointer.
20604 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
20605 PRIuGRUB_SIZE.
20606 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
20607
d6d94820
VS
206082010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20609
20610 * grub-core/Makefile.core.def (legacycfg): Add
20611 lib/i386/pc/vesa_modes_table.c on emu.
20612
3572f2b6
BC
206132010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
20614
20615 Reduce number of temporary files generated by build system.
20616
20617 * grub-core/gencmdlist.sh: Removed.
20618 * grub-core/genfslist.sh: Removed.
20619 * grub-core/genhandlerlist.sh: Removed.
20620 * grub-core/genmodsrc.sh: Removed.
20621 * grub-core/genpartmaplist.sh: Removed.
20622 * grub-core/genparttoollist.sh: Removed.
20623 * grub-core/gentermiinallist.sh: Removed.
20624 * grub-core/genvideolist.sh: Removed.
20625
20626 * grub-core/genmod.sh.in: New file.
20627 * grub-core/gensyminfo.sh.in: New file.
20628
20629 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
20630 * conf/Makefile.extra-dist: Update with new files.
20631 * gentpl.py: Remove rules related to unnecessary temporary files.
20632 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
20633 and und-* files.
20634 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
20635 genmod.sh scripts.
20636 * grub-core/bus/usb/uhci.c: Remove empty #define.
20637 * grub-core/genmoddep.awk: Updated with new syminfo format.
20638 * util/bash-completion.d/Makefile.am: Add config.log to
20639 CLEANFILES.
20640
c836b030
YB
206412010-09-19 Yves Blusseau <blusseau@zetam.org>
20642
20643 * Makefile.util.def: Add forgotten $(LIBINTL) library.
20644
2f4e8053
BC
206452010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
20646
20647 * util/grub-mkconfig.in: Check the config script for syntax errors
20648 before saving.
20649
75831c34
CW
206502010-09-19 Colin Watson <cjwatson@ubuntu.com>
206512010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20652
20653 * Makefile.util.def (grub-install): Use util/grub-install.in on all
20654 platforms.
20655 * util/grub-install.in: Add EFI and IEEE1275 support.
20656 * util/i386/efi/grub-install.in: Removed.
20657 * util/ieee1275/grub-install.in: Likewise.
20658
eaf41b25
VS
206592010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20660
20661 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
20662 (grub_cmd_cmosclean): Likewise.
20663 (GRUB_MOD_INIT): Register command cmosclean.
20664 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
20665 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
20666
1a9130dd
CPE
206672010-09-18 Carles Pina i Estany <carles@pina.cat>
206682010-09-18 Aleš Nesrsta <starous@volny.cz>
206692010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
20670
20671 Add keyboard layouts support.
20672
20673 * Makefile.util.def (grub-mklayout): New file.
20674 (grub-kbdcomp): New script.
20675 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
20676 Add keyboard_layouts.h.
20677 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
20678 commands/boot.c on yeeloong.
20679 (keylayouts): New module.
20680 * grub-core/bus/usb/ohci.c
20681 * grub-core/bus/usb/uhci.c
20682 * grub-core/bus/usb/usbhub.c (rescan): New variable.
20683 (grub_usb_add_hub): Poll interrupt pipe for device handling.
20684 (attach_root_port): Likewise.
20685 (poll_nonroot_hub): Likewise.
20686 (grub_usb_poll_devices): Likewise.
20687 (detach_device): Close transfer.
20688 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
20689 function.
20690 (grub_usb_bulk_setup_readwrite): Likewise.
20691 (grub_usb_bulk_finish_readwrite): Likewise.
20692 * grub-core/commands/keylayouts.c: New file.
20693 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
20694 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
20695 aliases.
20696 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
20697 support scancode 2.
20698 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
20699 * include/grub/keyboard_layouts.h: New file.
20700 * util/grub-mklayout.c: New file.
20701 * util/grub-kbdcomp.in: Likewise.
20702
a1d84a5e
VS
207032010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
20704
20705 Unify memory types.
20706
20707 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
20708 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
20709 types.
20710 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
20711 (grub_upper_mem): Likewise.
20712 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
20713 * include/grub/memory.h (grub_memory_type_t): New enum.
20714 All users updated.
20715
9696382e
VS
207162010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
20717
20718 * grub-core/Makefile.core.def (lsapm): New module.
20719 * grub-core/commands/i386/pc/lsapm.c: New file.
20720 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
20721 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
20722 Likewise.
20723 * include/grub/i386/pc/apm.h: New file.
20724 * include/multiboot.h (multiboot_apm_info): New struct.
20725
207262010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
20727
20728 GRUB-legacy configuration file support.
20729
20730 * Makefile.util.def (grub-menulst2cfg): New util.
20731 * docs/man/grub-menulst2cfg.h2m: New file.
20732 * grub-core/Makefile.core.def (legacycfg): New module.
20733 * grub-core/commands/legacycfg.c: New file.
20734 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
20735 (grub_normal_add_menu_entry): ... this.
20736 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
20737 (grub_normal_set_password): ...this.
20738 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
20739 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
20740 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
20741 * grub-core/lib/legacy_parse.c: New file.
20742 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
20743 * include/grub/i386/pc/vesa_modes_table.h: New file.
20744 * include/grub/legacy_parse.h: Likewise.
20745 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
20746 * util/grub-menulst2cfg.c: New file.
20747
bf8d1338
CW
207482010-09-17 Colin Watson <cjwatson@ubuntu.com>
20749
20750 * grub-core/kern/emu/hostdisk.c
20751 (convert_system_partition_to_system_disk): Initialise node.
20752
9c0bad2e
CW
207532010-09-17 Colin Watson <cjwatson@ubuntu.com>
20754
20755 * grub-core/kern/emu/hostdisk.c
20756 (convert_system_partition_to_system_disk): Fix devmapper memory pool
20757 leak.
20758 Reported and based on patch by: Modestas Vainius.
20759
a939d135
CW
207602010-09-17 Colin Watson <cjwatson@ubuntu.com>
20761
20762 Fix DM-RAID probing with recent versions of device-mapper udev
20763 rules.
20764
20765 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
20766 canonicalise device paths under /dev/mapper/.
20767 (convert_system_partition_to_system_disk): Compare the
20768 uncanonicalised path to /dev/mapper/ rather than the canonicalised
20769 path, since device nodes under /dev/mapper/ are often symlinks.
20770
0f7ee3c9
YB
207712010-09-17 Yves Blusseau <blusseau@zetam.org>
20772
20773 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
20774
10854d0d
YB
207752010-09-16 Yves Blusseau <blusseau@zetam.org>
20776
20777 * configure.ac: Avoid some annoying error messages if freetype-config
20778 program is not found.
20779
108538d8
CW
207802010-09-16 Colin Watson <cjwatson@ubuntu.com>
20781
20782 Support RAID on virtio devices, and others.
20783
20784 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
20785 Rename to ...
20786 [__MINGW32__] (grub_find_device): ... this.
20787 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
20788 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
20789 reasonable default if dir is NULL.
20790 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
20791 ...
20792 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
20793 (grub_guess_root_device): Update callers.
20794 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
20795
20796 * util/raid.c (grub_util_getdiskname): Remove.
20797 (grub_util_raid_getmembers): Use grub_find_device rather than
20798 grub_util_getdiskname.
20799
e5bfc130
CW
208002010-09-16 Colin Watson <cjwatson@ubuntu.com>
20801
20802 * docs/grub.texi (serial): Remove obsolete comment about GRUB
20803 needing to be compiled with serial support.
20804 (ls): Indicate that multiple files are accepted.
20805 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
20806 indicate that multiple files are accepted.
20807
be458ae2
CW
208082010-09-16 Colin Watson <cjwatson@ubuntu.com>
20809
20810 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
20811 libgrub_a_init.c, and util/bash-completion.d/grub.
20812
cb731b5e
VS
208132010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20814
20815 * util/grub-setup.c (setup): Fix incorrect container semantics.
20816
35139e8a
VS
208172010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20818
20819 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
20820 misusage.
20821 Reported by: J. Nick Terry
20822
e50fca4a
VS
208232010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20824
20825 Move embedding routines to partmap sources files.
20826
20827 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
20828 [GRUB_UTIL]: New variable.
20829 (gpt_partition_map_iterate): Set part.parent.
20830 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
20831 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
20832 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
20833 New function.
20834 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
20835 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
20836 (grub_partition_map) [GRUB_UTIL]: New field embed.
20837 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
20838 (setup): Use ->embed.
20839
f00478b7
VS
208402010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20841
20842 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
20843 function.
20844 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
20845 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
20846
2b94e3ff
YB
208472010-09-15 Yves Blusseau <blusseau@zetam.org>
20848
20849 Add function to get completions from usage.
20850
20851 * util/bash-completion.d/grub-completion.bash.in: Add function to get
20852 completions from usage. Use LC_ALL=C to get options properly.
20853
2e04a006
VS
208542010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20855
20856 * grub-core/gnulib/basename-lgpl.c: Imported.
20857 * grub-core/gnulib/basename.c: Likewise.
20858 * grub-core/gnulib/dirname-lgpl.c: Likewise.
20859 * grub-core/gnulib/dirname.c: Likewise.
20860 * grub-core/gnulib/dirname.h: Likewise.
20861 * grub-core/gnulib/stripslash.c: Likewise.
20862
5dcdf93a
VS
208632010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20864
20865 * grub-core/gnulib/error.c: Resynced.
20866 * grub-core/gnulib/getopt.c: Likewise.
20867 * grub-core/gnulib/getopt_int.h: Likewise.
20868 * grub-core/gnulib/regex.h: Likewise.
20869 * grub-core/gnulib/regex_internal.c: Likewise.
20870 * grub-core/gnulib/regex_internal.h: Likewise.
20871
014f47b7
SJ
208722010-09-15 Szymon Janc <szymon@janc.net.pl>
20873
20874 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
20875 CRC calculations and validity checks.
20876 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
20877 calculations.
20878
dd521a4a
SJ
208792010-09-15 Szymon Janc <szymon@janc.net.pl>
20880
20881 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
20882
79c4eeb9
VS
208832010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20884
20885 Fix incorrect echo options handling.
20886 Reported by: Yves Blusseau.
20887
20888 * include/grub/command.h (grub_command_flags_t): New flags
20889 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
20890 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
20891 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
20892
ed80f7d5
VS
208932010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20894
20895 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
20896 users updated.
20897 (GRUB_COMMAND_FLAG_MENU): Likewise.
20898 (GRUB_COMMAND_FLAG_BOTH): Likewise.
20899 (GRUB_COMMAND_FLAG_TITLE): Removed.
20900 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
20901 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
20902 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
20903 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
20904 (grub_command_flags_t): New enum. All users updated.
20905
5fe7620a
SG
209062010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
20907
20908 Fix solaris compilation.
20909
20910 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
20911 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
20912 (grub-emu-list): Likewise.
20913
545b752f
VS
209142010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20915
20916 Remove deprecated root command.
20917
20918 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
20919 updated.
20920
6c1a338c
VS
209212010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20922
20923 * util/i386/pc/grub-setup.c: Merge this ...
20924 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
20925 * util/grub-setup.c: ... into this.
20926 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
20927 New struct.
20928
209292010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20930
20931 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
20932 possible.
20933
d2ea4551
VS
209342010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20935
20936 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
20937 allocate p.
20938
3c3b5040
VS
209392010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20940
20941 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
20942 explicit root argument to set to prevent UUID to be interpreted as
20943 argument to set.
20944
b71c3fae
VS
209452010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20946
20947 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
20948
275433e6
VS
209492010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20950
20951 Don't export grub_gate_a20.
20952
20953 * grub-core/kern/i386/pc/init.c: Remove leftovers.
20954 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
20955 to ...
20956 (grub_gate_a20): ... this. All users updated.
20957 * include/grub/i386/pc/init.h: Removed. All users updated.
20958
a5dbb1f1
VS
209592010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20960
20961 Create euro.pf2 which supports most European languages.
20962
20963 * Makefile.am (grubdata_DATA): Add euro.pf2.
20964 (euro.pf2): New target.
20965 (CLEANFILES): Add euro.pf2.
20966
62a747cb
VS
209672010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20968
20969 * configure.ac: Disable emu-usb by default to prevent inadvertent
20970 device takeover.
20971
608e43b1
VS
209722010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20973
20974 Disable usbserial on grub-emu since our libusb code isn't good enough
20975 yet.
20976
20977 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
20978 (usbserial_pl2303): Likewise.
20979 (usbserial_ftdi): Likewise.
20980
94564f81
VS
209812010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20982
20983 * include/grub/disk.h (grub_disk): Remove has_partitions.
20984 All users updated.
20985 * disk/loopback.c (grub_loopback): Remove has_partitions.
20986 All users updated.
20987 (options): Remove partitions. All users updated.
20988 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
20989 * util/i386/pc/grub-setup.c (setup): copy partition table only when
20990 actual partition table is found.
20991
3352800b
VS
209922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20993
20994 Remove readability checks (too many false negatives).
20995
20996 * util/grub-install.in: Remove readability checks.
20997 * util/grub-mkconfig.in: Likewise.
20998 * util/grub.d/10_hurd.in: Likewise.
20999 * util/grub.d/10_kfreebsd.in: Likewise.
21000 * util/grub.d/10_linux.in: Likewise.
21001 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
21002 way.
21003
2419f17a
VS
210042010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21005
21006 Enable acpi shutdown on all ACPI platforms.
21007
21008 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
21009 on coreboo, multiboot and EFI.
21010 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
21011 (grub_acpi_halt): Likewise.
21012 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
21013 (grub_cmd_halt): Don't call grub_acpi_halt directly.
21014 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
21015 * grub-core/lib/i386/halt.c (grub_halt)
21016 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
21017
0575c7c3
VS
210182010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21019
21020 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
21021 context.
21022
54ac3cd1
VS
210232010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21024
21025 * grub-core/video/efi_gop.c: Fix over-80-chars line.
21026 * grub-core/video/efi_uga.c: Likewise.
21027
b2a30ac5
VS
210282010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21029
21030 Filter devaliases and never open same device twice.
21031
21032 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
21033 (last_ihandle): Likewise.
21034 (ofdisk_hash_ent): New member shortest.
21035 (ofdisk_hash_add): Add canonical path too.
21036 (scan): New function.
21037 (grub_ofdisk_iterate): Iterate over hashed entries.
21038 (compute_dev_path): Don't add :0.
21039 (grub_ofdisk_open): Don't really open the disk.
21040 (grub_ofdisk_close): Avoid closing unrelated disk.
21041 (grub_ofdisk_read): Implement reopen logic.
21042 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
21043 New function.
21044 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
21045 New proto.
21046
fb53b340
VS
210472010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21048
21049 Fix sparc64.
21050
21051 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
21052 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
21053 right address. Add sparc64_ieee1275_ldflags.
21054 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
21055 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
21056 to grub_host_to_target_addr
21057 (load_image): Likewise.
21058
f452b040
VS
210592010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21060
21061 * grub-core/normal/completion.c (complete_file): Handle device
21062 containing slash.
21063 Fix based on patch by Doug Nazar.
21064
9b5b2541
VS
210652010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21066
21067 grub-mknetdir script.
21068
21069 * Makefile.util.def (grub-mknetdir): New module.
21070 * tests/util/grub-shell.in: Support boot=net
21071 * util/grub-mknetdir.in: New file.
21072
9d2be652
VS
210732010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21074
21075 videoinfo on non-vbe.
21076
21077 * grub-core/Makefile.core.def (vbeinfo): Removed.
21078 (vbetest): Removed.
21079 (videoinfo): New module.
21080 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
21081 * grub-core/commands/i386/pc/vbetest.c: Removed.
21082 * grub-core/commands/videoinfo.c: New file.
21083 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
21084 specification.
21085 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
21086 as vbetest.
21087 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
21088 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
21089 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
21090 mode_number. New parameter mode. All users updated.
21091 (grub_video_gop_iterate): New function.
21092 (grub_video_efi_gop): New member iterate.
21093 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
21094 (grub_vbe_set_video_mode): Remove setting useless fields.
21095 (vbe2videoinfo): New function.
21096 (grub_video_vbe_iterate): Likewise.
21097 (grub_video_vbe_setup): Use vbe2videoinfo.
21098 (grub_video_vbe_print_adapter_specific_info): New function.
21099 (grub_video_vbe_adapter): New fields iterate and
21100 print_adapter_specific_info.
21101 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
21102 All users updated.
21103 (grub_video_mode_info): New field mode_number.
21104 (grub_video_adapter): New fields iterate and
21105 print_adapter_specific_info.
21106
179503f5
TG
211072010-09-13 Tristan Gingold <gingold@free.fr>
211082010-09-13 Robert Millan <rmh.grub@aybabtu.com>
211092010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21110
21111 * grub-core/commands/efi/lsefisystab.c: New file.
21112 * grub-core/commands/efi/lssal.c: Likewise.
21113 * grub-core/Makefile.core.def (lsacpi): New module.
21114 (lsefisystab): Likewise.
21115 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
21116 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
21117 (grub_efi_sal_system_table): New struct.
21118 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
21119 (grub_efi_sal_system_table_memory_descriptor): Likewise.
21120 (grub_efi_sal_system_table_platform_features): Likewise.
21121 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
21122 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
21123 (grub_efi_sal_system_table_ap_wakeup): Likewise.
21124 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
21125
cf9827de
VS
211262010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21127
21128 Support explicit user claim that a device is BIOS-visible.
21129
21130 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
21131 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
21132 * grub-core/kern/emu/hostdisk.c
21133 (convert_system_partition_to_system_disk): Support mdX.
21134 (find_system_device): New parameter add. All users updated.
21135 (grub_util_biosdisk_is_present): New function.
21136 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
21137 proto.
21138
53f0eb1f
VS
211392010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21140
21141 Search hints support.
21142
21143 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
21144 All users updated.
21145
b23ffd70
YB
211462010-09-13 Yves Blusseau <blusseau@zetam.org>
21147
21148 Bash completion script for util commands
21149
21150 * Makefile.am: Add util/bash-completion.d directory
21151 * configure.ac: Likewise.
21152 * util/bash-completion.d/Makefile.am: New file.
21153 * util/bash-completion.d/grub-completion.bash.in: Likewise.
21154
d547dc28
VS
211552010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21156
21157 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
21158 (print_backlog): set backlog_ucs4 and backlog_glyphs.
21159 Reported by: Yves Blusseau.
21160
2fc8ccb9
VS
211612010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21162
21163 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
21164 partition size and offset.
21165
d8a84076
VS
211662010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21167
21168 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
21169
84fb3b3d
VS
211702010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21171
21172 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
21173
768ec2e2
VS
211742010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21175
21176 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
21177 (grub_xvasprintf): Likewise.
21178
4870900f
VS
211792010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21180
21181 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
21182
faca6bec
VS
211832010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21184
21185 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
21186 args ending with NULL.
21187
211882010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
21189
21190 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
21191 pointer.
21192
3c70f225
SJ
211932010-09-11 Szymon Janc <szymon@janc.net.pl>
21194
21195 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
21196
4df7996d
VS
211972010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21198
21199 Shutdown using ACPI.
21200
21201 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
21202 * grub-core/commands/acpihalt.c: New file.
21203 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
21204 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
21205 (grub_acpi_halt): New proto.
21206 (GRUB_ACPI_SLP_EN): New const.
21207 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
21208 (GRUB_ACPI_OPCODE_*): New enum.
21209 (GRUB_ACPI_EXTOPCODE_*): Likewise.
21210
126b4c32
TG
212112010-09-11 Tristan Gingold <gingold@free.fr>
212122010-09-11 Robert Millan <rmh.grub@aybabtu.com>
212132010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21214
21215 * commands/lsacpi.c: New file.
21216 * grub-core/Makefile.core.def (lsacpi): New module.
21217 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
21218 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
21219 (grub_acpi_madt_entry_header): New struct.
21220 (grub_acpi_madt): Likewise.
21221 (grub_acpi_madt_entry_interrupt_override): Likewise.
21222 (grub_acpi_madt_entry_sapic): Likewise.
21223 (grub_acpi_madt_entry_lsapic): Likewise.
21224 (grub_acpi_madt_entry_platform_int_source): Likewise.
21225 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
21226 (PRIuGRUB_UINT32_T): Likewise.
21227 (PRIxGRUB_UINT64_T): Likewise.
21228
1aa4fe88
VS
212292010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21230
21231 Implement loading palette on ieee1275_fb.
21232
21233 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
21234 (have_setcolors): Likewise.
21235 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
21236 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
21237 (grub_video_ieee1275_set_palette): Implement.
21238
25761e13
VS
212392010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
212402010-09-11 Colin Watson <cjwatson@ubuntu.com>
21241
21242 * util/grub-install.in (grub_partition): New variable.
21243 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
21244 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
21245 Fixes a bug reported by Yves Blusseau.
21246
050abaea
VS
212472010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21248
21249 Fix emu on mipsel.
21250
21251 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
21252 =grub_cpu_flush_cache on all mips and not only yeeloong.
21253 * configure.ac (COND_mips): New conditional.
21254 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
21255 platforms.
21256 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
21257 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
21258 [GRUB_LINKER_HAVE_INIT]: New function.
21259 (grub_emu_post_init): Likewise.
21260 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
21261 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
21262 * include/grub/cache.h (_mips): Include mips/cache.h.
21263 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
21264 LVM and RAID prototypes.
21265 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
21266 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
21267 function.
21268
5ed7d816
CW
212692010-09-10 Colin Watson <cjwatson@ubuntu.com>
21270
21271 * util/grub-install.in: Don't try to verify core.img until after
21272 running grub-mkimage to create it.
21273
90367e04
RM
212742010-09-10 Robert Millan <rmh@gnu.org>
21275
21276 * util/grub.d/10_hurd.in: Add misc readability checks.
21277 * util/grub.d/10_kfreebsd.in: Likewise.
21278 * util/grub.d/10_linux.in: Likewise.
21279
c452fa66
CW
212802010-09-10 Colin Watson <cjwatson@ubuntu.com>
21281
21282 * util/grub-install.in: ${imgext} won't be defined here until the
21283 install branch is merged. For the meantime, only verify core.img on
21284 i386-pc and sparc64-ieee1275 platforms.
21285
c38fe9f4
RM
212862010-09-10 Robert Millan <rmh@gnu.org>
21287
21288 Solaris support in grub_find_zpool_from_dir(). Thanks
21289 Seth Goldberg for referring to getextmntent() facility.
21290
21291 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
21292 `sys/mkdev.h'.
21293 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
21294 `<sys/mnttab.h>'.
21295 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
21296 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
21297 method for finding zpool name.
21298
905f7773
CW
212992010-09-10 Colin Watson <cjwatson@ubuntu.com>
21300
21301 grub-fstest needs the host and hostfs modules while other utilities
21302 actively require those modules to be absent, so grub-fstest needs
21303 its own initialisation and finalisation code.
21304
21305 * Makefile.am (grub_fstest.pp): New target.
21306 (grub_fstest_init.lst): Likewise.
21307 (grub_fstest_init.c): Likewise.
21308 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
21309
fb90b546
RM
213102010-09-10 Robert Millan <rmh@gnu.org>
21311
21312 * configure.ac: Check for `struct statfs.f_fstypename' and
21313 `struct statfs.f_mntfromname'.
21314
21315 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
21316 kFreeBSD-specific code.
21317
66d4bea5
RM
213182010-09-10 Robert Millan <rmh@gnu.org>
21319
21320 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
21321 on ZFS. Now non-main filesystems are supported as / too.
21322
b6a690ee
CW
213232010-09-09 Colin Watson <cjwatson@ubuntu.com>
21324
21325 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
21326 and grub-core/disk/host.c to ...
21327 (grub-fstest): ... here. Having the host disk implementation
21328 present confuses grub-probe and other utility programs.
21329
21330 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
21331 when writing to a file, not when writing to stdout.
21332
8901b00c 213332010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
21334
21335 * tests/partmap_test.in: New test for partitions.
21336 * Makefile.util.def: Rules for new test.
21337
7bf45fdd
RM
213382010-09-09 Robert Millan <rmh@gnu.org>
21339
21340 * util/grub-probe.c (probe): Fix a pair of unhandled error
21341 conditions.
21342
4dfbc574
RM
213432010-09-09 Robert Millan <rmh@gnu.org>
21344
21345 Basic Btrfs support (detection and UUID).
21346
21347 * grub-core/fs/btrfs.c: New file.
21348 * Makefile.util.def (library): Register btrfs.c.
21349 * grub-core/Makefile.core.def: Likewise.
21350
6b8e78ae
RM
213512010-09-08 Robert Millan <rmh@gnu.org>
21352
21353 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
21354 with (optional) parameters to specify device and relative path.
21355 * util/grub-install.in: Use is_path_readable_by_grub() to
21356 verify readability of a few critical files.
21357 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
21358 verify readability of grub.cfg.new.
21359
27f21a8b
VS
213602010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
21361
21362 Split minix.mod into minix.mod and minix2.mod.
21363
21364 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
21365 * grub-core/Makefile.core.def (minix2): New module.
21366 * grub-core/fs/minix.c: Use definitions instead of runtime version
21367 checking.
21368 * grub-core/fs/minix2.c: New file.
21369
c0e53ea5
YB
213702010-09-08 Yves Blusseau <blusseau@zetam.org>
21371
21372 Add new --boot-directory option to replace --root-directory
21373
21374 * util/grub-install.in: Add new --boot-directory option
21375 * util/grub-reboot.in: Likewise.
21376 * util/grub-set-default.in: Likewise.
21377
b9fe6ea2
YB
213782010-09-08 Yves Blusseau <blusseau@zetam.org>
21379
21380 * util/grub-mkconfig.in: Use new variable.
21381
d87aedff
YB
213822010-09-08 Yves Blusseau <blusseau@zetam.org>
21383
21384 * configure.ac: Define some useful variables.
21385
e55e8495
VS
213862010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
21387
21388 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21389 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
21390 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
21391 Use terminfo and don't use cursor-on/cursor-off unless it's known
21392 to work.
21393 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
21394 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
21395
6fa6d675
CW
213962010-09-08 Colin Watson <cjwatson@ubuntu.com>
21397
21398 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
21399 starts with "(,", fill the drive containing the loaded image in
21400 between those two characters, but expect that a full partition
21401 specification including partition map names will follow.
21402
92f2aef0
RM
214032010-09-08 Robert Millan <rmh@gnu.org>
21404
21405 * configure.ac: Remove `--enable-grub-fstest' option.
21406 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
21407
21408 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
21409 `grub-fstest' instead of `grub-probe' for readability verification.
21410 * util/grub-probe.c (probe): Remove readability verification kludge.
21411
99fd620d
RM
214122010-09-08 Robert Millan <rmh@gnu.org>
21413
21414 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
21415 initializing `GRUB_FS'.
21416
058e30ac 214172010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
21418
21419 Not command (!) support to GRUB script.
21420
21421 * tests/grub_script_not.in: New test.
21422 * Makefile.util.def: Rules for new test.
21423
21424 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
21425 ! command as a special case.
21426 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
21427
b61d05ed 214282010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
21429
058e30ac 21430 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
21431 grub_free.
b61d05ed 21432
4d69c786 214332010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
21434
21435 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
21436
aa3119c4 214372010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
21438
21439 * docs/grub.texi (Shell-like scripting): Documentation for break,
21440 continue, shift and return commands.
21441
db0f7e3d
VS
214422010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
21443
21444 Rename CD-ROM to cd on BIOS.
21445
21446 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
21447 "cd".
21448 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
21449
88b87c93
VS
214502010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21451
21452 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
21453 * util/grub-probe.c (main): Likewise.
21454 * util/i386/pc/grub-setup.c (main): Likewise.
21455 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
21456 Reported and debugged by: alexxy
21457
294f324d
VS
214582010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21459
21460 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
21461 diagnostic info.
21462
d7ee3441
JS
214632010-09-05 Jo Shields <directhex@apebox.org>
21464
21465 * util/grub.d/30_os-prober.in: Add missing classes.
21466
d7e06c1f
VS
214672010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21468
21469 * docs/grub.texi (Theme file format): Document new position format.
21470
fc157e53
VS
214712010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21472
21473 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
21474 a table. Use @code instead of @verbatim.
21475
506e9a1c
CB
214762010-09-05 Colin D Bennett <colin@gibibit.com>
21477
21478 Gfxmenu documentation.
21479
21480 * docs/grub.texi (Theme file format): New chapter.
21481
f0aff67c
SJ
214822010-09-05 Szymon Janc <szymon@janc.net.pl>
21483
21484 * grub-core/Makefile.core.def (xzio): New module.
21485 * grub-core/io/xzio.c: New file.
21486 * grub-core/lib/xzembed/xz.h: New file (from xembed).
21487 * grub-core/lib/xzembed/xz_config.h: Likewise.
21488 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
21489 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
21490 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
21491 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
21492 * grub-core/lib/xzembed/xz_private.h: Likewise.
21493 * grub-core/lib/xzembed/xz_stream.h: Likewise.
21494 * include/grub/file.h (grub_file_filter_id): New compression filter
21495 GRUB_FILE_FILTER_XZIO.
21496
82a85062
VS
214972010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21498
21499 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
21500 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
21501 size.
21502
3579415d
VS
215032010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21504
21505 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
21506 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
21507
5124ae6d
VS
215082010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21509
21510 Uncompressed checksum support.
21511
21512 * grub-core/commands/hashsum.c (options): Add option --uncompress.
21513 (check_list): New parameter uncompress.
21514 (grub_cmd_hashsum): Handle --uncompress.
21515
9aadb3d1
VS
215162010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21517
21518 Reintroduce testload.
21519
21520 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
21521 from here ...
21522 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
21523 (GRUB_MOD_INIT): New function.
21524 (GRUB_MOD_FINI): Likewise.
21525 * grub-core/Makefile.core.def (testload): New module.
21526
a17792c3
SJ
215272010-09-05 Szymon Janc <szymon@janc.net.pl>
21528
21529 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
21530 (uint8_t): New type.
21531 (uint16_t): Likewise.
21532 (uint32_t): Likewise.
21533 (uint64_t): Likewise.
21534
b81e40a3
SJ
215352010-09-05 Szymon Janc <szymon@janc.net.pl>
21536
21537 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
21538
fc2ef117
VS
215392010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21540
21541 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
21542 Made static.
21543 (grub_gzfile_open): Removed. All users updated.
21544 (GRUB_MOD_INIT): New function.
21545 (GRUB_MOD_FINI): Likewise.
21546 * grub-core/kern/file.c (grub_file_filters_all): New variable.
21547 (grub_file_filters_enabled): Likewise.
21548 (grub_file_open): Handle filters.
21549 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
21550 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
21551 * include/grub/file.h (grub_file_filter_id_t): New type.
21552 (grub_file_filter_t): Likewise.
21553 (grub_file_filters_all): New extern variable.
21554 (grub_file_filters_enabled): Likewise.
21555 (grub_file_filter_register): New inline function.
21556 (grub_file_filter_unregister): Likewise.
21557 (grub_file_filter_disable): Likewise.
21558 (grub_file_filter_disable_compression): Likewise.
21559 * include/grub/gzio.h: Removed.
21560
35ee15e0
BC
215612010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21562
21563 Filename expansion support for wildcards in GRUB script.
21564
21565 * tests/grub_script_expansion.in: New test.
21566 * Makefile.util.def: Rule for new test.
21567
21568 * grub-core/commands/wildcard.c: New file, implements filename
21569 expansion support for GRUB script.
21570 * grub-core/Makefile.core.def: Rule update for regexp.mod.
21571 * grub-core/script/argv.c: Cosmetic changes.
21572 * grub-core/script/execute.c (grub_script_arglist_to_argv):
21573 Refactored to perform wildcard expansion on arguments.
21574 * include/grub/script_sh.h (grub_script_wildcard_translator): New
21575 struct.
21576
21577 * tests/util/grub-shell.in: Fix quoting for read input.
21578
5f0c4aca
BC
215792010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21580
21581 Support for updating environment variables with matched substrings
21582 of regexp.
21583
21584 * tests/grub_cmd_regexp.in: New test.
21585 * Makefile.util.def: Rule for new test.
21586
21587 * grub-core/commands/regexp.c: New option -s to update environment
21588 variables with regexp matches.
21589
3759a35f
SJ
215902010-09-04 Szymon Janc <szymon@janc.net.pl>
21591
21592 * include/grub/file.h (grub_file): New member not_easly_seekable.
21593 (grub_file_seekable): New inline function.
21594 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
21595 easily seekable.
21596 (grub_gzio_open): Set not_easly_seekable.
21597 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
21598 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
21599
ed8c6dec
BC
216002010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21601
21602 Support for options to appear multiple times on cmdline.
21603
21604 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
21605 * grub-core/commands/extcmd.c: Support for repeatable option.
21606 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
21607 repeatable option support.
21608
21609 Refactor menuentry into a regular command.
21610
21611 * grub-core/commands/menuentry.c: New file, menuentry command
21612 implementation.
21613 * grub-core/Makefile.core.def: Rule update for normal.mod.
21614 * grub-core/normal/main.c: Moved menuentry creation to
21615 grub-core/commands/menuentry.c.
21616 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
21617 (grub_menu_execute_entry_real): Removed.
21618 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
21619 function.
21620 (grub_script_execute_menuentry): Removed.
21621 * grub-core/script/parser.y (menuentry): Removed.
21622 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
21623 * grub-core/script/yylex.l (menuentry): Removed.
21624 * include/grub/menu.h (grub_menu_init): New prototype.
21625 (grub_menu_fini): New prototype.
21626 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
21627 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
21628 (grub_script_execute_sourcecode): New prototype.
21629
dacd0cf0
BC
216302010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21631
21632 "return" command for GRUB script functions.
21633
21634 * tests/grub_script_return.in: New test.
21635 * Makefile.util.def: Rules for new test.
21636
21637 * grub-core/script/execute.c (grub_script_return): New function.
21638 * grub-core/script/main.c: Register/unregister return commaond.
21639 * include/grub/script_sh.h (grub_script_return): New prototype.
21640
52e72f9d
BC
216412010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21642
21643 "setparams" command to update positional parameters.
21644
21645 * tests/grub_script_setparams.in: New test.
21646 * Makefile.util.def: Rules for new test.
21647
21648 * grub-core/script/argv.c (grub_script_argv_make): New function.
21649 * grub-core/script/execute.c (replace_scope): New function.
21650 (grub_script_setparams): New function.
21651 * grub-core/script/lexer.c: Remove unused variables.
21652 * grub-core/script/main.c: Register/unregister setparams command.
21653 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
21654 (grub_script_setparams): New prototype.
21655
25b60c91
BC
216562010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21657
21658 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
21659 grub_free order.
21660
37e7bf68
BC
216612010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21662
21663 Support for passing block of commands as an argument to extcmds.
21664
21665 * Makefile.util.def: Rules for new test.
21666 * tests/grub_script_blockarg.in: New test.
21667 * grub-core/tests/test_blockarg.c: New file, block argument
21668 command used in the test.
21669
21670 * include/grub/extcmd.h (grub_extcmd_context): New struct.
21671 (grub_register_extcmd_prio): New function prototype.
21672 (grub_extcmd_dispatcher): New function prototype.
21673 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
21674 type.
21675 * include/grub/script_sh.h (struct grub_script): New members
21676 `children', `next_siblings' and `refcnt' for block arguments and
21677 reference counting.
21678 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
21679 (grub_script_arg): New member `script' for block argument.
21680 (grub_script_argv): New member `script' for block argument.
21681 (grub_parser_param): New member `scripts' for block argument.
21682 (grub_script_mem_free): New extern function prototype.
21683 (grub_script_ref): New function prototype.
21684 (grub_script_unref): New function prototype.
21685
21686 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
21687 extcmd form to support block arguments.
21688 * grub-core/script/argv.c: Block arguments support.
21689 * grub-core/script/execute.c: Likewise.
21690 * grub-core/script/lexer.c: Likewise.
21691 * grub-core/script/main.c: Likewise.
21692 * grub-core/script/script.c: Likewise.
21693 * grub-core/script/parser.y: Likewise. New `block' and `block0'
21694 non-terminals.
21695
21696 * grub-core/commands/acpi.c: Update extcmd implementations with
21697 grub_extcmd_context_t.
21698 * grub-core/commands/cat.c: Likewise.
21699 * grub-core/commands/echo.c: Likewise.
21700 * grub-core/commands/extcmd.c: Likewise.
21701 * grub-core/commands/hashsum.c: Likewise.
21702 * grub-core/commands/hdparm.c: Likewise.
21703 * grub-core/commands/help.c: Likewise.
21704 * grub-core/commands/hexdump.c: Likewise.
21705 * grub-core/commands/i386/cpuid.c: Likewise.
21706 * grub-core/commands/i386/pc/drivemap.c: Likewise.
21707 * grub-core/commands/i386/pc/halt.c: Likewise.
21708 * grub-core/commands/i386/pc/sendkey.c: Likewise.
21709 * grub-core/commands/iorw.c: Likewise.
21710 * grub-core/commands/keystatus.c: Likewise.
21711 * grub-core/commands/loadenv.c: Likewise.
21712 * grub-core/commands/ls.c: Likewise.
21713 * grub-core/commands/lspci.c: Likewise.
21714 * grub-core/commands/memrw.c: Likewise.
21715 * grub-core/commands/probe.c: Likewise.
21716 * grub-core/commands/search_wrap.c: Likewise.
21717 * grub-core/commands/setpci.c: Likewise.
21718 * grub-core/commands/sleep.c: Likewise.
21719 * grub-core/disk/loopback.c: Likewise.
21720 * grub-core/hello/hello.c: Likewise.
21721 * grub-core/loader/i386/bsd.c: Likewise.
21722 * grub-core/loader/xnu.c: Likewise.
21723 * grub-core/term/gfxterm.c: Likewise.
21724 * grub-core/term/serial.c: Likewise.
21725 * grub-core/tests/lib/functional_test.c: Likewise.
21726
888d1500
BC
217272010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21728
21729 Multi-line quoted strings support.
21730
21731 * grub-core/script/lexer.c (append_newline): Removed.
21732 (grub_script_lexer_yywrap): Refactored.
21733 (grub_script_lexer_init): Refactored.
21734 * grub-core/script/yylex.l (yywrap): New function.
21735 (grub_lexer_resplit): New function.
21736 (grub_lexer_unput): New function.
21737 * include/grub/script_sh.h (grub_lexer_param): New members, unput
21738 and resplit.
21739 * tests/grub_script_echo1.in: Added few more testcases.
21740
dda060dd
VS
217412010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
21742
21743 * grub-core/kern/misc.c: Don't add abort alias in utils.
21744 Reported by: echoline.
21745
6556eba9
BC
217462010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
21747
21748 Add missing files into "make dist" tarball for other platforms.
21749
21750 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
21751 * conf/Makefile.common (dist_noinst_DATA): New variable.
21752 * conf/Makefile.extra-dist: Added missing make dist files.
21753 * grub-core/Makefile.core.def: Likewise.
21754
c8e7bf5f
VS
217552010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
21756
21757 Compress grub_prefix.
21758
21759 * grub-core/boot/i386/pc/lnxboot.S: Use
21760 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
21761 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
21762 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
21763 GRUB_MACHINE_PREFIX_END. All users updated.
21764 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
21765 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
21766 + 0x40.
21767 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
21768 * util/grub-mkimage.c (image_target_desc): Change data_end to
21769 prefix_end. All users updated.
21770
a7c00cdb
VS
217712010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
21772
21773 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
21774 value.
21775 (grub_openbsd_boot): Likewise.
21776 (grub_netbsd_boot): Likewise.
21777 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
21778 (grub_xnu_boot): Likewise.
21779
9f915872
VS
217802010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21781
21782 * configure.ac: Clean LIBS variable after tests.
21783
efa1bee7
CW
217842010-09-02 Colin Watson <cjwatson@ubuntu.com>
21785
21786 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
21787
61d720e5
VS
217882010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21789
21790 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
21791 echo if libdevmapper will be used.
21792
ef8e0ec8
IT
217932010-09-02 Ian Turner <Ian.Turner@deshaw.com>
21794
21795 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
21796 constant for the same file.
21797
03e261d8
VS
217982010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21799
21800 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
21801
c2a4eba6
CW
218022010-09-02 Colin Watson <cjwatson@ubuntu.com>
21803
21804 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
21805 grub-core/*.pp.
21806
9056cbf3
CW
218072010-09-02 Colin Watson <cjwatson@ubuntu.com>
21808
21809 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
21810 required by the boot protocol.
21811
21812 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
21813 ebp and edi members.
21814 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
21815 state.ebp and state.edi.
21816 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
21817 %ebp and %edi according to grub_relocator32_ebp and
21818 grub_relocator32_edi respectively.
21819 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
21820 and state.edi.
21821
529cc99a
VS
218222010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21823
21824 Add i386-pc-pxe image target.
21825
21826 * util/grub-mkimage.c (image_target_desc): New enum value
21827 IMAGE_I386_PC_PXE.
21828 (image_targets): New target i386-pc-pxe.
21829 (generate_image): Handle i386-pc-pxe image.
21830
9a093920
VS
218312010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21832
21833 Fix grub_pxe_scan.
21834
21835 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
21836 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
21837 All users updated.
21838 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
21839 (grub_pxe_pxenv): Correct type.
21840
f9cefc4e
CW
218412010-09-01 Colin Watson <cjwatson@ubuntu.com>
21842
21843 * NEWS: Document most of the important changes since 1.98.
21844
4066f57f
CW
218452010-09-01 Colin Watson <cjwatson@ubuntu.com>
21846
21847 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
21848 generated manual page) a little.
21849
da2891f9
CW
218502010-09-01 Colin Watson <cjwatson@ubuntu.com>
21851
21852 * docs/grub.texi: Add myself as an author.
21853
ad717fae
VS
218542010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
21855
21856 * Makefile.util.def (libgrub.a): Add missing sunpc.
21857 Reported by: Seth Goldberg.
21858
eefe8abd
VS
218592010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21860
21861 Interrupt wrapping and code simplifications.
21862
9494ef9a
VS
21863 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
21864 x86_noieee1275 which are functionaly equivalent in this case.
21865 (grub-install): Make source on each platform explicit. Enable on
21866 all noemu.
21867 * gentpl.py (x86_efi_pc): Removed group.
21868 (x86_noefi): Likewise.
21869 (i386_noefi): Likewise.
21870 (x86_noieee1275): Likewise.
21871 (i386_noieee1275): Likewise.
21872 (i386_noefi_noieee1275): Likewise.
21873 (i386_pc_qemu_coreboot): Likewise.
21874 (i386_coreboot_multiboot): Likewise.
21875 (i386_pc_coreboot_multiboot_qemu): Likewise.
21876 (x86_noefi_mips): Likewise.
21877 (noieee1275): Likewise.
21878 (ieee1275_mips): Likewise.
21879 (noemu_noieee1275): Likewise.
21880 (cmos): New group.
21881 (usb): Likewise.
21882 (videoinkernel): Likewise.
21883 (videomodules): Likewise.
eefe8abd 21884 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
21885 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
21886 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
21887 include/grub/loader.h, include/grub/msdos_partition.h,
21888 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
21889 include/grub/machine/console.h, include/grub/machine/vga.h,
21890 include/grub/machine/vbe.h, include/grub/machine/init.h,
21891 include/grub/machine/kernel.h, include/grub/cpu/time.h,
21892 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 21893 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
21894 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
21895 * grub-core/Makefile.core.def (kernel): Explicit the source for
21896 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
21897 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
21898 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
21899 Use videoinkernel tag.
21900 (usb): Enable on all usb.
21901 (usbserial_common): Likewise.
21902 (usbserial_pl2303): Likewise.
21903 (usbserial_ftdi): Likewise.
21904 (uhci): Enable on all x86.
21905 (ohci): Enable on all pci.
21906 (cmostest): Enable on all CMOS.
21907 (acpi): Include commands/acpi.c on all platforms.
21908 (halt): Add relevant lib/*/halt.c.
21909 (hdparm): Enable on all pci.
21910 (lspci): Likewise.
21911 (usbtest): Enable on all usb.
21912 (ata): Enable on all pci.
21913 (ata_pthru): Likewise.
21914 (usbms): Enable on all usb.
21915 (usb_keyboard): Likewise.
21916 (font): Use tag videomodules.
21917 (bufio): Likewise.
21918 (datetime): Use tag cmos. Enable on all noemu.
21919 (mmap): Use tags common and x86.
21920 (gfxterm): Use tag videomodules.
21921 (bitmap): Likewise.
21922 (bitmap_scale): Likewise.
21923 (video_fb): Likewise.
21924 (video): Likewise.
21925 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
21926 adjust padding accordingly. All users updated.
21927 (grub_ohci_transaction): Fix bad format specification.
21928 (GRUB_MOD_INIT): Add asserts for struct size.
21929 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
21930 (grub_alloc_td): Likewise.
21931 (grub_free_queue): Likewise.
21932 (grub_uhci_transfer): Likewise.
21933 (grub_uhci_transaction): Fix bad format specification.
21934 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
21935 (grub_usb_bulk_readwrite): Likewise.
21936 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
21937 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
21938 Made static.
21939 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
21940 Made static.
21941 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
21942 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
21943 Transformed into C.
21944 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
21945 Moved from here ...
21946 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
21947 ... here. Transformed into C. Made static.
21948 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
21949 Moved from here ...
21950 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
21951 ... here. Transformed into C. Made static.
21952 * grub-core/kern/i386/pc/startup.S
21953 (grub_biosdisk_check_int13_extensions): Moved from here ...
21954 * grub-core/disk/i386/pc/biosdisk.c
21955 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
21956 Made static.
21957 * grub-core/kern/i386/pc/startup.S
21958 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
21959 * grub-core/disk/i386/pc/biosdisk.c
21960 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
21961 Transformed into C. Made static.
21962 * grub-core/kern/i386/pc/startup.S
21963 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
21964 * grub-core/disk/i386/pc/biosdisk.c
21965 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
21966 Transformed into C. Made static.
21967 * grub-core/kern/i386/pc/startup.S
21968 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
21969 * grub-core/disk/i386/pc/biosdisk.c
21970 (grub_biosdisk_get_diskinfo_standard): ... here.
21971 Transformed into C. Made static.
21972 * grub-core/kern/i386/pc/startup.S
21973 (grub_biosdisk_get_num_floppies): Moved from here ...
21974 * grub-core/disk/i386/pc/biosdisk.c
21975 (grub_biosdisk_get_num_floppies): ... here.
21976 Transformed into C. Made static.
21977 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
21978 New function.
21979 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
21980 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
21981 Transformed into C. Made static.
21982 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
21983 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
21984 Transformed into C. Made static.
21985 * grub-core/kern/i386/ieee1275/init.c: Removed.
21986 * grub-core/kern/i386/misc.S: Likewise.
21987 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
21988 Splitted from here ...
21989 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
21990 Transformed into C. Made static. All users updated.
21991 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
21992 Transformed into C. Made static. All users updated.
21993 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
21994 Moved from here...
21995 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
21996 Transformed into C. Made static. All users updated.
21997 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
21998 Moved from here...
21999 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
22000 Transformed into C. Made static. All users updated.
22001 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
22002 Removed (replaced by C version).
22003 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
22004 Moved from here...
22005 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
22006 Transformed into C. Made static.
22007 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
22008 Moved from here...
22009 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
22010 ... here. Transformed into C.
22011 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
22012 Moved from here...
22013 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
22014 ... here. Transformed into C.
22015 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
22016 Moved from here...
22017 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
22018 ... here. Transformed into C. Made static.
22019 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
22020 Moved from here...
22021 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
22022 ... here. Transformed into C.
21ed554b
VS
22023 * grub-core/kern/i386/pc/startup.S
22024 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
22025 * grub-core/video/i386/pc/vbe.c
22026 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
22027 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
22028 Moved from here...
22029 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
22030 ... here. Transformed into C.
22031 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
22032 Moved from here...
22033 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
22034 ... here. Transformed into C.
22035 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
22036 Moved from here...
22037 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
22038 ... here. Transformed into C.
22039 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
22040 Moved from here...
22041 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
22042 ... here. Transformed into C.
22043 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
22044 Moved from here...
22045 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
22046 ... here. Transformed into C. Made static.
22047 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
22048 Moved from here...
22049 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
22050 ... here. Transformed into C. Made static.
22051 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
22052 Moved from here...
22053 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
22054 ... here. Transformed into C. Made static.
22055 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
22056 pxe_rm_entry as third argument.
22057 (grub_bios_interrupt): New function.
22058 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
22059 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
22060 of calling grub_stop.
22061 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
22062 * grub-core/lib/efi/halt.c (grub_halt): ...here.
22063 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
22064 * grub-core/lib/emu/halt.c (grub_halt): ... here.
22065 * grub-core/lib/i386/halt.c: Moved from here ...
22066 * grub-core/lib/i386/halt.c: ... here.
22067 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
22068 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
22069 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
22070 grub_stop_floppy.
22071 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
22072 * include/grub/i386/coreboot/init.h: Removed.
22073 * include/grub/i386/multiboot/init.h: Likewise.
22074 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
22075 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
22076 * include/grub/i386/pc/int.h: New file.
22077 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
22078 (grub_pxe_scan): Removed.
22079 (grub_pxe_call): Update prototype.
22080 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
22081 prototypes.
22082 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
22083 * include/grub/i386/qemu/init.h: Removed.
22084 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
22085 noreturn.
22086 (grub_halt): Likewise.
22087 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
22088 (grub_reboot): Likewise.
22089 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
22090 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
22091 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
22092
215dd471
RM
220932010-08-30 Robert Millan <rmh@gnu.org>
22094
22095 * NEWS: Document addition of ZFS support in `grub-install' and
22096 `grub-mkconfig'.
22097
ebd65b82
BC
220982010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
22099
22100 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
22101 dprintf output.
22102
11721d19
VS
221032010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22104
22105 Remove leftover embedding of font objects.
22106
22107 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
22108 * util/grub-install.in (font): Removed.
22109 * util/grub-mkimage.c (generate_image): Remove font support. All users
22110 updated.
22111
37837d4e
VS
221122010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22113
22114 Remove leftover embedding of font objects.
22115
22116 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
22117 * util/grub-install.in (font): Removed.
22118 * util/grub-mkimage.c (generate_image): Remove font support. All users
22119 updated.
22120
b4c1aae0
VS
221212010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22122
22123 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 22124 Reported by: Ian Turner
b4c1aae0 22125
8920a08d
VS
221262010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22127
22128 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
22129 timeout to avoid indefinite boot stalling.
22130
f21db033
VS
221312010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22132
22133 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
22134 (grub_env_write_color_highlight): Likewise.
22135
9a9de209
VS
221362010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22137
22138 * grub-core/normal/term.c (print_more): Return to normal and not
22139 to standard state after printing "---MORE---".
22140
3dca01d7
VS
221412010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22142
22143 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
22144 Mask out the bit 0x80 since it has other meaning that specifiing color.
22145
0b986c40
VS
221462010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22147
22148 New relocator. Allows for more kernel support and more straightforward
22149 loader writing.
22150
22151 * Makefile.am (BOOTTARGET): New variable.
22152 (QEMU32): Likewise.
22153 (linux.init.x86_64): New target.
22154 (linux.init.i386): Likewise.
22155 (multiboot.elf): Likewise.
22156 (kfreebsd.elf): Likewise.
22157 (kfreebsd.aout): Likewise.
22158 (pc-chainloader.elf): Likewise.
22159 (pc-chainloader.bin): Likewise.
22160 (ntldr.elf): Likewise.
22161 (ntldr.bin): Likewise.
22162 (multiboot2.elf): Likewise.
22163 (kfreebsd.init.x86_64): Likewise.
22164 (kfreebsd.init.i386): Likewise.
22165 (knetbsd.init.i386): Likewise.
22166 (kopenbsd.init.i386): Likewise.
22167 (knetbsd.init.x86_64): Likewise.
22168 (kopenbsd.init.x86_64): Likewise.
22169 (linux-initramfs.i386): Likewise.
22170 (linux-initramfs.x86_64): Likewise.
22171 (kfreebsd-mfsroot.i386.img): Likewise.
22172 (knetbsd.image.i386): Likewise.
22173 (kopenbsd.image.i386): Likewise.
22174 (kopenbsd.image.x86_64): Likewise.
22175 (knetbsd.miniroot-image.i386.img): Likewise.
22176 (kfreebsd-mfsroot.x86_64.img): Likewise.
22177 (knetbsd.image.x86_64): Likewise.
22178 (knetbsd.miniroot-image.x86_64.img): Likewise.
22179 (kfreebsd-mfsroot.i386.gz): Likewise.
22180 (bootcheck-kfreebsd-i386): Likewise.
22181 (kfreebsd-mfsroot.x86_64.gz): Likewise.
22182 (bootcheck-kfreebsd-x86_64): Likewise.
22183 (knetbsd.miniroot-image.i386.gz): Likewise.
22184 (bootcheck-knetbsd-i386): Likewise.
22185 (bootcheck-kopenbsd-i386): Likewise.
22186 (bootcheck-kopenbsd-x86_64): Likewise.
22187 (knetbsd.miniroot-image.x86_64.gz): Likewise.
22188 (bootcheck-knetbsd-x86_64): Likewise.
22189 (bootcheck-linux-i386): Likewise.
22190 (bootcheck-linux-x86_64): Likewise.
22191 (bootcheck-linux16-i386): Likewise.
22192 (bootcheck-linux16-x86_64): Likewise.
22193 (bootcheck-multiboot): Likewise.
22194 (bootcheck-multiboot2): Likewise.
22195 (bootcheck-kfreebsd-aout): Likewise.
22196 (bootcheck-pc-chainloader): Likewise.
22197 (bootcheck-ntldr): Likewise.
22198 (CLEANFILES): Add new targets.
22199 (BOOTCHECKS): New variable.
22200 (.PHONY): Add bootchecks.
22201 (SUCCESSFUL_BOOT_STRING): New variable.
22202 (BOOTCHECK_TIMEOUT): Likewise.
22203 (bootcheck): New target
22204 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
22205 * configure.ac: Correct efiemu excuse.
22206 * docs/grub.texi (Supported kernels): New chapter.
22207 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
22208 include/grub/mm_private.h. Simplify inclusion of
22209 include/grub/boot.h, include/grub/loader.h
22210 and include/grub/msdos_partition.h
22211 (KERNEL_HEADER_FILES) [i386_coreboot]:
22212 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
22213 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
22214 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
22215 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
22216 include/grub/machine/loader.h.
22217 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
22218 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
22219 extra_dist.
22220 (pci.mod): Enable on i386-multiboot.
22221 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
22222 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
22223 i386-qemu.
22224 (relocator.mod): Rewritten.
22225 (aout.mod): Enable on all x86.
22226 (bsd.mod): Likewise.
22227 (ntldr.mod): New module.
22228 (linux.mod): Use loader/i386/linux.c on all x86.
22229 (xnu.mod): Enable on all x86.
22230 (vga_text.mod): disable on EFI and QEMU.
22231 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
22232 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
22233 * grub-core/efiemu/loadcore.c: Likewise.
22234 * grub-core/efiemu/main.c: Likewise.
22235 (grub_efiemu_exit_boot_services): Removed.
22236 (grub_efiemu_finish_boot_services): Likewise.
22237 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
22238 function.
22239 * grub-core/efiemu/i386/nocfgtables.c: New file.
22240 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
22241 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
22242 (grub_efi_finish_boot_services): Moved from here ...
22243 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
22244 Fille finish memory map and related data.
22245 (finish_mmap_buf): New variable.
22246 (grub_efi_uintn_t finish_mmap_size): Likewise.
22247 (grub_efi_uintn_t finish_key): Likewise.
22248 (grub_efi_uintn_t finish_desc_size): Likewise.
22249 (grub_efi_uint32_t finish_desc_version): Likewise.
22250 (grub_efi_is_finished): Likewise.
22251 (grub_efi_get_memory_map): Use saved memory map if EFI is already
22252 finished.
22253 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
22254 (grub_elf64_phdr_iterate): Likewise.
22255 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
22256 (grub_os_area_size): Likewise.
22257 (grub_machine_init): Don't reserve os area.
22258 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
22259 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
22260 * grub-core/kern/i386/loader.S: Removed.
22261 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
22262 (grub_os_area_size): Likewise.
22263 (grub_machine_init): Don't reserve os area.
22264 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
22265 Don't call grub_dl_unload_all.
22266 Don't include loader.S.
22267 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
22268 Declare the memory after _end as available.
22269 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 22270 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 22271 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
22272 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
22273 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
22274 * include/grub/mm_private.h (grub_mm_header): ... here.
22275 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
22276 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
22277 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
22278 (grub_mm_region): ..here. Removed addr. Added pre_size.
22279 All users updated.
22280 * grub-core/kern/mm.c (base): Renamed to ...
22281 (grub_mm_base): ... this. Made global.
22282 (grub_real_malloc): Alloc from end of region.
22283 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
22284 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
22285 * grub-core/kern/powerpc/cache_flush.S: ... here.
22286 * grub-core/lib/efi/relocator.c: New file.
22287 * grub-core/lib/i386/relocator.c: Rewritten.
22288 * grub-core/lib/i386/relocator16.S: New file.
22289 * grub-core/lib/i386/relocator32.S: Likewise.
22290 * grub-core/lib/i386/relocator64.S: Likewise.
22291 * grub-core/lib/i386/relocator_asm.S: Rewritten.
22292 * grub-core/lib/i386/relocator_common.S: New file.
22293 * grub-core/lib/ieee1275/relocator.c: Likewise.
22294 * grub-core/lib/mips/relocator.c: Rewritten.
22295 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
22296 stylistic adjustments.
22297 * grub-core/lib/powerpc/relocator.c: New file.
22298 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
22299 * grub-core/lib/relocator.c: Rewritten.
22300 * grub-core/lib/x86_64/relocator_asm.S: New file.
22301 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
22302 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
22303 (bsd_tag): New struct.
22304 (tags): New variable.
22305 (tags_last): Likewise.
22306 (netbsd_module): New struct.
22307 (netbsd_mods): New variable.
22308 (netbsd_mods_last): Likewise.
22309 (openbsd_opts): New parameter "serial".
22310 (OPENBSD_SERIAL_ARG): New definition.
22311 (netbsd_opts): New parameter "serial".
22312 (NETBSD_SERIAL_ARG): New definition.
22313 (grub_freebsd_add_meta): Reorganised into ...
22314 (grub_bsd_add_meta): ...this. All users updated.
22315 (grub_freebsd_add_mmap): Reorganised into ...
22316 (generate_e820_mmap): ...this...
22317 (grub_bsd_add_mmap): ...and this. All users updated.
22318 (grub_freebsd_list_modules): Use tags.
22319 (grub_netbsd_add_meta_module): New function.
22320 (grub_netbsd_list_modules): Likewise.
22321 (grub_freebsd_boot): Use relocator and finish EFI.
22322 (grub_openbsd_boot): Likewise.
22323 (grub_netbsd_setup_video): New function.
22324 (grub_netbsd_add_modules): Likewise.
22325 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
22326 and finish EFI.
22327 (grub_bsd_unload): Unload tags.
22328 (grub_bsd_load_aout): Use relocator.
22329 (grub_bsd_elf32_size_hook): New function.
22330 (grub_bsd_elf32_hook): Use relocator.
22331 (grub_bsd_elf64_size_hook): New function.
22332 (grub_bsd_elf64_hook): Use relocator.
22333 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
22334 (grub_bsd_load): Zero-out openbsd_ramdisk.
22335 (grub_bsd_load): Use relocator.
22336 (grub_cmd_openbsd): Support serial.
22337 (grub_cmd_netbsd): Support modules.
22338 (grub_cmd_freebsd_module): Use relocator.
22339 (grub_netbsd_module_load): New function.
22340 (grub_cmd_netbsd_module): Likewise.
22341 (grub_cmd_openbsd_ramdisk): Likewise.
22342 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
22343 kopenbsd_ramdisk.
22344 (GRUB_MOD_FINI): Unregister new commands.
22345 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
22346 (grub_freebsd_load_elfmodule_obj): Use relocator.
22347 (grub_freebsd_load_elfmodule): Likewise.
22348 (grub_freebsd_load_elf_meta): Likewise.
22349 (grub_netbsd_load_elf_meta): New function.
22350 (grub_openbsd_find_ramdisk): Likewise.
22351 * grub-core/loader/i386/bsd_helper.S: Removed.
22352 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
22353 * grub-core/loader/i386/bsd_trampoline.S: Removed.
22354 * grub-core/loader/i386/efi/linux.c: Likewise.
22355 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
22356 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
22357 (DEFAULT_VIDEO_MODE): Likewise.
22358 (real_mode_target): New variable.
22359 (prot_mode_target): Likewise.
22360 (initrd_mem_target): Likewise.
22361 (relocator): Likewise.
22362 (efi_mmap_buf): Likewise.
22363 (efi_mmap_size): Likewise.
22364 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
22365 (free_pages): Use relocator.
22366 (allocate_pages): Account for efi_mmap and use relocator. Return error.
22367 (grub_linux_setup_video): Return error.
22368 (grub_linux_trampoline_start): Removed.
22369 (grub_linux_trampoline_end): Likewise.
22370 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
22371 andd video parameters depending on firmware.
22372 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
22373 [GRUB_MACHINE_EFI]: Pass EFI parameters.
22374 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
22375 (grub_cmd_initrd): Use relocator.
22376 * grub-core/loader/i386/linux_trampoline.S: Removed.
22377 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
22378 (elf_sec_entsize): Likewise.
22379 (elf_sec_shstrndx): Likewise.
22380 (elf_sections): Likewise.
22381 (grub_multiboot_load): Use relocator.
22382 (grub_multiboot_get_mbi_size): Account for sections.
22383 (grub_multiboot_make_mbi): Use relocator and support sections.
22384 (grub_multiboot_add_elfsyms): New function.
22385 (grub_multiboot_free_mbi): Free sections.
22386 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
22387 (grub_linux_real_target): Likewise.
22388 (grub_linux_real_chunk): Likewise.
22389 (grub_linux16_prot_size): Likewise.
22390 (grub_linux16_boot): Use relocator.
22391 (grub_linux_unload): Unload relocator.
22392 (grub_cmd_linux): Use relocator.
22393 (grub_cmd_initrd): Likewise.
22394 * grub-core/loader/i386/pc/ntldr.c: New file.
22395 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
22396 Don't try to guess CPU frequency.
22397 (grub_xnu_set_video): Stretch bitmap.
22398 (grub_xnu_boot): Use relocator.
22399 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
22400 (grub_linux_unload): Free relocator.
22401 (grub_linux_load32): Use relocator.
22402 (grub_linux_load64): Likewise.
22403 (grub_cmd_initrd): Likewise.
22404 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
22405 (grub_multiboot_unload): Unload relocator.
22406 (grub_cmd_multiboot): Use relocator.
22407 (grub_cmd_module): Likewise.
22408 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
22409 Use relocator and support sections.
22410 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
22411 (elf_sec_entsize): Likewise.
22412 (elf_sec_shstrndx): Likewise.
22413 (elf_sections): Likewise.
22414 (grub_multiboot_load): Use relocator.
22415 (grub_multiboot_get_mbi_size): Account for sections.
22416 (grub_multiboot_make_mbi): Use relocator and support sections.
22417 (grub_multiboot_add_elfsyms): New function.
22418 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
22419 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
22420 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
22421 Prototype changed. All users updated.
22422 (grub_xnu_align_heap): Simplified.
22423 (grub_xnu_writetree_toheap): Likewise.
22424 (grub_xnu_unload): Unload relocator.
22425 (grub_cmd_xnu_kernel): Use relocator.
22426 (grub_cmd_xnu_kernel64): Likewise.
22427 (grub_xnu_register_memory): Simplified.
22428 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
22429 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
22430 EFI is finished.
22431 (grub_console_checkkey): Likewise.
22432 (grub_console_getkey): Likewise.
22433 (grub_console_getwh): Likewise.
22434 (grub_console_getxy): Likewise.
22435 (grub_console_gotoxy): Likewise.
22436 (grub_console_cls): Likewise.
22437 (grub_console_setcolorstate): Likewise.
22438 (grub_console_setcursor): Likewise.
22439 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
22440 * grub-core/tests/boot/kbsd.init-i386.S: New file.
22441 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
22442 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
22443 * grub-core/tests/boot/kernel-8086.S: Likewise.
22444 * grub-core/tests/boot/kernel-i386.S: Likewise.
22445 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
22446 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
22447 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
22448 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
22449 * grub-core/tests/boot/knetbsd.cfg: Likewise.
22450 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
22451 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
22452 * grub-core/tests/boot/linux.cfg: Likewise.
22453 * grub-core/tests/boot/linux.init-i386.S: Likewise.
22454 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
22455 * grub-core/tests/boot/linux16.cfg: Likewise.
22456 * grub-core/tests/boot/multiboot.cfg: Likewise.
22457 * grub-core/tests/boot/multiboot2.cfg: Likewise.
22458 * grub-core/tests/boot/ntldr.cfg: Likewise.
22459 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
22460 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
22461 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
22462 New definition.
22463 * include/grub/dl.h (grub_dl_unload_all): Removed.
22464 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
22465 (grub_efi_finish_boot_services): Change prototype.
22466 (grub_efi_is_finished): New variable.
22467 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
22468 Changed prototype.
22469 (grub_efiemu_finish_boot_services): Removed.
22470 (grub_machine_efiemu_init_tables): New prototype.
22471 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
22472 (grub_elf64_phdr_iterate): Likewise.
22473 * include/grub/i386/bsd.h: Include relocator.h.
22474 (freebsd_tag_header): New struct.
22475 (grub_openbsd_bios_mmap): Removed.
22476 (grub_unix_real_boot): Removed.
22477 (grub_freebsd_load_elfmodule32): Changed prototype.
22478 (grub_freebsd_load_elfmodule_obj64): Likewise.
22479 (grub_freebsd_load_elf_meta32): Likewise.
22480 (grub_freebsd_load_elf_meta64): Likewise.
22481 (grub_freebsd_add_meta): Removed.
22482 (grub_netbsd_load_elf_meta32): New prototype.
22483 (grub_netbsd_load_elf_meta64): Likewise.
22484 (grub_bsd_add_meta): Likewise.
22485 (grub_openbsd_ramdisk_descriptor): New struct.
22486 (grub_openbsd_find_ramdisk32): New prototype.
22487 (grub_openbsd_find_ramdisk64): Likewise.
22488 * include/grub/i386/coreboot/loader.h: Removed.
22489 * include/grub/i386/efi/loader.h: Likewise.
22490 * include/grub/i386/ieee1275/loader.h: Likewise.
22491 * include/grub/i386/linux.h (linux_kernel_header): Change void *
22492 to grub_uint32_t.
22493 * include/grub/i386/loader.h: Removed.
22494 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
22495 value.
22496 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
22497 (grub_phys_addr_t): New type.
22498 (grub_vtop): New inline function.
22499 (grub_map_memory): Likewise.
22500 (grub_unmap_memory): Likewise.
22501 * include/grub/i386/multiboot/loader.h: Removed.
22502 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
22503 (NETBSD_BTINFO_CONSOLE): New definition.
22504 (NETBSD_BTINFO_SYMTAB): Likewise.
22505 (NETBSD_BTINFO_MODULES): Likewise.
22506 (NETBSD_BTINFO_FRAMEBUF): Likewise.
22507 (grub_netbsd_bootinfo): New struct.
22508 (grub_netbsd_btinfo_common): Use explicit bitsize.
22509 (grub_netbsd_btinfo_mmap_entry): Removed.
22510 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
22511 (grub_netbsd_btinfo_bootdisk): New struct.
22512 (grub_netbsd_btinfo_symtab): Likewise.
22513 (grub_netbsd_btinfo_serial): Likewise.
22514 (grub_netbsd_btinfo_modules): Likewise.
22515 (grub_netbsd_btinfo_framebuf): Likewise.
22516 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
22517 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
22518 Likewise.
22519 (grub_openbsd_bootargs): Use explicit bitsize.
22520 (grub_openbsd_bootarg_console): New struct.
22521 (GRUB_OPENBSD_COM_MAJOR): New definition.
22522 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
22523 * include/grub/i386/pc/efiemu.h: Removed.
22524 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
22525 * include/grub/i386/qemu/loader.h: Removed.
22526 * include/grub/i386/relocator.h: Rewritten.
22527 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
22528 * include/grub/mips/memory.h: New file.
22529 * include/grub/mips/multiboot.h: Rewritten.
22530 * include/grub/mips/relocator.h: Rewritten.
22531 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
22532 (grub_vtop): New function.
22533 (grub_map_memory): Likewise.
22534 (grub_unmap_memory): Likewise.
22535 * include/grub/misc.h (ALIGN_DOWN): New definition.
22536 * include/grub/mm.h (grub_mm_check_real): New proto.
22537 (GRUB_MM_CHECK): New definition.
22538 * include/grub/mm_private.h: New file.
22539 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
22540 (grub_multiboot_get_mbi_size): Removed.
22541 (grub_multiboot_make_mbi): Change prottype.
22542 (grub_multiboot_set_accepts_video): New proto.
22543 (grub_multiboot_add_elfsyms): Likewise.
22544 (grub_multiboot_payload_eip): New variable.
22545 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
22546 New prototype.
22547 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
22548 New definition.
22549 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
22550 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
22551 * include/grub/powerpc/ieee1275/loader.h: Removed.
22552 * include/grub/powerpc/memory.h: New file.
22553 * include/grub/powerpc/relocator.h: Likewise.
22554 * include/grub/relocator.h: Likewise.
22555 * include/grub/relocator_private.h: Likewise.
22556 * include/grub/sparc64/ieee1275/loader.h: Removed.
22557 * include/grub/x86_64/memory.h: New file.
22558 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
22559 (grub_xnu_heap_malloc): Likewise.
22560 (grub_xnu_heap_real_start): Removed.
22561 (grub_xnu_heap_start): Likewise.
22562 (grub_xnu_relocator): New variable.
22563 (grub_xnu_heap_target_start): Likewise.
22564 * tests/util/grub-shell.in: Support non-pc.
22565 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 22566
5303b85d
VS
225672010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22568
22569 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
22570 on malloc error.
22571 (grub_bidi_logical_to_visual): Check that malloc succeded.
22572 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
22573 puts.
22574 (grub_xputs_normal): Likewise.
22575
d768d159
VS
225762010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22577
22578 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
22579 extra_dist.
22580
225812010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22582
22583 * grub-core/efiemu/runtime/efiemu.sh: Removed.
22584
5bf84df4
VS
225852010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22586
22587 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
22588
3626810e
VS
225892010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22590
22591 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
22592 dprintf.
22593
a7363f53
BC
225942010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
22595
22596 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
22597
902f75f6
VS
225982010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22599
22600 * grub-core/normal/term.c (print_more): Fix a memory leak.
22601 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
22602 (grub_xputs_normal): Likewise.
22603
3c707967
VS
226042010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22605
22606 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
22607 the begining of the string
22608
2053cc07
VS
226092010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22610
22611 * grub-core/script/script.c (grub_script_parse): Free parsed on
22612 failure.
22613
46422ebf
VS
226142010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22615
22616 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
22617 on failure.
22618
9e0fa3f6
VS
226192010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22620
22621 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
22622 return.
22623
3393cf16
VS
226242010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22625
22626 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
22627 (scroll_up): Fix a memory leak.
22628
b17540cb
VS
226292010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22630
22631 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
22632 errors.
22633
67140446
VS
226342010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
22635
22636 Handle USB pendrives exposed as floppies.
22637
22638 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
22639 floppy.
22640 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
22641 Check for partitions on all devices.
22642
e35e46fc
VS
226432010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22644
22645 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
22646 (readkey): Likewise.
22647
d24c6190
BC
226482010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
22649
22650 Multiple variable names support to "export" command.
22651
22652 * normal/context.c (grub_cmd_export): "export" command supports
22653 multiple variable names.
22654
04ddcc6a
ST
226552010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
22656
22657 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
22658 --target=drive output to Mach device name.
22659
0c8b61d8
BC
226602010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
22661
22662 New Automake based build system for GRUB.
22663
22664 * ABOUT-NLS: New file.
22665 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
22666 in Makefile.util.def file.
22667 * Makefile.util.def: New file. Autogen build definitions file for
22668 GRUB host utils.
22669 * conf/Makefile.common: New file. Common variables for GRUB host
22670 utils and target modules.
22671 * conf/Makefile.extra-dist: New file. Extra files for make dist.
22672 * docs/Makefile.am: New file. Automake file for docs.
22673 * gentpl.py: New file. Python script to generate Autogen
22674 template.
22675 * grub-core/Makefile.am: New file. GRUB target modules' rules
22676 that doesn't fit in Makefile.core.def file.
22677 * grub-core/Makefile.core.def: New file. Autogen build
22678 definitions file for GRUB target modules.
22679 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
22680 specific setjmp.S file.
22681 * po/Makefile.am: New file.
22682
22683 * .bzrignore: New ignores.
22684 * INSTALL: New requirements, without Ruby.
22685 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
22686 * autogen.sh: Updated to invoke autogen as necessary.
22687 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
22688 and defines for Automake conditionals.
22689 * geninit.sh: Refactoring.
22690
22691 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
22692 necessary.
22693 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
22694 New prototype.
22695
22696 * include/grub/test.h: Fix functional test modules' naming.
22697 * grub-core/tests/example_functional_test.c: Fix test module name.
22698
22699 * util/misc.c: Hosted versions' of grub functions for libgrub.a
22700 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
22701 * util/grub-editenv.c: Likewise.
22702 * util/grub-fstest.c: Likewise.
22703 * util/grub-mkdevicemap.c: Likewise.
22704 * util/grub-mkfont.c: Likewise.
22705 * util/grub-mkimage.c: Likewise.
22706 * util/grub-mkpasswd-pbkdf2.c: Likewise.
22707 * util/grub-probe.c: Likewise.
22708 * util/grub-script-check.c: Likewise.
22709 * util/i386/pc/grub-setup.c: Likewise.
22710 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22711
22712 * tests/util/grub-shell.in: Fix override directory path.
22713 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
22714 * util/import_gcry.py: Create Makefile.gcry.def file instead.
22715
22716 * util/lvm.c: Update #includes.
22717 * util/raid.c: Likewise.
22718 * util/resolve.c: Likewise.
22719 * grub-core/bus/emu/pci.c: Likewise.
22720 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
22721 * grub-core/lib/posix_wrap/string.h: Likewise.
22722 * grub-core/kern/emu/main.c: Likewise.
22723
22724 * grub-core/gensymlist.sh: New file. Script for generating kernel
22725 symbols file.
22726 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
22727
22728 * grub-core/gentrigtables.c: Fix unused variable warnings.
22729
22730 * Makefile.in: Removed.
22731 * conf/any-emu.rmk: Removed.
22732 * conf/common.rmk: Removed.
22733 * conf/i386-coreboot.rmk: Removed.
22734 * conf/i386-efi.rmk: Removed.
22735 * conf/i386-ieee1275.rmk: Removed.
22736 * conf/i386-multiboot.rmk: Removed.
22737 * conf/i386-pc.rmk: Removed.
22738 * conf/i386-qemu.rmk: Removed.
22739 * conf/i386.rmk: Removed.
22740 * conf/mips-yeeloong.rmk: Removed.
22741 * conf/mips.rmk: Removed.
22742 * conf/powerpc-ieee1275.rmk: Removed.
22743 * conf/sparc64-ieee1275.rmk: Removed.
22744 * conf/tests.rmk: Removed.
22745 * conf/x86-efi.rmk: Removed.
22746 * conf/x86_64-efi.rmk: Removed.
22747 * gendistlist.sh: Removed.
22748 * geninitheader.sh: Removed.
22749 * genkernsyms.sh.in: Removed.
22750 * genmk.rb: Removed.
22751 * gensymlist.sh.in: Removed.
22752 * mkinstalldirs: Removed.
22753 * boot: Moved ...
22754 * grub-core/boot: ... to here.
22755 * bus: Moved ...
22756 * grub-core/bus: ... to here.
22757 * commands: Moved ...
22758 * grub-core/commands: ... to here.
22759 * disk: Moved ...
22760 * grub-core/disk: ... to here.
22761 * efiemu: Moved ...
22762 * grub-core/efiemu: ... to here.
22763 * font: Moved ...
22764 * grub-core/font: ... to here.
22765 * fs: Moved ...
22766 * grub-core/fs: ... to here.
22767 * gencmdlist.sh: Moved ...
22768 * grub-core/gencmdlist.sh: ... to here.
22769 * genemuinit.sh: Moved ...
22770 * grub-core/genemuinit.sh: ... to here.
22771 * genemuinitheader.sh: Moved ...
22772 * grub-core/genemuinitheader.sh: ... to here.
22773 * genfslist.sh: Moved ...
22774 * grub-core/genfslist.sh: ... to here.
22775 * genhandlerlist.sh: Moved ...
22776 * grub-core/genhandlerlist.sh: ... to here.
22777 * genmoddep.awk: Moved ...
22778 * grub-core/genmoddep.awk: ... to here.
22779 * genmodsrc.sh: Moved ...
22780 * grub-core/genmodsrc.sh: ... to here.
22781 * genpartmaplist.sh: Moved ...
22782 * grub-core/genpartmaplist.sh: ... to here.
22783 * genparttoollist.sh: Moved ...
22784 * grub-core/genparttoollist.sh: ... to here.
22785 * genterminallist.sh: Moved ...
22786 * grub-core/genterminallist.sh: ... to here.
22787 * gentrigtables.c: Moved ...
22788 * grub-core/gentrigtables.c: ... to here.
22789 * genvideolist.sh: Moved ...
22790 * grub-core/genvideolist.sh: ... to here.
22791 * gettext: Moved ...
22792 * grub-core/gettext: ... to here.
22793 * gfxmenu: Moved ...
22794 * grub-core/gfxmenu: ... to here.
22795 * gnulib: Moved ...
22796 * grub-core/gnulib: ... to here.
22797 * hello: Moved ...
22798 * grub-core/hello: ... to here.
22799 * hook: Moved ...
22800 * grub-core/hook: ... to here.
22801 * io: Moved ...
22802 * grub-core/io: ... to here.
22803 * kern: Moved ...
22804 * grub-core/kern: ... to here.
22805 * lib: Moved ...
22806 * grub-core/lib: ... to here.
22807 * loader: Moved ...
22808 * grub-core/loader: ... to here.
22809 * mmap: Moved ...
22810 * grub-core/mmap: ... to here.
22811 * normal: Moved ...
22812 * grub-core/normal: ... to here.
22813 * partmap: Moved ...
22814 * grub-core/partmap: ... to here.
22815 * parttool: Moved ...
22816 * grub-core/parttool: ... to here.
22817 * script: Moved ...
22818 * grub-core/script: ... to here.
22819 * term: Moved ...
22820 * grub-core/term: ... to here
22821 * tests/example_functional_test.c: Moved ...
22822 * grub-core/tests/example_functional_test.c: ... to here.
22823 * tests/lib/functional_test.c: Moved ...
22824 * grub-core/tests/lib/functional_test.c: ... to here.
22825 * tests/lib/test.c: Moved ...
22826 * grub-core/tests/lib/test.c: ... to here.
22827 * video: Moved ...
22828 * grub-core/video: ... to here.
22829
645586e6
BC
228302010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
22831
22832 Replace --enable-grub-emu-modules with grub-emu-lite.
22833
22834 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
22835 cache.S.
22836
22837 * include/grub/emu/misc.h (grub_emu_init): New prototype.
22838 * kern/emu/full.c: New file. For grub-emu specific initialization.
22839 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
22840 * kern/emu/main.c: Call initialization function grub_emu_init.
22841
22842 * Makefile.in: Include grub-emu-lite in install.
22843 * commands/parttool.c: Use grub_no_autoload to differentiate
22844 between grub-emu and grub-emu-lite.
22845 * include/grub/misc.h: New variable grub_no_autoload.
22846
22847 * conf/any-emu.rmk: New rules for grub-emu-lite.
22848 * configure.ac: Remove --enable-grub-emu-modules.
22849 * genmk.rb: Cleanup unnecessary rules.
22850 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
22851
22852 * normal/main.c: Don't load list files on grub-emu-lite.
22853 * util/misc.c (grub_arch_sync_caches): Removed.
22854
f86a4030
CW
228552010-08-23 Colin Watson <cjwatson@ubuntu.com>
22856
22857 * kern/mips/startup.S (grub_prefix): Update comment to refer to
22858 grub-mkimage rather than grub-mkelfimage.
22859 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
22860
06776944
VS
228612010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
22862
22863 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
22864 a key after CapsLock or NumLock. It's just a qemu bug.
22865
df262419
VS
228662010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
22867
22868 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
22869 needed by libusb wrapper.
22870
b40ea81b
ST
228712010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
22872
22873 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
22874
dee50575
VS
228752010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
22876
22877 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
22878 --nounzip is passed.
22879
fb1d7b79
VS
228802010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
22881
22882 USB hotunplugging and USB serial support.
22883
22884 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
22885 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
22886 (grub_uhci_transfer): Respect timeout and set *actual.
22887 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
22888 non-standard length.
22889 (grub_usb_device_attach): Autoload modules.
22890 (GRUB_MOD_INIT): Set grub_term_poll_usb.
22891 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
22892 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
22893 users updated.
22894 (grub_usb_add_hub): Fill nports and children.
22895 (attach_root_port): Receive hub instead of controller.
22896 All users updated. Fill hub->devices.
22897 (grub_usb_root_hub): Allocate hub->devices.
22898 (detach_device): New function.
22899 (poll_nonroot_hub): Fill children and detach devices.
22900 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
22901 actual arguments. All users updated.
22902 (grub_usb_bulk_read_extended): New function.
22903 * bus/usb/serial/common.c: New file.
22904 * bus/usb/serial/ftdi.c: Likewise.
22905 * bus/usb/serial/pl2303.c: Likewise.
22906 * commands/terminal.c (handle_command): Support wildcard.
22907 * commands/usbtest.c: Output "Unknown" instead of empty string.
22908 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
22909 (usbserial_common_mod_SOURCES): New variable.
22910 (usbserial_common_mod_CFLAGS): Likewise.
22911 (usbserial_common_mod_LDFLAGS): Likewise.
22912 (pkglib_MODULES): Add usbserial_pl2303.mod.
22913 (usbserial_pl2303_mod_SOURCES): New variable.
22914 (usbserial_pl2303_mod_CFLAGS): Likewise.
22915 (usbserial_pl2303_mod_LDFLAGS): Likewise.
22916 (pkglib_MODULES): Add usbserial_ftdi.mod.
22917 (usbserial_ftdi_mod_SOURCES): New variable.
22918 (usbserial_ftdi_mod_CFLAGS): Likewise.
22919 (usbserial_ftdi_mod_LDFLAGS): Likewise.
22920 (pkglib_MODULES): Add serial.mod.
22921 (serial_mod_SOURCES): New variable.
22922 (serial_mod_CFLAGS): Likewise.
22923 (serial_mod_LDFLAGS): Likewise.
22924 * conf/i386-pc.rmk: Likewise.
22925 * conf/mips-yeeloong.rmk: Likewise.
22926 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
22927 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
22928 * disk/usbms.c (first_available_slot): New variable.
22929 (grub_usbms_attach): Don't reuse free slots due to potential cache
22930 problems.
22931 * include/grub/serial.h: Moved to ..
22932 * include/grub/ns8250.h: ...this.
22933 * include/grub/serial.h: New file.
22934 * include/grub/term.h (grub_term_poll_usb): New variable.
22935 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
22936 readkey. All users updated.
22937 (grub_terminfo_output_state): Pass term to put.
22938 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
22939 (grub_usb_controller_dev): Add timeout and actual arguments to
22940 transfer. All users updated.
22941 (grub_usb_interface): New field detach_data.
22942 (grub_usb_device): New fields children and nports.
22943 (grub_usb_ep_type_t): New type.
22944 (grub_usb_get_ep_type): New function.
22945 (grub_usb_bulk_read_extended): Likewise.
22946 * include/grub/usbdesc.h (grub_usb_desc): New type.
22947 * include/grub/usbserial.h: New file.
22948 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
22949 * kern/term.c (grub_term_poll_usb): New variable.
22950 (grub_getkey): Call grub_term_poll_usb if set.
22951 (grub_checkkey): Likewise.
22952 (grub_getkeystatus): Likewise.
22953 * term/serial.c: Moved controller-specific parts to ...
22954 * term/ns8250.c: ... here.
22955 * term/serial.c: Mostly rewritten.
22956 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
22957 according to spec.
22958
21a313de
RM
229592010-08-20 Robert Millan <rmh@gnu.org>
22960
22961 Make kFreeBSD code more generic to support ext2fs as root, ufs as
22962 a separate module and maybe other interesting combinations.
22963
22964 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
22965 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
22966 (kfreebsd_entry): Add generic filesystem module load routine.
22967 Map GRUB `ext2' to kFreeBSD `ext2fs'.
22968
63c734a6
CW
229692010-08-20 Colin Watson <cjwatson@ubuntu.com>
22970
22971 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
22972 "numcenter" (I misunderstood the purpose of this entry).
22973 * docs/grub.texi (sendkey): Likewise.
22974
c4d16542
CW
229752010-08-20 Colin Watson <cjwatson@ubuntu.com>
22976
22977 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
22978 status flag options; simply omitting the option is equivalent and
22979 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
22980 (keysym_table): Rename "num5numlock" to "numlock".
22981 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
22982 can uniformly say that only the last of multiple `sendkey'
22983 invocations has any effect.
22984 * docs/grub.texi (sendkey): New section.
22985
93541d66
CW
229862010-08-19 Colin Watson <cjwatson@ubuntu.com>
22987
22988 * commands/i386/pc/sendkey.c (options): Fix three typos.
22989
b4ece5e1
VS
229902010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
22991
22992 Implement sendkey support.
22993
22994 * commands/i386/pc/sendkey.c: New file.
22995 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
22996 (sendkey_mod_SOURCES): New variable.
22997 (sendkey_mod_CFLAGS): Likewise.
22998 (sendkey_mod_LDFLAGS): Likewise.
22999
51f1f5af
CW
230002010-08-18 Colin Watson <cjwatson@ubuntu.com>
23001
23002 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
23003 fix warnings from Autoconf.
23004
9da94e05
CW
230052010-08-18 Colin Watson <cjwatson@ubuntu.com>
23006
23007 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
23008 to avoid false positives with some assemblers that output things
23009 like "someprefix_func" as part of their output.
23010
729a0f2e
RM
230112010-08-15 Robert Millan <rmh@gnu.org>
23012
23013 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
23014 errors.
23015 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
23016 grub_get_libzfs_handle() errors.
23017
f3710e08
RM
230182010-08-14 Robert Millan <rmh@gnu.org>
23019
23020 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
23021 filesystem is not ZFS.
23022
7a3c13de
BC
230232010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23024
23025 Fix for misspelled color names defaulting to black/black (bug
23026 reported by Doug Nazar)
23027
23028 * include/grub/normal.h (grub_parse_color_name_pair): Add return
23029 status to prototype.
23030 * normal/color.c (grub_parse_color_name_pair): Return failure
23031 status.
23032 (grub_env_write_color_normal): Ignore bad color names.
23033 (grub_env_write_color_highlight): Likewise.
23034 * normal/main.c (GRUB_MOD_INIT): Set default color names.
23035
ab8ba50d
BC
230362010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23037
23038 "shift" command support to GRUB script.
23039
23040 * include/grub/script_sh.h (grub_script_shift): New prototype.
23041 * script/execute.c (grub_script_shift): New function.
23042 * script/main.c (grub_script_init): Register shift command.
23043 (grub_script_fini): Unregister shift command.
23044 * util/grub-script-check.c (grub_script_cmd_shift): New function.
23045
23046 * tests/grub_script_shift.in: New testcase.
23047 * conf/tests.rmk: Rules for new testcase.
23048
4d61999e
BC
230492010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23050
23051 "continue" command support to GRUB script.
23052
23053 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
23054 (grub_script_break): Continue support.
23055 * script/main.c (grub_script_init): Register continue command.
23056 (grub_script_fini): Unregister continue command.
23057
23058 * tests/grub_script_continue.in: New testcase.
23059 * conf/tests.rmk: Rules for new testcase.
23060
4df51e00
BC
230612010-08-12 BVK Chaitanya <bvk@dbook>
23062
23063 "break" command support to GRUB script.
23064
23065 * conf/common.rmk: Rule updates to grub-script-check.
23066 * include/grub/misc.h (grub_min): New function.
23067 * include/grub/script_sh.h (grub_script_init): New prototype.
23068 (grub_script_fini): New prototype.
23069 (grub_script_break): New prototype.
23070 * script/main.c (grub_script_init): New function.
23071 (grub_script_fini): New function.
23072 * script/execute.c (grub_script_break): New function.
23073 * normal/main.c: Calls to grub_script_{init,fini}.
23074 * util/grub-script-check.c (grub_script_break): New function.
23075
23076 * tests/grub_script_break.in: New testcase.
23077 * conf/tests.rmk: Rules for new test case.
23078
f12c8420
BC
230792010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23080
23081 Function parameters support to GRUB script.
23082
23083 * script/yylex.l (VARIABLE): Regular expression update.
23084 * script/function.c (grub_script_function_call): Moved ...
23085 * script/execute.c (grub_script_function_call): ... to here.
23086 (grub_script_execute_arglist_to_argv): Removed.
23087 (grub_script_arglist_to_argv): New function.
23088 * script/argv.c: New file.
23089 (grub_script_argv_free): New function.
23090 (grub_script_argv_next): Likewise.
23091 (grub_script_argv_append): Likewise.
23092 (grub_script_argv_split_append): Likewise.
23093 * include/grub/script_sh.h (grub_script_argv): New struct.
23094 (grub_script_argv_free): New function.
23095 (grub_script_argv_next): Likewise.
23096 (grub_script_argv_append): Likewise.
23097 (grub_script_argv_split_append): Likewise.
23098
23099 * conf/common.rmk (normal.mod): New source script/argv.c.
23100
23101 * tests/grub_script_echo1.in: More tests.
23102 * tests/grub_script_vars1.in: Likewise.
23103 * tests/grub_script_functions.in: New test case.
23104 * conf/tests.rmk: Rules for new testcase.
23105
8022b748
BC
231062010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23107
23108 Remove grub_script_cmdblock struct.
23109
23110 * include/grub/script_sh.h: Remove grub_script_cmdblock.
23111 * script/parser.y: Likewise.
23112 * script/execute.c: Rename cmdblock suffix to cmdlist.
23113 * script/script.c: Likewise.
23114 * util/grub-script-check.c: Likewise.
23115
79a6ba61
YB
231162010-08-11 Yves Blusseau <blusseau@zetam.org>
23117
23118 * .bzrignore: add grub-macho2img
23119
d04b9414
VS
231202010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
23121
23122 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
23123
f947ab49
VS
231242010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
23125
23126 Remove the dump of sm712 initialisation sequence.
23127
23128 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
23129 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
23130 (GRUB_VGA_IO_MISC_WRITE): Likewise.
23131 (GRUB_VGA_CR_*): Added many registers.
23132 (GRUB_VGA_SR_*): Likewise.
23133 (GRUB_VGA_GR_*): Likewise.
23134 (grub_vga_write_arx): New function.
23135 (grub_video_hw_config): New struct.
23136 (grub_vga_set_geometry): New function.
23137 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
23138 GRUB_PCI_CLASS_SUBCLASS_VGA.
23139 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
23140 * video/sm712.c (grub_sm712_write_reg): New function
23141 (grub_sm712_read_reg): Likewise.
23142 (grub_sm712_sr_write): Likewise.
23143 (grub_sm712_gr_write): Likewise.
23144 (grub_sm712_cr_write): Likewise.
23145 (grub_sm712_write_arx): Likewise.
23146 (grub_sm712_cr_shadow_write): Likewise.
23147 (grub_sm712_write_dda_lookup): Likewise.
23148 (grub_video_sm712_setup): Initialise the video rather then
23149 blindly replay the dump.
23150 (main) [TEST]: Add a routine to be able to compile as standalone for
23151 tests.
23152 * video/sm712_init.c (sm712_init): Removed.
23153 (sm712_sr_seq1): New array.
23154 (sm712_sr_seq2): Likewise.
23155
f0206638
VS
231562010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
23157
23158 * include/grub/vga.h: Add missing grub/pci.h include.
23159
2764da3b
YB
231602010-08-10 Yves Blusseau <blusseau@zetam.org>
23161
23162 * util/grub-macho2img.c (main): fix typo
23163
cf0c775e
VS
231642010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
23165
23166 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
23167 (grub_vga_gr_read): Likewise.
23168 (grub_vga_cr_write): Likewise.
23169 (grub_vga_cr_read): Likewise.
23170 (grub_vga_sr_write): Likewise.
23171 (grub_vga_sr_read): Likewise.
23172 (grub_vga_palette_read): Likewise.
23173 (grub_vga_palette_write): Likewise.
23174 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
23175 (grub_sm712_sr_read): New function.
23176 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
23177 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
23178
07f360e9
RM
231792010-08-09 Robert Millan <rmh@gnu.org>
23180
23181 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
23182 out unused variables on non-ZFS build.
23183
346c2072
RM
231842010-08-08 Robert Millan <rmh@gnu.org>
23185
23186 Fix path generation for sub-filesystems in ZFS.
23187
23188 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
23189 missing slash.
23190
71175420
RM
231912010-08-08 Robert Millan <rmh@gnu.org>
23192
23193 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
23194
0d8286f3
RM
231952010-08-08 Robert Millan <rmh@gnu.org>
23196
23197 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
23198 exist, issue a proper error message (rely on `ls' for translated
23199 strings).
23200
55dd2924
RM
232012010-08-08 Robert Millan <rmh@gnu.org>
23202
23203 Fix grub-probe invocation.
23204
23205 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
23206
d3dd9e80
RM
232072010-08-04 Robert Millan <rmh@gnu.org>
23208
23209 * configure.ac: Remove checks for getfsstat() and getmntany().
23210 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
23211 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
23212 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
23213 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
23214 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
23215 function.
23216 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
23217 via find_mount_point_from_dir() and getfsstat() / getmntany().
23218
0de22aa9
RM
232192010-08-04 Robert Millan <rmh@gnu.org>
23220
23221 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23222 (grub_find_zpool_from_mount_point): Merge into ...
23223 (grub_find_zpool_from_dir): ... this.
23224 * kern/emu/misc.c: Likewise.
23225
23226 * kern/emu/misc.c
23227 (grub_make_system_path_relative_to_its_root): Replace
23228 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
23229 with grub_find_zpool_from_dir().
23230 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
23231
62858144
RM
232322010-08-04 Robert Millan <rmh@gnu.org>
23233
23234 Support OpenSolaris in ZFS device resolution.
23235
23236 * configure.ac: Check for getmntany().
23237 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
23238 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
23239 support.
23240
9dd6fd50
RM
232412010-08-03 Robert Millan <rmh@gnu.org>
23242
23243 Fix grub-emu build.
23244
23245 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
23246 * include/grub/emu/misc.h: ... here.
23247
23248 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
23249 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
23250
23251 * util/misc.c: Remove `<grub/util/libzfs.h>'.
23252 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
23253 (grub_get_libzfs_handle): Move to ...
23254 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
23255 (grub_get_libzfs_handle): ... here.
23256
c9f7ff97
BC
232572010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
23258
23259 * script/execute.c (grub_script_execute_cmdline): Check for NULL
23260 as command name case.
23261
a870a783
CW
232622010-08-02 Colin Watson <cjwatson@ubuntu.com>
23263
23264 * disk/raid.c (insert_array): Select unique numbers for named arrays
23265 as well, for use as keys in the disk cache.
23266
c7db243b
RM
232672010-08-01 Robert Millan <rmh@gnu.org>
23268
23269 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
23270 kFreeBSD device name, except on ZFS where the filesystem label is
23271 used.
23272 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
23273 `/boot/zfs/zpool.cache'.
23274 Set mountfrom kernel variable using ${kfreebsd_device}.
23275
f7abdefb
RM
232762010-08-01 Robert Millan <rmh@gnu.org>
23277
23278 Make it even harder to use uninitialized `libzfs_handle' (and
23279 make the interface a bit simpler).
23280
23281 * include/grub/util/misc.h (grub_util_init_libzfs)
23282 (libzfs_handle): Remove.
23283 (grub_get_libzfs_handle): New prototype.
23284
23285 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
23286 attribute.
23287 (grub_util_init_libzfs): Remove.
23288 (grub_get_libzfs_handle): New function.
23289
23290 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
23291 grub_get_libzfs_handle() to obtain a libzfs handle instead of
23292 accessing `libzfs_handle' directly.
23293
c882acc0
RM
232942010-08-01 Robert Millan <rmh@gnu.org>
23295
23296 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23297 (grub_find_zpool_from_mount_point): New function prototypes.
23298
23299 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
23300 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
23301
23302 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
23303 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
23304 `static' attribute.
23305
23306 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
23307 finding zpool from mount point into ...
23308 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
23309
23310 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
23311 requested path is part of a ZFS pool, use
23312 grub_find_zpool_from_mount_point() to detect its filesystem name,
23313 and generate a path with `/fsname@path' syntax.
23314
8bfe31d8
CW
233152010-08-01 Colin Watson <cjwatson@ubuntu.com>
23316
23317 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
23318 (void) rather than () so that this is a proper prototype.
23319
553df63d
VS
233202010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23321
23322 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
23323
8687cf07
VS
233242010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23325
23326 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
23327 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
23328
ea9be8ea
CW
233292010-08-01 Colin Watson <cjwatson@ubuntu.com>
23330
23331 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
23332
6eea041a
CW
233332010-08-01 Colin Watson <cjwatson@ubuntu.com>
23334
23335 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
23336
2cfb45df
CW
233372010-08-01 Colin Watson <cjwatson@ubuntu.com>
23338
23339 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
23340 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
23341 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
23342 disable gfxpayload.
23343 (Shell-like scripting): Add real content.
23344 (Serial terminal): Suggest `terminal_input serial; terminal_output
23345 serial' rather than putting the two commands on separate lines,
23346 since console input will be inoperative after the first command.
23347 (menuentry): Document --class, --users, and --hotkey options.
23348 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
23349 Vladimir Serbinenko).
23350
7decd202
VS
233512010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
233522010-08-01 Colin Watson <cjwatson@ubuntu.com>
23353
23354 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
23355
c882acc0
RM
233562010-08-01 Robert Millan <rmh@gnu.org>
23357
23358 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23359 (grub_find_zpool_from_mount_point): New function prototypes.
23360
23361 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
23362 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
23363
23364 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
23365 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
23366 `static' attribute.
23367
23368 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
23369 finding zpool from mount point into ...
23370 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
23371
23372 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
23373 requested path is part of a ZFS pool, use
23374 grub_find_zpool_from_mount_point() to detect its filesystem name,
23375 and generate a path with `/fsname@path' syntax.
23376
deb0caa3
RM
233772010-08-01 Robert Millan <rmh@gnu.org>
23378
23379 Prevent accidental use of uninitialized libzfs_handle.
23380
23381 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
23382 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
23383 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
23384
ce04ef47
CW
233852010-08-01 Colin Watson <cjwatson@ubuntu.com>
23386
23387 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
23388 util/grub.d/10_linux.in). Fixes Debian bug #591093.
23389
ebf53056
RM
233902010-08-01 Robert Millan <rmh@gnu.org>
23391
23392 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 23393
3710bb6b
RM
233942010-07-31 Robert Millan <rmh@gnu.org>
23395
23396 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
23397
8072efeb
RM
233982010-07-31 Robert Millan <rmh@gnu.org>
23399
23400 * kern/emu/misc.c: Add missing license header.
23401
3169f4c7
RM
234022010-07-31 Robert Millan <rmh@gnu.org>
23403
23404 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
23405
23406 * include/grub/util/libnvpair.h: Include `<config.h>'.
23407 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
23408 declaring libnvpair prototypes ourselves.
23409 * include/grub/util/libzfs.h: Include `<config.h>'.
23410 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
23411 declaring libzfs prototypes ourselves.
23412
23413 (libzfs_handle): Moved to ...
23414 * include/grub/util/misc.h (libzfs_handle): ... here.
23415 Include `<grub/util/libzfs.h>'.
23416
c9a00aee
RM
234172010-07-30 Robert Millan <rmh@gnu.org>
23418
23419 * include/grub/emu/misc.h: Add missing license header.
23420
a184f9c8
RM
234212010-07-30 Robert Millan <rmh@gnu.org>
23422
23423 Enable `grub-probe -t device' resolution on ZFS.
23424
23425 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
23426 * include/grub/util/libnvpair.h: New file.
23427 * include/grub/util/libzfs.h: New file.
23428
23429 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
23430 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
23431 `<grub/util/libnvpair.h>'.
23432 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
23433
23434 (find_mount_point_from_dir): New static function.
23435 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
23436 function.
23437 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
23438 find_root_device_from_libzfs() before ressorting to find_root_device().
23439
23440 * include/grub/util/misc.h (grub_util_init_libzfs): New function
23441 prototype.
23442 * util/misc.c: Include `<grub/util/libzfs.h>'.
23443 (grub_util_init_libzfs): New function.
23444 [HAVE_LIBZFS] (libzfs_handle): New global variable.
23445 [HAVE_LIBZFS] (fini_libzfs): New static function.
23446 (grub_util_init_libzfs): New function.
23447 * util/grub-probe.c (main): Call grub_util_init_libzfs().
23448
f7790cdd
RM
234492010-07-30 Robert Millan <rmh@gnu.org>
23450
23451 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
23452 (xmalloc, xrealloc, xstrdup, xasprintf): Add
23453 `warn_unused_result' attribute.
23454 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
23455 (grub_xasprintf, grub_xvasprintf): Likewise.
23456 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
23457
0806b63c
RM
234582010-07-29 Robert Millan <rmh@gnu.org>
23459
23460 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
23461 (probe): Handle `PRINT_FS_LABEL'.
23462 (main): Handle `-t fs_label'.
23463
9f841f5c
RM
234642010-07-29 Robert Millan <rmh@gnu.org>
23465
23466 * configure.ac: Remove grub-mkisofs checks.
23467
46371121
VS
234682010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
23469
23470 * util/ieee1275/grub-install.in: Don't use empty grub_device.
23471 Reported by: Lennart Sorensen.
23472
234732010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23474
23475 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
23476 prior to terminal_input/terminal_output separation. It's been over 1.5
23477 years and those versions weren't widely deployed.
23478
a9600892
CW
234792010-07-22 Colin Watson <cjwatson@ubuntu.com>
23480
23481 * disk/raid.c (insert_array): Don't count named arrays when looking
23482 for unused array numbers.
697e053c 23483 Reported and tested by: Michael Guntsche.
a9600892 23484
c03507df
CW
234852010-07-20 Colin Watson <cjwatson@ubuntu.com>
23486
23487 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
23488 implementation of this so that grub-emu links again, with a note
23489 that this should support hotplugging in the future.
23490
b26f1c11
CW
234912010-07-20 Colin Watson <cjwatson@ubuntu.com>
23492
23493 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
23494
efc9d7f1
CW
234952010-07-20 Colin Watson <cjwatson@ubuntu.com>
23496
23497 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
23498 handle on failure.
23499 (grub_loopback_close): Remove empty function.
23500 (grub_loopback_dev): Remove close method.
23501
dd8ff5c9
CW
235022010-07-20 Colin Watson <cjwatson@ubuntu.com>
23503
23504 Disable EFI cursor when the EFI console becomes inactive.
23505
23506 * term/efi/console.c (grub_efi_console_init): New function.
23507 (grub_efi_console_fini): New function.
23508 (grub_console_term_output): Register init and fini methods.
23509
5e3bec67
VS
235102010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23511
23512 * tests/util/grub-shell-tester.in: Remove bashism and declare as
23513 sh script.
23514
afaec079
VS
235152010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23516
23517 * disk/loopback.c (grub_loopback): Replace filename with file.
23518 (delete_loopback): Handle new semantics.
23519 (grub_cmd_loopback): Likewise.
23520 (grub_loopback_iterate): Likewise.
23521 (grub_loopback_close): Likewise.
23522
a6a11f3c
VS
235232010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23524
23525 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
23526 with -p "".
23527 Reported by: Tito Keitel.
23528
64a638b0
VS
235292010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23530
23531 * docs/grub.texi (Naming convention): Document new naming convention.
23532
ab8ba957
VS
235332010-07-20 Vadim Solomin <vadic052@gmail.com>
235342010-07-20 Colin Watson <cjwatson@ubuntu.com>
23535
23536 Generate device.map in something closer to the old ordering.
23537
23538 * util/deviceiter.c (struct device): New declaration.
23539 (compare_file_names): Rename to ...
23540 (compare_devices): ... this. Sort by kernel name in preference to
23541 the stable by-id name, but keep the latter as a fallback comparison.
23542 Update header comment.
23543 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
23544 of `struct device' rather than of plain file names.
23545
a29d6a4b
TF
235462010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
23547
23548 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
23549 on i386.
23550
39d824e8
VS
235512010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23552
23553 * commands/acpi.c (setup_common_tables): Use sizeof instead of
23554 hardcoding size.
23555 (setv1table): Likewise.
23556
f058276b
FZ
235572010-07-20 Colin Watson <cjwatson@ubuntu.com>
23558
23559 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
23560 removing the homehost if present.
23561 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
23562 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
23563 removing the homehost if present.
23564 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
23565 if possible.
23566 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
23567
23568 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
23569 parameter. Set its pointer target to 0.
23570 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
23571 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
23572 `data_offset' value from the superblock for 1.x metadata.
23573 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
23574 data on the device.
23575 (insert_array): Record the start sector of data on the device.
23576 (grub_raid_register): Pass start_sector parameters to
23577 grub_raid_list->detect and insert_array.
23578 * include/grub/raid.h (struct grub_raid_array): Add start_sector
23579 member.
23580 (struct grub_raid): Add start_sector parameter to `detect'.
23581
23582 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
23583 __attribute__ ((packed)), leaving a comment.
23584 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
23585 (grub_mdraid_detect_09): ... here and ...
23586 (grub_mdraid_detect_1x): ... here.
23587
235882010-07-20 Peter Henn <peter.henn@web.de>
23589
23590 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
23591 chunk size and disk size, which are already given as sector counts
23592 as distinct from the 0.90 units. Fetch the correct device number
23593 from the role table instead of using the table index.
23594
235952010-07-20 Felix Zielcke <fzielcke@z-51.de>
23596
23597 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
23598 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
23599 (WriteMostly1): New macro.
23600 Set array->name to NULL for metadata format 0.90. Add support for
23601 metadata 1.x. Fix some comments.
23602 * disk/raid.c (): Add support for name based RAID arrays. Fix a
23603 few comments.
23604 * util/getroot.c (grub_util_get_grub_dev): Add support for
23605 /dev/md/name style devices.
23606
4b761da9
CW
236072010-07-20 Colin Watson <cjwatson@ubuntu.com>
23608
23609 * .bzrignore: Ignore 20_linux_xen.
23610
5771289a
CW
236112010-07-17 Colin Watson <cjwatson@ubuntu.com>
23612
23613 * util/import_unicode.py: Remove unnecessary imports.
23614
5dab68df
AN
236152010-07-17 Aleš Nesrsta <starous@volny.cz>
23616
23617 Hotplugging and USB hub support.
23618
23619 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
23620 (grub_ohci): Likewise.
23621 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
23622 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
23623 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
23624 (GRUB_OHCI_CTRL_EDS): Likewise.
23625 (GRUB_OHCI_BULK_EDS): Likewise.
23626 (GRUB_OHCI_TDS): Likewise.
23627 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
23628 (grub_ohci_ed_phys2virt): New function.
23629 (grub_ohci_virt_to_phys): Likewise.
23630 (grub_ohci_td_phys2virt): Likewise.
23631 (grub_ohci_td_virt2phys): Likewise.
23632 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
23633 attachment.
23634 (grub_ohci_find_ed): New function.
23635 (grub_ohci_alloc_td): Likewise.
23636 (grub_ohci_free_td): Likewise.
23637 (grub_ohci_free_tds): Likewise.
23638 (grub_ohci_transfer): Use previously allocated memory.
23639 (grub_ohci_portstatus): Reset status changed bit.
23640 (grub_ohci_detect_dev): Supply status changed.
23641 (grub_ohci_fini_hw): Free memory.
23642 (grub_ohci_restore_hw): Reallocate memory.
23643 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
23644 Reset status change.
23645 (grub_uhci_detect_dev): Supply status_change.
23646 * bus/usb/usb.c (attach_hooks): New var.
23647 (grub_usb_device_attach): New function.
23648 (grub_usb_register_attach_hook_class): Likewise.
23649 (grub_usb_unregister_attach_hook_class): Likewise.
23650 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
23651 (grub_usb_add_hub): Reset connection changed bit.
23652 (attach_root_port): New function.
23653 (grub_usb_root_hub): Likewise.
23654 (poll_nonroot_hub): Likewise.
23655 (grub_usb_poll_devices): Likewise.
23656 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
23657 * disk/usbms.c (grub_usbms_open): Use device hooks.
23658 (grub_usbms_iterate) :Poll devices.
23659 (grub_usbms_finddevs): Split into ...
23660 (grub_usbms_attach): ... this ...
23661 (grub_usbms_attach): ... and this.
23662 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
23663 in detect_dev.
23664 (grub_usb_interface): New fields attached and detach_hook.
23665 (grub_usb_attach_hook_class): New type.
23666 (grub_usb_attach_desc): New struct.
23667 (grub_usb_register_attach_hook_class): New function.
23668 (grub_usb_unregister_attach_hook_class): Likewise.
23669 (grub_usb_poll_devices): Likewise.
23670 (grub_usb_device_attach): Likewise.
23671 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
23672 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
23673
3222efaf
VS
236742010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
23675
23676 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
23677 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
23678 delta determination style. Works with most NetBSD partitions too.
23679
139b714a
VS
236802010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
23681
23682 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
23683 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
23684
986aad56
VS
236852010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
23686
23687 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
23688
99be513c
AB
236892010-07-14 Anton Blanchard <anton@samba.org>
23690
23691 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
23692 ET_DYN files.
23693
18075f62
GS
236942010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23695
23696 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
23697
8d9a5b15
GS
236982010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23699
23700 * kern/partition.c (grub_partition_check_containment): New function to
23701 check that a partition is physically contained in a parent. Since
23702 offsets are relative (and non-negative), this reduces to checking that
23703 the partition ends before its parent.
23704 (grub_partition_map_probe): Discard out-of-range sub-partitions.
23705 (grub_partition_iterate): Likewise.
23706 * include/grub/partition.h (grub_partition_map): Slightly more detailed
23707 comments.
23708 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
23709 partitions that start before their parent, and add debug printfs.
23710
19563c25
CW
237112010-07-13 Colin Watson <cjwatson@ubuntu.com>
23712
23713 * Makefile.in (.SUFFIX): Spell correctly, as ...
23714 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
23715 bare module name without `.mod', e.g. `test') tried to invoke a
23716 Modula-2 compiler.
23717
1a1f1e67
CW
237182010-07-13 Colin Watson <cjwatson@ubuntu.com>
23719
23720 * README: Point to the Info manual.
23721
811b0dca
JS
237222010-07-13 Jiro SEKIBA <jir@unicus.jp>
23723
23724 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
23725 2nd superblock position from partition size.
23726
e4f4eafc
CW
237272010-07-10 Colin Watson <cjwatson@ubuntu.com>
23728
23729 * Makefile.in (MAINTAINER_CLEANFILES): Remove
23730 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
23731 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
23732 outputs.
23733
4274c30f
VS
237342010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
23735
23736 Restructure SCSI .id handling.
23737 Reported and tested by: Aleš Nesrsta.
23738
23739 * disk/ata.c (grub_atapi_close): Removed. All users updated.
23740 (grub_atapi_dev): Changed .name to "ata". New field .id.
23741 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
23742 (grub_usbms_dev): New field .id.
23743 * disk/scsi.c (grub_scsi_iterate): Generate name.
23744 (grub_scsi_open): Parse name.
23745 * include/grub/scsi.h (grub_make_scsi_id): New function.
23746 (grub_scsi_dev): Change iterate and open to number instead of naming
23747 busses. All users updated.
23748 (grub_scsi): Remove name. Add .bus.
23749
5bc24388
VS
237502010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
23751
23752 * commands/help.c (grub_cmd_help): Fix a typo.
23753
249975ba
VS
237542010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
23755
23756 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
23757 Reported and tested by: Colin Watson.
23758
3eaac1a1
VS
237592010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
23760
23761 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
23762 in this context.
23763
becce1b1
VS
237642010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
23765
23766 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
23767
f7bf0918
CW
237682010-07-07 Colin Watson <cjwatson@ubuntu.com>
23769
23770 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
23771 indentation.
23772
0b0f9620
CW
237732010-07-06 Colin Watson <cjwatson@ubuntu.com>
23774
23775 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
23776 and disk/raid6_recover.c.
23777 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23778 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
23779
1e545469
CW
237802010-07-06 Colin Watson <cjwatson@ubuntu.com>
23781
23782 * term/gfxterm.c (repaint_schedulded): Rename to ...
23783 (repaint_scheduled): ... this. Update all callers.
23784 (repaint_was_schedulded): Rename to ...
23785 (repaint_was_scheduled): ... this. Update all callers.
23786
5357687a
CW
237872010-07-06 Colin Watson <cjwatson@ubuntu.com>
23788
23789 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
23790 which we expect to be handled by upper layers.
23791
29d7e783
BC
237922010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
23793
23794 * bus/usb/usbhub.c: #include time.h header.
23795
37582066
CW
237962010-07-06 Colin Watson <cjwatson@ubuntu.com>
23797
23798 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
23799 entry_name also for entries without stat blocks (e.g. ".."); fixes
23800 corruption of the first entry in a directory.
23801
c8c06953
CW
238022010-07-06 Colin Watson <cjwatson@ubuntu.com>
23803
23804 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
23805 after setting gfxterm as the active terminal. GRUB_BACKGROUND
23806 doesn't work otherwise.
23807
e75056f1
CW
238082010-07-05 Colin Watson <cjwatson@ubuntu.com>
23809
23810 * docs/grub.texi (Features): Update list of supported file systems.
23811 (GNU/Linux): Update for GRUB 2.
23812 (Serial terminal): Remove mention of --disable-serial, which was a
23813 GRUB Legacy configure option. Update instructions to use
23814 `terminal_input' and `terminal_output' rather than `terminal'.
23815 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
23816 configuration' and `Installing GRUB using grub-install'.
23817 (Menu entry editor): Update for GRUB 2.
23818 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
23819 Document new -a, -u, and -v options.
23820 (initrd): New section.
23821 (initrd16): New section.
23822 (linux): New section.
23823 (linux16): New section.
23824 (search): The `var' argument to `--set' is optional.
23825 (GRUB only offers a rescue shell): Go into a little more detail on
23826 drive ordering.
23827
5cf69151
CW
238282010-07-05 Colin Watson <cjwatson@ubuntu.com>
23829
23830 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
23831
e3f90044
CW
238322010-07-05 Colin Watson <cjwatson@ubuntu.com>
23833
23834 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
23835 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
23836
38d8f4f3
CW
238372010-07-05 Colin Watson <cjwatson@ubuntu.com>
23838
23839 * util/i386/pc/grub-setup.c (setup): Rename prefix to
23840 install_prefix, in line with install_dos_part and install_bsd_part.
23841 Add new prefix variable, which is copied to install_prefix after
23842 comparing core.img in memory with the one read from disk in the
23843 no-embedding case, and use that rather than overwriting
23844 install_prefix immediately when installing to a partition.
23845 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
23846 Bicakci.
23847
57ebd41e
GS
238482010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
23849
23850 * configure.ac: Avoid == in test command, it's not portable.
23851 * util/grub.d/30_os-prober.in: Likewise.
23852
cb7f64b2
CW
238532010-07-04 Colin Watson <cjwatson@ubuntu.com>
23854
23855 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
23856
6b654bb0
GS
238572010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
23858
23859 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
23860 multiple (top-level) partmaps.
23861
72a2026d
VS
238622010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23863
23864 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 23865 Reported by: Tino Keitel.
72a2026d 23866
df3eb88f
VS
238672010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23868
23869 Bidi and diacritics support.
23870
23871 * Makefile.in (widthspec.bin): New target.
23872 (widthspec.h): Likewise.
23873 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
23874 * autogen.sh: Generate unidata.c.
23875 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
23876 * commands/ls.c (grub_ls_list_devices): Likewise.
23877 (grub_ls_list_files): Likewise.
23878 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
23879 (grub_mini_cmd_lsmod): Likewise.
23880 * commands/read.c: Likewise.
23881 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
23882 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
23883 * lib/arg.c (grub_arg_show_help): Likewise.
23884 * lib/crypto.c (grub_password_get): Likewise.
23885 * normal/auth.c (grub_username_get): Likewise.
23886 * normal/misc.c (grub_normal_print_device_info): Likewise.
23887 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
23888 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
23889 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
23890 (normal/charset.c_DEPENDENCIES): New variable.
23891 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
23892 (pkglib_MODULES): Remove charset.mod.
23893 (charset_mod_SOURCES): Removed.
23894 (charset_mod_CFLAGS): Likewise.
23895 (charset_mod_LDFLAGS): Likewise.
23896 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
23897 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
23898 and term/tparm.c.
23899 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23900 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23901 (kernel_img_HEADERS): Add terminfo.h.
23902 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
23903 Fill ->font. Reverse ascii bitmaps.
23904 (grub_font_get_xheight): New function.
23905 * font/font.c (grub_font_get_string_width): Moved from here ...
23906 * gfxmenu/font.c (grub_font_get_string_width): ... here.
23907 * font/font.c (grub_font_draw_string): Moved from here ...
23908 * gfxmenu/font.c (grub_font_draw_string): ... here.
23909 * font/font.c (grub_font_dup_glyph): New function.
23910 (grub_font_blit_glyph): Likewise.
23911 (grub_font_blit_glyph_mirror): Likewise.
23912 (blit_comb): Likewise.
23913 (grub_font_construct_dry_run): Likewise.
23914 (grub_font_get_constructed_device_width): Likewise.
23915 (grub_font_construct_glyph): Likewise.
23916 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
23917 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
23918 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
23919 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
23920 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
23921 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
23922 (grub_font_get_xheight): New proto.
23923 (grub_font_get_constructed_device_width): Likewise.
23924 (grub_font_construct_glyph): Likewise.
23925 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
23926 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
23927 * include/grub/font.h (grub_font_draw_string): Moved from here ...
23928 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
23929 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
23930 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
23931 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
23932 (grub_console_getcharwidth): Likewise.
23933 * include/grub/misc.h (grub_xputs): New proto.
23934 (grub_puts): Inlined.
23935 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
23936 (grub_normal_get_line_counter): Removed.
23937 (grub_install_newline_hook): Likewise.
23938 (grub_normal_get_char_counter): New proto.
23939 (grub_normal_reset_more): Likewise.
23940 (grub_xputs_normal): Likewise.
23941 * include/grub/powerpc/ieee1275/console.h: Removed.
23942 * include/grub/sparc64/ieee1275/console.h: Likewise.
23943 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
23944 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
23945 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
23946 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
23947 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
23948 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
23949 (grub_term_input): Pass reference to self. All users updated.
23950 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
23951 Pass reference to self. New fields normal_color, highlight_color and
23952 data. All users updated.
23953 (grub_putchar): Removed.
23954 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
23955 (grub_unicode_estimate_width): New function.
23956 (grub_term_getcharwidth): Add defaults.
23957 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
23958 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
23959 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
23960 (grub_cls): Remove EXPORT_FUNC.
23961 (grub_setcolorstate): Inline.
23962 (grub_newline_hook): Removed.
23963 * include/grub/terminfo.h: Rewritten. All users updated.
23964 * include/grub/unicode.h: New file.
23965 * include/grub/video.h (grub_video_signed_rect): New type.
23966 * kern/emu/console.c (grub_console_highlight_color): Removed.
23967 (grub_console_normal_color): Likewise.
23968 (grub_console_standard_color): Made static.
23969 (grub_ncurses_putchar): Remove mapping.
23970 (grub_ncurses_getcharwidth): Removed.
23971 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
23972 (grub_ncurses_setcolor): Removed.
23973 (grub_ncurses_getcolor): Likewise.
23974 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
23975 (grub_console_putchar): ... this.
23976 (grub_console_putchar): Handle argument difference.
23977 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
23978 console_init_early and console_init_lately.
23979 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
23980 * kern/misc.c (grub_puts): Removed.
23981 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
23982 (grub_vsnprintf_real): Remove str = NULL support.
23983 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
23984 * normal/charset.c (grub_utf8_to_ucs4): ... here.
23985 * kern/term.c (grub_putcode): Renamed to ...
23986 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
23987 (grub_putchar): Removed.
23988 (grub_xputs_dumb): New function.
23989 (grub_xputs): New variable.
23990 * lib/charset.c: Move from here ...
23991 * normal/charset.c: ... to here.
23992 (grub_ucs4_to_utf8): New function.
23993 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
23994 (join_types): New variable.
23995 (unpack_join): New function.
23996 (bidi_types): New variable.
23997 (unpack_bidi): New function.
23998 (get_bidi_type): Likewise.
23999 (get_join_type): Likewise.
24000 (is_mirrored): Likewise.
24001 (grub_unicode_get_comb_type): Likewise.
24002 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
24003 (is_type_after): Likewise.
24004 (grub_unicode_aglomerate_comb): Likewise.
24005 (bidi_line_wrap): Likewise.
24006 (grub_bidi_line_logical_to_visual): Likewise.
24007 (grub_bidi_logical_to_visual): Likewise.
24008 (grub_unicode_mirror_code): Likewise.
24009 (grub_unicode_shape_code): Likewise.
24010 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
24011 Don't use grub_putchar.
24012 * normal/main.c (grub_normal_init_page): Use grub_putcode.
24013 (grub_normal_reader_init): Likewise.
24014 (grub_xputs_saved): New variable.
24015 (GRUB_MOD_INIT): Set grub_xputs.
24016 (GRUB_MOD_FINI): Restore grub_xputs.
24017 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
24018 (menu_init): Avoid printing gfxmenu error.
24019 (show_menu): Use grub_normal_get_char_counter.
24020 * normal/menu_entry.c (update_screen): Fix out-of-array.
24021 (complete): Avoid NULL dereferencing.
24022 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
24023 * normal/menu_text.c (print_spaces): Removed.
24024 (grub_print_ucs4): Likewise.
24025 (grub_print_message_indented): Use grub_print_ucs4.
24026 (print_message): Use grub_putcode.
24027 (print_entry): Hanlde diacritics.
24028 * normal/term.c (term_state): New type.
24029 (grub_more_lines): Removed.
24030 (term_states): New variable.
24031 (grub_normal_line_counter): Renamed to ..
24032 (grub_normal_char_counter): ...this. All users updated.
24033 (grub_normal_get_line_counter): Renamed to ...
24034 (grub_normal_get_char_counter): ... this.
24035 (grub_normal_reset_more): New function.
24036 (process_newline): Removed.
24037 (print_more): New function.
24038 (grub_install_newline_hook): Removed.
24039 (map_code): New function.
24040 (grub_puts_terminal): Use grub_print_ucs4.
24041 (putglyph): New function.
24042 (putcode_real): Likewise.
24043 (grub_putcode): Use putcode_real.
24044 (get_maxwidth): New function.
24045 (get_startwidth): Likewise.
24046 (print_ucs4_terminal): Likewise.
24047 (find_term_state): Likewise.
24048 (put_glyphs_terminal): Likewise.
24049 (print_backlog): Likewise.
24050 (print_ucs4_real): Likewise.
24051 (grub_print_ucs4): Likewise.
24052 (grub_xputs_normal): Likewise.
24053 * term/efi/console.c (grub_console_putchar): Output diacritics.
24054 (grub_console_getcharwidth): Removed.
24055 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24056 * term/gfxterm.c (clear_char): Free chars.
24057 (scroll_up): Avoid leaking memory.
24058 (grub_gfxterm_putchar): Support diacritics.
24059 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24060 * term/i386/pc/console.c (grub_console_term_output): Declare as
24061 GRUB_TERM_CODE_TYPE_VGA.
24062 * term/i386/pc/vga.c (grub_vga_term): Declare as
24063 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
24064 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
24065 GRUB_TERM_CODE_TYPE_VGA.
24066 * term/i386/vga_common.c (map_char): Removed.
24067 (grub_console_putchar): Likewise.
24068 (grub_console_getcharwidth): Likewise.
24069 * term/ieee1275/ofconsole.c: Simplify using terminfo.
24070 (colors): Reordered to match terminfo.
24071 (grub_ofconsole_normal_color): Removed.
24072 (grub_ofconsole_writeesc): Likewise.
24073 (grub_ofconsole_highlight_color): Likewise.
24074 (grub_ofconsole_getcharwidth): Likewise.
24075 (grub_ofconsole_setcolorstate): Likewise.
24076 (grub_ofconsole_setcolor): Likewise.
24077 (grub_ofconsole_getcolor): Likewise.
24078 (grub_ofconsole_readkey): Renamed to ...
24079 (readkey): ... this. Remove escape sequence handling. Return -1 on no
24080 key.
24081 (grub_ofconsole_checkkey): Removed.
24082 (grub_ofconsole_getkey): Likewise.
24083 (grub_ofconsole_getxy): Likewise.
24084 (grub_ofconsole_gotoxy): Likewise.
24085 (grub_ofconsole_cls): Likewise.
24086 (grub_ofconsole_refresh): Likewise.
24087 (grub_ofconsole_terminfo_input): New struct.
24088 (grub_ofconsole_terminfo_output): Likewise.
24089 (grub_ofconsole_term_input): Use terminfo.
24090 (grub_ofconsole_term_output): Likewise.
24091 (grub_console_init): Split into ...
24092 (grub_console_init_early): ...this and ...
24093 (grub_console_init_lately): ...this. Use terminfo.
24094 (grub_ofconsole_putchar): Renamed to ...
24095 (put): ... this. Remove mapping.
24096 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
24097 * term/serial.c: Simplify using terminfo.
24098 (xpos): Removed.
24099 (ypos): Likewise.
24100 (keep_track): Likewise.
24101 (registered): Likewise.
24102 (input_buf): Likewise.
24103 (npending): Likewise.
24104 (serial_translate_key_sequence): Likewise.
24105 (fill_input_buf): Likewise.
24106 (grub_serial_checkkey): Likewise.
24107 (grub_serial_getkey): Likewise.
24108 (grub_serial_getxy): Likewise.
24109 (grub_serial_gotoxy): Likewise.
24110 (grub_serial_putchar): Likewise.
24111 (grub_serial_cls): Likewise.
24112 (grub_serial_setcolorstate): Likewise.
24113 (grub_serial_setcursor): Likewise.
24114 (serial_hw_init): Use serial_hw_fetch.
24115 (grub_serial_terminfo_input): New variable.
24116 (grub_serial_terminfo_output): Likewise.
24117 (grub_serial_term_input): Use terminfo.
24118 (grub_serial_term_output): Likewise.
24119 * term/terminfo.c (putstr): Use put.
24120 (grub_terminfo_all_free): New function
24121 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
24122 (grub_terminfo_output_register): New function.
24123 (grub_terminfo_output_unregister): Likewise.
24124 (grub_terminfo_getxy): Likewise.
24125 (grub_terminfo_readkey): Likewise.
24126 (grub_terminfo_checkkey): Likewise.
24127 (grub_terminfo_getkey): Likewise.
24128 (grub_terminfo_input_init): Likewise.
24129 (print_terminfo): Likewise.
24130 (grub_cmd_terminfo): Handle encoding.
24131 (grub_terminfo_gotoxy): Track position.
24132 (grub_terminfo_cls): Likewise.
24133 (grub_terminfo_putchar): Likewise.
24134 (grub_terminfo_setcolorstate): Handle colors
24135 (grub_terminfo_cursor_on): This ...
24136 (grub_terminfo_cursor_off): ... and this merged into ...
24137 (grub_terminfo_setcursor): ... this.
24138 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
24139 * unicode/ArabicShaping.txt: New file (imported from Unicode).
24140 * unicode/BidiMirroring.txt: Likewise.
24141 * unicode/UnicodeData.txt: Likewise.
24142 * unicode/COPYING: Likewise.
24143 * util/grub-editenv.c (grub_putchar): Removed.
24144 (grub_xputs_real): New function.
24145 (grub_xputs): New variable.
24146 * util/grub-fstest.c (grub_putchar): Removed.
24147 (grub_xputs_real): New function.
24148 (grub_xputs): New variable.
24149 * util/grub-mkdevicemap.c (grub_putchar): Removed.
24150 (grub_xputs_real): New function.
24151 (grub_xputs): New variable.
24152 * util/grub-probe.c (grub_putchar): Removed.
24153 (grub_xputs_real): New function.
24154 (grub_xputs): New variable.
24155 * util/grub-script-check.c (grub_putchar): Removed.
24156 (grub_xputs_real): New function.
24157 (grub_xputs): New variable.
24158 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
24159 (grub_xputs_real): New function.
24160 (grub_xputs): New variable.
24161 * util/import_unicode.py: New file.
24162 * util/grub-mkfont.c (ft_errmsgs): New array.
24163 (grub_glyph_info): Make bitmap a pointer.
24164 (file_formats): New type WIDTH_SPEC.
24165 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
24166 (options): Add width-spec.
24167 (help): Likewise.
24168 (add_char): Renamed to ...
24169 (add_glyph): ... this.
24170 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
24171 (glyph_replace): New type.
24172 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
24173 (add_char): New function.
24174 (add_subst): Likewise.
24175 (process_cursive): Likewise.
24176 (add_font): Handle GSUB.
24177 (write_font_width_spec): New function.
24178 (main): Sort glyphs.
24179 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
24180 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
24181 * kern/term.c (grub_cls): Moved from here...
24182 * normal/term.c (grub_cls): ... here.
24183
50f0bcda
CW
241842010-07-02 Colin Watson <cjwatson@ubuntu.com>
24185
24186 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
24187 suitable for using within the format argument of printf when
24188 converting grub_size_t.
24189 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
24190 "x" to convert grub_size_t arguments.
24191
40372103
VS
241922010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24193
24194 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
24195 too long captions.
24196 (list_get_minimal_size): Take selection box into account.
24197
942a10c7
VS
241982010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24199
24200 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
24201 NULL font.
24202
2bdb2892
CW
242032010-07-02 Colin Watson <cjwatson@ubuntu.com>
24204
24205 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
24206 devices when iterating over /dev/disk/by-id; they will be handled
24207 later if appropriate, which they aren't always (e.g. LVM).
24208
e03ed6c1
CW
242092010-07-02 Colin Watson <cjwatson@ubuntu.com>
24210
24211 * include/grub/misc.h (grub_reboot): Declare as noreturn.
24212 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
24213 fails.
24214 (grub_halt): Likewise.
24215 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
24216 reset-all fails.
24217 (grub_halt): Don't return, even if all of shut-down, power-off, and
24218 poweroff fail.
24219
47695765
CW
242202010-07-02 Colin Watson <cjwatson@ubuntu.com>
24221
24222 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
24223 arguments, not three.
24224
507736c8
CW
242252010-07-02 Colin Watson <cjwatson@ubuntu.com>
24226
24227 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
24228 * util/grub.d/10_linux.in: Use it to check for LVM, so that
24229 LVM-on-RAID is handled correctly.
24230
e3c8cd37
CW
242312010-07-02 Colin Watson <cjwatson@ubuntu.com>
24232
24233 * docs/grub.texi (Changes from GRUB Legacy): New section.
24234 (Future): Fix typo.
24235
8d4a2fec
CW
242362010-07-02 Colin Watson <cjwatson@ubuntu.com>
24237
24238 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
24239 grub.d/README accidentally ends up executable for one reason or
24240 another. Ignore it.
24241
1c4827be
VS
242422010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24243
24244 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
24245 (gpt_partition_map_iterate): Support non-512B sectors.
24246
d9a0c941
VS
242472010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24248
24249 * kern/efi/init.c (grub_efi_init): Disable watchdog.
24250 Tested by: Seth Goldberg.
24251
48f27e87
VS
242522010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24253
24254 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
24255 Properly align mbi.
24256 Reported by: Seth Goldberg.
24257
b0c4f956
VS
242582010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24259
24260 * util/grub-mkrescue.in: Avoid module duplication.
24261
105a2e8c
SF
242622010-07-01 Sean Finney <seanius@seanius.net>
24263
24264 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
24265
5944958c
SF
242662010-07-01 Sean Finney <seanius@seanius.net>
24267
24268 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
24269
242702010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24271
24272 * disk/lvm.c (grub_lvm_checkvalue): New function.
24273 (grub_lvm_check_flag): Likewise.
24274
b79889ba
RM
242752010-07-01 Robert Millan <rmh@gnu.org>
24276
24277 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
24278 Support 'p' as partition separator on kernel of FreeBSD (used
24279 with GPT labels).
24280 (grub_util_biosdisk_get_grub_dev): Likewise.
24281
ec1d04f1
VS
242822010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24283
24284 Yeeloong firmware port.
24285
24286 * boot/mips/yeeloong/fwstart.S: New file.
24287 * bus/cs5536.c (gpiodump): New const.
24288 (set_io_space): New function.
24289 (set_iod): Likewise.
24290 (set_p2d): Likewise.
24291 (grub_cs5536_init_geode): Likewise.
24292 * commands/mips/yeeloong/lsspd.c: New file.
24293 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
24294 (serial_mod_SOURCES): New variable.
24295 (serial_mod_CFLAGS): Likewise.
24296 (serial_mod_LDFLAGS): Likewise.
24297 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
24298 term/terminfo.c and term/tparm.c.
24299 (pkglib_IMAGES): Add fwstart.img.
24300 (fwstart_img_SOURCES): New variable.
24301 (fwstart_img_CFLAGS): Likewise.
24302 (fwstart_img_ASFLAGS): Likewise.
24303 (fwstart_img_LDFLAGS): Likewise.
24304 (fwstart_img_FORMAT): Likewise.
24305 (pkglib_MODULES): Add lsspd.mod.
24306 (lsspd_mod_SOURCES): New variable.
24307 (lsspd_mod_CFLAGS): Likewise.
24308 (lsspd_mod_LDFLAGS): Likewise.
24309 (pkglib_MODULES): Add halt.mod.
24310 (halt_mod_SOURCES): New variable.
24311 (halt_mod_CFLAGS): Likewise.
24312 (halt_mod_LDFLAGS): Likewise.
24313 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
24314 (serial_mod_SOURCES): Removed.
24315 (serial_mod_CFLAGS): Likewise.
24316 (serial_mod_LDFLAGS): Likewise.
24317 * disk/ata.c (check_device): New function.
24318 (grub_ata_device_initialize): Use check_device.
24319 (grub_ata_iterate): Recheck devices.
24320 (grub_ata_open): Likewise.
24321 (grub_atapi_iterate): Likewise.
24322 (grub_atapi_open): Likewise.
24323 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
24324 (GRUB_ATA_CH1_PORT1): Likewise.
24325 (GRUB_ATA_CH0_PORT2): Likewise.
24326 (GRUB_ATA_CH1_PORT2): Likewise.
24327 * include/grub/mips/loongson.h: New file.
24328 * include/grub/mips/yeeloong/ec.h: Likewise.
24329 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
24330 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
24331 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
24332 * include/grub/misc.h (grub_halt): Declare as noreturn.
24333 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
24334 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
24335 (UART_ENABLE_FIFO_TRIGGER1): New definition.
24336 (UART_ENABLE_DTRRTS): Likewise.
24337 (UART_ENABLE_MODEM): Removed.
24338 (UART_ENABLE_OUT2): New const.
24339 * include/grub/term.h (grub_term_register_input_active): New function.
24340 (grub_term_register_output_active): Likewise.
24341 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
24342 argument.
24343 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
24344 (init_pci): New function.
24345 (grub_machine_init): Execute platform init when firmware. Init serial.
24346 (grub_halt): Implement.
24347 (grub_exit): Likewise.
24348 (grub_reboot): Likewise.
24349 * term/serial.c (serial_hw_init): Update macros.
24350 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
24351 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
24352 (image_targets): New target mipsel-yeeloong-flash.
24353 (generate_image): Support IMAGE_YEELOONG_FLASH.
24354 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
24355 (grub_video_sm712_setup): Init card.
24356 (grub_video_sm712_set_palette): Removed.
24357 * video/sm712_init.c: New file.
24358
ff4a70d2
CW
243592010-06-30 Colin Watson <cjwatson@ubuntu.com>
24360
24361 * Makefile.in (install-local): Temporarily prepend $(builddir) to
24362 PATH when running help2man and then run it on the unadorned
24363 executable names, rather than passing $(builddir)/* paths to
24364 help2man. This avoids the build directory ending up in generated
24365 manual pages.
24366
1246efeb
CW
243672010-06-29 Colin Watson <cjwatson@ubuntu.com>
24368
24369 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
24370 to avoid accidents when debugging with 'sh -x'.
24371 * util/grub-mkrescue.in: Likewise.
24372 * util/grub.d/00_header.in: Likewise.
24373 * util/grub.d/10_hurd.in: Likewise.
24374 * util/grub.d/10_kfreebsd.in: Likewise.
24375 * util/grub.d/10_linux.in: Likewise.
24376 * util/grub.d/10_netbsd.in: Likewise.
24377 * util/grub.d/10_windows.in: Likewise.
24378 * util/grub.d/20_linux_xen.in: Likewise.
24379 * util/grub.d/30_os-prober.in: Likewise.
24380 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
24381
1ba9b889
CW
243822010-06-29 Colin Watson <cjwatson@ubuntu.com>
24383
24384 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
24385 last character in the buffer.
24386 Reported by: Vladimir Serbinenko.
24387
dccaf99d
RM
243882010-06-29 Robert Millan <rmh@gnu.org>
24389
24390 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
24391 (Command-line and menu entry commands): Document `badram' command.
24392
d500ed12
RM
243932010-06-28 Robert Millan <rmh@gnu.org>
24394
24395 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
24396 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
24397 command using ${GRUB_BADRAM} as parameter.
24398
20bc84a6
CW
243992010-06-28 Colin Watson <cjwatson@ubuntu.com>
24400
24401 * docs/grub.texi (Device map): New section.
24402 (Themes): New section (stub).
24403 * Makefile.in (docs/grub.info): The info documentation now builds
24404 without errors. Make sure it stays that way.
24405
4045dee1
VS
244062010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
24407
24408 Use normal parser for menu entries.
24409 Reported by: Thomas Frauendorfer
24410
24411 * include/grub/parser.h (grub_parser_execute): Don't export.
24412 * normal/menu.c (grub_menu_execute_entry_real): New function.
24413 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
24414
bca58c7b
CW
244152010-06-28 Colin Watson <cjwatson@ubuntu.com>
24416
24417 * docs/grub.texi (Embedded configuration): New section (replacing
24418 old "Preset Menu" stub).
24419 (Images): New section.
24420 (configfile): Note that any menu entries defined in `file' are shown
24421 immediately.
24422
dec53e63
JT
244232010-06-28 Josh Triplett <josh@joshtriplett.org>
24424
24425 * mmap/i386/pc/mmap_helper.S: Set CF on return.
24426
c06e40f7
CW
244272010-06-28 Colin Watson <cjwatson@ubuntu.com>
24428
24429 * util/grub-install.in: Add --debug-image= option.
24430
cb88052b
CW
244312010-06-28 Colin Watson <cjwatson@ubuntu.com>
24432
24433 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
24434 possible on Linux.
24435
24436 * util/deviceiter.c (check_device): Rename to ...
24437 (check_device_readable_unique): ... this. Update all callers.
24438 Maintain and check a list of which devices (by canonicalized name)
24439 have already been seen.
24440 (clear_seen_devices): New function.
24441 (compare_file_names) [__linux__]: New function.
24442 (grub_util_iterate_devices): Clear the list of seen devices on exit
24443 and (just in case) on entry.
24444 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
24445 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
24446 seen-devices list, superseded by general code in check_device.
24447
bbe34652
CW
244482010-06-28 Colin Watson <cjwatson@ubuntu.com>
24449
24450 * commands/cat.c (options): New variable.
24451 (grub_cmd_cat): Parse options. If the --dos option is given, print
24452 DOS-style "\r\n" line endings as simple newlines (Debian bug
24453 #586358).
24454 (GRUB_MOD_INIT): Use extcmd.
24455 (GRUB_MOD_FINI): Likewise.
24456 * docs/grub.texi (cat): Document --dos.
24457
412e09f3
VS
244582010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
24459
24460 XEN with Linux grub-mkconfig support.
24461
24462 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
24463 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
24464 GRUB_CMDLINE_XEN_DEFAULT.
24465 * util/grub.d/20_linux_xen.in: New file.
24466
53f3ef38 244672010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
24468
24469 Initialise VGA video on qemu ourselves.
24470
24471 * boot/i386/qemu/boot.S: Don't call 0xc000.
24472 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
24473 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
24474 (kernel_img_HEADERS): Add pci.h.
24475 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
24476 * configure.ac: Force unifont on qemu and yeeloong.
24477 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
24478 (grub_vga_palette_write): Use correct register.
24479 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
24480 Call grub_qemu_init_cirrus.
24481 * kern/i386/qemu/init.c: New file.
24482 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
24483
24484 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
24485
c75be4fb
PR
244862010-06-26 Pavel Roskin <proski@gnu.org>
24487
24488 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
24489 13.
24490
d8034603
CW
244912010-06-26 Colin Watson <cjwatson@ubuntu.com>
24492
24493 * docs/grub.texi (Simple configuration): Explain that
24494 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
24495 set to `true' to disable their respective recovery entries, not
24496 merely set.
24497
3fa06487
CW
244982010-06-26 Colin Watson <cjwatson@ubuntu.com>
24499
24500 Make the `source' command slightly faster.
24501
24502 * normal/main.c (grub_normal_execute): Don't re-read list files when
24503 nested.
24504
e9b29642
CW
245052010-06-23 Colin Watson <cjwatson@ubuntu.com>
24506
24507 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
24508 field position and mask size to red fields from mode_info, not
24509 green.
24510 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
24511 Remove redundant tag->common.framebuffer_type assignment.
24512 Reported by: Seth Goldberg.
24513
e726542f
CW
245142010-06-23 Colin Watson <cjwatson@ubuntu.com>
24515
24516 Sync up other versions of the Linux loader with Robert Millan's
24517 change of 2010-01-09, "Make loader output a bit more user-friendly".
24518
24519 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
24520 grub_dprintf().
24521 (grub_cmd_linux): Likewise.
24522 (grub_cmd_initrd): Likewise.
24523 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
24524 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
24525
d6e98a17
CW
245262010-06-21 Colin Watson <cjwatson@ubuntu.com>
24527
24528 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
24529 larger than MEMORY_MAP_SIZE.
24530
14d3f08e
BC
245312010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
24532
24533 Fix parallel build.
24534
24535 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
24536 dependency.
24537 * script/parser.y: #include grub_script.tab.h header.
24538
4f9613a3
VS
245392010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24540
24541 Support >3GiB and <16MiB RAM in i386-qemu.
24542
24543 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
24544 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
24545 (grub_lower_mem): Removed.
24546 (grub_upper_mem): Likewise.
24547 (mem_size): Made static.
24548 (above_4g): New variable.
24549 (grub_machine_mmap_init): Detect small mem_size and above_4g.
24550 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
24551 support.
24552
05e51879
VS
245532010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24554
24555 Cirrus 5446 and Bochs video cards support.
24556
24557 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
24558 video_bochs.mod
24559 (video_cirrus_mod_SOURCES): New variable.
24560 (video_cirrus_mod_CFLAGS): Likewise.
24561 (video_cirrus_mod_LDFLAGS): Likewise.
24562 (video_bochs_mod_SOURCES): Likewise.
24563 (video_bochs_mod_CFLAGS): Likewise.
24564 (video_bochs_mod_LDFLAGS): Likewise.
24565 * include/grub/vga.h: New file.
24566 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
24567 (grub_video_fb_set_page_t): New type.
24568 (grub_video_fb_setup): New prototype.
24569 (grub_video_fb_swap_buffers): Likewise.
24570 (grub_video_fb_get_info_and_fini): Likewise.
24571 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
24572 (CRTC_DATA_PORT): Likewise.
24573 (CRTC_CURSOR): Likewise.
24574 (CRTC_CURSOR_ADDR_HIGH): Likewise.
24575 (CRTC_CURSOR_ADDR_LOW): Likewise.
24576 (CRTC_CURSOR_DISABLE): Likewise.
24577 (update_cursor): Use grub_vga_cr_write.
24578 (grub_vga_text_setcursor): Likewise.
24579 * video/bochs.c: New file.
24580 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
24581 (palette): Likewise.
24582 (palette_size): Likewise.
24583 (framebuffer): New variable.
24584 (grub_video_fb_init): Use 'framebuffer'.
24585 (grub_video_fb_fini): Likewise.
24586 (grub_video_fb_get_info): Likewise.
24587 (grub_video_fb_get_palette): Likewise.
24588 (grub_video_fb_set_palette): Likewise.
24589 (grub_video_fb_set_viewport): Likewise.
24590 (grub_video_fb_get_viewport): Likewise.
24591 (grub_video_fb_map_color): Likewise.
24592 (grub_video_fb_map_rgb): Likewise.
24593 (grub_video_fb_map_rgba): Likewise.
24594 (grub_video_fb_unmap_color): Likewise.
24595 (grub_video_fb_unmap_color_int): Likewise.
24596 (grub_video_fb_fill_rect): Likewise.
24597 (grub_video_fb_blit_bitmap): Likewise.
24598 (grub_video_fb_blit_render_target): Likewise.
24599 (grub_video_fb_scroll): Likewise.
24600 (grub_video_fb_create_render_target): Likewise.
24601 (grub_video_fb_doublebuf_blit_init): Likewise.
24602 (grub_video_fb_set_active_render_target): Handle doublebuffering.
24603 (doublebuf_pageflipping_update_screen): New function.
24604 (doublebuf_pageflipping_init): Likewise.
24605 (grub_video_fb_setup): Likewise.
24606 (grub_video_fb_swap_buffers): Likewise.
24607 (grub_video_fb_get_info_and_fini): Likewise.
24608 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
24609 All users updated.
24610 (doublebuf_pageflipping_commit): Restructured into ...
24611 (doublebuf_pageflipping_set_page): ... this.
24612 (doublebuf_pageflipping_update_screen): Removed.
24613 (doublebuf_pageflipping_init): Likewise.
24614 (double_buffering_init): Likewise.
24615 (grub_video_vbe_setup): Use grub_video_fb_setup.
24616 (grub_video_vbe_swap_buffers): Removed.
24617 (grub_video_vbe_set_active_render_target): Likewise.
24618 (grub_video_vbe_get_active_render_target): Likewise.
24619 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
24620 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
24621 grub_video_fb_set_active_render_target and
24622 grub_video_fb_get_active_render_target.
24623 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
24624 (SEQUENCER_DATA_PORT): Likewise.
24625 (MAP_MASK_REGISTER): Likewise.
24626 (CRTC_ADDR_PORT): Likewise.
24627 (CRTC_DATA_PORT): Likewise.
24628 (START_ADDR_HIGH_REGISTER): Likewise.
24629 (START_ADDR_LOW_REGISTER): Likewise.
24630 (GRAPHICS_ADDR_PORT): Likewise.
24631 (GRAPHICS_DATA_PORT): Likewise.
24632 (READ_MAP_REGISTER): Likewise.
24633 (INPUT_STATUS1_REGISTER): Likewise.
24634 (INPUT_STATUS1_VERTR_BIT): Likewise.
24635 (get_map_mask): Use grub_vga_sr_read.
24636 (set_map_mask): Use grub_vga_sr_write.
24637 (set_read_map): Use grub_vga_gr_write.
24638 (set_start_address): Use grub_vga_cr_write.
24639 * video/sm712.c (framebuffer): Remove leftover fields.
24640
4321c64a
CW
246412010-06-20 Colin Watson <cjwatson@ubuntu.com>
24642
24643 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
24644 setting GRUB_VIDEO_BACKEND. Make it available as a user override
24645 instead. Replace the gfxterm backend check with a check that
24646 ${GRUB_PREFIX}/video.lst is non-empty.
24647 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
24648 again.
24649 (load_video): New generated function. Call it before loading
24650 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
24651 * util/grub.d/10_linux.in (linux_entry): Call load_video.
24652 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
24653 * docs/grub.texi (Simple configuration): Document
24654 GRUB_VIDEO_BACKEND.
24655
246562010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24657
24658 Use video functions in linux and xnu loaders.
24659
24660 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
24661 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
24662 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
24663 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
24664 loader/i386/pc/linux.c.
24665 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
24666 (find_line_len): Removed.
24667 (find_framebuf): Likewise.
24668 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
24669 * loader/i386/efi/xnu.c: Removed.
24670 * loader/i386/pc/xnu.c: Moved from here...
24671 * loader/i386/xnu.c: ...here.
24672
24673 Enable priorities in video drivers.
24674
24675 * include/grub/video.h (grub_video_adapter_prio_t): New type.
24676 (grub_video_adapter): New field prio.
24677 (grub_video_register): Respect prio when inserting.
24678 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
24679 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
24680 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
24681 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
24682 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
24683 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
24684 * video/sm712.c (grub_video_sm712_adapter): Likewise.
24685
24686 Fix SDL driver ID.
24687
24688 * include/grub/video.h (grub_video_driver_id_t): New value
24689 GRUB_VIDEO_DRIVER_SDL.
24690 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
24691
7d24e434
CW
246922010-06-17 Colin Watson <cjwatson@ubuntu.com>
24693
24694 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
24695 argument to printf.
24696 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
24697
c88a83f6
CW
246982010-06-17 Colin Watson <cjwatson@ubuntu.com>
24699
24700 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
24701 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
24702
094dfb69
CW
247032010-06-17 Colin Watson <cjwatson@ubuntu.com>
24704
24705 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
24706 directly, and recommend grub-install instead.
24707 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
24708
2164da6b
CW
247092010-06-17 Colin Watson <cjwatson@ubuntu.com>
24710
24711 Fix i386-pc prefix handling with nested partitions (Debian bug
24712 #585068). Note that the case where the core image is booted using
24713 multiboot and relocated from its original location still requires
24714 more work.
24715
24716 * kern/i386/pc/init.c (make_install_device): If the prefix starts
24717 with "(,", fill the boot drive in between those two characters, but
24718 expect that a full partition specification including partition map
24719 names will follow.
24720 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
24721 specified, write a prefix without the drive name but including a
24722 full partition specification.
24723
044e2e60
CW
247242010-06-16 Colin Watson <cjwatson@ubuntu.com>
24725
24726 * util/grub-mkconfig.in: Ignore non-option arguments, for
24727 compatibility with older versions (before 2010-06-12) which did the
24728 same. In particular, this makes it easier to ship an update-grub
24729 wrapper which is compatible with that used with GRUB Legacy (Debian
24730 bug #586056).
24731
5591324f
GS
247322010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24733
24734 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
24735 for manual page generation.
24736
662e24d5
GS
247372010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24738
24739 * po/POTFILES: Remove leftover commands/handler.c.
24740
8d70754e
CW
247412010-06-14 Colin Watson <cjwatson@ubuntu.com>
24742
24743 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
24744 left this script non-functional.
24745
41160e2e
CW
247462010-06-14 Colin Watson <cjwatson@ubuntu.com>
24747
24748 * docs/man/grub-emu.h2m: New file.
24749
b5309cc1
CW
247502010-06-13 Colin Watson <cjwatson@ubuntu.com>
24751
24752 * docs/grub.texi (Commands): Document reduced command set in rescue
24753 mode.
24754 (cpuid): New section.
24755
fcb2d090
GS
247562010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
24757
24758 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
24759 new partition naming style.
24760 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
24761
96e5c556
BC
247622010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
24763
24764 Add "-o grub.iso" like cmdline options support.
24765
24766 * util/grub-install.in: Improve cmdline option parsing.
24767 * util/grub-mkconfig.in: Likewise.
24768 * util/grub-mkrescue.in: Likewise.
24769 * util/grub-reboot.in: Likewise.
24770 * util/grub-set-default.in: Likewise.
24771 * util/i386/efi/grub-install.in: Likewise.
24772 * util/ieee1275/grub-install.in: Likewise.
24773 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
24774
c16be99b
CW
247752010-06-12 Colin Watson <cjwatson@ubuntu.com>
24776
24777 * .bzrignore: Ignore 41_custom.
24778
ce08a9fb
TS
247792010-06-12 Thomas Schmitt <scdbackup@gmx.net>
24780
24781 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
24782
7beac90c
CW
247832010-06-12 Colin Watson <cjwatson@ubuntu.com>
24784
24785 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
24786 prototype declarations.
24787
24788 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
24789 generating fs, partmap, and video lists.
24790 * include/grub/fs.h (grub_fs_register): Omit prototype if
24791 GRUB_LST_GENERATOR is defined.
24792 * include/grub/partition.h (grub_partition_map_register): Likewise.
24793 * include/grub/video.h (grub_video_register): Likewise.
24794
1c8f0f8d
JM
247952010-06-12 Javier Martín <lordhabbit@gmail.com>
24796
24797 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
24798
a6085973
TS
247992010-06-12 Thomas Schmitt <scdbackup@gmx.net>
24800
24801 * util/grub-mkrescue.in: Support --xorriso argument.
24802
25c56d29
VS
248032010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
24804
24805 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
24806 Suggested by: Thomas Schmitt.
24807
e03e4b24
VS
248082010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
24809
24810 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
24811 Suggested by: Thomas Schmitt.
24812
57711df6
VS
248132010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
24814
24815 custom.cfg support.
24816
24817 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
24818 * util/grub.d/41_custom.in: New file.
24819
ee62c427
CW
248202010-06-12 Colin Watson <cjwatson@ubuntu.com>
24821
24822 * util/grub-mkrescue.in (make_image): Remove sh module, which has
24823 been merged back into normal.
24824
283af07a
CW
248252010-06-11 Colin Watson <cjwatson@ubuntu.com>
24826
24827 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
24828 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
24829
56a0d956
CW
248302010-06-11 Colin Watson <cjwatson@ubuntu.com>
24831
24832 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
24833 when generating manual pages.
24834 * docs/man/grub-bin2h.h2m: New file.
24835 * docs/man/grub-editenv.h2m: New file.
24836 * docs/man/grub-fstest.h2m: New file.
24837 * docs/man/grub-install.h2m: New file.
24838 * docs/man/grub-macho2img.h2m: New file.
24839 * docs/man/grub-mkconfig.h2m: New file.
24840 * docs/man/grub-mkdevicemap.h2m: New file.
24841 * docs/man/grub-mkfont.h2m: New file.
24842 * docs/man/grub-mkimage.h2m: New file.
24843 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
24844 * docs/man/grub-mkrelpath.h2m: New file.
24845 * docs/man/grub-mkrescue.h2m: New file.
24846 * docs/man/grub-ofpathname.h2m: New file.
24847 * docs/man/grub-pe2elf.h2m: New file.
24848 * docs/man/grub-probe.h2m: New file.
24849 * docs/man/grub-reboot.h2m: New file.
24850 * docs/man/grub-script-check.h2m: New file.
24851 * docs/man/grub-set-default.h2m: New file.
24852 * docs/man/grub-setup.h2m: New file.
24853
3a37e322
VS
248542010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
24855
24856 Use FOR_* macros instead of *_iterate whenever possible.
24857
24858 * commands/handler.c: Removed.
24859 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
24860 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
24861 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
24862 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
24863 (grub_probe_SOURCES): Remove kern/parser.c.
24864 (util/grub-script-check.c_DEPENDENCIES): Removed.
24865 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
24866 and grub_script_check_init.c.
24867 (grub_script_check_init.lst): Removed.
24868 (grub_script_check_init.h): Likewise.
24869 (grub_script_check_init.c): Likewise.
24870 (pkglib_MODULES): Remove handler.mod and sh.mod.
24871 (handler_mod_SOURCES): Removed.
24872 (handler_mod_CFLAGS): Likewise.
24873 (handler_mod_LDFLAGS): Likewise.
24874 (normal_mod_SOURCES): Remove normal/handler.c.
24875 Add script/main.c, script/script.c, script/execute.c,
24876 script/function.c, script/lexer.c, grub_script.tab.c
24877 and grub_script.yy.c.
24878 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
24879 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24880 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
24881 (grub_setup_SOURCES): Remove kern/parser.c.
24882 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
24883 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
24884 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
24885 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24886 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24887 (grub_setup_SOURCES): Remove kern/parser.c.
24888 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
24889 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
24890 * include/grub/command.h (grub_command_iterate): Removed.
24891 (FOR_COMMANDS): New macro.
24892 * include/grub/dl.h (grub_dl): New member next.
24893 (grub_dl_iterate): Removed.
24894 (grub_dl_head): New variable declaration.
24895 (FOR_DL_MODULES): New macro.
24896 * include/grub/fs.h: Include list.h.
24897 (grub_fs): Make next first element.
24898 (grub_fs_list): New variable declaration.
24899 (grub_fs_register): Make inline.
24900 (grub_fs_unregister): Likewise.
24901 (grub_fs_iterate): Removed.
24902 (FOR_FILESYSTEMS): New macro.
24903 * include/grub/handler.h: Removed.
24904 * include/grub/list.h (grub_list_hook_t): Removed.
24905 (grub_list_test_t): Likewise.
24906 (grub_list_pop): Likewise.
24907 (grub_list_iterate): Likewise.
24908 (grub_list_insert): Likewise.
24909 (FOR_LIST_ELEMENTS): New macro.
24910 * include/grub/parser.h (grub_parser_class): Removed.
24911 (grub_parser_register): Likewise.
24912 (grub_parser_unregister): Likewise.
24913 (grub_parser_get_current): Likewise.
24914 (grub_parser_set_current): Likewise.
24915 (grub_register_rescue_parser): Likewise.
24916 (grub_rescue_parse_line): New function.
24917 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
24918 * include/grub/script_sh.h (grub_script_function_list): New variable
24919 declaration.
24920 (FOR_SCRIPT_FUNCTIONS): New macro.
24921 (grub_script_function_iterate): Removed.
24922 (grub_normal_parse_line): New prototype.
24923 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
24924 (FOR_DISABLED_TERM_INPUTS): Likewise.
24925 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
24926 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
24927 * include/grub/video.h (grub_video_adapter): Move 'next' to first
24928 element.
24929 (grub_video_register): Inline.
24930 (grub_video_unregister): Likewise.
24931 (grub_video_adapter_list): New variable declaration.
24932 (grub_video_iterate): Removed.
24933 (FOR_VIDEO_ADAPTERS): New macro.
24934 * kern/dl.c (grub_dl_list): Removed. All users updated.
24935 (grub_dl_iterate): Removed.
24936 * kern/fs.c (grub_fs_list): Make global.
24937 (grub_fs_register): Removed.
24938 (grub_fs_unregister): Likewise.
24939 (grub_fs_iterate): Likewise.
24940 * kern/handler.c: Removed.
24941 * kern/list.c (grub_list_pop): Removed.
24942 (grub_list_iterate): Likewise.
24943 (grub_list_insert): Likewise.
24944 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
24945 (grub_prio_list_insert): Don't use grub_list_insert.
24946 * kern/main.c (grub_register_rescue_parser): Don't call
24947 grub_register_rescue_parser.
24948 * kern/parser.c (grub_parser_class): Removed.
24949 (grub_parser_execute): Use grub_rescue_parse_line.
24950 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
24951 (grub_rescue_parser): Removed.
24952 (grub_register_rescue_parser): Likewise.
24953 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
24954 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
24955 (grub_auth_check_authentication): Likewise.
24956 * normal/completion.c (iterate_command): Removed.
24957 (grub_normal_do_completion): Use FOR_COMMANDS.
24958 * normal/handler.c: Removed.
24959 * normal/main.c (read_config_file): Remove parser changing.
24960 (grub_normal_execute): Don't call read_handler_list.
24961 (grub_normal_read_line_real): Statically allocate prompt.
24962 (grub_cmdline_run): Use grub_normal_parse_line.
24963 (GRUB_MOD_FINI): Don't call free_handler_list.
24964 * normal/menu_entry.c (run): Likewise.
24965 * script/function.c (grub_script_function_list): Make global.
24966 (grub_script_function_iterate): Removed.
24967 * script/main.c (grub_normal_parse_line): Make global.
24968 (grub_sh_parser): Removed.
24969 (GRUB_MOD_INIT): Likewise.
24970 (GRUB_MOD_FINI): Likewise.
24971 * tests/lib/functional_test.c (grub_functional_test): Use
24972 FOR_LIST_ELEMENTS.
24973 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
24974 (grub_test_run): Use FOR_LIST_ELEMENTS.
24975 * tests/lib/unit_test.c (main): Likewise.
24976 * util/deviceiter.c (grub_util_iterate_devices): Don't use
24977 grub_list_pop.
24978 * util/grub-fstest.c (grub_term_input_class): Removed.
24979 (grub_term_output_class): Likewise.
24980 * util/grub-probe.c: Likewise.
24981 * util/i386/pc/grub-setup.c: Likewise.
24982 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24983 * util/grub-script-check.c (main): Don't call grub_init_all and
24984 grub_fini_all.
24985 * video/video.c (grub_video_adapter_list): Make global.
24986 (grub_video_register): Removed.
24987 (grub_video_unregister): Likewise.
24988 (grub_video_iterate): Likewise.
24989
6289c3a7
VS
249902010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
24991
24992 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
24993 reported by Henrique Ferreiro.
24994
91460247
RM
249952010-06-09 Robert Millan <rmh@gnu.org>
24996
24997 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
24998 ones, when both are available.
24999
0ea7c4f9
GS
250002010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25001
25002 Make --version uniform and avoid hard-coded program name.
25003
25004 * util/grub-mkimage.c (main): Use `program_name' instead of
25005 hard-coded string.
25006 * util/i386/pc/grub-setup.c (main): Likewise.
25007 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
25008 * util/grub-install.in: Save the basename of $0 in $self, and use the
25009 latter in informational messages. Use the same format for --version
25010 as the binary programs.
25011 * util/grub-mkconfig.in: Likewise.
25012 * util/grub-mkrescue.in: Likewise.
25013 * util/grub-reboot.in: Likewise.
25014 * util/grub-set-default.in: Likewise.
25015 * util/i386/efi/grub-install.in: Likewise.
25016 * util/ieee1275/grub-install.in: Likewise.
25017 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25018
e8a6f3b6
GS
250192010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25020
25021 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
25022 embedding area. Use <= instead of == when checking for non-emptiness.
25023
f4d095d7
GS
250242010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25025
25026 * configure.ac: Add `.' to the directories searched for unifont.
25027
50e532ca
CW
250282010-06-08 Colin Watson <cjwatson@ubuntu.com>
25029
25030 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
25031 grub_script.yy.h.
25032
d39f3dec
CW
250332010-06-08 Colin Watson <cjwatson@ubuntu.com>
25034
25035 * docs/grub.texi (History): Expand to cover GRUB 2.
25036 (Serial terminal): Refer to `terminal_input' and `terminal_output'
25037 commands, not `terminal'.
25038 (serial): Likewise.
25039 (terminal_input): New section.
25040 (terminal_output): New section.
25041 (uppermem): New section (stub).
25042 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
25043
6ef0ddb4
CW
250442010-06-08 Colin Watson <cjwatson@ubuntu.com>
25045
25046 * docs/grub.texi (Security): Menu entries are unrestricted by
25047 default, not restricted to superusers as I had previously thought.
25048 Reword to account for this.
25049
e0f4c438
CW
250502010-06-07 Colin Watson <cjwatson@ubuntu.com>
25051
25052 * kern/emu/misc.c (device_mapper_null_log): New function.
25053 (grub_device_mapper_supported): New function.
25054 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
25055 prototype.
25056 * kern/emu/hostdisk.c (find_partition_start): Check whether
25057 device-mapper is supported before trying to use it.
25058 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
25059
da908200
CW
250602010-06-07 Colin Watson <cjwatson@ubuntu.com>
25061
25062 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
25063 (File name syntax): Likewise.
25064 (help): --all is no longer supported in GRUB 2. Be more precise
25065 about pattern matching.
25066
fb55c3ac
CW
250672010-06-07 Colin Watson <cjwatson@ubuntu.com>
25068
25069 * normal/completion.c (grub_normal_do_completion): When completing
25070 arguments to "set" and the current word contains an equals sign,
25071 skip to after the equals sign before starting completion.
25072
258c2573
CW
250732010-06-07 Colin Watson <cjwatson@ubuntu.com>
25074
25075 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
25076
ee75515e
CW
250772010-06-07 Colin Watson <cjwatson@ubuntu.com>
25078
25079 * docs/grub.texi (Network): New section.
25080 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
25081 `(nd)' as in GRUB Legacy.
25082 (pxe_unload): New section.
25083
a6a700aa
CW
250842010-06-07 Colin Watson <cjwatson@ubuntu.com>
25085
25086 * docs/grub.texi (Troubleshooting): `echo' is not usually available
25087 in the rescue shell, so recommend using `set' instead. Thanks,
25088 Jordan Uggla.
25089
4003dd38
CW
250902010-06-07 Colin Watson <cjwatson@ubuntu.com>
25091
25092 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
25093 (password): New section.
25094 (password_pbkdf2): New section.
25095 (search): New section.
25096 (Security): New section.
25097 (Troubleshooting): New section, currently very incomplete.
25098 (Invoking grub-mkpasswd-pbkdf2): New section.
25099 (Internals): New section, currently very incomplete.
25100
e1cbcc40
CW
251012010-06-07 Colin Watson <cjwatson@ubuntu.com>
25102
25103 * util/grub.d/00_header.in: Add some more quoting (of
25104 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
25105 work again.
25106 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
25107
db8fa1ad
CW
251082010-06-07 Colin Watson <cjwatson@ubuntu.com>
25109
25110 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
25111 to `count', fixing variable shadowing that broke the -c option.
25112
251132010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
25114
25115 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
25116 in case they contain spaces.
25117
f28a9212
CW
251182010-06-04 Colin Watson <cjwatson@ubuntu.com>
25119
25120 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
25121 "part_" to partmap module names, in line with grub-install.
25122 Reported by: Jindřich Makovička (Debian bug #584426).
25123
9cdfe32f
CW
251242010-06-04 Colin Watson <cjwatson@ubuntu.com>
25125
25126 * util/grub-mkimage.c: Make target-related error messages slightly
25127 more helpful; -O talks about "format". Explicitly point to the use
25128 of -O if no target is specified.
25129 Reported by: Didier Raboud (Debian bug #584415).
25130
795b593a
CW
251312010-06-03 Colin Watson <cjwatson@ubuntu.com>
25132
25133 * INSTALL: Document several build requirements for optional features
25134 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
25135
9d9b5833
GS
251362010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
25137
25138 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
25139 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
25140 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
25141
0819fec8
CW
251422010-06-02 Colin Watson <cjwatson@ubuntu.com>
25143
25144 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
25145 Thanks to Jordan Uggla for spotting this.
25146
49396b4f
VS
251472010-06-02 Aleš Nesrsta <starous@volny.cz>
25148
25149 Finally make USB usable.
25150
25151 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
25152 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
25153 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
25154 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
25155 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
25156 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
25157 (GRUB_OHCI_FSMPS): Likewise.
25158 (GRUB_OHCI_PERIODIC_START): Likewise.
25159 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
25160 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
25161 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
25162 (GRUB_OHCI_SET_PORT_RESET): Likewise.
25163 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
25164 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
25165 (grub_ohci_transaction): Likewise.
25166 (grub_ohci_transfer): Improve condition detection algorithms.
25167 Handle toggle property. Program the transactions correctly.
25168 Improve error handling. Various important fixups.
25169 (grub_ohci_portstatus): Put register writes in right order.
25170 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
25171 (grub_uhci_transfer): Don't show "failed" message on success.
25172 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
25173 array.
25174 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
25175 determine its size.
25176 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
25177 before initialization is completed. Use IN direction for empty
25178 transfers. Use last_trans and compute toggle.
25179 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
25180 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
25181 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
25182 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
25183 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
25184 (grub_usb_device): Increase toggle to 256.
25185 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
25186 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
25187 GRUB_USBMS_SUBCLASS_SFF8070.
25188 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
25189 (grub_scsi_inquiry): New member page and alloc_length.
25190 (grub_scsi_request_sense): New structure.
25191 (grub_scsi_request_sense_data): Likewise.
25192 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
25193 control.
25194 * disk/scsi.c (grub_scsi_request_sense): New function.
25195 (grub_scsi_test_unit_ready): Likewise.
25196 (grub_scsi_inquiry): Fill new fields.
25197 (grub_scsi_read_capacity): Likewise.
25198 (grub_scsi_read10): Add request sense at the end.
25199 (grub_scsi_read12): Likewise.
25200 (grub_scsi_write10): Likewise.
25201 (grub_scsi_write12): Likewise.
25202 (grub_scsi_open): Add Test Unit Ready.
25203 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
25204 Support additional subclasses. Con't clear halt yet. Activate the
25205 proper config. Calculate LUNs correctly.
25206 (grub_usbms_transfer): Various important fixups.
25207
252082010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25209
25210 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
25211 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
25212 (grub_ohci_fini_hw): New function.
25213 (grub_ohci_restore_hw): Likewise.
25214 (GRUB_MOD_INIT(ohci)): Register preboot hook.
25215 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
25216 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
25217
252182010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25219
25220 Dedicated DMA allocations.
25221
25222 * bus/pci.c (grub_memalign_dma32): New function
25223 (grub_dma_free): Likewise.
25224 (grub_dma_get_virt): Likewise.
25225 (grub_dma_get_phys): Likewise.
25226 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
25227 (grub_ohci_pci_iter): Use dma32_alloc.
25228 (grub_ohci_transfer): Likewise.
25229 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
25230 (grub_usb_bulk_readwrite): Likewise.
25231 * include/grub/pci.h: Add declarations.
25232
252332010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25234
25235 CS5536 support.
25236
25237 * bus/cs5536.c: New file.
25238 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
25239 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
25240 (cs5536_mod_SOURCES): New variable.
25241 (cs5536_mod_CFLAGS): Likewise.
25242 (cs5536_mod_LDFLAGS): Likewise.
25243 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
25244 machine/pci.h.
25245 (kernel_img_SOURCES): Add bus/cs5536.c.
25246 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
25247 usb_keyboard.mod.
25248 (usb_mod_SOURCES): New variable.
25249 (usb_mod_CFLAGS): New variable.
25250 (usb_mod_LDFLAGS): New variable.
25251 (usbtest_mod_SOURCES): New variable.
25252 (usbtest_mod_CFLAGS): New variable.
25253 (usbtest_mod_LDFLAGS): New variable.
25254 (ohci_mod_SOURCES): New variable.
25255 (ohci_mod_CFLAGS): New variable.
25256 (ohci_mod_LDFLAGS): New variable.
25257 (usbms_mod_SOURCES): New variable.
25258 (usbms_mod_CFLAGS): New variable.
25259 (usbms_mod_LDFLAGS): New variable.
25260 (usb_keyboard_mod_SOURCES): New variable.
25261 (usb_keyboard_mod_CFLAGS): New variable.
25262 (usb_keyboard_mod_LDFLAGS): New variable.
25263 * include/grub/smbus.h: New file.
25264 * include/grub/cs5536.h: New file.
25265
0b35b2a9
CW
252662010-06-02 Colin Watson <cjwatson@ubuntu.com>
25267
25268 * util/grub.d/00_header.in: Add safety check to make sure that
25269 ${locale_dir} exists before trying to probe it.
25270
ca0afd5b
CW
252712010-06-02 Colin Watson <cjwatson@ubuntu.com>
25272
25273 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
25274 per the GNU Coding Standards; this is now too obscure to be worth
25275 documenting.
25276 (QNX): Likewise.
25277 (chainloader): Remove cross-reference to `SCO UnixWare'.
25278
1c41aa78
CW
252792010-06-02 Colin Watson <cjwatson@ubuntu.com>
25280
25281 * docs/grub.texi (Chain-loading): New section.
25282 (DOS/Windows): New section, borrowed from GRUB Legacy with details
25283 adjusted for GRUB 2.
25284 (SCO UnixWare): Likewise.
25285 (QNX): Likewise.
25286 (chainloader): Add reference to `Block list syntax'.
25287 (drivemap): New section.
25288 (parttool): New section.
25289
bb8ea0f5
CW
252902010-06-02 Colin Watson <cjwatson@ubuntu.com>
25291
25292 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
25293 the grub shell'.
25294 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
25295 (Installing GRUB using grub-install): Remove reference to the grub
25296 shell; mention `grub-mkimage' and `grub-setup' instead.
25297 (Invoking grub-install): Likewise.
25298 (Interface): Add reference to `Menu entry editor'.
25299 (serial): Remove `--device' option.
25300
288dd6ed
CW
253012010-06-02 Colin Watson <cjwatson@ubuntu.com>
25302
25303 * docs/grub.texi (Configuration): New section, documenting
25304 configuration file generation using grub-mkconfig. I've left a slot
25305 for documenting the full shell scripting format but have not yet
25306 started on writing that up.
25307 (Invoking grub-mkconfig): New section.
25308
34c9f0e9
CW
253092010-06-02 Colin Watson <cjwatson@ubuntu.com>
25310
25311 * docs/grub.texi (direntry): Remove grub-terminfo reference.
25312 (GNU GRUB manual): Likewise.
25313 (General commands): Update description of `terminfo' for GRUB 2.
25314
9121567e
CW
253152010-06-02 Colin Watson <cjwatson@ubuntu.com>
25316
25317 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
25318 (GRUB_MOD_INIT): Fix capitalisation.
25319 * docs/grub.texi (Command-line and menu entry commands): Document
25320 gettext and gptsync commands.
25321
ab631611
CW
253222010-06-02 Colin Watson <cjwatson@ubuntu.com>
25323
25324 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
25325 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
25326
bde4a9ac
CW
253272010-06-01 Colin Watson <cjwatson@ubuntu.com>
25328
25329 Add btrfs probing support, currently only in the single-device case.
25330
25331 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
25332 function.
25333 (grub_guess_root_device): Call find_root_device_from_mountinfo
25334 before looking in /dev.
25335
b1d17e10
VS
253362010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25337
25338 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
25339 GRUB_DISK_SIZE_UNKNOWN.
25340 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
25341
dfbfe004
JS
253422010-05-31 Jiro SEKIBA <jir@unicus.jp>
25343
25344 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
25345 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
25346 corrupted or not synced properly.
25347
c2ffc8e9
VS
253482010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25349
25350 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
25351 Reported by: Seth Goldberg.
25352
56293166
VS
253532010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25354
25355 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
25356 addition of dest.
25357 Reported by: Seth Goldberg.
25358
7620e7de
VS
253592010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25360
25361 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
25362 Reported by: Seth Goldberg.
25363
c837af3f
VS
253642010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25365
25366 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
25367 64-bit address as signed on MIPS.
25368
c7c75cf4
CW
253692010-05-28 Colin Watson <cjwatson@ubuntu.com>
25370
25371 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
25372 to the empty string.
25373
fa4b8490
BC
253742010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
25375
25376 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
25377
25378 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
25379 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
25380 * kern/misc.c (__enable_execute_stack): Disable on
25381 GRUB_MACHINE_EMU.
25382
a33075b9
CW
253832010-05-28 Colin Watson <cjwatson@ubuntu.com>
25384
25385 Make grub-probe work with symbolic links under /dev/mapper as well
25386 as with real block devices. The Linux world seems to be (at best)
25387 in transition here, and GRUB shouldn't get caught in the middle.
25388
25389 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
25390 /dev/mapper.
25391
d8708134
CW
253922010-05-27 Colin Watson <cjwatson@ubuntu.com>
25393
25394 * util/grub-script-check.c (main): Ensure defined behaviour on empty
25395 input files (in which case exit zero).
25396
db2102a0
CW
253972010-05-27 Colin Watson <cjwatson@ubuntu.com>
25398
25399 * kern/emu/misc.c (canonicalize_file_name): realpath can still
25400 return NULL for various reasons even if it has a maximum-length
25401 buffer: for example, there might be a symlink loop, or the path
25402 might exceed PATH_MAX. If this happens, return NULL.
25403
5fdba519
RM
254042010-05-27 Robert Millan <rmh@gnu.org>
25405
25406 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
25407 partmap module to handle cross-partmap setups.
25408 Reported by Orestes Mas. Gràcies!
25409
d1d368e4
CW
254102010-05-27 Colin Watson <cjwatson@ubuntu.com>
25411
25412 * util/grub-mkrescue.in: Initialise override_dir rather than
25413 assuming that it's unset or empty in the environment.
25414
95ac3c73
GS
254152010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
25416
25417 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
25418 variable index into p_index to suppress a warning with -Wshadow.
25419
7d8c0213
BC
254202010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
25421
25422 * INSTALL: Added flex >= 2.5.35 requirement.
25423
db4d5813
VS
254242010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
25425
25426 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
25427
f24f4300
VS
254282010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
25429
25430 cmostest support.
25431
25432 * commands/i386/cmostest.c: New file.
25433 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
25434 (cmostest_mod_SOURCES): New variable.
25435 (cmostest_mod_CFLAGS): Likewise.
25436 (cmostest_mod_LDFLAGS): Likewise.
25437 * conf/i386-pc.rmk: Likewise.
25438 * docs/grub.texi (Vendor power-on keys): New section.
25439 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
25440 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
25441 and GRUB_BUTTON_CMOS_ADDRESS.
25442 * util/grub.d/00_header.in: Handle powering-on by separate button.
25443
ad603f61
VS
254442010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
25445
25446 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
25447 Removed drawing_scrollbar argument. All users updated
25448 Fixes #29792.
25449 Reported by Jo Shields
25450
3ecb080a
VS
254512010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
25452
25453 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
25454 buffer since gfxterm handles double repaint.
25455
5f2316c1
VS
254562010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
25457
25458 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
25459 * term/gfxterm.c (real_scroll): Likewise.
25460
9a25f885
VS
254612010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
25462
25463 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
25464 before calling BIOS.
25465
39fbb79a
VS
254662010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
25467
25468 * include/grub/i18n.h: Always enable grub_gettext.
25469
228cfa97
VS
254702010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
25471
25472 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
25473 partition naming style.
25474
21717c8f
CW
254752010-05-21 Colin Watson <cjwatson@ubuntu.com>
25476
25477 * util/grub-mkconfig.in: Fix handling of -o so that it works when
25478 not the first option.
25479
c0f48e65
CW
254802010-05-20 Colin Watson <cjwatson@ubuntu.com>
25481
25482 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
25483
96779aec
CW
254842010-05-20 Colin Watson <cjwatson@ubuntu.com>
25485
25486 * util/misc.c: Move inclusion of <limits.h> to ...
25487 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
25488
fa9d256e
GS
254892010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
25490
25491 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
25492 Fix merge error in NetBSD code.
25493 (find_partition_start) [__NetBSD__]: Likewise.
25494
123b7a85
BC
254952010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
25496
25497 Fix grub-mkrescue usage unit testing.
25498
25499 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
25500
74276c0d
CF
255012010-05-18 Christian Franke <franke@computer.org>
25502
25503 * util/grub.d/10_windows.in: Use path names instead of
25504 drive letters to prevent warning from Cygwin 1.7.
25505 Add drivemap command to menuentry if needed.
25506
c4f7b523
ST
255072010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
25508
25509 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
25510 gnumach and gnumach.gz.
25511
95b97950
VS
255122010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25513
25514 * include/grub/i18n.h (gettext): Inline instead of using #define.
25515 (grub_gettext): Likewise.
25516 (_): Likewise.
25517
01b8d2d7
VS
255182010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25519
25520 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
25521 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
25522 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
25523 (main): Add a slash after pkglibdirroot.
25524
654e1d1e
VS
255252010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25526
25527 * util/grub-install.in: Add missing "in" keyword.
25528
26966aeb
VS
255292010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25530
25531 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
25532 Reported by: Seth Goldberg.
25533
75006747
VS
255342010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25535
25536 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
25537
74cbf5bd
CW
255382010-05-18 Colin Watson <cjwatson@ubuntu.com>
25539
25540 * configure.ac: Check for Linux device-mapper support.
25541
25542 * util/hostdisk.c (device_is_mapped): New function.
25543 (find_partition_start): New function, partly broken out from
25544 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
25545 device-mapper support added.
25546 (linux_find_partition): Use find_partition_start.
25547 (convert_system_partition_to_system_disk): Add `st' argument.
25548 Support Linux /dev/mapper/* devices if device-mapper support is
25549 available; only DM-RAID devices are understood at present.
25550 (find_system_device): Add `st' argument. Pass it to
25551 convert_system_partition_to_system_disk.
25552 (grub_util_biosdisk_get_grub_dev): Pass stat result to
25553 find_system_device and convert_system_partition_to_system_disk. Use
25554 find_partition_start.
25555
25556 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
25557 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
25558 * util/deviceiter.c [__linux__]: Define MINOR.
25559 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
25560 * util/mkdevicemap.c (grub_putchar): New function.
25561 (grub_getkey): New function.
25562 (grub_refresh): New function.
25563 (main): Set debug=all if -v -v is used.
25564
355b51e9
CW
255652010-05-18 Colin Watson <cjwatson@ubuntu.com>
25566
25567 Fix build with non-GNU libcs.
25568
25569 * util/misc.c (canonicalize_file_name): Move to ...
25570 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
25571 grub_make_system_path_relative_to_its_root.
25572
7fb5c25f
CW
255732010-05-18 Colin Watson <cjwatson@ubuntu.com>
25574
25575 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
25576 we handle finding grub-mkimage. Default to finding grub-mkimage in
25577 ${bindir} with program_transform_name applied, and provide a
25578 --grub-mkimage option to override this.
25579
1d3293d6
VS
255802010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25581
25582 Remove grub-mkisofs.
25583
25584 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
25585 (grub_mkisofs_SOURCES): Removed.
25586 (grub_mkisofs_CFLAGS): Removed.
25587 * util/mkisofs/defaults.h: Removed.
25588 * util/mkisofs/eltorito.c: Likewise.
25589 * util/mkisofs/exclude.h: Likewise.
25590 * util/mkisofs/hash.c: Likewise.
25591 * util/mkisofs/include/: Likewise.
25592 * util/mkisofs/include/fctldefs.h: Likewise.
25593 * util/mkisofs/include/mconfig.h: Likewise.
25594 * util/mkisofs/include/prototyp.h: Likewise.
25595 * util/mkisofs/include/statdefs.h: Likewise.
25596 * util/mkisofs/iso9660.h: Likewise.
25597 * util/mkisofs/joliet.c: Likewise.
25598 * util/mkisofs/match.c: Likewise.
25599 * util/mkisofs/match.h: Likewise.
25600 * util/mkisofs/mkisofs.c: Likewise.
25601 * util/mkisofs/mkisofs.h: Likewise.
25602 * util/mkisofs/msdos_partition.h: Likewise.
25603 * util/mkisofs/multi.c: Likewise.
25604 * util/mkisofs/name.c: Likewise.
25605 * util/mkisofs/rock.c: Likewise.
25606 * util/mkisofs/tree.c: Likewise.
25607 * util/mkisofs/write.c: Likewise.
25608
5dde9afe
VS
256092010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25610
25611 Unify grub-mkimage accross platforms.
25612
25613 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
25614 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
25615 (grub_mkelfimage_SOURCES): Removed.
25616 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
25617 (util/grub-mkimage.c_DEPENDENCIES): .. this.
25618 (bin_UTILITIES): Add grub-mkimage.
25619 (grub_mkimage_SOURCES): New variable.
25620 (kernel_img_HEADERS): Remove machine/kernel.h.
25621 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
25622 (pkglib_PROGRAMS): Add kernel.img.
25623 (kernel_img_HEADERS): Add machine/kernel.h.
25624 (kernel_img_FORMAT): Removed.
25625 (bin_UTILITIES): Remove grub-mkimage.
25626 (grub_mkimage_SOURCES): Removed.
25627 (grub_mkimage_CFLAGS): Likewise.
25628 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
25629 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
25630 (pkglib_PROGRAMS): Add kernel.img.
25631 (bin_UTILITIES): Remove grub-mkimage.
25632 (grub_mkimage_SOURCES): Removed.
25633 (grub_mkimage_CFLAGS): Likewise.
25634 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
25635 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
25636 (pkglib_PROGRAMS): Add kernel.img.
25637 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
25638 (pkglib_PROGRAMS): Add kernel.img.
25639 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
25640 (grub_mkimage_SOURCES): Removed.
25641 (grub_mkimage_CFLAGS): Likewise.
25642 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
25643 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
25644 (pkglib_PROGRAMS): Add kernel.img.
25645 (bin_UTILITIES): Remove grub-mkimage.
25646 (grub_mkimage_SOURCES): Removed.
25647 (grub_mkimage_CFLAGS): Likewise.
25648 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
25649 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
25650 (grub_mkimage_SOURCES): Removed.
25651 (grub_mkimage_CFLAGS): Likewise.
25652 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
25653 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
25654 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
25655 (grub_pe32_optional_header): ... this.
25656 (grub_pe64_optional_header): ... and this. All users updated.
25657 (GRUB_PE32_PE32_MAGIC): Split into ..
25658 (GRUB_PE32_PE32_MAGIC): .. this.
25659 (GRUB_PE32_PE64_MAGIC): .. and this.
25660 (GRUB_PE32_SIGNATURE_SIZE): New definition.
25661 * include/grub/elf.h (PT_GNU_STACK): New definition.
25662 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
25663 * include/grub/i386/efi/kernel.h: Likewise.
25664 * include/grub/i386/kernel.h: Likewise.
25665 * include/grub/i386/pc/kernel.h: Likewise.
25666 * include/grub/i386/qemu/boot.h: Likewise.
25667 * include/grub/mips/kernel.h: Likewise.
25668 * include/grub/mips/qemu-mips/kernel.h: Likewise.
25669 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
25670 * include/grub/powerpc/kernel.h: Likewise.
25671 * include/grub/sparc64/ieee1275/boot.h: Likewise.
25672 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25673 * include/grub/sparc64/kernel.h: Likewise.
25674 * include/grub/x86_64/efi/kernel.h: Likewise.
25675 * include/grub/x86_64/kernel.h: Likewise.
25676 * include/grub/offsets.h: New file.
25677 * include/grub/kernel.h (grub_module_info): Split into ...
25678 (grub_module_info32): ... this.
25679 (grub_module_info64): ... and this.
25680 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
25681 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
25682 (grub_boot_blocklist): Moved from here ...
25683 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
25684 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
25685 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
25686 * include/grub/types.h (grub_target_to_host16): Removed.
25687 (grub_target_to_host32): Likewise.
25688 (grub_target_to_host64): Likewise.
25689 (grub_host_to_target16): Likewise.
25690 (grub_host_to_target32): Likewise.
25691 (grub_host_to_target64): Likewise.
25692 (grub_host_to_target_addr): Likewise.
25693
25694 Support grub-mkrescue for efi, coreboot and qemu.
25695
25696 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
25697 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
25698 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
25699 * util/grub-mkrawimage.c: Moved from here ...
25700 * util/grub-mkimage.c: ... here. All users updated.
25701 (ALIGN_ADDR): Use image_target.
25702 (TARGET_NO_FIELD): New const.
25703 (image_target_desc): New type.
25704 (image_targets): New array.
25705 (grub_target_to_host64): Use image_target.
25706 (grub_target_to_host32): Likewise.
25707 (grub_target_to_host16): Likewise.
25708 (grub_host_to_target64): Likewise.
25709 (grub_host_to_target32): Likewise.
25710 (grub_host_to_target16): Likewise.
25711 (grub_host_to_target_addr): Likewise.
25712 (generate_image): Handle multiimage.
25713 (main): Require -O parameter. All users updated.
25714 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
25715 util/efi/grub-mkimage.c
25716 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
25717 New option --rom-directory.
25718 Use xorriso.
25719 * util/i386/efi/grub-mkimage.c: Removed.
25720 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
25721 (grub_target_to_host32): Likewise.
25722 (grub_target_to_host64): Likewise.
25723 (grub_host_to_target16): Likewise.
25724 (grub_host_to_target32): Likewise.
25725 (grub_host_to_target64): Likewise.
25726 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
25727 (grub_target_to_host32): Likewise.
25728 (grub_target_to_host64): Likewise.
25729 (grub_host_to_target16): Likewise.
25730 (grub_host_to_target32): Likewise.
25731 (grub_host_to_target64): Likewise.
25732
f4fc97d0
BC
257332010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
25734
25735 Source tree is reorganized for emu build.
25736
25737 * include/grub/util/console.h: Move from here...
25738 * include/grub/emu/console.h: ...to here.
25739 * include/grub/util/getroot.h: Move from here...
25740 * include/grub/emu/getroot.h: ...to here.
25741 * include/grub/util/hostdisk.h: Move from here...
25742 * include/grub/emu/hostdisk.h: ...to here.
25743 * util/console.c: Move from here...
25744 * kern/emu/console.c: ...to here.
25745 * util/getroot.c: Move from here...
25746 * kern/emu/getroot.c: ...to here.
25747 * util/grub-emu.c: Move from here...
25748 * kern/emu/main.c: ...to here.
25749 * util/hostdisk.c: Move from here...
25750 * kern/emu/hostdisk.c: ...to here.
25751 * util/hostfs.c: Move from here...
25752 * kern/emu/hostfs.c: ...to here.
25753 * util/mm.c: Move from here...
25754 * kern/emu/mm.c: ...to here.
25755 * util/pci.c: Move from here...
25756 * bus/emu/pci.c: ...to here.
25757 * util/sdl.c: Move from here...
25758 * video/emu/sdl.c: ...to here.
25759 * util/time.c: Move from here...
25760 * kern/emu/time.c: ...to here.
25761 * util/usb.c: Move from here...
25762 * bus/usb/emu/usb.c: ...to here.
25763
25764 * include/grub/emu/misc.h: New header for grub-emu functions.
25765 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
25766
25767 * conf/any-emu.rmk: Rule updates for above renames.
25768 * conf/common.rmk: Likewise.
25769 * conf/i386-pc.rmk: Likewise.
25770 * conf/i386-qemu.rmk: Likewise.
25771 * conf/mips.rmk: Likewise.
25772 * conf/sparc64-ieee1275.rmk: Likewise.
25773 * conf/x86-efi.rmk: Likewise.
25774
25775 * disk/lvm.h: #include updates for above renames.
25776 * util/grub-mkrelpath.c: Likewise.
25777 * util/grub-probe.c: Likewise.
25778 * util/i386/pc/grub-setup.c: Likewise.
25779 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25780 * kern/emu/console.c: Likewise.
25781 * kern/emu/getroot.c: Likewise.
25782 * kern/emu/hostdisk.c: Likewise.
25783 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
25784
25785 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
25786 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
25787 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
25788 * util/misc.c: Remove grub-emu functions.
25789
cced9145
VS
257902010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
25791
25792 Fix gfxmenu crash.
25793 Reported by: Thorsten Grützmacher.
25794
25795 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
25796 timeout hook.
25797 (circprog_set_property): Register and unregister timeout hook.
25798 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
25799 (label_destroy): Free template. and unregister hook.
25800 (label_set_state): New function.
25801 (label_set_property): Handle templates and hooks.
25802 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
25803 timeout hook.
25804 (progress_bar_set_property): Register and unregister timeout hook.
25805 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
25806 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
25807 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
25808 (update_timeout_visit): Removed.
25809 (update_timeouts): New function.
25810 (redraw_timeouts): Likewise.
25811 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
25812 (grub_gfxmenu_clear_timeout): Likewise.
25813 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
25814 (grub_gfxmenu_timeout_notify): Likewise.
25815 (grub_gfxmenu_timeout_notifications): New external variable.
25816 (grub_gfxmenu_timeout_register): New function.
25817 (grub_gfxmenu_timeout_unregister): Likewise.
25818
c6e5caab
VS
258192010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
25820
25821 Transform (broken) vga terminal into (working) vga video driver.
25822
25823 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
25824 video/i386/pc/vga.c.
25825 * include/grub/video.h (grub_video_driver_id):
25826 Add GRUB_VIDEO_DRIVER_VGA.
25827 * term/i386/pc/vga.c: Renamed to ...
25828 * video/i386/pc/vga.c: ...this
25829 (DEBUG_VGA): Removed.
25830 (CHAR_WIDTH): Likewise.
25831 (CHAR_HEIGHT): Likewise.
25832 (TEXT_WIDTH): Likewise.
25833 (TEXT_HEIGHT): Likewise.
25834 (DEFAULT_FG_COLOR): Likewise.
25835 (DEFAULT_BG_COLOR): Likewise.
25836 (colored_char): Likewise.
25837 (xpos): Likewise.
25838 (ypos): Likewise.
25839 (cursor_state): Likewise.
25840 (fg_color): Likewise.
25841 (bg_color): Likewise.
25842 (text_buf): Likewise.
25843 (page): Likewise.
25844 (font): Likewise.
25845 (framebuffer): New variable.
25846 (set_read_map): Disabled.
25847 (setup): New variable.
25848 (is_target): Likewise.
25849 (grub_vga_mod_init): Likewise.
25850 (grub_vga_mod_fini): Likewise.
25851 (check_vga_mem): Likewise.
25852 (write_char): Likewise.
25853 (write_cursor): Likewise.
25854 (scroll_up): Likewise.
25855 (grub_vga_putchar): Likewise.
25856 (grub_vga_getcharwidth): Likewise.
25857 (grub_vga_getwh): Likewise.
25858 (grub_vga_getxy): Likewise.
25859 (grub_vga_gotoxy): Likewise.
25860 (grub_vga_cls): Likewise.
25861 (grub_vga_setcolorstate): Likewise.
25862 (grub_vga_setcursor): Likewise.
25863 (grub_video_vga_init): New function.
25864 (grub_video_vga_setup): Likewise.
25865 (grub_video_vga_fini): Likewise.
25866 (update_target): Likewise.
25867 (grub_video_vga_blit_bitmap): Likewise.
25868 (grub_video_vga_blit_render_target): Likewise.
25869 (grub_video_vga_set_active_render_target): Likewise.
25870 (grub_video_vga_get_active_render_target): Likewise.
25871 (grub_video_vga_swap_buffers): Likewise.
25872 (grub_video_vga_set_palette): Likewise.
25873 (grub_video_vga_get_info_and_fini): Likewise.
25874 (grub_vga_term): Removed.
25875 (grub_video_vga_adapter): New variable.
25876 (GRUB_MOD_INIT): Register a video driver instead of terminal.
25877 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
25878
2bf61a98
VS
258792010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25880
25881 * video/readers/jpeg.c: Indented.
25882
09ddcd11
VS
258832010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25884
25885 Various jpeg cleanups.
25886
25887 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
25888 (grub_jpeg_decode_quan_table): Use sizeof.
25889 (grub_jpeg_decode_du): Use ARRAY_SIZE.
25890
e5507505
PH
258912010-05-05 Peter Hurley <No e-mail available> (tiny change)
25892
25893 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
25894 tables. Ignore non-last ac bit.
25895 (grub_jpeg_decode_quan_table): Likewise.
25896
7e720a9b
VS
258972010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25898
25899 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
25900 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
25901 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
25902 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
25903 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
25904 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
25905
a7fc080b
VS
259062010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25907
25908 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
25909 error.
25910
2bf6012d
VS
259112010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25912
25913 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
25914
265d68cd
VS
259152010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25916
25917 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
25918 condition.
25919
259202010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
25921
25922 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
25923 part.
25924
265d68cd 259252010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
25926
25927 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
25928 pointers.
25929
265d68cd 259302010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
25931
25932 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
25933
d1b61374
CF
259342010-05-01 Christian Franke <franke@computer.org>
25935
25936 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
25937 Remove broken Cygwin path conversion.
25938 * util/misc.c: [__CYGWIN__] Add include and define.
25939 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
25940 for Cygwin 1.7.
25941 (make_system_path_relative_to_its_root): Simplify loop, replace early
25942 return by break.
25943 [__CYGWIN__] Add conversion to win32 path.
25944 Include "/" case in trailing slash removal.
25945
3558c6e9
VS
259462010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25947
25948 * kern/main.c (grub_load_config): Fix copy-pasted comment.
25949 Reported by: Seth Goldberg
25950
f5f3ff93
VS
259512010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25952
25953 * commands/help.c (grub_cmd_help): Fix a typo.
25954 Reported by: Seth Goldberg
25955
d8b5cd40
VS
259562010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25957
25958 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
25959 name and add N_.
25960 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
25961 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
25962 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
25963 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
25964 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
25965 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
25966 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
25967 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
25968 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
25969 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
25970 * normal/context.c (GRUB_MOD_INIT): Likewise.
25971 * normal/main.c (GRUB_MOD_INIT): Likewise.
25972 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
25973 * term/serial.c (GRUB_MOD_INIT): Likewise.
25974 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
25975
88c14915
VS
259762010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25977
25978 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
25979 extra == 0.
25980
165134bc
VS
259812010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25982
25983 * commands/iorw.c: New file.
25984 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
25985 (iorw_mod_SOURCES): New variable.
25986 (iorw_mod_CFLAGS): Likewise.
25987 (iorw_mod_LDFLAGS): Likewise.
25988
c5ac9b32
VS
259892010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25990
25991 Hotkey support
25992
25993 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
25994 * normal/main.c (hotkey_aliases): New variable.
25995 (grub_normal_add_menu_entry): Parse "--hotkey".
25996 * normal/menu_text.c (run_menu): Handle hotkeys.
25997
ce60689c
VS
259982010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25999
26000 * kern/i386/coreboot/init.c (grub_machine_init): Call
26001 grub_machine_mmap_init on qemu.
26002
0359d006
VS
260032010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26004
26005 * boot/i386/qemu/boot.S: Add a missing .code16.
26006
7819a456
VS
260072010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26008
26009 Use LBIO on coreboot.
26010
26011 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
26012 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
26013 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
26014 New declaration.
26015 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
26016 grub_machine_mmap_init on coreboot.
26017 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
26018 GRUB_LINUXBIOS_MEMBER_LINK.
26019 (grub_machine_mmap_iterate): Fix declaration.
26020 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
26021
7210dca9
VS
260222010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26023
26024 Split coreboot and multiboot ports.
26025
26026 * conf/i386-multiboot.rmk: New file.
26027 * configure.ac: Add multiboot port.
26028 * include/grub/i386/multiboot/boot.h: New file.
26029 * include/grub/i386/multiboot/console.h: Likewise.
26030 * include/grub/i386/multiboot/init.h: Likewise.
26031 * include/grub/i386/multiboot/kernel.h: Likewise.
26032 * include/grub/i386/multiboot/loader.h: Likewise.
26033 * include/grub/i386/multiboot/memory.h: Likewise.
26034 * include/grub/i386/multiboot/serial.h: Likewise.
26035 * include/grub/i386/multiboot/time.h: Likewise.
26036 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
26037 * loader/multiboot.c: Likewise.
26038 * loader/multiboot_mbi2.c: Likewise.
26039 * util/grub-mkrescue.in: Generate multiboot rescue.
26040
6f8aaf68
VS
260412010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26042
3080f7a7
VS
26043 * kern/parser.c (grub_parser_execute): Cope with read-only config.
26044
260452010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26046
26047 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
26048
26049 * commands/terminal.c (abstract_terminal): New struct.
26050 (handle_command): New function. Based on grub_cmd_terminal_input.
26051 (grub_cmd_terminal_input): Use handle_command.
26052 (grub_cmd_terminal_output): Use handle_command.
26053
a8ebb841
BC
260542010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
26055
26056 Fix comment handling.
26057
26058 * tests/grub_script_comments.in: New testcase.
26059 * conf/tests.rmk: Rules for new testcase.
26060 * script/yylex.l: Updated flex rules.
26061
bb06ba08
ST
260622010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
26063
26064 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
26065 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
26066 if argc is 1.
bb06ba08 26067
cc9d2425
VS
260682010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26069
26070 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
26071 autogen issues.
26072
460d8402
CF
260732010-04-26 Christian Franke <franke@computer.org>
26074
26075 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
26076 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
26077 (grub_get_prefix): Remove function.
26078 * util/grub-emu.c (main): Replace grub_get_prefix () call by
26079 make_system_path_relative_to_its_root ().
26080 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
26081
553c01f9
CF
260822010-04-24 Christian Franke <franke@computer.org>
26083
26084 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
26085 (kernel_img_LDFLAGS): Remove -static-libgcc.
26086
2aec1692
CF
260872010-04-24 Christian Franke <franke@computer.org>
26088
26089 * configure.ac: Do not CHECK_BSS_START_SYMBOL
26090 and CHECK_END_SYMBOL if grub-emu is built.
26091 Unset TARGET_OBJ2ELF if grub-emu is built
26092 without module support.
26093
f67dc308
JS
260942010-04-24 Jiro SEKIBA <jir@unicus.jp>
26095
26096 Nilfs2 support.
26097
26098 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
26099 (grub_fstest_SOURCES): Likewise.
26100 (pkglib_MODULES): Add nilfs2.mod.
26101 (nilfs2_mod_SOURCES): New variable.
26102 (nilfs2_mod_CFLAGS): Likewise.
26103 (nilfs2_mod_LDFLAGS): Likewise.
26104 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
26105 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
26106 * fs/nilfs2.c: New file.
26107
4ba8d354
VS
261082010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
26109
26110 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
26111 is not supported.
26112
0d2c20c6
GS
261132010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
26114
26115 Add grub-mkconfig support for NetBSD.
26116
26117 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
26118 * util/grub-mkconfig.in: export new NetBSD specific variables.
26119 * po/POTFILES-shell: added 10_netbsd.in.
26120 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
26121
bc4a2d83
BC
261222010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
26123
26124 Fix emu build with grub-emu-pci and grub-emu-modules.
26125
26126 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
26127 functions.
26128 * include/grub/libpciaccess.h: New file.
26129 * conf/any-emu.rmk: Update kernel headers for emu build.
26130
f48c87aa
VS
261312010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
26132
26133 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
26134
18959385
VS
261352010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
26136
26137 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
26138
0037de3f
VS
261392010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26140
26141 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
26142 Retrieve chosen/bootpath if bootpath isn't hardcoded.
26143 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
26144 util/ieee1275/ofpath.c.
26145 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
26146 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
26147 * include/grub/sparc64/ieee1275/boot.h
26148 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
26149 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
26150 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
26151 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
26152 const char *.
26153 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
26154 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
26155 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
26156 install.
26157
38e55e90
GS
261582010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
26159
26160 * util/grub-mkconfig.in: Corrected two == equality tests.
26161 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
26162 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
26163 expect a number appended to it.
26164 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
26165 expects a number appended to it.
26166
a9e6ff28
VS
261672010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26168
26169 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
26170
0b830b8f
VS
261712010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26172
26173 * util/hostdisk.c (make_device_name): Change to new partition naming.
26174
0973daeb
VS
261752010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
26176
26177 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
26178
460d8402 261792010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
26180
26181 * Makefile.in: Add missing localedir setting.
26182
0b456309
CW
261832010-04-14 Colin Watson <cjwatson@ubuntu.com>
26184
26185 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
26186 mistake in r2156. Noticed by Anthony Fok.
26187
26188 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
26189 @localedir@.
26190 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
26191
08f46d62
BC
261922010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
26193
26194 Fix a spurious, uninitialized variable warning.
26195
26196 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
26197 Initialize variable, shdr.
26198 (grub_freebsd_load_elfmodule): Likewise.
26199 (grub_freebsd_load_elf_meta): Likewise.
26200
8c4a72d4
BC
262012010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
26202
26203 Fix for escaped dollar in double quoted strings.
26204
26205 * script/yylex.l: Updated flex rules.
26206 * conf/tests.rmk: Rule for new testcase.
26207 * tests/grub_script_dollar.in: New testcase.
26208
ce44826e
CPE
262092010-04-13 Carles Pina i Estany <carles@pina.cat>
262102010-04-13 Colin Watson <cjwatson@ubuntu.com>
26211
26212 Enclose all translated strings in grub.cfg in single quotes, and
26213 escape them appropriately (Ubuntu bug #552921).
26214
26215 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
26216 * util/grub.d/10_hurd.in: Use it.
26217 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26218 * util/grub.d/10_linux.in (linux_entry): Likewise.
26219
4b0cd8f8
VS
262202010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26221
26222 Fix cygwin compilation.
26223
26224 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
26225 * include/grub/misc.h (__register_frame_info)
26226 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
26227 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
26228 * kern/misc.c (__register_frame_info)
26229 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
26230 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
26231
01fcf061
VS
262322010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26233
26234 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
26235
5d04b11e
VS
262362010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26237
26238 Unify libgcc processing.
26239
26240 * Makefile.in (kernel_img_LDFLAGS): New variable.
26241 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
26242 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
26243 overwriting.
26244 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
26245 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
26246 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
26247 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
26248 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
26249 overwriting. Remove -lgcc and -static-libgcc
26250 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
26251 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
26252 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
26253 (kernel_img_LDFLAGS): Append instead of overwriting.
26254 Remove -lgcc and -static-libgcc
26255 * conf/sparc64-ieee1275.rmk: Likewise.
26256 * include/grub/powerpc/libgcc.h: Move to ...
26257 * include/grub/libgcc.h: .. this.
26258 * include/grub/libgcc.h: Don't export most of the function on x86.
26259 (__bswapsi2): New export.
26260 (__bswapdi2): Likewise.
26261 * include/grub/mips/libgcc.h: Removed.
26262 * include/grub/sparc64/libgcc.h: Likewise.
26263
b7f3ac29
VS
262642010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26265
26266 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
26267 disk_info_msg (conflicts with gettexting into languages with cases).
26268
2c7031b1
GS
262692010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
26270
26271 Add grub-probe support for NetBSD.
26272
26273 * util/getroot.c (find_root_device): Convert block device to
26274 character device on NetBSD.
26275 * util/probe.c (probe): Require character device on NetBSD.
26276 * util/hostdisk.c: NetBSD specific headers.
26277 (configure_device_driver): new function to tune device driver
26278 parameters (currently only for NetBSD floppy driver).
26279 (grub_util_biosdisk_open): NetBSD specific code (get disk size
26280 via disklabel ioctl).
26281 (open_device): call configure_device_driver on NetBSD.
26282 (convert_system_partition_to_system_disk): NetBSD specific code.
26283 (device_is_wholedisk): Likewise.
26284 (grub_util_biosdisk_get_grub_dev): Likewise.
26285 (make_device_name): Fixed a typo in bsd_part_str.
26286 * configure.ac: check for opendisk() and getrawpartition() on
26287 NetBSD and set LIBUTIL.
26288 * Makefile.in: add LIBUTIL to LIBS.
26289
f516290c
BC
262902010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
26291
26292 Documentation fix.
26293
26294 * util/grub-script-check.c: Better help message.
26295
d8dcc0df
BC
262962010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
26297
26298 Fix FreeBSD build.
26299
26300 * configure.ac: Flex version check.
26301 * conf/common.rmk: Add -Wno-error to sh.mod.
26302 * script/yylex.l: Remove all #pragma.
26303
6734334a
VS
263042010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26305
26306 * include/grub/util/misc.h (canonicalise_file_name): Add missing
26307 prototype.
26308 Reported by: Seth Goldberg.
26309
daea6abd
VS
263102010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26311
26312 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
26313 Rename "module" to "module2".
26314 Reported by: Seth Goldberg.
26315
f2fd9d2b
VS
263162010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26317
26318 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
26319 EXPORT_FUNC.
26320 Reported by: Seth Goldberg.
26321
be124579
VS
263222010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26323
26324 * lib/posix_wrap/locale.h: Add missing file.
26325 Reported by: Seth Goldberg.
26326
ef5da797
VS
263272010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26328
26329 grub-emu module load support.
26330
26331 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
26332 NO_DYNAMIC_MODULES switched to this.
26333 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
26334 (CFLAGS): Likewise.
26335 * conf/any-emu.rmk: Generate symlist.
26336 (kernel_img_HEADERS): Add util/datetime.h.
26337 (kernel_img_HEADERS) [sdl]: Add sdl.h.
26338 (kernel_img_HEADERS) [libusb]: Add libusb.h.
26339 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
26340 kern/$(target_cpu)/cache.S.
26341 * configure.ac (grub-emu-modules): New option.
26342 * genmk.rb: Handle multiple source lists.
26343 * include/grub/sdl.h: New file.
26344 * include/grub/libusb.h: Likewise.
26345 * util/grub-emu.c (main): Hanle (host) root.
26346 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
26347 GRUB_ERR_UNKNOWN_DEVICE.
26348 * util/misc.c: Move mm functions to ...
26349 * util/mm.c: ... here. All users updated.
26350
47822096
VS
263512010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26352
26353 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
26354 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
26355 missing files.
26356 (maintainer-clean): Remove libgcrypt-grub.
26357
5d7e7445
VS
263582010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26359
26360 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
26361
25f4e252
EC
263622010-04-09 EFI Coder <eficoder@hotmail.com>
26363
26364 * normal/menu_text.c (print_message): Clean up the message and show
26365 the Fn information when on EFI
26366 * term/efi/console.c (grub_console_checkkey): Add F4 support.
26367
027de555
VS
263682010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26369
26370 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
26371 All users updated.
26372 * normal/crypto.c (read_crypto_list): Likewise.
26373 * normal/dyncmd.c (read_command_list): Likewise.
26374 * normal/term.c (read_terminal_list): Likewise.
26375 * normal/main.c (read_lists): Use explicit prefix.
26376 (read_lists_hook): Use read_lists.
26377 (grub_normal_execute): Likewise.
26378
47779711
VS
263792010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26380
26381 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
26382 Reported by: Thomas Schmitt.
26383 Add -no-emul-boot to grub-mkisofs parameters.
26384
1118c32e
VS
263852010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26386
26387 * font/font.c: Indented.
26388
7d652447
BC
263892010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
26390
26391 Elif support to GRUB script (by Deepak Vankadaru).
26392
26393 * tests/grub_script_if.in: New testcase.
26394 * conf/tests.rmk: Rule for new testcase.
26395 * script/parser.y: Grammar rules for elif.
26396
34bb22df
BC
263972010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
26398
26399 While and until loops support to GRUB script.
26400
26401 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
26402 (grub_script_create_cmdwhile): New function prototype.
26403 (grub_script_execute_cmdwhile): New function prototype.
26404 * script/execute.c (grub_script_execute_cmdwhile): New function.
26405 * script/parser.y (command): New commands.
26406 (whilecmd): New grammar rule.
26407 (untilcmd): New grammar rule.
26408 * script/script.c (grub_script_create_cmdwhile): New function.
26409 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
26410 function.
26411
26412 * tests/grub_script_while1.in: New testcase.
26413 * conf/tests.rmk: Rule for new testcase.
26414
e215d8e0
VS
264152010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26416
26417 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
26418 as *.jpg.
26419
d7c43ba1
MV
264202010-04-09 Mario Vazquez <mariovazq@gmail.com>
26421
26422 GRUB_BACKGROUND support.
26423
26424 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
26425 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
26426
d64795c0
VS
264272010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26428
26429 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 26430 Idea by: Mario Vazquez
d64795c0
VS
26431
26432 * util/grub.d/00_header.in: Load pf2 and image modules.
26433
f267f83a
VS
264342010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26435
26436 grub-mkconfig multiple terminal support.
26437
26438 * util/grub-mkconfig.in: Handle multiple terminals correctly.
26439 * util/grub.d/00_header.in: Likewise.
26440
b7841ceb
VS
264412010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26442
26443 * Makefile.in: Specify files explicitly instead of using $< and $@ since
26444 we use cd $(srcdir).
26445
df60998c
CW
264462010-04-08 Colin Watson <cjwatson@ubuntu.com>
26447
26448 * util/grub.d/10_linux.in: Only use the first word of
26449 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
26450 spaces in GRUB_DISTRIBUTOR.
26451 * util/grub.d/10_kfreebsd.in: Likewise.
26452 * util/grub.d/10_hurd.in: Likewise.
26453
fa09c82e
BC
264542010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
26455
14e18ae3 26456 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
26457
26458 * tests/util/grub-shell.in: Remove -serial stdio option.
26459
daf892b3
BC
264602010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
26461
26462 POSIX header file wrappers.
26463
26464 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
26465 equivalents.
26466 * lib/posix_wrap/ctype.h: Likewise.
26467 * lib/posix_wrap/errno.h: Likewise.
26468 * lib/posix_wrap/langinfo.h: Likewise.
26469 * lib/posix_wrap/limits.h: Likewise.
26470 * lib/posix_wrap/localcharset.h: Likewise.
26471 * lib/posix_wrap/stdint.h: Likewise.
26472 * lib/posix_wrap/stdio.h: Likewise.
26473 * lib/posix_wrap/stdlib.h: Likewise.
26474 * lib/posix_wrap/string.h: Likewise.
26475 * lib/posix_wrap/sys/types.h: Likewise.
26476 * lib/posix_wrap/unistd.h: Likewise.
26477 * lib/posix_wrap/wchar.h: Likewise.
26478 * lib/posix_wrap/wctype.h: Likewise.
26479 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
26480 (grub_script.yy.h): Likewise.
26481 * script/yylex.l: Remove POSIX emulation #defines.
26482 * Makefile.in (POSIX_CFLAGS): New variable.
26483 (GNULIB_UTIL_CFLAGS): Likewise.
26484
26485 Regexp support.
26486
26487 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
26488 (regexp_mod_SOURCES): New variable.
26489 (regexp_mod_CFLAGS): Likewise.
26490 (regexp_mod_LDFLAGS): Likewise.
26491 * commands/regexp.c: New file.
26492 * gnulib/regcomp.c: New file. Imported from gnulib.
26493 * gnulib/regex.c: Likewise.
26494 * gnulib/regex_internal.c: Likewise.
26495 * gnulib/regex_internal.h: Likewise.
26496 * gnulib/regexec.c: Likewise.
26497 * gnulib/regex.h: Likewise.
26498
974ac4f7
VS
264992010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26500
26501 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
26502 unsupported video mode types.
26503
2622c3ff
VS
265042010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26505
26506 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
26507
064cb524
VS
265082010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26509
26510 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
26511 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
26512
a8c3b552
VS
265132010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
26514
26515 Remove unused grub_vga_get_font.
26516
26517 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
26518 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
26519
187bbe3d
GS
265202010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26521
26522 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
26523 * include/grub/misc.h: Likewise.
26524
b9396631
GS
265252010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26526
26527 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
26528 for which failure is fatal.
26529
50479feb
GS
265302010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26531
26532 * util/grub-install.in: Use mkdir -p to create grub directory.
26533 * util/i386/efi/grub-install.in: Likewise.
26534 * util/ieee1275/grub-install.in: Likewise.
26535
b1654fdf
GS
265362010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26537
26538 * Makefile.in (LEX): new variable.
26539
bd5a6415
GS
265402010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26541
26542 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
26543 `=' and added double quotes on operands of this equality test.
26544
3db3a82b
VS
265452010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
26546
26547 * Makefile.in (uninstall): Remove a leftover debug echo.
26548 Reported by: Grégoire Sutre
26549
38023412
VS
265502010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
26551
26552 MIPS multiboot2 support.
26553
26554 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
26555 (multiboot2_mod_SOURCES): New variable.
26556 (multiboot2_mod_CFLAGS): Likewise.
26557 (multiboot2_mod_LDFLAGS): Likewise.
26558 (multiboot2_mod_ASFLAGS): Likewise.
26559 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
26560 definition.
26561 (MULTIBOOT_ENTRY_REGISTER): Likewise.
26562 (MULTIBOOT_MBI_REGISTER): Likewise.
26563 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
26564 (MULTIBOOT_ELF32_MACHINE): Likewise.
26565 (MULTIBOOT_ELF64_MACHINE): Likewise.
26566 * include/grub/mips/multiboot.h: New file.
26567 * include/grub/video.h (grub_video_driver_id): New type
26568 GRUB_VIDEO_DRIVER_SM712.
26569 (grub_video_get_info_and_fini): Export.
26570 (grub_video_get_palette): Likewise.
26571 (grub_video_get_driver_id): Likewise.
26572 * include/multiboot2.h: Resynced with spec.
26573 * loader/i386/multiboot.c: Moved from here ...
26574 * loader/multiboot.c: ... here. All users updated.
26575 (grub_multiboot_boot): Use platform-specific macros.
26576 * loader/i386/multiboot_elfxx.c: Moved from here ...
26577 * loader/multiboot_elfxx.c: ... here. All users updated.
26578 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
26579 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
26580 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
26581
47674667
VS
265822010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
26583
26584 Import gnulib argp module.
26585
26586 * gnulib/argp-ba.c: New file.
26587 * gnulib/argp-eexst.c: Likewise.
26588 * gnulib/argp-fmtstream.c: Likewise.
26589 * gnulib/argp-fmtstream.h: Likewise.
26590 * gnulib/argp-fs-xinl.c: Likewise.
26591 * gnulib/argp-help.c: Likewise.
26592 * gnulib/argp-namefrob.h: Likewise.
26593 * gnulib/argp-parse.c: Likewise.
26594 * gnulib/argp-pin.c: Likewise.
26595 * gnulib/argp-pv.c: Likewise.
26596 * gnulib/argp-pvh.c: Likewise.
26597 * gnulib/argp-version-etc.c: Likewise.
26598 * gnulib/argp-version-etc.h: Likewise.
26599 * gnulib/argp-xinl.c: Likewise.
26600 * gnulib/argp.h: Likewise.
26601
495442ed
VS
266022010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
26603
26604 * kern/device.c (grub_device_iterate): Clear errors after failed
26605 opening device.
26606
f9fd65df
VS
266072010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
26608
26609 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
26610 returned by firmware.
26611
af09641e
VS
266122010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
26613
26614 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
26615 compilation on coreboot and qemu
26616
016883a5
VS
266172010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
26618
26619 * include/multiboot2.h: Resync with spec.
26620
f97e1f7d
VS
266212010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
26622
26623 Multiboot2 tag support
26624
26625 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
26626 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
26627 Remove loader/multiboot_loader.c.
26628 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
26629 (grub_multiboot2_real_boot): Likewise.
26630 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
26631 (grub_get_multiboot_mmap_count): New proto.
26632 (grub_fill_multiboot_mmap): Likewise.
26633 (grub_multiboot_set_video_mode): Likewise.
26634 (grub_multiboot_set_console): Likewise.
26635 (grub_multiboot_load): Likewise.
26636 (grub_multiboot_load_elf): Likewise.
26637 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
26638 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
26639 * include/multiboot.h: Resynced with specification.
26640 * include/multiboot2.h: Resynced with specification.
26641 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
26642 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
26643 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
26644 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
26645 users updated.
26646 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
26647 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
26648 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
26649 Removed.
26650 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
26651 Moved from here...
26652 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
26653 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
26654 Moved from here...
26655 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
26656 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
26657 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
26658 All users updated.
26659 * loader/i386/multiboot_mbi2.c: New file.
26660
3506b90b
VS
266612010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
26662
26663 Resync with gnulib.
26664
26665 * Makefile.in (GNULIB_CFLAGS): New variable.
26666 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
26667 (grub_script_check_CFLAGS): New variable.
26668 * gnulib/alloca.h: Resync with gnulib.
26669 * gnulib/error.c: Likewise.
26670 * gnulib/error.h: Likewise.
26671 * gnulib/fnmatch.c: Likewise.
26672 * gnulib/fnmatch_loop.c: Likewise.
26673 * gnulib/getdelim.c: Likewise.
26674 * gnulib/getline.c: Likewise.
26675 * gnulib/getopt.c: Likewise.
26676 * gnulib/getopt1.c: Likewise.
26677 * gnulib/getopt_int.h: Likewise.
26678 * gnulib/gettext.h: Likewise.
26679 * gnulib/progname.c: Likewise.
26680 * gnulib/progname.h: Likewise.
26681
394a3120
GS
266822010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
26683
26684 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
26685 which is the case with --disabled-nls.
26686
26687 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
26688 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
26689 * util/misc.c: Likewise.
26690 * util/mkisofs/mkisofs.c: Likewise.
26691 * util/mkisofs/mkisofs.h: Likewise.
26692
969d1c78
VS
266932010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
26694
26695 Simplify Apple CC support.
26696
26697 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
26698 Add 0 byte at the end not to have a symbol with empty target.
26699 * mmap/i386/pc/mmap_helper.S: Likewise.
26700 * genmk.rb: Ignore errors 2030 and 2050.
26701 * kern/i386/pc/startup.S: Use LOCAL when possible.
26702
8d2977bb
BC
267032010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
26704
26705 Testcase and the fix for final semicolon on cmdline.
26706
26707 * tests/grub_script_final_semicolon.in: New testcase.
26708 * conf/tests.rmk: Rules for the new testcase.
26709 * script/parser.y: Grammar fix.
26710
a7bd6915
BC
267112010-03-26 BVK Chaitanya <bvk@localhost>
26712
26713 Blank lines testcase for GRUB script.
26714
26715 * tests/grub_script_blanklines.in: New testcase.
26716 * conf/tests.rmk: Rules for the new testcase.
26717
e4ff6628
VS
267182010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
26719
26720 Don't use __FILE__.
26721
26722 * genmk.rb: Add -DGRUB_FILE to all C targets.
26723 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
26724 * include/grub/list.h: Likewise.
26725 * include/grub/misc.h: Likewise.
26726 * include/grub/mm.h: Likewise.
26727 * include/grub/test.h: Likewise.
26728 * kern/mm.c: Likewise.
26729 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
26730
6a5cf6b6
VS
267312010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
26732
26733 Sunpc partitions support.
26734
26735 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
26736 (grub_fstest_SOURCES): Likewise.
26737 (pkglib_MODULES): Add part_sunpc.mod.
26738 (part_sunpc_mod_SOURCES): New variable.
26739 (part_sunpc_mod_CFLAGS): Likewise.
26740 (part_sunpc_mod_LDFLAGS): Likewise.
26741 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
26742 * partmap/sunpc.c: New file.
26743
746d9045
BC
267442010-03-26 BVK Chaitanya <bvk@localhost>
26745
26746 For loop support to GRUB script.
26747
26748 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
26749 (grub_script_create_cmdfor): New function prototype.
26750 (grub_script_execute_cmdfor): New function prototype.
26751 * script/execute.c (grub_script_execute_cmdfor): New function.
26752 * script/parser.y (command): New for command.
26753 (forcmd): New grammar rule.
26754 * script/script.c (grub_script_create_cmdfor): New function.
26755 * util/grub-script-check.c (grub_script_execute_cmdfor): New
26756 function.
26757 * tests/grub_script_for1.in: New testcase.
26758 * conf/tests.rmk: Rules for new testcase.
26759
18486b18
VS
267602010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
26761
26762 Nested partitions
26763
26764 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
26765 'partition' is NULL, grub_partition_get_start already does that.
26766 * commands/loadenv.c (check_blocklists): Likewise.
26767 (write_blocklists): Likewise.
26768 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
26769 (grub_fstest_SOURCES): Likewise.
26770 (pkglib_MODULES): Add part_bsd.mod.
26771 (part_bsd_mod_SOURCES): New variable.
26772 (part_bsd_mod_CFLAGS): Likewise.
26773 (part_bsd_mod_LDFLAGS): Likewise.
26774 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
26775 (grub_emu_SOURCES): Likewise.
26776 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26777 * include/grub/bsdlabel.h: New file.
26778 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
26779 'get_name'.
26780 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
26781 (grub_partition_map_list): New variable.
26782 (grub_partition_map_register): Inline.
26783 (grub_partition_map_unregister): Likewise.
26784 (FOR_PARTITION_MAPS): New macro.
26785 (grub_partition_map_iterate): Removed.
26786 (grub_partition_get_start): Handle nested partitions.
26787 * include/grub/msdos_partition.h: Remove bsd-related entries.
26788 (grub_pc_partition): Remove.
26789 * kern/disk.c (grub_disk_close): Free partition data.
26790 (grub_disk_adjust_range): Handle nested partitions.
26791 * kern/partition.c (grub_partition_map_probe): New function.
26792 (grub_partition_probe): Parse name to number, handle subpartitions.
26793 (get_partmap): New function.
26794 (grub_partition_iterate): Handle subpartitions.
26795 (grub_partition_get_name): Likewise.
26796 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
26797 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
26798 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
26799 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
26800 Set 'number'.
26801 (acorn_partition_map_probe): Remove.
26802 (acorn_partition_map_get_name): Likewise.
26803 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
26804 Set 'number'.
26805 Set 'index' to 0 since there can be only one partition entry per sector.
26806 (amiga_partition_map_probe): Remove.
26807 (amiga_partition_map_get_name): Likewise.
26808 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
26809 Set 'number'.
26810 Set 'offset' and 'index' to real positions of partitions.
26811 (apple_partition_map_probe): Remove.
26812 (apple_partition_map_get_name): Likewise.
26813 * partmap/bsdlabel.c: New file.
26814 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
26815 Set 'number'.
26816 Allocate 'data' so it can be correctly freed.
26817 Set 'index' to offset inside sector.
26818 (gpt_partition_map_probe): Remove.
26819 (gpt_partition_map_get_name): Likewise.
26820 * partmap/msdos.c (grub_partition_parse): Remove.
26821 (pc_partition_map_iterate): Don't force raw access.
26822 Set 'number'.
26823 Make 'ext_offset' a local variable.
26824 (pc_partition_map_probe): Remove.
26825 (pc_partition_map_get_name): Remove.
26826 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
26827 Set 'number'.
26828 (sun_partition_map_probe): Remove.
26829 (sun_partition_map_get_name): Likewise.
26830 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
26831 (grub_pcpart_type): Likewise.
26832 * util/hostdisk.c (open_device): Handle new numbering scheme.
26833 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
26834 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
26835 * util/grub-probe.c (probe_partmap): Handle nested paritions.
26836 * util/grub-install.in: Insert all subpartition modules.
26837 * util/ieee1275/grub-install.in: Likewise.
26838
a3940f88
AG
268392010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
26840
26841 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
26842 grammar.
26843
21b99926 268442010-03-24 Colin Watson <cjwatson@ubuntu.com>
26845
26846 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
26847
bed1d352
CW
268482010-03-21 Colin Watson <cjwatson@ubuntu.com>
26849
26850 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
26851 match where 'make install' puts them.
26852 * util/i386/efi/grub-install.in: Likewise.
26853
c9f58427
CW
268542010-03-19 Colin Watson <cjwatson@ubuntu.com>
26855
26856 * .bzrignore: Add gentrigtables, grub-script-check,
26857 grub_script_check_init.c, grub_script_check_init.h, and
26858 trigtables.c.
26859
f84afb27
VS
268602010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
26861
26862 * kern/parser.c: Indented.
26863
ed0e3d30
VS
268642010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
26865
26866 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
26867
0ea81d98
VS
268682010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
26869
26870 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
26871 alpha_mask_size == 0 case.
26872
0cdc2a09
BC
268732010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
26874
26875 GRUB shell lexer and parser improvements.
26876
26877 * conf/any-emu.rmk: Build rule updates.
26878 * conf/common.rmk: Likewise.
26879 * conf/i386-coreboot.rmk: Likewise.
26880 * conf/i386-efi.rmk: Likewise.
26881 * conf/i386-ieee1275.rmk: Likewise.
26882 * conf/i386-pc.rmk: Likewise.
26883 * conf/powerpc-ieee1275.rmk: Likewise.
26884 * conf/x86_64-efi.rmk: Likewise.
26885
26886 * configure.ac: Configure check for flex.
26887
26888 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
26889 types.
26890 (grub_lexer_param): Struct member updates.
26891 (grub_parser_param): Likewise.
26892 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
26893 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
26894 (grub_script_lexer_init): Prototype update.
26895 (grub_script_lexer_record_start): Likewise.
26896 (grub_script_lexer_record_stop): Likewise.
26897 (grub_script_lexer_yywrap): New function prototype.
26898 (grub_script_lexer_fini): Likewise.
26899 (grub_script_execute_argument_to_string): Removed by...
26900 (grub_script_execute_argument_to_argv): ...better version.
26901
26902 * script/execute.c (ROUND_UPTO): New macro.
26903 (grub_script_execute_cmdline): Out of memory fixes.
26904 (grub_script_execute_menuentry): Likewise.
26905 (grub_script_execute_argument_to_string): Removed. Update all
26906 users by...
26907 (grub_script_execute_argument_to_argv): ...better version.
26908 * script/function.c (grub_script_function_create): Use
26909 grub_script_execute_argument_to_argv instead of
26910 grub_script_execute_argument_to_string.
26911
26912 * script/lexer.c (check_varstate): Removed.
26913 (check_textstate): Removed.
26914 (grub_script_lexer_record_start): Likewise.
26915 (grub_script_lexer_record_stop): Likewise.
26916 (recordchar): Replaced with...
26917 (grub_script_lexer_record): ...new function.
26918 (nextchar): Removed.
26919 (grub_script_lexer_init): Rewritten.
26920 (grub_script_yylex): Rewritten.
26921 (append_newline): New function.
26922 (grub_script_lexer_yywrap): New function.
26923 (grub_script_lexer_fini): New function.
26924 (grub_script_yyerror): Sets error flag.
26925
26926 * script/yylex.l: New file.
26927 (grub_lexer_yyfree): Wrapper for flex yyffre.
26928 (grub_lexer_yyalloc): Likewise.
26929 (grub_lexer_yyrealloc): Likewise.
26930 * script/parser.y: Refactored.
26931
26932 * script/script.c (grub_script_arg_add): Out of memory fixes.
26933 (grub_script_add_arglist): Likewise.
26934 (grub_script_create_cmdline): Likewise.
26935 (grub_script_create_cmdmenu): Likewise.
26936 (grub_script_add_cmd): Likewise.
26937 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
26938 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
26939 unnecessary code.
26940
26941 * tests/grub_script_echo1.in: New testcase.
26942 * tests/grub_script_vars1.in: New testcase.
26943 * tests/grub_script_echo_keywords.in: New testcase.
26944
1d63a066
VS
269452010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26946
26947 Remove some redundancy in build system.
26948
26949 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
26950 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
26951 (TARGET_LDFLAGS): Add -nostdlib.
26952 (TARGET_IMG_LDFLAGS): Likewise.
26953 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
26954 anything since mmap isn't available.
26955 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
26956 Add util/time.c.
26957 (pkglib_MODULES): Remove reboot.mod.
26958 (reboot_mod_SOURCES): Removed.
26959 (reboot_mod_CFLAGS): Likewise.
26960 (reboot_mod_LDFLAGS): Likewise.
26961 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
26962 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
26963 (DEFSYMFILES): Add kernel_syms.lst.
26964 (kernel_img_HEADERS): Add common headers.
26965 (symlist.c): New target.
26966 (kernel_syms.lst): Likewise.
26967 (pkglib_MODULES): Add memdisk.mod.
26968 (memdisk_mod_SOURCES): New variable.
26969 (memdisk_mod_CFLAGS): Likewise.
26970 (memdisk_mod_LDFLAGS): Likewise.
26971 (pkglib_MODULES): Add reboot.mod.
26972 (reboot_mod_SOURCES): New variable.
26973 (reboot_mod_CFLAGS): Likewise.
26974 (reboot_mod_LDFLAGS): Likewise.
26975 (pkglib_MODULES): Add date.mod.
26976 (date_mod_SOURCES): New variable.
26977 (date_mod_CFLAGS): Likewise.
26978 (date_mod_LDFLAGS): Likewise.
26979 (pkglib_MODULES): Add datehook.mod.
26980 (datehook_mod_SOURCES): New variable.
26981 (datehook_mod_CFLAGS): Likewise.
26982 (datehook_mod_LDFLAGS): Likewise.
26983 (pkglib_MODULES): Add lsmmap.mod.
26984 (lsmmap_mod_SOURCES): New variable.
26985 (lsmmap_mod_CFLAGS): Likewise.
26986 (lsmmap_mod_LDFLAGS): Likewise.
26987 (pkglib_MODULES): Add boot.mod.
26988 (boot_mod_SOURCES): New variable.
26989 (boot_mod_CFLAGS): Likewise.
26990 (boot_mod_LDFLAGS): Likewise.
26991 * conf/i386-coreboot.rmk: Removed redundant parts.
26992 * conf/i386-ieee1275.rmk: Likewise.
26993 * conf/i386-pc.rmk: Likewise.
26994 * conf/mips-yeeloong.rmk: Likewise.
26995 * conf/mips.rmk: Likewise.
26996 * conf/powerpc-ieee1275.rmk: Likewise.
26997 * conf/sparc64-ieee1275.rmk: Likewise.
26998 * conf/x86_64-efi.rmk: Likewise.
26999 * conf/i386-coreboot.rmk: Moved qemu parts ..
27000 * conf/i386-qemu.rmk: ... here
27001 * conf/i386-efi.rmk: Moved common parts to...
27002 * conf/x86-efi.rmk: ... here.
27003 * conf/i386.rmk: Added modules common to all x86 variants.
27004 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
27005 * disk/memdisk.c: Remove grub/machine/kernel.h.
27006 * gensymlist.sh.in: Include symbol.h.
27007 * hook/datehook.c: Correct module name.
27008 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
27009 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
27010 * include/grub/i386/efi/serial.h: New file.
27011 * include/grub/x86_64/efi/serial.h: Likewise.
27012 * util/time.c: Likewise.
27013 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
27014
463ac55f
CK
270152010-03-14 Colin King <colin.king@ubuntu.com>
270162010-03-14 Colin Watson <cjwatson@ubuntu.com>
27017
27018 Shrink the pre-partition-table part of boot.img by eight bytes.
27019
27020 * boot/i386/pc/boot.S (ERR): New macro.
27021 (chs_mode): Use ERR.
27022 (geometry_error): Likewise.
27023 (hd_probe_error): Remove. This is only used once, so we wrwite
27024 it inline instead.
27025 (read_error): Instead of printing read_error_string, just set up
27026 %si and fall through to ...
27027 (error_message): ... this new function, also used by ERR.
27028
08e46ede
CW
270292010-03-14 Colin Watson <cjwatson@ubuntu.com>
27030
27031 Speed up consecutive hostdisk operations on the same device.
27032
27033 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
27034 (grub_util_biosdisk_open): Initialise disk->data.
27035 (struct linux_partition_cache): New structure.
27036 (linux_find_partition): Cache partition start positions; these are
27037 expensive to compute on every read and write.
27038 (open_device): Cache open file descriptor in disk->data, so that we
27039 don't have to reopen it and flush the buffer cache for consecutive
27040 operations on the same device.
27041 (grub_util_biosdisk_close): New function.
27042 (grub_util_biosdisk_dev): Set `close' member.
27043
27044 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
27045 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
27046 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27047 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
27048 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
27049
4a6d2d06
VS
270502010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27051
27052 Compile parts of grub-emu as modules.
27053
27054 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
27055 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
27056 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
27057 (all-local): Add $(GRUB_EMU).
27058 (install-local): Install $(GRUB_EMU).
27059 (uninstall): Uninstall $(GRUB_EMU).
27060 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
27061 * kern/dl.c: Likewise.
27062 * commands/sleep.c: Not include machine/time.h.
27063 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
27064 (COMMON_CFLAGS): Likewise.
27065 (sbin_UTILITIES): Remove grub-emu.
27066 (grub_emu_SOURCES): Removed.
27067 (kernel_img_RELOCATABLE): New variable.
27068 (pkglib_PROGRAMS): Add kernel.img.
27069 (kernel_img_SOURCES): New variable
27070 (kernel_img_CFLAGS): Likewise.
27071 (kernel_img_LDFLAGS): Likewise.
27072 (TARGET_NO_STRIP): Likewise.
27073 (TARGET_NO_DYNAMIC_MODULES): Likewise.
27074 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
27075 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
27076 (grub-emu): New target.
27077 (GRUB_EMU): New variable.
27078 * configure.ac: Whitelist -emu as possible x86_64 architecture.
27079 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
27080 * loader/xnu.c: Likewise.
27081 * include/grub/pci.h: Likewise.
27082 * genemuinit.sh: New file.
27083 * genemuinitheader.sh: Likewise.
27084 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
27085 Support TARGET_NO_DYNAMIC_MODULES.
27086 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
27087 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
27088 * disk/loopback.c: Likewise.
27089 * font/font_cmd.c: Likewise.
27090 * partmap/acorn.c: Likewise.
27091 * partmap/amiga.c: Likewise.
27092 * partmap/apple.c: Likewise.
27093 * partmap/gpt.c: Likewise.
27094 * partmap/msdos.c: Likewise.
27095 * partmap/sun.c: Likewise.
27096 * parttool/msdospart.c: Likewise.
27097 * term/gfxterm.c: Likewise.
27098 * video/bitmap.c: Likewise.
27099 * video/readers/jpeg.c: Likewise.
27100 * video/readers/png.c: Likewise.
27101 * video/readers/tga.c: Likewise.
27102 * video/video.c: Likewise.
27103 * util/grub-emu.c (read_command_list): Removed.
27104 (main): Don't call util_init_nls.
27105 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
27106 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
27107
91fdd2ed
VS
271082010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27109
27110 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
27111 date.mod, datehook.mod.
27112 (datetime_mod_SOURCES): New variable.
27113 (datetime_mod_CFLAGS): Likewise.
27114 (datetime_mod_LDFLAGS): Likewise.
27115 (date_mod_SOURCES): Likewise.
27116 (date_mod_CFLAGS): Likewise.
27117 (date_mod_LDFLAGS): Likewise.
27118 (datehook_mod_SOURCES): Likewise.
27119 (datehook_mod_CFLAGS): Likewise.
27120 (datehook_mod_LDFLAGS): Likewise.
27121 * conf/sparc64-ieee1275.rmk: Likewise.
27122 * lib/ieee1275/datetime.c: New file.
27123
873ccae6
VS
271242010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27125
27126 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
27127 (ieee1275_fb_mod_SOURCES): New variable.
27128 (ieee1275_fb_mod_CFLAGS): Likewise.
27129 (ieee1275_fb_mod_LDFLAGS): Likewise.
27130 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
27131 New proto.
27132 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
27133 (HEAP_MAX_ADDR): Likewise.
27134 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
27135 type.
27136 Correct stop condition.
27137 (grub_ieee1275_devices_iterate): New function.
27138 * video/ieee1275.c: New file.
27139
601c97c0
VS
271402010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27141
27142 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
27143
27144 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
27145 as scratch.
27146 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
27147 SCRATCH_PAD_DISKBOOT as scratch.
27148 (bootit): Pass Openfirmware pointer in %o4.
27149 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
27150 of 0x200000.
27151 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
27152 with util/grub-mkrawimage.c.
27153 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
27154 * include/grub/aout.h (AOUT_MID_SUN): New definition.
27155 (grub_aout_get_type) [GRUB_UTIL]: Removed.
27156 (grub_aout_load) [GRUB_UTIL]: Likewise.
27157 * include/grub/kernel.h (grub_modules_get_end): New proto.
27158 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
27159 (SCRATCH_PAD_BOOT): New definition.
27160 (SCRATCH_PAD_DISKBOOT): Likewise.
27161 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
27162 * include/grub/sparc64/ieee1275/ieee1275.h
27163 (grub_ieee1275_original_stack): New variable
27164 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
27165 New definition
27166 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
27167 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
27168 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
27169 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
27170 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
27171 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
27172 (grub_platform_image_format_t): New type.
27173 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
27174 * kern/main.c (grub_modules_get_end)
27175 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
27176 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
27177 (codestart): Switch stacks.
27178 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
27179 variable.
27180 (grub_heap_init): Use grub_modules_get_end.
27181 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
27182 stack.
27183 * util/grub-mkrawimage.c (generate_image): Support sparc64.
27184 (main): Likewise.
27185 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
27186
d68b491e
TG
271872010-03-14 Thorsten Glaser <tg@mirbsd.org>
27188
27189 * util/grub-mkrescue.in: Base ISO UUID on UTC.
27190
4e02ed50
MK
271912010-03-08 Matt Kraai <kraai@ftbfs.org>
27192
27193 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
27194 bug #559005).
27195
1f15fc1e
VS
271962010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
27197
27198 * genmoddep.awk: Output all missing symbols and not only first.
27199
fce5d8ff
VS
272002010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27201
27202 * NEWS: Put the date of 1.98 release.
27203
d1e8a02f
VS
272042010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27205
27206 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
27207 ft2build.h.
27208
696fd607
VS
272092010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27210
27211 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
27212 completition in the middle of string.
27213
33e2e6f3
VS
272142010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27215
27216 * util/grub-mkrescue.in: Use mktemp with explicit template.
27217
b1f6d291
VS
272182010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27219
27220 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
27221
2ac227c7
VS
272222010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27223
27224 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
27225 right pointer.
27226
8f9a632b
VS
272272010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
27228
27229 Fix FreeBSD compilation.
27230
27231 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
27232 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
27233
60b03859
VS
272342010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
27235
27236 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
27237
48a5a769
VS
272382010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27239
27240 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
27241
3ab4bd77
VS
272422010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27243
27244 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
27245
d116e0d8
RM
272462010-03-04 Robert Millan <rmh.grub@aybabtu.com>
27247
27248 Support relative image path in theme file.
27249
27250 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
27251 (image_set_property): Handle theme_dir and relative path.
27252
c7ef54aa
VS
272532010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27254
27255 * configure.ac: Alias amd64 to x86_64.
27256
fcee14ed
VS
272572010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27258
27259 * NEWS: mention multiboot on EFI.
27260
d0780363
VS
272612010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27262
27263 * kern/main.c (grub_load_modules): Handle errors from init functions of
27264 embeded modules.
27265
41168ea4
VS
272662010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27267
27268 * normal/autofs.c (autoload_fs_module): Handle errors.
27269
b54d93ac
VS
272702010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27271
27272 Disable linux.mod on qemu-mips since it's not functional and leads
27273 to compilation failure.
27274
27275 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
27276 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
27277 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
27278 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
27279 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
27280 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
27281 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
27282 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
27283 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
27284 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
27285 Reported by: BVK Chaitanya
27286
fc8345da
JU
272872010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
27288
27289 * INSTALL: Add gettext as a dependency and add qemu to a new section
27290 "Prerequisites for make-check".
27291
4760f979
CF
272922010-03-04 Christian Franke <franke@computer.org>
27293
27294 * util/grub-pe2elf.c: Add missing include "progname.h".
27295
f209b5b2
VS
272962010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27297
27298 * normal/crypto.c (read_crypto_list): Fix a typo.
27299 Reported by: Seth Goldberg.
27300
b4b7be98
VS
273012010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27302
27303 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 27304 Reported by: Seth Goldberg.
b4b7be98 27305
c0ee0385
VS
273062010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27307
27308 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
27309 ascii.bitmaps.
27310
a8efbf64
VS
273112010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27312
27313 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 27314 Reported by: Seth Goldberg.
a8efbf64 27315
08dcd913
VS
273162010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27317
27318 * util/i386/efi/grub-install.in: Copy gettext files.
27319
c4d0b332
VS
273202010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27321
27322 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
27323
c6f2fe52
VS
273242010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27325
27326 Wait for user entry basing on presence of output rather than on errors.
27327
27328 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
27329 (grub_install_newline_hook): Likewise.
27330 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
27331 * normal/menu.c (show_menu): Check line_counter to determine presence
27332 of output.
27333 * normal/term.c (grub_normal_line_counter): New variable.
27334 (grub_normal_get_line_counter): New function.
27335 (grub_install_newline_hook): Likewise.
27336
5382b1e4
VS
273372010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27338
27339 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
27340
5519963b
VS
273412010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27342
27343 * configure.ac: Update version to 1.98.
27344
72b28631
VS
273452010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
27346
27347 * util/grub.d/10_linux.in (linux_entry): Don't default to
27348 gfxpayload=keep if Linux doesn't support video handover.
27349
c140a180
VS
273502010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
27351
27352 Don't compile video modules on yeeloong since video subsystem is part
27353 of kernel.
27354
27355 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
27356 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
27357 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
27358 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
27359 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
27360 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
27361 * include/grub/bitmap_scale.h: Likewise.
27362 * include/grub/bufio.h: Likewise.
27363 * include/grub/font.h: Likewise.
27364 * include/grub/gfxterm.h: Likewise.
27365 * include/grub/video.h: Likewise.
27366 * include/grub/vbe.h: Don't include video_fb.h.
27367 * video/i386/pc/vbe.c: Include video_fb.h.
27368 * commands/i386/pc/vbetest.c: Include video.h.
27369
a0ca21c2
CW
273702010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
27371
27372 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
27373 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
27374 default entry if GRUB_SAVEDEFAULT=true. This allows using
27375 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
27376 saving a new default on every boot.
27377
4a8a763c
VS
273782010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
27379
27380 * normal/crypto.c (read_crypto_list): Fix a memory leak.
27381 * normal/term.c (read_terminal_list): Likewise.
27382 * normal/main.c (grub_normal_init_page): Likewise.
27383 (grub_normal_read_line_real): Likewise.
27384
607ffde2
VS
273852010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
27386
27387 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
27388 memory leak.
27389 Reported by: Seth Goldberg.
27390
2b8fa975
CW
273912010-02-24 Joey Korkames <joey+lists@kidfixit.com>
27392
27393 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
27394 duplicate declaration of `start'.
27395
618307dd
VS
273962010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
27397
27398 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
27399 filename.
27400 Reported by: Georgy Buranov
27401
7dd05b96 274022010-02-20 Carles Pina i Estany <carles@pina.cat>
27403
27404 * util/grub-mkrawimage.c (usage): Change string formatting to
27405 improve gettext.
27406
d1484a42
MRA
274072010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
27408
27409 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
27410 backspace keys.
27411
42b1d186
VS
274122010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
27413
27414 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
27415 Reported by: Michael Suchanek.
27416
274172010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
27418
27419 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
27420 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
27421
d9f31a41
VS
274222010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
27423
27424 Remove any reference to non-free fonts.
27425
27426 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
27427 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
27428 uses non-free components.
27429 * font/font.c (grub_font_get_name): Remove example name.
27430 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
27431 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
27432 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
27433 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
27434
2793c71e
GB
274352010-02-16 Georgy Buranov <gburanov@gmail.com>
27436
27437 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
27438
402e3779
VS
274392010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
27440
27441 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
27442 Double divisor.
27443 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
27444 features.
27445 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
27446
0dd1e0dd
VS
274472010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
27448
27449 * gensymlist.sh.in: Use TARGET_CC instead of CC.
27450
6fa7cfce
ST
274512010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
27452
27453 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
27454 * docs/grub.texi (Command-line and menu entry commands): Document play
27455 command.
27456
37c8483b
ST
274572010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
27458
27459 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
27460 parse arguments as inline tempo and notes. Move code for playing notes
27461 to...
27462 (play): ... new function.
27463
14da0fb7
ST
274642010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
27465
27466 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
27467 grub_uint16_t instead of short.
27468 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
27469 disk from little endian to cpu endianness.
27470
04459e70
ST
274712010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
27472
27473 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
27474 GRUB_TICKS_PER_SECOND instead of 120.
27475
a0876943
VS
274762010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27477
27478 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
27479 escape sequence after \e.
27480
e29f95dc
VS
274812010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27482
27483 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
27484 non-ASCII characters.
27485
d27859b2
VS
274862010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27487
27488 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
27489 set root in single quotes to prevent \, from being unescaped.
27490
bc028f2f
VS
274912010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27492
27493 Prevent unknown commands from stopping menuentry execution.
27494
27495 * script/execute.c (grub_script_execute_cmdline): Print error after
27496 unknown command.
27497
095f5f82
VS
274982010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27499
27500 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
27501 Reported by: Pavel Pisa.
27502
8c717950
VS
275032010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27504
27505 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
27506
904935c3
VS
275072010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27508
27509 Merge grub_ieee1275_map_physical into grub_map and rename to
27510 grub_ieee1275_map
27511
27512 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
27513 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
27514 Remove.
27515 * kern/ieee1275/openfw.c (grub_map): Rename to ...
27516 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
27517 necessary.
27518 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
27519
5b59a4e3
VS
275202010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27521
27522 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
27523 opening and not after.
27524
69e137e8
VS
275252010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27526
27527 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
27528 constants.
27529
2c0fcc36
VS
275302010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27531
27532 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
27533 (alloc_phys): Use ALIGN_UP instead of align_addr.
27534
8c6052ce
VS
275352010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27536
27537 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
27538
17cec782
VS
275392010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27540
27541 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
27542
e0128bbd
VS
275432010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27544
27545 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
27546 verbose dprintf.
27547
ca62070b
VS
275482010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27549
27550 Fix over-4GiB seek on sparc64.
27551
27552 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
27553 Replace pos_i and pos_lo with pos. All users updated.
27554 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
27555 New constant.
27556 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
27557 Likewise.
27558 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
27559 and pos_lo.
27560
bdca2607
VS
275612010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27562
27563 * util/grub-mkrawimage.c (main): Call set_program_name.
27564
da278c4d
VS
275652010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27566
27567 Properly align 64-bit targets.
27568
27569 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
27570 (generate_image): Use ALIGN_ADDR.
27571
b274d734
VS
275722010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27573
27574 Properly create cross-endian images.
27575
27576 * include/grub/types.h (grub_host_to_target_addr): New macro
27577 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
27578
82da2062
VS
275792010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27580
27581 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
27582
7cae4377
VS
275832010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
27584
27585 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
27586
27587 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
27588 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
27589 (grub_linux_boot): Divide by 64K when on VESA.
27590
65a533e7
VS
275912010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
27592
27593 Support GRUB_GFXPAYLOAD_LINUX.
27594
27595 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
27596 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
27597
dd01d397
VS
275982010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
27599
27600 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
27601 to show messages instead of discarding them.
27602 Process errors after executing command and not before. Keep old method
27603 too as precaution.
27604
660960d6
VS
276052010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
27606
27607 * configure.ac: Check for ft2build.h.
27608
62509f04
VS
276092010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27610
27611 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
27612
473df63d
VS
276132010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27614
27615 * genkernsyms.sh.in: Use TARGET_CC.
27616
c98d2a13
CW
276172010-02-07 Colin Watson <cjwatson@ubuntu.com>
27618
27619 * NEWS: Update.
27620
6e14234c
VS
276212010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27622
27623 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
27624 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
27625 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 27626
b255e9cf
YB
276272010-02-07 Yves Blusseau <blusseau@zetam.org>
27628
6e14234c 27629 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 27630
98e6959d
VS
276312010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27632
27633 Fix warnings in grub-emu when compiling with maximum warning options.
27634
27635 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
27636 (grub_arch_modules_addr): Return 0 and not NULL.
27637 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 27638 (xstrdup): Use newstr instead of dup.
f88d801b
VS
27639 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
27640 of disk to dsk to avoid shadowing.
74e4934e
VS
27641 (find_free_slot): Fix prototype.
27642 * util/getroot.c (grub_util_is_dmraid): Make static.
27643 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
27644 Add missing prototype.
27645 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 27646
74e31b5c
VS
276472010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27648
27649 * loader/i386/linux.c (grub_linux_setup_video): Handle error
27650 appropriately.
27651
6b2ad14b
VS
276522010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27653
27654 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
27655 code out.
27656
8f891adc
VS
276572010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27658
27659 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
27660 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
27661 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
27662 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
27663 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
27664 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
27665
74b45184
VS
276662010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27667
27668 * include/grub/err.h (grub_err_printf): Don't export.
27669
a4bced77
VS
276702010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27671
27672 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
27673
007d0695
VS
276742010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27675
27676 * include/grub/i18n.h (grub_gettext_dummy): Removed.
27677 * kern/misc.c (grub_gettext_dummy): Make static.
27678
b6c0d9c2
VS
276792010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27680
27681 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
27682 by non-valid ones.
27683 * kern/term.c (grub_putchar): Likewise.
27684
f51a90d0
VS
276852010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27686
27687 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
27688 buggy hook call and memory leak.
27689
6846cec5
VS
276902010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27691
27692 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
27693
468d69fe
VS
276942010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27695
27696 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
27697
51906b8c
VS
276982010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27699
27700 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
27701 modevar.
27702 Return grub_errno on allocation error.
27703
09706ce5
VS
277042010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27705
27706 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
27707
911df80c
YB
277082010-02-06 Yves Blusseau <blusseau@zetam.org>
27709
27710 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
27711 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
27712
3746a6bc
VS
277132010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27714
27715 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
27716 non-pxe disk.
27717 (grub_pxefs_open): Likewise.
27718
09706ce5
VS
277192010-02-06 Robert Millan <rmh.grub@aybabtu.com>
27720
27721 * util/grub.d/10_hurd.in: Add --class information to menuentries.
27722 * util/grub.d/10_kfreebsd.in: Likewise.
27723 * util/grub.d/10_linux.in: Likewise.
27724
7cc192d9
VS
277252010-02-06 Colin D Bennett <colin@gibibit.com>
27726
27727 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
27728 (gfxmenu_mod_SOURCES): New variable.
27729 (gfxmenu_mod_CFLAGS): Likewise.
27730 (gfxmenu_mod_LDFLAGS): Likewise.
27731 * include/grub/term.h (grub_term_set_current_output): Declare
27732 argument as const.
27733 * docs/gfxmenu-theme-example.txt: New file.
27734 * gfxmenu/gfxmenu.c: Likewise.
27735 * gfxmenu/gui_box.c: Likewise.
27736 * gfxmenu/gui_canvas.c: Likewise.
27737 * gfxmenu/gui_circular_progress.c: Likewise.
27738 * gfxmenu/gui_image.c: Likewise.
27739 * gfxmenu/gui_label.c: Likewise.
27740 * gfxmenu/gui_list.c: Likewise.
27741 * gfxmenu/gui_progress_bar.c: Likewise.
27742 * gfxmenu/gui_string_util.c: Likewise.
27743 * gfxmenu/gui_util.c: Likewise.
27744 * gfxmenu/icon_manager.c: Likewise.
27745 * gfxmenu/model.c: Likewise.
27746 * gfxmenu/named_colors.c: Likewise.
27747 * gfxmenu/theme_loader.c: Likewise.
27748 * gfxmenu/view.c: Likewise.
27749 * gfxmenu/widget-box.c: Likewise.
27750 * include/grub/gfxmenu_model.h: Likewise.
27751 * include/grub/gfxmenu_view.h: Likewise.
27752 * include/grub/gfxwidgets.h: Likewise.
27753 * include/grub/gui.h: Likewise.
27754 * include/grub/gui_string_util.h: Likewise.
27755 * include/grub/icon_manager.h: Likewise.
27756
277572010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27758
27759 Agglomerate scrolling in gfxterm.
27760
27761 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
27762 (grub_virtual_screen_setup): Initialise 'total_screen'.
27763 (write_char): Split to ...
27764 (paint_char): ... this ...
27765 (write_char): ... and this.
27766 (paint_char): Handle delayed scrolling.
27767 (draw_cursor): Likewise.
27768 (scroll_up): Split to ...
27769 (real_scroll): ... this ...
27770 (scroll_up): ... and this.
27771 (real_scroll): Handle multi-line scroll and draw below-the-bottom
27772 characters.
27773 (grub_gfxterm_refresh): Call real_scroll.
27774
277752010-02-06 Colin D Bennett <colin@gibibit.com>
27776
27777 * include/grub/misc.h (grub_iscntrl): New inline function.
27778 (grub_isalnum): Likewise.
27779 (grub_strtol): Likewise.
27780
277812010-02-06 Colin D Bennett <colin@gibibit.com>
27782
27783 * normal/menu_text.c (get_entry_number): Move from here ...
27784 * normal/menu.c (get_entry_number): ... moved here.
27785 * include/grub/menu.h (grub_menu_get_default_entry_index):
27786 New prototype.
27787 * normal/menu.c (grub_menu_get_default_entry_index): New function.
27788 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
27789 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
27790 (grub_menu_viewer_should_return): Likewise.
27791 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
27792 * normal/menu_text.c (run_menu): Enable menu switching.
27793 * normal/menu_viewer.c (should_return): New variable.
27794 (menu_viewer_changed): Likewise.
27795 (grub_menu_viewer_show_menu): Handle menu viewer changes.
27796 (grub_menu_viewer_should_return): New function.
27797 (menuviewer_write_hook): Likewise.
27798 (grub_menu_viewer_init): Likewise.
27799
278002010-02-06 Colin D Bennet <colin@gibibit.com>
278012010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27802
27803 Support for gfxterm in a window.
27804
27805 * include/grub/gfxterm.h: New file.
27806 * include/grub/video.h (struct grub_video_rect): New declaration.
27807 (grub_video_rect_t): Likewise.
27808 * term/gfxterm.c (struct grub_gfxterm_window): New type.
27809 (refcount): New variable.
27810 (render_target): Likewise.
27811 (window): Likewise.
27812 (repaint_callback): Likewise.
27813 (grub_virtual_screen_setup): Use 'render_target'.
27814 (init_window): New function.
27815 (grub_gfxterm_init_window): Likewise.
27816 (grub_gfxterm_init): Check reference counter.
27817 Use init_window.
27818 (destroy_window): New function.
27819 (grub_gfxterm_destroy_window): Likewise.
27820 (grub_gfxterm_fini): Check reference counter.
27821 Use destroy_window.
27822 (redraw_screen_rect): Restore viewport.
27823 Use 'render_target' and 'window'.
27824 Call 'repaint_callback'.
27825 (write_char): Use 'render_target'.
27826 (draw_cursor): Likewise.
27827 (scroll_up): Restore viewport.
27828 Use 'render_target' and 'window'.
27829 Call 'repaint_callback'.
27830 (grub_gfxterm_cls): Likewise.
27831 (grub_gfxterm_refresh): Use 'window'.
27832 (grub_gfxterm_set_repaint_callback): New function.
27833 (grub_gfxterm_background_image_cmd): Use 'window'.
27834 (grub_gfxterm_get_term): New function.
27835 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
27836
278372010-02-06 Colin D Bennett <colin@gibibit.com>
27838
27839 Bitmap scaling support.
27840
27841 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
27842 (bitmap_scale_mod_SOURCES): New variable.
27843 (bitmap_scale_mod_CFLAGS): Likewise.
27844 (bitmap_scale_mod_LDFLAGS): Likewise.
27845 * include/grub/bitmap_scale.h: New file.
27846 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
27847 (background_image_cmd_options): New variable.
27848 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
27849 (cmd): Rename and change type to ...
27850 (background_image_cmd_handle): ... this. All users updated.
27851 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
27852 * video/bitmap_scale.c: New file.
27853
278542010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27855
27856 SDL support.
27857
27858 * Makefile.in (LIBSDL): New variable.
27859 (enable_grub_emu_sdl): Likewise.
27860 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
27861 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
27862 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
27863 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
27864 * util/sdl.c: New file.
27865
278662010-02-06 Colin D Bennett <colin@gibibit.com>
278672010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27868
27869 Double buffering support.
27870
27871 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
27872 * include/grub/video.h: Update comment.
27873 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
27874 New type.
27875 (grub_video_fb_doublebuf_blit_init): New prototype.
27876 * term/gfxterm.c (scroll_up): Support double buffering.
27877 (grub_gfxterm_refresh): Likewise.
27878 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
27879 (grub_video_fb_doublebuf_blit_init): Likewise.
27880 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
27881 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
27882 'displayed_page', 'render_page' and 'update_screen'.
27883 (grub_video_vbe_fini): Free offscreen buffer.
27884 (doublebuf_pageflipping_commit): New function.
27885 (doublebuf_pageflipping_update_screen): Likewise.
27886 (doublebuf_pageflipping_init): Likewise.
27887 (double_buffering_init): Likewise.
27888 (grub_video_vbe_setup): Enable doublebuffering.
27889 (grub_video_vbe_swap_buffers): Implement.
27890 (grub_video_vbe_set_active_render_target): Handle double buffering.
27891 (grub_video_vbe_get_active_render_target): Likewise.
27892 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
27893 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
27894 (grub_video_vbe_enable_double_buffering): Likewise.
27895 (grub_video_vbe_swap_buffers): Use update_screen.
27896 (grub_video_set_mode): Use double buffering.
27897
278982010-02-06 Robert Millan <rmh.grub@aybabtu.com>
27899
27900 * maintainance/gentrigtables.py: Remove.
27901 * lib/trig.c: Likewise.
27902
27903 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
27904
27905 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
27906 `trigtables.c'.
27907 (trigtables.c): New rule.
27908 (gentrigtables): Likewise.
27909 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
27910
279112010-02-06 Robert Millan <rmh.grub@aybabtu.com>
27912
27913 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
27914 integer constants.
27915
279162010-02-06 Colin D Bennet <colin@gibibit.com>
27917
27918 Trigonometry support.
27919
27920 * include/grub/trig.h: New file.
27921 * lib/trig.c: Likewise.
27922 * maintainance/gentrigtables.py: Likewise.
27923 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
27924 (trig_mod_SOURCES): New variable.
27925 (trig_mod_CFLAGS): Likewise.
27926 (trig_mod_LDFLAGS): Likewise.
27927
5562834e
VS
279282010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27929
27930 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
27931 disk devices.
27932
4f8528fc
VS
279332010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27934
27935 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
27936 error.
27937
2b4068e9
VS
279382010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
27939
27940 * util/hostdisk.c (open_device): Don't use partition device when reading
27941 before the partition.
27942 (grub_util_biosdisk_read): Don't read from partition and before the
27943 partition in single operation.
27944 (grub_util_biosdisk_write): Don't write to partition and before the
27945 partition in single operation.
27946
399f6e4d
TL
279472010-02-03 Torsten Landschoff <torsten@debian.org>
27948
27949 * kern/disk.c (grub_disk_read): Fix offset computation when reading
27950 last sectors.
27951
996649b0
VS
279522010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
27953
27954 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
27955 CDROM reads.
27956 (grub_biosdisk_write): Refuse to write to CDROM.
27957
3b205d4d
VS
279582010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
27959
27960 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
27961
61e89d9d
VS
279622010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
27963
27964 * font/font.c (find_glyph): Check that bmp_idx is available before
27965 using it.
27966 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
27967 with (font == NULL).
27968
bf7fcba2
CS
279692010-01-28 Christian Schmitt <chris@ilovelinux.de>
27970
27971 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
27972
f45d2663
BC
279732010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
27974
27975 * include/grub/script_sh.h (sourcecode): Add const qualifier.
27976 * util/grub-script-check.c (getline): Fix empty lines case.
27977
ec1444e6
RM
279782010-01-28 Robert Millan <rmh.grub@aybabtu.com>
27979
27980 * Makefile.in (check): Exit with fail status when one of the tests
27981 fails.
27982 * tests/example_functional_test.c (example_test): Fix reversed assert.
27983 * tests/example_unit_test.c (example_test): Likewise.
27984
2e1cb9bb
CW
279852010-01-28 Colin Watson <cjwatson@ubuntu.com>
27986
27987 * util/grub.d/10_linux.in: This script does not use any of the
27988 contents of gettext.sh, only the external command `gettext', so stop
27989 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
27990 the same prefix as GRUB.)
27991 * util/grub.d/10_kfreebsd.in: Likewise.
27992
63533ab0
VS
279932010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
27994
27995 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
27996 of the line.
27997
989e1f93
VS
279982010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
27999
28000 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28001 last sectors.
28002
e709ebe2
VS
280032010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28004
28005 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
28006 having a 4KiB and not 32KiB buffer size.
28007
27dea7ed
RM
280082010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28009
28010 * util/hostfs.c: Include `<errno.h>'.
28011 (grub_hostfs_read): Handle errors from fseeko() and fread().
28012
67667b9c
RM
280132010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28014
28015 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
28016 loop when using read hooks on files whose size isn't sector-aligned.
28017
c294d9d8
RM
280182010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28019
28020 Remove unused parameter.
28021
28022 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
28023 (grub_iso9660_open): Remove initialization of `data->length'.
28024
af75a9f1
RM
280252010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28026
28027 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
28028 memleak conditions.
28029
254e2ce5 280302010-01-27 Carles Pina i Estany <carles@pina.cat>
28031
28032 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
28033 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
28034
b510928c 280352010-01-26 Carles Pina i Estany <carles@pina.cat>
28036
28037 * util/bin2h.c (usage): Fix warning (space after backslash).
28038
aa2f9dd2 280392010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 28040
28041 * font/font.c: Include `grub/fontformat.h.
28042 Remove font file format constants.
28043 (grub_font_load): Use the new macros.
28044 * include/grub/fontformat.h: New file.
28045 * util/grub-mkfont.c: Include `grub/fontformat.c'.
28046 (write_font_pf2): Use the new macros.
28047
94e7e712
RM
280482010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28049
28050 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
28051 does.
28052
3973a59a
RM
280532010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28054
28055 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
28056
28057 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
28058 (_start): Macroify `0x7F'.
28059
28060 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
28061 (make_install_device): Use "(pxe)" as fallback prefix when booting
28062 via PXE.
28063
42e0cba3
GS
280642010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
28065
28066 * configure.ac: Reset LIBS after check for libgcc symbols.
28067
847effd8
CW
280682010-01-25 Colin Watson <cjwatson@ubuntu.com>
28069
28070 * util/hostdisk.c (open_device): Add trailing newline to debug
28071 message.
28072
ea4a7e35
GS
280732010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
28074
28075 * configure.ac: Check for `limits.h'.
28076 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
28077
67951a53
RM
280782010-01-24 Robert Millan <rmh.grub@aybabtu.com>
28079
28080 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
28081 capitalize error strings.
28082
c273d4ce
ST
280832010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
28084
28085 * util/grub.d/10_hurd.in: Add a recovery mode.
28086
69be5b74
VS
280872010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
28088
28089 * configure.ac: Check for libgcc symbols with -nostdlib.
28090
fc9e5810
BC
280912010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
28092
28093 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
28094
4b358c0a
VS
280952010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28096
28097 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
28098 stack since heap may be unavailable at that point.
28099 (grub_ofconsole_gotoxy): Likewise.
28100
454fcd1c
VS
281012010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28102
28103 * configure.ac: Check for _restgpr_14_x.
28104 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
28105 and _savegpr_* prototypes.
28106
566863ca
RM
281072010-01-22 Robert Millan <rmh.grub@aybabtu.com>
28108
28109 Use generic grub_reboot() for i386-efi.
28110
28111 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
28112 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
28113 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
28114
bf86e59a
VS
281152010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28116
28117 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
28118 presence of "prefix" variable as it breaks when normal.mod is
28119 embedded.
28120
d645e0f8
VS
281212010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28122
28123 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
28124 stack since heap is unavailable at that point.
28125
f9ab2e25
VS
281262010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28127
28128 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
28129 (grub_freebsd_bootinfo): Rewritten.
28130 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
28131
01fc7054
VS
281322010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28133
28134 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
28135
caab4fd6
RM
281362010-01-21 Robert Millan <rmh.grub@aybabtu.com>
28137
28138 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
28139 domain now.
28140
67eb1427
FZ
281412010-01-20 Felix Zielcke <fzielcke@z-51.de>
28142
28143 * util/misc.c (make_system_path_relative_to_its_root): Change the work
28144 around for handling "/" to the correct fix. Fix a memory leak. Use
28145 xstrdup instead of strdup.
28146
a9ed4ff3
VS
281472010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28148
28149 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
28150
281512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
28152
28153 Optimise glyph lookup by Basic Multilingual Plane lookup array.
28154
28155 * font/font.c (struct grub_font): New member 'bmp_idx'.
28156 (font_init): Initialise 'bmp_idx'.
28157 (load_font_index): Fill 'bmp_idx'.
28158 (find_glyph): Make inline. Use bmp_idx for BMP characters.
28159
48209f4f
VS
281602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28161
28162 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
28163 unnecessary calls.
28164
9f0a4bb7
VS
281652010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28166
28167 Move context handling out of the kernel.
28168
28169 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
28170 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
28171 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
28172 * conf/i386-efi.rmk: Likewise.
28173 * conf/i386-ieee1275.rmk: Likewise.
28174 * conf/i386-pc.rmk: Likewise.
28175 * conf/powerpc-ieee1275.rmk: Likewise.
28176 * conf/sparc64-ieee1275.rmk: Likewise.
28177 * conf/x86_64-efi.rmk: Likewise.
28178 * include/grub/env.h: Include grub/menu.h.
28179 (grub_env_var_type): Removed.
28180 (grub_env_var): Replaced field 'type' with 'global'.
28181 (grub_env_find): New prototype.
28182 (grub_env_context_open): Remove EXPORT_FUNC.
28183 (grub_env_context_close): Likewise.
28184 (grub_env_export): Likewise.
28185 (grub_env_set_data_slot): Removed.
28186 (grub_env_get_data_slot): Likewise.
28187 (grub_env_unset_data_slot): Likewise.
28188 (grub_env_unset_menu): New prototype.
28189 (grub_env_set_menu): Likewise.
28190 (grub_env_get_menu): Likewise.
28191 * include/grub/env_private.h: New file.
28192 * include/grub/normal.h (grub_context_init): New prototype.
28193 (grub_context_fini): Likewise.
28194 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
28195 * normal/context.c (grub_cmd_export): ... to here.
28196 * kern/env.c: Include env_private.h.
28197 (HASHSZ): Moved to include/grub/env_private.h.
28198 (grub_env_context): Likewise.
28199 (grub_env_sorted_var): Likewise.
28200 (current_context): Renamed from this ...
28201 (grub_current_context): ...to this. 'static' removed. All users updated.
28202 (grub_env_find): Removed 'static'.
28203 (grub_env_context_open): Moved to normal/context.c.
28204 (grub_env_context_close): Likewise.
28205 (grub_env_export): Likewise.
28206 (mangle_data_slot_name): Removed.
28207 (grub_env_set_data_slot): Likewise.
28208 (grub_env_get_data_slot): Likewise.
28209 (grub_env_unset_data_slot): Likewise.
28210 * kern/main.c (grub_set_root_dev): Don't export root.
28211 It will be done later.
28212 (grub_main): Don't export prefix.
28213 It will be done later.
28214 * normal/context.c: New file.
28215 * normal/main.c (free_menu): Use grub_env_unset_menu.
28216 (grub_normal_add_menu_entry): Use grub_env_get_menu.
28217 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
28218 (GRUB_MOD_INIT(normal)): Call grub_context_init.
28219 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
28220
8dd35b8c
VS
282212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28222
28223 setpci support.
28224
28225 * commands/setpci.c: New file.
28226 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
28227 (setpci_mod_SOURCES): New variable.
28228 (setpci_mod_CFLAGS): Likewise.
28229 (setpci_mod_LDFLAGS): Likewise.
28230
449193d5
VS
282312010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28232
28233 Byte-addressable PCI configuration space.
28234
28235 * bus/pci.c (grub_pci_make_address): Use byte address instead of
28236 dword address.
28237 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
28238 GRUB_PCI_REG_CACHELINE.
28239 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
28240 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
28241 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
28242 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
28243 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
28244 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
28245 grub_pci_make_address.
28246 (lock_rom_area): Likewise.
28247 * commands/lspci.c (grub_lspci_iter): Use macroses
28248 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
28249 of grub_pci_make_address.
28250 * disk/ata.c (grub_ata_pciinit): Likewise.
28251 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
28252 (GRUB_PCI_REG_VENDOR): Likewise.
28253 (GRUB_PCI_REG_DEVICE): Likewise.
28254 (GRUB_PCI_REG_COMMAND): Likewise.
28255 (GRUB_PCI_REG_STATUS): Likewise.
28256 (GRUB_PCI_REG_REVISION): Likewise.
28257 (GRUB_PCI_REG_CLASS): Likewise.
28258 (GRUB_PCI_REG_CACHELINE): Likewise.
28259 (GRUB_PCI_REG_LAT_TIMER): Likewise.
28260 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
28261 (GRUB_PCI_REG_BIST): Likewise.
28262 (GRUB_PCI_REG_ADDRESSES): Likewise.
28263 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28264 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28265 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28266 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28267 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28268 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28269 (GRUB_PCI_REG_CIS_POINTER): Likewise.
28270 (GRUB_PCI_REG_SUBVENDOR): Likewise.
28271 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
28272 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
28273 (GRUB_PCI_REG_CAP_POINTER): Likewise.
28274 (GRUB_PCI_REG_IRQ_LINE): Likewise.
28275 (GRUB_PCI_REG_IRQ_PIN): Likewise.
28276 (GRUB_PCI_REG_MIN_GNT): Likewise.
28277 (GRUB_PCI_REG_MAX_LAT): Likewise.
28278 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
28279 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
28280 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 28281 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
28282 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
28283 space.
28284
96d73208
RM
282852010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28286
28287 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
28288 can be reliably determined to be supported.
28289
d4484482
RM
282902010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28291
28292 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
28293 that VESA is supported.
28294 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
28295 supported.
28296
00308ecf
VS
282972010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28298
28299 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
28300
f66924a4
RM
283012010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28302
28303 * util/misc.c (make_system_path_relative_to_its_root): Work around
28304 special-casing of "/", as previous incarnation of this routine did.
28305
cbca0ada
VS
283062010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28307
28308 Fix any-emu compilation.
28309
28310 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
28311 * grub_bin2h_SOURCES: New variable.
28312
34a66d99
RM
283132010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28314
28315 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
28316
94fabf58
RM
283172010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28318
28319 * util/grub.d/00_header.in: Fix handling of locale_dir.
28320
02cf98ca
VS
283212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28322
28323 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
28324 as possible unifont location (Gentoo).
28325 Reported by: Alexander Brüning
28326
327dbcd7
VS
283272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28328
28329 Don't try to generate lists for kernel.img.
28330
28331 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
28332 (pkglib_MODULES): Remove kernel.img.
28333 (kernel_img_EXPORTS): Removed.
28334 (kernel_img_RELOCATABLE): New variable.
28335 * conf/x86_64-efi.rmk: Likewise.
28336 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
28337
ca467290
VS
283382010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28339
28340 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
28341 grub_xasprintf or grub_snprintf.
28342 (grub_vsprintf): Likewise.
28343 (grub_snprintf): New proto.
28344 (grub_vsnprintf): Likewise.
28345 (grub_xasprintf): Likewise.
28346 (grub_xvasprintf): Likewise.
28347 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
28348 (grub_sprintf): Removed.
28349 (grub_vsnprintf): New function.
28350 (grub_snprintf): Likewise.
28351 (grub_xvasprintf): Likewise.
28352 (grub_xasprintf): Likewise.
28353 (grub_vsprintf): Renamed to ...
28354 (grub_vsnprintf_real): ...this. New argument max_len.
28355
aca655fd
BC
283562010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
28357
28358 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
28359 fix grub-script-check warning.
28360
7ee92c32
VS
283612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28362
28363 * include/grub/font.h (grub_font_load): Fix prototype.
28364
f80927ca
VS
283652010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28366
28367 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
28368
119c50ea
VS
283692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28370
28371 * include/grub/x86_64/at_keyboard.h: New file.
28372
47d5f3c1
VS
283732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28374
28375 * loader/mips/linux.c: Include missing grub/i18n.h.
28376
55ff5266
RM
283772009-12-20 Robert Millan <rmh.grub@aybabtu.com>
28378
28379 * normal/menu.c (notify_execution_failure): Clarify error message.
28380
c893cc87
RM
283812009-12-20 Robert Millan <rmh.grub@aybabtu.com>
28382
28383 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
28384 return value (and revert all return statements). Update users.
28385
917dd370
CW
283862010-01-20 Dan Merillat <debian@dan.merillat.org>
28387
28388 * kern/device.c (grub_device_iterate): Allocate new part_ent
28389 structure based on sizeof (*p) rather than sizeof (p->next), to
28390 account for structure padding.
28391
28392 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
28393 disk is NULL, which might happen for LVM physical volumes with no
28394 LVM signature.
28395
d4a4ee57
RM
283962009-12-20 Robert Millan <rmh.grub@aybabtu.com>
28397
28398 * loader/mips/linux.c (grub_cmd_initrd)
28399 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
28400
284012009-12-20 Robert Millan <rmh.grub@aybabtu.com>
28402
28403 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
28404 (grub_video_video_init, grub_video_bitmap_init)
28405 (grub_font_manager_init, grub_term_gfxterm_init)
28406 (grub_at_keyboard_init): New extern declarations.
28407 (grub_machine_init): Initialize gfxterm and at_keyboard.
28408
28409 * kern/main.c (grub_main): Revert grub_printf delay kludge.
28410
28411 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
28412 `gfxterm.mod' into core image.
28413
28414 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
28415 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28416 (kernel_img_FORMAT): Copy to ...
28417
28418 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
28419 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28420 (kernel_img_FORMAT): ... here, and ...
28421
28422 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
28423 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28424 (kernel_img_FORMAT): ... here.
28425
28426 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
28427 and input (at_keyboard) terminals in kernel.
28428 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
28429
28430 (pkglib_MODULES): Remove `pci.mod'.
28431 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
28432 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
28433 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
28434 (at_keyboard_mod_LDFLAGS): Remove variables.
28435
284362010-01-11 Felix Zielcke <fzielcke@z-51.de>
28437
28438 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
28439
284402009-12-10 Robert Millan <rmh.grub@aybabtu.com>
28441
28442 * include/grub/mips/libgcc.h: Only export symbols for functions
28443 that libgcc provides.
28444
284452009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
28446
28447 MIPS support.
28448
28449 * bus/bonito.c: New file.
28450 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
28451 GRUB_PCI_NUM_DEVICES.
28452 * term/i386/pc/serial.c: Move to ...
28453 * term/serial.c: ... here. All users updated.
28454 * util/i386/pc/grub-mkimage.c: Move to ...
28455 * util/grub-mkrawimage.c: ... here. All users updated.
28456 * term/i386/pc/at_keyboard.c: Move to ...
28457 * term/at_keyboard.c: ... here. All users updated.
28458 * conf/mips-qemu-mips.rmk: New file.
28459 * conf/mips-yeeloong.rmk: Likewise.
28460 * conf/mips.rmk: Likewise.
28461 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
28462 mipsel-qemu-mips.
28463 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
28464 to port addresses.
28465 (grub_ata_pciinit): Support CS5536.
28466 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
28467 * font/font_cmd.c (loadfont_command): Open file before passing it to
28468 grub_font_load.
28469 (pseudo_file_read): New function.
28470 (pseudo_file_close): Likewise.
28471 (pseudo_fs): New structure.
28472 (load_font_module): New function.
28473 (GRUB_MOD_INIT(font_manager)): Load embedded font.
28474 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
28475 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
28476 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
28477 * include/grub/i386/at_keyboard.h: Split into ...
28478 * include/grub/at_keyboard.h: ... this ...
28479 * include/grub/i386/at_keyboard.h: ... and this.
28480 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
28481 New prototype.
28482 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
28483 updated.
28484 (grub_elf64_size): Likewise.
28485 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
28486 filename.
28487 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
28488 * include/grub/i386/coreboot/serial.h: Rewritten.
28489 * include/grub/i386/ieee1275/serial.h: Include
28490 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
28491 * include/grub/i386/pc/serial.h: Moved from here ...
28492 * include/grub/serial.h: ... to here. All users updated.
28493 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
28494 (GRUB_PCI_NUM_BUS): Likewise.
28495 (GRUB_PCI_NUM_DEVICES): Likewise.
28496 (grub_pci_device_map_range): Add missing volatile keyword.
28497 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
28498 * include/grub/mips/at_keyboard.h: New file.
28499 * include/grub/mips/cache.h: Likewise.
28500 * include/grub/mips/io.h: Likewise.
28501 * include/grub/mips/kernel.h: Likewise.
28502 * include/grub/mips/libgcc.h: Likewise.
28503 * include/grub/mips/pci.h: Likewise.
28504 * include/grub/mips/qemu-mips/boot.h: Likewise.
28505 * include/grub/mips/qemu-mips/kernel.h: Likewise.
28506 * include/grub/mips/qemu-mips/loader.h: Likewise.
28507 * include/grub/mips/qemu-mips/memory.h: Likewise.
28508 * include/grub/mips/qemu-mips/serial.h: Likewise.
28509 * include/grub/mips/qemu-mips/time.h: Likewise.
28510 * include/grub/mips/relocator.h: Likewise.
28511 * include/grub/mips/time.h: Likewise.
28512 * include/grub/mips/types.h: Likewise.
28513 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
28514 * include/grub/mips/yeeloong/boot.h: Likewise.
28515 * include/grub/mips/yeeloong/kernel.h: Likewise.
28516 * include/grub/mips/yeeloong/loader.h: Likewise.
28517 * include/grub/mips/yeeloong/memory.h: Likewise.
28518 * include/grub/mips/yeeloong/pci.h: Likewise.
28519 * include/grub/mips/yeeloong/serial.h: Likewise.
28520 * include/grub/mips/yeeloong/time.h: Likewise.
28521 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
28522 * kern/elf.c (grub_elf32_size): New parameter. All users
28523 updated.
28524 (grub_elf64_size): Likewise.
28525 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
28526 Load modules before saying "Welcome to GRUB!".
28527 Call grub_refresh after saying "Welcome to GRUB!".
28528 * kern/mips/cache.S: New file.
28529 * kern/mips/cache_flush.S: Likewise.
28530 * kern/mips/dl.c: Likewise.
28531 * kern/mips/init.c: Likewise.
28532 * kern/mips/qemu-mips/init.c: Likewise.
28533 * kern/mips/startup.S: Likewise.
28534 * kern/mips/yeeloong/init.c: Likewise.
28535 * kern/term.c (grub_putcode): Handle NULL terminal.
28536 (grub_getcharwidth): Likewise.
28537 (grub_getkey): Likewise.
28538 (grub_checkkey): Likewise.
28539 (grub_getkeystatus): Likewise.
28540 (grub_getxy): Likewise.
28541 (grub_getwh): Likewise.
28542 (grub_gotoxy): Likewise.
28543 (grub_cls): Likewise.
28544 (grub_setcolorstate): Likewise.
28545 (grub_setcolor): Likewise.
28546 (grub_getcolor): Likewise.
28547 (grub_refresh): Likewise.
28548 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
28549 (write_jump): Add hatch nop.
28550 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
28551 * lib/mips/setjmp.S: New file.
28552 * loader/mips/linux.c: Likewise.
28553 * term/i386/pc/at_keyboard.c: Move from here ...
28554 * term/at_keyboard.c: ... to here.
28555 * term/i386/pc/serial.c: Moved from here ...
28556 * term/serial.c: ... to here. All users updated.
28557 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
28558 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
28559 (serial_translate_key_sequence): Avoid deadlock.
28560 (grub_serial_getkey): Handle backspace.
28561 (grub_serial_putchar): Fix newline handling.
28562 * util/i386/pc/grub-mkimage.c: Move from here ...
28563 * util/grub-mkrawimage.c: ... to here. All users updated.
28564 (generate_image): New parameters 'font_path' and 'format'.
28565 Support embedding font.
28566 Use grub_host_to_target* instead of grub_cpu_to_le*.
28567 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
28568 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
28569 (options): New option "--font".
28570 (usage): Likewise.
28571 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
28572 (main): Handle "--font".
28573 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
28574 (grub_virtual_screen_setup): Set bg_color_display.
28575 (redraw_screen_rect): Use bg_color_display instead of incorrect
28576 bg_color.
28577 (grub_gfxterm_cls): Likewise.
28578 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
28579 Support embedding config file.
28580 (add_segments): Likewise.
28581 (options): New option "--config".
28582 (main): Handle "--config".
28583 * video/sm712.c: New file.
28584
25c2b5b3
RM
285852010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28586
28587 Fix parallel builds.
28588
28589 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
28590 font.c depend on ascii.h).
28591
285922010-01-12 Carles Pina i Estany <carles@pina.cat>
28593
28594 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
28595
285962010-01-11 Carles Pina i Estany <carles@pina.cat>
28597
28598 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
28599 By default: disabled.
28600 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
28601 parameter.
28602
286032010-01-10 Carles Pina i Estany <carles@pina.cat>
28604
28605 * font/font.c: Update copyright years.
28606 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
28607
286082010-01-10 Carles Pina i Estany <carles@pina.cat>
28609
28610 * font/font.c: Include `ascii.h'.
28611 (ASCII_BITMAP_SIZE): New macro.
28612 (ascii_font_glyph): Define.
28613 (ascii_glyph_lookup): New function.
28614 (grub_font_get_string_width): Change comment. If glyph not found, use
28615 ascii_glyph_lookup.
28616 (grub_font_get_glyph_with_fallback): If glyph not available returns
28617 ascii_glyph_lookup.
28618 * util/grub-mkfont.c (file_formats): New enum.
28619 (options): Add `ascii-bitmaps' new option.
28620 (usage): Add `asii-bitmaps' new option.
28621 (write_font_ascii_bitmap): New function.
28622 (write_font): Rename to ...
28623 (write_font_p2): ... this. Remove print_glyphs call.
28624 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
28625 used. Call print_glyphs.
28626 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
28627
286282010-01-14 Robert Millan <rmh.grub@aybabtu.com>
28629
28630 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
28631 (grub_bin2h_SOURCES): New variable.
28632 * util/bin2h.c: New file.
28633
915fc1b8
VS
286342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28635
28636 * include/multiboot.h: Resynced with spec.
28637 * include/multiboot2.h: Likewise.
28638 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
28639 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
28640
9444b678
RM
286412010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28642
28643 * include/grub/term.h (grub_term_register_input,
28644 grub_term_register_output): Check return of terminal init()
28645 routines, and abort if errors are raised.
28646
28647 * commands/terminal.c: Update copyright year.
28648
cba98e8d
RM
286492010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28650
28651 * commands/terminal.c (grub_cmd_terminal_input)
28652 (grub_cmd_terminal_output): Check return of terminal init()
28653 routines, and abort if errors are raised.
28654
6f7db5d6
VS
286552010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
28656
28657 * include/grub/i386/bsd.h: Fix include pathes.
28658
262bff8d
VS
286592010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
28660
28661 Add missing *BSD copyright headers.
28662
28663 * include/grub/aout.h: Add BSD licence.
28664 * include/grub/i386/bsd.h: Parts under different licences moved to ...
28665 * include/grub/i386/freebsd_linker.h: ... here,
28666 * include/grub/i386/freebsd_reboot.h: ... here,
28667 * include/grub/i386/netbsd_bootinfo.h: ... here,
28668 * include/grub/i386/netbsd_reboot.h: ... here,
28669 * include/grub/i386/openbsd_bootarg.h: ... here,
28670 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
28671 licence to each file.
28672
b2cab848
RM
286732010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28674
28675 * acinclude.m4: Remove `nop' assembly instruction; it's not
28676 implemented by all architectures.
28677
2cb6be4b
RM
286782010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28679
28680 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
28681 ELILO. This is no longer necessary.
28682
a2eaee15
BC
286832010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
28684
28685 Added new tool, grub-scrit-check to verify grub.cfg syntax.
28686
28687 * util/grub-script-check.c: grub-script-check tool.
28688 * conf/common.rmk: Make rules for grub-script-check.
28689
88d17012
RM
286902010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28691
28692 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
28693 spotting it back in 2008. Shame on me for forgetting he did.
28694
28695 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
28696
8040619d
RM
286972010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28698
28699 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
28700 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
28701 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
28702 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
28703 (GRUB_VIDEO_TYPE_EFI): Rename to ...
28704 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
28705
a0c2a0f6
RM
287062010-01-17 Robert Millan <rmh.grub@aybabtu.com>
28707
28708 * include/grub/test.h: Add license header.
28709 * tests/example_functional_test.c: Likewise.
28710 * tests/example_unit_test.c: Likewise.
28711 * tests/lib/functional_test.c: Likewise.
28712 * tests/lib/test.c: Likewise.
28713 * tests/lib/unit_test.c: Likewise.
28714
b0b13907
VS
287152010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
28716
28717 Use flag-based instead of hook-based video mode selection and "auto"
28718 keyword.
28719
28720 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
28721 (grub_video_set_mode): Changed prototype. All users updated.
28722 (grub_video_check_mode_flag): New inline function.
28723 * video/video.c (parse_modespec): New function.
28724 (grub_video_set_mode): Parse flags and keywords.
28725
ea379330 287262010-01-17 Carles Pina i Estany <carles@pina.cat>
28727
28728 * util/misc.c (grub_util_info): Fix the order of the parameters in a
28729 fprintf call.
28730
e15c215e
FZ
287312010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
28732
28733 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
28734
409ae1c9 287352010-01-16 Carles Pina i Estany <carles@pina.cat>
28736
28737 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
28738 string.
28739 * util/grub-emu.c (usage): Likewise.
28740 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
28741 * util/i386/efi/grub-mkimage.c (usage): Likewise.
28742 * util/i386/pc/grub-mkimage.c (usage): Likewise.
28743 * util/i386/pc/grub-setup.c (usage): Likewise.
28744
70a14d3d 287452010-01-16 Carles Pina i Estany <carles@pina.cat>
28746
28747 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
28748 the message.
28749 (grub_util_info): Likewise.
28750 (grub_util_error): Likewise.
28751 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
28752 and/or new lines in `grub_util_warna', `grub_util_info',
28753 `grub_util_error' calls.
28754 * util/getroot.c: Likewise.
28755 * util/grub-editenv.c: Likewise.
28756 * util/grub-emu.c: Likewise.
28757 * util/grub-fstest.c: Likewise.
28758 * util/grub-mkdevicemap.c: Likewise.
28759 * util/grub-mkfont.c: Likewise.
28760 * util/grub-mkpasswd-pbkdf2.c: Likewise.
28761 * util/grub-mkrelpath.c: Likewise.
28762 * util/grub-pe2elf.c: Likewise.
28763 * util/grub-probe.c: Likewise.
28764 * util/hostdisk.c: Likewise.
28765 * util/i386/efi/grub-mkimage.c: Likewise.
28766 * util/i386/pc/grub-mkimage.c: Likewise.
28767 * util/i386/pc/grub-setup.c: Likewise.
28768 * util/ieee1275/ofpath.c: Likewise.
28769 * util/mkisofs/eltorito.c: Likewise.
28770 * util/mkisofs/rock.c: Likewise.
28771 * util/mkisofs/write.c: Likewise.
28772 * util/raid.c: Likewise.
28773 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
28774 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28775
a0b766fc
VS
287762010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
28777
28778 Enable multiboot on non-pc.
28779
28780 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
28781 multiboot.mod and multiboot2.mod to ...
28782 * conf/i386.rmk (pkglib_MODULES): ... here.
28783 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
28784 Moved to ...
28785 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
28786 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
28787 Moved to ...
28788 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
28789 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
28790 Moved to ...
28791 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
28792 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
28793 Moved to ...
28794 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
28795 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
28796 relocator.mod.
28797 (ata_mod_SOURCES): Removed.
28798 (ata_mod_CFLAGS): Likewise.
28799 (ata_mod_LDFLAGS): Likewise.
28800 (relocator_mod_SOURCES): Removed.
28801 (relocator_mod_CFLAGS): Likewise.
28802 (relocator_mod_ASFLAGS): Likewise.
28803 (relocator_mod_LDFLAGS): Likewise.
28804 Include i386.mk.
28805 * include/grub/x86_64/multiboot.h: New file.
28806 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
28807 Terminate EFI.
28808
884ade56
VS
288092010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
28810
28811 Video multiboot support.
28812
28813 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
28814 New prototype.
28815 * include/multiboot.h: Resynced with multiboot specification.
28816 * include/multiboot2.h: Likewise.
28817 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
28818 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
28819 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
28820 (HAS_VGA_TEXT): Likewise.
28821 (accepts_video): New variable.
28822 (grub_multiboot_set_accepts_video): New function.
28823 (grub_multiboot_get_mbi_size): Account for video structures.
28824 (set_video_mode): New function.
28825 (retrieve_video_parameters): Likewise.
28826 (grub_multiboot_make_mbi): Fill video fields.
28827
0d90e8a6
VS
288282010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
28829
28830 Video driver ids.
28831
28832 * include/grub/video.h (grub_video_driver_id): New type.
28833 (grub_video_adapter): New member 'id'. All users updated.
28834 (grub_video_get_driver_id): New proto.
28835 * video/video.c (grub_video_get_driver_id): New function.
28836
5c71db1b 288372010-01-14 Carles Pina i Estany <carles@pina.cat>
28838
28839 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
28840 `var=val'.
28841
cca15b52 288422010-01-14 Carles Pina i Estany <carles@pina.cat>
28843
28844 * normal/cmdline.c (print_completion): Gettextizze.
28845
c586fbb2 288462001-01-14 Carles Pina i Estany <carles@pina.cat>
28847
28848 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
28849
ba2f6848 288502010-01-14 Carles Pina i Estany <carles@pina.cat>
28851
28852 * gettext/gettext.c (grub_gettext_translate): Push and pop
28853 grub_errno.
28854 (grub_gettext_delete_list): Change comment style.
28855 * kern/err.c (grub_error): Gettextizze.
28856 (grub_fatal): Gettextizze.
28857
0a46429a
RM
288582010-01-14 Robert Millan <rmh.grub@aybabtu.com>
28859
28860 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
28861 (grub_linux16_real_boot): ... this.
28862 * kern/i386/loader.S: Likewise.
28863 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
28864 (grub_linux16_boot): New function. Switches to text mode and calls
28865 grub_linux16_real_boot().
28866
28867 * loader/i386/bsd.c: Include `<grub/video.h>'.
28868 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
28869 text mode before calling grub_unix_real_boot().
28870
28871 * loader/i386/multiboot.c: Include `<grub/video.h>'.
28872 (grub_multiboot_boot): Switch to text mode before calling
28873 grub_relocator32_boot().
28874
28875 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
28876 (grub_chainloader_boot): Switch to text mode before calling
28877 grub_chainloader_real_boot().
28878
d6f93a66
RM
288792010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
288802010-01-05 Colin Watson <cjwatson@ubuntu.com>
28881
28882 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
28883 non-empty value.
28884
288852010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
288862010-01-05 Colin Watson <cjwatson@ubuntu.com>
28887
28888 * util/grub.d/00_header.in: Define a "savedefault" function for use
28889 in menu entries.
28890 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
28891
288922010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
288932010-01-05 Colin Watson <cjwatson@ubuntu.com>
28894
28895 * util/grub-mkconfig_lib.in (save_default_entry): Only set
28896 saved_entry if boot_once is unset.
28897 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
28898 previous saved entry (i.e. grub-reboot).
28899
289002009-12-08 Colin Watson <cjwatson@ubuntu.com>
28901
28902 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
28903
289042009-12-08 Colin Watson <cjwatson@ubuntu.com>
28905
28906 * util/grub.d/00_header.in: Use `set var=val' rather than plain
28907 `var=val'.
28908 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
28909
289102009-12-08 Colin Watson <cjwatson@ubuntu.com>
28911
28912 * util/grub-reboot.in: Fix --version output.
28913 * util/grub-set-default.in: Likewise.
28914
289152009-12-08 Colin Watson <cjwatson@ubuntu.com>
28916
28917 * util/grub.d/00_header.in: Silently ignore zero-sized environment
28918 blocks.
28919
289202009-12-08 Colin Watson <cjwatson@ubuntu.com>
28921
28922 * util/grub.d/00_header.in: Quote the value assigned to `default',
28923 in case it contains spaces.
28924
289252009-12-08 Colin Watson <cjwatson@ubuntu.com>
28926
28927 * util/grub.d/30_os-prober.in: Fix merge error that moved a
28928 `save_default_entry' call from the macosx case to the linux case.
28929
289302009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
289312009-10-25 Colin Watson <cjwatson@ubuntu.com>
28932
28933 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
28934 in `chosen' environment variable.
28935 * normal/menu_text.c (get_entry_number): Check if the variable
28936 matches the title of a menu entry.
28937 (run_menu): Pass menu to get_entry_number.
28938
28939 * util/grub-reboot.in: New file.
28940 * util/grub-set-default.in: New file.
28941 * conf/common.rmk (grub-reboot): New utility.
28942 (grub-set-default): New utility.
28943
28944 * util/grub-mkconfig_lib.in (save_default_entry): New function.
28945 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
28946 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
28947 move it to `saved_entry' for the next boot. Load environment on
28948 initialisation.
28949 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
28950 * util/grub.d/10_hurd.in: Likewise.
28951 * util/grub.d/10_linux.in (linux_entry): Likewise.
28952 * util/grub.d/10_windows.in: Likewise.
28953 * util/grub.d/30_os-prober.in: Likewise.
28954
28955 * util/grub-install.in: Create environment block.
28956 * util/i386/efi/grub-install.in: Likewise.
28957 * util/ieee1275/grub-install.in: Likewise.
28958 * util/sparc64/ieee1275/grub-install.in: Likewise.
28959
0934d184
BC
289602010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
28961
28962 Unit testing framework for GRUB.
28963
28964 * Makefile.in: Test framework build rules for 'make check'.
28965 * conf/tests.rmk: Build rules for individual tests and framework.
28966
28967 * include/grub/test.h: Header file for whitebox tests.
28968 * tests/lib/functional_test.c: Framework support for whitebox
28969 functional tests.
28970 * tests/lib/test.c: Common whitebox testing code for unit and
28971 functional tests.
28972 * tests/lib/unit_test.c: Framework support for whitebox unit
28973 tests.
28974
28975 * tests/util/grub-shell-tester.in: Support utility for grub-script
28976 tests.
28977 * tests/util/grub-shell.in: Utility to execute grub-script
28978 commands in a Qemu instance.
28979
28980 * tests/example_functional_test.c: Example whitebox functional
28981 test.
28982 * tests/example_grub_script_test.in: Example grub-script test.
28983 * tests/example_scripted_test.in: Example scripted test.
28984 * tests/example_unit_test.c: Example whitebox unit test.
28985
9c4ffeeb
VS
289862010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
28987
28988 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
28989 Add loader/i386/multiboot_mbi.c.
28990 (multiboot2_mod_SOURCES): Likewise.
28991 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
28992 (multiboot2_mod_SOURCES): Likewise.
28993 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
28994 (grub_multiboot_make_mbi): Likewise.
28995 (grub_multiboot_free_mbi): Likewise.
28996 (grub_multiboot_init_mbi): Likewise.
28997 (grub_multiboot_add_module): Likewise.
28998 (grub_multiboot_set_bootdev): Likewise.
28999 * loader/i386/multiboot.c (mbi): Removed.
29000 (mbi_dest): Likewise.
29001 (alloc_mbi): New variable.
29002 (grub_multiboot_payload_size): Removed. All users updated.
29003 (grub_multiboot_pure_size): New variable.
29004 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
29005 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
29006 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
29007 (grub_fill_multiboot_mmap): Likewise.
29008 (grub_multiboot_get_bootdev): Likewise.
29009 (grub_multiboot): Use multiboot_mbi functions.
29010 * loader/i386/multiboot_mbi.c: New file.
29011
17383dfe
VS
290122010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29013
29014 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
29015 it would result in module crash.
29016
c1f28820
VS
290172010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29018
29019 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
29020 (grub_ofconsole_getwh): Split to ...
29021 (grub_ofconsole_getwh): ... this.
29022 (grub_ofconsole_dimensions): ...and this.
29023 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
29024
58655a16
RM
290252010-01-13 Robert Millan <rmh.grub@aybabtu.com>
29026
29027 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
29028
10891398
VS
290292010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29030
29031 * loader/i386/pc/multiboot2.c: Removed stalled file.
29032
0b8a223c
VS
290332010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29034
29035 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
29036 Reported by: Grégoire Sutre
29037
92ab12b0
RM
290382010-01-11 Robert Millan <rmh.grub@aybabtu.com>
29039
29040 * util/misc.c (canonicalize_file_name): New function.
29041 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
29042 instead of realpath().
29043
a788afb6
CW
290442010-01-11 Colin Watson <cjwatson@ubuntu.com>
29045
29046 * util/grub-install.in (usage): Clarify meaning of --root-directory,
29047 and make it clearer that it's optional. Based on confusion
29048 witnessed on IRC.
29049
ffa8e3d2
VS
290502010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29051
29052 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
29053 in premature implicit newline.
29054
e9060a9d
VS
290552010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29056
29057 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
29058 which resulted in garbled command line at the end of screen.
29059
f0d0c0b7
RM
290602010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29061
29062 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
29063 initialization with similar approach as with other Linux loaders.
29064
0e60bae7
RM
290652010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29066
29067 Fix i386-ieee1275 build.
29068
29069 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
29070 and grub_term_height() for video_{width,height} initialization.
29071
290722010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
29073
29074 Fix grub-emu build.
29075
29076 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
29077
cdb3f378
RM
290782010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
290792010-01-09 Robert Millan <rmh.grub@aybabtu.com>
29080
29081 Support for multiple terminals.
29082
29083 * Makefile.in (pkglib_DATA): terminal.lst.
29084 (terminal.lst): New target.
29085 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
29086 (GRUB_MOD_INIT(handler)): Likewise.
29087 (GRUB_MOD_FINI(handler)): Likewise.
29088 * commands/help.c (grub_cmd_help): Handle multiple terminals.
29089 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
29090 * commands/sleep.c (do_print): Use grub_term_restore_pos.
29091 (grub_cmd_sleep): Use grub_term_save_pos.
29092 * commands/terminal.c: New file.
29093 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
29094 commands/terminal.c and lib/charset.c.
29095 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
29096 (pkglib_MODULES): Add terminal.mod.
29097 (terminal_mod_SOURCES): New variable.
29098 (terminal_mod_CFLAGS): Likewise.
29099 (terminal_mod_LDFLAGS): Likewise.
29100 * genhandlerlist.sh: Don't handle terminals.
29101 * genmk.rb: Generate terminal-*.lst.
29102 * genterminallist.sh: New file.
29103 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
29104 (grub_is_valid_utf8): Likewise.
29105 (grub_utf8_to_ucs4_alloc): Likewise.
29106 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
29107 (grub_menu_register_viewer): Changed argument.
29108 (grub_menu_try_text): New proto.
29109 (grub_gfxmenu_try_hook): New declaration.
29110 * include/grub/normal.h (grub_normal_exit_level): New declaration.
29111 (grub_menu_init_page): Additional argument term.
29112 (grub_normal_init_page): Likewise.
29113 (grub_cmdline_get): Arguments simplified.
29114 (grub_utf8_to_ucs4_alloc): Removed.
29115 (grub_print_ucs4): Additional argument term.
29116 (grub_getstringwidth): Likewise.
29117 (grub_print_message_indented): Likewise.
29118 (grub_menu_text_register_instances): New proto.
29119 (grub_show_menu): Likewise.
29120 (read_terminal_list): Likewise.
29121 (grub_set_more): Likewise.
29122 * include/grub/parser.h: Include handler.h.
29123 * include/grub/reader.h: Rewritten.
29124 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
29125 (GRUB_TERM_WIDTH): Changed to function.
29126 (GRUB_TERM_HEIGHT): Likewise.
29127 (GRUB_TERM_BORDER_WIDTH): Likewise.
29128 (GRUB_TERM_BORDER_HEIGHT): Likewise.
29129 (GRUB_TERM_NUM_ENTRIES): Likewise.
29130 (GRUB_TERM_ENTRY_WIDTH): Likewise.
29131 (GRUB_TERM_CURSOR_X): Likewise.
29132 (grub_term_input_class): Likewise.
29133 (grub_term_output_class): Likewise.
29134 (grub_term_outputs_disabled): New declaration.
29135 (grub_term_inputs_disabled): Likewise.
29136 (grub_term_outputs): Likewise.
29137 (grub_term_inputs): Likewise.
29138 (grub_term_register_input): Rewritten.
29139 (grub_term_register_output): Likewise.
29140 (grub_term_unregister_input): Likewise.
29141 (grub_term_unregister_output): Likewise.
29142 (FOR_ACTIVE_TERM_INPUTS): New macro.
29143 (FOR_DISABLED_TERM_INPUTS): Likewise.
29144 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
29145 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
29146 * include/grub/terminfo.h: Add oterm argument to all protypes.
29147 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
29148 Use grub_rescue_run.
29149 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
29150 All users updated.
29151 * kern/reader.c: Removed. All users updated.
29152 * kern/rescue_reader.c (grub_rescue_init): Removed.
29153 (grub_rescue_reader): Likewise.
29154 (grub_register_rescue_reader): Likewise.
29155 (grub_rescue_run): New function based on kern/reader.c.
29156 * kern/term.c: Adapted for multiterm.
29157 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
29158 (grub_is_valid_utf8): Likewise.
29159 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
29160 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
29161 right terminal.
29162 * loader/i386/linux.c (grub_linux_boot): Likewise.
29163 * normal/auth.c (grub_username_get): New function.
29164 (grub_auth_check_authentication): Use grub_username_get.
29165 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
29166 * normal/color.c: Adapt for multiterm.
29167 * normal/main.c (read_config_file): Don't use grub_reader_loop.
29168 (grub_normal_init_page): Additional argument term.
29169 (read_lists): Call read_terminal_lists.
29170 (grub_enter_normal_mode): Call grub_cmdline_run.
29171 Handle grub_normal_exit_level.
29172 (grub_cmd_normal): Make reentrant.
29173 (grub_cmd_normal_exit): New function.
29174 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
29175 * normal/menu.c: Adapt for multiterm.
29176 * normal/menu_entry.c: Likewise.
29177 * normal/menu_text.c: Likewise.
29178 * normal/menu_viewer.c: Removed. All users updated.
29179 * normal/term.c: New file.
29180 * util/console.c: Change order of includes to workaround a bug in
29181 ncurses headers.
29182 * term/terminfo.c: New argument oterm on all exported functions.
29183 All users updated.
29184 * util/grub-editenv.c (grub_term_input_class): Removed.
29185 (grub_term_output_class): Likewise.
29186
1a064917
RM
291872010-01-09 Robert Millan <rmh.grub@aybabtu.com>
29188
29189 Make loader output a bit more user-friendly.
29190
29191 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
29192 is being loaded. Likewise for the Hurd.
29193
29194 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
29195 that kernel of FreeBSD ${version} is being loaded.
29196
29197 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
29198 grub_dprintf().
29199 (grub_cmd_initrd): Likewise.
29200 * util/grub.d/10_linux.in (linux_entry): Print message indicating
29201 that Linux ${version} is being loaded. Likewise for initrd.
29202
5ce0a83a 292032010-01-09 Carles Pina i Estany <carles@pina.cat>
29204
29205 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
29206
809bbfeb 292072010-01-08 Carles Pina i Estany <carles@pina.cat>
29208
29209 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
29210 (GRUB_MOD_INIT): Gettextizze.
29211 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
29212 (GRUB_MOD_INIT): Gettextizze.
29213 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
29214 (grub_cmd_linux): Capitalise Linux.
29215 (GRUB_MOD_INIT): Gettextizze.
29216 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
29217 (grub_cmd_linux): Capitalise Linux.
29218 (GRUB_MOD_INIT): Gettextizze.
29219 * loader/i386/linux.c: Include `<grub/i18n.h>'.
29220 (grub_cmd_linux): Capitalise Linux.
29221 (GRUB_MOD_INIT): Gettextizze.
29222 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
29223 (GRUB_MOD_INIT): Gettextizze.
29224 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
29225 (grub_cmd_linux): Capitalise Linux.
29226 (GRUB_MOD_INIT): Gettextizze.
29227 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
29228 (grub_cpu_xnu_init): Gettextizze.
29229 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
29230 (GRUB_MOD_INIT): Gettextizze.
29231 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
29232 (GRUB_MOD_INIT): Gettextizze.
29233 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
29234 (grub_linux_load64): Capitalise Linux.
29235 (GRUB_MOD_INIT): Gettextizze.
29236 * loader/xnu.c: Include `<grub/i18n.h>'.
29237 (GRUB_MOD_INIT): Gettextizze.
29238 * po/POTFILES: Add `loader/efi/appleloader.c',
29239 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
29240 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
29241 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
29242 `loader/i386/xnu.c', `loader/multiboot_loader.c',
29243 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
29244 and `loader/xnu.c'.
29245
b394b2ca
RM
292462010-01-08 Robert Millan <rmh.grub@aybabtu.com>
29247
29248 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
29249
292502010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
29251
29252 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
29253 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
29254 * util/mkisofs/mkisofs.c (main): Readjust --version output.
29255
bc8b32b3
RM
292562010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29257
29258 Reset Multiboot 2 support. New loader implements the draft in
29259 /branches/multiboot2 and shares as much code as possible with the
29260 production Multiboot 1 implementation.
29261
29262 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
29263 * loader/multiboot2.c: Likewise.
29264 * loader/i386/multiboot_helper.S: Likewise.
29265 * include/multiboot2.h: Replace with latest version from the draft
29266 in /branches/multiboot2.
29267
29268 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
29269 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
29270 and `loader/multiboot2.c'.
29271 (pkglib_MODULES): Add `multiboot2.mod'.
29272 (multiboot2_mod_SOURCES): New variable.
29273 (multiboot2_mod_LDFLAGS): Likewise.
29274 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
29275
29276 * conf/i386-pc.rmk: Likewise.
29277
29278 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
29279 (multiboot_mod_SOURCES): Remove variable.
29280 (multiboot_mod_LDFLAGS): Likewise.
29281 (multiboot_mod_CFLAGS): Likewise.
29282
29283 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
29284 `<multiboot2.h>' instead of `<multiboot.h>'.
29285 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
29286 (MULTIBOOT_HEADER_MAGIC): New macros.
29287
29288 * loader/multiboot_loader.c (module_version_status): Remove variable.
29289 (find_multi_boot2_header): Remove function.
29290 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
29291 logic. Always check for the Multiboot version we're compiling for.
29292 (grub_cmd_module_loader): Likewise.
29293 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
29294 command instead of `multiboot'.
29295
5d2c52b8
RM
292962010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29297
29298 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
29299 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
29300 all users.
29301
53108d92
RM
293022010-01-07 Robert Millan <rmh.grub@aybabtu.com>
293032010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
29304
29305 Fix breakage introduced with previous commit.
29306
29307 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
29308 commands.
29309 * normal/handler.c (read_handler_list): Revert part of previous commit
29310 affecting this file.
29311 * normal/main.c (read_lists): Move read_handler_list() call back to ...
29312 (grub_normal_execute): ... here.
29313
e2e936b2
RM
293142010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29315
29316 Merge prefix-redefinition-fix branch.
29317
29318 * normal/autofs.c (read_fs_list): Make function capable of being
29319 run multiple times, gracefuly replacing the previous data
29320 structures.
29321 * normal/dyncmd.c (read_command_list): Likewise.
29322 * normal/handler.c (read_handler_list): Likewise.
29323 * normal/main.c (read_lists): New function. Calls all the
29324 list reading functions.
29325 (grub_normal_execute): Use read_lists() instead of calling all
29326 list reading functions explicitly. Register read_lists() as a
29327 variable hook attached to ${prefix}.
29328
607a3701
VS
293292010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
29330
29331 Merge crypto branch.
29332
29333 * Makefile.in (pkglib_DATA): Add crypto.lst.
29334 (crypto.lst): New target.
29335 * commands/hashsum.c: New file.
29336 * commands/password.c (check_password): Use grub_crypto_memcmp.
29337 * commands/password_pbkdf2.c: New file.
29338 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
29339 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
29340 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
29341 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
29342 -I$(srcdir)/lib/libgcrypt_wrap.
29343 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
29344 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
29345 password_pbkdf2.mod.
29346 (crypto_mod_SOURCES): New variable.
29347 (crypto_mod_CFLAGS): Likewise.
29348 (crypto_mod_LDFLAGS): Likewise.
29349 (hashsum_mod_SOURCES): New variable.
29350 (hashsum_mod_CFLAGS): Likewise.
29351 (hashsum_mod_LDFLAGS): Likewise.
29352 (pbkdf2_mod_SOURCES): New variable.
29353 (pbkdf2_mod_CFLAGS): Likewise.
29354 (pbkdf2_mod_LDFLAGS): Likewise.
29355 (password_pbkdf2_mod_SOURCES): New variable.
29356 (password_pbkdf2_mod_CFLAGS): Likewise.
29357 (password_pbkdf2_mod_LDFLAGS): Likewise.
29358 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
29359 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
29360 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
29361 Include conf/gcry.rmk.
29362 * include/grub/auth.h: Rewritten.
29363 * include/grub/crypto.h: New file.
29364 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
29365 * include/grub/normal.h (read_crypto_list): New prototype.
29366 * lib/crypto.c: New file.
29367 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
29368 * lib/pbkdf2.c: Likewise.
29369 * normal/auth.c (grub_auth_strcmp): Removed.
29370 (grub_iswordseparator): Likewise.
29371 (grub_auth_strword): Likewise.
29372 (is_authenticated): Use grub_strword.
29373 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
29374 and grub_strword. Pass entered password to authentication callback.
29375 * normal/crypto.c: New file.
29376 * normal/main.c: Call read_crypto_list.
29377 * util/grub-mkpasswd-pbkdf2.c: New file.
29378 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
29379
42841caa
VS
293802010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
29381
29382 Fix descent and ascent calculation.
29383
29384 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
29385 (options): New option "asce".
29386 (usage): Likewise.
29387 (add_char): Ignore invalid glyphs for descent calculation.
29388 Calculate ascent from actual content.
29389 (print_glyphs): Use 'asce'.
29390 (write_font): Likewise. Allow ascent override.
29391 (main): Handle "asce" option.
29392
e7730de7 293932010-01-06 Carles Pina i Estany <carles@pina.cat>
29394
29395 * kern/err.c: Include `<grub/i18n.h>'.
29396 (grub_print_error): Add full stop. Gettextizze.
29397 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
29398 (grub_bsd_load_elf): Capitalise ELF.
29399 (grub_cmd_freebsd_loadenv): Add `s' in error string.
29400 (grub_cmd_freebsd_module): Likewise.
29401 (grub_cmd_freebsd_module_elf): Likewise.
29402 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
29403
40e3a41f 294042010-01-06 Carles Pina i Estany <carles@pina.cat>
29405
29406 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
29407 * commands/search_file.c (HELP_MESSAGE): New macro.
29408 * commands/search_label.c (HELP_MESSAGE): Likewise.
29409 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
29410 * po/POTFILES: Add `commands/search_file.c',
29411 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
29412 `commands/search.c'.
29413
83507e68
RM
294142010-01-05 Robert Millan <rmh.grub@aybabtu.com>
29415
29416 * config.rpath: Update from Gnulib.
29417
465c787b
YB
294182010-01-05 Yves Blusseau <blusseau@zetam.org>
29419
29420 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
29421
6581dd3a
YB
294222010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
29423
29424 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
29425
3bff18c5
CW
294262010-01-05 Colin Watson <cjwatson@ubuntu.com>
29427
29428 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
29429 arguments to fread so that we get a return value in bytes, rather
29430 than something that will normally be rounded down to 0.
29431 Adjust error handling to avoid producing garbage when size_t is not
29432 the same size as long long.
29433
a1368118
CW
294342010-01-05 Colin Watson <cjwatson@ubuntu.com>
29435
29436 * util/mkisofs/write.c (padblock_write): Check return value of
29437 fread.
29438
7c302978
RM
294392010-01-05 Robert Millan <rmh.grub@aybabtu.com>
29440
29441 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
29442 floppy images now.
29443
29444 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
29445
e33ace06
RM
294462010-01-04 Robert Millan <rmh.grub@aybabtu.com>
29447
29448 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
29449 instead of manual alignment.
29450 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
29451 verbose). Avoid attempts to read past end of the device
29452 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
29453 but GRUB_DISK_CACHE_SIZE may exceed that).
29454
4b856776
RM
294552010-01-04 Robert Millan <rmh.grub@aybabtu.com>
29456
29457 * commands/crc.c (grub_cmd_crc): Abort on read errors.
29458 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
29459 it to upper layer.
29460
52c2d97f
VS
294612010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
29462
29463 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
29464 New constant.
29465 (grub_efi_piwg_device_path): New structure
29466 (grub_efi_piwg_device_path_t): New type.
29467 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
29468 (devpath_1): Transform to a structure. All users updated.
29469 (devpath_2): Likewise.
29470 (devpath_3): Likewise.
29471 (devpath_4): Likewise.
29472 (devpath_5): Likewise.
29473
98ff6a54
VS
294742010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
29475
29476 * loader/efi/appleloader.c: Restored. Update all users.
29477
3a73dcb6
RM
294782010-01-03 Robert Millan <rmh.grub@aybabtu.com>
29479
29480 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
29481
29482 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
29483 (struct boot_blocklist): Move from here ...
29484 * include/grub/i386/pc/boot.h [ASM_FILE]
29485 (struct grub_boot_blocklist): ... to here. Update all users.
29486 (setup): Only initialize `start' member of `first_block'
29487 structure. Add assert() calls to verify the other members.
29488
29489 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
29490 (generate_image): Fix broken blocklist length initialization.
29491 Add assert() call to verify blocklist `segment' field.
29492
ab0eeb0c
RM
294932010-01-03 Robert Millan <rmh.grub@aybabtu.com>
29494
29495 * loader/efi/appleloader.c: Remove. Update all users.
29496
58bc8bd5
RM
294972010-01-03 Robert Millan <rmh.grub@aybabtu.com>
29498
29499 * boot/i386/pc/boot.S: Update copyright year.
29500 * boot/i386/pc/cdboot.S: Likewise.
29501 * boot/i386/pc/diskboot.S: Likewise.
29502 * boot/i386/pc/lnxboot.S: Likewise.
29503 * boot/i386/pc/pxeboot.S: Likewise.
29504 * bus/pci.c: Likewise.
29505 * commands/cmp.c: Likewise.
29506 * commands/help.c: Likewise.
29507 * commands/hexdump.c: Likewise.
29508 * commands/i386/pc/halt.c: Likewise.
29509 * commands/i386/pc/play.c: Likewise.
29510 * commands/i386/pc/vbeinfo.c: Likewise.
29511 * commands/ls.c: Likewise.
29512 * commands/test.c: Likewise.
29513 * disk/dmraid_nvidia.c: Likewise.
29514 * disk/i386/pc/biosdisk.c: Likewise.
29515 * disk/ieee1275/nand.c: Likewise.
29516 * disk/ieee1275/ofdisk.c: Likewise.
29517 * disk/lvm.c: Likewise.
29518 * disk/raid.c: Likewise.
29519 * disk/raid6_recover.c: Likewise.
29520 * disk/scsi.c: Likewise.
29521 * fs/affs.c: Likewise.
29522 * fs/cpio.c: Likewise.
29523 * fs/ext2.c: Likewise.
29524 * fs/hfs.c: Likewise.
29525 * fs/iso9660.c: Likewise.
29526 * fs/ntfs.c: Likewise.
29527 * fs/sfs.c: Likewise.
29528 * fs/udf.c: Likewise.
29529 * fs/ufs.c: Likewise.
29530 * fs/xfs.c: Likewise.
29531 * gencmdlist.sh: Likewise.
29532 * genmk.rb: Likewise.
29533 * include/grub/disk.h: Likewise.
29534 * include/grub/efi/api.h: Likewise.
29535 * include/grub/efi/efi.h: Likewise.
29536 * include/grub/efi/pe32.h: Likewise.
29537 * include/grub/elf.h: Likewise.
29538 * include/grub/fs.h: Likewise.
29539 * include/grub/i386/at_keyboard.h: Likewise.
29540 * include/grub/i386/pc/memory.h: Likewise.
29541 * include/grub/i386/pc/vbe.h: Likewise.
29542 * include/grub/i386/pci.h: Likewise.
29543 * include/grub/i386/tsc.h: Likewise.
29544 * include/grub/ieee1275/ieee1275.h: Likewise.
29545 * include/grub/ntfs.h: Likewise.
29546 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
29547 * include/grub/sparc64/libgcc.h: Likewise.
29548 * include/grub/symbol.h: Likewise.
29549 * include/grub/types.h: Likewise.
29550 * include/multiboot2.h: Likewise.
29551 * io/gzio.c: Likewise.
29552 * kern/device.c: Likewise.
29553 * kern/disk.c: Likewise.
29554 * kern/efi/efi.c: Likewise.
29555 * kern/efi/mm.c: Likewise.
29556 * kern/elf.c: Likewise.
29557 * kern/file.c: Likewise.
29558 * kern/i386/dl.c: Likewise.
29559 * kern/i386/pc/init.c: Likewise.
29560 * kern/i386/pc/startup.S: Likewise.
29561 * kern/ieee1275/ieee1275.c: Likewise.
29562 * kern/ieee1275/init.c: Likewise.
29563 * kern/main.c: Likewise.
29564 * kern/mm.c: Likewise.
29565 * kern/powerpc/dl.c: Likewise.
29566 * kern/sparc64/dl.c: Likewise.
29567 * kern/x86_64/dl.c: Likewise.
29568 * lib/hexdump.c: Likewise.
29569 * loader/efi/appleloader.c: Likewise.
29570 * loader/i386/ieee1275/linux.c: Likewise.
29571 * loader/i386/pc/chainloader.c: Likewise.
29572 * loader/i386/pc/linux.c: Likewise.
29573 * loader/i386/pc/multiboot2.c: Likewise.
29574 * loader/ieee1275/multiboot2.c: Likewise.
29575 * loader/multiboot2.c: Likewise.
29576 * loader/multiboot_loader.c: Likewise.
29577 * loader/powerpc/ieee1275/linux.c: Likewise.
29578 * normal/completion.c: Likewise.
29579 * normal/menu_entry.c: Likewise.
29580 * partmap/apple.c: Likewise.
29581 * util/grub.d/10_hurd.in: Likewise.
29582 * util/hostfs.c: Likewise.
29583 * video/readers/png.c: Likewise.
29584
e2d70b5c
CW
295852010-01-03 Colin Watson <cjwatson@ubuntu.com>
29586
29587 * include/grub/misc.h (GNUC_PREREQ): New macro.
29588 (ATTRIBUTE_ERROR): New macro.
29589 * include/grub/list.h (grub_bad_type_cast_real): Use
29590 ATTRIBUTE_ERROR.
29591
a173283f 295922010-01-03 Carles Pina i Estany <carles@pina.cat>
29593
29594 * normal/menu_text.c (print_message): Change messages.
29595
7fa7ff74 295962010-01-03 Carles Pina i Estany <carles@pina.cat>
29597
29598 * normal/menu_entry.c (store_completion): Gettextizze.
29599
136d24f6 296002010-01-03 Carles Pina i Estany <carles@pina.cat>
29601
29602 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
29603
f936862e 296042010-01-03 Carles Pina i Estany <carles@pina.cat>
29605
29606 * po/POTFILES: Sort correctly.
29607
29c44ad1 296082010-01-03 Carles Pina i Estany <carles@pina.cat>
29609
29610 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
29611 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
29612 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
29613 full stop.
29614 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
29615 summary. Gettextizze the strings.
29616 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
29617 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
29618 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
29619 full stop.
29620 (GRUB_MOD_INIT): Remove command name from summary.
29621 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
29622 summary.
29623 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
29624 * term/i386/pc/serial.c (options): Add full stops.
29625 (GRUB_MOD_INIT): Remove command name from the summary.
29626
77a79592 296272010-01-03 Carles Pina i Estany <carles@pina.cat>
29628
29629 * commands/acpi.c: Gettextizze help strings and/or options. Include
29630 `grub/i18n.h' if needed.
29631 * commands/blocklist.c: Likewise.
29632 * commands/boot.c: Likewise.
29633 * commands/cat.c: Likewise.
29634 * commands/cmp.c: Likewise.
29635 * commands/configfile.c: Likewise.
29636 * commands/crc.c: Likewise.
29637 * commands/date.c: Likewise.
29638 * commands/echo.c: Likewise.
29639 * commands/efi/fixvideo.c: Likewise.
29640 * commands/efi/loadbios.c: Likewise.
29641 * commands/gptsync.c: Likewise.
29642 * commands/halt.c: Likewise.
29643 * commands/handler.c: Likewise.
29644 * commands/hdparm.c: Likewise.
29645 * commands/hexdump.c: Likewise.
29646 * commands/i386/cpuid.c: Likewise.
29647 * commands/i386/pc/drivemap.c: Likewise.
29648 * commands/i386/pc/halt.c: Likewise.
29649 * commands/i386/pc/pxecmd.c: Likewise.
29650 * commands/i386/pc/vbeinfo.c: Likewise.
29651 * commands/i386/pc/vbetest.c: Likewise.
29652 * commands/ieee1275/suspend.c: Likewise.
29653 * commands/keystatus.c: Likewise.
29654 * commands/loadenv.c: Likewise.
29655 * commands/ls.c: Likewise.
29656 * commands/lsmmap.c: Likewise.
29657 * commands/lspci.c: Likewise.
29658 * commands/memrw.c: Likewise.
29659 * commands/minicmd.c: Likewise.
29660 * commands/parttool.c: Likewise.
29661 * commands/password.c: Likewise.
29662 * commands/probe.c: Likewise.
29663 * commands/read.c: Likewise.
29664 * commands/reboot.c: Likewise.
29665 * commands/search.c: Likewise.
29666 * commands/sleep.c: Likewise.
29667 * commands/test.c: Likewise.
29668 * commands/true.c: Likewise.
29669 * commands/usbtest.c: Likewise.
29670 * commands/videotest.c: Likewise.
29671 * commands/xnu_uuid.c: Likewise.
29672 * disk/loopback.c: Likewise.
29673 * hello/hello.c: Likewise.
29674 * loader/i386/bsd.c: Likewise.
29675 * term/i386/pc/serial.c: Likewise.
29676 * po/POTFILES: Add new files.
29677
da8d5c53
CW
296782010-01-02 Colin Watson <cjwatson@ubuntu.com>
29679
29680 * term/i386/pc/at_keyboard.c
29681 (keyboard_controller_wait_untill_ready): Rename to ...
29682 (keyboard_controller_wait_until_ready): ... this. Update all users.
29683
33937904 296842010-01-01 Carles Pina i Estany <carles@pina.cat>
29685
29686 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
29687 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
29688 string using string width.
29689 * normal/menu_text.c (grub_print_message_indented): Use
29690 grub_print_spaces and not print_spaces.
29691 (print_timeout): Likewise.
29692 (print_spaces): Move to...
29693 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
29694
3fd3b8d8
RM
296952010-01-01 Robert Millan <rmh.grub@aybabtu.com>
29696
29697 Import from Gnulib.
29698
29699 * gnulib/getdelim.c: New file.
29700 * gnulib/getline.c: Likewise.
29701
33433555
VS
297022009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
29703
29704 * include/grub/list.h (grub_assert_fail): Removed.
29705 (grub_bad_type_cast_real): New function.
29706 (grub_bad_type_cast): New macro.
29707 (GRUB_AS_LIST): Use grub_bad_type_cast.
29708 (GRUB_AS_LIST_P): Likewise.
e44721e8 29709 (GRUB_AS_NAMED_LIST): Likewise.
33433555 29710 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 29711 (GRUB_AS_PRIO_LIST): Likewise.
33433555 29712 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 29713 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 29714
f5a51306
VS
297152009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
29716
29717 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
29718 Fix syntax error.
29719
90d1e879
RM
297202009-12-29 Robert Millan <rmh.grub@aybabtu.com>
29721
29722 * configure.ac: Check for TARGET_CFLAGS initialization before we
29723 initialize it ourselves (sigh).
29724 Move a few modifications to TARGET_CFLAGS to be unconditional
29725 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
29726 eh_frame)
29727
29728 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
29729 * term/i386/pc/at_keyboard.c
29730 (keyboard_controller_wait_untill_ready): Likewise.
29731 (keyboard_controller_led): Rename `led_status' paramter to avoid
29732 name conflict.
29733
465b5a81 297342009-12-28 Carles Pina i Estany <carles@pina.cat>
29735
29736 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
29737 quotes.
29738
c181849b
VS
297392009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
29740
29741 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
29742
9c8739a4
VS
297432009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
29744
29745 * normal/menu_text.c (grub_print_message_indented): Prevent
29746 past-the-end-of-array dereference.
29747
3e74249c
VS
297482009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
29749
29750 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
29751 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
29752
64fd18ed 297532009-12-27 Carles Pina i Estany <carles@pina.cat>
29754
29755 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
29756 * normal/main.c (grub_normal_read_line): Remove a space from the
29757 default prompt.
29758
714af9b9 297592009-12-27 Carles Pina i Estany <carles@pina.cat>
29760
29761 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
29762 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29763 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
29764 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
29765 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29766 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29767 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
29768
82f3e412 297692009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 29770
29771 * video/readers/jpeg.c (cmd): Declare.
29772 (grub_cmd_jpegtest): Use `grub_command_t' type.
29773 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
29774 Assign to `cmd'.
29775 (GRUB_MOD_FINI): Use `cmd' to unregister.
29776 * video/readers/png.c (cmd): Declare.
29777 (grub_cmd_pngtest): Use `grub_command_t' type.
29778 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
29779 Assign to `cmd'.
29780 (GRUB_MOD_FINI): Use `cmd' to unregister.
29781 * video/readers/tga.c (cmd): Declare.
29782 (grub_cmd_tgatest): Use `grub_command_t' type.
29783 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
29784 Assign to `cmd'.
29785 (GRUB_MOD_FINI): Use `cmd' to unregister.
29786
82f3e412 297872009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 29788
29789 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
29790 stops.
29791 * kern/corecmd.c (grub_register_core_commands): Likewise.
29792 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
29793 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
29794 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
29795 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29796 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
29797 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
29798 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
29799 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
29800 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29801 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29802 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
29803 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
29804 * normal/handler.c (insert_handler): Likewise.
29805 * normal/main.c (GRUB_MOD_INIT): Likewise.
29806 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
29807
fdcdbb66 298082009-12-26 Carles Pina i Estany <carles@pina.cat>
29809
29810 * commands/help.c (grub_cmd_help): Print the command name before the
29811 summary.
29812 (GRUB_MOD_INIT): Remove command name from the summary.
29813 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 29814 string as summary.
fdcdbb66 29815 * lib/arg.c (find_long): Print the command name before the summary.
29816 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
29817 summary.
29818 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
29819 * commands/cat.c (GRUB_MOD_INIT): Likewise.
29820 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
29821 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
29822 * commands/crc.c (GRUB_MOD_INIT): Likewise.
29823 * commands/date.c (GRUB_MOD_INIT): Likewise.
29824 * commands/echo.c (GRUB_MOD_INIT): Likewise.
29825 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
29826 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
29827 * commands/handler.c (GRUB_MOD_INIT): Likewise.
29828 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
29829 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
29830 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
29831 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
29832 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
29833 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
29834 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
29835 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
29836 * commands/ls.c (GRUB_MOD_INIT): Likewise.
29837 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
29838 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
29839 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
29840 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
29841 * commands/password.c (GRUB_MOD_INIT): Likewise.
29842 * commands/probe.c (GRUB_MOD_INIT): Likewise.
29843 * commands/read.c (GRUB_MOD_INIT): Likewise.
29844 * commands/search.c (GRUB_MOD_INIT): Likewise.
29845 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
29846 * commands/test.c (GRUB_MOD_INIT): Likewise.
29847 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
29848 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
29849 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
29850 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
29851 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
29852 * lib/arg.c (GRUB_MOD_INIT): Likewise.
29853 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
29854 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
29855 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
29856 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
29857 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
29858 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
29859 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
29860 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
29861
9c288be2
VS
298622009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
29863
29864 Use search command for preliminar UUID search.
29865
29866 * commands/search.c: Split into ...
29867 * commands/search_wrap.c: ...this
29868 * commands/search.c: ...and this.
29869 * commands/search_file.c: New file.
29870 * commands/search_label.c: New file.
29871 * commands/search_uuid.c: New file.
29872 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
29873 Add commands/search_wrap.c, commands/search_file.c,
29874 commands/search_label.c and commands/search_uuid.c.
29875 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
29876 (search_mod_SOURCES): Set to commands/search_wrap.c.
29877 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
29878 search_label.mod.
29879 (search_fs_file_mod_SOURCES): New variable.
29880 (search_fs_file_mod_CFLAGS): Likewise.
29881 (search_fs_file_mod_LDFLAGS): Likewise.
29882 (search_label_mod_SOURCES): Likewise.
29883 (search_label_mod_CFLAGS): Likewise.
29884 (search_label_mod_LDFLAGS): Likewise.
29885 (search_fs_uuid_mod_SOURCES): New variable.
29886 (search_fs_uuid_mod_CFLAGS): Likewise.
29887 (search_fs_uuid_mod_LDFLAGS): Likewise.
29888 (fs_file_mod_SOURCES): Removed.
29889 (fs_file_mod_CFLAGS): Likewise.
29890 (fs_file_mod_LDFLAGS): Likewise.
29891 (fs_uuid_mod_SOURCES): Removed.
29892 (fs_uuid_mod_CFLAGS): Likewise.
29893 (fs_uuid_mod_LDFLAGS): Likewise.
29894 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
29895 Set to util/grub-install.in.
29896 * disk/fs_file.c: Removed.
29897 * disk/fs_uuid.c: Likewise.
29898 * include/grub/search.h: New file.
29899 * util/grub-install.in: Handle sparc64.
29900 Create and use load.cfg.
29901 * util/sparc64/ieee1275/grub-install.in: Removed.
29902
db943399
VS
299032009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
29904
29905 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
29906 Ignore return status if CF is cleared.
29907 (grub_biosdisk_get_diskinfo_standard): Likewise.
29908
3fdae612
RM
299092009-12-25 Robert Millan <rmh.grub@aybabtu.com>
29910
29911 * term/i386/pc/at_keyboard.c
29912 (keyboard_controller_wait_untill_ready): New function.
29913 (grub_keyboard_controller_write, grub_keyboard_controller_read)
29914 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
29915 for keyboard polling, rather than duplicate the same loop. This
29916 saves a few bytes in code size.
29917
7ebaa2b4
VS
299182009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
29919
29920 Support for (pxe[:server[:gateway]]) syntax and
29921 use environment variable for PXE.
29922
29923 * commands/i386/pc/pxecmd.c (options): Removed.
29924 (print_ip): Removed.
29925 (grub_cmd_pxe): Removed
29926 (grub_cmd_pxe_unload): New function.
29927 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
29928 (grub_pxe_your_ip): Made static.
29929 (grub_pxe_default_server_ip): Likewise.
29930 (grub_pxe_default_gateway_ip): Likewise.
29931 (grub_pxe_blksize): Likewise.
29932 (parse_ip): New function.
29933 (grub_pxe_open): Support server and gateway specification.
29934 (grub_pxe_close): Free disk->data.
29935 (grub_pxefs_open): Use disk->data.
29936 (grub_pxefs_read): Likewise.
29937 (grub_env_write_readonly): New function.
29938 (set_mac_env): Likewise.
29939 (set_env_limn_ro): Likewise.
29940 (parse_dhcp_vendor): Likewise.
29941 (grub_pxe_detect): Set the environment variables.
29942 (set_ip_env): New function.
29943 (write_ip_env): Likewise.
29944 (grub_env_write_pxe_default_server): Likewise.
29945 (grub_env_write_pxe_default_gateway): Likewise.
29946 (grub_env_write_pxe_blocksize): Likewise.
29947 (GRUB_MOD_INIT(pxe)): Set environment variables.
29948 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
29949 (grub_pxe_mac_addr_t): ... this. All users updated.
29950 (grub_pxe_your_ip): Removed.
29951 (grub_pxe_server_ip): Likewise.
29952 (grub_pxe_gateway_ip): Likewise.
29953 (grub_pxe_blksize): Likewise.
29954
ec5f98ab 299552009-12-25 Carles Pina i Estany <carles@pina.cat>
29956
29957 * commands/help.c: Include `<grub/i18n.h>'.
29958 (grub_cmd_help): Gettextizze.
29959 (GRUB_MOD_INIT): Likewise.
29960 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
29961 (GRUB_MOD_INIT): Gettextizze.
29962 * commands/search.c: Include `<grub/i18n.h>'.
29963 (options): Gettextizze.
29964 (GRUB_MOD_INIT): Gettextizze.
29965 * lib/arg.c: Include `<grub/i18n.h>'.
29966 (help_options): Gettextizze.
29967 (find_long): Likewise.
29968 (grub_arg_show_help): Likewise.
29969 * normal/dyncmd.c: Include `<grub/i18n.h>'.
29970 (read_command_list): Gettextizze.
29971 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 29972 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 29973
22815526
RM
299742009-12-25 Robert Millan <rmh.grub@aybabtu.com>
29975
29976 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
29977 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
29978 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
29979 (led_status): New variable.
29980 (keyboard_controller_led): New function.
29981 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
29982 update led status for caps lock, num lock and scroll lock.
29983
0ad46fd7
FZ
299842009-12-25 Felix Zielcke <fzielcke@z-51.de>
29985
29986 * util/hostdisk.c (open_device): Fix a comment.
29987
d0e158c2
RM
299882009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29989
29990 * util/grub-install.in (host_os): New variable.
29991 * util/i386/efi/grub-install.in (host_os): Likewise.
29992
401c0ad6
RM
299932009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29994
29995 * util/mkisofs/write.c (padblock_write): Abort when given an
29996 excedingly large embed image, instead of silently truncating it.
29997
d14d3370
RM
299982009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29999
30000 * include/multiboot.h: Indentation fixes.
30001
eeed10b4
RM
300022009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30003
30004 * include/multiboot.h (struct multiboot_aout_symbol_table)
30005 (struct multiboot_elf_section_header_table): New structure
30006 declarations (stolen from GRUB Legacy).
30007 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
30008 table information.
30009
30010 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
30011 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
30012 type aliases.
30013
681c70ab
RM
300142009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30015
30016 * include/multiboot.h: Make comments src2texi-friendly.
30017
e4d47d8d
RM
300182009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30019
30020 For consistency with [multiboot]/docs/boot.S.
30021
30022 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
30023 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
30024 (MULTIBOOT_MAGIC2): Rename from this ...
30025 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
30026
a0b70bda
RM
300272009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30028
30029 * include/multiboot.h: Remove `<grub/types.h>'.
30030 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
30031 types. Update all users.
30032
61ba42be 300332009-12-25 Carles Pina i Estany <carles@pina.cat>
30034
30035 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
30036 `couldn't' and `can not' by `cannot'.
30037 * commands/i386/pc/drivemap.c: Likewise.
30038 * disk/ata.c: Likewise.
30039 * disk/ieee1275/nand.c: Likewise.
30040 * fs/affs.c: Likewise.
30041 * fs/fat.c: Likewise.
30042 * fs/hfs.c: Likewise.
30043 * fs/hfsplus.c: Likewise.
30044 * fs/iso9660.c: Likewise.
30045 * fs/jfs.c: Likewise.
30046 * fs/minix.c: Likewise.
30047 * fs/reiserfs.c: Likewise.
30048 * fs/sfs.c: Likewise.
30049 * fs/udf.c: Likewise.
30050 * fs/ufs.c: Likewise.
30051 * fs/xfs.c: Likewise.
30052 * loader/powerpc/ieee1275/linux.c: Likewise.
30053 * loader/sparc64/ieee1275/linux.c: Likewise.
30054 * util/grub-probe.c: Likewise.
30055 * util/misc.c: Likewise.
30056
7fd0baee 300572009-12-24 Carles Pina i Estany <carles@pina.cat>
30058
30059 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
30060 grub_errno calls.
30061 * commands/acpi.c: Likewise.
30062 * commands/blocklist.c: Likewise.
30063 * commands/efi/loadbios.c: Likewise.
30064 * commands/i386/pc/drivemap.c: Likewise.
30065 * commands/loadenv.c: Likewise.
30066 * commands/memrw.c: Likewise.
30067 * commands/password.c: Likewise.
30068 * commands/videotest.c: Likewise.
30069 * disk/ata.c: Likewise.
30070 * disk/ata_pthru.c: Likewise.
30071 * disk/dmraid_nvidia.c: Likewise.
30072 * disk/ieee1275/nand.c: Likewise.
30073 * disk/ieee1275/ofdisk.c: Likewise.
30074 * disk/loopback.c: Likewise.
30075 * disk/lvm.c: Likewise.
30076 * disk/mdraid_linux.c: Likewise.
30077 * disk/raid.c: Likewise.
30078 * disk/raid6_recover.c: Likewise.
30079 * disk/scsi.c: Likewise.
30080 * efiemu/main.c: Likewise.
30081 * efiemu/mm.c: Likewise.
30082 * efiemu/pnvram.c: Likewise.
30083 * efiemu/symbols.c: Likewise.
30084 * font/font.c: Likewise.
30085 * fs/cpio.c: Likewise.
30086 * fs/hfsplus.c: Likewise.
30087 * fs/iso9660.c: Likewise.
30088 * fs/jfs.c: Likewise.
30089 * fs/minix.c: Likewise.
30090 * fs/ntfs.c: Likewise.
30091 * fs/ntfscomp.c: Likewise.
30092 * fs/reiserfs.c: Likewise.
30093 * fs/ufs.c: Likewise.
30094 * fs/xfs.c: Likewise.
30095 * gettext/gettext.c: Likewise.
30096 * include/grub/auth.h: Likewise.
30097 * kern/elf.c: Likewise.
30098 * kern/file.c: Likewise.
30099 * kern/ieee1275/init.c: Likewise.
30100 * kern/ieee1275/mmap.c: Likewise.
30101 * kern/ieee1275/openfw.c: Likewise.
30102 * kern/powerpc/dl.c: Likewise.
30103 * kern/sparc64/dl.c: Likewise.
30104 * lib/arg.c: Likewise.
30105 * loader/i386/bsd.c: Likewise.
30106 * loader/i386/bsdXX.c: Likewise.
30107 * loader/i386/efi/linux.c: Likewise.
30108 * loader/i386/efi/xnu.c: Likewise.
30109 * loader/i386/ieee1275/linux.c: Likewise.
30110 * loader/i386/linux.c: Likewise.
30111 * loader/i386/multiboot.c: Likewise.
30112 * loader/i386/pc/linux.c: Likewise.
30113 * loader/i386/pc/multiboot2.c: Likewise.
30114 * loader/i386/xnu.c: Likewise.
30115 * loader/ieee1275/multiboot2.c: Likewise.
30116 * loader/macho.c: Likewise.
30117 * loader/machoXX.c: Likewise.
30118 * loader/multiboot2.c: Likewise.
30119 * loader/multiboot_loader.c: Likewise.
30120 * loader/powerpc/ieee1275/linux.c: Likewise.
30121 * loader/sparc64/ieee1275/linux.c: Likewise.
30122 * loader/xnu.c: Likewise.
30123 * loader/xnu_resume.c: Likewise.
30124 * mmap/i386/pc/mmap.c: Likewise.
30125 * normal/menu_viewer.c: Likewise.
30126 * partmap/acorn.c: Likewise.
30127 * partmap/amiga.c: Likewise.
30128 * partmap/apple.c: Likewise.
30129 * script/lexer.c: Likewise.
30130 * term/gfxterm.c: Likewise.
30131 * term/i386/pc/serial.c: Likewise.
30132 * term/i386/pc/vga.c: Likewise.
30133 * term/ieee1275/ofconsole.c: Likewise.
30134 * term/terminfo.c: Likewise.
30135 * video/bitmap.c: Likewise.
30136 * video/efi_gop.c: Likewise.
30137 * video/efi_uga.c: Likewise.
30138 * video/fb/video_fb.c: Likewise.
30139 * video/i386/pc/vbe.c: Likewise.
30140 * video/readers/tga.c: Likewise.
30141 * video/video.c: Likewise.
30142
0ad46fd7 301432009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
30144
30145 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
30146 * commands/lspci.c: Likewise.
30147 * commands/probe.c: Likewise.
30148 * commands/xnu_uuid.c: Likewise.
30149 * conf/i386-coreboot.rmk: Likewise.
30150 * conf/i386-efi.rmk: Likewise.
30151 * conf/i386-ieee1275.rmk: Likewise.
30152 * conf/i386-pc.rmk: Likewise.
30153 * conf/powerpc-ieee1275.rmk: Likewise.
30154 * conf/sparc64-ieee1275.rmk: Likewise.
30155 * conf/x86_64-efi.rmk: Likewise.
30156 * fs/i386/pc/pxe.c: Likewise.
30157 * gettext/gettext.c: Likewise.
30158 * include/grub/efi/graphics_output.h: Likewise.
30159 * include/grub/i386/pc/memory.h: Likewise.
30160 * kern/env.c: Likewise.
30161 * kern/i386/qemu/startup.S: Likewise.
30162 * lib/i386/pc/biosnum.c: Likewise.
30163 * lib/i386/relocator.c: Likewise.
30164 * lib/i386/relocator_asm.S: Likewise.
30165 * lib/relocator.c: Likewise.
30166 * loader/i386/bsd.c: Likewise.
30167 * loader/i386/multiboot.c: Likewise.
30168 * loader/i386/pc/chainloader.c: Likewise.
30169 * loader/i386/xnu.c: Likewise.
30170 * loader/xnu.c: Likewise.
30171 * normal/main.c: Likewise.
30172 * normal/menu_text.c: Likewise.
30173 * util/getroot.c: Likewise.
30174 * util/grub-mkconfig_lib.in: Likewise.
30175 * util/grub.d/00_header.in: Likewise.
30176 * util/i386/pc/grub-mkimage.c: Likewise.
30177 * util/mkisofs/eltorito.c: Likewise.
30178 * util/mkisofs/exclude.h: Likewise.
30179 * util/mkisofs/hash.c: Likewise.
30180 * util/mkisofs/iso9660.h: Likewise.
30181 * util/mkisofs/joliet.c: Likewise.
30182 * util/mkisofs/mkisofs.c: Likewise.
30183 * util/mkisofs/mkisofs.h: Likewise.
30184 * util/mkisofs/multi.c: Likewise.
30185 * util/mkisofs/name.c: Likewise.
30186 * util/mkisofs/rock.c: Likewise.
30187 * util/mkisofs/tree.c: Likewise.
30188 * util/mkisofs/write.c: Likewise.
30189 * video/efi_gop.c: Likewise.
30190
009ec743
VS
301912009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
30192
30193 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
30194 size counting.
30195
0ad46fd7 301962009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
30197
30198 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
30199 * genmk.rb (class SCRIPT): Modify the target file instead of source.
30200
d3d30ea0
VS
302012009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30202
30203 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
30204 (GRUB_MOD_INIT(memrw)): Update help line.
30205
a34f5c70
VS
302062009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30207
30208 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
30209 Use grub_extcmd_t. All users updated.
30210 (options): New variable.
30211 (grub_cmd_read): Restructure for readability. Support "-v" option.
30212 (grub_cmd_write): Restructure for readability.
30213
0ad46fd7 302142009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
30215
30216 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
30217
0ad46fd7 302182009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
30219
30220 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
30221 with the actual contents of the correspondending make variable.
30222 * util/grub-mkrescue.in (pkglib_DATA): New variable.
30223 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
30224 specifying `*.lst' and `efiemu??.o'
30225
0ad46fd7 302262009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
30227
30228 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
30229 after function name.
30230 Noticed by Rene Engelhard <rene@debian.org>.
30231
dc77a799
VS
302322009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30233
30234 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
30235 (options): New variable.
30236 (iospace): Likewise.
30237 (grub_lspci_iter): List IO spaces if "-i" was given.
30238 (grub_cmd_lspci): Parse options.
30239 (GRUB_MOD_INIT(lspci)): Use extcmd.
30240 (GRUB_MOD_FINI(lspci)): Likewise.
30241
0ad46fd7 302422009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
30243
30244 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
30245 `function' keyword.
30246 Patch by Tony Mancill <tmancill@debian.org>.
30247
b5d5993b
VS
302482009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30249
30250 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
30251 (grub_uhci_portstatus): Likewise.
30252 (grub_uhci_portstatus): Add necessary delay.
11d18281 30253 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 30254
941903f2 302552009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 30256
941903f2 30257 * commands/acpi.c (options): Fix capitalizations and/or full stops.
30258 (GRUB_MOD_INIT): Likewise.
30259 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 30260 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
30261 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 30262 * commands/efi/loadbios.c (enable_rom_area): Likewise.
30263 (enable_rom_area): Likewise.
30264 (GRUB_MOD_INIT): Likewise.
30265 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
30266 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
30267 * commands/handler.c (GRUB_MOD_INIT): Likewise.
30268 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
30269 * commands/hexdump.c (options): Likewise.
30270 * commands/i386/cpuid.c (options): Likewise.
30271 (GRUB_MOD_INIT): Likewise.
30272 * commands/i386/pc/drivemap.c (options): Likewise.
30273 (GRUB_MOD_INIT): Likewise.
30274 * commands/i386/pc/halt (options): Likewise.
30275 (GRUB_MOD_INIT): Likewise.
30276 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
30277 * commands/i386/pc/pxecmd.c (options): Likewise.
30278 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
30279 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
30280 * commands/keystatus.c (options): Likewise.
30281 (GRUB_MOD_INIT): Likewise.
30282 * commands/loadenv.c (options): Likewise.
30283 * commands/ls.c (options): Likewise.
30284 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
30285 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
30286 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
30287 * commands/parttool.c (helpmsg): Likewise.
30288 * commands/probe.c (options): Likewise.
30289 * commands/read.c (GRUB_MOD_INIT): Likewise.
30290 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
30291 * commands/search.c (options): Likewise.
30292 * commands/sleep.c (options): Likewise.
30293 * commands/test.c (GRUB_MOD_INIT): Likewise.
30294 * commands/true.c (GRUB_MOD_INIT): Likewise.
30295 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
30296 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
30297 * lib/arg.c (help_options): Likewise.
e9bbb4e7 30298 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
30299 `$(XGETTEXT)'.
98a50553 30300 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 30301
0ad46fd7 303022009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 30303
ef3c2c3a 30304 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
30305 instead of specifying them explicit.
30306
7922f68b
RM
303072009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30308
30309 * NEWS: Add grub-probe support for GNU/Hurd.
30310
537ce47f
RM
303112009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30312
30313 * NEWS: gettext was added after 1.97.
30314
9b214e3a
RM
303152009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30316
30317 * util/mkisofs/msdos_partition.h: New file (based on
30318 include/grub/msdos_partition.h).
30319 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
30320 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
30321 (ld_options, main): Recognize --protective-msdos-label.
30322 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
30323 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
30324 (padblock_write): If `use_protective_msdos_label' is set, patch a
30325 protective DOS-style label in the output image.
30326
30327 * util/grub-mkrescue.in: Use --protective-msdos-label.
30328
e9309813
RM
303292009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30330
30331 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
30332 boot.
30333
0ae56929
RM
303342009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30335
30336 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
30337 variables.
30338 (ld_options, main): Recognize `--embedded-boot'.
30339 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
30340 declarations.
30341 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
30342 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
30343 (padblock_write): Likewise. Rewrite to support embedded boot image.
30344
30345 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
30346 for BIOS-based disk boot instead of only ElTorito.
30347
b15937b1
RM
303482009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30349
30350 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
30351 build (not needed for bootstrap).
30352
52cc3ce0
RM
303532009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30354
30355 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
30356 from i386-pc build (not needed for bootstrap).
30357 Rewrite a pair of strings.
30358
36f5ff04
RM
303592009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30360
30361 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
30362
973c6c85 303632009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
30364
30365 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
30366
05d21547
AB
303672009-12-21 Andreas Born <futur.andy@googlemail.com>
30368
30369 * kern/env.c (grub_env_context_open): Mark exported variable for
30370 reexport.
30371
0175d51f
AB
303722009-12-21 Andreas Born <futur.andy@googlemail.com>
30373
30374 * kern/env.c (grub_env_export): Create nonexistent variables before
30375 exporting.
30376
7f39d92f 303772009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 30378
7f39d92f 30379 * include/grub/auth.h: Include `<grub/i18n.h>'.
30380 (GRUB_GET_PASSWORD): Gettextizze string.
30381 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
30382 menu_text.c.
30383 (grub_utf8_to_ucs4_alloc): Fix indentation.
30384 (grub_print_ucs4): Likewise.
30385 (grub_getstringwidth): Likewise.
30386 (print_message_indented): New declaration.
30387 * normal/auth.c: Include `<grub/i18n.h>'.
30388 (grub_auth_check_authentication): Gettexttize string.
30389 * normal/cmdline.c: Include `<grub/i18n.h>'.
30390 (grub_cmdline_get): Gettextizze.
30391 * normal/color.c: Include `<grub/i18n.h>'.
30392 (grub_parse_color_name_pair): Gettexttize strings.
30393 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
30394 string (use `print_message_indented').
30395 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
30396 `include/grub/normal.h'.
30397 (print_message_indented): Renamed to ...
30398 (grub_print_message_indented): ... this. Remove `static' qualifer (now
30399 used in normal/main.c).
30400 (print_message): Use `grub_print_message_indented' instead of
30401 `print_message_indented'.
30402 (print_timeout): Likewise.
30403 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
30404 (grub_normal_print_device_info): Gettexttize strings.
30405 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
30406
3041d898
VS
304072009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
30408
30409 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
30410 of arguments. Return number of tokens and not arguments. All users
30411 updated.
30412
de15bf8e
VS
304132009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
30414
30415 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
30416 non-MSDOS paritions.
30417
e0a6ca52
VS
304182009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
30419
30420 * include/grub/types.h (UNUSED): Removed since it conflicts with
30421 NetBSD headers. All users changed to direct __attribute__ ((unused)).
30422 Reported by Grégoire Sutre.
30423
b99518d1 304242009-12-19 Carles Pina i Estany <carles@pina.cat>
30425
30426 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
30427 (grub_print_ucs4_alloc): Likewise.
30428 (grub_getstringwidth): Likewise.
30429 * normal/main.c (grub_normal_init_page): Gettextize version string.
30430 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
30431 (getstringwidth): Renamed to ...
30432 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
30433 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
30434 (grub_print_ucs4): Remove `static' qualifer (now used in
30435 normal/main.c).
30436 * po/POTFILES: Add normal/main.c.
30437
bfd5e52b 304382009-12-19 Carles Pina i Estany <carles@pina.cat>
30439
30440 * normal/menu_text.c (STANDARD_MARGIN): New macro.
30441 (print_message_indented): Add `margin_left' and `margin_right'
30442 parameters.
30443 (print_message): Update `print_message_indented' calls. Adds '\n' to the
30444 strings.
30445 (print_timeout): Use `print_message_indented' to print the message.
30446 Deletes `second_stage' parameter.
30447 (run_menu): Update `print_timeout' calls.
30448
5a1ad2b9
VS
304492009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
30450
30451 Fix console palette on OpenFirmware.
30452
30453 * term/ieee1275/ofconsole.c (MAX): Removed.
30454 (colors): Redone based on VGA palette.
30455 (grub_ofconsole_setcolor): Discard brightness bit since only 8
30456 colors are supported.
30457 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
30458
b045f00a
VS
304592009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
30460
30461 Fix potential EfiEmu double prepare.
30462
30463 * efiemu/main.c (prepared): New variable
30464 (grub_efiemu_unload): Set prepare to '0'.
30465 (grub_efiemu_prepare): Return if already prepared. Set prepared.
30466
30467 set_virtual_address_map support.
30468
30469 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
30470 prototype.
30471 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
30472 prototype.
30473 (grub_efiemu_crc32): Likewise.
30474 (grub_efiemu_crc64): Likewise.
30475 (grub_efiemu_set_virtual_address_map): Likewise.
30476 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
30477 New definition.
30478 (grub_autoefi_set_virtual_address_map): Likewise.
30479 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
30480 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
30481 Restructure flow to accomodate it.
30482 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
30483 (grub_efiemu_crc): Recompute CRC32.
30484 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
30485 (efiemu_ptv_relocated): ... this. Made global. All users updated.
30486 * efiemu/symbols.c (relocated_handle): New variable.
30487 (grub_efiemu_free_syms): Free relocated_handle.
30488 (grub_efiemu_alloc_syms): Allocate relocated_handle.
30489 (grub_efiemu_write_sym_markers): New function.
30490 (grub_efiemu_set_virtual_address_map): Likewise.
30491
30492 Newer XNU parameters.
30493
30494 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
30495 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
30496 (grub_xnu_fill_devicetree): New prototype.
30497 (grub_xnu_heap_real_start): New variable.
30498 * loader/xnu.c (get_name_ptr): New function.
30499 (grub_xnu_load_driver): Fill namelen and name.
30500
30501 64-bit xnu support.
30502
30503 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
30504 and 'loader/macho64.c'.
30505 * conf/i386-pc.rmk: Likewise.
30506 * conf/x86_64-efi.rmk: Likewise.
30507 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
30508 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
30509 * include/grub/macho.h (grub_macho_segment64): New structure.
30510 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
30511 (grub_macho_size32): ... to this.
30512 (grub_macho32_get_entry_point): Renamed from ...
30513 (grub_macho_get_entry_point32): ... to this.
30514 (grub_macho_contains_macho64): New prototype.
30515 (grub_macho_size64): Likewise.
30516 (grub_macho_get_entry_point64): Likewise.
30517 (grub_macho32_load): Renamed from ...
30518 (grub_macho_load32): ... to this.
30519 (grub_macho32_filesize): Renamed from ...
30520 (grub_macho_filesize32): ... to this.
30521 (grub_macho32_readfile): Renamed from ...
30522 (grub_macho_readfile32): ... to this.
30523 (grub_macho_filesize64): New prototype.
30524 (grub_macho_readfile64): Likewise.
30525 (grub_macho_parse32): Likewise.
30526 (grub_macho_parse64): Likewise.
30527 * loader/macho.c: Split into ...
30528 * loader/machoXX.c: ... and this. Replace 32 with XX.
30529 * loader/macho32.c: New file.
30530 * loader/macho64.c: Likewise.
30531 * loader/xnu.c (grub_xnu_is_64bit): New variable.
30532 (grub_cmd_xnu_kernel): Make 32-bit only.
30533 (grub_cmd_xnu_kernel64): New function.
30534 (grub_xnu_load_driver): Support Mach-O 64.
30535 (grub_cmd_xnu_mkext): Likewise.
30536 * util/grub.d/30_os-prober.in (osx_entry): New function.
30537 Generate entries for 64-bit boot too.
30538
30539 Eliminate ad-hoc tree format in XNU and EfiEmu.
30540
30541 * efiemu/main.c (grub_efiemu_prepare): Update comment.
30542 * efiemu/pnvram.c: Rewritten to use environment variables.
30543 All users updated.
30544
30545 Inline utf16_to_utf8.
30546
30547 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
30548 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
30549 All users updated.
30550 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
30551
30552 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
30553 * commands/usbtest.c (grub_usb_get_string): ... move here.
30554 (usb_print_str): Fix error handling.
30555 * include/grub/usb.h (grub_usb_get_string): Remove.
30556
30557 UTF-8 to UTF-16 transformation.
30558
30559 * conf/common.rmk (pkglib_MODULES): Add charset.mod
30560 (charset_mod_SOURCES): New variable.
30561 (charset_mod_CFLAGS): Likewise.
30562 (charset_mod_LDFLAGS): Likewise.
30563 * include/grub/utf.h: New file.
30564 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
30565
30566 Support for device properties.
30567
30568 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
30569 (grub_xnu_devprop_device_header): Likewise.
30570 (grub_xnu_devprop_device_descriptor): Likewise.
30571 (grub_xnu_devprop_add_device): New prototype.
30572 (grub_xnu_devprop_remove_device): Likewise.
30573 (grub_xnu_devprop_remove_property): Likewise.
30574 (grub_xnu_devprop_add_property_utf8): Likewise.
30575 (grub_xnu_devprop_add_property_utf16): Likewise.
30576 (grub_cpu_xnu_init): Likewise.
30577 (grub_cpu_xnu_fini): Likewise.
30578 (grub_cpu_xnu_unload): Likewise.
30579 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
30580 (property_descriptor): Likewise.
30581 (devices): New variable.
30582 (grub_xnu_devprop_remove_property): New function.
30583 (grub_xnu_devprop_add_device): Likewise.
30584 (grub_xnu_devprop_remove_device): Likewise.
30585 (grub_xnu_devprop_add_property): Likewise.
30586 (grub_xnu_devprop_add_property_utf8): Likewise.
30587 (grub_xnu_devprop_add_property_utf16): Likewise.
30588 (hextoval): Likewise.
30589 (grub_cpu_xnu_fill_devprop): Likewise.
30590 (grub_cmd_devprop_load): Likewise.
30591 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
30592 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
30593 (cmd_devprop_load): New variable.
30594 (grub_cpu_xnu_init): New function.
30595 (grub_cpu_xnu_fini): Likewise.
30596 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
30597 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
30598 (grub_cmd_xnu_devtree): Likewise.
30599 (hextoval): New function.
30600 (unescape): Likewise.
30601 (grub_xnu_fill_devicetree): Likewise.
30602
30603 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
30604 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
30605
0945f181
VS
306062009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
30607
30608 Workaround for broken ATI VBE.
30609
30610 * video/i386/pc/vbe.c (last_set_mode): New variable.
30611 (grub_vbe_set_video_mode): Set 'last_set_mode'.
30612 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
30613 (grub_video_vbe_setup): Don't check for reserved flag.
30614
0ad46fd7 306152009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
30616
30617 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
30618 the `find' command.
30619
c179ebe4
VS
306202009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
30621
30622 UUID support for HFS.
30623
30624 * fs/hfs.c (grub_hfs_uuid): New function.
30625 (grub_hfs_fs): New value .uuid.
30626 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
30627
0ad46fd7 306282009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
30629
30630 Fix a segfault with parsing unknown long options.
30631
30632 * util/grub-mkrelpath.c (options): Zero terminate it.
30633
c4a3e41a
CPE
306342009-12-13 Carles Pina i Estany <carles@pina.cat>
30635
30636 * include/grub/misc.h (grub_puts): New declaration.
30637 (grub_puts_): Likewise.
a22008a6 30638 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
30639 (grub_puts_): Likewise.
30640
2e8a7602
RM
306412009-12-13 Robert Millan <rmh.grub@aybabtu.com>
30642
30643 * util/grub-probe.c (probe): Improve error message.
30644
b50b77b9
RM
306452009-12-13 Robert Millan <rmh.grub@aybabtu.com>
30646
30647 * loader/i386/multiboot_elfxx.c
30648 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
30649 initialization.
30650
306512009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
30652
30653 Relocator framework
30654
30655 * loader/i386/xnu_helper.S: Removed. All users updated.
30656 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
30657 (relocator_mod_SOURCES): New variable.
30658 (relocator_mod_CFLAGS): Likewise.
30659 (relocator_mod_LDFLAGS): Likewise.
30660 (relocator_mod_ASFLAGS): Likewise.
30661 * conf/x86_64.rmk: Likewise.
30662 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
30663 (grub_multiboot_payload_entry_offset): Likewise.
30664 (grub_multiboot_forward_relocator): Likewise.
30665 (grub_multiboot_forward_relocator_end): Likewise.
30666 (grub_multiboot_backward_relocator): Likewise.
30667 (grub_multiboot_backward_relocator_end): Likewise.
30668 (grub_multiboot_payload_eip): New variable.
30669 (grub_multiboot_payload_orig): Likewise.
30670 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
30671 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
30672 * include/grub/i386/memory.h
30673 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
30674 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
30675 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
30676 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
30677 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
30678 * include/grub/i386/relocator.h: New file.
30679 * include/grub/x86_64/relocator.h: Likewise.
30680 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
30681 (XNU_RELOCATOR): New macro.
30682 (grub_xnu_launcher_start): Remove.
30683 (grub_xnu_launcher_end): Likewise.
30684 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
30685 (grub_xnu_heap_real_start): Remove.
30686 (grub_xnu_heap_start): Change to void *. All users updated.
30687 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
30688 * lib/i386/relocator.c: New file.
30689 * lib/i386/relocator_asm.S: Likewise.
30690 * lib/i386/relocator_backward.S: Likewise.
30691 * lib/mips/relocator.c: Likewise.
30692 * lib/mips/relocator_asm.S: Likewise.
30693 * lib/relocator.c: Likewise.
30694 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
30695 (entry): Removed.
30696 (playground): Likewise.
30697 (grub_multiboot_payload_orig): New variable.
30698 (grub_multiboot_payload_dest): Likewise.
30699 (grub_multiboot_payload_size): Likewise.
30700 (grub_multiboot_payload_eip): Likewise.
30701 (grub_multiboot_payload_esp): Likewise.
30702 (grub_multiboot_boot): Use grub_relocator32_boot.
30703 (grub_multiboot_unload): Free relocators.
30704 (grub_multiboot): Setup stack. Use relocators.
30705 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
30706 (grub_multiboot_load_elfXX): Use relocators.
30707 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
30708 (grub_multiboot_payload_size): Likewise.
30709 (grub_multiboot_payload_dest): Likewise.
30710 (grub_multiboot_payload_entry_offset): Likewise.
30711 (grub_multiboot_forward_relocator): Likewise.
30712 (grub_multiboot_backward_relocator): Likewise.
30713 (grub_multiboot_real_boot): Likewise.
30714 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
30715 (grub_xnu_entry_point): Likewise.
30716 (grub_xnu_arg1): Likewise.
30717 (grub_xnu_stack): Likewise.
30718 (grub_xnu_launch): Removed.
30719 (grub_xnu_boot_resume): New function.
30720 (grub_xnu_boot): Use relocators.
30721 * loader/i386/xnu_helper.S: Removed.
30722 * loader/xnu.c (grub_xnu_heap_start): New variable.
30723 (grub_xnu_heap_size): Likewise.
30724 (grub_xnu_heap_malloc): Use relocators.
30725 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
30726
29eb90c6
VS
307272009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
30728
30729 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
30730 anything.
30731
31027430
CPE
307322009-12-13 Carles Pina i Estany <carles@pina.cat>
30733
30734 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
30735 GRUB_ERR_NONE before calling grub_env_set.
30736
dc0c71d9
RM
307372009-12-12 Robert Millan <rmh@aybabtu.com>
30738
30739 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
30740 * genmk.rb (video): New variable.
30741 (CLEANFILES, VIDEOFILES): Add #{video}.
30742 (#{video}): New target rule.
30743 * genvideolist.sh: New file.
30744 * Makefile.in (pkglib_DATA): Add video.lst.
30745 (video.lst): New target rule.
30746 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
30747 `video.lst'.
30748 * util/grub.d/30_os-prober.in: Replace `vbe' with
30749 ${GRUB_VIDEO_BACKEND}.
30750
2a4bfcf0
RM
307512009-12-11 Robert Millan <rmh.grub@aybabtu.com>
30752
30753 * THANKS: Add David Miller.
30754
2a3aa4d5
RM
307552009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
30756
30757 libpciaccess support.
30758
30759 * Makefile.in (LIBPCIACCESS): New variable.
30760 (enable_grub_emu_pci): Likewise.
30761 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
30762 util/pci.c and commands/lspci.c.
30763 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
30764 * configure.ac (grub-emu-pci): New option.
30765 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
30766 (grub_pci_device_unmap_range): Likewise.
30767 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
30768 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
30769 (grub_pci_address_t) [!GRUB_UTIL]: New type.
30770 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
30771 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
30772 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
30773 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
30774 * include/grub/pciutils.h: New file.
30775 * util/pci.c: Likewise.
30776
0ad46fd7 307772009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
30778
30779 * util/misc.c: Don't include <errno.h> twice.
30780
0ad46fd7 307812009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
30782
30783 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
30784 name in an error message.
30785 (grub_biosdisk_rw): Likewise.
30786
2e59983c
VS
307872009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
30788
30789 Eliminate NTFS 4Gib barrier.
30790
30791 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
30792 (read_run_data): Likewise.
30793 (grub_ntfs_read_run_list): Likewise.
30794 (grub_ntfs_read_block): Likewise.
30795 (grub_ntfs_iterate_dir): Likewise.
30796 (read_mft): Likewise.
30797 (read_data): Likewise.
30798 Use COM_LOG_LEN.
30799 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
30800 to avoid 64-bit division
30801 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
30802 (grub_ntfs_rlst): Use grub_disk_addr_t.
30803
71ee178a
VS
308042009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
30805
30806 Eliminate grub-fstest 4Gib barrier.
30807
30808 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
30809 (read_file): Fix error reporting.
30810
2520d4b8
VS
308112009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
30812
30813 Eliminate hexdump 4Gib barrier.
30814
30815 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
30816 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
30817
e1f27065
VS
308182009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
30819
30820 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
30821 Fixes amarsh bug.
30822
1a0f7f45
RM
308232009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
30824
30825 Remove miscellaneous files in distclean target.
30826
30827 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
30828
c631d9fb
CW
308292009-12-09 Colin Watson <cjwatson@ubuntu.com>
30830
30831 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
30832 if they're already set. This resolves the conflict between my
30833 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
30834 fixing the --grub-probe option again.
30835 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
30836 change on 2009-10-06, so that we now once again source
30837 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
30838
7c7b6106
RM
308392009-12-08 Robert Millan <rmh.grub@aybabtu.com>
30840
30841 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
30842 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
30843 `util/devicemap.c'.
30844
e3069ec1
CPE
308452009-12-08 Carles Pina i Estany <carles@pina.cat>
30846
30847 * include/grub/misc.h (grub_printf_): New declaration.
30848 * kern/misc.c (grub_printf_): New definition.
30849 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
30850 instead of `grub_printf' and `_'.
30851 * normal/menu_entry.c (store_completion): Likewise.
30852 (run): Likewise.
30853 (grub_menu_entry_run): Likewise.
30854 * normal/menu_text.c (grub_wait_after_message): Likewise.
30855 (notify_booting): Likewise.
30856 (notify_fallback): Likewise.
30857 (notify_execution_failure): Likewise.
30858
d6ceebf1
CW
308592009-12-07 Colin Watson <cjwatson@ubuntu.com>
30860
30861 * configure.ac: Check for vasprintf.
30862 * util/misc.c (asprintf): Move allocation from here ...
30863 (vasprintf): ... to here. New function.
30864 (xasprintf): New function.
30865 * include/grub/util/misc.h (vasprintf, xasprintf): Add
30866 prototypes.
30867 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
30868 * util/grub-mkfont.c (write_font): Likewise.
30869 * util/grub-probe.c (probe): Likewise.
30870 * util/hostdisk.c (make_device_name): Likewise.
30871
de6daa8b
DM
308722009-12-06 David S. Miller <davem@sunset.davemloft.net>
30873
30874 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
30875 anything even prefixed with 'cdrom' as a cdrom.
30876
0ad46fd7 308772009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
30878
30879 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
30880 mount points.
30881
98d3dc02
CPE
308822009-12-05 Carles Pina i Estany <carles@pina.cat>
30883
30884 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
30885 grub_gettext_msg_list.
30886 (grub_gettext_gettranslation_from_position): Return const char *
30887 and not char *.
a2c1332b 30888 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
30889 returns from the list if existing there.
30890 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
30891 (grub_gettext_delete_list): Delete the list.
30892 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
30893 lang environment variable is changed.
30894 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
30895
b283f108
VS
308962009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
30897
30898 Rename kernel.mod to kernel.img.
30899
30900 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
30901 (kernel_mod_EXPORTS): Rename to ...
30902 (kernel_img_EXPORTS): ... this.
30903 (kernel_mod_SOURCES): Rename to ...
30904 (kernel_img_SOURCES): ... this.
30905 (kernel_mod_HEADERS): Rename to ...
30906 (kernel_img_HEADERS): ... this. All users updated.
30907 (kernel_mod_CFLAGS): Rename to ...
30908 (kernel_img_CFLAGS): ... this.
30909 (kernel_mod_ASFLAGS): Rename to ...
30910 (kernel_img_ASFLAGS): ... this.
30911 (kernel_mod_LDFLAGS): Rename to ...
30912 (kernel_img_LDFLAGS): ... this.
30913 * conf/x86_64-efi.rmk: Likewise.
30914 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
30915 (read_kernel_image): ... this. All users updated.
30916 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
30917
69055f8a
CPE
309182009-12-05 Carles Pina i Estany <carles@pina.cat>
30919
30920 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
30921 (print_spaces): New function.
30922 (grub_print_ucs4): New function.
30923 (getstringwidth): New function.
30924 (print_message_indented): New function.
30925 (print_message): Gettexttize strings using print_message_indented.
30926 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
30927 width.
30928 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 30929 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
30930 Gettextize.
30931 * normal/menu_entry.c (store_completion): Cleanup the gettextized
30932 string.
30933 (run): Likewise.
30934 (grub_menu_entry_run): Likewise.
30935 * PO/POTFILES: Add normal/menu_entry.c.
30936
f616f51c
VS
309372009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
30938
30939 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
30940
57bbe3be
CPE
309412009-12-05 Carles Pina i Estany <carles@pina.cat>
30942
30943 * util/grub-install.in: Install gettext .mo files.
30944 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
30945
013d67a1
CPE
309462009-12-05 Carles Pina i Estany <carles@pina.cat>
30947
30948 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
30949 grub_dprintf.
30950
fb954db0
RM
309512009-12-05 Robert Millan <rmh.grub@aybabtu.com>
30952
30953 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
30954 non-firmware-dependant one in realmode.S takes precedence.
30955
6b8474f8
RM
309562009-12-04 Robert Millan <rmh.grub@aybabtu.com>
30957
30958 * commands/halt.c: Replace misc arch-specific headers with
30959 `<grub/misc.h>'.
30960 * commands/reboot.c: Likewise.
30961 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
30962 `<grub/misc.h>'.
30963 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
30964 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
30965 (kernel_img_SOURCES): ... to here.
30966
30967 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
30968 * include/grub/i386/pc/init.h: Likewise.
30969 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
30970 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
30971
30972 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
30973
30974 * include/grub/i386/halt.h: Remove.
30975 * include/grub/i386/reboot.h: Likewise.
30976
30977 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
30978
4b2e6ca2
DM
309792009-12-03 David S. Miller <davem@sunset.davemloft.net>
30980
30981 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
30982 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
30983 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
30984 "progname.h"
30985 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
30986 * util/sparc64/ieee1275/grub-setup.c: Likewise.
30987 (usage): Add missing comma in printf.
30988
5239348f
RM
309892009-12-02 Robert Millan <rmh.grub@aybabtu.com>
30990
30991 Use the same reboot approach on i386 coreboot and qemu as we do on
30992 BIOS.
30993
30994 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
30995 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
30996 * kern/i386/reboot.c: Remove.
30997 * include/grub/i386/reboot.h (grub_reboot): Export function.
30998 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
30999 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
31000 0xf000:0xfff0 instead of 0xffff:0x0000.
31001 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
31002 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
31003
ef34cbd4
RM
310042009-11-30 Robert Millan <rmh.grub@aybabtu.com>
31005
31006 Fix $srcdir != $objdir build.
31007
31008 * Makefile.in (po/%.po): Rewrite as ...
31009 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
31010
dc9837ea
ST
310112009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
31012
31013 Fix GNU/Hurd grub-install crash.
31014 * util/grub-probe.c (probe): Try to access `path' only when it is not
31015 NULL.
31016
2f857f98
VS
310172009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31018
31019 Correct module naming.
31020
31021 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31022 (GRUB_MOD_INIT(efi_uga)): ... to this
31023 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31024 (GRUB_MOD_FINI(efi_uga)): ... to this
31025 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31026 (GRUB_MOD_INIT(efi_gop)): ... to this
31027 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31028 (GRUB_MOD_FINI(efi_gop)): ... to this
31029
c5448046
RM
310302009-11-28 Robert Millan <rmh.grub@aybabtu.com>
31031
31032 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
31033 translatable.
31034 (usage): Translate `arg' strings using gettext().
31035 Thanks to Jordi Mallach for the suggestion.
31036
c85184ad
VS
310372009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31038
31039 GOP support. Based on patch from Bean
31040 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
31041
31042 * video/efi_gop.c: New file.
31043 * include/grub/efi/graphics_output.h: Likewise.
31044 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
31045 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
31046 variables.
31047 * conf/x86_64-efi.rmk: Likewise.
31048
8a4c48d8
VS
310492009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31050
31051 Rename efi_fb to efi_uga.
31052
31053 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31054 'efi_uga.mod'.
31055 (efi_fb_mod_SOURCES): Rename this ...
31056 (efi_uga_mod_SOURCES): ... to this.
31057 (efi_fb_mod_CFLAGS): Rename this ...
31058 (efi_uga_mod_CFLAGS): ... to this.
31059 (efi_fb_mod_LDFLAGS): Rename this ...
31060 (efi_uga_mod_LDFLAGS): ... to this.
31061 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31062 'efi_uga.mod'.
31063 (efi_fb_mod_SOURCES): Rename this ...
31064 (efi_uga_mod_SOURCES): ... to this.
31065 (efi_fb_mod_CFLAGS): Rename this ...
31066 (efi_uga_mod_CFLAGS): ... to this.
31067 (efi_fb_mod_LDFLAGS): Rename this ...
31068 (efi_uga_mod_LDFLAGS): ... to this.
31069 * video/efi_fb.c: Move this ...
31070 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
31071
fb6c1a7b
RM
310722009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31073
31074 * po/README: New file. Explain our PO file workflow.
31075
3bc7896c
RM
310762009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31077
31078 * po/ChangeLog: Remove. Move relevant entries back to ...
31079 * ChangeLog: ... here.
31080 * po/ca.po: Remove (now handled by TLP).
31081 * po/id.po: Likewise.
31082 * po/zh_CN.po: Likewise.
31083 * Makefile.in (LINGUAS): Initialize in a way that supports
31084 empty set.
31085
9ed4841d
RM
310862009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31087
31088 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
31089 reliing on po/LINGUAS.
31090 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
31091 (po/%.po): ... this.
31092
0ad46fd7 310932009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
31094
31095 * util/i386/efi/grub-mkimage.c: Include "progname.h".
31096 (main): Use `program_name' instead of nonexistent `progname'.
31097
e30dd392
FZ
310982009-11-26 Felix Zielcke <fzielcke@z-51.de>
31099
31100 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31101 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
31102
7656de4f
RM
311032009-11-26 Robert Millan <rmh.grub@aybabtu.com>
31104
31105 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
31106 commit.
31107 * conf/i386-efi.rmk: Likewise.
31108 * conf/i386-ieee1275.rmk: Likewise.
31109 * conf/powerpc-ieee1275.rmk: Likewise.
31110 * conf/sparc64-ieee1275.rmk: Likewise.
31111 * conf/x86_64-efi.rmk: Likewise.
31112
db77c4d4
FZ
311132009-11-26 Felix Zielcke <fzielcke@z-51.de>
31114
31115 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
31116
a755bb04
FZ
311172009-11-26 Felix Zielcke <fzielcke@z-51.de>
31118
31119 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
31120
8a4c07fd
RM
311212009-11-26 Robert Millan <rmh.grub@aybabtu.com>
31122
31123 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
31124 (grub_mkdevicemap_SOURCES): New variable.
31125 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
31126 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
31127 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
31128 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
31129 (grub_mkdevicemap_SOURCES): Remove.
31130 * conf/i386-efi.rmk: Likewise.
31131 * conf/i386-ieee1275.rmk: Likewise.
31132 * conf/i386-pc.rmk: Likewise.
31133 * conf/powerpc-ieee1275.rmk: Likewise.
31134 * conf/sparc64-ieee1275.rmk: Likewise.
31135 * conf/x86_64-efi.rmk: Likewise.
31136 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
31137 (usage): Fix strings to use `program_name'.
31138 (main): Initialize gettext.
31139 * util/grub-editenv.c: Likewise.
31140 * util/grub-emu.c: Likewise.
31141 * util/grub-fstest.c: Likewise.
31142 * util/grub-mkdevicemap.c: Likewise.
31143 * util/grub-mkfont.c: Likewise.
31144 * util/grub-mkrelpath.c: Likewise.
31145 * util/grub-pe2elf.c: Likewise.
31146 * util/grub-probe.c: Likewise.
31147 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
31148 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
31149 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31150
31151 * util/misc.c: Include `"progname.h"'.
31152 (progname): Remove variable.
31153 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
31154
6f61ed55
FZ
311552009-11-25 Felix Zielcke <fzielcke@z-51.de>
31156
31157 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
31158 printf and print a newline after the menuentry header line.
31159 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
31160
f022876b
FZ
311612009-11-25 Felix Zielcke <fzielcke@z-51.de>
31162
31163 autoconf >= 2.60 support $(localedir).
31164
31165 * INSTALL: Note that autoconf 2.60 is required.
31166 * configure.ac (AC_PREREQ): Bump to 2.60.
31167 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
31168 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
31169
6717926e
YB
311702009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
31171
31172 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
31173 aclocal is run.
31174
08806a54
RM
311752009-11-25 Robert Millan <rmh.grub@aybabtu.com>
31176
31177 * normal/main.c (grub_normal_read_line): Fix off-by-one
31178 buffer overflow.
31179
13b33fba
RM
311802009-11-25 Robert Millan <rmh.grub@aybabtu.com>
31181
31182 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
31183 "parser.grub" in grub_command_execute() call.
31184
4a8572e9
CPE
311852009-11-24 Carles Pina i Estany <carles@pina.cat>
31186
31187 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
31188 * conf/i386-efi.rmk: Likewise.
31189 * conf/i386-ieee1275.rmk: Likewise.
31190 * conf/i386-pc.rmk: Likewise.
31191 * conf/powerpc-ieee1275.rmk: Likewise.
31192 * conf/sparc64-ieee1275.rmk: Likewise.
31193 * conf/x86_64-efi.rmk: Likewise.
31194 * gettext/gettex.c: Include <grub/i18n.h>.
31195 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
31196 here ...
31197 * include/grub/i18n.h: ... to here
31198 * include/grub/i18n.h: ... to here.
31199 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 31200 (grub_gettext_dummy): Move above user.
4a8572e9 31201
bee48093
FZ
312022009-11-24 Felix Zielcke <fzielcke@z-51.de>
31203
31204 * util/Makefile.in (install-local): Convert a `for' into a normal
31205 shell expansion.
31206
a031e91c
RM
312072009-11-24 Robert Millan <rmh.grub@aybabtu.com>
31208
31209 * autogen.sh: Add automake call.
31210 * config.guess: Remove.
31211 * config.sub: Likewise.
31212 * install-sh: Likewise.
31213
26bec39d
FZ
312142009-11-24 Felix Zielcke <fzielcke@z-51.de>
31215
31216 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
31217
8e2532fd
FZ
312182009-11-24 Felix Zielcke <fzielcke@z-51.de>
31219
31220 * util/Makefile.in (install-local): Convert a make `$(foreach)'
31221 function to a normal shell `for'.
31222
fefa1b7d
FZ
312232009-11-24 Felix Zielcke <fzielcke@z-51.de>
31224
31225 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31226
4501250b
FZ
312272009-11-24 Felix Zielcke <fzielcke@z-51.de>
31228
31229 * util/grub-mkrelpath.c: New file.
31230 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
31231 (grub_mkrelpath_SOURCES): New variable.
31232 * include/grub/util/misc.h: New function prototype.
31233 * util/misc.c (make_system_path_relative_to_its_root): New function.
31234
31235 * util/grub-mkconfig_lib.in (bindir): New variable.
31236 (grub_mkrelpath): Likewise.
31237 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
31238
31239 * util/probe.c (probe): Make the file path relative to its root.
31240 Change a info message to use the GRUB path. Enable again the
31241 check if we can read the file with GRUB facilities.
31242
31243 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
31244 to its root.
31245
11d9778b
FZ
312462009-11-24 Felix Zielcke <fzielcke@z-51.de>
31247
31248 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
31249 platform.
31250
4465287d
FZ
312512009-11-24 Felix Zielcke <fzielcke@z-51.de>
31252
31253 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
31254 strncmp().
31255
62b47f22
FZ
312562009-11-24 Felix Zielcke <fzielcke@z-51.de>
31257
31258 * util/getroot.c (grub_util_is_dmraid): New function.
31259 (grub_util_get_dev_abstraction): Treat dmraid and multipath
31260 devices as normal ones, not as LVM.
31261
1eafb9b9 312622009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
31263
31264 * conf/common.rmk: Add grub-gettext_lib target and updates
31265 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
31266 LDFLAGS.
31267 * gettext/gettext.c: New file. (Reads mo files).
31268 * include/grub/file.h (grub_file_pread): New prototype.
31269 * include/grub/i18n.h (_): New prototype.
31270 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
31271 prototypes.
31272 * kern/misc.c (grub_gettext_dummy): New function.
31273 * normal/menu_text.c: Include <grub/i18n.h>.
31274 * normal/menu_text.c (print_timeout): Gettexttize string.
31275 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
31276 * po/POTFILES: Add `normal/menu_text.c'.
31277 * po/ca.po: Add new translations.
c3ea6bd4
CPE
31278 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
31279 gettext module and defines locale_dir and lang in grub.cfg.
31280 * NEWS: Add gettext support.
31281
0fdb2568
RM
312822009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31283
31284 * util/hostdisk.c: Include `<grub/i18n.h>'.
31285 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
31286 (make_device_name): Rewrite using asprintf.
31287 (convert_system_partition_to_system_disk): Replace 0 with NULL.
31288 (find_system_device): If a device is not found, generate one just
31289 by reusing the OS path name.
31290 (read_device_map): Make it permissible for device.map not to exist.
31291
f515aa62
RM
312922009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31293
31294 * script/sh/execute.c: Move from here ...
31295 * script/execute.c: ... to here. Update all users.
31296 * script/sh/function.c: Move from here ...
31297 * script/function.c: ... to here. Update all users.
31298 * script/sh/lexer.c: Move from here ...
31299 * script/lexer.c: ... to here. Update all users.
31300 * script/sh/main.c: Move from here ...
31301 * script/main.c: ... to here. Update all users.
31302 * script/sh/parser.y: Move from here ...
31303 * script/parser.y: ... to here. Update all users.
31304 * script/sh/script.c: Move from here ...
31305 * script/script.c: ... to here. Update all users.
31306
f84b481b
RM
313072009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31308
31309 * configure.ac: Detect all `emu' platforms. Define
31310 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
31311 --enable-grub-emu logic. Disable include/grub/machine
31312 symlink on `emu' platforms.
31313
31314 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
31315 * gensymlist.sh.in: Likewise.
31316
31317 * include/grub/i386/coreboot/machine.h: Remove file.
31318 * include/grub/i386/efi/machine.h: Likewise.
31319 * include/grub/i386/ieee1275/machine.h: Likewise.
31320 * include/grub/i386/pc/machine.h: Likewise.
31321 * include/grub/i386/qemu/machine.h: Likewise.
31322 * include/grub/powerpc/ieee1275/machine.h: Likewise.
31323 * include/grub/sparc64/ieee1275/machine.h: Likewise.
31324 * include/grub/x86_64/efi/machine.h: Likewise.
31325
31326 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
31327 * commands/halt.c: Likewise.
31328 * commands/reboot.c: Likewise.
31329 * include/grub/autoefi.h: Likewise.
31330 * include/grub/i386/at_keyboard.h: Likewise.
31331 * include/grub/i386/kernel.h: Likewise.
31332 * include/grub/i386/loader.h: Likewise.
31333 * include/grub/i386/pc/memory.h: Likewise.
31334 * kern/dl.c: Likewise.
31335 * kern/i386/coreboot/init.c: Likewise.
31336 * loader/i386/bsd.c: Likewise.
31337 * loader/i386/linux.c: Likewise.
31338 * loader/multiboot_loader.c: Likewise.
31339 * term/i386/pc/serial.c: Likewise.
31340 * term/usb_keyboard.c: Likewise.
31341
31342 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
31343 `<grub/machine/machine.h>'
31344 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
31345 * util/misc.c: Remove `<grub/machine/machine.h>' and
31346 `<grub/machine/time.h>'.
31347
31348 * Makefile.in (enable_grub_emu): Remove variable.
31349 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
31350
31351 * conf/any-emu.rmk: New file.
31352 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
31353 (grub_emu_init.c): Move from here ...
31354 * conf/any-emu.rmk: ... to here.
31355
31356 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
31357 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
31358 * conf/any-emu.rmk: ... to here.
31359
4efeab03
RM
313602009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31361
31362 * include/grub/parser.h (grub_parser_register): Document need
31363 of `name' parameter.
31364 * normal/main.c (grub_normal_read_line): Simplify prompt string.
31365 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
31366 "sh" to "grub".
31367
ea1dd8bf
RM
313682009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31369
31370 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
31371 `$(XGETTEXT)'.
31372 * include/grub/i18n.h (N_): New macro.
31373 * util/mkisofs/mkisofs.h: Likewise.
31374 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
31375 around N_().
31376 (usage): Use gettext() to translate help strings when printing them.
31377
0c140626
RM
313782009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31379
31380 Based on patch from Bean
31381 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
31382
31383 * video/efi_fb.c: New file.
31384 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
31385 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
31386 variables.
31387 * conf/x86_64-efi.rmk: Likewise.
31388
87d58298
RM
313892009-11-22 Robert Millan <rmh.grub@aybabtu.com>
31390
31391 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
31392 * util/i386/pc/grub-setup.c: Likewise.
31393
994cc3a3
ST
313942009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
31395
31396 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
31397 <hurd/fs.h>
31398 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
31399 file_get_storage_info to implement grub_guess_root_device.
31400
26a61d6a
FZ
314012009-11-21 Felix Zielcke <fzielcke@z-51.de>
31402
31403 * Makefile.in (target): Use make's builtin $(shell) function
31404 instead of calling directly $(SHELL) to create the locale directories,
31405 inside the $(foreach) function.
31406
74ff1dd5
FZ
314072009-11-21 Felix Zielcke <fzielcke@z-51.de>
31408
31409 * util/grub-mkrescue.in: Print an error and usage if output option
31410 has not been given.
31411
0b787d0e
FZ
314122009-11-21 Felix Zielcke <fzielcke@z-51.de>
31413
31414 Patch from Loïc Minier <loic.minier@ubuntu.com>.
31415 * util/grub.d/30_os-prober.in: Cope with Linux entries where
31416 root and /boot are on different devices.
31417
1164b270
RM
314182009-11-21 Robert Millan <rmh.grub@aybabtu.com>
31419
31420 Fix build for srcdir != objdir.
31421
31422 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
31423 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
31424 $(srcdir).
31425 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
31426 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
31427 reference for input.
31428
13774a2f
RM
314292009-11-21 Robert Millan <rmh.grub@aybabtu.com>
31430
31431 * util/grub-mkrescue.in: Use source directory direcly (without copiing
31432 or hardlinking it). Remove -J option, Joliet is not compatible with
31433 multiple source directories.
31434
efda854e
RM
314352009-11-21 Carles Pina i Estany <carles@pina.cat>
314362009-11-21 Robert Millan <rmh.grub@aybabtu.com>
31437
31438 * util/grub-mkrescue.in: Recognize `--override-directory' option.
31439 (process_input_dir): New function. Process an arbitrary input
31440 directory.
31441 Misc adjustments to support both "override mode" and system-wide mode.
31442
6c09890c
FZ
314432009-11-20 Felix Zielcke <fzielcke@z-51.de>
31444
31445 * configure.ac (UNIFONT_BDF): Rename to ...
31446 (FONT_SOURCE): ... this. Update all users.
31447
a797824f
FZ
314482009-11-20 Felix Zielcke <fzielcke@z-51.de>
31449
31450 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
31451 to the list of unifont files to look for.
31452
cd4f42b0
RM
314532009-11-19 Robert Millan <rmh.grub@aybabtu.com>
31454
31455 Patch from Joe Auricchio <jauricchio@gmail.com>
31456 * commands/minicmd.c (grub_mini_cmd_clear): New function.
31457 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
31458 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
31459
393c783d
FZ
314602009-11-19 Felix Zielcke <fzielcke@z-51.de>
31461
31462 * Makefile.in (install-local): Add a missing backslash.
31463
b2f1e327
FZ
314642009-11-19 Felix Zielcke <fzielcke@z-51.de>
31465
31466 * include/grub/x86_64/io.h: New file.
31467
f577f7a0
RM
314682009-11-19 Robert Millan <rmh.grub@aybabtu.com>
31469
31470 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
31471 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
31472 Include `"progname.h"'.
31473 (main): Initialize gettext.
31474 * util/i386/pc/grub-setup.c: Gettexttize.
31475 * util/i386/pc/grub-mkimage.c: Likewise.
31476
31477 * Makefile.in (po/*.po): Redefine as ...
31478 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
31479
3bc7896c
RM
31480 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
31481
c37943b6
RM
314822009-11-19 Robert Millan <rmh.grub@aybabtu.com>
31483
31484 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
31485 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
31486 (program_name): Remove.
31487 (main): Initialize gettext support.
6323f705
RM
31488 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
31489 Include `<libintl.h>'.
31490 (_): New macro.
c37943b6
RM
31491
31492 * util/mkisofs/eltorito.c: Gettexttize.
31493 * util/mkisofs/joliet.c: Likewise.
31494 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
31495 * util/mkisofs/multi.c: Likewise.
31496 * util/mkisofs/rock.c: Likewise.
31497 * util/mkisofs/tree.c: Likewise.
31498 * util/mkisofs/write.c: Likewise.
31499
3bc7896c
RM
31500 * po/POTFILES: Update with new files.
31501
5ce77c6e
RM
315022009-11-18 Robert Millan <rmh.grub@aybabtu.com>
31503
31504 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
31505 * util/mkisofs/iso9660.h: Likewise.
31506 * util/mkisofs/joliet.c: Likewise.
31507 * util/mkisofs/mkisofs.c: Likewise.
31508 * util/mkisofs/mkisofs.h: Likewise.
31509 * util/mkisofs/rock.c: Likewise.
31510 * util/mkisofs/tree.c: Likewise.
31511 * util/mkisofs/write.c: Likewise.
31512
31513 * util/mkisofs/eltorito.c (rcsid): Remove.
31514 * util/mkisofs/hash.c: Likewise.
31515 * util/mkisofs/joliet.c: Likewise.
31516 * util/mkisofs/name.c: Likewise.
31517 * util/mkisofs/rock.c: Likewise.
31518 * util/mkisofs/tree.c: Likewise.
31519 * util/mkisofs/write.c: Likewise.
31520
1dabbc77
RM
315212009-11-18 Robert Millan <rmh.grub@aybabtu.com>
31522
31523 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
31524 instead of static allocation.
31525 * util/mkisofs/match.h: Likewise.
31526
633877cb
RM
315272009-11-18 Robert Millan <rmh.grub@aybabtu.com>
31528
3bc7896c
RM
31529 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
31530 and `util/grub.d/10_linux.in'.
633877cb
RM
31531 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
31532 translatable Shell files.
31533
af1c0c85
RM
315342009-11-18 Robert Millan <rmh.grub@aybabtu.com>
31535
31536 * Makefile.in ($(srcdir)/aclocal.m4): New target.
31537
769ae37b
RM
315382009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31539
31540 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 31541 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
31542 * util/grub.d/10_kfreebsd.in (bindir): New variable.
31543 Add gettext initialization.
31544 (kfreebsd_entry): Make menuentry output translatable.
31545
315462009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31547
31548 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
31549 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
31550 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
31551 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
31552 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 31553 * po/LINGUAS: New file.
769ae37b
RM
31554
315552009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31556
31557 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
31558 other things).
31559 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
31560 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
31561 bindtextdomain() calls for gettext initialization.
31562
315632009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31564
31565 * gnulib/progname.c: New file (imported from Gnulib).
31566 * gnulib/progname.h: Likewise.
31567 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31568 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
31569 (usage): Replace `progname' with `program_name'.
31570 (main): Use set_program_name() for program name initialization.
31571
315722009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31573
31574 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
31575 from here ...
31576 * Makefile.in (CPPFLAGS): ... to here.
31577
315782009-11-16 Robert Millan <rmh.grub@aybabtu.com>
31579
31580 * aclocal.m4: Move from here ...
31581 * acinclude.m4: ... to here.
31582 * autogen.sh: Add call to `aclocal'.
31583 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
31584
315852009-11-16 Robert Millan <rmh.grub@aybabtu.com>
31586
31587 * Makefile.in (CLEANFILES): Add `po/*.mo'.
31588 (LINGUAS): New variable.
31589 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
31590 (install-local): Install MO files.
31591 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
31592 * include/grub/i18n.h: New file.
3bc7896c
RM
31593 * po/POTFILES: New file.
31594 * po/ca.po: New file.
769ae37b
RM
31595 * util/grub.d/10_linux.in (bindir): New variable.
31596 Add gettext initialization.
31597 (linux_entry): Make menuentry output translatable.
31598 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
31599 (usage): Make --help output translatable.
31600 (main): Initialize gettext.
31601
02c0a6ad
RM
316022009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31603
31604 * import_gcry.py: New file (written by Vladimir with minor
31605 adjustments).
31606 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
31607 ciphers.
31608 * INSTALL: Document that Python is required for bootstrap.
31609
316102009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31611
31612 Import ciphers from libgcrypt 1.4.4.
31613
31614 * lib/libgcrypt/cipher/ChangeLog
31615 * lib/libgcrypt/cipher/ac.c
31616 * lib/libgcrypt/cipher/arcfour.c
31617 * lib/libgcrypt/cipher/bithelp.h
31618 * lib/libgcrypt/cipher/blowfish.c
31619 * lib/libgcrypt/cipher/camellia-glue.c
31620 * lib/libgcrypt/cipher/camellia.c
31621 * lib/libgcrypt/cipher/camellia.h
31622 * lib/libgcrypt/cipher/cast5.c
31623 * lib/libgcrypt/cipher/cipher.c
31624 * lib/libgcrypt/cipher/crc.c
31625 * lib/libgcrypt/cipher/des.c
31626 * lib/libgcrypt/cipher/dsa.c
31627 * lib/libgcrypt/cipher/ecc.c
31628 * lib/libgcrypt/cipher/elgamal.c
31629 * lib/libgcrypt/cipher/hash-common.c
31630 * lib/libgcrypt/cipher/hash-common.h
31631 * lib/libgcrypt/cipher/hmac-tests.c
31632 * lib/libgcrypt/cipher/md.c
31633 * lib/libgcrypt/cipher/md4.c
31634 * lib/libgcrypt/cipher/md5.c
31635 * lib/libgcrypt/cipher/primegen.c
31636 * lib/libgcrypt/cipher/pubkey.c
31637 * lib/libgcrypt/cipher/rfc2268.c
31638 * lib/libgcrypt/cipher/rijndael-tables.h
31639 * lib/libgcrypt/cipher/rijndael.c
31640 * lib/libgcrypt/cipher/rmd.h
31641 * lib/libgcrypt/cipher/rmd160.c
31642 * lib/libgcrypt/cipher/rsa.c
31643 * lib/libgcrypt/cipher/seed.c
31644 * lib/libgcrypt/cipher/serpent.c
31645 * lib/libgcrypt/cipher/sha1.c
31646 * lib/libgcrypt/cipher/sha256.c
31647 * lib/libgcrypt/cipher/sha512.c
31648 * lib/libgcrypt/cipher/tiger.c
31649 * lib/libgcrypt/cipher/twofish.c
31650 * lib/libgcrypt/cipher/whirlpool.c
31651
af2f93ac
RM
316522009-11-16 Robert Millan <rmh.grub@aybabtu.com>
31653
31654 Fix build for systems without error().
31655
31656 * gnulib/error.c: New file (imported from Gnulib).
31657 * gnulib/error.h: Likewise.
31658 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
31659 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
31660 (this variable is now used by error()).
31661
73fb3dd5
FZ
316622009-11-16 Felix Zielcke <fzielcke@z-51.de>
31663
814f5e96
FZ
31664 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
31665 instead of relying that char is signed.
73fb3dd5 31666
a691ca33
VS
316672009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
31668
31669 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
31670 blocksize different from specified.
31671 (grub_pxefs_read): Likewise.
31672
2af8f0f4
FZ
316732009-11-16 Felix Zielcke <fzielcke@z-51.de>
31674
31675 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
31676
31677 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
31678 (grub_ata_readwrite): Likewise. Update 2 format strings.
31679 (grub_atapi_read): Likewise.
31680
31681 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
31682 * conf/i386.rmk (pkglib_MODULES): ... to here ...
31683 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
31684 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
31685 (ata_mod_LDFLAGS): Move from here ...
31686 * conf/i386.rmk: ... to here ...
31687 * conf/x86_64-efi.rmk: ... and here.
31688 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
31689 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
31690
83bdecaf
RM
316912009-11-16 Robert Millan <rmh.grub@aybabtu.com>
31692
31693 Relicense multiboot.h, with RMS' blessing.
31694
31695 * include/multiboot.h: Change to X11 license.
31696
fd6fd3d7
RM
316972009-11-15 Robert Millan <rmh.grub@aybabtu.com>
31698
31699 Support --version in grub-mkisofs.
31700
31701 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
31702 (OPTION_VERSION): New macro.
31703 (ld_options): Recognize --version.
31704 (usage): Move `program_name' from here ...
31705 (program_name): ... to here. Add `static' qualifier.
31706 (main): Recognize `OPTION_VERSION'.
31707
16a88c49
FZ
317082009-11-15 Felix Zielcke <fzielcke@z-51.de>
31709
31710 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
31711 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
31712
a4158476
RM
317132009-11-14 Robert Millan <rmh.grub@aybabtu.com>
31714
31715 Fix help2man generation for mkisofs.
31716
31717 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
31718 (usage): Send output to stdout (rather than stderr).
31719
fc2208b0
RM
317202009-11-14 Robert Millan <rmh.grub@aybabtu.com>
31721
31722 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
31723 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
31724 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
31725 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
31726 (bin_SCRIPTS): Add `grub-mkfloppy'.
31727 (grub_mkfloppy_SOURCES): New variable.
31728
31729 * util/grub-mkrescue.in: New file.
31730 * util/i386/pc/grub-mkfloppy.in: New file.
31731
31732 * util/i386/coreboot/grub-mkrescue.in: Remove.
31733 * util/i386/pc/grub-mkrescue.in: Remove.
31734
8d0edf4a
RM
317352009-11-13 Robert Millan <rmh.grub@aybabtu.com>
31736
31737 * include/grub/multiboot.h (struct grub_multiboot_header): Move
31738 from here ...
31739 * include/multiboot.h (struct multiboot_header): ... to here. Update
31740 all users.
31741 * include/grub/multiboot.h (struct grub_multiboot_info): Move
31742 from here ...
31743 * include/multiboot.h (struct multiboot_info): ... to here. Update
31744 all users.
31745 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
31746 from here ...
31747 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
31748 Update all users.
31749 * include/grub/multiboot.h (struct grub_mod_list): Move
31750 from here ...
31751 * include/multiboot.h (struct multiboot_mod_list): ... to here.
31752 Update all users.
31753
a73f5969
RM
317542009-11-13 Robert Millan <rmh.grub@aybabtu.com>
31755
31756 * include/multiboot2.h (multiboot_word): Rename from this ...
31757 (multiboot2_word): ... to this. Update all users.
31758 (multiboot_header): Rename from this ...
31759 (multiboot2_header): ... to this. Update all users.
31760 (multiboot_tag_header): Rename from this ...
31761 (multiboot2_tag_header): ... to this. Update all users.
31762 (multiboot_tag_start): Rename from this ...
31763 (multiboot2_tag_start): ... to this. Update all users.
31764 (multiboot_tag_name): Rename from this ...
31765 (multiboot2_tag_name): ... to this. Update all users.
31766 (multiboot_tag_module): Rename from this ...
31767 (multiboot2_tag_module): ... to this. Update all users.
31768 (multiboot_tag_memory): Rename from this ...
31769 (multiboot2_tag_memory): ... to this. Update all users.
31770 (multiboot_tag_unused): Rename from this ...
31771 (multiboot2_tag_unused): ... to this. Update all users.
31772 (multiboot_tag_end): Rename from this ...
31773 (multiboot2_tag_end): ... to this. Update all users.
31774
1c8927f0
RM
317752009-11-13 Robert Millan <rmh.grub@aybabtu.com>
31776
31777 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
31778 this platform we should support Multiboot1 first.
31779
31780 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
31781 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
31782 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
31783
6e1e0d89
RM
317842009-11-12 Robert Millan <rmh.grub@aybabtu.com>
31785
31786 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
31787 of write calls (converting them to fwrite() if they aren't already).
31788 (get_torito_desc): Likewise.
31789 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
31790
7f2b34d8
RM
317912009-11-12 Robert Millan <rmh.grub@aybabtu.com>
31792
31793 * util/i386/pc/grub-install.in: Move from here ...
31794 * util/grub-install.in: ... to here. Update all users.
31795
c0ef3311
CW
317962009-11-11 Colin Watson <cjwatson@ubuntu.com>
31797
31798 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
31799
e1f240ff
RM
318002009-11-11 Robert Millan <rmh.grub@aybabtu.com>
31801
31802 Support for El Torito without floppy emulation.
31803
31804 * util/mkisofs/eltorito.c: Include `<errno.h>'.
31805 (init_boot_catalog): Improve error handling.
31806 (get_torito_desc): Don't use floppy emulation unless requested by
31807 user. Patch boot information table when requested via
31808 `-boot-info-table'.
31809 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
31810 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
31811 (use_boot_info_table): New variables.
31812 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
31813 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
31814 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
31815 `--eltorito-emul-floppy'.
31816 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
31817 and `OPTION_ELTORITO_EMUL_FLOPPY'.
31818 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
31819 (use_boot_info_table, get_731): New prototypes.
31820 * util/mkisofs/write.c (get_731): New function.
31821
af7d4de5
FZ
318222009-11-11 Felix Zielcke <fzielcke@z-51.de>
31823
31824 Fix the generation of the man page.
31825
31826 * util/pc/i386/grub-install.in: Source
31827 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
31828
2c55dbc0
RM
318292009-11-11 Robert Millan <rmh.grub@aybabtu.com>
31830
31831 Large file support for grub-mkisofs.
31832
31833 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
31834 * util/mkisofs/mkisofs.c (next_extent, last_extent)
31835 (session_start): Upgrade type to `uint64_t'. Update all users.
31836 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
31837 (struct directory_entry): Upgrade type of `starting_block' and
31838 `size' to `uint64_t'. Update all users.
31839 (struct deferred): Remove unused structure.
31840 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
31841 Update all users.
31842 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
31843 file is larger than `UINT32_MAX'.
31844 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
31845 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
31846 return value.
31847 (struct deferred_write): Upgrade type of `extent' and `size' to
31848 `uint64_t'. Update all users.
31849 (last_extent_written): Upgrade type to `uint64_t'. Update all
31850 users.
31851 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
31852 Update all users. Upgrade type of `remain' to `int64_t' and
31853 `use' to `size_t'. Use error() to handle fread() errors.
31854 (write_files): Rely on write_one_file() rather than calling
31855 xfwrite() directly.
31856
6a9cead5
FZ
318572009-11-09 Felix Zielcke <fzielcke@z-51.de>
31858
31859 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
31860
4825d790
RM
318612009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31862
31863 * util/mkisofs/fnmatch.c: Remove.
31864 * util/mkisofs/getopt1.c: Likewise.
31865 * util/mkisofs/getopt.c: Likewise.
31866 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
31867 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
31868 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
31869 `gnulib/getopt1.c' and `gnulib/getopt.c'.
31870 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
31871
31872 * configure.ac: Detect `mingw32msvc' host_os.
31873 Check for lstat(), getuid() and getgid().
31874
31875 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
31876 instances of `u_char' with `uint8_t'.
31877
31878 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
31879 [!HAVE_GETUID] (getuid): New function (stub).
31880 [!HAVE_GETGID] (getgid): Likewise.
31881 [!HAVE_LSTAT] (lstat): Likewise.
31882 [!S_IROTH] (S_IROTH): New macro (dummy).
31883 [!S_IRGRP] (S_IRGRP): Likewise.
31884
84b860d8
RM
318852009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31886
31887 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
31888 conditional expression).
31889
66e9b712
RM
318902009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31891
31892 Import from Gnulib.
31893
31894 * gnulib/fnmatch.c: New file.
31895 * gnulib/fnmatch.h: Likewise.
31896 * gnulib/fnmatch_loop.c: Likewise.
31897 * gnulib/getopt.c: Likewise.
31898 * gnulib/getopt.h: Likewise.
31899 * gnulib/getopt1.c: Likewise.
31900 * gnulib/getopt_int.h: Likewise.
31901 * gnulib/gettext.h: Likewise.
31902
34f4a5b0
RM
319032009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31904
31905 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
31906 * normal/handler.c (read_handler_list): Likewise.
31907
ac451143
RM
319082009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31909
31910 Misc cleanup.
31911
31912 * kern/command.c (grub_register_command_prio): Use
31913 grub_zalloc() instead of explicitly zeroing data.
31914 * kern/list.c: Include `<grub/mm.h>'.
31915 (grub_named_list_find): Replace `0' with `NULL'.
31916 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
31917 (fs_module_list): Change type to `grub_named_list_t'. Update all
31918 users.
31919 * normal/dyncmd.c (read_command_list): Add space between function
31920 call and parenthesis.
31921 * normal/handler.c (read_handler_list): Likewise.
31922
4089b167
RM
319232009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31924
31925 * normal/auth.c (punishment_delay): Moved from here ...
31926 (grub_auth_strcmp): ... to here (inside function).
31927
325f5037
RM
319282009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31929
31930 * include/grub/list.h (struct grub_named_list): Remove `const'
31931 qualifier from `name'.
31932 (struct grub_prio_list): Likewise.
31933
7aea29a3
RM
319342009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31935
31936 * normal/auth.c: Include `<grub/time.h>'.
31937 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
31938
3fd6f044
RM
319392009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31940
31941 * normal/auth.c (punishment_delay): New variable.
31942 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
31943 (grub_auth_check_authentication): Punish failed login attempts with
31944 an incremental (2^N) delay.
31945
a4cd68e4
RM
319462009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31947
31948 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
31949 path with $(srcdir).
31950
7ad12f43
VS
319512009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
31952
31953 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
31954
c1129f03
RM
319552009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31956
31957 * util/i386/coreboot/grub-mkrescue.in: New file.
31958 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
31959 variables.
31960
31961 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
31962 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
31963 * configure.ac: Add header and function checks to satisfy grub-mkisofs
31964 requirements.
31965 * util/mkisofs/defaults.h: New file.
31966 * util/mkisofs/eltorito.c: Likewise.
31967 * util/mkisofs/exclude.h: Likewise.
31968 * util/mkisofs/fnmatch.c: Likewise.
31969 * util/mkisofs/getopt.c: Likewise.
31970 * util/mkisofs/getopt1.c: Likewise.
31971 * util/mkisofs/hash.c: Likewise.
31972 * util/mkisofs/include/fctldefs.h: Likewise.
31973 * util/mkisofs/include/mconfig.h: Likewise.
31974 * util/mkisofs/include/prototyp.h: Likewise.
31975 * util/mkisofs/include/statdefs.h: Likewise.
31976 * util/mkisofs/iso9660.h: Likewise.
31977 * util/mkisofs/joliet.c: Likewise.
31978 * util/mkisofs/match.c: Likewise.
31979 * util/mkisofs/match.h: Likewise.
31980 * util/mkisofs/mkisofs.c: Likewise.
31981 * util/mkisofs/mkisofs.h: Likewise.
31982 * util/mkisofs/multi.c: Likewise.
31983 * util/mkisofs/name.c: Likewise.
31984 * util/mkisofs/rock.c: Likewise.
31985 * util/mkisofs/tree.c: Likewise.
31986 * util/mkisofs/write.c: Likewise.
31987
ec8bb77d
VS
319882009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
31989
31990 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
31991 being insecure.
31992
3716b12c
RM
319932009-11-08 Robert Millan <rmh.grub@aybabtu.com>
31994
31995 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
31996 `grub-mkimage' (and use $0 when possible).
31997
b97b7b91
RM
319982009-11-08 Robert Millan <rmh.grub@aybabtu.com>
31999
32000 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
32001 error message for excessively large memory map.
32002
04114812
RM
320032009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32004
32005 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
32006 executable bit.
32007
e4eb2373
RM
320082009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32009
32010 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
32011 message for coreboot users.
32012
c926e1d5 320132009-11-07 Robert Millan <rmh.grub@aybabtu.com>
32014
32015 Fix build with GNU gold.
32016
32017 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
32018 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
32019 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
32020 link addresses.
32021 * aclocal.m4: Likewise.
32022
86e5b1db 320232009-11-04 Felix Zielcke <fzielcke@z-51.de>
32024
32025 * configure.ac (AC_PREREQ): Bump to 2.59d.
32026 * INSTALL: Make it more clear when Autoconf and Ruby are
32027 needed and when to run `./autogen.sh'.
32028
246cd78f 320292009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
32030
32031 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
32032 OSes.
32033
4f9dfb37 320342009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32035
32036 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
32037
b82bd5e1 320382009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32039
32040 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
32041 giving it to GNU Mach.
32042
ff1a9bca 320432009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32044
32045 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
32046 GNU partition number to get internal GRUB partition number.
32047
61697d9c 320482009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32049
32050 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
32051 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
32052
a50569e1 320532009-11-01 Robert Millan <rmh.grub@aybabtu.com>
32054
32055 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
32056 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
32057 case.
32058
5b153867 320592009-11-01 Felix Zielcke <fzielcke@z-51.de>
32060
32061 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
32062
d9e2cd70 320632009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32064
32065 Fix build problem.
32066
32067 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
32068 `-isystem=$(srcdir)/include'.
32069
805111a4 320702009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32071
32072 * util/i386/pc/grub-install.in: Remove hint that device.map should be
32073 checked (grub-install doesn't currently rely on it).
32074
fa6e945f 320752009-10-29 Robert Millan <rmh.grub@aybabtu.com>
32076
32077 Revert SVN r2660.
32078
32079 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
32080 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
32081 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
32082 * conf/i386-ieee1275.rmk: Likewise.
32083 * conf/i386-pc.rmk: Likewise.
32084 * conf/powerpc-ieee1275.rmk: Likewise.
32085 * conf/sparc64-ieee1275.rmk: Likewise.
32086 * conf/x86_64-efi.rmk: Likewise.
32087
cee15086 320882009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32089
32090 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
32091
95b9239e 320922009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32093
32094 * include/grub/misc.h: Stop checking for APPLE_CC.
32095
2ed19dfd 320962009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32097
32098 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
32099 doesn't cause an infinite call loop.
32100
fdcdde19 321012009-10-28 Felix Zielcke <fzielcke@z-51.de>
32102
32103 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
32104 strings.
32105
cefabfe1 321062009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32107
32108 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
32109 variable.
32110 * Makefile.in: Likewise.
32111
ed96ab6d 321122009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32113
32114 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
32115
0579b753 321162009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32117
32118 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
32119
478df409 321202009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32121
32122 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
32123
083d1679 321242009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32125
32126 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
32127 from here ...
32128 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
32129
5947ae32 321302009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32131
32132 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
32133 in $(MAKEINFO) invocation. This makes it clear in output that
32134 errors are being ignored.
32135
94180ff6 321362009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32137
32138 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
32139 from here ...
32140 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
32141 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
32142 * conf/i386-ieee1275.rmk: Likewise.
32143 * conf/i386-pc.rmk: Likewise.
32144 * conf/powerpc-ieee1275.rmk: Likewise.
32145 * conf/sparc64-ieee1275.rmk: Likewise.
32146 * conf/x86_64-efi.rmk: Likewise.
32147
9031b03a 321482009-10-26 Colin Watson <cjwatson@ubuntu.com>
32149
32150 * util/grub-editenv.c (main): If only a command is given, use
32151 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
32152 (usage): FILENAME is now optional and has a default.
32153
e4f6809b 321542009-10-26 Colin Watson <cjwatson@ubuntu.com>
32155
32156 Improve grub-mkconfig performance when there are several menu
32157 entries on a single filesystem.
32158
32159 * util/grub.d/10_linux.in (linux_entry): Cache the output of
32160 prepare_grub_to_access_device.
32161 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
32162 * util/grub.d/30_os-prober.in: Likewise.
32163
67937d4d 321642009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32165
32166 * util/grub.d/10_freebsd.in: Remove.
32167 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
32168 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
32169
ee3756cc 321702009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32171
5c35048e 32172 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 32173
4dea1c6f 321742009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32175
32176 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
32177 grub_util_error() call.
32178
042484d7 321792009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32180
32181 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
32182 `reserved_first_sector' member.
32183 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
32184 `reserved_first_sector' to 1.
32185 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
32186 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
32187 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
32188 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
32189 filesystems which begin at first sector.
32190 (options): New option --skip-fs-probe.
32191 (main): Handle --skip-fs-probe and pass it to setup().
32192
d64448a7 321932009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32194
32195 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
32196 (memset): Fix function prototype.
32197
508d42ec 321982009-10-25 Robert Millan <rmh.grub@aybabtu.com>
321992009-10-25 Vasily Averin <vvs@parallels.com>
32200
32201 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
32202 `dirent.direntlen == 0'.
32203
b240e30c 322042009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32205
32206 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
32207 `cpio'.
32208 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
32209
346e7fbe 322102009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32211
32212 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
32213 `__trampoline_setup' and `__ucmpdi2'.
32214 * include/grub/powerpc/libgcc.h: Only export symbols for functions
32215 that libgcc provides.
32216
cdb308b0 322172009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32218
32219 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
32220 * include/grub/sparc64/libgcc.h (memset): Likewise.
32221 * include/grub/misc.h (memset, memcmp): New function prototypes.
32222
fb26abc2 322232009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32224
32225 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
32226 `cpio'.
32227 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
32228
f6693890 322292009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32230
32231 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
32232 * docs/grub.cfg: Compensate for recent change in multiboot
32233 loader (since 2009-08-14 it won't pass filename to payload).
32234 * util/grub.d/10_hurd.in: Likewise.
32235
0933cdc0 322362009-10-21 Felix Zielcke <fzielcke@z-51.de>
32237
32238 * config.guess: Update to latest version from config git
32239 repository.
32240 * config.sub: Likewise.
32241
3b2fe8c2 322422009-10-20 Robert Millan <rmh.grub@aybabtu.com>
32243
32244 Fix build on sparc64.
32245
32246 * configure.ac: Perform checks for libgcc symbols before
32247 adding `-nostdlib' to LDFLAGS.
32248
46695a62 322492009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
32250
32251 Let user specify OpenBSD root device.
32252
32253 * loader/i386/bsd.c (openbsd_root): New variable.
32254 (openbsd_opts): New option 'root'.
32255 (OPENBSD_ROOT_ARG): New macro.
32256 (grub_openbsd_boot): Use 'openbsd_root'.
32257 (grub_cmd_openbsd): Fill 'openbsd_root'.
32258
d2b6b7fc 322592009-10-16 Robert Millan <rmh.grub@aybabtu.com>
32260
32261 * NEWS: Misc adjustments.
32262
421bd7ac 322632009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
32264
32265 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
32266
f1d29d87 322672009-10-16 Robert Millan <rmh.grub@aybabtu.com>
32268
32269 * configure.ac: Bump version to 1.97.
32270
6f3cd880 322712009-10-16 Colin Watson <cjwatson@ubuntu.com>
32272
32273 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
32274 -mno-3dnow on x86 architectures. Some toolchains enable these
32275 features by default, but they rely on registers that aren't enabled
32276 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
32277
035f7122 322782009-10-15 Robert Millan <rmh.grub@aybabtu.com>
32279
32280 Make entry text a bit more readable.
32281
32282 * util/grub.d/10_linux.in: Add `with' before `Linux'.
32283
44998e58 322842009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32285
32286 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
32287
cd2851b3 322882009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32289
32290 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
32291 operations.
32292
c6f3b249 322932009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32294
32295 * configure.ac: Add missing dollar.
32296
6b5886ba 322972009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32298
32299 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
32300
32301 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
32302 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
32303 exports.
32304 * include/grub/sparc64/libgcc.h: Likewise. Use
32305 preprocessor conditionals.
32306
e9d66f6d 323072009-10-14 Robert Millan <rmh.grub@aybabtu.com>
32308
32309 * conf/common.rmk (grub-dumpbios): Remove rule.
32310 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
32311 * util/grub-dumpbios.in: Remove file.
32312
9155bc17 323132009-10-14 Robert Millan <rmh.grub@aybabtu.com>
32314
32315 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
32316 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
32317
32318 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
32319 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
32320 users.
32321
32322 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
32323 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
32324 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
32325 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
32326 users.
32327
bf7f7a18 323282009-10-12 Robert Millan <rmh.grub@aybabtu.com>
32329
32330 * term/tparm.c: Switch to GPLv3.
32331
86564c26 323322009-10-09 Robert Millan <rmh.grub@aybabtu.com>
32333
32334 * include/grub/i386/cpuid.h: Add header protection.
32335
5c936493 323362009-10-09 Robert Millan <rmh.grub@aybabtu.com>
32337
32338 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
32339
32340 * include/grub/i386/cpuid.h: New file.
32341 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
32342 (has_longmode): Rename to ...
32343 (grub_cpuid_has_longmode): ... this. Update all users. Remove
32344 `static' attribute.
32345 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
32346 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
32347 on a CPU that doesn't implement AMD64 instruction set.
32348
186e7cf2 323492009-10-06 Colin Watson <cjwatson@ubuntu.com>
32350
32351 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
32352 that version.texi is rebuilt on version number changes.
32353
83b65c4a 323542009-10-06 Colin Watson <cjwatson@ubuntu.com>
32355
32356 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
32357 Fixes bug #27602.
32358
d244281c 323592009-10-06 Colin Watson <cjwatson@ubuntu.com>
32360
32361 * util/i386/pc/grub-install.in: Source
32362 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
32363 that the --grub-probe option will work.
32364 * util/sparc64/ieee1275/grub-install.in: Likewise.
32365
da25306d 323662009-10-05 Robert Millan <rmh.grub@aybabtu.com>
32367
32368 * configure.ac: Bump version to 1.97~beta4.
32369
e8ee83c0 323702009-10-03 Robert Millan <rmh.grub@aybabtu.com>
32371
32372 Resync grub-mkdevicemap in x86_64-efi.
32373
32374 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
32375 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
32376 `util/devicemap.c'.
32377
50dcabcf 323782009-10-01 Colin Watson <cjwatson@ubuntu.com>
32379
32380 * util/grub-editenv.c (create_envblk_file): Write new block with a
32381 .new suffix and then rename it into place, to ensure atomic
32382 creation.
32383
0e51c3a7 323842009-09-28 Robert Millan <rmh.grub@aybabtu.com>
32385
32386 Do not automatically install headers.
32387
32388 * Makefile.in (include_DATA): Remove. Update all users.
32389
31299a95 323902009-09-26 Robert Millan <rmh.grub@aybabtu.com>
32391
32392 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
32393 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
32394
32395 * util/osdetect.lua: Remove.
32396 * script/lua/lauxlib.c: Likewise.
32397 * script/lua/ldebug.c: Likewise.
32398 * script/lua/grub_main.c: Likewise.
32399 * script/lua/lauxlib.h: Likewise.
32400 * script/lua/ldebug.h: Likewise.
32401 * script/lua/ltablib.c: Likewise.
32402 * script/lua/liolib.c: Likewise.
32403 * script/lua/lstrlib.c: Likewise.
32404 * script/lua/lualib.h: Likewise.
32405 * script/lua/ldo.c: Likewise.
32406 * script/lua/ldump.c: Likewise.
32407 * script/lua/ldo.h: Likewise.
32408 * script/lua/loslib.c: Likewise.
32409 * script/lua/lundump.c: Likewise.
32410 * script/lua/grub_lib.c: Likewise.
32411 * script/lua/ldblib.c: Likewise.
32412 * script/lua/lundump.h: Likewise.
32413 * script/lua/lmem.c: Likewise.
32414 * script/lua/grub_lib.h: Likewise.
32415 * script/lua/lmathlib.c: Likewise.
32416 * script/lua/lstate.c: Likewise.
32417 * script/lua/ltm.c: Likewise.
32418 * script/lua/lvm.c: Likewise.
32419 * script/lua/lmem.h: Likewise.
32420 * script/lua/lstate.h: Likewise.
32421 * script/lua/ltm.h: Likewise.
32422 * script/lua/ltable.c: Likewise.
32423 * script/lua/lvm.h: Likewise.
32424 * script/lua/llex.c: Likewise.
32425 * script/lua/lgc.c: Likewise.
32426 * script/lua/grub_lua.h: Likewise.
32427 * script/lua/loadlib.c: Likewise.
32428 * script/lua/lfunc.c: Likewise.
32429 * script/lua/lopcodes.c: Likewise.
32430 * script/lua/lparser.c: Likewise.
32431 * script/lua/ltable.h: Likewise.
32432 * script/lua/llex.h: Likewise.
32433 * script/lua/lgc.h: Likewise.
32434 * script/lua/lfunc.h: Likewise.
32435 * script/lua/lbaselib.c: Likewise.
32436 * script/lua/lopcodes.h: Likewise.
32437 * script/lua/lparser.h: Likewise.
32438 * script/lua/lzio.c: Likewise.
32439 * script/lua/linit.c: Likewise.
32440 * script/lua/lobject.c: Likewise.
32441 * script/lua/llimits.h: Likewise.
32442 * script/lua/lstring.c: Likewise.
32443 * script/lua/lzio.h: Likewise.
32444 * script/lua/lapi.c: Likewise.
32445 * script/lua/lcode.c: Likewise.
32446 * script/lua/lua.h: Likewise.
32447 * script/lua/lobject.h: Likewise.
32448 * script/lua/lstring.h: Likewise.
32449 * script/lua/lapi.h: Likewise.
32450 * script/lua/lcode.h: Likewise.
32451 * script/lua/luaconf.h: Likewise.
32452
cb8a2c38 324532009-09-26 Colin Watson <cjwatson@ubuntu.com>
32454
32455 * docs/grub.texi (Command-line and menu entry commands): Document
32456 date and echo commands.
32457
6b9b6276 324582009-09-24 Pavel Roskin <proski@gnu.org>
32459
32460 * include/grub/kernel.h (struct grub_module_header): Remove
32461 `grub_module_header_types'. Make `type' unsigned. Make `size'
32462 32-bit on all platforms.
32463 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
32464 8-bit field. Use grub_host_to_target32() for `size'.
32465 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
32466 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
32467 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
32468
4e5a02a7 324692009-09-24 Robert Millan <rmh.grub@aybabtu.com>
32470
32471 Fix "lost keypress" bug in at_keyboard.
32472
32473 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
32474 Checks for readyness of input buffer (without flushing it).
32475 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
32476 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
32477
c6dcedf6 324782009-09-24 Robert Millan <rmh.grub@aybabtu.com>
32479
32480 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
32481 size check within GRUB_MACHINE_PCBIOS section.
32482
74c958b1 324832009-09-24 Robert Millan <rmh.grub@aybabtu.com>
32484
32485 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
32486 return value.
32487 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
32488 KEYBOARD_ISREADY check.
32489 (grub_at_keyboard_checkkey): Rename to ...
32490 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
32491 Remove gratuitous cast.
32492
ff420223 324932009-09-23 Colin Watson <cjwatson@ubuntu.com>
32494
32495 * configure.ac: Call AC_PROG_MKDIR_P.
32496 * Makefile.in (docs/stamp-vti): Create docs directory. Create
32497 version.texi in $(builddir) rather than $(srcdir).
32498 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
32499 to makeinfo's @include search path.
32500
d96875df 325012009-09-23 Felix Zielcke <fzielcke@z-51.de>
32502
32503 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
32504
9b3f8365 325052009-09-23 Felix Zielcke <fzielcke@z-51.de>
32506
32507 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
32508 for `*.dpkg-new'.
32509
c44c90db 325102009-09-21 Colin Watson <cjwatson@ubuntu.com>
32511
32512 Build info documentation. Some code borrowed from Automake.
32513
32514 * configure.ac: Check for makeinfo.
32515 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
32516 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
32517 docs/version.texi.
32518 (MOSTLYCLEANFILES): Add vti.tmp.
32519 (docs/version.texi, docs/stamp-vti): Update automatically.
32520 (docs/grub.info): Build info documentation. Use --force and ignore
32521 errors for now.
32522 (all-local): Add $(INFOS).
32523 (install-local): Install info files.
32524 (uninstall): Uninstall info files.
32525 * docs/version.texi: Remove from revision control. This file is
32526 automatically generated on build now.
32527 * gendistlist.sh: Add `*.info'.
32528
e0b37bb5 325292009-09-21 Felix Zielcke <fzielcke@z-51.de>
32530
32531 * kern/term.c: Fix indentation.
32532
5a78865b 325332009-09-21 Felix Zielcke <fzielcke@z-51.de>
32534
32535 * util/hostdisk.c: Fix a comment.
32536
dace7e8a 325372009-09-20 Robert Millan <rmh.grub@aybabtu.com>
32538
32539 Fix regression introduced in r2539.
32540
32541 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
32542 to 0xA1.
32543
a83d079b 325442009-09-19 Colin Watson <cjwatson@ubuntu.com>
32545
32546 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 32547 os-prober. Under normal operation, it does not print anything to
32548 stderr; if it does, we need to debug it, and throwing away stderr
32549 makes that excessively difficult.
a83d079b 32550
be94a509 325512009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
32552
32553 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
32554
63f745e8 325552009-09-16 Robert Millan <rmh.grub@aybabtu.com>
32556
32557 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
32558 AC_LANG_PROGRAM from autoconf.
32559 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
32560 prototypes (fixes warning).
32561
32562 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
32563 `--disable-werror' was used.
32564
bbb2a70f 325652009-09-16 Robert Millan <rmh.grub@aybabtu.com>
32566
32567 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
32568 uninitialized `lastaddr'.
32569
77c24f1d 325702009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
32571
0f0b8c87 32572 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 32573
07197f23 325742009-09-14 Colin Watson <cjwatson@ubuntu.com>
32575
32576 * commands/test.c (get_fileinfo): Return immediately if
32577 grub_fs_probe fails.
32578
dabf1798 325792009-09-14 José Martínez <xosemp@gmail.com>
32580
32581 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
32582
d52109a7 325832009-09-14 Colin Watson <cjwatson@ubuntu.com>
32584
32585 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
32586 output.
32587
56532179 325882009-09-13 Robert Millan <rmh.grub@aybabtu.com>
32589
32590 * configure.ac: Remove --enable-grub-pe2elf. Only build
32591 grub-pe2elf when needed by the build system itself.
32592 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
32593
8ef070f5 325942009-09-12 Robert Millan <rmh.grub@aybabtu.com>
32595
32596 * configure.ac: Bump version to 1.97~beta3.
32597 * docs/version.texi: Likewise.
32598
61229557 325992009-09-12 Robert Millan <rmh.grub@aybabtu.com>
32600
32601 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
32602 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
32603 from here ...
32604 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
32605 (grub_linux_setup_video): ... to here (with some adjustments).
32606
5c9f8d84 326072009-09-12 Robert Millan <rmh.grub@aybabtu.com>
32608
32609 Fix memory corruption issue (spotted by Colin Watson).
32610
32611 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
32612 causing returned size to be stored in an incorrect memory location.
32613 Fix use of uninitialized value when storing the returned size.
32614
e8f5d6e9 326152009-09-12 Yves Blusseau <blusseau@zetam.org>
32616
32617 Change clean rules to properly remove files
32618
32619 * genmk.rb: add new clean rules
32620 * Makefile.in (clean): add the new targets
32621 (mostlyclean): likewise
32622
cda2a409 326232009-09-11 Colin Watson <cjwatson@ubuntu.com>
32624
32625 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
32626 to grub_uint64_t.
32627 * fs/ntfs.c (init_file): Understand 64-bit sizes for
32628 non-resident files.
32629
86695375 326302009-09-11 Colin Watson <cjwatson@ubuntu.com>
32631
32632 * configure.ac: Don't look for help2man when cross-compiling. Fixes
32633 part of bug #27349.
32634
8aa1541a 326352009-09-10 Felix Zielcke <fzielcke@z-51.de>
32636
32637 * util/grub-mkconfig.in: Make the created config mode 400 and
32638 print a warning if it fails.
32639
48d9bb0a 326402009-09-10 Robert Millan <rmh.grub@aybabtu.com>
32641
32642 * util/grub.d/40_custom.in: Ask user to type custom entries below
32643 comment, rather than below 'exec tail' line.
32644
3b0521be 326452009-09-10 Colin Watson <cjwatson@ubuntu.com>
32646
32647 * util/grub.d/40_custom.in: Make sure that the explanatory text is
32648 visible in grub.cfg.
32649
50051d55 326502009-09-10 Colin Watson <cjwatson@ubuntu.com>
32651
32652 * util/grub.d/40_custom.in: Make it a little clearer how to use this
32653 file.
32654
c0d34387 326552009-09-10 Felix Zielcke <fzielcke@z-51.de>
32656
32657 * docs/grub.cfg: Add an example menu entry for memtest86+.
32658
80a608f3 326592009-09-09 Felix Zielcke <fzielcke@z-51.de>
32660
a2094832 32661 * config.guess: Update to latest version from config git.
80a608f3 32662 * config.sub: Likewise.
32663
99423078 326642009-09-08 Colin Watson <cjwatson@ubuntu.com>
32665
32666 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
32667 unknown-command case. Fixes bug #27320.
32668
44454e4c 326692009-09-08 Felix Zielcke <fzielcke@z-51.de>
32670
32671 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
32672 `help' if the command exists.
32673
e30d87ad 326742009-09-06 Robert Millan <rmh.grub@aybabtu.com>
32675
32676 * INSTALL: Require GCC 4.1.3 or later.
32677
9a86f1ec 326782009-09-06 Yves Blusseau <blusseau@zetam.org>
32679
32680 * Makefile.in (RMKFILES): add i386-qemu.rmk
32681 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
32682 $(srcdir)/stamp-h.in
32683
7f26d466 326842009-09-05 Robert Millan <rmh.grub@aybabtu.com>
32685
32686 * util/grub-probe.c (probe): Comment out buggy codepath, which
32687 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
32688 should be re-enabled after 1.97.
32689
3a613259 326902009-09-05 Felix Zielcke <fzielcke@z-51.de>
32691
32692 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
32693 find searches for.
32694
197f76c7 326952009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
32696
32697 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
32698 unnecessary calls to grub_error.
32699
70ba68ce 327002009-09-04 Colin Watson <cjwatson@ubuntu.com>
32701
32702 * NEWS: Mention `keystatus' and Unicode fonts.
32703
4ff0d7a4 327042009-09-04 Robert Millan <rmh.grub@aybabtu.com>
32705
32706 * configure.ac: Bump version to 1.97~beta2.
32707 * docs/version.texi: Likewise.
32708
77c55a87 327092009-09-03 Colin Watson <cjwatson@ubuntu.com>
32710
32711 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
32712 containing unwind information in some cases where it previously did
32713 not. Use -fno-dwarf2-cfi-asm if available to restore the old
32714 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
32715 discussion.
32716
f79572cd 327172009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
32718
32719 Embedding loadenv module into grub-emu
32720
32721 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
32722 commands/loadenv.c
32723 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
32724 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
32725 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
32726 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
32727 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
32728 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
32729
93a81088 327302009-09-03 Magnus Granberg <zorry@ume.nu>
32731
32732 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
32733 include -fPIE in the default specs.
32734 * configure.ac: Check if pie_possible is yes and add -fno-PIE
32735 to TARGET_CFLAGS.
32736
160034b2 327372009-09-03 Felix Zielcke <fzielcke@z-51.de>
32738
32739 * INSTALL: Note that GNU Bison 2.3 or later is required.
32740
087c07c4 327412009-09-03 Colin Watson <cjwatson@ubuntu.com>
32742
32743 * kern/i386/pc/startup.S: Fix typo.
32744
cbf978c0 327452009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
32746
32747 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
32748 according to GCS.
32749
327502009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 32751
32752 * docs/grub.texi (Naming convention): Describe one-based partition
32753 numbering.
32754 (Device syntax): Likewise.
32755 (File name syntax): Likewise.
32756 (Block list syntax): Likewise.
32757 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
32758 menu.lst.
32759 (File name syntax): Likewise.
32760 (Command-line and menu entry commands): Document acpi, blocklist,
32761 crc, export, insmod, keystatus, ls, set, and unset commands.
32762
f3e8cdfd 327632009-09-02 Colin Watson <cjwatson@ubuntu.com>
32764
32765 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
32766 to avoid implying that only one of --shift, --ctrl, or --alt may be
32767 used.
32768
c0bc232b 327692009-09-02 Colin Watson <cjwatson@ubuntu.com>
32770
32771 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
32772 rather than comparing against S_IFREG, which will almost never work.
32773
aa0f752d 327742009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
32775
32776 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
32777 (write_blocklists): Likewise.
32778
ecb3166a 327792009-09-01 Colin Watson <cjwatson@ubuntu.com>
32780
32781 * script/lua/grub_lua.h (fputs): Supply a format string as the first
32782 argument to grub_printf.
32783
c403a125 327842009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 32785
32786 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 32787 non GNU test.
31aba781 32788
b5e7312c 327892009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
32790
32791 * kern/file.c (grub_file_read): Spelling fix
32792
fe00f472 327932009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
32794
32795 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
32796 loading of headers in some cases.
32797
cc55302e 327982009-08-30 Robert Millan <rmh.grub@aybabtu.com>
32799
32800 * configure.ac: Bump version to 1.97~beta1.
32801 * docs/version.texi: Likewise.
32802
5c90cdd2 328032009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 32804
32805 * include/grub/i386/xnu.h: Add license header.
32806 include grub/err.h explicitly.
32807
c90edae4 328082009-08-29 Robert Millan <rmh.grub@aybabtu.com>
32809
32810 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
32811 to `ufs' in the vfs.root.mountfrom kernel parameter.
32812
d8888b5c 328132009-08-29 Robert Millan <rmh.grub@aybabtu.com>
32814
32815 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
32816
32817 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
32818 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
32819
32820 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
32821 `ARRAY_SIZE' macro.
32822
6f07b921 328232009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
32824
32825 * kern/file.c (grub_file_read): Check offset.
32826 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
32827 * fs/jfs.c (grub_jfs_read_file): Likewise.
32828 * fs/ntfs.c (grub_ntfs_read): Likewise.
32829 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
32830 * fs/minix.c (grub_minix_read_file): Correct offset check.
32831 * fs/ufs.c (grub_ufs_read_file): Likewise.
32832
b4f34077 328332009-08-28 Colin Watson <cjwatson@ubuntu.com>
32834
32835 * term/i386/pc/console.c (bios_data_area): Cast
32836 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
32837
e7c69859 328382009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
32839
32840 1-bit optimised blitters.
32841
32842 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
32843 prototype.
32844 (grub_video_fbblit_replace_24bit_1bit): Likewise.
32845 (grub_video_fbblit_replace_16bit_1bit): Likewise.
32846 (grub_video_fbblit_replace_8bit_1bit): Likewise.
32847 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
32848 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
32849 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
32850 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
32851 function.
32852 (grub_video_fbblit_replace_24bit_1bit): Likewise.
32853 (grub_video_fbblit_replace_16bit_1bit): Likewise.
32854 (grub_video_fbblit_replace_8bit_1bit): Likewise.
32855 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
32856 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
32857 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
32858 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
32859 when possible.
32860 * video/video.c (grub_video_get_blit_format): Return
32861 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
32862
a57da43f 328632009-08-28 Colin Watson <cjwatson@ubuntu.com>
32864
32865 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
32866 the first argument to grub_printf.
32867
4cbe67e5 328682009-08-28 Colin Watson <cjwatson@ubuntu.com>
328692009-08-28 Robert Millan <rmh.grub@aybabtu.com>
32870
32871 Add `getkeystatus' terminal method. Add a new `keystatus' command
32872 to query it.
32873
32874 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
32875 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
32876 modifier key bitmasks.
32877 (struct grub_term_input): Add `getkeystatus' member.
32878 (grub_getkeystatus): Add prototype.
32879 * kern/term.c (grub_getkeystatus): New function.
32880
32881 * include/grub/i386/pc/memory.h
32882 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
32883 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
32884 Data Area layout.
32885 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
32886 (grub_console_term_input): Set `getkeystatus' member.
32887 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
32888 constants.
32889 (grub_usb_keyboard_getreport): Likewise.
32890 (grub_usb_keyboard_checkkey): Likewise.
32891 (grub_usb_keyboard_getkeystatus): New function.
32892 (grub_usb_keyboard_term): Set `getkeystatus' member.
32893
32894 * commands/keystatus.c: New file.
32895 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
32896 (keystatus_mod_SOURCES): New variable.
32897 (keystatus_mod_CFLAGS): Likewise.
32898 (keystatus_mod_LDFLAGS): Likewise.
32899 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
32900 commands/keystatus.c.
32901 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32902 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32903 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32904 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32905 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32906 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 32907
6e2a9085 329082009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
32909
32910 Split befs.mod and afs.mod into *_be.mod and *.mod
32911
32912 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
32913 (grub_fstest_SOURCES): Likewise.
32914 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
32915 (afs_be_mod_SOURCES): New variable.
32916 (afs_be_mod_CFLAGS): Likewise.
32917 (afs_be_mod_LDFLAGS): Likewise.
32918 (befs_be_mod_SOURCES): Likewise.
32919 (befs_be_mod_CFLAGS): Likewise.
32920 (befs_be_mod_LDFLAGS): Likewise.
32921 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
32922 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32923 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32924 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
32925 (grub_emu_SOURCES): Likewise.
32926 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32927 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32928 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32929 * fs/afs_be.c: New file.
32930 * fs/befs_be.c: New file.
32931 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
32932 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
32933 (U16): Replaced with ...
32934 (grub_afs_to_cpu16): ...this. All users updated.
32935 (U32): Replaced with ...
32936 (grub_afs_to_cpu32): ...this. All users updated.
32937 (U64): Replaced with ...
32938 (grub_afs_to_cpu64): ...this. All users updated.
32939 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
32940 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 32941 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 32942 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
32943 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
32944 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
32945 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
32946 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
32947 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
32948 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
32949 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
32950
32a71655 329512009-08-26 Bean <bean123ch@gmail.com>
32952
32953 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
32954 64-bit number.
32955 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
32956 (grub_xfs_inode_block): Change return type to grub_uint64_t.
32957 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
32958
552bf6c5 329592009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32960
32961 NetBSD memory map support.
32962
32963 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
32964 (grub_netbsd_btinfo_mmap_header): New structure.
32965 (grub_netbsd_btinfo_mmap_entry): Likewise.
32966 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
32967
1ae2078c 329682009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32969
32970 Enable bsd.mod on coreboot.
32971
32972 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
32973 (bsd_mod_SOURCES): New variable.
32974 (bsd_mod_CFLAGS): Likewise.
32975 (bsd_mod_LDFLAGS): Likewise.
32976 (bsd_mod_ASFLAGS): Likewise.
32977 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
32978 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
32979
beefc598 329802009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32981
32982 Cleanup NetBSD root support.
32983
32984 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
32985 grub_bsd_get_device.
32986 Fix typo.
32987
3b76e68b 329882009-08-25 Felix Zielcke <fzielcke@z-51.de>
32989
32990 * util/grub.d/00_header.in: Move check for the video backend of
32991 gfxterm from here ...
32992 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
32993 a suitable video backend.
32994
aea664ea 329952009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32996
32997 Fix breakage in grub-setup.
32998
32999 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
33000 "msdos_partition_map".
33001
ff747d50 330022009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33003
33004 Fix breakage in normal/auth.c.
33005
33006 * normal/auth.c (grub_iswordseparator): New function.
33007
e7e1f93f 330082009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33009
33010 Authentication support.
33011
33012 * commands/password.c: New file.
33013 * conf/common.rmk (pkglib_MODULES): Add password.mod.
33014 (password_mod_SOURCES): New variable.
33015 (password_mod_CFLAGS): Likewise.
33016 (password_mod_LDFLAGS): Likewise.
33017 (normal_mod_SOURCES): Add normal/auth.c.
33018 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
33019 normal/auth.c.
33020 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33021 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33022 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33023 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33024 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33025 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33026 * include/grub/auth.h: New file.
33027 * include/grub/err.h (grub_err_t): New enum value
33028 GRUB_ERR_ACCESS_DENIED.
33029 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
33030 'users'.
33031 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
33032 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
33033 users updated.
33034 * normal/auth.c: New file.
33035 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
33036 (grub_cmdline_run): Don't allow to go to command line without
33037 authentication.
33038 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
33039 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
33040 menuentry without superuser rights.
33041 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
33042 user isn't a superuser.
33043
70f1161d 330442009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33045
33046 Save space by inlining misc.c functions.
33047
33048 * kern/misc.c (grub_iswordseparator): Made static.
33049 * kern/misc.c (grub_strcat): Moved from here ...
33050 * include/grub/misc.h (grub_strcat): ... here. Inlined.
33051 * kern/misc.c (grub_strncat): Moved from here ...
33052 * include/grub/misc.h (grub_strncat): ... here. Inlined.
33053 * kern/misc.c (grub_strcasecmp): Moved from here ...
33054 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
33055 * kern/misc.c (grub_strncasecmp): Moved from here ...
33056 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
33057 * kern/misc.c (grub_isalpha): Moved from here ...
33058 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
33059 * kern/misc.c (grub_isdigit): Moved from here ...
33060 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
33061 * kern/misc.c (grub_isgraph): Moved from here ...
33062 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
33063 * kern/misc.c (grub_tolower): Moved from here ...
33064 * include/grub/misc.h (grub_tolower): ... here. Inlined.
33065
48e40bff 330662009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33067
33068 * script/sh/function.c (grub_script_function_find): Cut error message
33069 not to flood terminal.
33070 * script/sh/lexer.c (grub_script_yylex): Remove command line length
33071 limit.
33072 * script/sh/script.c (grub_script_arg_add): Duplicate string.
33073
c385bfc3 330742009-08-24 Colin Watson <cjwatson@ubuntu.com>
33075
33076 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
33077 `report' grub_uint8_t *.
33078 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
33079 Use a 50-millisecond timeout rather than just repeating
33080 grub_usb_keyboard_getreport 50 times.
33081 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
33082
2d21e3e8 330832009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33084
33085 Rename *_partition_map to part_*
33086
33087 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
33088 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
33089 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
33090 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
33091 All users updated.
33092 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
33093 All users updated.
33094 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
33095 * util/grub-probe.c (probe_partmap): Don't transform partition name
33096 to get module name.
33097
dd103c4e 330982009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33099
33100 Fix OpenBSD and NetBSD support.
33101
33102 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
33103 memory address conflict.
33104 (OPENBSD_MMAP_ACPI): New definition.
33105 (OPENBSD_MMAP_NVS): Likewise.
33106 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
33107 and OPENBSD_MMAP_NVS.
33108 Add memory map terminator
33109 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 33110 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 33111
16c84d74 331122009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33113
33114 Let user specify NetBSD root device.
33115
33116 * loader/i386/bsd.c (netbsd_root): New variable.
33117 (netbsd_opts): New option 'root'.
33118 (NETBSD_ROOT_ARG): New macro.
33119 (grub_netbsd_boot): Use 'netbsd_root'.
33120 (grub_bsd_unload): Free 'netbsd_root'.
33121 (grub_cmd_netbsd): Fill 'netbsd_root'.
33122
adb29902 331232009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33124
33125 Support for 64-bit NetBSD.
33126
33127 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
33128 point when booting non-FreeBSD.
33129
f5ae9f74 331302009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33131
33132 Support --no-smp and --no-acpi for NetBSD.
33133
33134 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
33135 (NETBSD_AB_NOACPI): Likewise.
33136 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
33137 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
33138
de74f136 331392009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33140
33141 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
33142 errors.
33143 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
33144 errors. Call grub_error when needed.
33145
e9a925da 331462009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33147
33148 * commands/search.c (search_fs): Try searching without autoload first.
33149 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
33150 filesystem module explicitly for faster booting.
33151
5174302b 331522009-08-23 Colin Watson <cjwatson@ubuntu.com>
33153
33154 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
33155
c8c80635 331562009-08-23 Colin Watson <cjwatson@ubuntu.com>
33157
33158 * util/grub.d/30_os-prober.in: Disable os-prober if
33159 `GRUB_DISABLE_OS_PROBER' was set to true.
33160
71acf5e5 331612009-08-23 Robert Millan <rmh.grub@aybabtu.com>
33162
33163 * partmap/pc.c: Rename to ...
33164 * partmap/msdos.c: ... this. Update all users.
33165 (grub_pc_partition_map): Rename to ...
33166 (grub_msdos_partition_map): ... this. Update all users.
33167
33168 * parttool/pcpart.c: Rename to ...
33169 * parttool/msdospart.c: ... this. Update all users.
33170
33171 * include/grub/pc_partition.h: Rename to ...
33172 * include/grub/msdos_partition.h: ... this. Update all users.
33173 (grub_pc_partition_bsd_entry): Rename to ...
33174 (grub_msdos_partition_bsd_entry): ... this. Update all users.
33175 (grub_pc_partition_disk_label): Rename to ...
33176 (grub_msdos_partition_disk_label): ... this. Update all users.
33177 (grub_pc_partition_entry): Rename to ...
33178 (grub_msdos_partition_entry): ... this. Update all users.
33179 (grub_pc_partition_mbr): Rename to ...
33180 (grub_msdos_partition_mbr): ... this. Update all users.
33181 (grub_pc_partition): Rename to ...
33182 (grub_msdos_partition): ... this. Update all users.
33183 (grub_pc_partition_is_empty): Rename to ...
33184 (grub_msdos_partition_is_empty): ... this. Update all users.
33185 (grub_pc_partition_is_extended): Rename to ...
33186 (grub_msdos_partition_is_extended): ... this. Update all users.
33187 (grub_pc_partition_is_bsd): Rename to ...
33188 (grub_msdos_partition_is_bsd): ... this. Update all users.
33189
33190 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
33191 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
33192 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
33193 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
33194 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
33195 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
33196 (gpt_mod_LDFLAGS): Rename to ...
33197 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
33198 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
33199 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
33200 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
33201 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
33202 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
33203 (part_gpt_mod_LDFLAGS): ... this.
33204 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
33205 `pcpart.mod' to `msdospart.mod'.
33206 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
33207 to ...
33208 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
33209 (msdospart_mod_LDFLAGS): ... this.
33210
c11fded5 332112009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33212
33213 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
33214 (openbsd_opts): Likewise.
33215 (netbsd_opts): Likewise.
33216 (freebsd_flags): Added 0 terminator.
33217 (openbsd_flags): Likewise.
33218 (netbsd_flags): Likewise.
33219 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
33220 (grub_cmd_freebsd): Transformed into extended command.
33221 (grub_cmd_openbsd): Likewise.
33222 (grub_cmd_netbsd): Likewise.
33223 (cmd_freebsd): Changed type to grub_extcmd_t.
33224 (cmd_openbsd): Likewise.
33225 (cmd_netbsd): Likewise.
33226 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
33227 grub_cmd_openbsd as extended commands.
33228 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
33229 cmd_netbsd and cmd_openbsd
33230
11d1c769 332312009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
33232
33233 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
33234
7a9094e5 332352009-08-21 Pavel Roskin <proski@gnu.org>
33236
5496c37e 33237 * Makefile.in (install-local): When checking if a file is in the
33238 build directory, use "test -e" to detect symlinks.
33239
7a9094e5 33240 * Makefile.in (install-local): Remove all files in
33241 $(DESTDIR)$(pkglibdir) before installing new files there.
33242
e53cea11 332432009-08-18 Felix Zielcke <fzielcke@z-51.de>
33244
33245 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
33246 grub-mkelfimage.
33247
9aced544 332482009-08-18 Felix Zielcke <fzielcke@z-51.de>
33249
33250 * util/grub-mkconfig.in: Don't use gfxterm by default if not
33251 explicitly specified by the user.
33252
b7da6bab 332532009-08-18 Pavel Roskin <proski@gnu.org>
33254
33255 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
33256 grub_uint8_t pointer for data.
33257 * include/grub/fbutil.h (struct grub_video_fbblit_info):
33258 Likewise.
33259 * video/fb/fbutil.c: Remove unnecessary casts.
33260
19f1b335 332612009-08-17 Michal Suchanek <hramrach@centrum.cz>
33262
33263 VBE cleanup.
33264
33265 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
33266 (grub_vbe_set_video_mode): Save active mode info
33267 only after setting the mode.
33268 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
33269 second argument.
33270
2f467aa9 332712009-08-17 Michal Suchanek <hramrach@centrum.cz>
33272
33273 Rename variables for clarity.
33274
33275 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
33276 (active_vbe_mode_info): ... this. All users updated.
33277 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
33278 All users updated.
33279 (initial_mode): Rename to ...
33280 (initial_vbe_mode): ... this. All users updated.
33281 (mode_in_use): Rename to ..
33282 (vbe_mode_in_use): ... this. All users updated.
33283 (mode_list): Rename to ..
33284 (vbe_mode_list): ... this. All users updated.
33285 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
33286 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
33287 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
33288 'mode_list_size' to 'vbe_mode_list_size'.
33289 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
33290 'best_mode_info' to 'best_vbe_mode_info' and
33291 'best_mode' to 'best_vbe_mode'
33292
6025fcd7 332932009-08-17 Michal Suchanek <hramrach@centrum.cz>
33294
33295 Remove duplicate grub_video_fb_get_video_ptr.
33296
33297 * include/grub/fbutil.h (get_data_ptr): Rename to ...
33298 (grub_video_fb_get_video_ptr): ... this.
33299 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
33300 * video/fb/fbutil.c: Add comment about addressing.
33301 (get_data_ptr): Rename to ...
33302 (grub_video_fb_get_video_ptr): ... this. All users updated.
33303 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
33304
cc8c6faf 333052009-08-17 Robert Millan <rmh.grub@aybabtu.com>
33306
33307 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
33308 grub_dprintf() that was just added.
33309
08aa61f0 333102009-08-17 Robert Millan <rmh.grub@aybabtu.com>
33311
33312 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
33313 (DEFAULT_VIDEO_MODE): Remove macros.
33314 (grub_linux_boot): Remove assumption that Linux has FB support,
33315 and use "text" as default video mode.
33316
7cef4f75 333172009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
33318
33319 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
33320 grub_dprintf.
33321 * fs/fat.c (grub_fat_read_data): Likewise.
33322
e1f39873 333232009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33324
33325 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
33326 payload.
33327 (grub_module): Likewise.
33328
c166d79e 333292009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33330
33331 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
33332 mbi->cmdline but free playground.
33333
c60cee8e 333342009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33335
33336 Handle group offset on UFS1.
33337
33338 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
33339 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
33340
c0d8b5d4 333412009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33342
33343 Split ufs.mod into ufs1.mod and ufs2.mod.
33344
33345 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
33346 (grub_fstest_SOURCES): Likewise.
33347 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
33348 (ufs_mod_SOURCES): Remove.
33349 (ufs_mod_CFLAGS): Likewise.
33350 (ufs_mod_LDFLAGS): Likewise.
33351 (ufs1_mod_SOURCES): New variable.
33352 (ufs1_mod_CFLAGS): Likewise.
33353 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 33354 (ufs2_mod_SOURCES): New variable.
33355 (ufs2_mod_CFLAGS): Likewise.
33356 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 33357 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
33358 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
33359 Likewise.
33360 (grub_emu_SOURCES): Likewise.
33361 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33362 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33363 (grub_setup_SOURCES): Likewise.
33364 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33365 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
33366 (grub_setup_SOURCES): Likewise.
33367 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
33368 Likewise.
33369 * fs/ufs2.c: New file.
33370 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
33371
d3539132 333722009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33373
33374 Framebuffer split.
33375
33376 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
33377 subsystem at the end.
33378 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
33379 (video_fb_mod_SOURCES): New variable.
33380 (video_fb_mod_CFLAGS): Likewise.
33381 (video_fb_mod_LDFLAGS): Likewise.
33382 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
33383 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
33384 * video/i386/pc/vbeblit.c: Moved from here ...
33385 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
33386 * video/i386/pc/vbefill.c: Moved from here ...
33387 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
33388 * video/i386/pc/vbeutil.c: Moved from here ...
33389 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
33390 * include/grub/i386/pc/vbeblit.h: Moved from here ...
33391 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
33392 * include/grub/i386/pc/vbefill.h: Moved from here ...
33393 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
33394 * include/grub/i386/pc/vbeutil.h: Moved from here ...
33395 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
33396 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
33397 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
33398 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
33399 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
33400 (grub_video_adapter): Added 'get_info_and_fini'.
33401 (grub_video_get_info_and_fini): New prototype.
33402 (grub_video_set_mode): make modestring const char *.
33403 * loader/i386/linux.c (grub_linux_setup_video): Use
33404 grub_video_get_info_and_fini.
33405 (grub_linux_boot): Move modesetting just before booting.
33406 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
33407 grub_video_get_info_and_fini.
33408 * video/i386/pc/vbe.c: Moved framebuffer part ...
33409 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
33410 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
33411 grub_video_fbstd_colors and grub_video_fb_set_palette.
33412 (grub_video_vbe_init): Clear 'framebuffer' variable and use
33413 grub_video_fb_init.
33414 (grub_video_vbe_fini): Use grub_video_fb_fini.
33415 (grub_video_vbe_setup): Use framebuffer.render_target instead of
33416 render_target and use grub_video_fb_set_active_render_target and
33417 grub_video_fb_set_palette.
33418 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
33419 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
33420 (grub_video_vbe_adapter): Use framebuffer.
33421 * video/video.c (grub_video_get_info_and_fini): New function.
33422 (grub_video_set_mode): Make modestring const char *.
33423 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
33424 values are already initialised.
33425
d404ee56 334262009-08-14 Pavel Roskin <proski@gnu.org>
33427
33428 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
33429 ABS and APPLE_CC.
33430 * boot/i386/pc/diskboot.S: Likewise.
33431 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
33432 sectors allow compilation on MacOSX.
33433 * conf/i386-pc.rmk: Enable unconditional compilation of
33434 lnxboot.img.
33435
9a10df16 334362009-08-13 Colin Watson <cjwatson@ubuntu.com>
33437
33438 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
33439 * util/grub.d/00_header.in: Enter interruptible sleep if
33440 GRUB_HIDDEN_TIMEOUT is set.
33441
be3c9ca7 334422009-08-13 Yves Blusseau <blusseau@zetam.org>
33443
33444 * include/grub/symbol.h: Add the LOCAL macro.
33445 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
33446 starting with "L_".
33447
1f9e557e 334482009-08-13 Pavel Roskin <proski@gnu.org>
33449
9ca62843 33450 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
33451 any modern compilers we support.
33452
1f9e557e 33453 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
33454 Use local labels starting with "L_" so that Apple assembler
33455 knows they are local.
33456
81623db6 334572009-08-10 Robert Millan <rmh.grub@aybabtu.com>
33458
33459 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
33460 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
33461 (bsd_kernel_types): ... this enum.
33462
33463 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
33464 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
33465 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
33466
33467 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
33468 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
33469 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
33470 messages.
33471
f5d35e7a 334722009-08-08 Robert Millan <rmh.grub@aybabtu.com>
33473
33474 * util/grub-dumpdevtree: Moved from here ...
33475 * util/i386/efi/grub-dumpdevtree: ... to here.
33476 (hexify): New function. Converts a string to its hex version.
33477 Generate hex versions of "efi" and "device-properties" by calling
33478 hexify() on the ASCII strings rather than by hardcoding numbers.
33479
d1e1d527 334802009-08-08 Robert Millan <rmh.grub@aybabtu.com>
33481
33482 * fs/jfs.c: Update copyright year.
33483
1ebbe064 334842009-08-08 Felix Zielcke <fzielcke@z-51.de>
33485
33486 * util/grub.d/00_header.in: Fix a comment.
33487 * util/grub.d/10_linux.in: Likewise.
33488 * util/grub.d/10_windows.in: Likewise.
33489 * util/grub.d/10_hurd.in: Likewise.
33490
a78c8d24 334912009-08-08 Felix Zielcke <fzielcke@z-51.de>
33492
33493 * util/grub-mkconfig.in: Allow the user to specify the used font
33494 with GRUB_FONT.
33495
29a6b9e8 334962009-08-08 Pavel Roskin <proski@gnu.org>
33497
b5f16cc4 33498 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
33499 available, xfs.mod needs it now.
33500
2f5cb827 33501 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
33502 the "g" modifier in sed when the intention is to strip something
33503 once. This fixes comparison of kernels with multiple dashes.
33504
29a6b9e8 33505 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
33506 on it. Add missing space before closing bracket. Fix
33507 misleading formatting.
33508
892a3d98 335092009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33510
33511 * docs/grub.texi: Major overhaul. Remove all sections that are
33512 specific to GRUB Legacy, or mostly composed of Legacy-specific
33513 information.
33514
ed94253f 335152009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33516
33517 * docs/version.texi: New file. Provides version information for
33518 grub.texi.
33519
126d6628 335202009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33521
33522 * docs/grub.texi: Update CVS information to SVN.
33523 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
33524
998b5aa9 335252009-08-07 Felix Zielcke <fzielcke@z-51.de>
33526
33527 * util/grub-mkconfig.in: Remove a wrong `fi'.
33528
818e094a 335292009-08-07 Felix Zielcke <fzielcke@z-51.de>
33530
33531 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
33532 (grub_jfs_uuid): New function.
33533 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
33534
b969c52f 335352009-08-07 Felix Zielcke <fzielcke@z-51.de>
33536
33537 * util/grub-mkconfig_lib.in (font_path): Move the functionality
33538 of it to ...
33539 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
33540 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
33541
7a4894cc 335422009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33543
33544 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
33545 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
33546 Update all users.
33547
33548 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
33549 not just "vmlinu[zx]".
33550 Moved from here ...
33551 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
33552 all users.
33553
33554 * util/grub.d/10_linux.in (find_latest): Moved from here ...
33555 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
33556 all users.
33557
4e2171f8 335582009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33559
33560 * util/grub.d/10_freebsd.in: Use an absolute device path for
33561 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
33562
6dcfcb32 335632009-08-06 Felix Zielcke <fzielcke@z-51.de>
33564
33565 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
33566 handling of multiple abstraction modules.
33567
f56a8756 335682009-08-04 Robert Millan <rmh.grub@aybabtu.com>
33569
33570 Fix a bug resulting in black screen when loading Linux using a
33571 packed video mode.
33572
33573 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
33574 function.
33575
33576 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
33577 (grub_vbe_bios_getset_dac_palette_width): New function.
33578 (grub_vbe_bios_get_dac_palette_width)
33579 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
33580 grub_vbe_bios_getset_dac_palette_width()).
33581
33582 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
33583 check for return status.
33584 (grub_vbe_get_video_mode_info): When getting information for a packed
33585 mode (<= 8 bpp), obtain DAC palette width using
33586 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
33587 {red,green,blue}_mark_size.
33588
222671b2 335892009-08-04 Felix Zielcke <fzielcke@z-51.de>
33590
ecb1a6d9 33591 * commands/search.c (options): Fix help output to match actual code.
222671b2 33592
f84114f5 335932009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
33594
33595 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
33596 of homegrown code.
33597
bd288a20 335982009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 33599
33600 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
33601 on XFS or ReiserFS.
33602
8aab5e25 336032009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
33604
33605 Support Apple partition map with sector size different from 512 bytes.
33606
33607 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
33608 (apple_partition_map_iterate): Respect 'aheader.blocksize'
33609 and 'apart.partmap_size'.
33610
6ad6258a 336112009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
336122009-08-01 Robert Millan <rmh.grub@aybabtu.com>
33613
33614 Fix cpuid command.
33615
33616 * commands/i386/cpuid.c (options): New variable.
33617 (grub_cmd_cpuid): Return real error.
33618 (GRUB_MOD_INIT(cpuid)): Declare options.
33619
67459bc6 336202009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
33621
33622 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
33623 valid.
33624
fbc6ab54 336252009-07-31 Bean <bean123ch@gmail.com>
33626
33627 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
33628 log2_inode.
33629 (grub_fshelp_node): Move inode field to the end.
33630 (grub_xfs_data): Remove inode field.
33631 (grub_xfs_inode_block): Calculate inode size using sblock.
33632 (grub_xfs_inode_offset): Likewise.
33633 (grub_xfs_read_inode): Calculate inode size using sblock.
33634 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
33635 (grub_xfs_iterate_dir): Calculate inode size using sblock.
33636 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
33637 to match inode size.
33638 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
33639 not accessible when data is null.
33640 (grub_xfs_open): Likewise.
33641
f45d6cfc 336422009-07-31 Bean <bean123ch@gmail.com>
33643
33644 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
33645 Don't change pv->disk if it's already set.
33646
33647 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
33648 (grub_raid_register): ... here.
33649 (grub_raid_rescan): Removed.
33650
33651 * include/grub/raid.h (grub_raid_rescan): Removed.
33652
33653 * util/grub-fstest.c: Remove include file <grub/raid.h>.
33654 (fstest): Replace grub_raid_rescan with module fini function followed
33655 by init function.
33656
33657 * util/grub-probe.c: Add include file <grub/raid.h>.
33658 (probe_raid_level): New function.
33659 (probe): Detect abstraction by walking the disk device, support two
33660 level of abstraction (LVM on RAID) when detecting partition map.
33661
24443b5a 336622009-07-31 Pavel Roskin <proski@gnu.org>
33663
33664 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
33665 to grub_zalloc(), it was erroneous.
33666 Reported by Bean <bean123ch@gmail.com>
33667
a275d9e7 336682009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
33669
33670 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 33671 embedding zone, not only the first one.
a275d9e7 33672
56c5a47f 336732009-07-29 Joe Auricchio <jauricchio@gmail.com>
33674
33675 * term/gfxterm.c (clear_char): New function.
33676 (grub_virtual_screen_setup): Use clear_char.
33677 (scroll_up): Likewise.
33678 (grub_virtual_screen_cls): Likewise.
33679
67bb323a 336802009-07-29 Felix Zielcke <fzielcke@z-51.de>
33681
33682 * util/deviceiter.c (get_acceleraid_disk_name): New static
33683 function.
33684 (grub_util_iterate_devices): Handle Accelraid devices.
33685 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
33686
388a7c75 336872009-07-28 Robert Millan <rmh.grub@aybabtu.com>
33688
33689 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
33690 separator for the suggested gfxpayload string (';' collides with the
33691 parser and needs escaping).
33692
3bb7abcf 336932009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
33694
33695 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
33696 Clear direction flag before jumping to OS.
33697 (grub_multiboot2_real_boot): Likewise.
33698
2ddd36d7 336992009-07-28 Felix Zielcke <fzielcke@z-51.de>
33700
33701 * util/i386/pc/grub-install: Fix parsing of --disk-module
33702 option.
33703
c521b62b 337042009-07-28 Felix Zielcke <fzielcke@z-51.de>
33705
33706 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
33707 when embedding.
33708
880e0a0c 337092009-07-26 Felix Zielcke <fzielcke@z-51.de>
33710
33711 * util/grub-mkconfig.in (package_version): New variable.
33712 Use it do display the version.
33713
2366e356 337142009-07-25 Felix Zielcke <fzielcke@z-51.de>
33715
33716 * kern/file.c (grub_file_open): Revert to previous check with
33717 grub_errno.
33718
7ad8c80e 337192009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
33720
33721 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
33722 from help line. It's out of sync with code.
33723
72b9658b 337242009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
33725
33726 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
33727 entries on failed boot.
33728
77435277 337292009-07-25 Felix Zielcke <fzielcke@z-51.de>
33730
33731 * kern/file.c (grub_file_open): Fix an error check.
33732
fcaa8b21 337332009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
33734
35d16c74 33735 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
33736 partition map couldn't be identified.
fcaa8b21 33737
48904cd1 337382009-07-23 Pavel Roskin <proski@gnu.org>
33739
ef3c317f 33740 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
33741 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
33742 case of little endian words becomes just an optimization.
33743 Respect const modifier.
ad8ea1f4 33744 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 33745
48904cd1 33746 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
33747 to avoid loss of upper bits if align is unsigned and shorter
33748 than addr.
33749
260c9a89 337502009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
33751
33752 UUID support for UFS
33753
33754 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
33755 (grub_ufs_uuid): New function.
33756 (grub_ufs_fs): add .uuid
33757
f76ce889 337582009-07-21 Pavel Roskin <proski@gnu.org>
33759
33760 * kern/dl.c (grub_dl_check_header): Make static.
33761
6a6cbcaf 337622009-07-21 Felix Zielcke <fzielcke@z-51.de>
33763
33764 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
33765 add drivemap for Vista. It breaks Windows 7.
33766
cffcddb2 337672009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
33768
33769 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
33770 128 bytes
33771
1ef44b80 337722009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
33773
33774 Add BFS support
33775
33776 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
33777 (grub_fstest_SOURCES): Likewise.
33778 (pkglib_MODULES): Add befs.mod.
33779 (befs_mod_SOURCES): New variable.
33780 (befs_mod_CFLAGS): Likewise.
33781 (befs_mod_LDFLAGS): Likewise.
33782 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33783 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33784 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33785 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33786 (grub_setup_SOURCES): Likewise.
33787 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33788 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33789 (grub_setup_SOURCES): Likewise.
33790 * fs/befs.c: New file.
33791 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
33792 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
33793 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
33794 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
33795 (B_KEY_INDEX_ALIGN): New declaration.
33796 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
33797 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
33798 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
33799 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
33800 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
33801 (grub_afs_mount) [MODE_BFS]: Likewise.
33802 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
33803 (grub_afs_fs): Use GRUB_AFS_FSNAME
33804 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
33805 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
33806 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
33807 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
33808
4f253044 338092009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
33810
33811 * util/getroot.c (find_root_device): Add support for MacOSX.
33812 * util/hostdisk.c: Likewise.
33813
57a55913 338142009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
33815
33816 * font/font.c (find_glyph): Check whether a font is present to avoid
33817 segmentation fault.
75421ca9 33818
338192009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 33820
33821 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
33822
e98cd0c2 338232009-07-20 Pavel Roskin <proski@gnu.org>
33824
33825 * configure.ac: Trim excessively wordy excuses.
33826
1d2d169a 338272009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
33828
33829 Add symlink, mtime and label support to AtheFS.
33830
33831 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
33832 (grub_afs_iterate_dir): Handle symlinks.
33833 (grub_afs_open): Use grub_afs_read_symlink.
33834 (grub_afs_dir): Likewise.
33835 Pass mtime.
33836 (grub_afs_label): New function.
33837 (grub_afs_fs): Add grub_afs_label.
33838 (grub_afs_read_symlink): New function.
33839
186f3189 338402009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
33841
33842 Fix AtheFS support.
33843
33844 * fs/afs.c: Fix comments style.
33845 (grub_afs_blockrun): Declare as packed.
33846 (grub_afs_datastream): Likewise.
33847 (grub_afs_bnode): Likewise.
33848 (grub_afs_btree): Likewise.
33849 (grub_afs_sblock): Likewise.
33850 Declare `name' as char.
33851 (grub_afs_inode): Declare as packed.
33852 Change void *vnode to grub_uint32_t unused.
33853 (grub_afs_iterate_dir): Check that key_size is positive.
33854 (grub_afs_mount): Don't read superblock twice.
75421ca9 33855 (grub_afs_dir): Don't free node in case of error,
186f3189 33856 grub_fshelp_find_file already handles this.
33857 (grub_afs_open): Likewise.
33858
5680109e 338592009-07-19 Pavel Roskin <proski@gnu.org>
33860
33861 * Makefile.in: Remove LIBLZO and enable_lzo.
33862 * conf/i386-pc.rmk: Remove lzo support.
33863 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
33864 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
33865 support.
33866 * kern/i386/pc/lzo1x.S: Remove.
33867 * kern/i386/pc/startup.S: Remove lzo support.
33868 * util/i386/pc/grub-mkimage.c: Likewise.
33869
ac70fa32 338702009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
33871
33872 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
33873 * fs/xfs.c (grub_xfs_dir): Likewise.
33874 * fs/afs.c (grub_afs_dir): Likewise.
33875 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
33876 (grub_iso9660_open): Likewise.
33877 * fs/jfs.c (grub_jfs_open): Likewise.
33878 * fs/ext2.c (grub_ext2_dir): Likewise.
33879 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
33880 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 33881
eab58da2 338822009-07-16 Pavel Roskin <proski@gnu.org>
33883
d2838156 33884 * configure.ac: Never add "-c" to CFLAGS.
33885
55c70904 33886 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
33887
43e6200c 33888 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
33889 grub_cv_cc_efiemu should be used.
33890
ce7a733d 33891 * configure.ac: Typo fixes.
33892
eab58da2 33893 * kern/mm.c (grub_zalloc): New function.
33894 (grub_debug_zalloc): Likewise.
33895 * include/grub/mm.h: Declare grub_zalloc() and
33896 grub_debug_zalloc().
33897 * util/misc.c (grub_zalloc): New function.
33898 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
33899 instead of grub_malloc(), remove unneeded initializations.
33900 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
33901 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
33902 * commands/parttool.c (grub_cmd_parttool): Likewise.
33903 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
33904 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
33905 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
33906 * disk/usbms.c (grub_usbms_finddevs): Likewise.
33907 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
33908 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
33909 (grub_cmd_efiemu_pnvram): Likewise.
33910 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
33911 * fs/iso9660.c (grub_iso9660_mount): Likewise.
33912 (grub_iso9660_iterate_dir): Likewise.
33913 * fs/jfs.c (grub_jfs_opendir): Likewise.
33914 * fs/ntfs.c (list_file): Likewise.
33915 (grub_ntfs_mount): Likewise.
33916 * kern/disk.c (grub_disk_open): Likewise.
33917 * kern/dl.c (grub_dl_load_core): Likewise.
33918 * kern/elf.c (grub_elf_file): Likewise.
33919 * kern/env.c (grub_env_context_open): Likewise.
33920 (grub_env_set): Likewise.
33921 (grub_env_set_data_slot): Likewise.
33922 * kern/file.c (grub_file_open): Likewise.
33923 * kern/fs.c (grub_fs_blocklist_open): Likewise.
33924 * loader/i386/multiboot.c (grub_module): Likewise.
33925 * loader/xnu.c (grub_xnu_create_key): Likewise.
33926 (grub_xnu_create_value): Likewise.
33927 * normal/main.c (grub_normal_add_menu_entry): Likewise.
33928 (read_config_file): Likewise.
33929 * normal/menu_entry.c (make_screen): Likewise.
33930 * partmap/sun.c (sun_partition_map_iterate): Likewise.
33931 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
33932 * script/sh/script.c (grub_script_parse): Likewise.
33933 * video/bitmap.c (grub_video_bitmap_create): Likewise.
33934 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
33935 * video/readers/png.c (grub_png_output_byte): Likewise.
33936 (grub_video_reader_png): Likewise.
33937
830afef7 339382009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 33939
33940 Enable all targets that can be built by default
33941
830afef7 33942 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 33943 grub-mkfont and grub-fstest if they can be built
33944
ee293aee 339452009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33946
33947 Fix hang and segmentation fault in grub-emu-usb
33948
33949 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
33950 * util/usb.c (grub_libusb_devices): likewise
33951 (grub_libusb_init): rename to ...
33952 (GRUB_MOD_INIT (libusb)):...this
33953 (grub_libusb_fini): rename to ..
33954 (GRUB_MOD_FINI (libusb)):...this
33955 * disk/usbms.c (grub_usbms_transfer): fix retry logic
33956 * include/grub/disk.h (grub_raid_init): removed, it's useless
33957 (grub_raid_fini): likewise
33958 (grub_lvm_init): likewise
33959 (grub_lvm_fini): likewise
33960 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
33961 by grub_init_all
33962
94414221 339632009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33964
33965 Fix libusb
33966
33967 * Makefile.in (LIBUSB): new macro
33968 * genmk.rb (Utility/print_tail): new method
33969 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
33970 (top level): call util.print_tail at the end.
33971
59ade63d 339722009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33973
33974 Make FreeBSD accept zpool.cache
33975
33976 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
33977 type is /boot/zfs/zpool.cache
33978
a58da8c7 339792009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33980
33981 Fix 64-bit efiemu
33982
33983 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
33984 correct wrong typedef
33985 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
33986
20591577 339872009-07-15 Pavel Roskin <proski@gnu.org>
33988
560ca572 33989 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
33990 * kern/disk.c (struct grub_disk_cache): Likewise.
33991
e8e8e4fd 33992 * commands/probe.c (options): Typo fix.
33993
fde24e10 33994 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
33995 Increase to 0x5a to accommodate FAT32. Adjust other offsets
33996 accordingly.
33997 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
33998
379c54c1 33999 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
34000 the end of "Error" to make the message more readable.
34001
7bd8f5bf 34002 * boot/i386/pc/boot.S (kernel_segment): Remove.
34003 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
34004 for destination.
34005
40b132c5 34006 * boot/i386/pc/boot.S (boot_version): Remove.
34007 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
34008 Remove.
34009
20591577 34010 * include/grub/i386/pc/boot.h: Sort all offsets.
34011 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
34012 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
34013 * boot/i386/pc/boot.S: Assert location of every offset listed in
34014 include/grub/i386/pc/boot.h.
34015
2df32b2c 340162009-07-13 Pavel Roskin <proski@gnu.org>
34017
44b5d879 34018 * include/grub/i386/coreboot/machine.h: Rename
34019 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
34020 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
34021 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
34022
17dc3751 34023 * kern/dl.c: Force native word size to suppress warnings when
34024 compiling grub-emu.
34025
2df32b2c 34026 * kern/device.c (grub_device_iterate): Change struct part_ent to
34027 hold the name, not a pointer to it. Use one grub_malloc() per
34028 partition, not two. Free partition_name if grub_malloc() fails.
34029 Set ents to NULL only before grub_partition_iterate() is called.
34030
75c59f59 340312009-07-11 Bean <bean123ch@gmail.com>
34032
34033 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
34034 childname.
34035
0ae1bf88 340362009-07-10 Bean <bean123ch@gmail.com>
340372009-07-10 Robert Millan <rmh.grub@aybabtu.com>
34038
34039 * kern/ieee1275/openfw.c (grub_children_iterate)
34040 (grub_devalias_iterate): Fix size evaluation for property or path
34041 strings, which was broken since r2132.
34042
8279cade 340432009-07-07 Pavel Roskin <proski@gnu.org>
34044
7d8a52d3 34045 * commands/search.c (search_file): Merge into ...
34046 (search_fs): ... this. Accept search type as argument.
34047 (grub_cmd_search): Pass search type to search_fs().
34048
25f9a05a 34049 * include/grub/util/console.h: New file.
34050 * util/console.c: Use it instead of grub/machine/console.h.
34051 * util/grub-emu.c: Likewise.
34052
8279cade 34053 * lib/arg.c (find_long_option): Remove.
34054 (find_long): Add `len' argument, make `s' const char *.
34055 (grub_arg_parse): Parse long options in place, not in a
34056 temporary buffer.
34057
4a11b60f 340582009-07-06 Pavel Roskin <proski@gnu.org>
34059
99f68041 34060 * commands/search.c (search_fs): Fix potential NULL pointer
34061 dereference.
34062
4a11b60f 34063 * commands/search.c (search_fs): Replace QUID macro with quid_fn
34064 function pointer.
34065
e110f4de 340662009-07-06 Daniel Mierswa <impulze@impulze.org>
34067
34068 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
34069 comparison.
34070
46eeb6a2 340712009-07-05 Pavel Roskin <proski@gnu.org>
34072
bab74958 34073 * include/grub/i386/linux.h (struct linux_kernel_params):
34074 Restore padding3, it's still needed.
34075
46eeb6a2 34076 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
34077 FreeBSD.
34078 * util/osdetect.lua: Likewise.
34079
b4a1dc79 340802009-07-05 Bean <bean123ch@gmail.com>
34081
34082 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
34083
34084 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
34085 (grub_lua_getenv): Likewise.
34086 (grub_lua_setenv): Likewise.
34087 (save_errno): New function.
34088 (push_result): Likewise.
34089 (grub_lua_enum_device): Likewise.
34090 (grub_lua_enum_file): Likewise.
34091 (grub_lua_file_open): Likewise.
34092 (grub_lua_file_close): Likewise.
34093 (grub_lua_file_seek): Likewise.
34094 (grub_lua_file_read): Likewise.
34095 (grub_lua_file_getline): Likewise.
34096 (grub_lua_file_getsize): Likewise.
34097 (grub_lua_file_getpos): Likewise.
34098 (grub_lua_file_eof): Likewise.
34099 (grub_lua_file_exist): Likewise.
34100 (grub_lua_add_menu): Likewise.
34101
34102 * script/lua/grub_lua.h (isupper): New inline function.
34103 (islower): Likewise.
34104 (ispunct): Likewise.
34105 (isxdigit): Likewise.
34106 (strcspn): Change to normal function.
34107 (strpbkr): New function declaration.
34108 (memchr): Likewise.
34109
34110 * script/lua/grub_main.c (scan_str): New function.
34111 (strcspn): Likewise.
34112 (strpbrk): Likewise.
34113 (memchr): Likewise.
34114
34115 * script/lua/linit.c (lualibs): Enable the string library.
34116
34117 * util/osdetect.lua: New file.
34118
2da92295 341192009-07-04 Robert Millan <rmh.grub@aybabtu.com>
34120
34121 * include/grub/i386/linux.h (struct linux_kernel_params): Add
34122 `capabilities' member.
34123
b2582ec9 341242009-07-02 Pavel Roskin <proski@gnu.org>
34125
34126 * genparttoollist.sh: Add missing newline at the end.
34127
32622956 341282009-07-01 Pavel Roskin <proski@gnu.org>
34129
87a7339e 34130 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
34131
d23af54e 34132 * util/hostdisk.c (open_device): Remove `const' from
34133 `sysctl_size', as sysctlbyname() can change it (in this case it
34134 doesn't actually happen).
34135
c94b18a9 34136 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
34137 using signed long int constants.
34138
c6cd3ef0 34139 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
34140 constant to avoid a warning on FreeBSD.
34141
0df63420 34142 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
34143 where it's needed.
34144
999577f1 34145 * Makefile.in: Install include/grub/machine symlink.
34146
6f41557f 34147 * Makefile.in: When installing symlinks, use "cp -fR", which
34148 works on FreeBSD and MacOSX.
34149 From Yves Blusseau <cl7m42e02@sneakemail.com>
34150
c8d22988 34151 * kern/dl.c (grub_dl_resolve_symbol): Make static.
34152 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
34153
1b96e952 34154 * util/misc.c: Move grub_reboot() and grub_halt() ...
34155 * util/grub-emu.c: ... here. Make main_env static.
34156 * include/grub/util/misc.h: Remove main_env.
34157
2ef0084d 34158 * kern/mm.c: Use correct format to print size_t.
34159
32622956 34160 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
34161 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
34162 * kern/powerpc/dl.c: Likewise.
34163 * kern/sparc64/dl.c: Likewise.
34164 * kern/x86_64/dl.c: Likewise.
34165
3f7f0cd0 341662009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34167
34168 Fix grub-emu build on sparc64-ieee1275.
34169
75421ca9 34170 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 34171 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
34172
211d06b5 341732009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34174
34175 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
34176 (grub_reboot, grub_halt): New functions.
34177
34178 * util/i386/pc/misc.c: Delete. Update all users.
34179 * util/sparc64/ieee1275/misc.c: Likewise.
34180 * util/powerpc/ieee1275/misc.c: Likewise.
34181
aaf53e3c 341822009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34183
34184 * conf/i386.rmk (setjmp_mod_SOURCES)
34185 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
34186 * conf/common.rmk (setjmp_mod_SOURCES)
34187 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
34188 to use $(target_cpu).
34189 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
34190 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
34191 * conf/powerpc-ieee1275.rmk: Likewise.
34192 * conf/sparc64-ieee1275.rmk: Likewise.
34193
34194 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
34195 $(target_cpu) for kern/$(target_cpu)/dl.c.
34196 * conf/i386-efi.rmk: Likewise.
34197 * conf/i386-ieee1275.rmk: Likewise.
34198 * conf/x86_64-efi.rmk: Likewise.
34199 * conf/i386-coreboot.rmk: Likewise.
34200 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
34201 $(target_cpu) for kern/$(target_cpu)/dl.c and for
34202 kern/$(target_cpu)/cache.S.
34203 * conf/sparc64-ieee1275.rmk: Likewise.
34204
a337130b 342052009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34206
34207 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
34208 type to `grub_uint8_t', and adjust `padding9' accordingly.
34209
c6fe4d53 342102009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34211
b09db61d 34212 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
34213
c6fe4d53 34214 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
34215 assembly in final jump, using register constraints.
34216
b09db61d 34217 (grub_linux_boot): For text mode, initialize `have_vga' using
34218 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
34219
34220 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
34221 right before the final jump.
34222
34223 Set `video_mode' to 0x3.
34224
34225 Document initialization of `video_page', `video_mode' and
34226 `video_ega_bx'.
34227
28333ad0 342282009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34229
34230 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
34231 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 34232 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 34233
02164e1b 342342009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34235
34236 Fix build on Debian / sparc.
34237
34238 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
34239
18b6c557 342402009-06-28 Pavel Roskin <proski@gnu.org>
34241
85f2aab6 34242 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
34243 fix a warning.
34244
18b6c557 34245 * util/grub.d/10_linux.in: Match SUSE style initrd names.
34246
ad760f81 342472009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34248
34249 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
34250 `err'.
34251
87a4623b 342522009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34253
34254 Revert r2338.
34255
34256 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
34257 file can't be opened. grub_file_open() is already supposed to set
75421ca9 34258 grub_errno / grub_errmsg appropriately.
87a4623b 34259 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
34260
8231fb77 342612009-06-27 Pavel Roskin <proski@gnu.org>
342622009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34263
34264 * include/grub/dl.h: Include grub/elf.h.
34265 (struct grub_dl): Add symtab field.
34266 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
34267 GRUB_MODULES_MACHINE_READONLY.
34268 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
34269 of the header for read-only modules.
34270 (grub_dl_unload): Free mod->symtab for read-only modules.
34271 * kern/i386/dl.c: Use mod->symtab.
34272 * kern/powerpc/dl.c: Likewise.
34273 * kern/sparc64/dl.c: Likewise.
34274 * kern/x86_64/dl.c: Likewise.
34275
34276 * conf/i386-qemu.rmk: New file.
34277 * kern/i386/qemu/startup.S: Likewise.
34278 * kern/i386/qemu/mmap.c: Likewise.
34279 * boot/i386/qemu/boot.S: Likewise.
34280 * include/grub/i386/qemu/time.h: Likewise.
34281 * include/grub/i386/qemu/serial.h: Likewise.
34282 * include/grub/i386/qemu/kernel.h: Likewise.
34283 * include/grub/i386/qemu/console.h: Likewise.
34284 * include/grub/i386/qemu/boot.h: Likewise.
34285 * include/grub/i386/qemu/init.h: Likewise.
34286 * include/grub/i386/qemu/machine.h: Likewise.
34287 * include/grub/i386/qemu/loader.h: Likewise.
34288 * include/grub/i386/qemu/memory.h: Likewise.
34289
34290 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
34291 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
34292 [qemu] (pkglib_IMAGES): Add `boot.img'.
34293 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
34294 [qemu] (boot_img_FORMAT): New variables.
34295 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
34296 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
34297 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
34298 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
34299 [qemu] (kernel_img_FORMAT): New variables.
34300
34301 * configure.ac: Recognise `i386-qemu'.
34302
34303 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
34304 (for no compression).
34305 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
34306 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
34307 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
34308 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
34309 ifdefs).
34310
97fe384e 343112009-06-27 Pavel Roskin <proski@gnu.org>
34312
34313 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
34314 read.
34315 * efiemu/prepare32.c: Likewise.
34316 * efiemu/prepare64.c: Likewise.
34317
c402ab17 343182009-06-26 Pavel Roskin <proski@gnu.org>
34319
34320 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
34321 * include/grub/elf.h: Define symbols without "32" or "64" based
34322 on GRUB_TARGET_WORDSIZE.
34323 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
34324 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
34325 ELF definitions.
34326 * efiemu/loadcore64.c: Likewise.
34327 * loader/i386/bsd32.c: Likewise.
34328 * loader/i386/bsd64.c: Likewise.
34329 * kern/dl.c: Remove own ELF definitions.
34330 * util/i386/efi/grub-mkimage.c: Likewise.
34331
9bbdfd4d 343322009-06-23 Robert Millan <rmh.grub@aybabtu.com>
34333
34334 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
34335 segment 0x0 unconditionally, because the reference generated by
34336 GAS is an absolute address.
34337
a42ce6e9 343382009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34339
34340 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
34341 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
34342
c952cf92 343432009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34344
34345 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
34346 indexes. Check for -f explicitly.
cc3752ad 34347 (search_file): Improve error message.
34348 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 34349
132a0a59 343502009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34351
34352 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
34353 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
34354
387a140c 343552009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34356
34357 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
34358 * conf/i386-ieee1275.rmk: Likewise.
34359 * conf/i386-coreboot.rmk: Likewise.
34360
34361 * kern/i386/pc/startup.S (grub_stop): Remove function.
34362 * kern/i386/ieee1275/startup.S: Likewise.
34363 * kern/i386/coreboot/startup.S: Likewise.
34364 * kern/i386/misc.S (grub_stop): New function.
34365
41da9665 343662009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34367
34368 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
34369 * kern/i386/realmode.S (real_to_prot): ... to here.
34370
bf337234 343712009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34372
34373 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
34374 with `kernel.img'.
34375 (kernel_elf_SOURCES): Rename to ...
34376 (kernel_img_SOURCES): ... this.
34377 (kernel_elf_HEADERS): Rename to ...
34378 (kernel_img_HEADERS): ... this. Update all users.
34379 (kernel_elf_ASFLAGS): Rename to ...
34380 (kernel_img_ASFLAGS): ... this.
34381 (kernel_elf_CFLAGS): Rename to ...
34382 (kernel_img_CFLAGS): ... this.
34383 (kernel_elf_LDFLAGS): Rename to ...
34384 (kernel_img_LDFLAGS): ... this.
34385 * conf/i386-coreboot.rmk: Likewise.
34386 * conf/powerpc-ieee1275.rmk: Likewise.
34387
34388 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
34389 with "kernel.img".
34390
f52196ff 343912009-06-21 Pavel Roskin <proski@gnu.org>
34392
c3cee413 34393 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
34394 to match nested functions.
34395 * loader/sparc64/ieee1275/linux.c: Likewise.
34396
f52196ff 34397 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
34398
58750afc 343992009-06-21 Robert Millan <rmh.grub@aybabtu.com>
34400
34401 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
34402 all i386 platforms.
34403
15355c7d 344042009-06-21 Robert Millan <rmh.grub@aybabtu.com>
34405
34406 Fix asm file handling on ELF, and remove workarounds.
34407
34408 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 34409 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 34410 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
34411 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
34412
3f3ec72b 344132009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
34414
34415 Load BSD ELF modules
34416
34417 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
34418 and loader/i386/bsd64.c
34419 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
34420 (FREEBSD_MODTYPE_ELF_MODULE): New definition
34421 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
34422 (grub_freebsd_load_elfmodule32): New declaration
34423 (grub_freebsd_load_elfmoduleobj64): Likewise
34424 (grub_freebsd_load_elf_meta32): Likewise
34425 (grub_freebsd_load_elf_meta64): Likewise
34426 (grub_freebsd_add_meta): Likewise
34427 (grub_freebsd_add_meta_module): Likewise
34428 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
34429 (grub_freebsd_add_meta_module): Likewise and move module-specific
34430 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
34431 (grub_cmd_freebsd): Add elf-kernel specific parts
34432 based on grub_freebsd_add_meta_module
34433 (grub_cmd_freebsd_module): Add type parsing moved from
34434 grub_freebsd_add_meta_module
34435 (grub_cmd_freebsd_module_elf): New function
34436 (cmd_freebsd_module_elf): New variable
34437 (GRUB_MOD_INIT): Register freebsd_module_elf
34438 * loader/i386/bsd32.c: New file
34439 * loader/i386/bsd64.c: Likewise
34440 * loader/i386/bsdXX.c: Likewise
34441 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
34442 (grub_elf64_load): Likewise
34443 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
34444 All users updated
34445 (grub_elf64_load_hook_t): Likewise
34446
0db15301 344472009-06-21 Colin Watson <cjwatson@ubuntu.com>
34448
34449 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
34450 variable.
34451 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
34452 don't write a menu entry for recovery mode.
34453
546796c1 344542009-06-20 Robert Millan <rmh.grub@aybabtu.com>
34455
34456 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
34457 after it's no longer needed.
34458
cd7310d5 344592009-06-20 Robert Millan <rmh.grub@aybabtu.com>
34460
34461 * include/grub/i386/loader.h (grub_linux_prot_size)
34462 (grub_linux_tmp_addr, grub_linux_real_addr)
34463 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
34464 GRUB_MACHINE_PCBIOS.
34465 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
34466 common grub_util_info() call to ...
34467 (generate_image): ... here.
34468 Fix use of uninitialized memory, comparison of signed with
34469 unsigned integers and memory leak.
34470 Remove bogus module address message.
34471
ab32d3b5 344722009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
34473
34474 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
34475 grub_raid_register
34476 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
34477
024ef597 344782009-06-19 Pavel Roskin <proski@gnu.org>
34479
34480 * configure.ac: Remove stray AC_MSG_CHECKING.
34481
3ac72b51 344822009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
34483
34484 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 34485
e14cd814 344862009-06-18 Pavel Roskin <proski@gnu.org>
34487
34488 * conf/common.rmk: Add fs_file.mod.
34489 * disk/fs_file.c: New file.
34490 * include/grub/disk.h (enum grub_disk_dev_id): Add
34491 GRUB_DISK_DEVICE_FILE_ID.
34492
26586d98 344932009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
34494
34495 Fix build with Apple's toolchain. Part 2
34496
34497 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
34498 a fake start
34499
26de2bcd 345002009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
34501
34502 Fix build with Apple's toolchain. Part 1
34503
34504 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
34505 for long calls
34506 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 34507 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 34508 Apple's toolchain
34509
09b3490b 345102009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
34511
34512 Fix warnings
34513
34514 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
34515 (decomp_block): initialize ch
34516 use grub_memcpy instead of memcpy
34517
c22a006a 345182009-06-17 Pavel Roskin <proski@gnu.org>
34519
d3638678 34520 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
34521 version, use declarations needed to use vga_text as the startup
34522 console.
34523
c22a006a 34524 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
34525 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
34526 the kernel.
34527 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
34528 and grub_at_keyboard_fini(), it's done on module load and
34529 unload.
34530
05b129e0 345312009-06-17 Felix Zielcke <fzielcke@z-51.de>
34532
34533 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
34534 file can't be found.
34535 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
34536
cf24ed9e 345372009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
34538
34539 Fix newline handling
34540
34541 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 34542 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 34543 (grub_script_yylex): don't segfault on unterminated script
34544 newline terminates command and variable
34545
74aa8e4b 345462009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
34547
34548 avoid double grub_adjust_range call. Bug reported by David Simner
34549
34550 * kern/disk.c (grub_disk_write): change to raw disk access before
34551 calling disk_read
34552
1bd265f3 345532009-06-17 Colin Watson <cjwatson@ubuntu.com>
34554
34555 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
34556 spaces, for the benefit of help2man.
34557 * util/i386/efi/grub-mkimage.c (usage): Likewise.
34558
a2d08c06 345592009-06-16 Pavel Roskin <proski@gnu.org>
34560
34561 * kern/i386/halt.c: Include grub/machine/init.h.
34562 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
34563
b97bcb19 345642009-06-16 Felix Zielcke <fzielcke@z-51.de>
34565
34566 * util/grub.d/30_os-prober.in: Use ${root} in the generated
34567 drivemap menuentry.
34568
0644f96c 345692009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
34570
34571 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
34572 `echo' command.
34573
3ef17a2e 345742009-06-16 Pavel Roskin <proski@gnu.org>
34575
34576 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
34577 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
34578 save %dx, we only need %dl and we never change it.
34579 * boot/i386/pc/cdboot.S: Don't set the root drive.
34580 * boot/i386/pc/pxeboot.S: Likewise.
34581 * include/grub/i386/pc/boot.h: Remove
34582 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
34583 GRUB_BOOT_MACHINE_DRIVE_CHECK.
34584 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
34585 * kern/i386/pc/init.c (make_install_device): Remove references
34586 to grub_root_drive.
34587 * kern/i386/pc/startup.S: Likewise.
34588 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
34589
693fe637 345902009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
34591
34592 xnu_uuid command
34593
34594 * commands/xnu_uuid.c: new file
34595 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
34596 (xnu_uuid_mod_SOURCES): new variable
34597 (xnu_uuid_mod_CFLAGS): likewise
34598 (xnu_uuid_mod_LDFLAGS): likewise
34599 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
34600 * conf/i386-ieee1275.rmk: likewise
34601 * conf/i386-pc.rmk: likewise
34602 * conf/powerpc-ieee1275.rmk: likewise
34603 * conf/sparc64-ieee1275.rmk: likewise
34604 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
34605
c9da87d0 346062009-06-16 Pavel Roskin <proski@gnu.org>
34607
34608 * configure.ac: Avoid '==' in test command, it's not portable.
34609
9c6f4596 346102009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
34611
34612 Probe command
34613
34614 * commands/probe.c: new file
34615 * conf/common.rmk (pkglib_MODULES): add probe.mod
34616 (probe_mod_SOURCES): new variable
34617 (probe_mod_CFLAGS): likewise
34618 (probe_mod_LDFLAGS): likewise
34619 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
34620 * conf/i386-ieee1275.rmk: likewise
34621 * conf/i386-pc.rmk: likewise
34622 * conf/powerpc-ieee1275.rmk: likewise
34623 * conf/sparc64-ieee1275.rmk: likewise
34624
70b7f9fd 346252009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
34626
34627 Fix handling of string like \"hello\" and "a
34628 b"
34629
34630 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
34631 (grub_script_yylex): fix parsing of quoting, escaping and newline
34632
71c79a6b 346332009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
34634
dd74360c 34635 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 34636 handling
dd74360c 34637
0644f96c 346382009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 34639
34640 * util/grub-mkconfig.in: Fix parsing of --output option.
34641
e40893c3 346422009-06-12 Pavel Roskin <proski@gnu.org>
34643
34644 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
34645 genmk.rb don't need to be generated or installed.
34646
3a1acfe2 346472009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
34648
34649 * commands/i386/pc/drivemap_int13h.S: add more comments
34650
3a4575d4 346512009-06-11 Pavel Roskin <proski@gnu.org>
34652
0658e928 34653 * Makefile.in (uninstall): Uninstall manuals.
34654
ca0388f0 34655 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
34656 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
34657 and update-grub_lib in two places.
34658 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
34659
e3b27c39 34660 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
34661 a compiler warning.
34662
3a4575d4 34663 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
34664 `entry_lo' to fix variable shadowing.
34665
af1f4f55 346662009-06-11 Christian Franke <franke@computer.org>
34667
34668 * kern/misc.c (__enable_execute_stack): Add missing return type
34669 to prevent gcc warning.
34670
5225e649 346712009-06-11 Felix Zielcke <fzielcke@z-51.de>
34672
34673 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
34674
7d83bd47 346752009-06-11 Pavel Roskin <proski@gnu.org>
34676
c1cb63ba 34677 * Makefile.in: Don't rely on any scripts being executable.
34678 Always use $(SHELL) to run shell scripts.
34679
7d83bd47 34680 * configure.ac: Always define ___main if using -nostdlib. This
34681 fixes tests on Cygwin.
34682
948f48e7 346832009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
34684
34685 UDF fix
34686
7d83bd47 34687 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 34688 is in bytes and not in blocks
7d83bd47 34689
8ada9bc1 346902009-06-11 Pavel Roskin <proski@gnu.org>
34691
34692 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
34693 warning.
34694
25ad2323 346952009-06-11 Felix Zielcke <fzielcke@z-51.de>
34696
34697 * util/grub.d/30_os-prober.in: Fix a comment. Source
34698 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
34699 to set the root device. Place drivemap command in the generated
34700 chain entry.
34701
e65acb0c 347022009-06-11 Pavel Roskin <proski@gnu.org>
34703
34704 * configure.ac: Remove host_m32. Issues with 64-bit utilities
34705 have long been resolved.
34706
f285fe2d 347072009-06-11 Colin Watson <cjwatson@ubuntu.com>
34708
bd47b0b5 34709 * util/grub.d/10_linux.in: Capitalise "Linux".
34710
f285fe2d 34711 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
34712
a0c62e4e 347132009-06-11 Pavel Roskin <proski@gnu.org>
34714
b6783cb2 34715 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
34716 fix a gcc warning and ensure that the function won't ever exit.
34717
dde032e8 34718 * kern/i386/ieee1275/init.c: Add missing prototype for
34719 grub_stop_floppy().
34720
22cd079d 34721 * loader/ieee1275/multiboot2.c [__i386__]: Include
34722 grub/cpu/multiboot.h.
34723
a0c62e4e 34724 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
34725 casts to short - they are not portable and cause warnings. Fix
34726 use of uninitialized values in input_buf. Use ARRAY_SIZE.
34727
63963d17 347282009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
34729
34730 Drivemap fixes
34731
34732 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
34733 new function
34734 (grub_get_root_biosnumber_saved): new variable
34735 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
34736 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 34737 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 34738 %dx after the call if necessary
34739 * conf/common.rmk (pkglib_MODULES): remove boot.mod
34740 (boot_mod_SOURCES): remove
34741 (boot_mod_CFLAGS): remove
34742 (boot_mod_LDFLAGS): remove
34743 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
34744 (boot_mod_SOURCES): new variable
34745 (boot_mod_CFLAGS): likewise
34746 (boot_mod_LDFLAGS): likewise
34747 * conf/i386-efi.rmk: likewise
34748 * conf/i386-ieee1275.rmk: likewise
34749 * conf/i386-pc.rmk: likewise
34750 * conf/powerpc-ieee1275.rmk: likewise
34751 * conf/sparc64-ieee1275.rmk: likewise
34752 * conf/x86_64-efi.rmk: likewise
34753 * include/grub/i386/pc/biosnum.h: new file
34754 * lib/i386/pc/biosnum.c: likewise
34755 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
34756 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
34757 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 34758
33abf7ae 347592009-06-10 Pavel Roskin <proski@gnu.org>
34760
5ac35b35 34761 * io/gzio.c (test_header): Don't reuse one buffer for all data.
34762 Use separate variables. Read only the file size at the end, but
34763 not the checksum that we don't use.
34764
5c5215d5 34765 * kern/file.c (grub_file_read): Use void pointer for the buffer.
34766 Adjust all callers.
34767
27d5fef7 34768 * kern/ieee1275/openfw.c: Remove libc includes.
34769 * kern/ieee1275/cmain.c: Likewise.
34770 * include/grub/ieee1275/ieee1275.h: Likewise.
34771
33abf7ae 34772 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
34773 compiler warnings.
34774
19d50c2b 347752009-06-10 Felix Zielcke <fzielcke@z-51.de>
34776
34777 * Makefile.in: Remove all trailing whitespace.
34778 * conf/i386-pc.rmk: Likewise.
34779 * conf/powerpc-ieee1275.rmk: Likewise.
34780 * conf/sparc64-ieee1275.rmk: Likewise.
34781 * docs/grub.texi: Likewise.
34782 * docs/texinfo.tex: Likewise.
34783 * disk/fs_uuid.c: Likewise.
34784 * disk/lvm.c: Likewise.
34785 * disk/scsi.c: Likewise.
34786 * disk/ata.c: Likewise.
34787 * disk/ieee1275/ofdisk.c: Likewise.
34788 * disk/i386/pc/biosdisk.c: Likewise.
34789 * disk/host.c: Likewise.
34790 * disk/raid.c: Likewise.
34791 * disk/efi/efidisk.c: Likewise.
34792 * disk/usbms.c: Likewise.
34793 * disk/memdisk.c: Likewise.
34794 * disk/loopback.c: Likewise.
34795 * kern/powerpc/dl.c: Likewise.
34796 * kern/device.c: Likewise.
34797 * kern/dl.c: Likewise.
34798 * kern/sparc64/dl.c: Likewise.
34799 * kern/ieee1275/ieee1275.c: Likewise.
34800 * kern/term.c: Likewise.
34801 * kern/fs.c: Likewise.
34802 * kern/i386/dl.c: Likewise.
34803 * kern/i386/pc/startup.S: Likewise.
34804 * kern/i386/pc/init.c: Likewise.
34805 * kern/i386/pc/mmap.c: Likewise.
34806 * kern/i386/pc/lzo1x.S: Likewise.
34807 * kern/i386/ieee1275/init.c: Likewise.
34808 * kern/i386/realmode.S: Likewise.
34809 * kern/i386/tsc.c: Likewise.
34810 * kern/partition.c: Likewise.
34811 * kern/corecmd.c: Likewise.
34812 * kern/file.c: Likewise.
34813 * kern/efi/efi.c: Likewise.
34814 * kern/efi/init.c: Likewise.
34815 * kern/efi/mm.c: Likewise.
34816 * kern/main.c: Likewise.
34817 * kern/err.c: Likewise.
34818 * kern/env.c: Likewise.
34819 * kern/disk.c: Likewise.
34820 * kern/generic/millisleep.c: Likewise.
34821 * kern/generic/rtc_get_time_ms.c: Likewise.
34822 * kern/misc.c: Likewise.
34823 * kern/parser.c: Likewise.
34824 * genmk.rb: Likewise.
34825 * configure.ac: Likewise.
34826 * boot/i386/pc/diskboot.S: Likewise.
34827 * boot/i386/pc/pxeboot.S: Likewise.
34828 * boot/i386/pc/boot.S: Likewise.
34829 * boot/i386/pc/lnxboot.S: Likewise.
34830 * boot/i386/pc/cdboot.S: Likewise.
34831 * parttool/pcpart.c: Likewise.
34832 * video/readers/tga.c: Likewise.
34833 * video/video.c: Likewise.
34834 * video/bitmap.c: Likewise.
34835 * lib/envblk.c: Likewise.
34836 * lib/i386/setjmp.S: Likewise.
34837 * fs/xfs.c: Likewise.
34838 * fs/afs.c: Likewise.
34839 * fs/fat.c: Likewise.
34840 * fs/ntfs.c: Likewise.
34841 * fs/udf.c: Likewise.
34842 * fs/affs.c: Likewise.
34843 * fs/iso9660.c: Likewise.
34844 * fs/hfs.c: Likewise.
34845 * fs/fshelp.c: Likewise.
34846 * fs/ext2.c: Likewise.
34847 * fs/jfs.c: Likewise.
34848 * fs/reiserfs.c: Likewise.
34849 * fs/hfsplus.c: Likewise.
34850 * fs/minix.c: Likewise.
34851 * fs/cpio.c: Likewise.
34852 * fs/sfs.c: Likewise.
34853 * fs/ufs.c: Likewise.
34854 * efiemu/prepare.c: Likewise.
34855 * efiemu/loadcore_common.c: Likewise.
34856 * efiemu/runtime/efiemu.sh: Likewise.
34857 * efiemu/runtime/efiemu.S: Likewise.
34858 * efiemu/runtime/efiemu.c: Likewise.
34859 * efiemu/pnvram.c: Likewise.
34860 * efiemu/main.c: Likewise.
34861 * efiemu/i386/pc/cfgtables.c: Likewise.
34862 * efiemu/i386/loadcore64.c: Likewise.
34863 * efiemu/i386/loadcore32.c: Likewise.
34864 * efiemu/loadcore.c: Likewise.
34865 * efiemu/symbols.c: Likewise.
34866 * efiemu/mm.c: Likewise.
34867 * include/grub/autoefi.h: Likewise.
34868 * include/grub/datetime.h: Likewise.
34869 * include/grub/term.h: Likewise.
34870 * include/grub/hfs.h: Likewise.
34871 * include/grub/lvm.h: Likewise.
34872 * include/grub/i386/tsc.h: Likewise.
34873 * include/grub/i386/linux.h: Likewise.
34874 * include/grub/i386/xnu.h: Likewise.
34875 * include/grub/i386/efiemu.h: Likewise.
34876 * include/grub/i386/pc/biosdisk.h: Likewise.
34877 * include/grub/i386/pc/memory.h: Likewise.
34878 * include/grub/i386/pc/vbe.h: Likewise.
34879 * include/grub/parttool.h: Likewise.
34880 * include/grub/video.h: Likewise.
34881 * include/grub/memory.h: Likewise.
34882 * include/grub/fs.h: Likewise.
34883 * include/grub/partition.h: Likewise.
34884 * include/grub/xnu.h: Likewise.
34885 * include/grub/efi/api.h: Likewise.
34886 * include/grub/efi/pe32.h: Likewise.
34887 * include/grub/efi/memory.h: Likewise.
34888 * include/grub/multiboot.h: Likewise.
34889 * include/grub/usbdesc.h: Likewise.
34890 * include/grub/multiboot2.h: Likewise.
34891 * include/grub/acpi.h: Likewise.
34892 * include/grub/efiemu/efiemu.h: Likewise.
34893 * include/grub/disk.h: Likewise.
34894 * include/grub/ieee1275/ieee1275.h: Likewise.
34895 * include/grub/net.h: Likewise.
34896 * include/grub/machoload.h: Likewise.
34897 * include/grub/macho.h: Likewise.
34898 * include/multiboot.h: Likewise.
34899 * genmoddep.awk: Likewise.
34900 * normal/main.c: Likewise.
34901 * normal/menu_entry.c: Likewise.
34902 * normal/menu_viewer.c: Likewise.
34903 * normal/completion.c: Likewise.
34904 * normal/cmdline.c: Likewise.
34905 * normal/misc.c: Likewise.
34906 * normal/datetime.c: Likewise.
34907 * bus/usb/usbtrans.c: Likewise.
34908 * bus/usb/ohci.c: Likewise.
34909 * bus/usb/uhci.c: Likewise.
34910 * bus/usb/usb.c: Likewise.
34911 * mmap/efi/mmap.c: Likewise.
34912 * mmap/i386/pc/mmap_helper.S: Likewise.
34913 * mmap/i386/pc/mmap.c: Likewise.
34914 * mmap/i386/mmap.c: Likewise.
34915 * mmap/i386/uppermem.c: Likewise.
34916 * mmap/mmap.c: Likewise.
34917 * commands/acpi.c: Likewise.
34918 * commands/echo.c: Likewise.
34919 * commands/blocklist.c: Likewise.
34920 * commands/loadenv.c: Likewise.
34921 * commands/usbtest.c: Likewise.
34922 * commands/boot.c: Likewise.
34923 * commands/parttool.c: Likewise.
34924 * commands/search.c: Likewise.
34925 * commands/cat.c: Likewise.
34926 * commands/i386/pc/play.c: Likewise.
34927 * commands/i386/pc/drivemap.c: Likewise.
34928 * commands/i386/pc/vbeinfo.c: Likewise.
34929 * commands/i386/pc/acpi.c: Likewise.
34930 * commands/i386/pc/vbetest.c: Likewise.
34931 * commands/ls.c: Likewise.
34932 * commands/cmp.c: Likewise.
34933 * commands/test.c: Likewise.
34934 * commands/efi/acpi.c: Likewise.
34935 * commands/gptsync.c: Likewise.
34936 * commands/help.c: Likewise.
34937 * partmap/amiga.c: Likewise.
34938 * partmap/apple.c: Likewise.
34939 * partmap/acorn.c: Likewise.
34940 * partmap/pc.c: Likewise.
34941 * partmap/sun.c: Likewise.
34942 * partmap/gpt.c: Likewise.
34943 * script/sh/lexer.c: Likewise.
34944 * script/sh/function.c: Likewise.
34945 * font/font.c: Likewise.
34946 * font/font_cmd.c: Likewise.
34947 * loader/powerpc/ieee1275/linux.c: Likewise.
34948 * loader/efi/chainloader.c: Likewise.
34949 * loader/multiboot_loader.c: Likewise.
34950 * loader/macho.c: Likewise.
34951 * loader/i386/multiboot.c: Likewise.
34952 * loader/i386/linux.c: Likewise.
34953 * loader/i386/pc/linux.c: Likewise.
34954 * loader/i386/pc/multiboot2.c: Likewise.
34955 * loader/i386/pc/chainloader.c: Likewise.
34956 * loader/i386/pc/xnu.c: Likewise.
34957 * loader/i386/bsd_trampoline.S: Likewise.
34958 * loader/i386/efi/linux.c: Likewise.
34959 * loader/i386/multiboot_elfxx.c: Likewise.
34960 * loader/i386/bsd_helper.S: Likewise.
34961 * loader/i386/bsd.c: Likewise.
34962 * loader/i386/linux_trampoline.S: Likewise.
34963 * loader/i386/xnu_helper.S: Likewise.
34964 * loader/i386/xnu.c: Likewise.
34965 * loader/i386/bsd_pagetable.c: Likewise.
34966 * loader/i386/multiboot_helper.S: Likewise.
34967 * loader/xnu.c: Likewise.
34968 * loader/xnu_resume.c: Likewise.
34969 * io/gzio.c: Likewise.
34970 * term/efi/console.c: Likewise.
34971 * term/terminfo.c: Likewise.
34972 * term/ieee1275/ofconsole.c: Likewise.
34973 * term/i386/pc/serial.c: Likewise.
34974 * term/i386/pc/vesafb.c: Likewise.
34975 * term/i386/pc/vga.c: Likewise.
34976 * term/usb_keyboard.c: Likewise.
34977 * term/gfxterm.c: Likewise.
34978 * aclocal.m4: Likewise.
34979 * util/lvm.c: Likewise.
34980 * util/grub.d/30_os-prober.in: Likewise.
34981 * util/grub.d/10_hurd.in: Likewise.
34982 * util/console.c: Likewise.
34983 * util/grub-macho2img.c: Likewise.
34984 * util/grub-probe.c: Likewise.
34985 * util/hostfs.c: Likewise.
34986 * util/i386/pc/grub-mkimage.c: Likewise.
34987 * util/i386/pc/grub-setup.c: Likewise.
34988 * util/i386/efi/grub-mkimage.c: Likewise.
34989 * util/grub-mkconfig.in: Likewise.
34990 * util/raid.c: Likewise.
34991 * util/resolve.c: Likewise.
34992 * util/grub-mkdevicemap.c: Likewise.
34993 * util/grub-emu.c: Likewise.
34994 * util/getroot.c: Likewise.
34995 * util/hostdisk.c: Likewise.
34996 * util/usb.c: Likewise.
34997 * util/grub-editenv.c: Likewise.
34998 * util/misc.c: Likewise.
34999
d2d49665 350002009-06-10 Felix Zielcke <fzielcke@z-51.de>
35001
35002 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
35003 `genparttoollist.sh'.
35004 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
35005 Add `*.sh' to the list find searches for and change `mdate.sh'
35006 to `mdate-sh'.
35007
fe052e37 350082009-06-10 Pavel Roskin <proski@gnu.org>
35009
2763ac18 35010 * include/grub/multiboot2.h: Provide compatibility defines for
35011 multiboot2.h.
35012 * include/multiboot2.h: Include stdint.h only if needed, using
35013 angle brackets.
35014 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
35015 grub/multiboot2.h.
35016 * loader/ieee1275/multiboot2.c: Likewise.
35017 * loader/multiboot2.c: Likewise.
35018 * loader/multiboot_loader.c: Likewise.
35019
437e6adc 35020 * configure.ac: Use -nostdlib when probing for the target. It
35021 should not be required to have libc for the target.
35022
06a6836c 35023 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
35024 they fail without libc headers for the target.
35025 * include/grub/powerpc/libgcc.h: Use weak attribute for all
35026 exports.
35027 * include/grub/sparc64/libgcc.h: Likewise. Don't use
35028 preprocessor conditionals.
35029
fe052e37 35030 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
35031 build system doesn't need to be aware of the tar.c internals.
35032
afd22553 350332009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 35034
afd22553 35035 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 35036
6b787c4f 350372009-06-09 Robert Millan <rmh.grub@aybabtu.com>
35038
35039 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
35040 disk limit to 26 for IDE, Virtio, Xen and SCSI.
35041
350422009-06-09 Felix Zielcke <fzielcke@z-51.de>
35043
35044 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 35045 aren't available if ata.mod gets used.
6b787c4f 35046
473d1e45 350472009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 35048
473d1e45 35049 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 35050 initialising controller.
473d1e45 35051 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 35052
255a27d4 350532009-06-08 Felix Zielcke <fzielcke@z-51.de>
35054
35055 * util/i386/pc/grub-install.in: Add a parameter --disk-module
35056 to choose between ata and biosdisk module on i386-pc.
35057
473d1e45 350582009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 35059
d55842d8 35060 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
35061 Subclass and Programming Interface fields in terms of the 3 byte
35062 Class Code register.
35063 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35064
fa5db0b1 35065 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
35066 interface is OHCI. Add grub_dprintf for symmetry with
35067 bus/usb/uhci.c.
35068 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
35069 interface is UHCI. Add interf variable for programming
35070 interface. Print interface with class/subclass.
35071
c0947beb 35072 * bus/usb/ohci.c: Set interf with correct field.
35073
69da8877 35074 * bus/usb/uhci.c: Remove unneeded doubled lines.
35075 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
35076 Remove whitespace inside comment.
35077
9e172e30 350782009-06-08 Robert Millan <rmh.grub@aybabtu.com>
35079
35080 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
35081 as fallback an equivalent option without depth.
35082
de65ee2b 350832009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35084
35085 Not fail if unable to retrieve C/H/S on LBA disks
35086
473d1e45 35087 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 35088 if unable to retrieve C/H/S on LBA disks
35089
b57ea2c9 350902009-06-08 Pavel Roskin <proski@gnu.org>
35091
35092 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
35093 about aliasing.
35094
af361263 350952009-06-08 Felix Zielcke <fzielcke@z-51.de>
35096
35097 * Makefile.in (uninstall): Remove all $lib_DATA files.
35098
4c9ec6b3 350992009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35100
35101 Bugfix: install on partitionless device
35102
35103 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
35104 is a whole disk
35105
e76fc924 351062009-06-08 Felix Zielcke <fzielcke@z-51.de>
35107
35108 * Makefile.in (uninstall): Remove all $include_DATA files.
35109
ba5a0d05 351102009-06-08 Felix Zielcke <fzielcke@z-51.de>
35111
35112 * commands/true.c: New file. Implement the true and false commands.
35113 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
35114 (true_mod_SOURCES): New variable.
35115 (true_mod_CFLAGS): Likewise.
35116 (true_mod_LDFLAGS): Likewise.
35117
c8048e32 351182009-06-05 Colin D Bennett <colin@gibibit.com>
35119
35120 Optimized font character lookup using binary search instead of linear
35121 search. Fonts now are required to have the character index ordered by
35122 code point.
35123
35124 * font/font.c (load_font_index): Verify that fonts have ordered
35125 character indices.
35126 (find_glyph): Use binary search instead of linear search to find a
35127 character in a font.
35128
408305be 351292009-06-05 Michael Scherer <misc@mandriva.org>
35130
35131 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
35132 uses case sensitive btree.
35133 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
35134 only for case insensitive filesystems.
35135
8ee1e0d9 351362009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
35137
35138 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
35139 * conf/common.rmk (search_mod_CFLAGS): likewise
35140
a9966eb1 351412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35142
473d1e45 35143 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 35144 compensate a compiler bug
35145
9e7100fb 351462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35147
473d1e45 35148 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 35149 instead of '\b'
473d1e45 35150
ede21d71 351512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35152
35153 Definitions for creating asm symbols with Apple's CC
35154
35155 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
35156 [APPLE_CC] (VARIABLE): likewise
35157
9dbf7653 351582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35159
35160 Disable lnxboot.img when compiled
35161 with Apple's CC
35162
35163 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
35164 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
35165 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
35166 [! APPLE_CC] (CODE_LENG): skip
35167 [! APPLE_CC] (setup_sects): likewise
35168 [! APPLE_CC]: skip filling
473d1e45 35169
e93cdc3d 351702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35171
35172 Address in trampolines based on 32-bit registers when compiled
35173 with Apple's CC
35174
473d1e45 35175 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 35176 for addresses
35177 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
35178
6c688477 351792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35180
35181 Avoid aliases when compiling with Apple's CC for PCBIOS machine
35182
35183 * kern/misc.c [APPLE_CC] (memcpy): new function
35184 [APPLE_CC] (memmove): likewise
35185 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 35186 (memcpy): define alias conditionally on !APPLE_CC
6c688477 35187 (memset): likewise
35188 (abort): likewise
35189 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
35190 APPLE_CC are defined
35191 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
35192 (grub_assert_fail): make prototype conditional
35193
e37ffc5c 351942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35195
35196 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
35197
473d1e45 35198 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
35199 grub-macho2img
e37ffc5c 35200 (CLEANFILES): add grub-macho2img
35201 (grub_macho2img_SOURCES): new variable
35202 * kern/i386/pc/startup.S (bss_start): new variable
35203 (bss_end): likewise
35204 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
35205 * util/grub-macho2img.c: new file
35206
cf00df31 352072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35208
35209 Use objconv when compiling with Apple's CC
35210
35211 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
35212 (efiemu64.o): likewise
35213 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
35214 when compiling with Apple's CC
35215 (efiemu64_s.o): likewise
35216 * configure.ac: check for objconv when compiling with Apple's CC
35217 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 35218
d119a20c 352192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35220
35221 Define segment as well as section when compiling with
35222 Apple's CC
35223
35224 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
35225 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
35226 (efiemu_convert_pointer): likewise
35227 (efiemu_set_virtual_address_map): likewise
35228 (efiemu_convert_pointer): likewise
35229 (efiemu_getcrc32): likewise
35230 (init_crc32_table): likewise
35231 (reflect): likewise
35232 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
35233 (GRUB_MOD_DEP): likewise
473d1e45 35234
c8600122 352352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35236
35237 Allow a compilation without -mcmodel=large
35238
35239 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
35240 when compiled without -mcmodel=large
473d1e45 35241 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 35242 without -mcmodel=large
473d1e45 35243 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 35244 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 35245
e8df1d4e 352462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35247
35248 Remove nested functions in efiemu core
35249
35250 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 35251
cc6c3ac1 352522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35253
35254 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
35255
35256 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
35257 temporary storage
473d1e45 35258 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
35259 using Apple's CC
cc6c3ac1 35260 (grub_cpu_is_tsc_supported): likewise
35261 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 35262
3e325901 352632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35264
35265 Absolute addressing through constant with Apple's cc
35266
35267 * kern/i386/pc/startup.S: Define necessary constants
35268 and address through it when using ABS with Apple's CC
35269 * boot/i386/pc/diskboot.S: likewise
35270 * boot/i386/pc/boot.S: likewise
35271 * boot/i386/pc/lnxboot.S: likewise
35272 * boot/i386/pc/cdboot.S: likewise
35273 * mmap/i386/pc/mmap_helper.S: likewise
35274 * commands/i386/pc/drivemap_int13h.S: likewise
35275
2b167a72 352762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35277
35278 Check if compiler is apple cc
35279
35280 * Makefile.in (ASFLAGS): new variable
35281 (TARGET_ASFLAGS): likewise
35282 (TARGET_MODULE_FORMAT): likewise
35283 (TARGET_APPLE_CC): likewise
35284 (OBJCONV): likewise
35285 (TARGET_IMG_CFLAGS): likewise
35286 (TARGET_CPPFLAGS): add includedir
35287 * configure.ac: call grub_apple_cc and grub_apple_target_cc
35288 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
35289 Check for linker script only if compiler isn't Apple's CC
35290 (TARGET_MODULE_FORMAT): set
35291 (TARGET_APPLE_CC): likewise
35292 (TARGET_ASFLAGS): likewise
35293 (ASFLAGS): likewise
35294 Check for objcopy only if compiler isn't Apple's CC
35295 Check for BSS symbol only if compiler isn't Apple's CC
35296 * genmk.rb: adapt nm options if we use Apple's utils
35297 * aclocal.m4 (grub_apple_cc): new test
35298 (grub_apple_target_cc): likewise
473d1e45 35299
fb14123e 353002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35301
35302 Simplify sed expressions and improve awk
35303
35304 * Makefile.in (install-local): simplify sed expression
35305 * gencmdlist.sh: likewise
35306 * genmoddep.awk: avoid adding module as a dependency of itself
35307
5b889789 353082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35309
35310 Add missing start symbols
35311
35312 * boot/i386/pc/boot.S: add start
fb14123e 35313 * boot/i386/pc/pxeboot.S: likewise
473d1e45 35314
fd2bf2e3 353152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35316
35317 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 35318
35319 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 35320 (relocate_addresses): consider both r_addend and value at offset
35321 (make_mods_section): zerofill modinfo and header
35322 (convert_elf): write prefix here
473d1e45 35323
5389763d 353242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35325
35326 Use .asciz instead of .string
35327
35328 * i386/pc/diskboot.S: use .asciz instead of .string
35329 * i386/pc/boot.S: likewise
35330 * include/grub/dl.h (GRUB_MOD_DEP): likewise
35331 (GRUB_MOD_NAME): likewise
473d1e45 35332
3eb5ed4e 353332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35334
35335 gfxpayload support
35336
35337 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
35338 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
35339 (grub_video_setup): remove
35340 (grub_video_set_mode): new prototype
35341 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
35342 (vid_mode): remove
35343 (linux_vesafb_res): compile only on PCBIOS
35344 (grub_linux_boot): support gfxpayload
35345 * loader/i386/pc/xnu.c (video_hook): new function
35346 (grub_xnu_set_video): support gfxpayload
35347 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
35348 (DEFAULT_VIDEO_HEIGHT): likewise
35349 (DEFAULT_VIDEO_FLAGS): likewise
35350 (DEFAULT_VIDEO_MODE): new definition
35351 (video_hook): new function
35352 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 35353 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 35354 loading xnu
35355 * video/video.c (grub_video_setup): removed
473d1e45 35356 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 35357 grub_video_setup
35358
4b0e1143 353592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35360
35361 Avoid calling biosdisk in drivemap
35362
35363 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
35364 (revparse_biosdisk): likewise
35365 (list_mappings): derive name from id directly
35366 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 35367
fda6cb98 353682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35369
35370 Script fixes
35371
35372 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
35373 (grub_lexer_param): add tokenonhold
35374 (grub_script_create_cmdline): remove cmdline. All callers updated
35375 (grub_script_function_create): make functionname
35376 grub_script_arg. All callers updated
35377 (grub_script_execute_argument_to_string): new prototype
35378 * kern/parser.c (state_transitions): reorder
35379 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 35380 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 35381 make global
35382 (grub_script_execute_cmdline): use new format
35383 * script/sh/function.c (grub_script_function_create): make functionname
35384 grub_script_arg. All callers updated
473d1e45 35385 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 35386 (grub_script_yylex): remove
35387 (grub_script_yylex2): renamed to ...
35388 (grub_script_yylex): ...renamed
35389 parse the expressions like a${b}c
35390 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
35391 (GRUB_PARSER_TOKEN_VAR): remove
35392 (GRUB_PARSER_TOKEN_NAME): likewise
35393 ("if"): declare as typeless
35394 ("while"): likewise
35395 ("function"): likewise
35396 ("else"): likewise
35397 ("then"): likewise
35398 ("fi"): likewise
35399 (text): remove
35400 (argument): likewise
35401 (script): accept empty scripts and make exit on error
35402 (arguments): use GRUB_PARSER_TOKEN_ARG
35403 (function): likewise
35404 (command): move error handling to script
35405 (menuentry): move grub_script_lexer_ref before
473d1e45 35406 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 35407 argument. All callers updated
35408
f4448a07 354092009-06-04 Robert Millan <rmh.grub@aybabtu.com>
35410
35411 Prevent GRUB from probing floppies during boot.
35412
35413 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
35414 * commands/search.c (options): Add --no-floppy.
35415 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
35416 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
35417 --no-floppy when searching for UUIDs.
35418
2bf5885a 354192009-06-04 Robert Millan <rmh.grub@aybabtu.com>
35420
35421 Simplify the code duplication in commands/search.c.
35422
35423 * commands/search.c (search_label, search_fs_uuid): Merge into ...
35424 (search_fs): ... this. Update all users.
35425
f6fd460a 354262009-06-03 Felix Zielcke <fzielcke@z-51.de>
35427
35428 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
35429
cbb3c83e 354302009-05-28 Pavel Roskin <proski@gnu.org>
35431
57788cfd 35432 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
35433 Remove the original symlink explicitly.
35434
cbb3c83e 35435 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
35436 just one slash. That's how grub_fshelp_find_file() does it.
35437
cd0d5e30 354382009-05-26 Pavel Roskin <proski@gnu.org>
35439
f0f8bbe2 35440 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
35441 to `str'.
35442
cd0d5e30 35443 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
35444 possibly unused.
35445
8c2cab51 354462009-05-25 Christian Franke <franke@computer.org>
35447
35448 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
35449 register.
35450 (grub_atapi_identify): Add wait after drive select.
35451 (grub_ata_identify): Do more strict status register check before
35452 calling grub_atapi_identify (). Suppress error message if status
35453 register is 0x00 after command failure. Add status register
35454 check after PIO read to avoid bogus identify due to stuck DRQ.
35455 Thanks to Pavel Roskin for testing.
35456 (grub_device_initialize): Remove unsafe status register check.
35457 Thanks to 'phcoder' for problem report and patch.
35458 Prevent sign extension in debug message.
35459
230c0ad6 354602009-05-23 Colin D Bennett <colin@gibibit.com>
35461
35462 Cleaned up `include/grub/normal.h'. Grouped prototypes by
35463 definition file, and functions defined in `normal/menu.c' have had
35464 their prototypes moved to `include/grub/menu.h' for consistency.
35465
35466 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
35467 from normal.h.
35468 (grub_menu_get_entry): Likewise.
35469 (grub_menu_get_timeout): Likewise.
35470 (grub_menu_set_timeout): Likewise.
35471 (grub_menu_execute_entry): Likewise.
35472 (grub_menu_execute_with_fallback): Likewise.
35473 (grub_menu_entry_run): Likewise.
35474
35475 * include/grub/normal.h: Re-ordered and grouped function
35476 prototypes by file that the function is defined in.
35477 (grub_menu_execute_callback): Removed; moved to menu.h.
35478 (grub_menu_get_entry): Likewise.
35479 (grub_menu_get_timeout): Likewise.
35480 (grub_menu_set_timeout): Likewise.
35481 (grub_menu_execute_entry): Likewise.
35482 (grub_menu_execute_with_fallback): Likewise.
35483 (grub_menu_entry_run): Likewise.
35484 (grub_menu_addentry): Renamed from this ...
35485 (grub_normal_add_menu_entry): ... to this.
35486
35487 * normal/main.c (grub_menu_addentry): Renamed from this ...
35488 (grub_normal_add_menu_entry): ... to this.
35489
35490 * script/sh/execute.c (grub_script_execute_menuentry): Update
35491 reference to renamed grub_menu_addentry function.
35492
861f03a5 354932009-05-23 Felix Zielcke <fzielcke@z-51.de>
35494
35495 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
35496
96b1619a 354972009-05-22 Pavel Roskin <proski@gnu.org>
35498
bf6a5fb2 35499 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
35500 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
35501 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
35502 compiling for the i386 targets, but not for the utilities.
35503
96b1619a 35504 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
35505 to grub_uint8_t.
35506 (grub_root_drive): Likewise.
35507 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
35508 remove alignment.
35509 (grub_root_drive): Change size to byte.
35510 (grub_start_addr): Remove.
35511 (grub_end_addr): Likewise.
35512 (grub_apm_bios_info): Likewise.
35513
b729776b 355142009-05-21 Felix Zielcke <fzielcke@z-51.de>
35515
35516 * normal/i386: Remove.
35517 * normal/powerpc: Likewise.
35518 * normal/sparc64: Likewise.
35519 * normal/x86_64: Likewise.
35520
0a15ce80 355212009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
35522
35523 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 35524 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 35525 * loader/i386/xnu_helper.S: Likewise
d6da58e6 35526
33db9015 355272009-05-18 Colin D Bennett <colin@gibibit.com>
35528
d6da58e6 35529 Display error messages when parsing a Lua statement fails.
35530 Previously, executing a syntactically invalid statement like
35531 ")foo" or "bar;" would silently fail.
33db9015 35532
35533 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 35534 (grub_lua_parse_line): Improved reporting of Lua parser and
35535 execution errors.
33db9015 35536
46422c89 355372009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
35538
35539 Remove -Werror which causes build to fail on some systems
35540
35541 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
35542 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
35543 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 35544
22f53a96 355452009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
35546
35547 trampoline for linux on 64-bit platform
35548
18f547ad 35549 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
35550 loader/i386/efi/linux_trampoline.S
35551 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 35552 declaration
d6da58e6 35553 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
35554 here
22f53a96 35555 * loader/i386/linux_trampoline.S: moved here
d6da58e6 35556 * loader/i386/efi/linux.c (allocate_pages): reserve space for
35557 trampoline
22f53a96 35558 (jumpvector): removed
35559 (grub_linux_trampoline_start): new declaration
35560 (grub_linux_trampoline_end): likewise
35561 (grub_linux_boot): use trampoline when on 64-bit platform
35562 * loader/i386/linux.c: likewise
35563
cb5a0f40 355642009-05-16 Pavel Roskin <proski@gnu.org>
35565
35566 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
35567 const to avoid a warning.
35568 (grub_lua_setenv): Likewise.
35569 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
35570 lmsg to fix a warning.
35571
334f2c28 355722009-05-16 Felix Zielcke <fzielcke@z-51.de>
35573
35574 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 35575 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
35576 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
35577 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
35578 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
35579 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
35580 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
35581 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 35582
59e5d3ec 355832009-05-16 Felix Zielcke <fzielcke@z-51.de>
35584
35585 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
35586
9d87a1ba 355872009-05-16 Bean <bean123ch@gmail.com>
35588
35589 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
35590 (lua_mod_SOURCES): New variable.
35591 (lua_mod_CFLAGS): Likewise.
35592 (lua_mod_LDFLAGS): Likewise.
35593
35594 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
35595 (setjmp_mod_SOURCES): New variable.
35596 (setjmp_mod_CFLAGS): Likewise.
35597 (setjmp_LDFLAGS): Likewise.
35598
35599 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
35600 (setjmp_mod_SOURCES): New variable.
35601 (setjmp_mod_CFLAGS): Likewise.
35602 (setjmp_LDFLAGS): Likewise.
35603
35604 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
35605 (setjmp_mod_SOURCES): New variable.
35606 (setjmp_mod_CFLAGS): Likewise.
35607 (setjmp_LDFLAGS): Likewise.
35608
35609 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
35610 (setjmp_mod_SOURCES): New variable.
35611 (setjmp_mod_CFLAGS): Likewise.
35612 (setjmp_LDFLAGS): Likewise.
35613
35614 * normal/i386/setjmp.S: Moved from here ...
35615 * lib/i386/setjmp.S: ... Moved here
35616 * normal/x86_64/setjmp.S: Moved from here ...
35617 * lib/x86_64/setjmp.S: ... Moved here
35618 * normal/powerpc/setjmp.S: Moved from here ...
35619 * lib/powerpc/setjmp.S: ... Moved here
35620 * normal/sparc64/setjmp.S: Moved from here ...
35621 * lib/sparc64/setjmp.S: ... Moved here
35622
35623 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
35624 returns_twice in mingw.
35625
35626 * script/lua/grub_lib.c: New file.
35627 * script/lua/grub_lib.h: Likewise.
35628 * script/lua/grub_lua.h: Likewise.
35629 * script/lua/grub_main.c: Likewise.
35630 * script/lua/lapi.c: Likewise.
35631 * script/lua/lapi.h: Likewise.
35632 * script/lua/lauxlib.c: Likewise.
35633 * script/lua/lauxlib.h: Likewise.
35634 * script/lua/lbaselib.c: Likewise.
35635 * script/lua/lcode.c: Likewise.
35636 * script/lua/lcode.h: Likewise.
35637 * script/lua/ldblib.c: Likewise.
35638 * script/lua/ldebug.c: Likewise.
35639 * script/lua/ldebug.h: Likewise.
35640 * script/lua/ldo.c: Likewise.
35641 * script/lua/ldo.h: Likewise.
35642 * script/lua/ldump.c: Likewise.
35643 * script/lua/lfunc.c: Likewise.
35644 * script/lua/lfunc.h: Likewise.
35645 * script/lua/lgc.c: Likewise.
35646 * script/lua/lgc.h: Likewise.
35647 * script/lua/linit.c: Likewise.
35648 * script/lua/liolib.c: Likewise.
35649 * script/lua/llex.c: Likewise.
35650 * script/lua/llex.h: Likewise.
35651 * script/lua/llimits.h: Likewise.
35652 * script/lua/lmathlib.c: Likewise.
35653 * script/lua/lmem.c: Likewise.
35654 * script/lua/lmem.h: Likewise.
35655 * script/lua/loadlib.c: Likewise.
35656 * script/lua/lobject.c: Likewise.
35657 * script/lua/lobject.h: Likewise.
35658 * script/lua/lopcodes.c: Likewise.
35659 * script/lua/lopcodes.h: Likewise.
35660 * script/lua/loslib.c: Likewise.
35661 * script/lua/lparser.c: Likewise.
35662 * script/lua/lparser.h: Likewise.
35663 * script/lua/lstate.c: Likewise.
35664 * script/lua/lstate.h: Likewise.
35665 * script/lua/lstring.c: Likewise.
35666 * script/lua/lstring.h: Likewise.
35667 * script/lua/lstrlib.c: Likewise.
35668 * script/lua/ltable.c: Likewise.
35669 * script/lua/ltable.h: Likewise.
35670 * script/lua/ltablib.c: Likewise.
35671 * script/lua/ltm.c: Likewise.
35672 * script/lua/ltm.h: Likewise.
35673 * script/lua/lua.h: Likewise.
35674 * script/lua/luaconf.h: Likewise.
35675 * script/lua/lualib.h: Likewise.
35676 * script/lua/lundump.c: Likewise.
35677 * script/lua/lundump.h: Likewise.
35678 * script/lua/lvm.c: Likewise.
35679 * script/lua/lvm.h: Likewise.
35680 * script/lua/lzio.c: Likewise.
35681 * script/lua/lzio.h: Likewise.
35682
5e898c9d 356832009-05-16 Bean <bean123ch@gmail.com>
35684
35685 * include/grub/kernel.h (grub_module_header_types): Add type
35686 OBJ_TYPE_CONFIG.
35687
35688 * kern/main.c (grub_load_config): New function.
35689 (grub_main): Call grub_load_config to read boot config.
35690
35691 * grub-mkimage (generate_image): New parameter config_path.
35692 (options): New option --config.
35693 (main): Parse --config option, and pass it to generate_image.
35694
cf353a47 356952009-05-14 Christian Franke <franke@computer.org>
35696
35697 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
35698 This fixes build on Cygwin.
35699
3834887f 357002009-05-14 Pavel Roskin <proski@gnu.org>
35701
35702 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
35703 jump. This saves two bytes, so the typical case of 2 swapped
35704 drives would fit 32 bytes.
35705
8090fc01 357062009-05-13 Pavel Roskin <proski@gnu.org>
35707
ac963883 35708 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
35709 grub_uint32_t to avoid a warning.
35710
8090fc01 35711 * loader/i386/linux.c (allocate_pages): When assigning
35712 real_mode_mem, cast through grub_size_t to fix a warning. The
35713 code already makes sure that the value would fit a pointer.
35714 (grub_linux_setup_video): Cast render_target->data to
35715 grub_size_t to fix a warning.
35716
18f547ad 357172009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 35718
35719 * commands/i386/pc/drivemap.c: New file - implement drivemap
35720 command.
35721 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
35722 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
35723
6f6a8b28 357242009-05-13 Pavel Roskin <proski@gnu.org>
35725
35726 * util/i386/pc/grub-setup.c (setup): Remove unused variable
35727 embedding_area_exists.
35728
15fbf4c4 357292009-05-13 Robert Millan <rmh.grub@aybabtu.com>
35730
35731 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
35732 it easier to understand / work with.
59978c8a 35733 Improve warning messages for cases where there's no embedding area,
35734 or when it is too small (or core.img too large).
15fbf4c4 35735
238e871f 357362009-05-13 Pavel Roskin <proski@gnu.org>
35737
0ab3a9a4 35738 * loader/i386/pc/multiboot2.c: Add necessary includes for
35739 grub_multiboot2_real_boot().
35740
a2c8c5f8 35741 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
35742 PX record is always little-endian. We only need the lower 2
35743 bytes of the mode.
35744
faec96af 35745 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
35746 facilitate code reuse.
35747 (grub_cpio_mount): Use "struct head", not a char buffer. This
35748 fixes a warning reported by gcc 4.4.
35749
238e871f 35750 * kernel/disk.c (grub_disk_read): Use void pointer for the
35751 buffer.
35752 (grub_disk_write): Use const void pointer for the buffer.
35753 Adjust all callers. Remove unnecessary casts.
35754
901d2f0c 357552009-05-10 Robert Millan <rmh.grub@aybabtu.com>
35756
35757 * util/i386/pc/grub-install.in: Update copyright year.
35758
18f547ad 357592009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 35760
35761 gptsync
35762
35763 * commands/gptsync.c: new file
35764 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
35765 (gptsync_mod_SOURCES): new variable
35766 (gptsync_mod_CFLAGS): likewise
35767 (gptsync_mod_LDFLAGS): likewise
18f547ad 35768 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 35769 new definition
35770 (GRUB_PC_PARTITION_TYPE_HFS): likewise
35771 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
35772 * conf/i386-ieee1275.rmk: likewise
35773 * conf/i386-pc.rmk: likewise
35774 * conf/powerpc-ieee1275.rmk: likewise
35775
b4ba690a 357762009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
35777
35778 Fixed grub-emu
35779
35780 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
35781 (grub_dl_ref): likewise
35782
317e1a44 357832009-05-08 Robert Millan <rmh.grub@aybabtu.com>
35784
35785 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
35786 split in two functions (one for msdos and one for gpt).
35787
041b8094 357882009-05-08 Pavel Roskin <proski@gnu.org>
35789
752473c2 35790 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
35791 not modified.
35792
041b8094 35793 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
35794 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
35795 Initialize them with -1. Add sanity check for bad1. Eliminate
35796 nerr variable.
35797
172800ce 357982009-05-08 David S. Miller <davem@davemloft.net>
35799
35800 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
35801
29aa5e81 358022009-05-06 Robert Millan <rmh.grub@aybabtu.com>
35803
35804 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 35805 existence.
29aa5e81 35806
96613b62 358072009-05-05 Felix Zielcke <fzielcke@z-51.de>
35808
35809 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 35810 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 35811
eef73c8a 358122009-05-05 David S. Miller <davem@davemloft.net>
35813
35814 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
35815
119494b5 358162009-05-05 Pavel Roskin <proski@gnu.org>
35817
35818 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
35819 of grub_dl_ref() and grub_dl_unref().
35820 * commands/parttool.c: Remove preprocessor conditionals around
35821 grub_dl_ref() and grub_dl_unref().
35822 * fs/affs.c: Likewise.
35823 * fs/afs.c: Likewise.
35824 * fs/cpio.c: Likewise.
35825 * fs/ext2.c: Likewise.
35826 * fs/fat.c: Likewise.
35827 * fs/hfs.c: Likewise.
35828 * fs/hfsplus.c: Likewise.
35829 * fs/iso9660.c: Likewise.
35830 * fs/jfs.c: Likewise.
35831 * fs/minix.c: Likewise.
35832 * fs/ntfs.c: Likewise.
35833 * fs/reiserfs.c: Likewise.
35834 * fs/sfs.c: Likewise.
35835 * fs/udf.c: Likewise.
35836 * fs/ufs.c: Likewise.
35837 * fs/xfs.c: Likewise.
35838 * include/grub/dl.h: Likewise.
35839 * loader/xnu.c: Likewise.
35840
de5fd76e 358412009-05-04 Pavel Roskin <proski@gnu.org>
35842
35843 * commands/acpi.c: Remove unused variable my_mod.
35844 * partmap/amiga.c: Likewise.
35845 * partmap/apple.c: Likewise.
35846 * partmap/gpt.c: Likewise.
35847 * partmap/pc.c: Likewise.
35848 * partmap/sun.c: Likewise.
35849 * term/gfxterm.c: Likewise.
35850 * term/i386/pc/vesafb.c: Likewise.
35851 * term/i386/pc/vga.c: Likewise.
35852
983598ad 358532009-05-04 David S. Miller <davem@davemloft.net>
35854
35855 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
35856 pointer args to grub_ieee1275_get_property().
35857
8aadec43 35858 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
35859
9554b15e 35860 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
35861 devices, and do not traverse down under controller nodes.
35862
67e23c90 35863 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
35864 (grub_ofdisk_open): Use it to un-escape "," characters.
35865 * kern/disk.c (find_part_sep): New.
35866 (grub_disk_open): Use it to find the first non-escaped ','
35867 character in the disk name.
35868 * util/ieee1275/devicemap.c (escape_of_path): New.
35869 (grub_util_emit_devicemap_entry): Use it.
35870 * util/sparc64/ieee1275/grub-install.in: Update script to
35871 strip partition specifiers properly by not triggering on
35872 '\' escaped ',' characters.
35873
74bfdd2f 358742009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35875
35876 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
35877 to 0x300.
35878 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
35879 resolutions.
35880 (linux_vesafb_modes): Add a lot of additional modes to the list (based
35881 on documentation from Wikipedia).
35882
4241d2b1 358832009-05-04 Pavel Roskin <proski@gnu.org>
35884
35885 * disk/ata.c: Spelling fixes.
35886 * disk/raid.c: Likewise.
35887 * disk/usbms.c: Likewise.
35888 * disk/dmraid_nvidia.c: Likewise.
35889 * kern/ieee1275/openfw.c: Likewise.
35890 * kern/ieee1275/init.c: Likewise.
35891 * kern/ieee1275/cmain.c: Likewise.
35892 * boot/i386/pc/cdboot.S: Likewise.
35893 * video/readers/png.c: Likewise.
35894 * video/i386/pc/vbe.c: Likewise.
35895 * fs/udf.c: Likewise.
35896 * fs/hfs.c: Likewise.
35897 * fs/reiserfs.c: Likewise.
35898 * efiemu/runtime/efiemu.c: Likewise.
35899 * efiemu/main.c: Likewise.
35900 * efiemu/mm.c: Likewise.
35901 * include/grub/elf.h: Likewise.
35902 * include/grub/xnu.h: Likewise.
35903 * include/grub/usbdesc.h: Likewise.
35904 * include/grub/usb.h: Likewise.
35905 * include/grub/script_sh.h: Likewise.
35906 * include/grub/lib/LzmaEnc.h: Likewise.
35907 * include/grub/efiemu/efiemu.h: Likewise.
35908 * include/grub/command.h: Likewise.
35909 * normal/menu.c: Likewise.
35910 * normal/main.c: Likewise.
35911 * normal/datetime.c: Likewise.
35912 * bus/usb/uhci.c: Likewise.
35913 * mmap/i386/uppermem.c: Likewise.
35914 * mmap/mmap.c: Likewise.
35915 * commands/acpi.c: Likewise.
35916 * commands/test.c: Likewise.
35917 * partmap/apple.c: Likewise.
35918 * font/font.c: Likewise.
35919 * loader/sparc64/ieee1275/linux.c: Likewise.
35920 * loader/macho.c: Likewise.
35921 * loader/i386/bsd_trampoline.S: Likewise.
35922 * loader/i386/bsd.c: Likewise.
35923 * loader/xnu.c: Likewise.
35924 * term/i386/pc/vesafb.c: Likewise.
35925 * term/usb_keyboard.c: Likewise.
35926 * util/resolve.c: Likewise.
35927 * util/getroot.c: Likewise.
35928
0cfc0083 359292009-05-04 Felix Zielcke <fzielcke@z-51.de>
35930
35931 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
35932
7c1d00cd 359332009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35934
35935 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
35936 build error.
35937
b01f0548 359382009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35939
35940 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
35941 parameter only available on BIOS.
35942
ecc3eb22 359432009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
35944
35945 Removed wrong semicolon in declaration
35946
35947 * grub/misc.h (grub_dprintf): remove semicolon
35948
112972a9 359492009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35950
35951 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
35952 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
35953 is done by grub_cmd_linux() now).
35954 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
35955 restore video to text mode.
35956 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
35957 indicates lack of "vga=" parameter. "vga=0" is mapped to
35958 `GRUB_LINUX_VID_MODE_NORMAL'.
35959
afd5c115 359602009-05-04 Felix Zielcke <fzielcke@z-51.de>
35961
35962 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
35963 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
35964 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 35965 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 35966 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
35967 `grub_script.tab.c'.
35968
35969 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35970 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35971 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35972 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35973 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35974
faa517ce 35975 * Makefile.in: Remove duplicated 2008 in Copyright line.
35976
ae0c0bdc 359772009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35978
473d1e45 35979 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 35980 unconditionally.
35981 * include/grub/util/misc.h (grub_util_warn): New declaration.
35982
35983 * util/i386/pc/grub-install.in: Understand --force and pass it down
35984 to grub-setup.
35985
35986 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
35987 down to setup().
35988 (setup): Improve error messages and add warnings when requested to
35989 install in odd layouts. Refuse to install using blocklists unless
35990 --force was set.
35991
18f547ad 359922009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 35993
35994 * disk/raid.c (grub_raid_scan_device): Improve debug message.
35995
6d260daa 359962009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
35997
35998 Updated copyright year
35999
36000 * fs/hfsplus.c: updated copyright year
18f547ad 36001
69f853f8 360022009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36003
36004 HFS+ UUID
36005
18f547ad 36006 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 36007 in the space previously used by unused3
36008 (grub_hfsplus_uuid): new function
36009 (grub_hfsplus_fs): added uuid field
36010
4c402e73 360112009-05-03 Pavel Roskin <proski@gnu.org>
36012
36013 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
36014 suppress warnings. It's no longer needed.
36015 * disk/host.c: Likewise.
36016 * disk/ata_pthru.c: Likewise.
36017 * disk/loopback.c: Likewise.
36018 * hook/datehook.c: Likewise.
36019 * parttool/pcpart.c: Likewise.
36020 * fs/i386/pc/pxe.c: Likewise.
36021 * fs/ntfscomp.c: Likewise.
36022 * efiemu/main.c: Likewise.
36023 * mmap/mmap.c: Likewise.
36024 * commands/crc.c: Likewise.
36025 * commands/hexdump.c: Likewise.
36026 * commands/hdparm.c: Likewise.
36027 * commands/acpi.c: Likewise.
36028 * commands/echo.c: Likewise.
36029 * commands/minicmd.c: Likewise.
36030 * commands/blocklist.c: Likewise.
36031 * commands/memrw.c: Likewise.
36032 * commands/loadenv.c: Likewise.
36033 * commands/usbtest.c: Likewise.
36034 * commands/lsmmap.c: Likewise.
36035 * commands/boot.c: Likewise.
36036 * commands/parttool.c: Likewise.
36037 * commands/configfile.c: Likewise.
36038 * commands/search.c: Likewise.
36039 * commands/ieee1275/suspend.c: Likewise.
36040 * commands/cat.c: Likewise.
36041 * commands/i386/pc/pxecmd.c: Likewise.
36042 * commands/i386/pc/play.c: Likewise.
36043 * commands/i386/pc/halt.c: Likewise.
36044 * commands/i386/pc/vbeinfo.c: Likewise.
36045 * commands/i386/pc/vbetest.c: Likewise.
36046 * commands/lspci.c: Likewise.
36047 * commands/date.c: Likewise.
36048 * commands/handler.c: Likewise.
36049 * commands/ls.c: Likewise.
36050 * commands/test.c: Likewise.
36051 * commands/cmp.c: Likewise.
36052 * commands/efi/loadbios.c: Likewise.
36053 * commands/efi/fixvideo.c: Likewise.
36054 * commands/halt.c: Likewise.
36055 * commands/help.c: Likewise.
36056 * commands/reboot.c: Likewise.
36057 * hello/hello.c: Likewise.
36058 * script/sh/main.c: Likewise.
36059 * loader/xnu.c: Likewise.
36060 * term/terminfo.c: Likewise.
36061 * term/i386/pc/serial.c: Likewise.
36062 * term/usb_keyboard.c: Likewise.
36063
515b5079 360642009-05-03 David S. Miller <davem@davemloft.net>
36065
36066 * normal/menu.c: Include grub/parser.h
36067
dfc31a22 360682009-05-03 Pavel Roskin <proski@gnu.org>
36069
2fee74f1 36070 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
36071 not char*.
36072 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
36073 Suggested by Javier Martín <lordhabbit@gmail.com>
36074
dfc31a22 36075 * util/i386/pc/grub-mkrescue.in: Allow for the case when
36076 efiemu??.o doesn't exist.
36077 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
36078 copying.
36079
18f547ad 360802009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 36081
36082 FreeBSD 64-bit support
36083
18f547ad 36084 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 36085 and loader/i386/bsd_trampoline.S
36086 (bsd_mod_ASFLAGS): new variable
36087 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
36088 (FREEBSD_MODTYPE_KERNEL64): likewise
36089 (grub_bsd64_trampoline_start): likewise
36090 (grub_bsd64_trampoline_end): likewise
36091 (grub_bsd64_trampoline_selfjump): likewise
36092 (grub_bsd64_trampoline_gdt): likewise
36093 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
36094 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
36095 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
36096 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 36097 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 36098 of "attrib" member
36099 * loader/i386/bsd_pagetable.c: new file
36100 * loader/i386/bsd_trampoline.S: likewise
36101 * loader/i386/bsd.c (ALIGN_QWORD): new macro
36102 (ALIGN_VAR): likewise
36103 (entry_hi): new variable
36104 (kern_end_mdofs): likewise
36105 (is_64bit): likewise
36106 (grub_freebsd_add_meta): use ALIGN_VAR
36107 (grub_e820_mmap): new declaration
36108 (grub_freebsd_add_mmap): new function
36109 (grub_freebsd_add_meta_module): support 64 bit kernels
36110 (grub_freebsd_list_modules): use ALIGN_VAR
36111 (gdt_descriptor): new declaration
36112 (grub_freebsd_boot): support 64 bit kernels
36113 (grub_bsd_elf64_hook): new function
36114 (grub_bsd_load_elf): support elf64
36115
038c5720 361162009-05-03 Bean <bean123ch@gmail.com>
36117
36118 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
36119 after we get the result of if statement.
36120
fc45fb58 361212009-05-03 Bean <bean123ch@gmail.com>
36122
36123 * Makefile.in (enable_efiemu): New variable.
36124
36125 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
36126 set.
36127 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
36128 path.
36129 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
36130 path, add -mno-red-zone option.
36131 (efiemu64_s.o): Likewise.
36132 (efiemu64.o): Use macro $^ for source file.
36133
36134 * configure.ac (--enable-efiemu): New option.
36135
bbee0f2b 361362009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
36137
36138 xnu support
36139
36140 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
36141 (pkglib_MODULES): add xnu.mod
36142 (xnu_mod_SOURCES): new variable
36143 (xnu_mod_CFLAGS): likewise
36144 (xnu_mod_LDFLAGS): likewise
36145 (xnu_mod_ASFLAGS): likewise
36146 * conf/i386-pc.rmk: likewise
36147 * conf/x86_64-efi.rmk: likewise
7dd4a573 36148 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 36149 new declaration
36150 * include/grub/i386/macho.h: new file
36151 * include/grub/i386/xnu.h: likewise
36152 * include/grub/macho.h: likewise
36153 * include/grub/machoload.h: likewise
36154 * include/grub/x86_64/macho.h: likewise
36155 * include/grub/x86_64/xnu.h: likewise
36156 * include/grub/xnu.h: likewise
36157 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
36158 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
36159 * loader/i386/efi/xnu.c: new file
36160 * loader/i386/pc/xnu.c: likewise
36161 * loader/i386/xnu.c: likewise
36162 * loader/i386/xnu_helper.S: likewise
36163 * loader/macho.c: likewise
36164 * loader/xnu.c: likewise
36165 * loader/xnu_resume.c: likewise
36166 * util/grub-dumpdevtree: likewise
36167 * include/grub/i386/pit.h: include grub/err.h
36168 (grub_pit_wait): export
36169 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 36170
5caf964d 361712009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
36172
36173 Efiemu
7dd4a573 36174
5caf964d 36175 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 36176 _linux_efi, linux_efi.
36177 new files in grub-emu
5caf964d 36178 new targets efiemu32.o and efiemu64.o
36179 * loader/linux_normal_efiemu.c: likewise
36180 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 36181 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 36182 files to copy
36183 * include/grub/autoefi.h: new file
7dd4a573 36184 * include/grub/i386/efiemu.h: likewise
5caf964d 36185 * include/grub/i386/pc/efiemu.h: likewise
36186 * include/grub/efi/api.h: add LL suffix when necessary
36187 new definitions relating to tables
36188 * include/grub/efiemu/efiemu.h: new file
36189 * include/grub/efiemu/runtime.h: likewise
36190 * efiemu/prepare.c: likewise
36191 * efiemu/loadcore_common.c: likewise
36192 * efiemu/loadcore64.c: likewise
36193 * efiemu/runtime/efiemu.sh: likewise
36194 * efiemu/runtime/efiemu.S: likewise
36195 * efiemu/runtime/efiemu.c: likewise
36196 * efiemu/runtime/config.h: likewise
36197 * efiemu/prepare32.c: likewise
36198 * efiemu/main.c: likewise
36199 * efiemu/modules/pnvram.c: likewise
36200 * efiemu/modules/i386: likewise
36201 * efiemu/modules/i386/pc: likewise
36202 * efiemu/modules/acpi.c: likewise
36203 * efiemu/i386/pc/cfgtables.c: likewise
36204 * efiemu/i386/loadcore64.c: likewise
36205 * efiemu/i386/loadcore32.c: likewise
36206 * efiemu/prepare64.c: likewise
36207 * efiemu/loadcore.c: likewise
36208 * efiemu/symbols.c: likewise
36209 * efiemu/mm.c: likewise
36210 * efiemu/loadcore32.c: likewise
7dd4a573 36211
362122009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 36213
36214 ACPI spoofing
36215
36216 * commands/acpi.c: new file
36217 * commands/i386/pc/acpi.c: likewise
36218 * commands/efi/acpi.c: likewise
36219 * include/grub/acpi.h: likewise
36220 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
36221 (acpi_mod_SOURCES): new variable
36222 (acpi_mod_CFLAGS): likewise
36223 (acpi_mod_LDFLAGS): likewise
36224 * conf/i386-efi.rmk: likewise
36225 * conf/x86_64-efi.rmk: likewise
36226
7dd4a573 362272009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 36228
36229 Missing part from mmap patch
36230
36231 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
36232 (grub_mmap_unregister)
36233 (grub_mmap_free_and_unregister): use grub_mmap_register
36234
7dd4a573 362352009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 36236
36237 Mmap services
36238
36239 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
36240 * loader/i386/linux.c (find_mmap_size): likewise
36241 (allocate_pages): likewise
36242 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
36243 (grub_fill_multiboot_mmap): likewise
36244 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
36245 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
36246 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
36247 (OPENBSD_MMAP_RESERVED): likewise
36248 * include/grub/i386/pc/memory.h: include grub/memory.h
36249 (grub_lower_mem): removed
36250 (grub_upper_mem): likewise
36251 (GRUB_MACHINE_MEMORY_ACPI): new definition
36252 (GRUB_MACHINE_MEMORY_NVS): likewise
36253 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
36254 (GRUB_MACHINE_MEMORY_HOLE): likewise
36255 (grub_machine_mmap_register): likewise
36256 (grub_machine_mmap_unregister): likewise
36257 (grub_machine_get_upper): likewise
36258 (grub_machine_get_lower): likewise
36259 (grub_machine_get_post64): likewise
36260 * include/grub/i386/efi/memory.h: new file
36261 * include/grub/x86_64/efi/memory.h: likewise
36262 * include/grub/efi/memory.h: likewise
36263 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
36264 (mmap_mod_SOURCES): new variable
36265 (mmap_mod_LDFLAGS): likewise
36266 (mmap_mod_ASFLAGS): likewise
36267 * conf/i386-coreboot.rmk: likewise
36268 * conf/i386-ieee1275.rmk: likewise
36269 * conf/i386-efi.rmk: likewise
36270 * conf/x86_64-efi.rmk: likewise
36271 * include/grub/types.h (UINT_TO_PTR): new macro
36272 (PTR_TO_UINT32): likewise
36273 (PTR_TO_UINT64): likewise
36274 * include/grub/memory.h: new file
36275 * mmap/i386/pc/mmap.c: likewise
36276 * mmap/i386/pc/mmap_helper.S: likewise
36277 * mmap/i386/uppermem.c: likewise
36278 * mmap/mmap.c: likewise
36279 * mmap/efi/mmap.c: likewise
7dd4a573 36280 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 36281 grub_upper_mem
36282 * kern/i386/pc/init.c (grub_lower_mem): removed variable
36283 (grub_upper_mem): likewise
36284 (grub_machine_init): don't use grub_upper_mem,
36285 make grub_lower_mem local
36286 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
36287 grub_mmap_iterate and grub_mmap_get_upper
36288 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
36289
d558e6b5 362902009-05-02 Bean <bean123ch@gmail.com>
36291
36292 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
36293 script/sh/parser.y.
36294 (pkglib_MODULES): Add normal.mod and sh.mod.
36295 (normal_SOURCES): New variable.
36296 (normal_mod_CFLAGS): Likewise.
36297 (normal_mod_LDFLAGS): Likewise.
36298 (sh_mod_SOURCES): Likewise.
36299 (sh_mod_CFLAGS): Likewise.
36300 (sh_mod_LDFLAGS): Likewise.
36301
36302 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
36303 script/sh/lexer.c_DEPENDENCIES.
36304 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
36305 kern/rescue_reader.c and kern/rescue_parser.c.
36306 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
36307 (grub_emu_SOURCES): Change source files.
36308 (pkglib_MODULES): Remove normal.mod.
36309 (normal_SOURCES): Removed.
36310 (normal_mod_CFLAGS): Likewise.
36311 (normal_mod_LDFLAGS): Likewise.
36312 * conf/i386-coreboot.rmk: Likewise.
36313 * conf/i386-efi.rmk: Likewise.
36314 * conf/i386-ieee1276.rmk: Likewise.
36315 * conf/powerpc-ieee1275.rmk: Likewise.
36316 * conf/sparc64-ieee1275.rmk: Likewise.
36317 * conf/x86_64-efi.rmk: Likewise.
36318
36319 * include/grub/command.h (grub_command_execute): New inline function.
36320
36321 * include/grub/menu.h (grub_menu_entry): Removed commands field.
36322
36323 * include/grub/normal.h: Remove <grub/setjmp.h>.
36324 (grub_fs_module_list): Moved to normal/autofs.c.
36325 (grub_exit_env): Removed.
36326 (grub_command_execute): Likewise.
36327 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
36328 parameter script.
36329 (read_command_list): New function declaration.
36330 (read_fs_list): Likewise.
36331
36332 * include/parser.h: Include <grub/reader.h>.
36333 (grub_parser_split_cmdline): Change type of getline parameter.
36334 (grub_parser): New structure.
36335 (grub_parser_class): New variable.
36336 (grub_parser_execute): New function declaration.
36337 (grub_register_rescue_parser): Likewise.
36338 (grub_parser_register): New inline function.
36339 (grub_parser_unregister): Likewise.
36340 (grub_parser_get_current): Likewise.
36341 (grub_parser_set_current): Likewise.
36342
36343 * include/grub/reader.h: New file.
36344 * kern/reader.c: Likewise.
36345 * kern/rescue_parser.c: Likewise.
36346 * kern/rescue_reader.c: Likewise.
36347 * normal/autofs.c: Likewise.
36348 * normal/dyncmd.c: Likewise.
36349
36350 * include/grub/rescue.h: Removed.
36351 * normal/command.h: Likewise.
36352
36353 * include/grub/script.h: Moved to ...
36354 * include/grub/script_sh.h: ... Moved here.
36355 * normal/execute.c: Moved to ...
36356 * script/sh/execute.c: ... Moved here.
36357 * normal/function.c: Moved to ...
36358 * script/sh/function.c: ... Moved here.
36359 * normal/lexer.c: Moved to ...
36360 * script/sh/lexer.c: ... Moved here.
36361 * normal/parser.y: Moved to ...
36362 * script/sh/parser.y: ... Moved here.
36363 * normal/script.c: Moved to ...
36364 * script/sh/script.c: ... Moved here.
36365
36366 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
36367 <grub/reader.h>.
36368 (grub_exit_env): Removed.
36369 (fs_module_list): Moved to normal/autofs.c.
36370 (grub_file_getline): Don't handle comment here.
36371 (free_menu): Skip removed field entry->commands.
36372 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
36373 script parameter.
36374 (read_config_file): Removed nested parameter, change getline function.
36375 (grub_enter_normal_mode): Removed.
36376 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
36377 (read_command_list): Likewise.
36378 (autoload_fs_module): Moved to normal/autofs.c.
36379 (read_fs_list): Likewise.
36380 (reader_nested): New variable.
36381 (grub_normal_execute): Run parser.sh to switch to sh parser.
36382 (grub_cmd_rescue): Removed.
36383 (cmd_normal): Removed.
36384 (grub_cmd_normal): Unregister itself at the beginning. Don't register
36385 rescue command.
36386 (grub_cmdline_run): New function.
36387 (grub_normal_reader_init): Likewise.
36388 (grub_normal_read_line): Likewise.
36389 (grub_env_write_pager): Likewise.
36390 (cmdline): New variable.
36391 (grub_normal_reader): Likewise.
36392 (GRUB_MOD_INIT): Register normal reader and set as current, register
36393 pager hook, register normal command with grub_register_command_prio,
36394 so that it won't show up in command.lst.
36395 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
36396 grub_fs_autoload_hook.
36397
36398 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
36399 (grub_menu_execute_entry): Replace grub_script_execute with
36400 grub_parser_execute, change parameter to grub_command_execute.
36401
36402 * normal/menu_text.c: Remove <grub/script.h>.
36403
36404 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
36405 and <grub/parser.h>.
36406 (run): Change editor_getline to use new parser interface. Change
36407 parameter to grub_command_execute.
36408
36409 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
36410 <grub/reader.h> and <grub/parser.h>.
36411 (grub_load_normal_mode): Execute normal command.
36412 (grub_main): Call grub_register_core_commands,
36413 grub_register_rescue_parser and grub_register_rescue_reader, use
36414 grub_reader_loop to enter input loop.
36415
7dd4a573 36416 * kern/parser.c (grub_parser_split_cmdline): Change type of
36417 getline parameter.
d558e6b5 36418 (grub_parser_class): New variable.
36419 (grub_parser_execute): New function.
36420
36421 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
36422 * loader/multiboot2.c: Likewise.
36423 * loader/sparc64/ieee1275/linux.c: Likewise.
36424
36425 * util/grub-emu.c (read_command_list): New dummy function.
36426
18db813d 364272009-05-02 Robert Millan <rmh.grub@aybabtu.com>
36428
36429 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
36430 count to 16 for CCISS and IDA.
36431
6c67de15 364322009-05-02 Robert Millan <rmh.grub@aybabtu.com>
36433
36434 * normal/menu_text.c (grub_wait_after_message): Print a newline
36435 after waiting for user input.
36436
36437 * loader/i386/linux.c: Include `<grub/normal.h>'.
36438 (grub_cmd_linux): Improve the error message about `ask' mode, by
36439 waiting for user input so it's not missed (we can do this, since
36440 user requested interaction).
36441
d9dc87b0 364422009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
36443
36444 Added missing lst to grub-mkrescue
36445
36446 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
36447 and ${input_dir}/parttool.lst
36448
ac8a2baa 364492009-04-30 David S. Miller <davem@davemloft.net>
36450
ad22a610 36451 * util/hostdisk.c (device_is_wholedisk): New function.
36452 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
36453 zero only if device_is_wholedisk() returns true.
36454
6966215d 36455 * util/hostdisk.c (convert_system_partition_to_system_disk):
36456 Handle virtual disk devices named /dev/vdiskX as found on sparc
36457 and powerpc.
36458
ac8a2baa 36459 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
36460 lettered partition specifier is found, convert to numbered.
36461
979b4fb4 364622009-04-29 David S. Miller <davem@davemloft.net>
36463
e2bf39b2 36464 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
36465 * include/grub/sparc64/ieee1275/memory.h: Likewise.
36466
3c64e104 36467 * normal/command.c: Add missing newline at end of file.
36468
979b4fb4 36469 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
36470 warnings.
36471 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
36472 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
36473 grub_ofdisk_read): Likewise, and deal similarly with the fact that
36474 ihandles have a 32-bit type but need to be stored in a "void *".
36475
136d9f82 364762009-04-28 Pavel Roskin <proski@gnu.org>
36477
9459c306 36478 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
36479 not disk. Adjust all dependencies.
2e08a26a 36480 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 36481 grub_disk_close().
36482
136d9f82 36483 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
36484 parent's partition, don't copy it by reference, as it gets freed
36485 on close.
36486
7dd4a573 364872009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 36488
36489 Preboot hooks support
36490
36491 * commands/boot.c (struct grub_preboot_t): new declaration
36492 (preboots_head): new variable
36493 (preboots_tail): likewise
36494 (grub_loader_register_preboot_hook): new function
36495 (grub_loader_unregister_preboot_hook): likewise
36496 (grub_loader_set): launch preboot hooks
36497 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
36498 (grub_loader_register_preboot_hook): new declaration
36499 (grub_loader_unregister_preboot_hook): likewise
36500
5af922b5 365012009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
36502
36503 Warning fix
36504
7dd4a573 36505 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 36506 calling grub_dprintf
36507
a5562c30 365082009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
36509
36510 Bug and warning fixes
36511
7dd4a573 36512 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 36513 declaration
36514 * commands/test.c (test_parse): fixed bug with file tests and corrected
36515 declaration of find_file
36516
4006f85c 365172009-04-26 Pavel Roskin <proski@gnu.org>
36518
36519 * Makefile.in: Don't install empty manual pages if help2man is
36520 missing. Use help2man option for output, not shell redirection.
36521
5c77c3de 365222009-04-26 David S. Miller <davem@davemloft.net>
36523
36524 * util/grub-mkdevicemap.c (make_device_map): Add missing
36525 NESTED_FUNC_ATTR to process_device().
36526
033b10a8 365272009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
36528
36529 Test command
36530
36531 * commands/test.c: rewritten to use bash-like test
36532
e4343593 365332009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
36534
36535 Parttool autoloading and improvements
36536
7dd4a573 36537 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 36538 (parttool.lst): new target
36539 * genmk.rb: generate parttool-*
36540 (CLEANFILES): add #{parttool}
36541 (PARTTOOLFILES): new variable
36542 * genparttoollist.sh: new file
7dd4a573 36543 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 36544 (grub_pcpart_type): likewise
36545 * commands/parttool.c (helpmsg): new variable
36546 (grub_cmd_parttool): output help if not enough arguments are supplied
36547 autoload modules
36548 (GRUB_MOD_INIT(parttool)): use helpmsg
36549
0d312500 365502009-04-24 David S. Miller <davem@davemloft.net>
36551
7dd4a573 36552 Avoiding opening same device multiple times in device iterator.
0d312500 36553
36554 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 36555 and use it to build a list of partitions in iterate_disk() and
0d312500 36556 iterate_partition().
36557
ac20caff 36558 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
36559 on disk->data.
36560
0dcf7495 36561 * disk/ieee1275/nand.c (grub_nand_iterate): Return
36562 grub_devalias_iterate() result instead of unconditional 0.
36563 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
36564 Also, capture hook return value, either directly or via
36565 grub_children_iterate(), and propagate to caller.
36566 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
36567 grub_children_iterate): Return value is now 'int' instead of
36568 'grub_err_t'.
36569 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
36570 like a proper iterator, stopping when hooks return non-zero.
36571 (grub_devalias_iterate): Likewise.
36572
c8c08833 365732009-04-23 David S. Miller <davem@davemloft.net>
36574
36575 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
36576
f01005a8 365772009-04-22 David S. Miller <davem@davemloft.net>
36578
36579 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
36580 is larger than address_cells, use that value for address_cells too.
36581
4e8269da 36582 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
36583 IEEE1275_MAX_PATH_LEN): Define.
36584 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
36585 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
36586 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
36587 'devtype'. Explicitly NULL terminate devalias expansion.
36588
a1447506 36589 * util/sparc64/ieee1275/misc.c: New file.
36590 * util/sparc64/ieee1275/grub-setup.c: New file.
36591 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
36592 * util/sparc64/ieee1275/grub-mkimage.c: New file.
36593 * util/sparc64/ieee1275/grub-install.in: New file.
36594 * util/ieee1275/ofpath.c: New file.
36595 * util/ieee1275/devicemap.c: New file.
36596 * util/devicemap.c: New file.
36597 * util/deviceiter.c: New file.
36598 * kern/sparc64/ieee1275/init.c: New file.
36599 * include/grub/util/ofpath.h: New file.
36600 * include/grub/util/deviceiter.h: New file.
36601 * util/grub-mkdevicemap.c: Include deviceiter.h.
36602 Implement using grub_util_emit_devicemap_entry and
36603 grub_util_iterate_devices.
36604 * conf/i386-corebook.rmk: Build util/deviceiter.c and
36605 util/devicemap.c into grub-mkdevicemap
36606 * conf/i386-efi.rmk: Likewise.
36607 * conf/i386-ieee1275.rmk: Likewise.
36608 * conf/i386-pc.rmk: Likewise.
36609 * conf/powerpc-ieee1275.rmk: Likewise.
36610 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
36611 images and installation utilities. Build kernel as image
36612 instead of as elf binary. Use common rules as much as possible.
36613
7dd4a573 366142009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 36615
36616 Correct GPT definition
36617
7dd4a573 36618 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 36619 of "attrib" member
36620
c6c5219f 366212009-04-19 Felix Zielcke <fzielcke@z-51.de>
36622
36623 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
36624
0552ff9f 366252009-04-19 David S. Miller <davem@davemloft.net>
36626
36627 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
36628 (grub_rescue_cmd_linux): Rename to...
36629 (grub_cmd_linux): and fix prototype.
36630 (grub_rescue_cmd_initrd): Rename to...
36631 (grub_cmd_initrd): and fix prototype.
36632 (cmd_linux, cmd_initrd): New.
36633 (GRUB_MOD_INIT(linux)): Use grub_register_command().
36634 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
36635
d1a282fc 366362009-04-17 Pavel Roskin <proski@gnu.org>
36637
07c5039f 36638 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
36639 format.
36640 (grub_ohci_transfer): Likewise.
36641
b012002d 36642 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
36643
1bc09c35 36644 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
36645 return without a value. Fix inconsistent indentation.
36646
e0ff9126 36647 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
36648 match struct grub_fs.
36649
d1a282fc 36650 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
36651 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
36652 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
36653 * commands/lspci.c (grub_lspci_iter): Likewise.
36654
a96df3f2 366552009-04-16 Bean <bean123ch@gmail.com>
36656
36657 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
36658 value.
36659
41bb0fe9 366602009-04-15 Pavel Roskin <proski@gnu.org>
36661
36662 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
36663 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
36664 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
36665 definitions.
36666
596c6970 366672009-04-15 Felix Zielcke <fzielcke@z-51.de>
36668
36669 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 36670 that no multiple data or metadata areas are supported and `Unknown
596c6970 36671 metadata header'.
36672
7dd4a573 366732009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 36674
36675 Move loader out of the kernel
36676
36677 * kern/loader.c: moved to ...
36678 * commands/boot.c: ... moved here
36679 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
36680 * commands/boot.c (grub_cmd_boot): moved here. All users updated
36681 * include/grub/kernel.h (grub_machine_fini): export
36682 * include/grub/loader.h (grub_loader_is_loaded): update declaration
36683 (grub_loader_set): likewise
36684 (grub_loader_unset): likewise
36685 (grub_loader_boot): likewise
36686 * conf/common.rmk: new module boot.mod
36687 (pkglib_MODULES): add boot.mod
36688 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
36689 (grub_emu_SOURCES): likewise
36690 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
36691 (grub_emu_SOURCES): likewise
36692 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
36693 (grub_emu_SOURCES): likewise
36694 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
36695 (grub_emu_SOURCES): likewise
36696 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
36697 (grub_emu_SOURCES): likewise
7dd4a573 36698 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
36699 (grub_emu_SOURCES): likewise
0d5d5653 36700 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 36701 (grub_emu_SOURCES): likewise
0d5d5653 36702
7dd4a573 367032009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 36704
36705 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 36706
5999d619 36707 * kern/misc.c (grub_itoa): Removed function
36708 (grub_ltoa): likewise
36709 (grub_vsprintf): use grub_lltoa
36710
7dd4a573 367112009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 36712
36713 Restore grub-emu
36714
36715 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
36716 * conf/i386-coreboot.rmk: likewise
36717 * conf/i386-ieee1275.rmk: likewise
36718 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 36719
20318222 367202009-04-15 Felix Zielcke <fzielcke@z-51.de>
36721
36722 * INSTALL: Add that `./autogen.sh' needs to be run before
36723 `./configure.'.
36724
d05f0df3 367252009-04-14 Bean <bean123ch@gmail.com>
36726
36727 * Makefile.in (pkglib_DATA): Add handler.lst.
36728 (handler.lst): New rule.
36729
36730 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
36731 * conf/i386-coreboot.rmk: Likewise.
36732 * conf/i386-ieee1275.rmk: Likewise.
36733 * conf/i386-efi.rmk: Likewise.
36734 * conf/x86_64-efi.rmk: Likewise.
36735 * conf/powerpc-ieee1275.rmk: Likewise.
36736 * conf/sparc64-ieee1275.rmk: Likewise.
36737
36738 * genhandlerlist.sh: New file.
36739
36740 * genmk.rb: Add rules to generate handler.lst.
36741
36742 * include/grub/normal.h (grub_file_getline): New function definition.
36743 (read_handler_list): Likewise.
36744 (free_handler_list): Likewise.
36745
36746 * include/grub/term.h (grub_term_register_input): Add name parameter
36747 for auto generation of handler.lst.
36748 (grub_term_register_output): Likewise.
36749
36750 * normal/handler.c: New file.
36751
36752 * normal/main.c (get_line): Renamed to grub_file_getline.
36753 (read_config_file): Use the newly renamed grub_file_getline.
36754 (read_command_list): Likewise.
36755 (read_fs_list): Likewise.
36756 (grub_normal_execute): Call read_handler_list to parse handler.lst.
36757 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
36758
36759 * term/efi/console.c (grub_console_init): Add name parameter for auto
36760 generation of handler.lst.
36761 * term/gfxterm.c: Likewise.
36762 * term/i386/pc/at_keyboard.c: Likewise.
36763 * term/i386/pc/console.c: Likewise.
36764 * term/i386/pc/serial.c: Likewise.
36765 * term/i386/pc/vesafb.c: Likewise.
36766 * term/i386/pc/vga.c: Likewise.
36767 * term/i386/pc/vga_text.c: Likewise.
36768 * term/ieee1275/ofconsole.c: Likewise.
36769 * term/usb_keyboard.c: Likewise.
36770
33c846be 367712009-04-14 Bean <bean123ch@gmail.com>
36772
36773 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
36774 properly with null character.
36775
4484e01e 367762009-04-14 Felix Zielcke <fzielcke@z-51.de>
36777
36778 * configure: Remove.
36779 * config.h.in: Likewise.
f93d668e 36780 * stamp-h.in: Likewise.
4484e01e 36781 * DISTLIST: Likewise.
36782 * conf/common.mk: Likewise.
36783 * conf/i386-coreboot.mk: Likewise.
36784 * conf/i386-efi.mk: Likewise.
36785 * conf/i386-ieee1275.mk: Likewise.
36786 * conf/i386.mk: Likewise.
36787 * conf/i386-pc.mk: Likewise.
36788 * conf/powerpc-ieee1275.mk: Likewise.
36789 * conf/sparc64-ieee1275.mk: Likewise.
36790 * conf/x86_64-efi.mk: Likewise.
36791
36792 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
36793 develop on GRUB.
36794
7dd4a573 367952009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 36796 David S. Miller <davem@davemloft.net>
36797
36798 * util/hostdisk.c (make_device_name): Fix buffer length
36799 calculations.
36800
e25b5a8c 368012009-04-14 Felix Zielcke <fzielcke@z-51.de>
36802
36803 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
36804 <sys/param.h> and <sys/sysctl.h>.
36805 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
36806 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
36807 opening the device and reset them afterwards.
36808
1f1f580c 368092009-04-13 Pavel Roskin <proski@gnu.org>
36810
36811 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
36812 Reported by John Stanley <jpsinthemix@verizon.net>
36813
7ebc2d6b 368142009-04-13 Robert Millan <rmh@aybabtu.com>
36815
36816 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 36817 that name for menuentries when appropriate.
7ebc2d6b 36818
d8ba3667 368192009-04-13 Felix Zielcke <fzielcke@z-51.de>
36820
36821 * util/grub.d/10_freebsd.in: Add a missing `fi'.
36822
cba416eb 368232009-04-13 Robert Millan <rmh@aybabtu.com>
36824
36825 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
36826 to Linux, simply abort telling the user it's no longer supported.
36827
a547a745 368282009-04-13 Felix Zielcke <fzielcke@z-51.de>
36829
36830 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 36831 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 36832 `freebsd_loadenv' only when devices.hints exist.
36833
232a769c 368342009-04-13 Pavel Roskin <proski@gnu.org>
36835
36836 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
36837
c3012039 368382009-04-13 Felix Zielcke <fzielcke@z-51.de>
36839
36840 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
36841 partition number.
36842 (grub_drive): Likewise.
36843
234022fe 368442009-04-13 David S. Miller <davem@davemloft.net>
36845
36846 * kern/sparc64/ieee1275/ieee1275.c: New file.
36847 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
36848 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
36849 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
36850 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
36851 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
36852 grub_ieee1275_alloc_physmem): Declare new exported functions.
36853
d8e1836c 36854 * include/grub/sparc64/ieee1275/loader.h: New file.
36855 * include/grub/sparc64/ieee1275/memory.h: Likewise.
36856 * include/grub/sparc64/kernel.h: Likewise.
36857 * loader/sparc64/ieee1275/linux.c: Likewise.
36858
96bd81ec 36859 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
36860 (grub_fstest_SOURCES): Likewise.
36861
6a4737e5 36862 * util/hostdisk.c (make_device_name): Do not make any assumptions
36863 about the length of drive names.
36864
1d7a72fd 36865 * kern/dl.c (grub_dl_load_file): Close file immediately when
36866 we are done using it.
36867
56bc2471 368682009-04-12 David S. Miller <davem@davemloft.net>
36869
36870 * kern/misc.c (grub_ltoa): Fix cast when handling negative
36871 values. Noticed by Pavel Roskin.
36872
df38d0bb 36873 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
36874 target compiler.
7dd4a573 36875
e382e93a 36876 * genmk.rb: Add more flexible image type specification, also
36877 pass --strip-unneeded to objcopy.
36878 * conf/i386-pc.rmk: Use *_FORMAT.
36879 * conf/i386-pc.mk: Rebuilt.
36880
f5dbbca9 36881 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
36882 (OFDISK_HASH_SZ): Define.
36883 (ofdisk_hash): New hash table.
36884 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
36885 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
36886 instead of device phandle which is not unique.
36887
91c88b12 36888 * kern/sparc64/ieee1275/init.c: Delete, replace with...
36889 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
36890 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
36891 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
36892 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
36893 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
36894 GRUB_KERNEL_MACHINE_DATA_END): Define.
36895 (grub_kernel_image_size, grub_total_module_size): Declare.
36896
5b5d4aa5 368972009-04-12 Pavel Roskin <proski@gnu.org>
36898
7dd4a573 36899 * configure.ac: Change the logic when we check for target tools.
36900 Do it when the target is specified and it's different from the
36901 specified value of the host.
5b5d4aa5 36902
c91e1793 369032009-04-11 Felix Zielcke <fzielcke@z-51.de>
36904
36905 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
36906 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
36907 GNU/kFreeBSD. Check if a device is a character device. Use
36908 DIOCGMEDIASIZE to get the size.
36909 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
36910 support for GNU/kFreeBSD.
36911 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
36912 is a character device instead of a block device. Add support for
36913 FreeBSD device names.
36914
36915 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
36916 is a character device instead of a block device.
36917
36918 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
36919 is a character device instead of a block device.
36920
b1ac8644 369212009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
36922
36923 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
36924 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
36925 FreeBSD. Check if a device is a character device. Use
36926 DIOCGMEDIASIZE to get the size.
36927 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
36928 support for FreeBSD.
36929 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
36930 is a character device instead of a block device. Add support for
36931 FreeBSD device names.
36932
36933 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
36934 a character device instead of a block device.
36935 (grub_util_check_char_device): New function.
36936
36937 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
36938 a character device instead of a block device.
36939
36940 * include/grub/util/getroot.h (grub_util_check_char_device): New
36941 prototype.
36942
a3f7515a 369432009-04-11 David S. Miller <davem@davemloft.net>
36944
36945 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
36946 static libgcc.
36947 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
36948 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
36949 function, if present.
36950 (__bswapdi2): Likewise.
36951
0d44993d 36952 * include/grub/sparc64/ieee1275/boot.h: New file.
36953 * boot/sparc64/ieee1275/boot.S: Likewise.
36954 * boot/sparc64/ieee1275/diskboot.S: Likewise.
36955
ed3d2bc2 36956 * kern/misc.c (grub_ltoa): New function.
36957 (grub_vsprintf): Use it to format 'long' integers.
36958
d3bfb59c 369592009-04-10 David S. Miller <davem@davemloft.net>
36960
36961 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
36962 slots are of type grub_ieee1275_cell_t.
36963 (grub_nand_read): Likewise.
36964 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
36965 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
36966 macros are used to compare values in arg/ret block of the call.
36967 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
36968 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
36969 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
36970 grub_ieee1275_instance_to_path, grub_ieee1275_write,
36971 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
36972 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
36973 grub_ieee1275_close, grub_ieee1275_set_property,
36974 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
36975 grub_ieee1275_cell_t.
36976 * kern/ieee1275/openfw.c (grub_map): Likewise.
36977 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
36978 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
36979
450e2238 36980 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
36981 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
36982 (grub_devalias_iterate): Likewise.
36983
7dd4a573 369842009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 36985
36986 UFS improvements
36987
36988 * fs/ufs.c (INODE_NBLOCKS): new definition
36989 (struct grub_ufs_dirent): added fields for non-BSD dirents
36990 (grub_ufs_get_file_block): fixed double indirect handling
36991 (grub_ufs_lookup_symlink): use more robust way to determine whether
36992 symlink is inline
36993 (grub_ufs_find_file): support for non-BSD dirents
36994 (grub_ufs_dir): support for non-BSD dirents
36995
e7e6862a 369962009-04-10 Bean <bean123ch@gnail.com>
36997
36998 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
36999 attribute, otherwise the size would be wrong for i386 platform.
37000
37001 * include/grub/pci.h (grub_pci_read_word): New inline function.
37002 (grub_pci_read_byte): Likewise.
37003 (grub_pci_write): Likewise.
37004 (grub_pci_write_word): Likewise.
37005 (grub_pci_write_byte): Likewise.
37006
37007 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
37008
37009 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
37010 (find_framebuf): Scan pci to locate the frame buffer address.
37011
37012 * commands/efi/fixvideo.c: New file.
37013
37014 * commands/efi/loadbios.c: Likewise.
37015
37016 * commands/memrw.c: Likewise.
37017
37018 * util/grub-dumpbios.in: Likewise.
37019
37020 * conf/common.rmk (grub-dumpbios): New utility.
37021 (pkglib_MODULES): New module memrw.mod.
37022 (memrw_mod_SOURCE): New macro.
37023 (memrw_mod_CFLAGS): Likewise.
37024 (memrw_mod_LDFLAGS): Likewise.
37025
7dd4a573 37026 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 37027 fixvideo.mod.
37028 (loadbios_mod_SOURCE): New macro.
37029 (loadbios_mod_CFLAGS): Likewise.
37030 (loadbios_mod_LDFLAGS): Likewise.
37031 (fixvideo_mod_SOURCE): Likewise.
37032 (fixvideo_mod_CFLAGS): Likewise.
37033 (fixvideo_mod_LDFLAGS): Likewise.
37034
7dd4a573 37035 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 37036 fixvideo.mod.
37037 (loadbios_mod_SOURCE): New macro.
37038 (loadbios_mod_CFLAGS): Likewise.
37039 (loadbios_mod_LDFLAGS): Likewise.
37040 (fixvideo_mod_SOURCE): Likewise.
37041 (fixvideo_mod_CFLAGS): Likewise.
37042 (fixvideo_mod_LDFLAGS): Likewise.
37043
af63ada2 370442009-04-08 Felix Zielcke <fzielcke@z-51.de>
37045
37046 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
37047
c2cdde70 370482009-04-07 David S. Miller <davem@davemloft.net>
37049
37050 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
37051 support for R_SPARC_OLO10 relocations. Fix compile warning for
37052 R_SPARC_WDISP30 case.
ea3f72cf 37053 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 37054
761319cf 370552009-04-06 Pavel Roskin <proski@gnu.org>
37056
1007d1f5 37057 * include/grub/misc.h (ARRAY_SIZE): New macro.
37058 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
37059 New macro.
37060 * loader/i386/linux.c (allocate_pages): Use free_pages().
37061 (grub_linux_unload): Don't use free_pages().
37062 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
37063 wrong index. Treat all other modes as text modes.
37064 (grub_cmd_linux): Initialize vid_mode unconditionally to
37065 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
37066
761319cf 37067 * commands/help.c (print_command_help): Use cmd->prio, not
37068 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
37069
ea761d40 370702009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 37071
ea761d40 37072 Parttool
37073
37074 * parttool/pcpart.c: new file
37075 * commands/parttool.c: likewise
37076 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
37077 (parttool_mod_SOURCES): new variable
37078 (parttool_mod_CFLAGS): likewise
37079 (parttool_mod_LDFLAGS): likewise
37080 (pcpart_mod_SOURCES): likewise
37081 (pcpart_mod_CFLAGS): likewise
37082 (pcpart_mod_LDFLAGS): likewise
7dd4a573 37083 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 37084 and parttool/pcpart.c
37085 * conf/i386-efi.rmk: likewise
37086 * conf/i386-ieee1275.rmk: likewise
37087 * conf/i386-pc.rmk: likewise
37088 * conf/powerpc-ieee1275.rmk: likewise
37089 * conf/sparc64-ieee1275.rmk: likewise
37090 * conf/x86_64-ieee1275.rmk: likewise
37091
05aaebfb 370922009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
37093
37094 Support for mtime and further expandability of dir command
37095
37096 * include/grub/lib/datetime.h: moved to ...
7dd4a573 37097 * include/grub/datetime.h: ... moved here and added
05aaebfb 37098 declaration of grub_unixtime2datetime. All users updated
7dd4a573 37099 * include/grub/fs.h: new syntax for dir and mtime functions in
37100 struct grub_fs
05aaebfb 37101 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
37102 and GRUB_FSHELP_FLAGS_MASK
37103 * commands/ls.c (grub_ls_list_files): Write mtime in long format
37104 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
37105 (grub_ext2_mtime): new function
37106 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
37107 (grub_hfsplus_mtime): new function
37108 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
37109 (GRUB_UFS_ATTR_FILE): likewise
37110 (GRUB_UFS_ATTR_LNK): likewise
37111 (struct grub_ufs_sblock): new fields mtime
37112 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
37113 all users updated
37114 (grub_ufs_dir): mtime support
37115 (grub_ufs_mtime): new function
37116 * fs/affs.c (grub_affs_dir): use new dir syntax
37117 * fs/afs.c (grub_afs_dir): likewise
37118 * fs/cpio.c (grub_cpio_dir): likewise
37119 * fs/fat.c (grub_fat_find_dir): likewise
37120 * fs/hfs.c (grub_hfs_dir): likewise
37121 * fs/iso9660.c (grub_iso9660_dir): likewise
37122 * fs/jfs.c (grub_jfs_dir): likewise
37123 * fs/minix.c (grub_minix_dir): likewise
37124 * fs/ntfs.c (grub_ntfs_dir): likewise
37125 * fs/reiserfs.c (grub_reiserfs_dir): likewise
37126 * fs/sfs.c (grub_sfs_dir): likewise
37127 * fs/xfs.c (grub_xfs_dir): likewise
37128 * util/hostfs.c (grub_hostfs_dir): likewise
37129 * lib/datetime.c: moved to ...
37130 * normal/datetime.c: ... moved here
37131 (grub_unixtime2datetime): new function
37132 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 37133 * normal/completion.c (iterate_dir): use new dir syntax
37134 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 37135 last modification time of a volume
7dd4a573 37136 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 37137 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 37138 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 37139 (normal_mod_SOURCES): likewise
37140 (datetime_mod_SOURCES): Removed lib/datetime.c
37141 * conf/i386-efi.rmk: likewise
7dd4a573 37142 * conf/i386-ieee1275.rmk: likewise
05aaebfb 37143 * conf/i386-pc.rmk: likewise
37144 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 37145 * conf/sparc64-ieee1275.rmk: likewise
37146 * conf/x86_64-efi.rmk: likewise
05aaebfb 37147
8a7e1a14 371482009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
37149
37150 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 37151
37152 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 37153 on grub_fat_find_dir
37154 (grub_fat_find_dir): use grub_fat_iterate_dir
37155 (grub_fat_label): likewise
37156
04186a9c 371572009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
37158
7dd4a573 37159 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 37160 and command.h
37161 remove extraneous kernel_elf_HEADERS
37162
da4c0bb6 371632009-04-04 Bean <bean123ch@gnail.com>
37164
37165 * include/grub/util/misc.h: Add dummy function fsync for mingw.
37166
37167 * util/misc.c: Likewise.
37168
54ad9555 371692009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
37170
37171 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
37172 instead of grub_printf.
37173
7a6bf9f2 371742009-04-03 Robert Millan <rmh@aybabtu.com>
37175
37176 * loader/i386/linux.c (grub_linux_setup_video): Fill
37177 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
37178 values from `mode info' structure instead of hardcoded
37179 values.
37180
3fcc2083 371812009-04-01 Pavel Roskin <proski@gnu.org>
37182
37183 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
37184 unused now.
37185 * genmk.rb: Likewise.
37186 * configure.ac: Likewise.
37187
5ec9740b 371882009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
37189
37190 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
37191 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
37192
5270cec8 371932009-04-01 David S. Miller <davem@davemloft.net>
37194
37195 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 37196 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 37197 (grub_setjmp): Mark with 'returns_twice' attribute.
37198 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
37199 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
37200 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
37201
9c3dd854 372022009-04-01 Robert Millan <rmh@aybabtu.com>
37203
37204 Reapply fix from 2008-07-28 which was accidentally reverted; also
37205 perform the same fix to a similar check in same function.
37206
37207 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
37208 with the same number are found, just use issue a warning with
37209 grub_dprintf(), as this error has been reported to be non-fatal.
37210
0d818b7e 372112009-03-31 Pavel Roskin <proski@gnu.org>
37212
37213 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
37214 for cross-compilation.
37215
95646d92 372162009-03-30 Robert Millan <rmh@aybabtu.com>
37217
37218 Fix i386-ieee1275 build.
37219
37220 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
37221 Remove declaration.
37222
6a003ed1 372232009-03-30 Pavel Roskin <proski@gnu.org>
37224
37225 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
37226 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
37227 zero-terminated, rely only on the strlen value. Fix comparison
37228 of strings differing in length.
37229
92f33540 372302009-03-30 Robert Millan <rmh@aybabtu.com>
37231
37232 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
37233 checking for abi version. Improve error messages on BIOS to notify
37234 user about `linux16' command.
37235
a8c48fd5 372362009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
37237
f968172e 37238 Leak fixes
a8c48fd5 37239
f968172e 37240 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
37241 in case of collision
37242 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 37243
9c323f09 372442009-03-29 Robert Millan <rmh@aybabtu.com>
37245
37246 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
37247 set `vid_mode' accordingly.
37248 (grub_linux_boot): Process `vid_mode' and set video mode.
37249
ae68f423 372502009-03-29 Robert Millan <rmh@aybabtu.com>
37251
37252 * util/grub.d/10_linux.in (linux_entry): New function.
37253 Factorize generation of Linux boot entries.
37254
5709cfc4 372552009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
37256
37257 Make the format of Environment Block plain text. The boot loader
37258 part is not tested well yet.
7dd4a573 37259
5709cfc4 37260 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
37261 (buffer): Removed.
37262 (envblk): Likewise.
37263 (usage): Remove "info" and "clear". Add "unset". Update the
37264 description of "set", as this does not delete variables any
37265 longer.
37266 (create_envblk_file): Complete rewrite.
37267 (open_envblk_file): Likewise.
37268 (cmd_info): Removed.
37269 (cmd_list): Likewise.
37270 (cmd_set): Likewise.
37271 (cmd_clear): Likewise.
37272 (list_variables): New function.
37273 (write_envblk): Likewise.
37274 (set_variables): Likewise.
37275 (unset_variables): Likewise.
37276 (main): Complete rewrite.
37277
37278 * commands/loadenv.c (buffer): Removed.
37279 (envblk): Likewise.
37280 (open_envblk_file): New function.
37281 (read_envblk_file): Complete rewrite.
37282 (grub_cmd_load_env): Likewise.
37283 (grub_cmd_list_env): Likewise.
37284 (struct blocklist): New struct.
37285 (free_blocklists): New function.
37286 (check_blocklists): Likewise.
37287 (write_blocklists): Likewise.
37288 (grub_cmd_save_env): Complete rewrite.
37289
37290 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
37291 a plain text signature.
37292 (GRUB_ENVBLK_MAXLEN): Removed.
37293 (struct grub_envblk): Complete rewrite.
37294 (grub_envblk_find): Removed.
37295 (grub_envblk_insert): Likewise.
37296 (grub_envblk_open): New prototype.
37297 (grub_envblk_set): Likewise.
37298 (grub_envblk_delete): Put const to VALUE.
37299 (grub_envblk_iterate): Put const to NAME and VALUE.
37300 (grub_envblk_close): New prototype.
37301 (grub_envblk_buffer): New inline function.
37302 (grub_envblk_size): Likewise.
37303
37304 * lib/envblk.c: Include grub/mm.h.
37305 (grub_env_find): Removed.
37306 (grub_envblk_open): New function.
37307 (grub_envblk_close): Likewise.
37308 (escaped_value_len): Likewise.
37309 (find_next_line): Likewise.
37310 (grub_envblk_insert): Removed.
37311 (grub_envblk_set): New function.
37312 (grub_envblk_delete): Complete rewrite.
37313 (grub_envblk_iterate): Likewise.
37314
a9368fd3 373152009-03-28 Robert Millan <rmh@aybabtu.com>
37316
37317 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
37318 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
37319 variables. Use 16-bit loader.
37320 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
37321 loader.
37322 * kern/i386/loader.S (grub_linux_boot): Rename to ...
37323 (grub_linux16_boot): ... this. Update all users.
37324 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
37325 (grub_linux_boot): ... this. Update all users.
37326
37327 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
37328 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
37329 commands to `linux16' and `initrd16'.
37330 (GRUB_MOD_FINI(linux)): Rename to ...
37331 (GRUB_MOD_FINI(linux16)): ... this.
37332
e4dd5a7e 373332009-03-24 Pavel Roskin <proski@gnu.org>
37334
37335 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
37336 not just for compilation.
37337
c04d6e05 373382009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
37339
37340 Move multiboot helper out of kernel
37341
37342 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
37343 `loader/i386/multiboot_helper.S'.
37344 * conf/i386-coreboot.rmk: Likewise
37345 * conf/i386-ieee1275.rmk: Likewise
37346
37347 * kern/i386/loader.S: Move multiboot helpers from here...
37348 * loader/i386/multiboot_helper.S: ...moved here
37349 * include/grub/i386/loader.h: Move declarations of multiboot
37350 helpers from here...
37351 * include/grub/i386/multiboot.h: ...moved here
37352 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
37353
42a5b3fc 373542009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
37355
37356 * kern/env.c (grub_env_context_open): Added an argument to specify
37357 whether a new context inherits exported variables from current
37358 one. This is useful when making a sandbox to interpret a config
37359 file.
37360 All callers updated.
37361
37362 * include/grub/env.h (grub_env_context_open): Updated the prototype.
37363
b28bbc4e 373642009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
37365
37366 * kern/env.c (grub_env_context_close): Fix memory leaks.
37367
f04f02e4 373682009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
37369
37370 * normal/main.c (grub_normal_execute): Added an argument
37371 BATCH to specify if an interactive interface should be provided
37372 after reading a config file.
37373 All callers updated.
37374 (read_command_list): Prevent being executed twice.
37375 (read_fs_list): Likewise.
37376
42a5b3fc 37377 * include/grub/normal.h (grub_normal_execute): Updated the
37378 prototype.
f04f02e4 37379
41473ac2 373802009-03-22 Pavel Roskin <proski@gno.org>
37381
fbc00b0c 37382 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
37383 _start.
37384 * kern/i386/pc/startup.S: Likewise.
37385 * kern/i386/efi/startup.S: Likewise.
37386 * kern/i386/ieee1275/startup.S: Likewise.
37387 * kern/i386/coreboot/startup.S: Likewise.
37388 * kern/x86_64/efi/startup.S: Likewise.
37389
41473ac2 37390 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
37391 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
37392 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
37393
2274cc8f 373942009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
37395
37396 Bugfixes in multiboot for bugs uncovered by solaris kernel.
37397
37398 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
37399 limit detection.
37400 Use vaddr of correct segment for entry_point.
37401
b1b797cb 374022009-03-21 Bean <bean123ch@gmail.com>
37403
37404 * commands/blocklist.c: Add include file <grub/command.h>, remove
37405 <grub/normal.h> and <grub/arg.h>.
37406 (grub_cmd_blocklist): Use the new command interface.
37407 (GRUB_MOD_INIT): Likewise.
37408 (GRUB_MOD_FINI): Likewise.
37409 * commands/boot.c: Likewise.
37410 * commands/cat.c: Likewise.
37411 * commands/cmp.c: Likewise.
37412 * commands/configfile.c: Likewise.
37413 * commands/crc.c: Likewise.
37414 * commands/echo.c: Likewise.
37415 * commands/halt.c: Likewise.
37416 * commands/handler.c: Likewise.
37417 * commands/hdparm.c: Likewise.
37418 * commands/help.c: Likewise.
37419 * commands/hexdump.c: Likewise.
37420 * commands/loadenv.c: Likewise.
37421 * commands/ls.c: Likewise.
37422 * commands/lsmmap.c: Likewise.
37423 * commands/lspci.c: Likewise.
37424 * commands/loadenv.c: Likewise.
37425 * commands/read.c: Likewise.
37426 * commands/reboot.c: Likewise.
37427 * commands/search.c: Likewise.
37428 * commands/sleep.c: Likewise.
37429 * commands/test.c: Likewise.
37430 * commands/usbtest.c: Likewise.
37431 * commands/videotest.c: Likewise.
37432 * commands/i386/cpuid.c: Likewise.
37433 * commands/i386/pc/halt.c: Likewise.
37434 * commands/i386/pc/play.c: Likewise.
37435 * commands/i386/pc/pxecmd.c: Likewise.
37436 * commands/i386/pc/vbeinfo.c: Likewise.
37437 * commands/i386/pc/vbetest.c: Likewise.
37438 * commands/ieee1275/suspend.c: Likewise.
37439 * disk/loopback.c: Likewise.
37440 * font/font_cmd.c: Likewise.
37441 * hello/hello.c: Likewise.
37442 * loader/efi/appleloader.c: Likewise.
37443 * loader/efi/chainloader.c: Likewise.
37444 * loader/i386/bsd.c: Likewise.
37445 * loader/i386/efi/linux.c: Likewise.
37446 * loader/i386/ieee1275/linux.c: Likewise.
37447 * loader/i386/linux.c: Likewise.
37448 * loader/i386/pc/chainloader.c: Likewise.
37449 * loader/i386/pc/linux.c: Likewise.
37450 * loader/powerpc/ieee1275/linux.c: Likewise.
37451 * loader/multiboot_loader.c: Likewise.
37452 * term/gfxterm.c: Likewise.
37453 * term/i386/pc/serial.c: Likewise.
37454 * term/terminfo.c: Likewise.
37455
37456 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
37457 * term/i386/pc/vga.c: Likewise.
37458 * video/readers/jpeg.c: Likewise.
37459 * video/readers/png.c: Likewise.
37460 * video/readers/tga.c: Likewise.
37461
37462 * util/grub-fstest (cmd_loopback): Removed.
37463 (cmd_blocklist): Likewise.
37464 (cmd_ls): Likewise.
37465 (grub_register_command): Likewise.
37466 (grub_unregister_command): Likewise.
37467 (execute_command): Use grub_command_find to locate command and execute
37468 it.
37469
37470 * include/grub/efi/chainloader.h: Removed.
37471 * loader/efi/chainloader_normal.c: Likewise.
37472 * loader/i386/bsd_normal.c: Likewise.
37473 * loader/i386/pc/chainloader_normal.c: Likewise.
37474 * loader/i386/pc/multiboot_normal.c: Likewise.
37475 * loader/linux_normal.c: Likewise.
37476 * loader/multiboot_loader_normal.c: Likewise.
37477 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
37478
37479 * gencmdlist.sh: Scan new registration command grub_register_extcmd
37480 and grub_register_command_p1.
37481
37482 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
37483 kern/command.c, lib/arg.c and commands/extcmd.c.
37484 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
37485 (minicmd_mod_SOURCES): New variable.
37486 (minicmd_mod_CFLAGS): Likewise.
37487 (minicmd_mod_LDFLAGS): Likewise.
37488 (extcmd_mod_SOURCES): Likewise.
37489 (extcmd_mod_CFLAGS): Likewise.
37490 (extcmd_mod_LDFLAGS): Likewise.
37491 (boot_mod_SOURCES): Removed.
37492 (boot_mod_CFLAGS): Likewise.
37493 (boot_mod_LDFLAGS): Likewise.
37494
37495 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
37496 kern/corecmd.c.
37497 (kernel_img_HEADERS): Add command.h.
37498 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
37499 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
37500 and lib/arg.c.
37501 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
37502 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
37503 remove the corresponding normal mode command.
37504 (normal_mod_SOURCES): Remove normal/arg.c.
37505 * conf/i386-coreboot.rmk: Likewise.
37506 * conf/i386-efi.rmk: Likewise.
37507 * conf/i386-ieee1275.rmk: Likewise.
37508 * conf/powerpc-ieee1275.rmk: Likewise.
37509 * conf/x86_64-efi.rmk: Likewise.
37510
37511 * include/grub/arg.h: Move from here ...
37512 * include/grub/lib/arg.h: ... to here.
37513
37514 * normal/arg.c: Move from here ...
37515 * lib/arg.c: ... to here.
37516
37517 * commands/extcmd.c: New file.
37518 * commands/minicmd.c: Likewise.
37519 * include/grub/command.h: Likewise.
37520 * include/grub/extcmd.h: Likewise.
37521 * kern/command.c: Likewise.
37522 * kern/corecmd.c: Likewise.
37523
37524 * kern/list.c (grub_list_iterate): Return int instead of void.
37525 (grub_list_insert): New function.
37526 (grub_prio_list_insert): Likewise.
37527
37528 * kern/rescue.c (grub_rescue_command): Removed.
37529 (grub_rescue_command_list): Likewise.
37530 (grub_rescue_register_command): Likewise.
37531 (grub_rescue_unregister_command): Likewise.
37532 (grub_rescue_cmd_boot): Move to minicmd.c
37533 (grub_rescue_cmd_help): Likewise.
37534 (grub_rescue_cmd_info): Likewise.
37535 (grub_rescue_cmd_boot): Likewise.
37536 (grub_rescue_cmd_testload): Likewise.
37537 (grub_rescue_cmd_dump): Likewise.
37538 (grub_rescue_cmd_rmmod): Likewise.
37539 (grub_rescue_cmd_lsmod): Likewise.
37540 (grub_rescue_cmd_exit): Likewise.
37541 (grub_rescue_print_devices): Moved to corecmd.c.
37542 (grub_rescue_print_files): Likewise.
37543 (grub_rescue_cmd_ls): Likewise.
37544 (grub_rescue_cmd_insmod): Likewise.
37545 (grub_rescue_cmd_set): Likewise.
37546 (grub_rescue_cmd_unset): Likewise.
7d074e3c 37547 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 37548 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 37549 commands, remove grub_rescue_register_command calls.
b1b797cb 37550
7d074e3c 37551 * normal/command.c (grub_register_command): Removed.
b1b797cb 37552 (grub_unregister_command): Likewise.
37553 (grub_command_find): Likewise.
37554 (grub_iterate_commands): Likewise.
37555 (rescue_command): Likewise.
37556 (export_command): Moved to corecmd.c.
37557 (set_command): Removed.
37558 (unset_command): Likewise.
37559 (insmod_command): Likewise.
37560 (rmmod_command): Likewise.
37561 (lsmod_command): Likewise.
37562 (grub_command_init): Likewise.
37563
37564 * normal/completion.c (iterate_command): Use cmd->prio to check for
37565 active command.
37566 (complete_arguments): Use grub_extcmd_t structure to find options.
37567 (grub_normal_do_completion): Change function grub_iterate_commands to
37568 grub_command_iterate.
37569
37570 * normal/execute.c (grub_script_execute_cmd): No need to parse
37571 argument here.
37572
37573 * normal/main.c (grub_dyncmd_dispatcher): New function.
37574 (read_command_list): Register unload commands as dyncmd.
37575 (grub_cmd_normal): Use new command interface, register rescue,
37576 unregister normal at entry, register normal, unregister rescue at exit.
37577
37578 * include/grub/list.h (grub_list_test_t): New type.
37579 (grub_list_iterate): Return int instead of void.
37580 (grub_list_insert): New function.
37581 (GRUB_AS_NAMED_LIST_P): New macro.
37582 (GRUB_AS_PRIO_LIST): Likewise.
37583 (GRUB_AS_PRIO_LIST_P): Likewise.
37584 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
37585 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
37586 (grub_prio_list): New structure.
37587 (grub_prio_list_insert): New function.
37588 (grub_prio_list_remove): New inline function.
37589
37590 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
37591 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
37592 (GRUB_COMMAND_FLAG_MENU): Likewise.
37593 (GRUB_COMMAND_FLAG_BOTH): Likewise.
37594 (GRUB_COMMAND_FLAG_TITLE): Likewise.
37595 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
37596 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
37597 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
37598 (grub_command): Likewise.
37599 (grub_register_command): Likewise.
37600 (grub_command_find): Likewise.
37601 (grub_iterate_commands): Likewise.
37602 (grub_command_init): Likewise.
37603 (grub_arg_parse): Likewise.
37604 (grub_arg_show_help): Likewise.
37605
37606 * include/grub/rescue.h (grub_rescue_register_command): Removed.
37607 (grub_rescue_unregister_command): Likewise.
37608
37609 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
37610 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
37611 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
37612
37613 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
37614 grub_rescue_cmd_initrd.
37615 * include/grub/i386/loader.h: Likewise.
37616 * include/grub/x86_64/loader.h: Likewise.
37617
37618 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
37619
1f4147aa 376202009-03-21 Bean <bean123ch@gmail.com>
37621
37622 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
37623 instead of stat in mingw environment.
37624
37625 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
37626
37627 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
37628
37629 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
37630 AC_CONFIG_LINKS.
37631
2156d5ba 376322009-03-21 Bean <bean123ch@gmail.com>
37633
37634 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
37635 out of range error.
37636
177b82ca 376372009-03-18 Michel Dänzer <michel@daenzer.net>
37638
37639 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
37640 checking inode flags for EXT4_EXTENTS_FLAG.
37641
14aad807 376422009-03-18 Robert Millan <rmh@aybabtu.com>
37643
37644 * loader/i386/linux.c: Include `<grub/video.h>' and
37645 `<grub/i386/pc/vbe.h>'..
37646 (grub_linux_setup_video): New function. Loosely based on the EFI one.
37647 (grub_linux32_boot): Attempt to configure video settings with
37648 grub_linux_setup_video().
37649 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
37650 to avoid grub_console_fini() which would step out of graphical mode
37651 unconditionally.
37652
8cf83a27 376532009-03-14 Robert Millan <rmh@aybabtu.com>
37654
37655 Fix build on powerpc.
37656 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
37657
40164e75 376582009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
37659
37660 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
37661 background image command.
37662
c58bc32a 376632009-03-12 Colin D Bennett <colin@gibibit.com>
37664
37665 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
37666 (grub_gfxterm_putchar): Extract pairs of identical calls to
37667 draw_cursor out of conditional blocks.
37668
5415144a 376692009-03-11 Pavel Roskin <proski@gnu.org>
37670
37671 * fs/hfs.c (grub_hfs_strncasecmp): New function.
37672 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
37673
6394042e 376742009-03-11 Robert Millan <rmh@aybabtu.com>
37675
37676 * loader/i386/multiboot_elfxx.c
37677 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
37678
b7b50e5f 376792009-03-11 Felix Zielcke <fzielcke@z-51.de>
37680
37681 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
37682 `kern/handler.c'.
37683
1ca7fc96 376842009-03-11 Robert Millan <rmh@aybabtu.com>
37685
37686 * loader/i386/multiboot.c (code_size): New variable.
37687 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 37688 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 37689 4-byte alignment to MBI and others by increasing
7d074e3c 37690 `boot_loader_name_length' appropriately.
1ca7fc96 37691
37692 * loader/i386/multiboot_elfxx.c
37693 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
37694
a83ea1d2 376952009-03-09 Felix Zielcke <fzielcke@z-51.de>
37696
37697 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
37698 `fs/ext2.c'.
37699
aa9f3bff 377002009-03-08 Robert Millan <rmh@aybabtu.com>
37701
37702 Make loader/i386/linux.c usable on i386-pc again.
37703
37704 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
37705 memory to heap.
37706 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
37707 `#error' stanza.
37708
d8b3b60e 377092009-03-07 Bean <bean123ch@gmail.com>
37710
37711 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
37712 allocation.
37713
b362c9e9 377142009-03-06 Robert Millan <rmh@aybabtu.com>
37715
37716 Fix display issue on terminals with screen size other than 80x25
37717 (e.g. gfxterm with resolution higher than 640x480).
37718
37719 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 37720 position relative to the center of the terminal instead of relying
b362c9e9 37721 on a hardcoded offset.
37722
9304eef1 377232009-03-04 Robert Millan <rmh@aybabtu.com>
37724
37725 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
37726 installed.
37727
37728 * Makefile.in (host_kernel): New variable.
37729 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
37730 scripts instead of just the windows one.
37731 * configure.ac: Initialize and AC_SUBST `host_kernel'.
37732
eabc95fb 377332009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 37734
37735 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
37736 `kern/handler.c'.
37737 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37738 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37739 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37740 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37741 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37742 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37743
ceb1223c 377442009-03-04 Felix Zielcke <fzielcke@z-51.de>
37745
37746 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
37747 or if there's no space for the disk label and print the partition number on a
37748 invalid magic.
37749
4910684a 377502009-03-04 Felix Zielcke <fzielcke@z-51.de>
37751
37752 * util/misc.c: Include <time.h>.
37753 (grub_millisleep): New function.
37754
7e9ca17a 377552009-03-04 Bean <bean123ch@gmail.com>
37756
37757 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
37758 another option -mno-red-zone.
37759
37760 * commands/handler.c: Change module description.
37761
37762 * kern/handler.c: Add missing space at the end of description line.
37763
37764 * kern/list.c: Likewise.
37765
f501677c 377662009-03-03 Robert Millan <rmh@aybabtu.com>
37767
37768 Move more components to the relocation area, and fix mbi pointer
37769 handling to use the destination rather than the origin (thanks to
37770 Vladimir Serbinenko for spotting).
37771
37772 * loader/i386/multiboot.c (mbi_dest): New variable.
37773 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
37774 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
37775 relocation area.
37776
9902d047 377772009-03-01 Bean <bean123ch@gmail.com>
37778
50fb7002 37779 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 37780 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
37781 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
37782 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
37783
37784 * loader/i386/efi/linux.c (acpi_guid): New variable.
37785 (acpi_guid): Likewise.
37786 (EBDA_SEG_ADDR): New constant.
37787 (LOW_MEM_ADDR): Likewise.
37788 (FAKE_EBDA_SEG): Likewise.
37789 (fake_bios_data): New function.
37790 (grub_linux_boot): Call fake_bios_data.
37791
71b9f361 377922009-03-01 Bean <bean123ch@gmail.com>
37793
37794 * commands/terminal.c: Removed.
37795
37796 * commands/handler.c: New file.
37797
37798 * include/grub/list.h: Likewise.
37799
37800 * include/grub/handler.h: Likewise.
37801
37802 * kern/list.c: Likewise.
37803
37804 * kern/handler.c: Likewise.
37805
37806 * kern/term.h: Include header file <grub/handler.h>.
37807 (grub_term_input): Move next field to the beginning.
37808 (grub_term_output): Likewise.
37809 (grub_term_input_class): New variable.
37810 (grub_term_output_class): Likewise.
37811 (grub_term_register_input): Changed to inline function.
37812 (grub_term_register_output): Likewise.
37813 (grub_term_unregister_input): Likewise.
37814 (grub_term_unregister_output): Likewise.
37815 (grub_term_set_current_input): Likewise.
37816 (grub_term_set_current_output): Likewise.
37817 (grub_term_get_current_input): Likewise.
37818 (grub_term_get_current_output): Likewise.
37819 (grub_term_iterate_input): Removed.
37820 (grub_term_iterate_output): Likewise.
37821
37822 * kern/term.c (grub_term_list_input): Removed.
37823 (grub_term_list_output): Likewise.
37824 (grub_term_input_class): New variable.
37825 (grub_term_output_class): Likewise.
50fb7002 37826 (grub_cur_term_input): Change variable as macro.
71b9f361 37827 (grub_cur_term_output): Likewise.
37828 (grub_term_register_input): Removed.
37829 (grub_term_register_output): Likewise.
37830 (grub_term_unregister_input): Likewise.
37831 (grub_term_unregister_output): Likewise.
37832 (grub_term_set_current_input): Likewise.
37833 (grub_term_set_current_output): Likewise.
37834 (grub_term_iterate_input): Likewise.
37835 (grub_term_iterate_output): Likewise.
37836 (grub_term_get_current_input): Likewise.
37837 (grub_term_get_current_output): Likewise.
37838
37839 * util/grub-editenv.c: Include header file <grub/handler.h>.
37840 (grub_term_get_current_input): Removed.
37841 (grub_term_get_current_output): Likewise.
37842 (grub_term_input_class): New variable.
50fb7002 37843 (grub_term_output_class): Likewise.
71b9f361 37844
37845 * util/grub-fstest.c (grub_term_get_current_input): Removed.
37846 (grub_term_get_current_output): Likewise.
37847 (grub_term_input_class): New variable.
50fb7002 37848 (grub_term_output_class): Likewise.
71b9f361 37849
37850 * util/grub-probe.c (grub_term_get_current_input): Removed.
37851 (grub_term_get_current_output): Likewise.
37852 (grub_term_input_class): New variable.
50fb7002 37853 (grub_term_output_class): Likewise.
71b9f361 37854
37855 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
37856 (grub_term_get_current_output): Likewise.
37857 (grub_term_input_class): New variable.
50fb7002 37858 (grub_term_output_class): Likewise.
71b9f361 37859
37860 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
37861 (terminal_mod_SOURCES): Likewise.
37862 (terminal_mod_CFLAGS): Likewise.
37863 (terminal_mod_LDFLAGS): Likewise.
37864
37865 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
37866 handler.c.
37867 (kernel_img_SOURCES): Add list.c and handler.c.
37868 (kernel_img_HEADERS): Add list.h and handler.h.
37869
37870 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
37871 handler.c.
37872 (kernel_mod_SOURCES): Add list.c and handler.c.
37873 (kernel_mod_HEADERS): Add list.h and handler.h.
37874
37875 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
37876 handler.c.
37877 (kernel_elf_SOURCES): Add list.c and handler.c.
37878 (kernel_elf_HEADERS): Add list.h and handler.h.
37879
37880 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
37881 handler.c.
37882 (kernel_elf_SOURCES): Add list.c and handler.c.
37883 (kernel_elf_HEADERS): Add list.h and handler.h.
37884
37885 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
37886 handler.c.
37887 (kernel_mod_SOURCES): Add list.c and handler.c.
37888 (kernel_mod_HEADERS): Add list.h and handler.h.
37889
37890 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
37891 handler.c.
37892 (kernel_elf_SOURCES): Add list.c and handler.c.
37893 (kernel_elf_HEADERS): Add list.h and handler.h.
37894
8a31787f 378952009-02-27 Robert Millan <rmh@aybabtu.com>
37896
37897 Factorize elf32 / elf64 code in Multiboot loader. This will
37898 prevent it from getting out of sync again.
37899
37900 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
37901 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
37902 grub_multiboot_load_elf64): Move from here ...
37903 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
37904 grub_multiboot_load_elf): ... to here (new file).
37905
51cd3dfc 379062009-02-27 Robert Millan <rmh@aybabtu.com>
37907
37908 * util/grub.d/10_linux.in: Rename "single-user mode" to
37909 "recovery mode".
37910
6e8c9c3a 379112009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
37912
37913 Don't leak in SCSI code.
37914 * disk/scsi.c (grub_scsi_close): free `scsi'.
37915
4b6bf4f9 379162009-02-27 Robert Millan <rmh@aybabtu.com>
37917
37918 * loader/i386/pc/multiboot.c: Move from here ...
37919 * loader/i386/multiboot.c: ... to here. Update all users.
37920
b9413424 379212009-02-27 Robert Millan <rmh@aybabtu.com>
37922
37923 Patch from Alexandre Bique <bique.alexandre@gmail.com>
37924 * util/i386/pc/grub-setup.c (setup): Fix directory path.
37925
50fb7002 379262009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 37927
37928 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
37929 b-tree.
37930
8cc50345 379312009-02-27 Robert Millan <rmh@aybabtu.com>
37932
37933 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
37934 `0x' qualifier as 0 when base is specified as parameter).
37935
6e09b8b7 379362009-02-24 Bean <bean123ch@gmail.com>
37937
37938 * configure.ac: Check for -mcmodel=large in x86_64 target.
37939
37940 * include/grub/efi/api.h (efi_call_10): New macro.
37941 (efi_wrap_10): New function.
37942
37943 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
37944 (GRUB_PE32_REL_BASED_HIGH): Likewise.
37945 (GRUB_PE32_REL_BASED_LOW): Likewise.
37946 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
37947 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
37948 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
37949 (GRUB_PE32_REL_BASED_SECTION): Likewise.
37950 (GRUB_PE32_REL_BASED_REL): Likewise.
37951 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
37952 (GRUB_PE32_REL_BASED_DIR64): Likewise.
37953 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
37954
37955 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
37956 issue.
37957
37958 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
37959 (efi_wrap_10): New function.
37960
37961 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
37962
37963 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
37964 MB/MBP model (NV chipset).
37965 (devdata_devs): Add devpath_5 to the list.
37966
37967 * load/i386/efi/linux.c (video_base): Remove variable.
37968 (RGB_MASK): New macro.
37969 (RGB_MAGIC): Likewise.
37970 (LINE_MIN): Likewise.
37971 (LINE_MAX): Likewise.
37972 (FBTEST_STEP): Likewise.
37973 (FBTEST_COUNT): Likewise.
37974 (fb_list): New variable.
37975 (grub_find_video_card): Remove function.
37976 (find_framebuf): New function.
37977 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
37978 line length.
37979
37980 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
37981 problem for x86_64.
37982
74b21bee 379832009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
37984
37985 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
37986
37987 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
37988 coding tool name.
37989
a455f472 379902009-02-22 Robert Millan <rmh@aybabtu.com>
37991
37992 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
37993 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
37994 in our relocation, instead of using it directly from heap. Also
37995 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
37996
6374daf3 379972009-02-21 Robert Millan <rmh@aybabtu.com>
37998
37999 Implement USB keyboard support (based on patch by Marco Gerards)
38000
38001 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
38002 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
38003 (usb_keyboard_mod_LDFLAGS): New variables.
38004
38005 * term/usb_keyboard.c: New file.
38006
8fa4ea70 380072009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
38008
38009 Corrected wrong declaration
38010
38011 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
38012
353976ac 380132009-02-14 Christian Franke <franke@computer.org>
38014
38015 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
38016 (grub_lspci_iter): Print class code and programming interface byte.
38017
6aa1169b 380182009-02-14 Christian Franke <franke@computer.org>
38019
38020 * gendistlist.sh: Ignore `.svn' directories.
38021
265372ca 380222009-02-14 Felix Zielcke <fzielcke@z-51.de>
38023
38024 * fs/fat.c: Add 2009 to Copyright line.
38025
9ff516f3 380262009-02-14 Christian Franke <franke@computer.org>
38027
38028 * commands/hdparm.c: New file. Provides `hdparm' command
38029 which sends ATA commands via grub_disk_ata_pass_through ().
38030
38031 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
38032
38033 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
38034 and <grub/cpu/io.h> to include/grub/ata.h.
38035 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
38036 (GRUB_CDROM_SECTOR_SIZE): Remove.
38037 (GRUB_ATA_*): Move to include/grub/ata.h.
38038 (GRUB_ATAPI_*): Likewise.
38039 (enum grub_ata_commands): Likewise.
38040 (enum grub_ata_timeout_milliseconds): Likewise.
38041 (struct grub_ata_device): Likewise.
38042 (grub_ata_regset): Likewise.
38043 (grub_ata_regget): Likewise.
38044 (grub_ata_regset2): Likewise.
38045 (grub_ata_regget2): Likewise.
38046 (grub_ata_check_ready): Likewise.
38047 (grub_ata_wait_not_busy): Remove static, exported in
38048 include/grub/ata.h.
38049 (grub_ata_wait_drq): Likewise.
38050 (grub_ata_pio_read): Likewise.
38051
38052 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
38053 function for hdparm.mod.
38054
38055 * include/grub/ata.h: New file, contains declarations from
38056 disk/ata.c.
38057 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
38058
38059 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
38060 (grub_disk_ata_pass_through): New exported variable.
38061
38062 * kern/disk.c (grub_disk_ata_pass_through): New variable.
38063
772e23da 380642009-02-13 Colin D Bennett <colin@gibibit.com>
38065
38066 Support multiple fallback entries, and provide an API to support
38067 executing default+fallback menu entries. Renamed the `terminal' menu
38068 viewer to `text'.
38069
38070 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
38071 variable declaration.
38072 (grub_menu_execute_callback): New structure declaration.
38073 (grub_menu_execute_callback_t): New typedef.
38074 (grub_menu_execute_with_fallback): New function declaration.
38075 (grub_menu_get_entry): Likewise.
38076 (grub_menu_get_timeout): Likewise.
38077 (grub_menu_set_timeout): Likewise.
38078
38079 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
38080
38081 * normal/menu.c (grub_wait_after_message): Moved to
38082 `normal/menu_text.c'.
38083 (draw_border): Likewise.
38084 (print_message): Likewise.
38085 (print_entry): Likewise.
38086 (print_entries): Likewise.
38087 (grub_menu_init_page): Likewise.
38088 (get_entry_number): Likewise.
38089 (print_timeout): Likewise.
38090 (run_menu): Likewise.
38091 (grub_menu_execute_entry): Likewise.
38092 (show_text_menu): Likewise.
38093 (get_and_remove_first_entry_number): New function.
38094 (grub_menu_execute_with_fallback): Likewise.
38095 (get_entry): Renamed to ...
38096 (grub_menu_get_entry): .. this and made it global.
38097 (get_timeout): Renamed to ...
38098 (grub_menu_get_timeout): ... this and made it global.
38099 (set_timeout): Renamed to ...
38100 (grub_menu_set_timeout): ... this and made it global.
38101 (grub_normal_terminal_menu_viewer): Renamed to ...
38102 (grub_normal_text_menu_viewer): ... this.
38103
38104 * normal/menu_text.c: New file. Extracted text-menu-specific code
38105 from normal/menu.c.
38106
38107 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
38108 (normal_mod_SOURCES): Likewise.
38109
38110 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38111 (normal_mod_SOURCES): Likewise.
38112
38113 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38114 (normal_mod_SOURCES): Likewise.
38115
38116 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
38117 (normal_mod_SOURCES): Likewise.
38118
38119 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38120 (normal_mod_SOURCES): Likewise.
38121
38122 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38123 (normal_mod_SOURCES): Likewise.
38124
38125 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38126 (normal_mod_SOURCES): Likewise.
38127
16ac430e 381282009-02-11 Robert Millan <rmh@aybabtu.com>
38129
38130 * util/grub.d/00_header.in: Update old reference to `font' command.
38131
06ff20fc 381322009-02-10 Felix Zielcke <fzielcke@z-51.de>
38133
38134 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
38135
38136 Based on patch from Javier Martín.
38137
96da9407 381382009-02-09 Felix Zielcke <fzielcke@z-51.de>
38139
38140 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 38141 to avoid false positives with FAT.
96da9407 38142 (grub_fstest_SOURCES): Likewise.
38143 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38144 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38145 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38146 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38147 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38148 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38149
6dca6fe4 381502009-02-09 Felix Zielcke <fzielcke@z-51.de>
38151
06ff20fc 38152 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 38153 bpb.version_specific.fat12_or_fat16.fstype and
38154 bpb.version_specific.fat32.fstype.
38155
2550c62f 381562009-02-08 Robert Millan <rmh@aybabtu.com>
38157
be110b30 38158 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 38159
56978920 381602009-02-08 Robert Millan <rmh@aybabtu.com>
38161
38162 * Makefile.in (host_os, host_cpu): New variables.
38163 (target_os): Remove. Update all users.
38164
d64399b5 381652009-02-08 Marco Gerards <marco@gnu.org>
38166
38167 * Makefile.in (enable_grub_emu_usb): New variable.
38168 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
38169 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
38170 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
38171 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
38172 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
38173 `usbtest.mod' and `usbms.mod'.
38174 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
38175 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
38176 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
38177 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
38178 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
38179 variables.
38180
38181 * disk/usbms.c: New file.
38182
38183 * include/grub/usb.h: Likewise.
38184
38185 * include/grub/usbtrans.h: Likewise.
38186
38187 * include/grub/usbdesc.h: Likewise.
38188
38189 * bus/usb/usbtrans.c: Likewise.
38190
38191 * bus/usb/ohci.c: Likewise.
38192
38193 * bus/usb/uhci.c: Likewise.
38194
38195 * bus/usb/usbhub.c: Likewise.
38196
38197 * bus/usb/usb.c: Likewise.
38198
38199 * commands/usbtest.c: Likewise.
38200
38201 * util/usb.c: Likewise.
50fb7002 38202
d64399b5 38203 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
38204
38205 * configure.ac: Test for libusb presence.
50fb7002 38206
d64399b5 38207 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
38208
2b40d6bb 382092009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
38210
38211 * kern/mm.c: Add more comments.
38212
73a4ce81 382132009-02-08 Robert Millan <rmh@aybabtu.com>
38214
38215 Patch from Javier Martín.
38216 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
38217 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
38218
f821ce59 382192009-02-08 Robert Millan <rmh@aybabtu.com>
38220
38221 * fs/cpio.c: Split tar functionality to ...
38222 * fs/tar.c: ... here (new file). Update all users.
38223
aebfc4b0 382242009-02-07 Robert Millan <rmh@aybabtu.com>
38225
38226 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
38227 backward-incompatible features.
38228
38229 Based on patch from Javier Martín, with some adjustments.
38230
50fb7002 382312009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 38232
38233 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
38234
0bb5115e 382352009-02-07 Robert Millan <rmh@aybabtu.com>
38236
38237 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
38238 position of `disk/lvm.c' to ensure grub_init_all() always picks it
38239 after the RAID stuff.
38240
38a0f8e7 382412009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
38242
50fb7002 38243 Fixes problem when running vbetest command as reported by
38a0f8e7 38244 Vladimir Serbinenko <phcoder@gmail.com>.
38245
38246 * (grub_vbe_set_video_mode): Fixed problem with text modes.
38247
3143cc1c 382482009-02-04 Felix Zielcke <fzielcke@z-51.de>
38249
38250 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
38251 /dev/md/NpN style mdraid devices.
38252
9cba6fce 382532009-02-03 Felix Zielcke <fzielcke@z-51.de>
38254
38255 * util/unifont2pff.rb: Remove.
38256
e507a2c1 382572009-02-03 Felix Zielcke <fzielcke@z-51.de>
38258
38259 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
38260 `#'.
38261
d2c2b4cd 382622009-02-03 Felix Zielcke <fzielcke@z-51.de>
38263
38264 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
38265 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38266 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38267 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38268 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38269 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38270 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38271
b4315fb0 382722009-02-02 Christian Franke <franke@computer.org>
38273
38274 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
38275
de3aa260 382762009-02-01 Felix Zielcke <fzielcke@z-51.de>
38277
7c3ff286 38278 * INSTALL: Note that we now require at least autoconf 2.59 and
38279 that LZO is optional.
de3aa260 38280
825a182b 382812009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
38282
38283 Base on patch on bug #24154 created by Tomas Tintera
38284 <trosos@seznam.cz>.
38285
38286 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
38287
a69ef770 382882009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
38289
7c3ff286 38290 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 38291 <bero@arklinux.org>.
38292
38293 * normal/parser.y (script_init): Add missing semicolon.
38294
6fa42fa6 382952009-01-31 Colin D Bennett <colin@gibibit.com>
38296
7c3ff286 38297 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 38298 (free_menu_entry_classes): Added.
38299 (grub_normal_menu_addentry): Added class property handling.
38300 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
38301 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
38302
38303 * normal/menu_viewer.c: New file.
38304
38305 * normal/menu.c (run_menu_entry): Renamed to ...
38306 (grub_menu_execute_entry): ... this and made it as global.
38307 (grub_menu_run): Renamed to ...
38308 (show_text_menu): ... this and made it local.
38309 (show_text_menu): Adapt to new function names.
38310 (grub_normal_terminal_menu_viewer): New global variable.
38311
38312 * include/grub/menu.h: New file.
38313
38314 * include/grub/menu_viewer.h: New file.
38315
38316 * include/grub/normal.h: Added include to grub/menu.h.
38317 (grub_menu_entry): Moved to include/grub/menu.h.
38318 (grub_menu_entry_t): Likewise.
38319 (grub_menu): Likewise.
38320 (grub_menu_t): Likewise.
38321 (grub_normal_terminal_menu_viewer): Added.
38322 (grub_menu_execute_entry): Likewise.
38323 (grub_menu_run): Removed.
38324
38325 * DISTLIST: Added include/grub/menu.h.
38326 Added include/grub/menu_viewer.h.
38327 Added normal/menu_viewer.c.
38328
383292009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
38330
38331 * normal/execute.c (grub_script_execute_menuentry): Changed to use
38332 arglist for menutitle arguments.
38333
38334 * normal/main.c (grub_normal_menu_addentry): Likewise.
38335
38336 * normal/parser.y (menuentry): Likewise.
38337
38338 * normal/script.c (grub_script_create_cmdmenu): Likewise.
38339
38340 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
38341 (grub_script_create_cmdmenu): Likewise.
38342
38343 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
38344
38345 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
38346 changes.
38347
38348 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
38349
38350 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
38351
38352 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
38353
38354 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
38355
38356 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
38357
38358 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
38359
56192c23 383602009-01-30 Christian Franke <franke@computer.org>
38361
38362 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
38363 in option help text.
38364
d72521b3 383652009-01-27 Pavel Roskin <proski@gnu.org>
38366
38367 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
38368
994b5e84 383692009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
38370
38371 * commands/lsmmap.c: Add include to grub/machine/memory.h.
38372
38373 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
38374
38375 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
38376 unregister function.
38377
6a7eab2c 383782009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
38379
38380 * disk/scsi.c (grub_scsi_read): Fix sign problem.
38381
38382 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
38383
38384 * util/grub-mkfont.c (usage): Fix typo.
38385
38386 * util/elf/grub-mkimage.c (load_modules): Fix warning.
38387
1806b56e 383882009-01-26 Daniel Mierswa <impulze@impulze.org>
38389
3fb18f09 38390 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
38391
336e1fb9 38392 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
38393
1806b56e 38394 * kern/misc.c (grub_strcasecmp): New function.
38395 (grub_strcasecmp): Use grub_size_t instead of int for length.
38396 Fix return value.
38397 * include/grub/misc.h: Update function prototypes.
38398
580b2a0f 383992009-01-26 Robert Millan <rmh@aybabtu.com>
38400
38401 * configure.ac: Fix cross-compilation check.
ef257b36 38402
d31c24f1 384032009-01-22 Christian Franke <franke@computer.org>
38404
38405 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
38406 (precision) digit string. Allow `.format2' without `format1' (width).
38407 Limit input chars for `%s' output to `format2' if specified. This is
38408 compatible with standard printf ().
38409
3138b44c 384102009-01-22 Christian Franke <franke@computer.org>
38411
38412 * disk/ata.c (grub_ata_wait_status): Replace by ...
38413 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
38414 other status bits may be invalid while BSY is asserted.
38415 (grub_ata_check_ready): New function.
38416 (grub_ata_cmd): Removed.
38417 (grub_ata_wait_drq): New function.
38418 (grub_ata_strncpy): Remove inline.
38419 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
38420 and error check now done by grub_ata_wait_drq ().
38421 (grub_ata_pio_write): Likewise.
38422 (grub_atapi_identify): Set DEV before check for !BSY. Use
38423 grub_ata_wait_drq () to wait for data.
38424 (grub_ata_device_initialize): Add status register check to
38425 detect missing SATA slave devices. Add debug messages.
38426 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
38427 (grub_atapi_packet): Set DEV before check for !BSY. Replace
38428 transfer loop by grub_ata_pio_write ().
38429 (grub_ata_identify): Set DEV before check for !BSY. Use
38430 grub_ata_wait_drq () to wait for data.
ef257b36 38431 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 38432 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
38433 read/write in one loop. Fix invalid command on write. Fix incomplete
38434 command on (size % batch) == 0. Add missing error check after write of
38435 last block. Add debug messages.
38436 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
38437
59a64ef6 384382009-01-19 Christian Franke <franke@computer.org>
38439
38440 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
38441 (GRUB_ATAPI_IREASON_*): Likewise.
38442 (grub_ata_pio_write): Fix timeout error return.
38443 (grub_atapi_identify): Add grub_ata_wait () after cmd.
38444 (grub_atapi_wait_drq): New function.
38445 (grub_atapi_packet): New parameter `size'.
38446 Use grub_atapi_wait_drq () and direct write instead of
38447 grub_ata_pio_write ().
38448 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
38449 reads the number of bytes requested by the device for each DRQ
38450 assertion.
38451 (grub_atapi_write): Remove old implementation, return not
38452 implemented instead.
38453
1cfe20b3 384542009-01-19 Christian Franke <franke@computer.org>
38455
38456 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
38457 of 512 to calculate data size.
38458 (grub_scsi_read12): Likewise.
38459 (grub_scsi_write10): Likewise.
38460 (grub_scsi_write12): Likewise.
38461 (grub_scsi_read): Adjust size according to blocksize.
38462 Add checks for invalid blocksize and unaligned transfer.
38463
bee5fe5d 384642009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
38465
38466 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
38467
ef257b36 38468 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 38469 width glyphs.
38470
3e643f8c 384712009-01-19 Robert Millan <rmh@aybabtu.com>
38472
38473 * config.guess: Update to latest version from config git.
38474 * config.sub: Likewise.
38475
4fa80998 384762009-01-17 Felix Zielcke <fzielcke@z-51.de>
38477
38478 * Makefile.in: Change font compilation to use new grub-mkfont instead
38479 of java version.
38480
38481 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
38482 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
38483 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
38484 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
38485 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
38486 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
38487 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
38488 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
38489 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
38490
7086085b 384912009-01-16 Christian Franke <franke@computer.org>
38492
38493 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
38494 (enum grub_ata_timeout_milliseconds): New enum.
38495 (grub_ata_wait_status): Add parameter milliseconds.
38496 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
38497 recovery from timed-out commands.
38498 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
38499 return grub_errno instead of REG_ERROR.
38500 (grub_ata_pio_write): Add parameter milliseconds.
38501 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
38502 Pass milliseconds to grub_ata_wait_status () and
38503 grub_ata_pio_read ().
38504 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
38505 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
38506 grub_ata_wait_status (). Fix IDENTIFY timeout check.
38507 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
38508 It is not suitable for device detection, because DEV bit is ignored,
38509 the command may run too long, and not all devices set the signature
38510 properly.
38511 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
38512 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
38513 Fix device selection, DEV bit must be set first to address the registers
38514 of the correct device.
38515 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
38516 grub_ata_pio_read/write ().
38517 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
38518 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
38519
4a412913 385202009-01-13 Carles Pina i Estany <carles@pina.cat>
38521
38522 * util/grub-editenv.c (main): Use fseeko(), not fseek().
38523
7795c55e 385242009-01-13 Bean <bean123ch@gmail.com>
d913988c 38525
38526 * util/grub-mkfont.c (write_font): forget to remove some debug code.
38527
7795c55e 385282009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 38529
38530 * Makefile.in: (enable_grub_mkfont): New variable.
38531 (freetype_cflags): Likewise.
38532 (freetype_libs): Likewise.
38533
38534 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
38535 (grub_mkfont_SOURCES): New variable.
38536 (grub_mkfont_CFLAGS): Likewise.
38537 (grub_mkfont_LDFLAGS): Likewise.
38538
38539 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
38540 library if `--enable-grub-mkfont' is requested.
38541 (enable_grub_mkfont): New variable.
38542 (freetype_cflags): Likewise.
38543 (freetype_libs): Likewise.
38544
38545 * util/grub-mkfont.c: New file.
38546
093af1fe 385472009-01-12 Christian Franke <franke@computer.org>
38548
38549 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
38550 mode check. Fix setting of compat_use[].
38551
f36cc108 385522009-01-10 Robert Millan <rmh@aybabtu.com>
38553
38554 Update a few copyright years which we forgot to do in 2008 (only for
38555 files whose changes made in 2008 were copyright-significant)
38556
38557 * Makefile.in: Add 2008 to Copyright line.
38558 * disk/ieee1275/ofdisk.c: Likewise.
38559 * disk/efi/efidisk.c: Likewise.
38560 * kern/dl.c: Likewise.
38561 * kern/sparc64/ieee1275/init.c: Likewise.
38562 * kern/mm.c: Likewise.
38563 * kern/efi/mm.c: Likewise.
38564 * boot/i386/pc/boot.S: Likewise.
38565 * genfslist.sh: Likewise.
38566 * fs/iso9660.c: Likewise.
38567 * fs/hfs.c: Likewise.
38568 * fs/jfs.c: Likewise.
38569 * fs/minix.c: Likewise.
38570 * fs/ufs.c: Likewise.
38571 * gensymlist.sh.in: Likewise.
38572 * genkernsyms.sh.in: Likewise.
38573 * include/grub/misc.h: Likewise.
38574 * include/grub/types.h: Likewise.
38575 * include/grub/symbol.h: Likewise.
38576 * include/grub/elf.h: Likewise.
38577 * include/grub/kernel.h: Likewise.
38578 * include/grub/disk.h: Likewise.
38579 * include/grub/dl.h: Likewise.
38580 * include/grub/i386/linux.h: Likewise.
38581 * include/grub/i386/pc/biosdisk.h: Likewise.
38582 * include/grub/efi/api.h: Likewise.
38583 * include/grub/efi/pe32.h: Likewise.
38584 * include/grub/util/misc.h: Likewise.
38585 * normal/execute.c: Likewise.
38586 * normal/arg.c: Likewise.
38587 * normal/completion.c: Likewise.
38588 * normal/lexer.c: Likewise.
38589 * normal/parser.y: Likewise.
38590 * normal/misc.c: Likewise.
38591 * commands/i386/pc/vbeinfo.c: Likewise.
38592 * commands/hexdump.c: Likewise.
38593 * commands/terminal.c: Likewise.
38594 * commands/ls.c: Likewise.
38595 * commands/help.c: Likewise.
38596 * partmap/pc.c: Likewise.
38597 * loader/efi/chainloader.c: Likewise.
38598 * loader/multiboot_loader.c: Likewise.
38599 * loader/i386/pc/multiboot2.c: Likewise.
38600 * term/efi/console.c: Likewise.
38601 * term/i386/pc/serial.c: Likewise.
38602 * util/lvm.c: Likewise.
38603 * util/console.c: Likewise.
38604 * util/i386/efi/grub-mkimage.c: Likewise.
38605 * util/raid.c: Likewise.
38606
7f02114b 386072009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
38608
38609 * commands/videotest.c: Removed include to grub/machine/memory.h.
38610
38611 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
38612 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
38613 (video_mod_SOURCES): Removed.
38614 (video_mod_CFLAGS): Likewise.
38615 (video_mod_LDFLAGS): Likewise.
38616 (gfxterm_mod_SOURCES): Likewise.
38617 (gfxterm_mod_CFLAGS): Likewise.
38618 (gfxterm_mod_LDFLAGS): Likewise.
38619 (videotest_mod_SOURCES): Likewise.
38620 (videotest_mod_CFLAGS): Likewise.
38621 (videotest_mod_LDFLAGS): Likewise.
38622 (bitmap_mod_SOURCES): Likewise.
38623 (bitmap_mod_CFLAGS): Likewise.
38624 (bitmap_mod_LDFLAGS): Likewise.
38625 (tga_mod_SOURCES): Likewise.
38626 (tga_mod_CFLAGS): Likewise.
38627 (tga_mod_LDFLAGS): Likewise.
38628 (jpeg_mod_SOURCES): Likewise.
38629 (jpeg_mod_CFLAGS): Likewise.
38630 (jpeg_mod_LDFLAGS): Likewise.
38631 (png_mod_SOURCES): Likewise.
38632 (png_mod_CFLAGS): Likewise.
38633 (png_mod_LDFLAGS): Likewise.
38634
38635 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
38636 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
38637 (video_mod_SOURCES): Added.
38638 (video_mod_CFLAGS): Likewise.
38639 (video_mod_LDFLAGS): Likewise.
38640 (videotest_mod_SOURCES): Likewise.
38641 (videotest_mod_CFLAGS): Likewise.
38642 (videotest_mod_LDFLAGS): Likewise.
38643 (bitmap_mod_SOURCES): Likewise.
38644 (bitmap_mod_CFLAGS): Likewise.
38645 (bitmap_mod_LDFLAGS): Likewise.
38646 (tga_mod_SOURCES): Likewise.
38647 (tga_mod_CFLAGS): Likewise.
38648 (tga_mod_LDFLAGS): Likewise.
38649 (jpeg_mod_SOURCES): Likewise.
38650 (jpeg_mod_CFLAGS): Likewise.
38651 (jpeg_mod_LDFLAGS): Likewise.
38652 (png_mod_SOURCES): Likewise.
38653 (png_mod_CFLAGS): Likewise.
38654 (png_mod_LDFLAGS): Likewise.
38655 (gfxterm_mod_SOURCES): Likewise.
38656 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 38657 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 38658
38659 * term/gfxterm.c: Removed include to grub/machine/memory.h,
38660 grub/machine/console.h.
38661
644fff97 386622009-01-04 Jerone Young <jerone@gmail.com>
38663
38664 Make on screen instructions clearer
38665
38666 Based on patch created by Jidanni <jidanni@jidanni.org>
38667
38668 * normal/menu.c: print clearer instructions on the screen
38669
1e901a75 386702009-01-02 Colin D Bennett <colin@gibibit.com>
38671
38672 New font engine.
34c44600 38673
1e901a75 38674 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
38675 build system and fixed gfxterm.c to work with different sized fonts.
38676
38677 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 38678
1e901a75 38679 * configure: Re-generated.
34c44600 38680
1e901a75 38681 * DISTLIST: Removed font/manager.c.
38682 Added font/font.c.
38683 Added font/font_cmd.c.
34c44600 38684
1e901a75 38685 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
38686 compilation.
34c44600 38687
1e901a75 38688 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 38689
38690 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 38691
38692 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 38693
1e901a75 38694 * normal/menu.c: Likewise.
34c44600 38695
1e901a75 38696 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
38697 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 38698
1e901a75 38699 * include/grub/font.h: Replaced with new file.
34c44600 38700
1e901a75 38701 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
38702 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
38703 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
38704 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
38705 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 38706 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 38707 fg_red, fg_green, fg_blue, fg_alpha.
38708 (grub_video_adapter): Removed blit_glyph.
34c44600 38709 (grub_video_blit_glyph): Removed.
38710
1e901a75 38711 * font/manager.c: Removed file.
34c44600 38712
38713 * font/font.c: New file.
38714
1e901a75 38715 * font/font_cmd.c: Likewise.
34c44600 38716
1e901a75 38717 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 38718
1e901a75 38719 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
38720 (grub_video_vbe_map_rgba): Likewise.
38721 (grub_video_vbe_unmap_color_int): Likewise.
38722 (grub_video_vbe_blit_glyph): Removed.
38723 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 38724
1e901a75 38725 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
38726 (get_pixel): Likewise.
34c44600 38727 (set_pixel): Likewise.
38728
1e901a75 38729 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 38730
1e901a75 38731 * term/gfxterm.c: Adapted to new font engine.
34c44600 38732
1e901a75 38733 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 38734
1e901a75 38735 * term/i386/pc/vga.c: Likewise.
34c44600 38736
1e901a75 38737 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 38738
1e901a75 38739 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 38740
1e901a75 38741 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 38742
1e901a75 38743 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 38744
1e901a75 38745 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 38746
1e901a75 38747 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 38748
1e901a75 38749 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 38750
1e901a75 38751 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 38752
1e901a75 38753 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
38754
38755 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 38756
1e901a75 38757 * util/grub-mkconfig_lib.in: Changed font extension.
38758
278922e8 387592008-12-28 Felix Zielcke <fzielcke@z-51.de>
38760
38761 * util/getroot.c (grub_util_get_grub_dev): Add support for
38762 /dev/md/dNNpNN style partitionable mdraid devices.
38763
3ced05cf 387642008-12-12 Alex Smith <alex@alex-smith.me.uk>
38765
38766 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
38767 at a time limit of the PXE TFTP API correctly.
38768 (grub_pxefs_close): Likewise.
38769
7fd0ee30 387702008-11-29 Robert Millan <rmh@aybabtu.com>
38771
34c44600 38772 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 38773 grub_ata_device_initialize() calls.
38774
34c44600 387752008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 38776
38777 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
38778 iteration failed.
38779 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
38780
89313780 387812008-11-28 Robert Millan <rmh@aybabtu.com>
38782
38783 Fix build on powerpc-ieee1275. Based on patch created by
38784 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
38785 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38786 `kern/ieee1275/mmap.c'.
38787 * include/grub/powerpc/ieee1275/memory.h: New file.
38788
15257703 38789 Provide grub-install on coreboot.
38790 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
38791 (grub_install_SOURCES): New variable.
38792 * util/i386/pc/grub-install.in: Add a few condition checks to make it
38793 usable on coreboot.
38794
9fc5388a 387952008-11-25 Felix Zielcke <fzielcke@z-51.de>
38796
38797 * util/grub-fstest.c (grub_term_get_current_input): Change return type
38798 to `grub_term_input_t'.
38799 (grub_term_get_current_output): Change return type to
38800 `grub_term_output_t'.
38801
bc3a2f31 388022008-11-22 Robert Millan <rmh@aybabtu.com>
38803
34c44600 38804 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 38805 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
38806 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
38807 grub_vga_text_cls().
38808
80fc88f2 38809 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 38810 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 38811
cbf36fd3 38812 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
38813 to 0x200000 (avoids trouble with some OFW implementations, and matches
38814 with the one in Yaboot).
38815 Reported by Manoel Abranches
38816
73e8e268 388172008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 38818
38819 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
38820 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
38821
73e8e268 38822 * util/grub-mkconfig_lib.in (grub_warn): New function.
38823 (convert_system_path_to_grub_path): Use grub_warn() when issuing
38824 warnings, to obtain consistent formatting.
38825 * util/grub.d/00_header.in: Likewise.
38826 * util/update-grub_lib.in: Likewise.
38827
e94045a1 38828 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 38829 Move comment text to `#error' stanza.
e94045a1 38830
79d29fd7 38831 Harmonize ieee1275's grub_available_iterate() with the generic
38832 grub_machine_mmap_iterate() interface (fixes a recently-introduced
38833 build problem on i386-ieee1275):
38834 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
38835 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
38836 parameter `type'. Update all users of this function.
38837 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
38838 `kern/ieee1275/mmap.c'.
38839 * kern/ieee1275/init.c
38840 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
38841 with ...
38842 (grub_machine_mmap_iterate): ... this.
38843 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
38844 return type to `grub_err_t'. Update all implementations of this
38845 function prototype.
38846 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
38847 Likewise.
38848
60d6b16e 38849 Add `lsmmap' command (lists firmware-provided memory map):
38850 * commands/lsmmap.c: New file.
38851 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
38852 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
38853 variables.
38854 * conf/powerpc-ieee1275.rmk: Likewise.
38855 * conf/i386-coreboot.rmk: Likewise.
38856 * conf/i386-ieee1275.rmk: Likewise.
38857
ebaaf49b 388582008-11-19 Robert Millan <rmh@aybabtu.com>
38859
38860 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 38861 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
38862 constraints to initrd allocation (based on code from
38863 loader/i386/pc/linux.c). Without them, initrd was allocated too high
38864 for Linux to find it.
ebaaf49b 38865
dfab719f 388662008-11-14 Robert Millan <rmh@aybabtu.com>
38867
38868 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
38869 order to cope with duplicate slashes.
38870
10fc3eb9 388712008-11-14 Robert Millan <rmh@aybabtu.com>
38872
38873 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
38874 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
38875 don't want to mess with lower memory, because it is used in the Linux
38876 loader.
38877
38878 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 38879 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 38880 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
38881 is in our heap (probably as a result of it being corrupted during
2f2a3442 38882 decompression). Add #error instance with comment to explain why this
38883 loader isn't currently usable on PC/BIOS.
10fc3eb9 38884
e2e07847 388852008-11-14 Robert Millan <rmh@aybabtu.com>
38886
38887 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 38888 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 38889
fe8e8d69 388902008-11-12 Robert Millan <rmh@aybabtu.com>
38891
38892 Make loader/i386/linux.c buildable on i386-pc (although disabled).
38893
38894 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
38895 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
38896 from here ...
38897 * include/grub/i386/pc/memory.h: ... to here.
38898
976b07d0 388992008-11-12 Robert Millan <rmh@aybabtu.com>
38900
38901 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
38902 split).
38903
38904 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
38905 (grub_console_cur_color, grub_console_real_putchar)
38906 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
38907 (grub_console_setcolorstate, grub_console_setcolor)
38908 (grub_console_getcolor): Move from here ...
38909 * include/grub/i386/vga_common.h: ... to here (new file).
38910
38911 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
38912 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
38913 `<grub/i386/io.h>'.
38914 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
38915 `<grub/i386/vga_common.h>'.
38916
76679cd3 389172008-11-12 Robert Millan <rmh@aybabtu.com>
38918
38919 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
38920 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
38921 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
38922 variables.
38923 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
38924 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
38925
38926 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
38927 grub_console_init() with call to grub_vga_text_init().
38928 (grub_machine_fini): Replace call to
38929 grub_console_fini() with call to grub_vga_text_fini() and
38930 grub_at_keyboard_fini().
38931
38932 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
38933 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
38934 (grub_console_setcolorstate, grub_console_setcolor)
38935 (grub_console_getcolor): New function prototypes.
38936
38937 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
38938 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
38939 (grub_vga_text_setcursor): Static-ize.
38940 (grub_vga_text_term): New structure.
38941 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
38942
38943 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
38944 (grub_console_cur_color, grub_console_standard_color)
38945 (grub_console_normal_color, grub_console_highlight_color)
38946 (map_char, grub_console_putchar, grub_console_getcharwidth)
38947 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
38948 (grub_console_getcolor): Move from here ...
38949 * term/i386/vga_common.c: ... to here (same function names).
38950
95b841d3 389512008-11-12 Robert Millan <rmh@aybabtu.com>
38952
38953 Use newly-added Multiboot support in coreboot.
38954
38955 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
38956 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
38957
38958 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
38959 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
38960 (codestart): Store the MBI in `startup_multiboot_info' when we're
38961 being loaded using Multiboot.
38962
38963 * kern/i386/coreboot/init.c (grub_machine_init): Move
38964 grub_at_keyboard_init() call to beginning of function (useful for
38965 debugging). Call grub_machine_mmap_init() before attempting to use
38966 grub_machine_mmap_iterate().
38967 (grub_lower_mem, grub_upper_mem): Move from here ...
38968 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
38969 here (new file).
38970
38971 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
38972 function prototype.
38973
761ca975 389742008-11-12 Robert Millan <rmh@aybabtu.com>
38975
38976 Fix a regression introduced by the at_keyboard.mod split. Because
38977 some terminals are default on some platforms and non-default on
38978 others, the first terminal being registered determines which is
38979 going to be default.
38980
38981 * kern/term.c (grub_term_register_input): If this is the first
38982 terminal being registered, set it as the current one.
38983 (grub_term_register_output): Likewise.
38984
38985 * term/efi/console.c (grub_console_init): Do not call
38986 grub_term_set_current_output() or grub_term_set_current_input().
38987 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
38988 * term/i386/pc/console.c (grub_console_init): Likewise.
38989 (grub_console_fini): Do not call grub_term_set_current_input()
38990 (but leave grub_term_set_current_output() to restore text mode).
38991
6c529df7 389922008-11-10 Robert Millan <rmh@aybabtu.com>
38993
38994 * util/grub.d/00_header.in: Add backward compatibility check for
38995 versions of terminal.mod that don't understand `terminal_input' or
38996 `terminal_output'.
38997
132e4113 389982008-11-09 Robert Millan <rmh@aybabtu.com>
38999
39000 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
39001 `terminal_input' / `terminal_output', not `terminal'.
39002
ac293d50 390032008-11-08 Robert Millan <rmh@aybabtu.com>
39004
39005 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 39006 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 39007
0025933a 390082008-11-08 Robert Millan <rmh@aybabtu.com>
39009
39010 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 39011 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 39012 members. Update all users.
39013 * util/console.c (grub_ncurses_term): Split in ...
39014 (grub_ncurses_term_input): ... this, and ...
39015 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 39016 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 39017
37c86336 390182008-11-08 Robert Millan <rmh@aybabtu.com>
39019
39020 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
39021 (PKGDATA): Add $(pkgdata_SRCDIR).
39022 (pkglib_BUILDDIR): New variable.
39023 (pkgdata_SRCDIR): New variable.
39024 (build_env.mk): New target.
39025 (include_DATA): New variable.
39026 (install-local): Install $(include_DATA) files in $(includedir).
39027
b6c15a2d 390282008-11-07 Pavel Roskin <proski@gnu.org>
39029
d99d46f1 39030 * gendistlist.sh: Use C locale for sorting to ensure consistent
39031 output on all systems.
39032
b6c15a2d 39033 * util/grub.d/00_header.in: Remove incorrect space before
39034 "serial".
39035
c32ee8c9 390362008-11-07 Robert Millan <rmh@aybabtu.com>
39037
39038 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
39039 per specification.
39040 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
39041 * loader/multiboot_loader.c (find_multi_boot2_header): New function
39042 (based on find_multi_boot1_header).
39043 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
39044 using find_multi_boot2_header(), and abort if neither Multiboot or
39045 Multiboot headers were found.
39046
651c29b7 390472008-11-07 Robert Millan <rmh@aybabtu.com>
39048
39049 Modularize at_keyboard.mod:
39050
39051 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
39052 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
39053 (at_keyboard_mod_LDFLAGS): New variables.
39054
39055 Actual terminal split:
39056
39057 * include/grub/term.h (struct grub_term): Split in ...
39058 (struct grub_term_input): ... this, and ...
39059 (struct grub_term_output): ... this. Update all users.
39060 (grub_term_set_current): Split in ...
39061 (grub_term_set_current_input): ... this, and ...
39062 (grub_term_set_current_output): ... this.
39063 (grub_term_get_current): Split in ...
39064 (grub_term_get_current_input): ... this, and ...
39065 (grub_term_get_current_output): ... this.
39066 (grub_term_register): Split in ...
39067 (grub_term_register_input): ... this, and ...
39068 (grub_term_register_output): ... this.
39069 (grub_term_unregister): Split in ...
39070 (grub_term_unregister_input): ... this, and ...
39071 (grub_term_unregister_output): ... this.
39072 (grub_term_iterate): Split in ...
39073 (grub_term_iterate_input): ... this, and ...
39074 (grub_term_iterate_output): ... this.
39075
39076 * kern/term.c (grub_term_list): Split in ...
39077 (grub_term_list_input): ... this, and ...
39078 (grub_term_list_output): ... this. Update all users.
39079 (grub_cur_term): Split in ...
39080 (grub_cur_term_input): ... this, and ...
39081 (grub_cur_term_output): ... this. Update all users.
39082 (grub_term_set_current): Split in ...
39083 (grub_term_set_current_input): ... this, and ...
39084 (grub_term_set_current_output): ... this.
39085 (grub_term_get_current): Split in ...
39086 (grub_term_get_current_input): ... this, and ...
39087 (grub_term_get_current_output): ... this.
39088 (grub_term_register): Split in ...
39089 (grub_term_register_input): ... this, and ...
39090 (grub_term_register_output): ... this.
39091 (grub_term_unregister): Split in ...
39092 (grub_term_unregister_input): ... this, and ...
39093 (grub_term_unregister_output): ... this.
39094 (grub_term_iterate): Split in ...
39095 (grub_term_iterate_input): ... this, and ...
39096 (grub_term_iterate_output): ... this.
39097
39098 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
39099 a check for input and one for output (and only attempt to get keys
39100 from user when input works).
39101
39102 * util/grub-probe.c (grub_term_get_current): Split in ...
39103 (grub_term_get_current_input): ... this, and ...
39104 (grub_term_get_current_output): ... this.
39105 * util/grub-fstest.c: Likewise.
39106 * util/i386/pc/grub-setup.c: Likewise.
39107 * util/grub-editenv.c: Likewise.
39108
39109 Portability adjustments:
39110
39111 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
39112 `term/i386/pc/at_keyboard.c'.
39113 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
39114 grub_keyboard_controller_init() (now handled by terminal .init).
39115 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
39116 grub_at_keyboard_init().
39117 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
39118 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
39119 at_keyboard.mod via input terminal interface).
39120 * include/grub/i386/coreboot/console.h: Convert into a stub for
39121 `<grub/i386/pc/console.h>'.
39122
39123 Migrate full terminals to new API:
39124
39125 * term/efi/console.c (grub_console_term): Split into ...
39126 (grub_console_term_input): ... this, and ...
39127 (grub_console_term_output): ... this. Update all users.
39128 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
39129 (grub_ofconsole_init): Split into ...
39130 (grub_ofconsole_init_input): ... this, and ...
39131 (grub_ofconsole_init_output): ... this.
39132 (grub_ofconsole_term): Split into ...
39133 (grub_ofconsole_term_input): ... this, and ...
39134 (grub_ofconsole_term_output): ... this. Update all users.
39135 * term/i386/pc/serial.c (grub_serial_term): Split into ...
39136 (grub_serial_term_input): ... this, and ...
39137 (grub_serial_term_output): ... this. Update all users.
39138 * term/i386/pc/console.c (grub_console_term): Split into ...
39139 (grub_console_term_input): ... this, and ...
39140 (grub_console_term_output): ... this. Update all users.
39141 (grub_console_term_input): Only enable it on PC/BIOS platform.
39142 (grub_console_init): Remove grub_keyboard_controller_init() call.
39143
39144 Migrate input terminals to new API:
39145
39146 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
39147 `i386' and `i386/pc' to enable build on x86_64 (this driver is
39148 i386-specific anyway).
39149 (grub_console_checkkey): Rename to ...
39150 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
39151 users.
39152 (grub_keyboard_controller_orig): New variable.
39153 (grub_console_getkey): Rename to ...
39154 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
39155 users.
39156 (grub_keyboard_controller_init): Static-ize. Save original
39157 controller value so that it can be restored ...
39158 (grub_keyboard_controller_fini): ... here (new function).
39159 (grub_at_keyboard_term): New structure.
39160 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
39161 functions.
39162
39163 Migrate output terminals to new API:
39164
39165 * term/i386/pc/vga.c (grub_vga_term): Change type to
39166 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
39167 members. Update all users.
39168 * term/gfxterm.c (grub_video_term): Change type to
39169 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
39170 members. Update all users.
39171 * include/grub/i386/pc/console.h (grub_console_checkkey)
39172 (grub_console_getkey): Do not export (no longer needed by gfxterm,
39173 etc).
39174
39175 Migrate `terminal' command and userland tools to new API:
39176
39177 * commands/terminal.c (grub_cmd_terminal): Split into ...
39178 (grub_cmd_terminal_input): ... this, and ...
39179 (grub_cmd_terminal_output): ... this.
39180 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
39181 `terminal_input' and `terminal_output'.
39182 * util/grub.d/00_header.in: Adjust `terminal' calls to new
39183 `terminal_input' / `terminal_output' API.
39184 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
39185 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
39186 provided ${GRUB_TERMINAL}, convert it).
39187
96e5d876 391882008-11-04 Robert Millan <rmh@aybabtu.com>
39189
39190 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
39191 for FreeBSD.
39192 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
39193
556f3775 391942008-11-03 Bean <bean123ch@gmail.com>
39195
39196 * kern/elf.c (grub_elf32_load): Revert to previous code.
39197 (grub_elf64_load): Likewise.
39198
39199 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
39200
926b9823 392012008-11-01 Robert Millan <rmh@aybabtu.com>
39202
39203 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
39204 (TARGET_CPPFLAGS): Likewise.
39205 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
39206
1432e958 392072008-11-01 Carles Pina i Estany <carles@pina.cat>
39208
39209 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
39210
dba3f844 392112008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 39212
39213 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
39214 addition of objects until the code is not going to be able to fail.
39215
dba3f844 392162008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 39217
39218 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
39219 (add a missing NULL check, and correct them by moving the pointer
39220 operations after the actual check).
39221
7ab28c21 392222008-10-29 Robert Millan <rmh@aybabtu.com>
39223
39224 * util/i386/pc/grub-install.in: Handle empty string as output from
39225 make_system_path_relative_to_its_root().
39226
1b7748eb 392272008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
39228
39229 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
39230 circular metadata worst case scenario. If the metadata is circular
39231 then copy the wrap in place.
39232 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
39233 project lib/format_text/layout.h
39234 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
39235
c9618ab2 392362008-10-03 Felix Zielcke <fzielcke@z-51.de>
39237
7a36edca 39238 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 39239
bf981c62 392402008-10-03 Felix Zielcke <fzielcke@z-51.de>
39241
39242 * util/update-grub_lib.in: Mention filename in warning message.
39243
6d994591 392442008-09-29 Felix Zielcke <fzielcke@z-51.de>
39245
39246 * NEWS: Update for rename of update-grub to grub-mkconfig.
39247
18ade780 392482008-09-29 Felix Zielcke <fzielcke@z-51.de>
39249
39250 * util/update-grub_lib.in: Copy to ...
39251 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 39252 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 39253 * util/update-grub.in: Rename to ...
39254 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
39255 option. Add `--output' option to allow users to specify the generated
39256 configuration file. Default to stdout.
39257 (update_grub_dir): Rename to ...
39258 (grub_mkconfig_dir): ... this.
39259 (grub_cfg): Default to an empty string.
39260 * conf/common.rmk (update-grub): Rename to ...
39261 (grub-mkconfig): ... this.
39262 (update-grub_lib): Copy to ...
39263 (grub-mkconfig_lib): ... this.
39264 (update-grub_SCRIPTS): Copy to ...
39265 (grub-mkconfig_SCRIPTS): ... this. Update all users.
39266 (update-grub_DATA): Rename to ...
39267 (grub-mkconfig_DATA): ... this.
39268
556ce6ac 392692008-09-28 Robert Millan <rmh@aybabtu.com>
39270
39271 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
39272 to `modified'. Add the real `created' field.
39273 (grub_iso9660_uuid): Use `modified' rather than `created' for
39274 constructing the UUID.
39275
392762008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 39277
39278 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
39279 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
39280
92274e85 392812008-09-28 Bean <bean123ch@gmail.com>
39282
39283 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
39284 Thanks to Christian Franke for finding this bug.
39285
add6f17a 392862008-09-25 Robert Millan <rmh@aybabtu.com>
39287
39288 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
39289 instances of grub_util_get_disk_name() (see previous commit).
39290
d2a367b8 392912008-09-25 Robert Millan <rmh@aybabtu.com>
39292
39293 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
39294 `util/i386/get_disk_name.c'.
39295 * conf/i386-efi.rmk: Likewise.
39296 * conf/x86_64-efi.rmk: Likewise.
39297 * conf/i386-coreboot.rmk: Likewise.
39298 * conf/i386-ieee1275.rmk: Likewise.
39299 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
39300 `util/ieee1275/get_disk_name.c'.
39301 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
39302 * util/ieee1275/get_disk_name.c: Remove file.
39303 * util/i386/get_disk_name.c: Remove file.
39304 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
39305 "hd%d" for device.map entries, rather than using
39306 grub_util_get_disk_name().
39307
81a06771 393082008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 39309
39310 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
39311 warning.
39312 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
39313
5a004279 393142008-09-24 Carles Pina i Estany <carles@pina.cat>
39315
39316 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
39317 Changed to 0x5100.
39318 (GRUB_TERM_PPAGE): Changed to 0x4900.
39319
397093d3 393202008-09-24 Robert Millan <rmh@aybabtu.com>
39321
39322 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
39323 macros (they were i386-pc specific).
39324 * include/grub/sparc64/ieee1275/console.h: Likewise.
39325 * include/grub/efi/console.h: Likewise.
39326
a91b6c7c 393272008-09-22 Bean <bean123ch@gmail.com>
39328
39329 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
39330 resident and in attribute list.
39331
39332 * include/grub/ntfs.h (BMP_LEN): Removed.
39333
c40fd116 393342008-09-22 Bean <bean123ch@gmail.com>
39335
81a06771 39336 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 39337 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
39338
39339 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
39340 error occurs, as grub_disk_open will call grub_disk_close, which will
39341 call p->close (scsi).
39342
81a06771 393432008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 39344
39345 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
39346 (AC_PREREQ): Bumped to 2.59.
39347 (AC_TRY_COMPILE): Replace obsolete macro with ...
39348 (AC_COMPILE_IFELSE): ... this.
39349 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
39350 (AC_LINK_IFELSE): ... this.
39351
5dc43410 393522008-09-21 Felix Zielcke <fzielcke@z-51.de>
39353
39354 * autogen.sh: Add a call to `gendistlist.sh'.
39355
9035dce4 393562008-09-19 Christian Franke <franke@computer.org>
39357
39358 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
39359 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
39360 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
39361 Export __enable_execute_stack() to modules.
39362 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
39363 New function.
39364
7fd75377 393652008-09-09 Felix Zielcke <fzielcke@z-51.de>
39366
040030b3 39367 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
39368 Sort the list.
39369
393702008-09-09 Felix Zielcke <fzielcke@z-51.de>
39371
39372 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 39373 #include <grub/util/hostdisk.h>.
39374
89d5ffcf 393752008-09-08 Robert Millan <rmh@aybabtu.com>
39376
39377 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
39378 segments when their filesz is zero (grub_file_read() interprets
81a06771 39379 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 39380 Use `lowest_segment' rather than 0 for calculating the current
39381 segment load address.
39382
40da438f 393832008-09-08 Robert Millan <rmh@aybabtu.com>
39384
39385 * util/hostdisk.c (open_device): Replace a grub_util_info() call
39386 with grub_dprintf("hostdisk", ...), as it was so verbose that it
39387 clobbered useful information.
39388
ddbf5556 393892008-09-08 Robert Millan <rmh@aybabtu.com>
39390
39391 * include/grub/util/biosdisk.h: Move to ...
39392 * include/grub/util/hostdisk.h: ... here. Update all users.
39393 * util/biosdisk.c: Move to ...
39394 * util/hostdisk.c: ... here. Update all users.
39395
783d0f48 393962008-09-07 Robert Millan <rmh@aybabtu.com>
39397
39398 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
39399 variables.
39400 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
39401 and length can be stored directly in the `mbi->mmap_addr' and
39402 `mbi->mmap_length' struct fields.
39403
548e2ea5 394042008-09-07 Robert Millan <rmh@aybabtu.com>
39405
39406 * conf/i386.rmk: New file. Provides declaration for building
39407 `cpuid.mod'.
39408 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
39409 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
39410 variables.
39411 Include `conf/i386.mk'.
39412 * conf/i386-efi.rmk: Likewise.
39413 * conf/x86_64-efi.rmk: Likewise.
39414 * conf/i386-coreboot.rmk: Likewise.
39415 * conf/i386-ieee1275.rmk: Likewise.
39416
0ea85a37 394172008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
39418
39419 Based on patch created by Colin D Bennett <colin@gibibit.com>.
39420 Adds optimization support for BGR based modes.
39421
39422 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
39423 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
39424 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
39425 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
39426 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
39427 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
39428 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
39429 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
39430 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
39431 (grub_video_i386_vbeblit_index_index): Likewise.
39432 (grub_video_i386_vbeblit_replace_directN): Added.
39433 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
39434 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
39435 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
39436 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
39437 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
39438 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 39439 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 39440 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
39441 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
39442 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
39443 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
39444 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
39445 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
39446
39447 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
39448 (grub_video_i386_vbefill_R8G8B8): Likewise.
39449 (grub_video_i386_vbefill_index): Likewise.
39450 (grub_video_i386_vbefill_direct32): Added.
39451 (grub_video_i386_vbefill_direct24): Likewise.
39452 (grub_video_i386_vbefill_direct16): Likewise.
39453 (grub_video_i386_vbefill_direct8): Likewise.
39454
81a06771 39455 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 39456 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
39457 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
39458 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
39459 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
39460 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 39461
0ea85a37 39462 * video/video.c (grub_video_get_blit_format): Updated to use new
39463 blit formats. Added handling for 16 bit color modes.
81a06771 39464
39465 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 39466 fillers.
39467 (common_blitter): Updated to use new blitters.
39468
39469 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
39470 Removed.
39471 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
39472 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
39473 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
39474 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
39475 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
39476 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
39477 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
39478 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
39479 (grub_video_i386_vbeblit_index_index): Likewise.
39480 (grub_video_i386_vbeblit_replace_directN): Added.
39481 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
39482 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
39483 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
39484 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
39485 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
39486 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
39487 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
39488 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
39489 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
39490 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
39491 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
39492 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
39493 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 39494
0ea85a37 39495 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
39496 (grub_video_i386_vbefill_R8G8B8): Likewise.
39497 (grub_video_i386_vbefill_index): Likewise.
39498 (grub_video_i386_vbefill_direct32): Added.
39499 (grub_video_i386_vbefill_direct24): Likewise.
39500 (grub_video_i386_vbefill_direct16): Likewise.
39501 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 39502
0ea85a37 39503 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
39504 types.
81a06771 39505
0ea85a37 39506 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
39507 types.
81a06771 39508
0ea85a37 39509 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
39510 blitter types.
81a06771 39511
0ea85a37 39512 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
39513 types.
39514
e8a83df6 395152008-09-06 Felix Zielcke <fzielcke@z-51.de>
39516
39517 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
39518 RAID level 1.
39519
6bcd8ee5 395202008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 39521
6bcd8ee5 39522 * fs/iso9660.c (grub_iso9660_date): New structure.
39523 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
39524 (grub_iso9660_uuid): New function.
c375ae58 39525
59261157 395262008-09-05 Bean <bean123ch@gmail.com>
39527
39528 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
39529
39530 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
39531 insensitive bit for names in Win32 and Win32 & DOS namespace.
39532
39533 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
39534
39535 * include/grub/types.h (LONG_MAX): Likewise.
39536
58b6645a 395372008-09-04 Felix Zielcke <fzielcke@z-51.de>
39538
4ee55921 39539 * util/getroot.c: Include <config.h>.
39540 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
39541 add support for /dev/md/N devices and handle LVM double dash escaping.
39542
395432008-09-04 Felix Zielcke <fzielcke@z-51.de>
39544
39545 * config.guess: Update to latest version from config git.
39546 * config.sub: Likewise.
58b6645a 39547
9124f65d 395482008-09-03 Robert Millan <rmh@aybabtu.com>
39549
39550 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
39551 `disk->total_sectors'.
39552
81a06771 395532008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 39554
39555 * include/grub/normal.h: Fixed incorrect comment for
39556 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
39557
81a06771 395582008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 39559
39560 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
39561 values with defines.
39562
39563 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
39564 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
39565 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
39566 (GRUB_VBE_MODEATTR_COLOR): Likewise.
39567 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
39568 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
39569 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
39570 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
39571 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
39572 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
39573 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
39574 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
39575 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
39576 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
39577 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
39578 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
39579 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
39580 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
39581 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
39582
93d5cbf8 395832008-08-31 Robert Millan <rmh@aybabtu.com>
39584
39585 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
39586 declaration.
39587 (grub_multiboot): Fix a few warnings.
39588
21751d50 395892008-08-31 Robert Millan <rmh@aybabtu.com>
39590
39591 * loader/i386/pc/multiboot.c: Update comment not to say that
39592 boot_device support is unimplemented.
39593
e27a75c5 395942008-08-31 Robert Millan <rmh@aybabtu.com>
39595
39596 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
39597 or memory map support are unimplemented.
39598
81a06771 395992008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 39600
39601 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
39602
81a06771 396032008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 39604
39605 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
39606 total video memory in 'vbeinfo' output; show color format details for
39607 each video mode.
39608
7c5d8d95 396092008-08-30 Pavel Roskin <proski@gnu.org>
39610
39611 * util/genmoddep.c: Remove for real this time.
39612 * DISTLIST: Remove util/genmoddep.c.
39613
4cebd25a 396142008-08-30 Robert Millan <rmh@aybabtu.com>
39615
39616 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
39617 as required by Multiboot spec (it was already 4-byte aligned, but
39618 only by chance).
39619
b497a269 396202008-08-29 Pavel Roskin <proski@gnu.org>
39621
e3925185 39622 * kern/powerpc/ieee1275/crt0.S: Rename to ...
39623 * kern/powerpc/ieee1275/startup.S: ... this.
39624 * conf/powerpc-ieee1275.rmk: Adjust for the above.
39625 * DISTLIST: Likewise.
39626
b497a269 39627 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
39628 grub/cpu/kernel.h. Add start label for consistency with other
39629 platforms. Add grub_prefix immediately after start. Add jump
39630 to the code after grub_prefix.
39631 * include/grub/powerpc/kernel.h: Provide valid values for
39632 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
39633
6e5a42fe 396342008-08-29 Bean <bean123ch@gmail.com>
39635
39636 * configure.ac: Change host_os to cygwin for mingw.
39637 (asprintf): New check for function.
39638
39639 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
39640 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
39641
39642 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 39643 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 39644 sync, sleep and grub_util_get_disk_size for mingw.
39645
39646 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
39647 to get size in mingw.
39648 (open_device): Use flag O_BINARY if it's defined.
39649 (find_root_device): Add dummy code for mingw.
39650
39651 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
39652 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
39653 (get_scsi_disk_name): Return 0 for mingw.
39654
39655 * util/hostfs.c: #include <grub/util/misc.h>.
39656 (grub_hostfs_open): Use "rb" flag to open file, use
39657 grub_util_get_disk_size to get disk size for mingw.
39658
39659 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
39660 (asprintf): New function if HAVE_ASPRINTF is not set.
39661 (sync): New function for mingw.
39662 (sleep): Likewise.
39663 (grub_util_get_disk_size): Likewise.
39664
ab3f2673 396652008-08-28 Pavel Roskin <proski@gnu.org>
39666
39667 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39668 kern/time.c.
39669
1c282483 396702008-08-28 Robert Millan <rmh@aybabtu.com>
39671
39672 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
39673
678e849c 396742008-08-28 Robert Millan <rmh@aybabtu.com>
39675
39676 Change find_grub_drive() syntax so it doesn't prevent it from
39677 detecting NULL names as errors.
39678
39679 * util/biosdisk.c (find_grub_drive): Move free slot search code
39680 from here ...
39681 (find_free_slot): ... to here.
39682 (read_device_map): Use find_free_slot() to search for free slots.
39683
965c75ca 396842008-08-27 Marco Gerards <marco@gnu.org>
39685
39686 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
39687 (scsi_mod_SOURCES): New variable.
39688 (scsi_mod_CFLAGS): Likewise
39689 (scsi_mod_LDFLAGS): Likewise.
39690
39691 * disk/scsi.c: New file.
39692
39693 * include/grub/scsi.h: Likewise.
39694
39695 * include/grub/scsicmd.h: Likewise.
39696
39697 * disk/ata.c: Include <grub/scsi.h>.
39698 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
39699 instead.
39700 (grub_ata_iterate): Skip ATAPI devices.
39701 (grub_ata_open): Only handle ATAPI devices.
39702 (struct grub_atapi_read): Removed.
39703 (grub_atapi_readsector): Likewise.
39704 (grub_ata_read): No longer handle ATAPI devices.
39705 (grub_ata_write): Likewise.
39706 (grub_atapi_iterate): New function.
39707 (grub_atapi_read): Likewise.
39708 (grub_atapi_write): Likewise.
39709 (grub_atapi_open): Likewise.
39710 (grub_atapi_close): Likewise.
39711 (grub_atapi_dev): New variable.
39712 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
39713 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
39714
39715 * include/grub/disk.h (enum grub_disk_dev_id): Add
39716 `GRUB_DISK_DEVICE_SCSI_ID'.
39717
c07ae501 397182008-08-26 Robert Millan <rmh@aybabtu.com>
39719
39720 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
39721 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
39722 descriptive.
39723
5ed20adc 397242008-08-23 Bean <bean123ch@gmail.com>
39725
39726 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
39727 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
39728 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
39729 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
39730 dm_nv.mod.
39731 (raid5rec_mod_SOURCES): New macro.
39732 (raid5rec_mod_CFLAGS): Likewise.
39733 (raid5rec_mod_LDFLAGS): Likewise.
39734 (raid6rec_mod_SOURCES): Likewise.
39735 (raid6rec_mod_CFLAGS): Likewise.
39736 (raid6rec_mod_LDFLAGS): Likewise.
39737 (mdraid_mod_SOURCES): Likewise.
39738 (mdraid_mod_CFLAGS): Likewise.
39739 (mdraid_mod_LDFLAGS): Likewise.
39740 (dm_nv_mod_SOURCES): Likewise.
39741 (dm_nv_mod_CFLAGS): Likewise.
39742 (dm_nv_mod_LDFLAGS): Likewise.
39743
39744 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
39745 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
39746 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
39747
39748 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
39749 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
39750
39751 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39752
39753 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39754
39755 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39756
39757 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39758
39759 * disk/raid5_recover.c: New file.
39760
39761 * disk/raid6_recover.c: Likewise.
39762
39763 * disk/mdraid_linux.c: Likewise.
39764
39765 * disk/dmraid_nvidia.c: Likewise.
39766
39767 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
39768 ULONG_MAX.
39769
39770 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
39771 calculate the size of raid device.
39772 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
39773 different layout of raid5.
39774 (grub_raid_scan_device): Remove code specific to mdraid.
39775 (grub_raid_list): New variable.
39776 (free_array): New function.
39777 (grub_raid_register): Likewise.
39778 (grub_raid_unregister): Likewise.
39779 (grub_raid_rescan): Likewise.
39780 (GRUB_MOD_INIT): Don't iterate device here.
39781 (GRUB_MOD_FINI): Use free_array to release resource.
39782
39783 * include/grub/raid.h: Remove macro and structure specific to mdraid.
39784 (grub_raid5_recover_func_t): New function variable type.
39785 (grub_raid6_recover_func_t): Likewise.
39786 (grub_raid5_recover_func): New variable.
39787 (grub_raid6_recover_func): Likewise.
39788 (grub_raid_register): New function.
39789 (grub_raid_unregister): Likewise.
39790 (grub_raid_rescan): Likewise.
39791 (grub_raid_block_xor): Likewise.
39792
39793 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
39794 (CMD_CRC): New macro.
39795 (part): Removed.
39796 (read_file): Handle device as well as file.
39797 (cmd_crc): New function.
39798 (fstest): Handle multiple disks.
39799 (options): Remove part, raw and long, add root and diskcount.
39800 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 39801 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 39802 add handling for the new options, support multiple disks.
39803
39804 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
39805
29c18915 398062008-08-23 Bean <bean123ch@gmail.com>
39807
39808 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
39809
39810 * genfslist.sh: Ignore kernel.mod.
39811
39812 * genpartmaplist.sh: Likewise.
39813
8415f261 398142008-08-23 Robert Millan <rmh@aybabtu.com>
39815
39816 * util/getroot.c (find_root_device): Skip anything that starts with
39817 a dot, not just directories. This avoids things like /dev/.tmp.md0.
39818
d5a7dc5b 398192008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 39820
d5a7dc5b 39821 * util/update-grub.in (GRUB_GFXMODE): Export variable.
39822 * util/grub.d/00_header.in: Allow the administrator to change default
39823 gfxmode via ${GRUB_GFXMODE}.
39824
380cfbb4 398252008-08-21 Felix Zielcke <fzielcke@z-51.de>
39826
39827 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
39828
c9baafe7 398292008-08-21 Robert Millan <rmh@aybabtu.com>
39830
39831 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
39832 loader.
39833 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
39834 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
39835
e290bef2 398362008-08-20 Carles Pina i Estany <carles@pina.cat>
39837
39838 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
39839 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
39840
f9dbfc96 398412008-08-19 Robert Millan <rmh@aybabtu.com>
39842
39843 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
39844 (struct grub_virtual_screen): Remove `cursor_color'.
39845 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
39846 initialization.
39847 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
39848
dd6bd6ab 398492008-08-18 Robert Millan <rmh@aybabtu.com>
39850
39851 Unify (identical) linux_normal.c files.
39852 * loader/i386/efi/linux_normal.c: Move from here ...
39853 * loader/linux_normal.c: ... to here. Update all users.
39854 * loader/i386/pc/linux_normal.c: Delete. Update all users.
39855 * loader/i386/ieee1275/linux_normal.c: Likewise.
39856
7f42f83e 398572008-08-18 Robert Millan <rmh@aybabtu.com>
39858
39859 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
39860 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
39861 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
39862 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
39863 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
39864 New macros.
39865 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
39866 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
39867 (GRUB_LINUX_CL_END_OFFSET): ... to here.
39868 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
39869 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
39870 (GRUB_EFI_CL_END_OFFSET): Rename to ...
39871 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
39872 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
39873 Initialize `params->video_cursor_x' and `params->video_cursor_y'
39874 portably using grub_getxy().
39875 Replace `-EFI' with `-bzImage' in boot message.
39876
38487ddb 398772008-08-17 Robert Millan <rmh@aybabtu.com>
39878
39879 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
39880
deceb3ec 398812008-08-17 Robert Millan <rmh@aybabtu.com>
39882
39883 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
39884
39885 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
39886 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
39887 (grub_machine_mmap_iterate): New function declaration.
39888 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
39889 structure.
39890 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
39891 macros.
39892
39893 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
39894 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
39895 Move e820 parsing from here ...
39896 * kern/i386/pc/mmap.c: New file.
39897 (grub_machine_mmap_iterate): ... to here.
39898
39899 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
39900 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
39901 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
39902 (grub_available_iterate): Redeclare to return `void', and redeclare
39903 its hook to use grub_uint64_t as addr and size parameters, and rename
39904 to ...
39905 (grub_machine_mmap_iterate): ... this. Update all users.
39906
39907 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
39908 to make it more readable. Rename to ...
39909 (grub_machine_mmap_iterate): ... this.
39910
39911 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
39912 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
39913 (grub_multiboot): Allocate an extra region after the payload, and fill
39914 it with a Multiboot memory map. Adjust a.out loader to calculate size
39915 with the extra space.
39916 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
39917 with the extra space.
39918
f8aa0f43 399192008-08-17 Carles Pina i Estany <carles@pina.cat>
39920
9807deb9 39921 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 39922
605f5bb6 399232008-08-17 Felix Zielcke <fzielcke@z-51.de>
39924
39925 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
39926 mdate-sh to the list `find' searches for.
39927 * DISTLIST: Regenerated.
39928
210db6c6 399292008-08-16 Felix Zielcke <fzielcke@z-51.de>
39930
39931 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
39932 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 39933 genmoddep.awk, gensymlist.sh.in.
39934 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 39935 * DISTLIST: Regenerated.
48cdbfd4 39936 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 39937
1082b929 399382008-08-16 Robert Millan <rmh@aybabtu.com>
39939
39940 * disk/raid.c (grub_raid_init): Handle/report errors set by
39941 grub_device_iterate().
39942 * disk/lvm.c (grub_lvm_init): Likewise.
39943
42ce5170 399442008-08-15 Bean <bean123ch@gmail.com>
39945
39946 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39947 and datehook.mod.
39948 (datetime_mod_SOURCES): New macro.
39949 (datetime_mod_CFLAGS): Likewise.
39950 (datetime_mod_LDFLAGS): Likewise.
39951 (date_mod_SOURCES): Likewise.
39952 (date_mod_CFLAGS): Likewise.
39953 (date_mod_LDFLAGS): Likewise.
39954 (datehook_mod_SOURCES): Likewise.
39955 (datehook_mod_CFLAGS): Likewise.
39956 (datehook_mod_LDFLAGS): Likewise.
39957
39958 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39959 and datehook.mod.
39960 (datetime_mod_SOURCES): New macro.
39961 (datetime_mod_CFLAGS): Likewise.
39962 (datetime_mod_LDFLAGS): Likewise.
39963 (date_mod_SOURCES): Likewise.
39964 (date_mod_CFLAGS): Likewise.
39965 (date_mod_LDFLAGS): Likewise.
39966 (datehook_mod_SOURCES): Likewise.
39967 (datehook_mod_CFLAGS): Likewise.
39968 (datehook_mod_LDFLAGS): Likewise.
39969
39970 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39971 and datehook.mod.
39972 (datetime_mod_SOURCES): New macro.
39973 (datetime_mod_CFLAGS): Likewise.
39974 (datetime_mod_LDFLAGS): Likewise.
39975 (date_mod_SOURCES): Likewise.
39976 (date_mod_CFLAGS): Likewise.
39977 (date_mod_LDFLAGS): Likewise.
39978 (datehook_mod_SOURCES): Likewise.
39979 (datehook_mod_CFLAGS): Likewise.
39980 (datehook_mod_LDFLAGS): Likewise.
39981
39982 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39983 and datehook.mod.
39984 (datetime_mod_SOURCES): New macro.
39985 (datetime_mod_CFLAGS): Likewise.
39986 (datetime_mod_LDFLAGS): Likewise.
39987 (date_mod_SOURCES): Likewise.
39988 (date_mod_CFLAGS): Likewise.
39989 (date_mod_LDFLAGS): Likewise.
39990 (datehook_mod_SOURCES): Likewise.
39991 (datehook_mod_CFLAGS): Likewise.
39992 (datehook_mod_LDFLAGS): Likewise.
39993
39994 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39995 and datehook.mod.
39996 (datetime_mod_SOURCES): New macro.
39997 (datetime_mod_CFLAGS): Likewise.
39998 (datetime_mod_LDFLAGS): Likewise.
39999 (date_mod_SOURCES): Likewise.
40000 (date_mod_CFLAGS): Likewise.
40001 (date_mod_LDFLAGS): Likewise.
40002 (datehook_mod_SOURCES): Likewise.
40003 (datehook_mod_CFLAGS): Likewise.
40004 (datehook_mod_LDFLAGS): Likewise.
40005
40006 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
40007
40008 * commands/date.c: New file.
40009
40010 * hook/datehook.c: Likewise.
40011
40012 * include/grub/lib/datetime.h: Likewise.
40013
40014 * include/grub/i386/cmos.h: Likewise.
40015
40016 * lib/datetime.c: Likewise.
40017
40018 * lib/i386/datetime.c: Likewise.
40019
40020 * lib/efi/datetime.c: Likewise.
40021
0e9242da 400222008-08-14 Robert Millan <rmh@aybabtu.com>
40023
40024 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
40025 (grub_mkelfimage_SOURCES): New variable.
40026 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
40027
40028 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
40029 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
40030 * conf/powerpc-ieee1275.rmk: Likewise.
40031 * conf/i386-ieee1275.rmk: Likewise.
40032
40033 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
40034 * kern/i386/coreboot/init.c: Likewise.
40035
40036 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
40037 with `<grub/cpu/kernel.h>'.
40038 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
40039 to ...
40040 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
40041 * kern/i386/coreboot/startup.S: Likewise.
40042
40043 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
40044 (GRUB_MOD_GAP): Remove.
40045 * include/grub/powerpc/kernel.h: New file.
40046 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
40047 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40048 * include/grub/i386/kernel.h: New file.
40049 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
40050 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
40051 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40052
40053 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
40054 `grub-mkelfimage'.
40055 Use --directory when invoking grub_mkimage.
40056
40057 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
40058 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
40059 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
40060 and GRUB_KERNEL_CPU_PREFIX.
40061
b86408f8 400622008-08-14 Felix Zielcke <fzielcke@z-51.de>
40063
d5e619ca 40064 * include/grub/err.h (grub_err_printf): New function prototype.
40065 * util/misc.c (grub_err_printf): New function.
40066 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
40067 grub_printf.
40068 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 40069
7161f0e0 400702008-08-13 Robert Millan <rmh@aybabtu.com>
40071
40072 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
40073
a1967522 400742008-08-13 Robert Millan <rmh@aybabtu.com>
40075
40076 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
40077 boot entry.
40078
371458b5 400792008-08-12 Robert Millan <rmh@aybabtu.com>
40080
40081 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
40082 of the relocation code from here ...
40083 (grub_multiboot): ... to here.
40084 (forward_relocator, backward_relocator): Move from here ...
40085 * kern/i386/loader.S (grub_multiboot_forward_relocator)
40086 (grub_multiboot_backward_relocator): ... to here.
40087 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
40088 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
40089 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
40090 (grub_multiboot_forward_relocator_end)
40091 (grub_multiboot_backward_relocator)
40092 (grub_multiboot_backward_relocator_end): New variables.
40093
05f9452b 400942008-08-12 Bean <bean123ch@gmail.com>
40095
40096 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
40097
20024ab0 400982008-08-11 Robert Millan <rmh@aybabtu.com>
40099
40100 * kern/i386/linuxbios/startup.S: Move from here ...
40101 * kern/i386/coreboot/startup.S: ... to here.
40102
40103 * kern/i386/linuxbios/init.c: Move from here ...
40104 * kern/i386/coreboot/init.c: ... to here.
40105
40106 * kern/i386/linuxbios/table.c: Move from here ...
40107 * kern/i386/coreboot/mmap.c: ... to here.
40108
40109 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
40110
e352e9cd 401112008-08-11 Robert Millan <rmh@aybabtu.com>
40112
40113 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
40114 errors. Leave it to the upper layer to handle them.
40115
2d05bc6a 401162008-08-09 Christian Franke <franke@computer.org>
40117
40118 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
40119 * conf/common.rmk: Install `grub-pe2elf' only if requested.
40120 Install `grub.d/10_windows' only on Cygwin.
40121 * configure.ac: Add subst of `target_os'.
40122 Check `target_os' also before setting TARGET_OBJ2ELF.
40123 Add `--enable-grub-pe2elf'.
40124
042bd419 401252008-08-08 Robert Millan <rmh@aybabtu.com>
40126
40127 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
40128 (grub_last_time): Change type to grub_uint64_t.
40129 (grub_disk_open): Migrate code from to using grub_get_time_ms().
40130 (grub_disk_close): Likewise.
40131
40132 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
40133 (run_menu): Migrate code from to using grub_get_time_ms().
40134
40135 * util/misc.c (grub_get_time_ms): New function.
40136
7f280db5 401372008-08-08 Marco Gerards <marco@gnu.org>
40138
40139 * disk/ata.c (grub_ata_regget): Change return type to
40140 `grub_uint8_t'.
40141 (grub_ata_regget2): Likewise.
40142 (grub_ata_wait_status): New function.
40143 (grub_ata_wait_busy): Removed function, updated all users to use
40144 `grub_ata_wait_status'.
40145 (grub_ata_wait_drq): Likewise.
40146 (grub_ata_cmd): New function.
40147 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
40148 error handling.
40149 (grub_ata_pio_write): Add error handling.
40150 (grub_atapi_identify): Likewise.
40151 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
40152 handling.
40153 (grub_ata_identify): Use `grub_ata_cmd' and improve error
40154 handling. Actually use the detected registers. Reorder the
40155 detection logic such that it is easier to read.
40156 (grub_ata_pciinit): Do not assign the same ID to each controller.
40157 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
40158 handling.
40159 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
40160
40161 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
40162
1fbc5e66 401632008-08-08 Marco Gerards <marco@gnu.org>
40164
40165 * NEWS: Update.
40166
819ce6c0 401672008-08-07 Bean <bean123ch@gmail.com>
40168
40169 * include/grub/x86_64/pci.h: New file.
40170
5c41d44d 401712008-08-07 Christian Franke <franke@computer.org>
40172
40173 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
40174 (TIMER2_GATE): Likewise.
40175 (grub_pit_wait): Add enable/disable of the timer2 gate
40176 bit of port 0x61. This fixes a possible infinite loop.
40177
5ebc275d 401782008-08-07 Bean <bean123ch@gmail.com>
40179
40180 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
40181 kern/i386/tsc.c and kern/i386/pit.c.
40182
40183 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
40184 x86_64 platform.
40185
40186 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
40187 <grub/i386/tsc.h>.
40188
40189 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
40190
e383b3d0 401912008-08-07 Bean <bean123ch@gmail.com>
40192
40193 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
40194
40195 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
40196
40197 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
40198 multiple inclusion. Add #include <grub/types.h>.
40199
1cbb58ac 402002008-08-06 Christian Franke <franke@computer.org>
40201
40202 * conf/common.rmk: Build and install `10_windows'.
40203 * util/grub.d/10_windows.in: New script.
40204
337f5a1e 402052008-08-06 Pavel Roskin <proski@gnu.org>
40206
40207 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
40208
057bc4ac 402092008-08-06 Robert Millan <rmh@aybabtu.com>
40210
40211 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
40212 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
40213
2b99f123 402142008-08-06 Bean <bean123ch@gmail.com>
40215
40216 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
40217 (grub_pxefs_fs_int): Remove dummy definition.
40218 (grub_pxefs_open): Use data->block_size to store the current block
40219 size setting.
40220 (grub_pxefs_read): Use block size stored in data->block_size. As the
40221 value of grub_pxe_blksize can be changed after the file is opened.
40222
9f0234cb 402232008-08-06 Bean <bean123ch@gmail.com>
40224
40225 * fs/i386/pc/pxe.c (curr_file): new variable.
40226 (grub_pxefs_open): Simply the handling of pxe file system. Don't
40227 require the dummy internal file system anymore.
40228 (grub_pxefs_read): Removed.
40229 (grub_pxefs_close): Likewise.
40230 (grub_pxefs_fs_int): Likewise.
40231 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
40232 connection when we switch file.
40233 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
40234
a55d42e0 402352008-08-06 Robert Millan <rmh@aybabtu.com>
40236
40237 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
40238 `halt.mod'.
40239 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
40240 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
40241
40242 * kern/i386/halt.c: New file.
40243 * kern/i386/reboot.c: Likewise.
40244 * include/grub/i386/reboot.h: Likewise.
40245 * include/grub/i386/halt.h: Likewise.
40246
40247 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
40248 Include `<grub/cpu/halt.h>'.
40249 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
40250 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
40251
40252 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
40253 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
40254 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
40255 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
40256 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
40257 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
40258 from here ...
40259 * include/grub/i386/at_keyboard.h: ... to here.
40260
24371d26 402612008-08-05 Robert Millan <rmh@aybabtu.com>
40262
40263 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
40264 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
40265 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
40266 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
40267 `kern/generic/millisleep.c'.
40268
40269 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
40270 instead of grub_get_rtc().
40271 (grub_tsc_init): Initialize `tsc_boot_time'.
40272
40273 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
40274 (grub_machine_init): Use grub_tsc_init() rather than
40275 installing an RTC-based handler via grub_install_get_time_ms().
40276
40277 * kern/i386/pit.c: New file.
40278 * include/grub/i386/pit.h: Likewise.
40279
9e7007b3 402802008-08-05 Bean <bean123ch@gmail.com>
40281
40282 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
40283
40284 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
40285 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
40286 (pxe_mod_SOURCES): New macro.
40287 (pxe_mod_CFLAGS): Likewise.
40288 (pxe_mod_LDFLAGS): Likewise.
40289 (pxecmd_mod_SOURCES): Likewise.
40290 (pxecmd_mod_CFLAGS): Likewise.
40291 (pxecmd_mod_LDFLAGS): Likewise.
40292
40293 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
40294 (grub_pxe_call): Likewise.
40295
40296 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
40297
40298 * commands/i386/pc/pxecmd.c: New file.
40299
9f0234cb 40300 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 40301
40302 * include/grub/i386/pc/pxe.h: Likewise.
40303
6977d49f 403042008-08-05 Bean <bean123ch@gmail.com>
40305
40306 * util/console.c (grub_console_cur_color): New variable.
40307 (grub_console_standard_color): Likewise.
40308 (grub_console_normal_color): Likewise.
40309 (grub_console_highlight_color): Likewise.
40310 (color_map): Likewise.
40311 (use_color): Likewise.
40312 (NUM_COLORS): New macro.
40313 (grub_ncurses_setcolorstate): Handle color properly.
40314 (grub_ncurses_setcolor): Don't change color here, just remember the
40315 settings, color will be set in grub_ncurses_setcolorstate.
40316 (grub_ncurses_getcolor): New function.
40317 (grub_ncurses_init): Initialize color pairs.
40318 (grub_ncurses_term): New member grub_ncurses_getcolor.
40319
9c2ff3ee 403202008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 40321
9c2ff3ee 40322 High resolution timer support. Implemented for x86 CPUs using TSC.
40323 Extracted generic grub_millisleep() so it's linked in only as needed.
40324 This requires a Pentium compatible CPU; if the RDTSC instruction is
40325 not supported, then it falls back on the generic grub_get_time_ms()
40326 implementation that uses the machine's RTC.
40327
40328 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
40329 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
40330 `kern/generic/millisleep.c'.
40331
40332 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
40333 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
40334
40335 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
40336 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
40337
40338 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40339
40340 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40341 `kern/generic/millisleep.c'.
40342
40343 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40344
40345 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
40346
40347 * kern/generic/rtc_get_time_ms.c: New file.
40348
40349 * kern/generic/millisleep.c: New file.
337f5a1e 40350
9c2ff3ee 40351 * kern/misc.c: Don't include
40352 <kern/time.h> anymore.
40353 (grub_millisleep_generic): Removed.
40354
40355 * commands/sleep.c (grub_interruptible_millisleep): Uses
40356 grub_get_time_ms() instead of grub_get_rtc().
40357
40358 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
40359 function.
40360 (grub_cpu_is_cpuid_supported): New inline function.
40361 (grub_cpu_is_tsc_supported): New inline function.
40362 (grub_tsc_init): New function prototype.
40363 (grub_tsc_get_time_ms): New function prototype.
40364
40365 * kern/i386/tsc.c (grub_get_time_ms): New file.
40366
40367 * include/grub/time.h: Include <grub/types.h.
40368 (grub_millisleep_generic): Removed.
40369 (grub_get_time_ms): New prototype.
40370 (grub_install_get_time_ms): New prototype.
40371 (grub_rtc_get_time_ms): New prototype.
40372
40373 * kern/time.c (grub_get_time_ms): New function.
40374 (grub_install_get_time_ms): New function.
40375
40376 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
40377 <grub/time.h> anymore.
40378 (grub_millisleep): Removed.
40379 (grub_machine_init): Call grub_tsc_init.
40380
40381 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
40382 get_time_ms() implementation.
40383
40384 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
40385 (ieee1275_get_time_ms): New function.
40386 (grub_machine_init): Install get_time_ms() implementation.
40387
40388 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
40389 (grub_machine_init): Call grub_tsc_init().
40390 (grub_millisleep): Removed.
bf06a93f 40391
9c2ff3ee 40392 * kern/ieee1275/init.c (grub_millisleep): Removed.
40393 (grub_machine_init): Install ieee1275_get_time_ms()
40394 implementation.
40395 (ieee1275_get_time_ms): New function.
40396 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
40397 real work.
40398
9ec92aaf 403992008-08-05 Marco Gerards <marco@gnu.org>
40400
40401 * disk/ata.c: Include <grub/pci.h>.
40402 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
40403 (grub_ata_initialize): Rewritten.
40404 (grub_ata_device_initialize): New function.
40405
8d23f507 404062008-08-04 Pavel Roskin <proski@gnu.org>
40407
40408 * kern/main.c: Include grub/mm.h.
40409
5e15ee3d 404102008-08-04 Robert Millan <rmh@aybabtu.com>
40411
40412 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
40413 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
40414 corruption problem).
40415
a9053f8f 404162008-08-04 Robert Millan <rmh@aybabtu.com>
40417
40418 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
40419 warnings introduced in my last commit.
40420
dd19c7d7 404212008-08-03 Robert Millan <rmh@aybabtu.com>
40422
40423 Make PCI available on all i386 architectures.
40424
40425 * include/grub/i386/pc/pci.h: Move from here ...
40426 * include/grub/i386/pci.h: ... to here.
40427
40428 * include/grub/i386/pc/pci.h: Remove.
40429 * include/grub/i386/efi/pci.h: Remove.
40430 * include/grub/x86_64/efi/pci.h: Remove.
40431
40432 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
40433 `<grub/cpu/pci.h>'.
40434
40435 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
40436 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
40437 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
40438
40439 * conf/i386-ieee1275.rmk: Likewise.
40440
e14a6184 404412008-08-03 Robert Millan <rmh@aybabtu.com>
40442
40443 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
40444 (grub_console_setcursor): Make it possible to set cursor off.
40445
52768e37 404462008-08-03 Robert Millan <rmh@aybabtu.com>
40447
40448 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
40449 of modules instead of assuming which platform provides what.
40450 * util/update-grub.in: Likewise.
40451
2d52f57f 404522008-08-03 Robert Millan <rmh@aybabtu.com>
40453
40454 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
40455 instead of `grub_install_dos_part' to determine whether a drive needs
40456 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 40457 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 40458
2a5cd121 404592008-08-02 Robert Millan <rmh@aybabtu.com>
40460
40461 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
40462
93808428 404632008-08-02 Robert Millan <rmh@aybabtu.com>
40464
40465 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
40466 of informational grub_dprintf() calls.
40467
3bd0a12a 404682008-08-02 Robert Millan <rmh@aybabtu.com>
40469
40470 * disk/memdisk.c (memdisk_size): Don't initialize.
40471 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
40472
40473 * include/grub/i386/pc/kernel.h
40474 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
40475 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
40476 (grub_memdisk_image_size, grub_arch_memdisk_addr)
40477 (grub_arch_memdisk_size): Remove.
40478
40479 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
40480 field (was only used to transfer a constant). Add `type' field to
40481 support multiple module types.
40482 (grub_module_iterate): New function.
40483
40484 * kern/device.c (grub_device_open): Do not hide error messages
40485 when grub_disk_open() fails. Use grub_print_error() instead.
40486
40487 * kern/i386/pc/init.c (grub_arch_modules_addr)
40488 (grub_arch_memdisk_size): Remove functions.
40489 (grub_arch_modules_addr): Return the module address in high memory
40490 (now that it isn't copied anymore).
40491
40492 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
40493 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
40494 decompression routine (grub_total_module_size already includes that
40495 now). Don't copy modules back to low memory.
40496
40497 * kern/main.c: Include `<grub/mm.h>'.
40498 (grub_load_modules): Split out (and use) ...
40499 (grub_module_iterate): ... this function, which iterates through
40500 module objects and runs a hook.
40501 Comment out grub_mm_init_region() call, as it would cause non-ELF
40502 modules to be overwritten.
40503
40504 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
40505 the memdisk image in its own region, make it part of the module list.
40506 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
40507 (main): Parse --memdisk|-m option, and pass user-provided path as
40508 parameter to generate_image().
40509 (add_segments): Pass `memdisk_path' down to load_modules().
40510 (load_modules): Embed memdisk image in module section when requested.
40511 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
40512 `header.type' instead of `header.offset'.
40513
40514 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
40515 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
40516 (memdisk_mod_LDFLAGS): New variables.
40517 * conf/i386-coreboot.rmk: Likewise.
40518 * conf/i386-ieee1275.rmk: Likewise.
40519
a927cc73 405202008-08-02 Robert Millan <rmh@aybabtu.com>
40521
40522 * loader/i386/pc/multiboot.c (playground, forward_relocator)
40523 (backward_relocator): New variables. Used to allocate and relocate
40524 the payload, respectively.
40525 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 40526 address, install the appropriate relocator code in each bound of
a927cc73 40527 the payload, and set the entry point such that
40528 grub_multiboot_real_boot() will jump to one of them.
40529
40530 * kern/i386/loader.S (grub_multiboot_payload_size)
40531 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
40532 (grub_multiboot_payload_entry_offset): New variables.
40533 (grub_multiboot_real_boot): Set cpu context to what the relocator
40534 expects, and jump to the relocator instead of the payload.
40535
40536 * include/grub/i386/loader.h (grub_multiboot_payload_size)
40537 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
40538 (grub_multiboot_payload_entry_offset): Export.
40539
b15d8a0c 405402008-08-01 Bean <bean123ch@gmail.com>
40541
40542 * normal/menu_entry.c (editor_getline): Don't return the original
40543 string as result, as it will be released by lexer once it has done
40544 using it.
40545
cdfb3d22 405462008-08-01 Robert Millan <rmh@aybabtu.com>
40547
40548 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
40549 within menuentries, not before them.
40550 util/grub.d/10_hurd.in: Likewise.
40551
9175e93d 405522008-08-01 Bean <bean123ch@gmail.com>
40553
40554 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
40555 (bufio_mod_SOURCES): New macro.
40556 (bufio_mod_CFLAGS): Likewise.
40557 (bufio_mod_LDFLAGS): Likewise.
40558
40559 * include/grub/bufio.h: New file.
40560
40561 * io/bufio.c: Likewise.
40562
40563 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
40564 (grub_video_reader_png): Use grub_buffile_open to open file.
40565
40566 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
40567 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
40568
40569 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
40570 (grub_video_reader_tga): Use grub_buffile_open to open file.
40571
40572 * font/manager.c: Include <grub/bufio.h>.
40573 (add_font): Use grub_buffile_open to open file.
40574
3d8383e7 405752008-07-31 Robert Millan <rmh@aybabtu.com>
40576
40577 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
40578 ELF segments, use a macro for arbitrarily accessing any of them instead
40579 of preparing a pointer that allows access to one at a time.
40580 (grub_multiboot_load_elf64): Likewise.
40581
16e641b6 405822008-07-31 Bean <bean123ch@gmail.com>
40583
40584 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
40585 GRUB_KERNEL_MACHINE_DATA_END.
40586
59198b72 405872008-07-30 Robert Millan <rmh@aybabtu.com>
40588
40589 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
40590 Increase from 0x50 to 0x60.
40591 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
40592 use UUIDs to identify the root drive for them. If that's not
40593 possible, abort.
40594 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
40595 check, for cross-disk installs.
40596
ae88bca3 405972008-07-30 Robert Millan <rmh@aybabtu.com>
40598
40599 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
40600 is non-empty, use it to set the `prefix' environment variable instead
40601 of the usual approach.
40602 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
40603 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
40604 environment variable instead of dummy make_install_device().
40605
40606 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
40607 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 40608 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 40609
40610 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
40611 New variable reference.
40612 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
40613 New macro. Defines offset of `grub_prefix' within startup.S (relative
40614 to `start').
40615 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
40616 section within startup.S (relative to `start').
40617 * include/grub/i386/coreboot/kernel.h: Likewise.
40618
40619 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
40620 Overwrite grub_prefix with its contents, at the beginning of the
40621 first segment.
40622 (main): Understand -p|--prefix.
40623
14f41dd1 406242008-07-30 Robert Millan <rmh@aybabtu.com>
40625
40626 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
40627
4ca049a3 406282008-07-30 Robert Millan <rmh@aybabtu.com>
40629
40630 * term/i386/pc/vga_text.c (grub_console_cls): Use
40631 grub_console_gotoxy() to go back to beginning of the screen.
40632 Found by Patrick Georgi <patrick.georgi@coresystems.de>
40633
2921d337 406342008-07-29 Christian Franke <franke@computer.org>
40635
40636 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
40637 Add conversion of emulated mount points on Cygwin.
40638
b609876d 406392008-07-29 Christian Franke <franke@computer.org>
40640
40641 * util/update-grub.in: Add a check for admin
40642 group on Cygwin.
40643 Remove old `grub.cfg.new' before creation.
40644 Add `-f' to `mv' to handle the different filesystem
40645 semantics of Windows.
40646
e93e4679 406472008-07-29 Bean <bean123ch@gmail.com>
40648
40649 * normal/main.c (get_line): Fix buffer overflow bug.
40650
41694fd0 406512008-07-28 Robert Millan <rmh@aybabtu.com>
40652
40653 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
40654 (struct grub_apple_header): New struct. Describes the layout of
40655 the partmap header.
40656 (apple_partition_map_iterate): Check the header magic as well as the
40657 partition magic (which was already being checked).
40658
cfd0b4e6 406592008-07-28 Pavel Roskin <proski@gnu.org>
40660
40661 * genmk.rb: Add a warning to the beginning of the output that
40662 it's a generated file and should not be edited.
40663
93cce016 406642008-07-28 Robert Millan <rmh@aybabtu.com>
40665
40666 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
40667 with the same number are found, just use issue a warning with
40668 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 40669
cd1df915 406702008-07-27 Robert Millan <rmh@aybabtu.com>
40671
40672 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
40673 information.
40674
b70a8427 406752008-07-27 Bean <bean123ch@gmail.com>
40676
40677 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
40678 (grub_fat_find_dir): Ignore case when comparing filename.
40679
8f5e379f 406802008-07-27 Bean <bean123ch@gmail.com>
40681
40682 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
40683 smallino, as it's more descriptive, and i8count can be confused with
40684 the other field count.
40685 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
40686 inode type.
40687
a85cd5a0 406882008-07-27 Bean <bean123ch@gmail.com>
40689
40690 * commands/crc.c: New file.
40691
40692 * lib/crc.c: Likewise.
40693
40694 * include/grub/lib/crc.h: Likewise.
40695
40696 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
40697
40698 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
40699 (hexdump): Move this function to ...
40700
40701 * lib/hexdump.c: ... here.
40702
40703 * include/grub/hexdump.h: Renamed to ...
40704
40705 * include/grub/lib/hexdump.h: ... this.
40706
40707 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
40708
40709 * util/grub-editenv.c: Likewise.
40710
40711 * include/envblk.h: Renamed to ...
40712
40713 * include/lib/envblk.h: ... this.
40714
40715 * util/envblk.c: Renamed to ...
40716
40717 * lib/envblk.c: ... this.
40718
40719 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
40720 lib/hexdump.c.
40721 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
40722 (pkglib_MODULES): Add crc.mod.
40723 (hexdump_mod_SOURCES): Add lib/hexdump.c.
40724 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
40725 (crc_mod_SOURCES): New macro.
40726 (crc_mod_CFLAGS): Likewise.
40727 (crc_mod_LDFLAGS): Likewise.
40728
40729 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
40730
40731 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40732
40733 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40734
40735 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40736
40737 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40738
c298def0 407392008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 40740
40741 * commands/help.c: Include <grub/term.h>.
40742 (TERM_WIDTH): Removed. Updated all users.
40743
cc349fb3 407442008-07-27 Pavel Roskin <proski@gnu.org>
40745
40746 * util/getroot.c (find_root_device): Rephrase a comment to avoid
40747 spurious warnings about a comment within a comment.
40748
9051607e 407492008-07-25 Robert Millan <rmh@aybabtu.com>
40750
40751 * util/getroot.c (find_root_device): Skip devices that match
40752 /dev/dm-[0-9]. This lets the real device be found for any type of
40753 abstraction (LVM, EVMS, RAID..).
40754 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
40755 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
40756 device is found first, find_root_device() will now skip it.
40757
01453bfc 407582008-07-24 Pavel Roskin <proski@gnu.org>
40759
40760 * include/grub/types.h: Use __builtin_bswap32() and
40761 __builtin_bswap64() with gcc 4.3 and newer.
40762
6af9849f 407632008-07-24 Christian Franke <franke@computer.org>
40764
3a0fa256 40765 * util/i386/pc/grub-install.in: If `--debug' is specified,
40766 pass `--verbose' to grub-setup.
40767 Abort script if make_system_path_relative_to_its_root() fails.
40768
7810e747 407692008-07-24 Bean <bean123ch@gmail.com>
40770
40771 * configure.ac: Fixed a bug caused by the previous cygwin patch,
40772 variable `target_platform' should be `platform'.
40773
42290e17 407742008-07-24 Bean <bean123ch@gmail.com>
40775
51cc5193 40776 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 40777 (grub_png_init_fixed_block): New function.
40778 (grub_png_decode_image_data): Handle fixed huffman code compression.
40779
2a8a80e4 407802008-07-24 Bean <bean123ch@gmail.com>
40781
40782 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
40783 (grub_pe2elf_SOURCES): New macro.
40784 (CLEANFILES): Add grub-pe2elf.
40785
40786 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
40787 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
40788 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
40789 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
40790 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
40791 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
40792 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
40793 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
40794 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
40795 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
40796 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
40797 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
40798 (GRUB_PE32_DT_FUNCTION): Likewise.
40799 (GRUB_PE32_REL_I386_DIR32): Likewise.
40800 (GRUB_PE32_REL_I386_REL32): Likewise.
40801 (grub_pe32_symbol): New structure.
40802 (grub_pe32_reloc): Likewise.
40803
40804 * util/grub-pe2elf.c: New file.
40805
40806 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
40807 start symbol in non pc platform.
40808
40809 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
40810
40811 The following patches are from Christian Franke.
40812
40813 * include/grub/dl.h: Remove .previous, gas supports this only
40814 for ELF format.
40815
40816 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
40817 Remove .type, gas supports this only for ELF format.
40818
40819 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
40820 nullbytes in symbol table. This fixes an infinite loop if table is
40821 zero filled.
40822
40823 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
40824 TARGET_IMG_LDFLAGS and EXEEXT.
40825
40826 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
40827 TARGET_IMG_LDFLAGS_AC.
40828 (grub_CHECK_STACK_ARG_PROBE): New function.
40829
40830 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
40831
40832 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
40833
40834 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
40835 to set TARGET_IMG_LD* accordingly.
40836 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
40837 Add call to grub_CHECK_STACK_ARG_PROBE.
40838 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
40839
40840 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
40841
40842 * genmk.rb: Add EXEEXT to CLEANFILES.
40843
12ccdb75 408442008-07-23 Robert Millan <rmh@aybabtu.com>
40845
40846 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
40847 define the codes for arrows and lines used for the menu).
40848 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
40849 as well.
40850
40851 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
40852 fonts, because the latter are too slow.
40853
18eeaf04 408542008-07-21 Bean <bean123ch@gmail.com>
40855
40856 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
40857 a20. Run keyboard test last, as it will cause macbook to halt.
40858
b095e2ad 408592008-07-18 Pavel Roskin <proski@gnu.org>
40860
40861 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
40862 load foreign architecture modules correctly anyway. Keep
40863 support for loading host architecture modules, whether we
40864 compile them or not.
40865
737feb35 408662008-07-17 Pavel Roskin <proski@gnu.org>
40867
3f4ce737 40868 * configure.ac: Use -m32 or -m64 regardless of whether we had to
40869 change target_cpu. The compiler default can mismatch target_cpu
40870 in any case.
40871
4ad2d049 40872 * disk/efi/efidisk.c: Fix format warnings on x86_64.
40873 * kern/efi/efi.c: Likewise.
40874
f6130a12 40875 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
40876 target compiler is functional.
40877 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
40878 are set up.
40879
58393a2d 40880 * configure.ac: Default to efi platform for x86_64-apple. Allow
40881 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
40882 adjustments from the rest, only do them if target is not
40883 explicitly given. Merge other adjustments with the final sanity
40884 check. Remove an extraneous check for supported CPU. Be
40885 specific which CPU and which platform is not supported.
40886
737feb35 40887 * configure.ac: Default to pc platform for x86_64.
40888
546f966a 408892008-07-17 Robert Millan <rmh@aybabtu.com>
40890
40891 Partial LinuxBIOS -> Coreboot rename.
40892
40893 * conf/i386-linuxbios.rmk: Renamed to ...
40894 * conf/i386-coreboot.rmk: ... this.
40895 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
40896 * configure.ac: Accept "coreboot" as input platform (but maintain
40897 compatibility with "linuxbios").
40898 * include/grub/i386/linuxbios: Renamed to ...
40899 * include/grub/i386/coreboot: ... this.
40900
20011694 409012008-07-17 Bean <bean123ch@gmail.com>
40902
40903 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 40904 (appleldr_mod_SOURCE): New variable.
20011694 40905 (appleldr_mod_CFLAGS): Likewise.
40906 (appleldr_mod_LDFLAGS): Likewise.
40907 (pci_mod_SOURCES): Likewise.
40908 (pci_mod_CFLAGS): Likewise.
40909 (pci_mod_LDFLAGS): Likewise.
40910 (lspci_mod_SOURCES): Likewise.
40911 (lspci_mod_CFLAGS): Likewise.
40912 (lspci_mod_LDFLAGS): Likewise.
40913
40914 * conf/x86_64-efi.rmk: New file.
40915
40916 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
40917 macro.
40918 (grub_efidisk_write): Likewise.
40919
40920 * include/efi/api.h (efi_call_0): New macro.
40921 (efi_call_1): Likewise.
40922 (efi_call_2): Likewise.
40923 (efi_call_3): Likewise.
40924 (efi_call_4): Likewise.
40925 (efi_call_5): Likewise.
40926 (efi_call_6): Likewise.
40927
40928 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
40929 grub_rescue_cmd_chainloader.
40930
40931 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
40932 (grub_pe32_optional_header): Change some fields based on i386 or
40933 x86_64 platform.
40934 (GRUB_PE32_PE32_MAGIC): Likewise.
40935
40936 * include/grub/efi/uga_draw.h: New file.
40937
40938 * include/grub/elf.h (STN_ABS): New constant.
40939 (R_X86_64_NONE): Relocation constant for x86_64.
40940 (R_X86_64_64): Likewise.
40941 (R_X86_64_PC32): Likewise.
40942 (R_X86_64_GOT32): Likewise.
40943 (R_X86_64_PLT32): Likewise.
40944 (R_X86_64_COPY): Likewise.
40945 (R_X86_64_GLOB_DAT): Likewise.
40946 (R_X86_64_JUMP_SLOT): Likewise.
40947 (R_X86_64_RELATIVE): Likewise.
40948 (R_X86_64_GOTPCREL): Likewise.
40949 (R_X86_64_32): Likewise.
40950 (R_X86_64_32S): Likewise.
40951 (R_X86_64_16): Likewise.
40952 (R_X86_64_PC16): Likewise.
40953 (R_X86_64_8): Likewise.
40954 (R_X86_64_PC8): Likewise.
40955
40956 * include/grub/i386/efi/pci.h: New file.
40957
40958 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
40959 Change it value based on platform.
40960 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
40961 (GRUB_E820_RAM): Likewise.
40962 (GRUB_E820_RESERVED): Likewise.
40963 (GRUB_E820_ACPI): Likewise.
40964 (GRUB_E820_NVS): Likewise.
40965 (GRUB_E820_EXEC_CODE): Likewise.
40966 (GRUB_E820_MAX_ENTRY): Likewise.
40967 (grub_e820_mmap): New structure.
40968 (linux_kernel_header): Change the efi field according to different
40969 kernel version, also field from linux_kernel_header.
40970
40971 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
40972
40973 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
40974 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
40975 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
40976 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
40977 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
40978 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
40979 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
40980 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
40981 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
40982 (GRUB_PCI_ADDR_IO_MASK): Likewise.
40983
40984 * include/grub/x86_64/efi/kernel.h: New file.
40985
40986 * include/grub/x86_64/efi/loader.h: Likewise.
40987
40988 * include/grub/x86_64/efi/machine.h: Likewise.
40989
40990 * include/grub/x86_64/efi/pci.h: Likewise.
40991
40992 * include/grub/x86_64/efi/time.h: Likewise.
40993
40994 * include/grub/x86_64/linux.h: Likewise.
40995
40996 * include/grub/x86_64/setjmp.h: Likewise.
40997
40998 * include/grub/x86_64/time.h: Likewise.
40999
41000 * include/grub/x86_64/types.h: Likewise.
41001
41002 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
41003 GRUB_TARGET_SIZEOF_VOID_P.
41004
41005 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
41006 (grub_efi_locate_handle): Likewise.
41007 (grub_efi_open_protocol): Likewise.
41008 (grub_efi_set_text_mode): Likewise.
41009 (grub_efi_stall): Likewise.
41010 (grub_exit): Likewise.
41011 (grub_reboot): Likewise.
41012 (grub_halt): Likewise.
41013 (grub_efi_exit_boot_services): Likewise.
41014 (grub_get_rtc): Likewise.
41015
41016 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
41017 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
41018 (grub_efi_allocate_pages): Wrap efi calls.
41019 (grub_efi_free_pages): Wrap efi calls.
41020 (grub_efi_get_memory_map): Wrap efi calls.
41021
41022 * kern/x86_64/dl.c: New file.
41023
41024 * kern/x86_64/efi/callwrap.S: Likewise.
41025
41026 * kern/x86_64/efi/startup.S: Likewise.
41027
41028 * loader/efi/appleloader.c: Likewise.
41029
41030 * loader/efi/chainloader.c (cmdline): New variable.
41031 (grub_chainloader_unload): Wrap efi calls.
41032 (grub_chainloader_boot): Likewise.
41033 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
41034 command line.
41035
41036 * loader/efi/chainloader_normal.c (chainloader_command):
41037 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
41038 command line.
41039
41040 * loader/i386/efi/linux.c (allocate_pages): Change allocation
41041 method.
41042 (grub_e820_add_region): New function.
41043 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
41044 booting.
41045 (grub_find_video_card): New function.
41046 (grub_linux_setup_video): New function.
41047 (grub_rescue_cmd_linux): Probe for video information.
41048
41049 * normal/x86_64/setjmp.S: New file.
41050
41051 * term/efi/console.c (map_char): New function.
41052 (grub_console_putchar): Map unicode char.
41053 (grub_console_checkkey): Wrap efi calls.
41054 (grub_console_getkey): Likewise.
41055 (grub_console_getwh): Likewise.
41056 (grub_console_gotoxy): Likewise.
41057 (grub_console_cls): Likewise.
41058 (grub_console_setcolorstate): Likewise.
41059 (grub_console_setcursor): Likewise.
41060
41061 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
41062
59652a20 410632008-07-16 Pavel Roskin <proski@gnu.org>
41064
ef294055 41065 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
41066 format strings.
41067
59652a20 41068 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
41069 pointer, not an integer. This fixes a warning and prevents
41070 precision loss on 64-bit systems.
41071 (relocate_addresses): Remove unneeded cast.
41072
afc3b5d7 410732008-07-15 Pavel Roskin <proski@gnu.org>
41074
506b2b3e 41075 * kern/i386/ieee1275/init.c: Include grub/cache.h.
41076
62ead89c 41077 * term/ieee1275/ofconsole.c: Disable code unused on i386.
41078
c4cd51d7 41079 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
41080 Fix comparison between signed and unsigned.
41081
0d3d8f28 41082 * include/grub/i386/ieee1275/console.h: Declare
41083 grub_console_init() and grub_console_fini().
41084
8804b286 41085 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
41086 It's empty and unused.
41087
ee01cf35 41088 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
41089 beginning to avoid warnings with some compilers.
41090
afc3b5d7 41091 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
41092 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
41093
e4e8eaa5 410942008-07-14 Pavel Roskin <proski@gnu.org>
41095
407aceb4 41096 * kern/env.c (grub_register_variable_hook): Don't copy empty
41097 string, it leaks memory. Pass "" to grub_env_set(), it should
41098 handle constant strings.
41099
e4e8eaa5 41100 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
41101 * commands/cmp.c (grub_cmd_cmp): Likewise.
41102 * kern/dl.c (grub_dl_flush_cache): Likewise.
41103 (grub_dl_load_core): Likewise.
41104 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
41105 (grub_elf64_load_phdrs): Likewise.
41106
d4e2dad3 411072008-07-13 Pavel Roskin <proski@gnu.org>
41108
41109 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
41110 between signed and unsigned.
41111 (LzmaEnc_Finish): Fix warning about an unused parameter.
41112
aa24b516 411132008-07-13 Bean <bean123ch@gmail.com>
41114
41115 * Makefile.in (enable_lzo): New rule.
41116
41117 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
41118
41119 * configure.ac (ENABLE_LZO): New option --enable-lzo.
41120
41121 * boot/i386/pc/lnxboot.S: #include <config.h>.
41122
41123 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 41124 its value according to the compression algorithm used, lzo or lzma.
aa24b516 41125
41126 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
41127 compression algorithm according to configure macro.
41128
41129 * kern/i386/pc/startup.S (codestart): Likewise.
41130
41131 * kern/i386/pc/lzma_decode.S: New file.
41132
41133 * include/grub/lib/LzFind.h: Likewise.
41134
41135 * include/grub/lib/LzHash.h: Likewise.
41136
41137 * include/grub/lib/LzmaDec.h: Likewise.
41138
41139 * include/grub/lib/LzmaEnc.h: Likewise.
41140
41141 * include/grub/lib/LzmaTypes.h: Likewise.
41142
41143 * lib/LzFind.c: Likewise.
41144
41145 * lib/LzmaDec.c: Likewise.
41146
41147 * lib/LzmaEnc.c: Likewise.
41148
4ae821ac 411492008-07-13 Bean <bean123ch@gmail.com>
41150
41151 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
41152 (grub_ext4_extent_header): New structure.
41153 (grub_ext4_extent): Likewise.
41154 (grub_ext4_extent_idx): Likewise.
41155 (grub_ext4_find_leaf): New function.
41156 (grub_ext2_read_block): Handle extents.
41157
9a745147 411582008-07-12 Robert Millan <rmh@aybabtu.com>
41159
41160 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
41161
d49a4cf6 411622008-07-11 Robert Millan <rmh@aybabtu.com>
41163
41164 * util/grub.d/40_custom.in: New file. Example on how to add custom
41165 entries to /etc/grub.d.
41166 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
41167 40_custom (implicitly, by merging all the grub.d rules).
41168
947414b4 411692008-07-11 Pavel Roskin <proski@gnu.org>
41170
0059cf6f 41171 * commands/read.c (grub_getline): Fix invalid memory access.
41172 Don't add newline to the variable value.
41173
947414b4 41174 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
41175 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
41176 (serial_hw_get_port): Check validity of the port number.
41177 (grub_cmd_serial): Check return value of serial_hw_get_port().
41178
62a02d00 411792008-07-07 Pavel Roskin <proski@gnu.org>
41180
41181 * boot/i386/pc/diskboot.S (notification_string): Replace
41182 "Loading kernel" with just "loading". This is shorter, less
41183 confusing and saves a few bytes for possible future changes.
41184
3e5581b0 411852008-07-05 Pavel Roskin <proski@gnu.org>
41186
ea387a48 41187 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
41188 size for ATAPI devices, they are undefined. Output sector
41189 number in decimal form.
41190
3e5581b0 41191 * disk/ata.c: Use named constants for status bits.
41192
fdecb8fd 411932008-07-04 Pavel Roskin <proski@gnu.org>
41194
bcd35b90 41195 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
41196 grub_addr_t before casting it to the void pointer to fix a
41197 warning. Non-addressable regions are discarded earlier.
41198 (grub_arch_modules_addr): Cast _end to grub_addr_t.
41199 * kern/i386/linuxbios/table.c: Include grub/misc.h.
41200 (check_signature): Don't shadow table_header.
41201 (grub_linuxbios_table_iterate): Cast numeric constants to
41202 grub_linuxbios_table_header_t.
41203 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
41204 grub_stop().
41205
af58ab3d 41206 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
41207 prevent warnings.
41208
1759aa57 41209 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
41210 pointer, which can cause warnings. Support 64-bit addresses.
41211
fdecb8fd 41212 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
41213 of sizeof(long). This fixes PowerPC image generation on x86_64.
41214
8516d2a8 412152008-07-04 Robert Millan <rmh@aybabtu.com>
41216
41217 This fixes a performance issue when pc & gpt partmap iterators
41218 didn't abort iteration even after our hook found what it was
fe987087 41219 looking for (often causing expensive probes of non-existent drives).
8516d2a8 41220
41221 Some callers relied on previous buggy behaviour, since they would
34c44600 41222 raise an error when their own hooks caused early abortion of its
8516d2a8 41223 iteration.
41224
41225 * kern/device.c (grub_device_open): Improve error message.
41226 * disk/lvm.c (grub_lvm_open): Likewise.
41227 * disk/raid.c (grub_raid_open): Likewise.
41228
41229 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
41230 when hook requests it, independently of grub_errno.
41231 (pc_partition_map_probe): Do not fail when find_func() caused
41232 early abortion of pc_partition_map_iterate().
41233
41234 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
41235 when hook requests it, independently of grub_errno.
41236 (gpt_partition_map_probe): Do not fail when find_func() caused
41237 early abortion of gpt_partition_map_iterate().
41238
41239 * kern/partition.c (grub_partition_iterate): Abort parent iteration
41240 when hook requests it, independently of grub_errno. Do not fail when
41241 part_map_iterate_hook() caused early abortion of p->iterate().
41242
41243 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
41244 when grub_partition_iterate() returned with non-zero.
41245
277d0de9 412462008-07-03 Pavel Roskin <proski@gnu.org>
41247
41248 * disk/ata.c (grub_ata_pio_write): Check status before writing,
41249 like we do in grub_ata_pio_read().
41250 (grub_ata_readwrite): Always write individual sectors. Fix the
41251 sector count for the remainder.
41252 (grub_ata_write): Enable writing to ATA devices. Correctly
41253 report error for ATAPI devices.
41254
d4c9b428 412552008-07-02 Pavel Roskin <proski@gnu.org>
41256
e43fc690 41257 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
41258 warning.
41259
f707af42 41260 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
41261 for every read sector, we already increment it for the whole
41262 batch. This fixes reading more than 256 sectors at once.
41263
11e16b15 41264 * util/grub-editenv.c (cmd_info): Cast argument to long
41265 explicitly. ptrdiff_t reduces to int on i386.
41266
cbabfdd4 41267 * util/grub-editenv.c (main): Be specific which parameter is
41268 missing.
41269
b8fbce0a 41270 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
41271 (memdisk): Make memdisk_orig_addr a pointer.
41272
c9c8e606 41273 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
41274 for file offsets, use grub_off_t instead. Fix printf format
41275 warnings.
41276
ca62e598 41277 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
41278 there. Real unexpected warnings should not drown in the noise
41279 about known problems.
41280
ce8d1766 41281 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
41282 grub_disk_addr_t for memory addresses.
41283
00c7a56a 41284 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
41285 explicitly to fix a warning.
41286
08d3ef09 41287 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
41288
cb71ba20 41289 * Makefile.in (MODULE_LDFLAGS): New variable.
41290 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
41291 the linker accepts --build-id=none.
41292 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
41293 MODULE_LDFLAGS.
41294 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
41295
d4c9b428 41296 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
41297 those in Linux XFS code. Provide a way to access 64-bit parent
41298 inode.
41299 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
41300 the end of struct grub_xfs_dir_header.
41301
d4156eee 413022008-07-02 Bean <bean123ch@gmail.com>
41303
41304 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
41305 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
41306 and GRUB_IEEE1275_FLAG_NO_ANSI.
41307
41308 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
41309 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
41310 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
41311
41312 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
41313 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
41314
41315 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
41316 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
41317
41318 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
41319 esc sequence on non ANSI terminal.
41320 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
41321
41322 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
41323 beginning of file.
41324
2270f77b 413252008-07-02 Bean <bean123ch@gmail.com>
41326
41327 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
41328 (grub_editenv_SOURCES): New variable.
41329 (pkglib_MODULES): Add loadenv.mod.
41330 (loadenv_mod_SOURCES): New variable.
41331 (loadenv_mod_CFLAGS): Likewise.
41332 (loadenv_mod_LDFLAGS): Likewise.
41333
41334 * include/grub/envblk.h: New file.
41335
41336 * util/envblk.c: New file.
41337
41338 * util/grub-editenv.c: New file.
41339
41340 * commands/loadenv.c: New file.
41341
0e9e51ec 413422008-07-01 Pavel Roskin <proski@gnu.org>
41343
d89b7634 41344 * include/multiboot2.h (struct multiboot_tag_module): Use char,
41345 not unsigned char. This fixes warnings and is consistent with
41346 other tags.
41347
bf1835b1 41348 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
41349
8222a04b 41350 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
41351
6a42d99d 41352 * term/tparm.c (analyze): Always set *popcount.
41353
10b159d1 41354 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
41355 cast to fix a warning.
41356
b8789f6c 41357 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
41358 cast to suppress a warning.
41359
29d7e38a 41360 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
41361 grub_fshelp_read_file() expects.
41362
f341f669 41363 * fs/fat.c: Fix UUID calculation on big-endian systems. We
41364 write uuid as a 32-bit value in CPU byte order, so declare and
41365 use it as such.
41366
0e9e51ec 41367 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
41368 long if the format specifier expects it.
41369 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
41370 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41371 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
41372 long to fix a warning.
41373 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
41374 grub_dprintf() arguments to fix warnings.
41375
3aefa857 413762008-06-30 Pavel Roskin <proski@gnu.org>
41377
56c7668b 41378 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
41379 install_bsd_part immediately before core.img is embedded or
41380 modified on disk. This fixes core.img verification if core.img
41381 cannot be embedded.
41382
3aefa857 41383 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
41384 core_path to calculate the blocklist.
41385 Patch from Javier Martín <lordhabbit@gmail.com>
41386
5444088d 413872008-06-29 Robert Millan <rmh@aybabtu.com>
41388
41389 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
41390 block to disk block.
41391 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
41392 Patch from Niels Böhm <bitbucket@arcor.de>
41393
674835c8 413942008-06-29 Robert Millan <rmh@aybabtu.com>
41395
41396 * util/update-grub_lib.in (font_path): Search for fonts in
41397 /boot/grub first, which is more likely to be readable (we aren't
41398 deciding where fonts live, just looking for them).
41399
f527dbc8 414002008-06-26 Pavel Roskin <proski@gnu.org>
41401
6c2d8df6 41402 * util/biosdisk.c (read_device_map): Don't leave dead map
41403 entries for devices failing stat() check.
41404
f527dbc8 41405 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
41406 core_path_dev for the core.img path on the target device.
41407
aebe3d13 414082008-06-26 Robert Millan <rmh@aybabtu.com>
41409
41410 * disk/fs_uuid.c: New file.
41411 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
41412 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
41413 (fs_uuid_mod_LDFLAGS): New variables.
41414 * include/grub/disk.h (grub_disk_dev_id): Add
41415 `GRUB_DISK_DEVICE_UUID_ID'.
41416 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
41417 implement iterate().
41418
37aaf354 414192008-06-26 Robert Millan <rmh@aybabtu.com>
41420
41421 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
41422 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
41423 Linux image includes no initrd.
41424
25ff262a 414252008-06-21 Javier Martín <lordhabbit@gmail.com>
41426
41427 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
41428 call to resolve the core image location that effectively appended the
41429 name twice.
41430
76a2bd44 414312008-06-21 Robert Millan <rmh@aybabtu.com>
41432
41433 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
41434 call from here ...
41435
41436 * util/grub.d/10_hurd.in: ... to here ...
41437 * util/grub.d/10_linux.in: ... and here.
41438
650e1c79 414392008-06-19 Robert Millan <rmh@aybabtu.com>
41440
fe987087 41441 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 41442 after it has been set by grub_machine_set_prefix().
41443
6ce63911 414442008-06-19 Robert Millan <rmh@aybabtu.com>
41445
41446 * commands/search.c (search_label, search_fs_uuid, search_file): Print
41447 search result when not saving to variable, not the other way around.
41448 When saving to variable, abort iteration as soon as a match is found.
41449
73940cec 414502008-06-19 Robert Millan <rmh@aybabtu.com>
41451
41452 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
41453 check for partition that provides /boot/grub. Its logic is flawed,
41454 as it prevents prepare_grub_to_access_device() from being called
41455 multiple times.
41456
3c62a39d 414572008-06-19 Robert Millan <rmh@aybabtu.com>
41458
41459 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
41460 "insmod" command directly when abstraction modules are needed,
fe987087 41461 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 41462 since it had already been processed).
41463
47395a42 414642008-06-19 Pavel Roskin <proski@gnu.org>
41465
41466 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
41467 changed. This is needed in case GRUB_LIBDIR changes.
41468 * conf/i386-ieee1275.rmk: Likewise.
41469 * conf/i386-linuxbios.rmk: Likewise.
41470 * conf/i386-pc.rmk: Likewise.
41471 * conf/powerpc-ieee1275.rmk: Likewise.
41472
a145ac2d 414732008-06-18 Pavel Roskin <proski@gnu.org>
41474
41475 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
41476 kernel_elf_symlist.c to symlist.c for consistency with other
41477 architectures. Update all users.
41478 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41479
7847c51e 414802008-06-18 Robert Millan <rmh@aybabtu.com>
41481
41482 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
41483 it in prefix.
41484
41485 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
41486 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
41487 a RAID device, run setup() for all members independently on whether
41488 LVM abstraction is being used.
41489 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
41490 If grub-mkimage has set `*install_dos_part == -2', don't override this
41491 value.
41492 Perform *install_dos_part adjustments independently on whether
41493 we're embedding or not.
41494 Clarify error message when image is too big for embedding.
41495 Remove duplicate *install_dos_part stanza.
41496
b23e5644 414972008-06-17 Robert Millan <rmh@aybabtu.com>
41498
41499 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
41500 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
41501 variables.
41502 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
41503 values in grub_ofconsole_normal_color and
41504 grub_ofconsole_highlight_color (they're not directly related to
41505 background and foreground).
41506 (grub_ofconsole_setcolorstate): Extract background and foreground
41507 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
41508
0aac2f79 415092008-06-17 Robert Millan <rmh@aybabtu.com>
41510
41511 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
41512 /boot/grub for the check in last commit, not /boot (they could be
41513 different partitions).
41514
3cca7ef3 415152008-06-16 Robert Millan <rmh@aybabtu.com>
41516
41517 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
41518 asked to setup access for the same partition that provides /boot,
41519 don't bother using UUIDs since our root already has the value we
41520 want.
41521
347396d8 415222008-06-16 Robert Millan <rmh@aybabtu.com>
41523
41524 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
41525 I2O devices.
41526 Patch from Sven Mueller <sven@debian.org>.
41527
991477f8 415282008-06-16 Robert Millan <rmh@aybabtu.com>
41529
41530 * util/update-grub.in: Check for $EUID instead of $UID.
41531 Reported by Vincent Zweije.
41532
d31a32a1 415332008-06-16 Bean <bean123ch@gmail.com>
41534
fe987087 41535 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 41536 (grub_ext2_read_block): Likewise.
41537 (grub_ext2_read_inode): Likewise.
41538 (grub_ext2_mount): Likewise.
41539 (grub_ext2_close): Likewise.
41540 (grub_ext3_get_journal): Removed.
41541
fe987087 41542 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 41543 (grub_reiserfs_read_symlink): Likewise.
41544 (grub_reiserfs_mount): Likewise.
41545 (grub_reiserfs_open): Likewise.
41546 (grub_reiserfs_read): Likewise.
41547 (grub_reiserfs_close): Likewise.
41548 (grub_reiserfs_get_journal): Removed.
41549
41550 * fs/fshelp.c (grub_fshelp_read): Removed.
41551 (grub_fshelp_map_block): Likewise.
41552
41553 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
41554 (grub_fshelp_journal): Likewise.
41555 (grub_fshelp_read): Likewise.
41556 (grub_fshelp_map_block): Likewise.
41557
3540a760 415582008-06-16 Pavel Roskin <proski@gnu.org>
41559
41560 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
41561 floating point anymore.
41562 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
41563
95614c84 415642008-06-15 Pavel Roskin <proski@gnu.org>
41565
41566 * commands/ls.c (grub_ls_list_files): Use integer calculations
41567 for human readable format, avoid floating point use.
41568 * kern/misc.c (grub_ftoa): Remove.
41569 (grub_vsprintf): Remove floating point support.
41570
50465dd6 415712008-06-15 Robert Millan <rmh@aybabtu.com>
41572
fe6b695a 41573 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 41574 devices.
41575 Reported by Max Vozeler.
41576
a9207284 415772008-06-15 Robert Millan <rmh@aybabtu.com>
41578
41579 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
41580 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
41581 skipped later.
41582 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
41583 the beginning of the prefix.
41584
41585 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
41586 It is assumed that if we have a memdisk, grub-mkimage has set
41587 grub_prefix to include the "(memdisk)" drive in it.
41588
a7cbd45a 415892008-06-15 Robert Millan <rmh@aybabtu.com>
41590
41591 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
41592 Initialize keyboard controller after registering the terminal, so that
41593 grub_printf() can be called from grub_keyboard_controller_init().
41594
21cf716a 415952008-06-15 Robert Millan <rmh@aybabtu.com>
41596
41597 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
41598 extent-btree which is written as big endian on disk.
41599 Reported by Alain Greppin <al@chilibi.org>.
41600
23a64d8e 416012008-06-14 Robert Millan <rmh@aybabtu.com>
41602
41603 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
41604 * util/i386/pc/grub-install.in (modules): Likewise.
41605
d687651c 416062008-06-13 Pavel Roskin <proski@gnu.org>
41607
41608 * commands/ls.c (grub_ls_list_files): Fix format warnings.
41609
dfe9ddd4 416102008-06-13 Bean <bean123ch@gmail.com>
41611
41612 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
41613
41614 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
41615
41616 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
41617 to indicate sparse block.
41618
16ae7781 416192008-06-12 Pavel Roskin <proski@gnu.org>
41620
e6d1a308 41621 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
41622 number, grub_fshelp_read() does it for us.
41623
16ae7781 41624 * fs/fshelp.c (grub_fshelp_read): New function. Implement
41625 linear disk read with journal translation.
41626 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
41627 * include/grub/fshelp.h: Declare grub_fshelp_read().
41628
40fd3a2b 416292008-06-09 Pavel Roskin <proski@gnu.org>
41630
41631 * fs/minix.c (grub_minix_mount): Handle error reading
41632 superblock.
41633
f5679726 416342008-06-08 Robert Millan <rmh@aybabtu.com>
41635
41636 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
41637 don't append the RAID prefix afterwards.
41638 Reported by Clint Adams.
41639
ce525529 416402008-06-08 Robert Millan <rmh@aybabtu.com>
41641
41642 Based on description from Pavel:
41643 * kern/disk.c (grub_disk_check_range): Rename to ...
41644 (grub_disk_adjust_range): ... this. Add a comment explaining the
41645 tasks performed by this function.
41646
ad4936a0 416472008-06-08 Robert Millan <rmh@aybabtu.com>
41648
41649 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
41650 `num_serial' (for consistency with other variables).
41651 (struct grub_ntfs_data): Add `uuid' member.
41652 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
41653 (grub_ntfs_uuid): New function.
41654 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
41655
dc20b0f9 416562008-06-07 Pavel Roskin <proski@gnu.org>
41657
41658 * util/biosdisk.c (open_device): Revert last change to the
41659 function, it broke installation. The sector needs to be
41660 different dependent on which device is opened.
41661
c5e3cfba 416622008-06-06 Robert Millan <rmh@aybabtu.com>
41663
41664 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
41665 rest of GRUB, and breakage doesn't happen if its value were modified.
41666
41667 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
41668 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
41669 a constant (same value).
41670 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
41671 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
41672
26a1f8c4 416732008-06-06 Robert Millan <rmh@aybabtu.com>
41674
41675 * util/biosdisk.c (open_device): Do not modify sector offset when
41676 accessing a partition. kern/disk.c already handles this for us.
41677
25d6b327 416782008-06-06 Robert Millan <rmh@aybabtu.com>
41679
41680 * util/grub-emu.c (grub_machine_init): Move code in this function from
41681 here ...
41682 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
41683 segfault in case grub_printf() is called).
41684
41685 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
41686 grub_probe. Update all users not to explicitly add it again.
41687 (grub_device): New variable; contains corresponding device for grubdir.
41688 (fs_module, partmap_module, devabstraction_module): Pass
41689 `--device ${grub_device}' to grub_probe to avoid traversing /dev
41690 every time.
41691
9ece62fb 416922008-06-05 Robert Millan <rmh@aybabtu.com>
41693
41694 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
41695 is found, print it (same layout as with labels).
41696
1ad36d37 416972008-06-04 Robert Millan <rmh@aybabtu.com>
41698
41699 * util/biosdisk.c (get_drive): Rename to ...
41700 (find_grub_drive): ... this. Update all users.
41701
41702 (get_os_disk): Rename to ...
41703 (convert_system_partition_to_system_disk): ... this. Update all users.
41704
41705 (find_drive): Rename to ...
41706 (find_system_device): ... this. Update all users.
41707
e6a30859 417082008-06-04 Robert Millan <rmh@aybabtu.com>
41709
41710 * util/biosdisk.c (get_os_disk): Handle IDA devices.
41711 * util/grub-mkdevicemap.c (get_mmc_disk_name)
41712 (make_device_map): Likewise.
41713
00c108a4 417142008-06-01 Robert Millan <rmh@aybabtu.com>
41715
41716 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
41717 before dereferencing it.
41718
41719 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
41720 union with fat12/fat16-specific ones. Add some new fields, including
41721 `num_serial' for both versions.
41722 (struct grub_fat_data): Add `uuid' member.
41723 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
41724 names. Initialize `data->uuid' using `num_serial'.
41725 (grub_fat_uuid): New function.
41726 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
41727
41728 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
41729 (grub_reiserfs_uuid): New function.
41730 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
41731 member.
41732
41733 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
41734 (grub_xfs_uuid): New function.
41735 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
41736
1385c5bb 417372008-06-01 Robert Millan <rmh@aybabtu.com>
41738
41739 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
41740 code that is backward compatible with pre-uuid search command.
41741
c682dfd7 417422008-05-31 Robert Millan <rmh@aybabtu.com>
41743
41744 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
41745 floppies after everything else, to ensure floppy drive isn't accessed
41746 unnecessarily (patch from Bean).
41747
b7db5d47 417482008-05-31 Robert Millan <rmh@aybabtu.com>
41749
41750 * commands/search.c (search_label, search_fs_uuid, search_file): Do
41751 not print device names when we were asked to set a variable.
41752
6e037aa9 417532008-05-31 Robert Millan <rmh@aybabtu.com>
41754
41755 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
41756 using "cursor-on" and "cursor-off" commands (understood at least by
41757 the Open Firmware flavour on OLPC).
41758
41305bc8 417592008-05-31 Michael Gorven <michael@gorven.za.net>
41760
41761 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
41762 on and off sequences.
41763
69ba137e 417642008-05-31 Robert Millan <rmh@aybabtu.com>
41765
41766 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
41767 * util/update-grub.in: Likewise.
41768
520ae21b 417692008-05-30 Pavel Roskin <proski@gnu.org>
41770
41771 * util/biosdisk.c (linux_find_partition): Simplify logic and
41772 make the code more universal. Keep special processing for
41773 devfs, but use a simple rule for all other devices. If the
41774 device ends with a number, append 'p' and the partition number.
41775 Otherwise, append only the partition number.
41776
5786569b 417772008-05-30 Robert Millan <rmh@aybabtu.com>
41778
41779 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
41780 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
41781 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
41782 the `root' parameter to Linux.
41783
51500452 417842008-05-30 Robert Millan <rmh@aybabtu.com>
41785
41786 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
41787 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
41788 --fs_uuid with --fs-uuid.
41789 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
41790 all filesystems support them).
41791
811d3878 417922008-05-30 Robert Millan <rmh@aybabtu.com>
41793
41794 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 41795 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 41796
cab63c95 417972008-05-30 Robert Millan <rmh@aybabtu.com>
41798
41799 * util/grub.d/00_header.in: Remove obsolete comment referencing
41800 convert_system_path_to_grub_path().
41801 * util/update-grub.in: Likewise.
41802 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
41803 (convert_system_path_to_grub_path): Add a warning message explaining
41804 that this function is deprecated. Rely on is_path_readable_by_grub()
41805 for the readability checks.
41806 (font_path): Use is_path_readable_by_grub() for the readability
41807 check rather than convert_system_path_to_grub_path().
41808
972e2f7a 418092008-05-30 Robert Millan <rmh@aybabtu.com>
41810
41811 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
41812 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
41813 converting it first.
41814 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
41815 grub.cfg for access to font file, and afterwards call it again to set
41816 the root device.
41817
62191274 418182008-05-30 Robert Millan <rmh@aybabtu.com>
41819
41820 * commands/search.c (options): Add --fs_uuid option.
41821 (search_fs_uuid): New function.
41822 (grub_cmd_search): Fix --set argument passing.
41823 Use search_fs_uuid() when requested via --fs_uuid.
41824 (grub_search_init): Update help message.
41825 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
41826 and redeclare it as an array of 16-bit words.
41827 (grub_ext2_uuid): New function.
41828 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
41829 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
41830 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
41831 (GRUB_DEVICE_BOOT_UUID): New variables.
41832 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
41833 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
41834 whenever possible.
41835 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
41836 just assume `root' variable has the right value.
41837 * util/grub.d/10_linux.in: Likewise.
41838 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
41839 via PRINT_FS_UUID.
41840 (main): Recognise `-t fs_uuid' argument.
41841
01b73ec8 418422008-05-30 Robert Millan <rmh@aybabtu.com>
41843
41844 * util/biosdisk.c (map): Redefine structure to hold information
41845 about GRUB drive name.
fe6b695a 41846 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 41847 drive names.
41848 (call_hook): Remove.
41849 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
41850 member. Assume drive has partitions.
41851 (grub_util_biosdisk_open): Access device names via `.device' struct
41852 member.
41853 (open_device): Likewise.
41854 (find_drive): Likewise.
41855 (read_device_map): Adjust map[] usage to match the new struct
41856 definition. Don't check for duplicates (still possible, but not cheap
41857 anymore).
41858 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
41859 (make_device_name): Remove assumption of BIOS-like drive names.
41860
22f16596 418612008-05-30 Pavel Roskin <proski@gnu.org>
41862
41863 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
41864 compiling execute.c doesn't need grub_script.tab.h anymore.
41865 (normal/command.c_DEPENDENCIES): Likewise.
41866 (normal/function.c_DEPENDENCIES): Likewise.
41867 * conf/i386-ieee1275.rmk: Likewise.
41868 * conf/i386-linuxbios.rmk: Likewise.
41869 * conf/i386-pc.rmk: Likewise.
41870 * conf/powerpc-ieee1275.rmk: Likewise.
41871 * conf/sparc64-ieee1275.rmk: Likewise.
41872
528ad8f2 418732008-05-29 Pavel Roskin <proski@gnu.org>
41874
d1dff95d 41875 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
41876 when scanning metadata for volume group name.
41877
528ad8f2 41878 * include/grub/script.h: Don't include grub_script.tab.h. It's
41879 a generated file, which may only be included from the files with
41880 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
41881 use union YYSTYPE, as the later allows forward declaration.
41882 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
41883
47248e08 418842008-05-29 Robert Millan <rmh@aybabtu.com>
41885
41886 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
41887 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
41888 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
41889 (grub_console_checkkey): Add grub_dprintf() call to report unknown
41890 scan codes.
41891
ee632529 418922008-05-29 Robert Millan <rmh@aybabtu.com>
41893
41894 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
41895 control key combinations.
41896
eee96e08 418972008-05-29 Robert Millan <rmh@aybabtu.com>
41898
41899 * util/powerpc/ieee1275/grub-install.in: Move from here ...
41900 * util/ieee1275/grub-install.in: ... to here.
41901 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
41902 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
41903 (grub_install_SOURCES): Likewise.
41904
da9a6a94 419052008-05-29 Robert Millan <rmh@aybabtu.com>
41906
41907 * fs/affs.c: Update copyright year.
41908 * fs/ext2.c: Likewise.
41909 * fs/fshelp.c: Likewise.
41910 * fs/hfsplus.c: Likewise.
41911 * fs/ntfs.c: Likewise.
41912 * fs/xfs.c: Likewise.
41913 * include/grub/fshelp.h: Likewise.
41914 * util/grub-mkdevicemap.c: Likewise.
41915
12e65f3a 419162008-05-28 Robert Millan <rmh@aybabtu.com>
41917
41918 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
41919 might need to be fatfs to support some firmware implementations
41920 (e.g. OFW or EFI).
41921
23023641 419222008-05-28 Robert Millan <rmh@aybabtu.com>
41923
41924 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
41925 devices.
41926 * util/grub-mkdevicemap.c (get_mmc_disk_name)
41927 (make_device_map): Likewise.
41928
887d2619 419292008-05-20 Bean <bean123ch@gmail.com>
41930
41931 * fs/fshelp.c (grub_fshelp_map_block): New function.
41932 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
41933 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
41934
41935 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
41936 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
41937 (grub_fshelp_journal): New structure.
41938 (grub_fshelp_map_block): New function prototype.
41939 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
41940 (grub_fshelp_map_block): Likewise.
41941
41942 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
41943 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
41944 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
41945 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
41946 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
41947 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
41948 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
41949 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
41950 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
41951 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
41952 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
41953 (grub_ext2_sblock): New members for journal support.
41954 (grub_ext3_journal_header): New structure.
41955 (grub_ext3_journal_revoke_header): Likewise.
41956 (grub_ext3_journal_block_tag): Likewise.
41957 (grub_ext3_journal_sblock): Likewise.
41958 (grub_fshelp_node): New members logfile and journal.
41959 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
41960 grub_fshelp_map_block to get real block number.
41961 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
41962 number.
41963 (grub_ext2_read_inode): Likewise.
41964 (grub_ext3_get_journal): New function.
41965 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
41966 (grub_ext2_close): Release memory used by journal.
41967
41968 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
41969 (REISERFS_MAGIC_DESC_BLOCK): New macro.
41970 (grub_reiserfs_transaction_header): Renamed to
41971 grub_reiserfs_description_block, replace field data with real_blocks.
41972 (grub_reiserfs_commit_block): New structure.
41973 (grub_reiserfs_data): New member journal.
41974 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
41975 number.
41976 (grub_reiserfs_read_symlink): Likewise.
41977 (grub_reiserfs_iterate_dir): Likewise.
41978 (grub_reiserfs_open): Likewise.
41979 (grub_reiserfs_read): Likewise.
41980 (grub_reiserfs_get_journal): New function.
41981 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
41982 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
41983 using grub_reiserfs_get_journal.
41984 (grub_reiserfs_close): Release memory used by journal.
41985
41986 * fs/affs.c (grub_affs_read_block): Change block type to
41987 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
41988
41989 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
41990
41991 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
41992
41993 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
41994
41995 * fs/udf.c (grub_udf_read_block): Change block type to
41996 grub_disk_addr_t. Use type cast to avoid warning.
41997
41998 * fs/xfs.c (grub_xfs_read_block): Likewise.
41999
b7c6bed5 420002008-05-16 Christian Franke <franke@computer.org>
42001
42002 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
42003 to ensure that break with ESC will always work.
42004 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
42005 Remove ESC from keyboard queue.
42006
eedf167f 420072008-05-16 Christian Franke <franke@computer.org>
42008
42009 * util/biosdisk.c: [__CYGWIN__] Add includes.
42010 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
42011 (get_os_disk): Move variable declarations to OS specific
42012 parts to avoid warning.
42013 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
42014 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
42015 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
42016 Cygwin.
42017 * util/getroot.c: [__CYGWIN__] Add includes.
42018 (strip_extra_slashes): Fix "/" case.
42019 [__CYGWIN__] (get_win32_path): New function.
42020 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
42021 [__CYGWIN__] (find_root_device): Disable.
42022 [__CYGWIN__] (get_bootsec_serial): New function.
42023 [__CYGWIN__] (find_cygwin_root_device): Likewise.
42024 [__linux__] (grub_guess_root_device): Add early returns to simplify
42025 structure.
42026 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
42027 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
42028 check for Linux only.
42029
a079699e 420302008-05-15 Bean <bean123ch@gmail.com>
42031
42032 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
42033 keyboard hang problem in apple's intel mac.
42034
1cf4059a 420352008-05-09 Robert Millan <rmh@aybabtu.com>
42036
42037 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
42038 devices.
42039 * util/grub-mkdevicemap.c (get_virtio_disk_name)
42040 (make_device_map): Likewise.
42041 Reported by Aurelien Jarno <aurel32@debian.org>
42042
ed759390 420432008-05-07 Ian Campbell <ijc@hellion.org.uk>
42044
42045 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
42046 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
42047 (make_device_map): Output entries for xvd type disks.
42048
b56c4eaa 420492008-05-07 Robert Millan <rmh@aybabtu.com>
42050
42051 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
42052 devices.
42053 * util/grub-mkdevicemap.c (get_cciss_disk_name)
42054 (make_device_map): Likewise.
42055 Reported by Roland Dreier <rdreier@cisco.com>
42056
7f8866ed 420572008-05-07 Robert Millan <rmh@aybabtu.com>
42058
42059 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
42060 grub_strstr() call. Correct a few mistakes in failure path handling.
42061
b0346e0f 420622008-05-06 Robert Millan <rmh@aybabtu.com>
42063
42064 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
42065 Do not print a trailing slash (therefore, the root directory is an
42066 empty string).
42067 (convert_system_path_to_grub_path): Do not remove trailing slash
42068 from make_system_path_relative_to_its_root() output.
42069
42070 * util/i386/pc/grub-install.in: Add trailing slash to output from
42071 make_system_path_relative_to_its_root().
42072
6cf12cbd 420732008-05-06 Robert Millan <rmh@aybabtu.com>
42074
42075 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
42076 ensures that output lines aren't intermangled with those sent to
42077 stderr (via grub_util_info()).
42078 * util/grub-probe.c (grub_refresh): Likewise.
42079 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
42080
0fbb3117 420812008-05-05 Christian Franke <franke@computer.org>
42082
42083 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
42084 Add Cygwin device names.
42085 (get_ide_disk_name) [__CYGWIN__]: Likewise.
42086 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
42087 (check_device): Return error instead of success on empty name.
42088 (make_device_map): Move label inside linux specific code to
42089 prevent compiler warning.
42090
8124cdb7 420912008-04-30 Robert Millan <rmh@aybabtu.com>
42092
42093 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
42094 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
42095 first boot option.
42096 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
42097
094c01d0 420982008-04-29 Robert Millan <rmh@aybabtu.com>
42099
42100 * docs/grub.cfg: New file (example GRUB configuration).
42101
f4b1fc02 421022008-04-26 Robert Millan <rmh@aybabtu.com>
42103
329ce2a5 42104 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
42105 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
42106 and `disk/ieee1275/nand.c'.
f4b1fc02 42107
25f16ec1 421082008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 42109
25f16ec1 42110 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
42111 i386-linuxbios.
42112
42113 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
42114 change the buffer size to 4096 for cdrom device.
42115
42116 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
42117 and nand.mod.
42118 (_linux_mod_SOURCES): New variable.
42119 (_linux_mod_CFLAGS): Likewise.
42120 (_linux_mod_LDFLAGS): Likewise.
42121 (linux_mod_SOURCES): Likewise.
42122 (linux_mod_CFLAGS): Likewise.
42123 (linux_mod_LDFLAGS): Likewise.
42124 (nand_mod_SOURCES): Likewise.
42125 (nand_mod_CFLAGS): Likewise.
42126 (nand_mod_LDFLAGS): Likewise.
42127
42128 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
42129 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
42130 type property. (nand device in olpc don't have this property)
42131
42132 * include/grub/disk.h (grub_disk_dev_id): New macro
42133 GRUB_DISK_DEVICE_NAND_ID.
42134
42135 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
42136 function prototype.
42137 (grub_rescue_cmd_initrd): Likewise.
42138
42139 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
42140 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
42141 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 42142
25f16ec1 42143 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
42144 GRUB_MACHINE_IEEE1275 is defined.
42145
42146 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
42147 Use NESTED_FUNC_ATTR attribute on the hook parameter.
42148
42149 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
42150 on nested function heap_init.
42151 (grub_upper_mem): New variable for i386-ieee1275.
42152 (grub_get_extended_memory): New function for i386-ieee1275.
42153 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
42154
42155 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
42156 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
42157 property.
f19dbdb7 42158
25f16ec1 42159 * loader/i386/ieee1275/linux.c: New file.
42160
42161 * loader/i386/ieee1275/linux_normal.c: New file.
42162
42163 * disk/ieee1275/nand.c: New file.
42164
e89d61e9 421652008-04-18 Thomas Schwinge <tschwinge@gnu.org>
42166
42167 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
42168 value.
42169 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
42170
602566f6 421712008-04-18 Robert Millan <rmh@aybabtu.com>
42172
42173 Restructures early code path on ieee1275 to unify grub_main() as
42174 the first C function that is executed in every platform.
42175
42176 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
42177 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
42178 cmain().
42179 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
42180 * kern/ieee1275/cmain.c (cmain): Rename to ...
42181 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
42182 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
42183 at the beginning.
42184
57490c2b 421852008-04-18 Robert Millan <rmh@aybabtu.com>
42186
42187 * util/update-grub.in: Fix syntax error when setting
42188 `GRUB_PRELOAD_MODULES'.
42189 Reported by Stephane Chazelas <stephane@artesyncp.com>
42190
1977517d 421912008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
42192
42193 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
42194 section into account, newer toolchains generate unique build ids
42195 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 42196 we want build ids to be preserved
1977517d 42197 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
42198 far from other sections don't cause the raw binary images grow
42199 size
42200
bfb1f1a2 422012008-04-15 Robert Millan <rmh@aybabtu.com>
42202
42203 * disk/lvm.c: Update copyright year.
42204 * kern/misc.c: Likewise.
42205
01979850 422062008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
42207
42208 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 42209 there is no memory left for physical volume name.
01979850 42210
0a1150e2 422112008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
42212
42213 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
42214 volume name mapping to support bigger than 9 character names properly.
42215
82ead3fe 422162008-04-13 Robert Millan <rmh@aybabtu.com>
42217
42218 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
42219 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
42220
e54a72f5 422212008-04-13 Christian Franke <franke@computer.org>
42222
42223 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
42224 to create a floppy emulation boot CD when non emulation mode
42225 does not work.
42226 Enable Joliet CD filesystem extension.
42227
9fe86034 422282008-04-13 Robert Millan <rmh@aybabtu.com>
42229
42230 * kern/misc.c (grub_strncat): Fix off-by-one error.
42231 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
42232
42233 * kern/env.c (grub_env_context_close): Clear current context, not
42234 previous one.
42235 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
42236
42237 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
42238
7ceeee39 422392008-04-13 Robert Millan <rmh@aybabtu.com>
42240
42241 Improve robustness when handling LVM.
42242
42243 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 42244 (and leave `*p' unmodified).
7ceeee39 42245 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
42246 through it.
42247 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
42248 iterating through it.
42249 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
42250 through it.
fe6b695a 42251 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 42252 when due) on each grub_lvm_getvalue() or grub_strstr() call.
42253 Don't assume `vg->pvs != NULL' when iterating through it.
42254
58cd3d85 422552008-04-13 Robert Millan <rmh@aybabtu.com>
42256
42257 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
42258 * genmk.rb (partmap): New variable.
42259 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
42260 (#{partmap}): New target rule.
42261 * genpartmaplist.sh: New file.
42262 * Makefile.in (pkglib_DATA): Add partmap.lst.
42263 (partmap.lst): New target rule.
42264 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
42265 modules (including all partition maps), instead of preloading them.
42266
78b51059 422672007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
42268
42269 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
42270 `linux-boot-prober' (if installed) to detect other operating
42271 systems which are installed on the computer and add them to
42272 the boot menu.
42273 * conf/common.rmk: Build and install 30_os-prober.
42274
a91627b4 422752008-04-12 Robert Millan <rmh@aybabtu.com>
42276
42277 * kern/powerpc/ieee1275/init.c: Move from here ...
42278 * kern/ieee1275/init.c: ... to here. Update all users.
42279
42280 * kern/powerpc/ieee1275/cmain.c: Move from here ...
42281 * kern/ieee1275/cmain.c: ... to here. Update all users.
42282
42283 * kern/powerpc/ieee1275/openfw.c: Move from here ...
42284 * kern/ieee1275/openfw.c: ... to here. Update all users.
42285
42286 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
42287 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
42288
322562ea 422892008-04-10 Pavel Roskin <proski@gnu.org>
42290
42291 * configure.ac: Always use "_cv_" in cache variables for
42292 compatibility with Autoconf 2.62.
42293
a02a73c5 422942008-04-07 Robert Millan <rmh@aybabtu.com>
42295
42296 Revert grub/machine/init.h addition by Pavel (since it breaks on
42297 i386-ieee1275 and others):
42298 * util/i386/pc/misc.c: Remove grub/machine/init.h.
42299 * util/powerpc/ieee1275/misc.c: Likewise.
42300
25c024b1 423012008-04-07 Robert Millan <rmh@aybabtu.com>
42302
42303 * util/grub-probe.c (probe): Improve error message.
42304
3cbd2f98 423052008-04-07 Robert Millan <rmh@aybabtu.com>
42306
42307 * util/biosdisk.c (read_device_map): Skip devices that don't exist
42308 (this prevents the presence of a bogus entry from ruining the whole
42309 thing).
42310
87a297bf 423112008-04-06 Pavel Roskin <proski@gnu.org>
42312
36747a62 42313 * util/biosdisk.c: Include grub/util/biosdisk.h.
42314 * util/grub-fstest.c (execute_command): Make static.
42315 * util/grub-mkdevicemap.c (check_device): Likewise.
42316 * util/i386/pc/misc.c: Include grub/machine/init.h.
42317 * util/powerpc/ieee1275/misc.c: Likewise.
42318 * util/lvm.c: Include grub/util/lvm.h.
42319 * util/misc.c: Include grub/kernel.h, grub/misc.h and
42320 grub/cache.h.
42321 * util/raid.c: Include grub/util/raid.h.
42322 (grub_util_getdiskname): Make static.
42323
87a297bf 42324 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
42325 grub_hostfs_fini(), as they are called from grub_init_all() and
42326 grub_fini_all() respectively. This fixes an infinite loop in
42327 grub-fstest due to double registration of hostfs.
42328 Reported by Christian Franke <Christian.Franke@t-online.de>
42329
f6ce7629 423302008-04-05 Pavel Roskin <proski@gnu.org>
42331
42332 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
42333 all 8 functions. Otherwise, probe function 0 only.
42334
070e49e4 423352008-04-04 Pavel Roskin <proski@gnu.org>
42336
8b088a4c 42337 * commands/lspci.c (grub_lspci_iter): Print the bus number
42338 correctly.
42339
4f657021 42340 * commands/lspci.c (grub_pci_classes): Fix typos.
42341 (grub_lspci_iter): Don't print func twice. Print vendor ID
42342 before device ID, as it's normally done.
42343
070e49e4 42344 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
42345 Fix signedness warnings.
42346 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
42347 Likewise.
42348 * util/ieee1275/get_disk_name.c: Include config.h so that
42349 _GNU_SOURCE is defined and getline() is declared. Mark an
42350 unused argument as such. Fix a signedness warning.
42351
ba7328dc 423522008-04-02 Pavel Roskin <proski@gnu.org>
42353
26887f22 42354 * genkernsyms.sh.in: Use more robust assignments for CC and
42355 srcdir. Quote srcdir.
42356 * gensymlist.sh.in: Likewise. Assert at the compile time that
42357 the symbol table is not empty.
42358
ba7328dc 42359 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
42360 * fs/cpio.c (grub_cpio_read): Likewise.
42361
0f582c6b 423622008-04-01 Pavel Roskin <proski@gnu.org>
42363
4b6e1995 42364 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
42365 * disk/host.c (grub_host_open): Likewise.
42366 * disk/loopback.c (grub_loopback_open): Likewise.
42367 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
42368 disk->id as in disk/host.c, not a multi-character constant.
42369
828a2768 42370 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
42371 later is obsolete, potentially dangerous and sets a bad example.
42372 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
42373 * util/misc.c (grub_util_get_image_size): Likewise.
42374
2bb4fb47 42375 * disk/loopback.c (options): Improve help for "--partitions".
42376
0f582c6b 42377 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
42378 options to align them with the short options, e.g. "echo -e".
42379
a33224e0 423802008-03-31 Bean <bean123ch@gmail.com>
42381
42382 * video/reader/png.c (grub_png_data): New member is_16bit and
42383 image_data.
42384 (grub_png_decode_image_header): Detect 16 bit png image.
42385 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
42386 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
42387 (grub_video_reader_png): Release memory occupied by image_data.
42388
42389 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
42390 4096 bytes.
42391 (grub_nfs_mount): Skip the test for sector per cluster.
42392
42393 * include/grub/ntfs.h (MAX_SPC): Removed.
42394
86cb4f54 423952008-03-31 Bean <bean123ch@gmail.com>
42396
42397 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
42398 (grub_probe_SOURCES): Add fs/afs.c.
42399 (grub_fstest_SOURCES): Likewise.
42400 (afs_mod_SOURCES): New variable.
42401 (afs_mod_CFLAGS): Likewise.
42402 (afs_mod_LDFLAGS): Likewise.
42403
42404 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
42405 (grub_emu_SOURCES): Likewise.
42406
42407 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42408
42409 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42410
42411 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42412
42413 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42414
42415 * fs/afs.c: New file.
42416
17c74c21 424172008-03-30 Pavel Roskin <proski@gnu.org>
42418
4cb68e89 42419 * disk/host.c: Include grub/misc.h to fix a warning.
42420 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
42421 warnings about implicit declarations.
42422
8790bb04 42423 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
42424 variable.
42425 * include/grub/i386/loader.h: Change declaration of
42426 grub_linux_boot() to match what grub_loader_set() expects.
42427 * util/getroot.c (grub_guess_root_device): Return const char* to
42428 fix a warning.
42429 * util/grub-probe.c (probe): Fix a warning about uninitialized
42430 abstraction_name variable.
42431 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
42432 second argument as unused to fix a warning.
42433
9a3f3296 42434 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
42435 missing grub_error() call.
42436
0ecef90d 42437 * util/update-grub_lib.in: Define datarootdir, since Autoconf
42438 2.60 and newer uses it to define datadir.
42439
0bf6d401 42440 * commands/sleep.c: Fix warning about implicit declaration.
42441 * disk/memdisk.c: Likewise.
42442 * loader/aout.c: Likewise.
42443 * loader/i386/bsd_normal.c: Likewise.
42444 * util/grub-probe.c: Likewise.
42445
7cdacf97 42446 * commands/i386/cpuid.c (has_longmode): Make static.
42447 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
42448 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
42449
17c74c21 42450 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
42451 GDT. This is more robust, as %ds can change.
42452 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
42453 calling real_to_prot().
42454 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
42455
80a3e68b 424562008-03-28 Pavel Roskin <proski@gnu.org>
42457
42458 * kern/i386/pc/startup.S: Assert that uncompressed functions
42459 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
42460 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
42461 code, as they push parts of the code (error handlers) beyond
42462 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
42463 code as correctness and size.
42464
77bcd272 424652008-03-28 Pavel Roskin <proski@gnu.org>
42466
42467 * kern/i386/pc/startup.S
42468 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
42469 data block address to the real mode, keep offset minimal. This
42470 works around a bug in AWARD BIOS on old Athlon systems, which
42471 makes CD detection hang.
42472
c5dfd43b 424732008-03-26 Pavel Roskin <proski@gnu.org>
42474
42475 * normal/color.c (grub_parse_color_name_pair): Make `name' a
42476 const.
42477 * include/grub/normal.h: Add grub_parse_color_name_pair()
42478 declaration.
42479
bf962df2 424802008-03-24 Bean <bean123ch@gmail.com>
42481
42482 * disk/i386/pc/biosdisk.c (cd_start): Removed.
42483 (cd_count): Removed.
42484 (cd_drive): New variable.
42485 (grub_biosdisk_get_drive): Don't check for (cdN) device.
42486 (grub_biosdisk_call_hook): Likewise.
42487 (grub_biosdisk_iterate): Change cdrom detection method.
42488 (grub_biosdisk_open): Replace cd_start with cd_drive.
42489 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
42490 detect cdrom device.
42491
42492 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
42493 Removed.
42494 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
42495 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
42496 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
42497 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
42498 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
42499 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
42500 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
42501 (grub_biosdisk_cdrp): New structure.
42502 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
42503
42504 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
42505
42506 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
42507 device.
42508
42509 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
42510 New function.
42511
68e7fc7a 425122008-03-20 Robert Millan <rmh@aybabtu.com>
42513
42514 Remove 2 TiB limit in ata.mod.
42515 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
42516 (grub_ata_dumpinfo): Print sector count with 0x%llx.
42517 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
42518 grub_uint64_t instead of grub_uint32_t.
42519
38ad2cf5 425202008-03-05 Bean <bean123ch@gmail.com>
42521
42522 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
42523 (grub_multiboot): Set boot device.
42524
42525 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
42526
2b89344e 425272008-03-02 Bean <bean123ch@gmail.com>
42528
42529 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
42530 symlink_buffer.
42531
87a95d1f 425322008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
42533
42534 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
42535 texinfo.tex.
42536
42537 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
42538 modified.
42539
42540 * docs/fdl.texi: New file.
f19dbdb7 42541
87a95d1f 42542 * docs/mdate-sh: New file. Copied from gnulib.
42543 * docs/texinfo.tex: Likewise.
42544
42545 * config.guess: Updated from gnulib.
42546 * install-sh: Likewise.
42547
7dc15d8e 425482008-02-28 Robert Millan <rmh@aybabtu.com>
42549
42550 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
42551 (aout_mod_SOURCES): New variable.
42552 (aout_mod_CFLAGS): Likewise.
42553 (aout_mod_LDFLAGS): Likewise.
42554
42555 * conf/i386-ieee1275.rmk: Likewise.
42556
b00ab696 425572008-02-28 Robert Millan <rmh@aybabtu.com>
42558
42559 * util/update-grub.in: Reorganise terminal validity check. Accept
42560 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
42561 Based on suggestion by Franklin PIAT.
42562
79ca2d78 425632008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
42564
42565 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
42566 function.
42567 * util/getroot.c (grub_util_check_block_device): New function that
42568 returns the given argument if it is a block device and returns NULL else.
42569 * util/grub-probe.c (argument_is_device): New variable.
42570 (probe): Promote device_name from a variable to an argument. Receive
42571 device_name from grub_util_check_block_device() if path is NULL and from
42572 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 42573 (options): Introduce new parameter '-d, --device'.
79ca2d78 42574 (main): Add description of the new parameter to the help screen.
42575 Rename path variable to argument. Set argument_is_device if the '-d'
42576 option is given. Pass argument to probe() depending on
42577 argument_is_device.
42578
0d16e571 425792008-02-24 Bean <bean123ch@gmail.com>
42580
42581 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
42582 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
42583 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
42584 (GRUB_ISO9660_VOLDESC_PART): Likewise.
42585 (GRUB_ISO9660_VOLDESC_END): Likewise.
42586 (grub_iso9660_primary_voldesc): New member escape.
42587 (grub_iso9660_data): New member joliet.
42588 (grub_iso9660_convert_string): New function.
42589 (grub_iso9660_mount): Detect joliet extension.
42590 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
42591 (grub_iso9660_iso9660_label): Likewise.
42592
42593 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
42594 (grub_setup_SOURCES): Add fs/udf.c.
42595 (grub_fstest_SOURCES): Likewise.
42596 (udf_mod_SOURCES): New variable.
42597 (udf_mod_CFLAGS): Likewise.
42598 (udf_mod_LDFLAGS): Likewise.
42599
42600 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
42601 (grub_emu_SOURCES): Likewise.
42602
42603 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42604
42605 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42606
42607 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42608
42609 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42610
42611 * fs/udf.c: New file.
42612
8a594a17 426132008-02-24 Robert Millan <rmh@aybabtu.com>
42614
42615 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
42616 (normal/lexer.c_DEPENDENCIES): New variables.
42617 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
42618 (normal/lexer.c_DEPENDENCIES): Likewise.
42619 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
42620 (normal/lexer.c_DEPENDENCIES): Likewise.
42621 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
42622 (normal/lexer.c_DEPENDENCIES): Likewise.
42623 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
42624 (normal/lexer.c_DEPENDENCIES): Likewise.
42625 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
42626 (normal/lexer.c_DEPENDENCIES): Likewise.
42627
2dc33c03 426282008-02-23 Robert Millan <rmh@aybabtu.com>
42629
42630 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
42631 since they were intended to be in hex. This didn't break previously
42632 because of a bug in gpt_partition_map_iterate() (see below).
42633
42634 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
42635 when checking the validity of GPT header.
42636 Remove `partno', since it always provides the same information as `i'.
42637
f6f4cfb0 426382008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
42639
42640 * include/grub/efi/time.h: Fix a wrong comment.
42641
79ff665f 426422008-02-19 Pavel Roskin <proski@gnu.org>
42643
42644 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
42645 message.
42646
d38e24c2 426472008-02-19 Bean <bean123ch@gmail.com>
42648
42649 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
42650 (aout_mod_SOURCES): New variable.
42651 (aout_mod_CFLAGS): Likewise.
42652 (aout_mod_LDFLAGS): Likewise.
42653 (_bsd_mod_SOURCES): New variable.
42654 (_bsd_mod_CFLAGS): Likewise.
42655 (_bsd_mod_LDFLAGS): Likewise.
42656 (bsd_mod_SOURCES): New variable.
42657 (bsd_mod_CFLAGS): Likewise.
42658 (bsd_mod_LDFLAGS): Likewise.
42659
42660 * include/grub/aout.h: New file.
42661
42662 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
42663
42664 * include/grub/i386/bsd.h: New file.
42665
42666 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
42667 to make it public.
42668
42669 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
42670 function is called, so that it's possible to change it inside the hook.
42671 (grub_elf64_load): Likewise.
42672 (grub_elf_file): Don't close the file if elf header is not found.
42673 (grub_elf_close): Close the file if grub_elf_file fails (The new
42674 grub_elf_file won't close it).
42675 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
42676 (grub_elf64_size): Likewise.
42677
42678 * kern/i386/loader.S (grub_unix_real_boot): New function.
42679
42680 * loader/aout.c: New file.
42681
42682 * loader/i386/bsd.c: New file.
42683
42684 * loader/i386/bsd_normal.c: New file.
42685
42686 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
42687
42688 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 42689 can test other formats.
d38e24c2 42690
b93bdb0f 426912008-02-19 Robert Millan <rmh@aybabtu.com>
42692
42693 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
42694 (grub_gpt_partition_type_empty): Redefine with macro from
42695 `<grub/gpt_partition.h>'.
42696 (gpt_partition_map_iterate): Adjust partition type comparison.
42697
42698 Export `entry' as partmap-specific `part.data' struct.
42699 (grub_gpt_header, grub_gpt_partentry): Move from here ...
42700
42701 * include/grub/gpt_partition.h (grub_gpt_header)
42702 (grub_gpt_partentry): ... to here (new file).
42703
42704 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
42705
42706 (grub_gpt_partition_type_bios_boot): New const variable, defined
42707 with macro from `<grub/gpt_partition.h>'.
42708
42709 (setup): Replace `first_start' with `embed_region', which keeps
42710 track of the embed region (and is partmap-agnostic).
42711
42712 Replace find_first_partition_start() with find_usable_region(),
42713 which finds a usable region for embedding using partmap-specific
42714 knowledge (supports PC/MSDOS and GPT).
42715
42716 Fix all assumptions that the embed region start at sector 1, using
42717 `embed_region.start' from now on. Similarly, use `embed_region.end'
42718 rather than `first_start' to calculate available size.
42719
42720 In grub_util_info() message, replace "into after the MBR" with an
42721 indication of the specific sector our embed region starts at.
42722
66cb40f6 427232008-02-19 Robert Millan <rmh@aybabtu.com>
42724
42725 * DISTLIST: Replace `commands/ieee1275/halt.c' and
42726 `commands/ieee1275/reboot.c' with `commands/halt.c' and
42727 `commands/reboot.c'.
42728 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
42729 (halt_mod_SOURCES): Likewise.
42730 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
42731 (halt_mod_SOURCES): Likewise.
42732
b7202015 427332008-02-17 Christian Franke <franke@computer.org>
42734
42735 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
42736
32b0fc49 427372008-02-17 Robert Millan <rmh@aybabtu.com>
42738
42739 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
42740 set `first_start' to 0 for non-PC/MSDOS partition maps.
42741
aca63502 427422008-02-16 Robert Millan <rmh@aybabtu.com>
42743
42744 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
42745 do not assume partition map is PC/MSDOS before performing checks that
42746 are specific to that layout.
42747
0de8be86 427482008-02-13 Robert Millan <rmh@aybabtu.com>
42749
42750 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
42751 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
42752 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
42753
c3db8364 427542008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
42755
42756 * configure.ac: Only a cosmetic change on the handling of
42757 -fno-stack-protector.
42758
f714229e 427592008-02-12 Alexandre Boeglin <alex@boeglin.org>
42760
c3db8364 42761 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
42762 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
42763 reboot.c.
f714229e 42764 (grub_install_SOURCES): Add halt.mod and reboot.mod.
42765 (halt_mod_SOURCES): New variable.
42766 (halt_mod_CFLAGS): Likewise.
42767 (halt_mod_LDFLAGS): Likewise.
42768 (reboot_mod_SOURCES): Likewise.
42769 (reboot_mod_CFLAGS): Likewise.
42770 (reboot_mod_LDFLAGS): Likewise.
42771
c3db8364 42772 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
42773 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
42774 reboot.c.
f714229e 42775 (halt_mod_SOURCES): Likewise.
42776 (reboot_mod_SOURCES): Likewise.
42777
c3db8364 42778 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
42779 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 42780 (reboot_mod_SOURCES): Likewise.
42781
42782 * commands/i386/pc/reboot.c: merge this file ...
42783
42784 * commands/ieee1275/reboot.c: ... and this file ...
42785
42786 * commands/reboot.c: ... to this file.
c3db8364 42787 Add some precompiler directive to include the correct header for
42788 each machine.
f714229e 42789
42790 * commands/ieee1275/halt.c: move this file ...
42791
42792 * commands/halt.c: ... to here.
c3db8364 42793 Add some precompiler directive to include the correct header for
42794 each machine.
f714229e 42795
42796 * include/grub/efi/efi.h (grub_reboot): New function declaration.
42797 (grub_halt): Likewise.
42798
42799 * kern/efi/efi.c (grub_reboot): New function.
42800 (grub_halt): Likewise.
42801
c74493e0 428022008-02-12 Robert Millan <rmh@aybabtu.com>
42803
42804 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
42805 /dev (like it is done for /dev/mapper). This doesn't provide support
42806 for EVMS, but at least it is now easy to identify the problem when it
42807 arises.
42808
d0db4b04 428092008-02-11 Robert Millan <rmh@aybabtu.com>
42810
42811 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
42812 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
42813 comparing it with -1, not 0.
42814
bf748642 428152008-02-10 Robert Millan <rmh@aybabtu.com>
42816
42817 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
42818 `disk/lvm.c'.
42819 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42820 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
42821
42822 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
42823 `disk/lvm.c' to the end of the list.
42824 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42825 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
42826
b5db202a 428272008-02-10 Robert Millan <rmh@aybabtu.com>
42828
42829 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
42830 grub_print_error() instead. This will let user know why we're entering
42831 rescue mode.
42832 Based on suggestions from Sam Morris.
42833
83abee31 428342008-02-10 Alexandre Boeglin <alex@boeglin.org>
42835
42836 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
42837 on remaining N args, instead of "--" arg N times.
42838
78d5a08b 428392008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
42840
42841 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
42842 (fill_with_default_glyph): Changed to use unknown_glyph for fill
42843 pattern for unknown glyphs.
42844
68807e5f 428452008-02-09 Robert Millan <rmh@aybabtu.com>
42846
42847 * configure.ac: Probe for `help2man'.
42848 * Makefile.in (builddir): New variable.
42849 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
42850 or otherwise add a few flags/options to it.
42851 (install-local): For every executable utility or script that is
42852 installed, invoke $(HELP2MAN) to install a manpage based on --help
42853 output.
42854
42855 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
42856 that it doesn't prevent --help from working in build tree.
42857
42858 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
42859 with `bug-grub@gnu.org'.
42860 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
42861 * util/update-grub.in (usage): New function.
42862 Implement proper argument check, with support for --help and --version
42863 (as well as existing -y).
42864
428652008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 42866
42867 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
42868 avoid overwriting previous output.
42869 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
42870
c1962162 428712008-02-09 Robert Millan <rmh@aybabtu.com>
42872
42873 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
42874 drawing the menu.
42875
3dac2e3f 428762008-02-09 Robert Millan <rmh@aybabtu.com>
42877
42878 * commands/sleep.c: New file.
42879 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
42880 (sleep_mod_SOURCES): New variable.
42881 (sleep_mod_CFLAGS): Likewise.
42882 (sleep_mod_LDFLAGS): Likewise.
42883
7a634e08 428842008-02-09 Robert Millan <rmh@aybabtu.com>
42885
42886 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
42887 situations in which we can deduce the RAID size and the superblock
42888 doesn't match it.
42889
b92f0c18 428902008-02-09 Robert Millan <rmh@aybabtu.com>
42891
42892 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
42893 and return a grub_diskmemberlist_t composed of LVM physical volumes.
42894 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
42895
42896 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
42897 and return a grub_diskmemberlist_t composed of physical array members.
42898 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
42899
42900 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
42901 prototype.
42902 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
42903 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
42904 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
42905
42906 * util/grub-probe.c (probe): Move partmap probing code from here ...
42907 (probe_partmap): ... to here.
42908 (probe): Use probe_partmap() once for the disk we're probing, and
42909 additionally, when such disk contains a memberlist() struct member,
42910 once for each disk that is contained in the structure returned by
42911 memberlist().
42912
91a4bf68 429132008-02-09 Robert Millan <rmh@aybabtu.com>
42914
42915 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
42916 environment variable to 'all' in order to obtain debug output from
42917 non-util/ code.
42918 * util/i386/pc/grub-setup.c (main): Likewise.
42919
a96f9caa 429202008-02-08 Robert Millan <rmh@aybabtu.com>
42921
42922 * disk/raid.c (grub_raid_scan_device): Check for
42923 `array->device[sb.this_disk.number]' rather than for
42924 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 42925 guaranteed to be accessible.
a96f9caa 42926
b37a9222 429272008-02-08 Robert Millan <rmh@aybabtu.com>
42928
42929 * disk/raid.c: Update copyright.
42930 * fs/cpio.c: Likewise.
42931 * include/grub/raid.h: Likewise.
42932 * loader/i386/pc/multiboot.c: Likewise.
42933 * util/hostfs.c: Likewise.
42934
5626aee1 429352008-02-08 Robert Millan <rmh@aybabtu.com>
42936
42937 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
42938 to a grub_disk_t array.
42939 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
42940 `device[x]'.
42941 (grub_raid_scan_device): Replace `device[x].name' accesses with
42942 `device[x]->name'. Simplify initialization of `array->device[x]'.
42943
554f0187 429442008-02-08 Robert Millan <rmh@aybabtu.com>
42945
42946 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
42947 grub_dprintf() calls.
42948 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
42949 error message.
42950
1ec8425d 429512008-02-07 Christian Franke <franke@computer.org>
42952
42953 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
42954 instead of fseek and ftell to support large files.
42955 (grub_hostfs_read): Likewise.
42956
f2156fda 429572008-02-07 Robert Millan <rmh@aybabtu.com>
42958
42959 Patch from Jeroen Dekkers.
42960 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 42961 failure, since successfully reading all array members might not be
f2156fda 42962 required.
42963
9216e0e7 429642008-02-06 Robert Millan <rmh@aybabtu.com>
42965
42966 * util/grub-probe.c (probe): Simplify partmap probing (with the
42967 assumption that the first word up to the underscore equals to
42968 the module name).
42969
b0dfd29a 429702008-02-06 Christian Franke <franke@computer.org>
42971
42972 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
42973 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
42974 last block of a cpio or tar stream.
42975 Check for "TRAILER!!!" instead of any empty data
42976 block to detect last block of a cpio stream.
42977 (grub_cpio_dir): Fix constness of variable np.
42978 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
42979 cpio or tar trailer is detected. This fixes a crash
42980 on open of a non existing file.
42981
c32865bf 429822008-02-05 Bean <bean123ch@gmail.com>
42983
42984 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
42985 address of entry.
42986 (grub_multiboot_load_elf64): Likewise.
42987 (grub_multiboot): Initialize mbi structure.
42988
42989 * util/grub-fstest.c: Don't include unused header file script.h.
42990
fe6b695a 42991 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 42992 of file.
42993 (grub_fstest_SOURCES): Likewise.
42994
409480b7 429952008-02-05 Robert Millan <rmh@aybabtu.com>
42996
42997 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
42998 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
42999 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
43000 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
43001
43002 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
43003 (translation_table): Replace hardcoded values with macros
43004 provided by `<grub/term.h>'.
43005
43006 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
43007 (keyboard_map): Correct/add a few values, with macros provided
43008 by `<grub/term.h>'.
43009 (keyboard_map_shift): Zero values that don't differ from their
43010 `keyboard_map' equivalents.
43011 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
43012 Discard the second scan code that is always sent by Caps lock.
43013 Only use `keyboard_map_shift' when it provides a non-zero value,
43014 otherwise fallback to `keyboard_map'.
43015
99fadbaa 430162008-02-04 Bean <bean123ch@gmail.com>
43017
43018 * Makefile.in (enable_grub_fstest): New variable.
43019
43020 * conf/common.rmk (grub_fstest_init.lst): New rule.
43021 (grub_fstest_init.h): Likewise.
43022 (grub_fstest_init.c): Likewise.
43023 (util/grub-fstest.c_DEPENDENCIES): New variable.
43024 (grub_fstest_SOURCES): Likewise.
43025
43026 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
43027
43028 * util/grub-fstest.c: New file.
43029
bf567c50 430302008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43031
43032 Make grub-setup handle a separate root device.
f19dbdb7 43033
bf567c50 43034 * util/i386/pc/grub-setup.c (setup): Always open the root device,
43035 so that the root device can be compared with the destination
43036 device.
43037 When embedding the core image, if the root and destination devices
43038 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
43039 0xFF.
43040 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 43041
9be6b98b 430422008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43043
43044 Add support for having a grub directory in a different drive. This
43045 is still only the data handling part.
f19dbdb7 43046
9be6b98b 43047 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
43048 (codestart): Save %dh in GRUB_ROOT_DRIVE.
43049 (grub_root_drive): New variable.
43050
43051 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
43052 instead of GRUB_BOOT_DRIVE to construct a device name. Set
43053 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
43054 as it was.
43055
43056 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
43057
43058 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
43059 macro.
43060 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
43061
43062 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
43063 is bogus, because PXE booting does not specify any drive
43064 correctly.
43065
43066 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
43067 am not sure if this is really correct.
43068
43069 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
43070 is always identical to the boot drive when booting from a CD.
43071
43072 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
43073 longer.
43074 (root_drive): New variable.
43075 (real_start): Unconditionally set %dh to ROOT_DRIVE.
43076 (setup_sectors): Push %dx right after popping it, because %dh will
43077 be modified later.
43078 (copy_buffer): Restore %dx.
43079
e0ca0677 430802008-02-03 Robert Millan <rmh@aybabtu.com>
43081
43082 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
43083 use `cdboot.img' for cdrom images.
43084
3b3f6629 430852008-02-03 Robert Millan <rmh@aybabtu.com>
43086
43087 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
43088 only setup gfxterm when `font' command has succeeded.
43089
d42b3672 430902008-02-03 Robert Millan <rmh@aybabtu.com>
43091
43092 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
43093 (grub_rescue_cmd_multiboot_loader)
43094 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
43095
fa370ea6 430962008-02-03 Pavel Roskin <proski@gnu.org>
43097
e0c5dacb 43098 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 43099 %edx and %esi from stack only after grub_gate_a20() is called.
43100 grub_gate_a20() clobbers %edx.
43101
f2a76e1d 431022008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43103
43104 * configure.ac (AC_INIT): Bumped to 1.96.
43105
43106 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
43107 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
43108 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
43109 video/readers/png.c.
43110
90fd32d1 431112008-02-03 Bean <bean123ch@gmail.com>
9be665dd 43112
43113 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
43114 (cdboot_img_SOURCES): New variable.
43115 (cdboot_img_ASFLAGS): New variable.
43116 (cdboot_img_LDFLAGS): New variable.
43117
43118 * boot/i386/pc/cdboot.S: New file.
43119
43120 * disk/i386/pc/biosdisk.c (cd_start): New variable.
43121 (cd_count): Likewise.
43122 (grub_biosdisk_get_drive): Add support for cd device.
43123 (grub_biosdisk_call_hook): Likewise.
43124 (grub_biosdisk_iterate): Likewise.
43125 (grub_biosdisk_open): Likewise.
43126 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
43127 (grub_biosdisk_rw): Support reading from cd device.
43128 (GRUB_MOD_INIT): Iterate cd devices.
43129
43130 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
43131 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
43132 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
43133
43134 * kern/i386/pc/init.c (make_install_device): Check for cd device.
43135
4020aa53 431362008-02-02 Robert Millan <rmh@aybabtu.com>
43137
43138 * commands/read.c: New file.
43139 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
43140 (read_mod_SOURCES): New variable.
43141 (read_mod_CFLAGS): Likewise.
43142 (read_mod_LDFLAGS): Likewise.
43143
e03a1132 431442008-02-02 Robert Millan <rmh@aybabtu.com>
43145
43146 * normal/main.c (grub_normal_execute): Check for `menu->size' when
43147 determining whether menu has to be displayed.
43148
58c69220 431492008-02-02 Marco Gerards <marco@gnu.org>
43150
43151 * bus/pci.c: New file.
43152
43153 * include/grub/pci.h: Likewise.
43154
43155 * include/grub/i386/pc/pci.h: Likewise.
43156
43157 * commands/lspci.c: Likewise.
43158
43159 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
43160 `lspci.mod'.
43161 (pci_mod_SOURCES): New variable.
43162 (pci_mod_CFLAGS): Likewise.
43163 (pci_mod_LDFLAGS): Likewise.
43164 (lspci_mod_SOURCES): Likewise.
43165 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 43166 (lspci_mod_LDFLAGS): Likewise.
58c69220 43167
c004e1b4 431682008-02-02 Bean <bean123ch@gmail.com>
43169
43170 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
43171 (grub_ufs_get_file_block): Fix indirect block calculation problem.
43172
43173 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
43174 (grub_xfs_btree_node): New structure.
43175 (grub_xfs_btree_root): New structure.
43176 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
43177 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
43178 (GRUB_XFS_EXTENT_BLOCK): Likewise.
43179 (GRUB_XFS_EXTENT_SIZE): Likewise.
43180 (grub_xfs_read_block): Support btree format type.
43181 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
43182 Use directory block as basic unit.
43183
43184 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
43185
43186 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
43187 __attribute__ ((__regparm__ (1))).
43188
f95562bf 431892008-02-01 Robert Millan <rmh@aybabtu.com>
43190
43191 Correct a mistake in previous commit.
43192
43193 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
43194 top.
43195 (normal/command.c_DEPENDENCIES): New variable.
43196
7d31f41f 431972008-02-01 Robert Millan <rmh@aybabtu.com>
43198
43199 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
43200 top.
43201 (normal/command.c_DEPENDENCIES): New variable.
43202 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
43203 * conf/i386-ieee1275.rmk: Likewise.
43204 * conf/i386-linuxbios.rmk: Likewise.
43205 * conf/i386-pc.rmk: Likewise.
43206 * conf/sparc64-ieee1275.rmk: Likewise.
43207 * conf/powerpc-ieee1275.rmk: Likewise.
43208 (grub_emu_SOURCES): Add `fs/fshelp.c'.
43209
43210 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
43211
60b6be74 432122008-02-01 Robert Millan <rmh@aybabtu.com>
43213
43214 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
43215 call at beginning of function.
43216
078522ab 432172008-01-31 Pavel Roskin <proski@gnu.org>
43218
43219 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 43220 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
43221 (grub_mkrescue_SOURCES): Likewise.
078522ab 43222 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
43223
ccaa8a5f 432242008-01-30 Robert Millan <rmh@aybabtu.com>
43225
43226 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
43227 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
43228 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
43229 (grub_probe_SOURCES): ... to here.
43230
43231 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
43232 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
43233 * conf/i386-ieee1275.rmk: Likewise.
43234 * conf/i386-linuxbios.rmk: Likewise.
43235 * conf/powerpc-ieee1275.rmk: Likewise.
43236
ae5a9cd7 432372008-01-30 Tristan Gingold <gingold@free.fr>
43238
43239 * kern/rescue.c: Silently accept empty lines.
43240
70bc2ef2 432412008-01-29 Bean <bean123ch@gmail.com>
43242
43243 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
43244 (real_code_2): Code cleanup and change comment style.
43245 (move_memory): Avoid using 32-bit address mode.
43246
6a4d50ea 432472008-01-29 Bean <bean123ch@gmail.com>
43248
43249 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
43250 (png_mod_SOURCES): New variable.
43251 (png_mod_CFLAGS): Likewise.
43252 (png_mod_LDFLAGS): Likewise.
43253
43254 * video/readers/png.c: New file.
43255
11cc30ac 432562008-01-28 Robert Millan <rmh@aybabtu.com>
43257
43258 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
43259 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
43260 `ifndef GRUB_MOD_GAP' hack.
43261 * util/elf/grub-mkimage.c (add_segments): Likewise.
43262
3abc589f 432632008-01-27 Robert Millan <rmh@aybabtu.com>
43264
43265 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
43266 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 43267 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 43268
e1907778 432692008-01-27 Robert Millan <rmh@aybabtu.com>
43270
43271 Get grub-emu to build again (including parallel builds).
43272
43273 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
43274 Split into ...
43275 (util/grub-emu.c_DEPENDENCIES): ... this, ...
43276 (normal/execute.c_DEPENDENCIES): ... this, ...
43277 (grub-emu_DEPENDENCIES): ... and this.
43278
43279 * conf/i386-efi.rmk: Likewise.
43280 * conf/i386-linuxbios.rmk: Likewise.
43281 * conf/i386-ieee1275.rmk: Likewise.
43282 * conf/powerpc-ieee1275.rmk: Likewise.
43283 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
43284
2216b101 432852008-01-27 Robert Millan <rmh@aybabtu.com>
43286
43287 * NEWS: Add a few items.
43288
f75172d9 432892008-01-27 Robert Millan <rmh@aybabtu.com>
43290
43291 Fix parallel builds with grub-emu. Based on earlier commit for
43292 grub-probe and grub-setup.
43293
43294 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43295 (util/grub-emu.c_DEPENDENCIES): ... this.
43296 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43297 (util/grub-emu.c_DEPENDENCIES): ... this.
43298 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43299 (util/grub-emu.c_DEPENDENCIES): ... this.
43300 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43301 (util/grub-emu.c_DEPENDENCIES): ... this.
43302 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43303 (util/grub-emu.c_DEPENDENCIES): ... this.
43304
3f51de77 433052008-01-27 Pavel Roskin <proski@gnu.org>
43306
43307 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
43308 to create a gap between _end and the modules added to the image
43309 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
43310 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
43311 * util/elf/grub-mkimage.c (add_segments): Likewise.
43312
2033f53e 433132008-01-26 Pavel Roskin <proski@gnu.org>
43314
43315 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
43316 just return an error.
43317
22da1f6f 433182008-01-26 Bean <bean123ch@gmail.com>
43319
43320 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
43321 (grub_reiserfs_get_item): Save offset of the next item.
43322 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
43323
2a9525e6 433242008-01-25 Robert Millan <rmh@aybabtu.com>
43325
43326 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
43327 make all filesystem sources appear together (possibly fixing omissions
43328 while at it).
43329 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43330 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43331 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43332 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43333
43334 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
43335 add `kern/file.c'.
43336 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
43337 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
43338 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
43339 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
43340
43341 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
43342 (probe): Add a sanity check to make sure of our ability to read
43343 requested files when probing for filesystem type.
43344
43345 * genmk.rb: Update copyright year (2007).
43346
43347 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
43348 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
43349 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
43350 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
43351 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
43352 : Remove function prototypes.
43353
b95f71b5 433542008-01-25 Robert Millan <rmh@aybabtu.com>
43355
43356 Revert my previous commits (based on wrong assumption of how grub_errno
43357 works).
43358
fe6b695a 43359 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 43360 * kern/file.c (grub_file_open): Likewise.
43361
d08bbb49 433622008-01-24 Pavel Roskin <proski@gnu.org>
43363
43364 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
43365 that hang if GRUB tries to setup colors.
43366 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
43367 colors for firmwares that don't support it.
43368 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
43369 Recognize Open Hack'Ware, set flags to work around its
43370 limitations.
43371
605e36ed 433722008-01-24 Robert Millan <rmh@aybabtu.com>
43373
43374 * kern/file.c (grub_file_open): Do not account previous failures of
43375 unrelated functions when grub_errno is checked for.
43376 Reported by Oleg Strikov.
43377
bac332a1 433782008-01-24 Bean <bean123ch@gmail.com>
43379
43380 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
43381 (grub_ufs_sblock): New member volume name.
43382 (grub_ufs_find_file): Fix string copy bug.
43383 (grub_ufs_label): Implement this function properly.
43384
43385 * fs/hfs.c (grub_hfs_cnid_type): New enum.
43386 (grub_hfs_iterate_records): Use the correct file number for extents
43387 and catalog file. Fix problem in next index calculation.
43388 (grub_hfs_find_node): Replace recursive function call with loop.
43389 (grub_hfs_iterate_dir): Replace recursive function call with loop.
43390
15c80c09 433912008-01-23 Robert Millan <rmh@aybabtu.com>
43392
43393 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
43394 `<grub/symbol.h>' and `<grub/multiboot.h>'.
43395 (grub_multiboot2_real_boot): New function prototype.
43396
43397 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
43398 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
43399
43400 * kern/i386/ieee1275/init.c (grub_os_area_addr)
43401 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
43402
305338fd 434032008-01-23 Robert Millan <rmh@aybabtu.com>
43404
43405 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
43406 #ifdef'ed out grub_printf().
43407
3ea52685 434082008-01-23 Robert Millan <rmh@aybabtu.com>
43409
43410 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
43411 grub_dprintf calls, since they make "debug=all" mode unusable.
43412 (grub_console_checkkey): Likewise.
43413
5882ae4b 434142008-01-23 Robert Millan <rmh@aybabtu.com>
43415
43416 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
43417 `term/i386/pc/at_keyboard.c'.
43418 (pkglib_MODULES): Add `serial.mod'.
43419 (serial_mod_SOURCES): New variable.
43420 (serial_mod_CFLAGS): Likewise.
43421 (serial_mod_LDFLAGS): Likewise.
43422
43423 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
43424 `<grub/powerpc/ieee1275/console.h>'.
43425 (grub_keyboard_controller_init): New function prototype.
43426 (grub_console_checkkey): Likewise.
43427 (grub_console_getkey): Likewise.
43428
43429 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
43430 keyboard on i386.
43431
43432 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
43433 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
43434
06ab5303 434352008-01-23 Robert Millan <rmh@aybabtu.com>
43436
43437 * kern/i386/pc/init.c (make_install_device): When memdisk image is
43438 present, "(memdisk)/boot/grub" becomes the default prefix.
43439
43440 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
43441 a memdisk tarball with all the modules. Add --overlay=DIR option that
43442 allows users to overlay additional files into the image.
43443
dbb475a4 434442008-01-23 Robert Millan <rmh@aybabtu.com>
43445
43446 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
43447 and `machine/memory.h'.
43448 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
43449 (_multiboot_mod_SOURCES): New variable.
43450 (_multiboot_mod_CFLAGS): Likewise.
43451 (_multiboot_mod_LDFLAGS): Likewise.
43452 (multiboot_mod_SOURCES): Likewise.
43453 (multiboot_mod_CFLAGS): Likewise.
43454 (multiboot_mod_LDFLAGS): Likewise.
43455
43456 * include/grub/i386/ieee1275/loader.h: New file.
43457
43458 * include/grub/i386/ieee1275/machine.h: Likewise.
43459
43460 * include/grub/i386/ieee1275/memory.h: Likewise.
43461
43462 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
43463 variable declaration.
43464 (grub_os_area_size): Likewise.
43465
43466 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
43467 (grub_lower_mem, grub_upper_mem): New variables.
43468 (grub_stop_floppy): New function (just to make
43469 grub_multiboot2_real_boot() happy).
43470
43471 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
43472 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
43473 (grub_stop): New function.
43474 Include `"../realmode.S"' and `"../loader.S"'.
43475
43476 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
43477 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
43478
43479 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
43480 rely on grub_multiboot2_real_boot() for final boot.
43481
25638629 434822008-01-22 Robert Millan <rmh@aybabtu.com>
43483
43484 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
43485 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
43486 device that doesn't look like an SD card.
43487 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
43488 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
43489 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
43490 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
43491 found.
43492
9dad816d 434932008-01-22 Robert Millan <rmh@aybabtu.com>
43494
43495 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
43496 avoid claiming over our own code.
43497
34842f2d 434982008-01-22 Bean <bean123ch@gmail.com>
43499
43500 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
43501 (jpeg_mod_SOURCES): New variable.
43502 (jpeg_mod_CFLAGS): Likewise.
43503 (jpeg_mod_LDFLAGS): Likewise.
43504
43505 * video/readers/jpeg.c : New file.
43506
44023a28 435072008-01-22 Bean <bean123ch@gmail.com>
43508
43509 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
43510 there are no more items.
43511
bc2d8ac6 435122008-01-21 Robert Millan <rmh@aybabtu.com>
43513
43514 * kern/mm.c (grub_mm_init_region): Improve debug message.
43515
261bd4bc 435162008-01-21 Robert Millan <rmh@aybabtu.com>
43517
43518 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
43519 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
43520 address.
43521 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
43522 a C macro.
43523 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
43524 Indicates start of upper memory.
43525 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
43526 (generate_image): Abort when image size is big enough to corrupt
43527 upper memory.
43528
43529 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
43530 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
43531 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
43532 instead of hardcoding 0xA0000.
43533 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
43534 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
43535 instead of hardcoding 0xA0000.
43536
f970b55e 435372008-01-21 Robert Millan <rmh@aybabtu.com>
43538
43539 * disk/memdisk.c (memdisk_size): New variable.
43540 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
43541 `memdisk_size'.
43542 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
43543 image to dynamic memory.
43544 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
43545 `memdisk_size'. Free memdisk block.
43546
1a8b0526 435472008-01-21 Robert Millan <rmh@aybabtu.com>
43548
43549 Fix detection of very small filesystems (like tar).
43550
43551 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
43552 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
43553 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
43554 a problem with this disk).
43555
6e9b4aab 435562008-01-21 Robert Millan <rmh@aybabtu.com>
43557
43558 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
43559 on grub_biosdisk_rw_standard() error.
43560
0d8837b2 435612008-01-21 Robert Millan <rmh@aybabtu.com>
43562
43563 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
43564 recent changes.
43565 * kern/elf.c: Likewise.
43566 * kern/ieee1275/ieee1275.c: Likewise.
43567 * kern/powerpc/ieee1275/openfw.c: Likewise.
43568 * term/ieee1275/ofconsole.c: Likewise.
43569
ffd36e34 435702008-01-21 Robert Millan <rmh@aybabtu.com>
43571
43572 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
43573
3f0093d0 43574 * include/grub/kernel.h (grub_arch_memdisk_addr)
43575 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 43576
3f0093d0 43577 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
43578 (grub_arch_memdisk_size): ... to here.
ffd36e34 43579
6c391b21 435802008-01-21 Robert Millan <rmh@aybabtu.com>
43581
43582 Mostly based on bugfix from Bean.
43583
43584 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
43585 attribute with hook() parameter.
43586 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
43587 declaration.
43588 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
43589 attribute with hook() parameter.
43590 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
43591 declaration.
43592
55a581dc 435932008-01-21 Robert Millan <rmh@aybabtu.com>
43594
43595 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
43596 (pkglib_MODULES): Add `memdisk.mod'.
43597 (memdisk_mod_SOURCES): New variable.
43598 (memdisk_mod_CFLAGS): Likewise.
43599 (memdisk_mod_LDFLAGS): Likewise.
43600
43601 * disk/memdisk.c: New file.
43602
43603 * include/grub/disk.h (grub_disk_dev_id): Add
43604 `GRUB_DISK_DEVICE_MEMDISK_ID'.
43605
43606 * include/grub/i386/pc/kernel.h
43607 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
43608 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
43609 (grub_kernel_image_size): New variable declaration.
43610 (grub_total_module_size): Likewise.
43611 (grub_memdisk_image_size): Likewise.
43612
43613 * include/grub/i386/pc/memory.h
43614 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
43615
43616 * include/grub/kernel.h: Include `<grub/symbol.h>'.
43617 (grub_arch_memdisk_addr): New variable declaration.
43618 (grub_arch_memdisk_size): Likewise.
43619
43620 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
43621 (grub_arch_memdisk_size): Likewise.
43622
43623 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
43624 (codestart): Replace hardcoded `0x100000' with
43625 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
43626
43627 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
43628 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
43629 not NULL, append the contents of the file it refers to, at the end of
43630 the compressed kernel image. Initialize `grub_memdisk_image_size'
43631 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
43632 (options): Add "memdisk"|'m' option.
43633 (main): Parse --memdisk|-m option, and pass user-provided path as
43634 parameter to generate_image().
43635
3d7f54c9 436362008-01-20 Robert Millan <rmh@aybabtu.com>
43637
43638 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
43639 grub_dprintf() calls from here ...
43640 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
43641
0bf74728 436422008-01-20 Robert Millan <rmh@aybabtu.com>
43643
43644 Fix detection of "real mode" when /options/real-mode? doesn't exist.
43645
43646 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
43647 declaration.
43648 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
43649 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
43650 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 43651 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 43652 property).
43653 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
43654 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
43655
33bf70a7 436562008-01-19 Robert Millan <rmh@aybabtu.com>
43657
fe6b695a 43658 Get rid of confusing function (superseded by
33bf70a7 43659 `grub_ieee1275_get_integer_property')
43660 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
43661 prototype.
43662 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
43663 function.
43664 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
43665 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 43666 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 43667
e2da7d26 436682008-01-19 Robert Millan <rmh@aybabtu.com>
43669
43670 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
43671 command after "shut-down", since implementations differ on which
43672 the command for halt is.
43673
59f1fd8d 436742008-01-19 Robert Millan <rmh@aybabtu.com>
43675
43676 * include/grub/i386/linuxbios/console.h: Add header protection.
43677 (grub_keyboard_controller_init): New function prototype.
43678 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
43679 (KEYBOARD_COMMAND_READ): Likewise.
43680 (KEYBOARD_COMMAND_WRITE): Likewise.
43681 (KEYBOARD_SCANCODE_SET1): Likewise.
43682 (grub_keyboard_controller_write): New function.
43683 (grub_keyboard_controller_read): Likewise.
43684 (grub_keyboard_controller_init): Likewise.
43685
43686 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
43687 (grub_console_init): On coreboot/LinuxBIOS, call
43688 grub_keyboard_controller_init().
43689
5f5a7c15 436902008-01-19 Robert Millan <rmh@aybabtu.com>
43691
43692 PowerPC changes provided by Pavel Roskin.
43693
43694 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
43695 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
43696 don't rely on cmain() doing it.
43697 * kern/i386/ieee1275/startup.S (_start): Store %eax in
43698 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
43699
1210e168 437002008-01-16 Robert Millan <rmh@aybabtu.com>
43701
43702 * include/grub/i386/linuxbios/memory.h
43703 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
43704 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
43705 receive `table_header' as argument. Instead, probe for it in the
43706 known memory ranges where it can be present.
43707 (grub_available_iterate): Do not pass a fixed `table_header' address
43708 to grub_linuxbios_table_iterate().
43709
3d04eab8 437102008-01-15 Robert Millan <rmh@aybabtu.com>
43711
43712 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
43713 * conf/i386-ieee1275.rmk: New file.
43714 * include/grub/i386/ieee1275/console.h: Likewise.
43715 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
43716 * include/grub/i386/ieee1275/kernel.h: Likewise.
43717 * include/grub/i386/ieee1275/time.h: Likewise.
43718 * kern/i386/ieee1275/init.c: Likewise.
43719 * kern/i386/ieee1275/startup.S: Likewise.
43720
d1bc1b73 437212008-01-15 Robert Millan <rmh@aybabtu.com>
43722
43723 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
43724 when pointers are 32-bit (but still do set it to one when they are
43725 64-bit).
43726
66a65807 437272008-01-15 Robert Millan <rmh@aybabtu.com>
43728
43729 * include/grub/ieee1275/ieee1275.h
43730 (grub_ieee1275_get_integer_property): New function prototype.
43731
43732 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
43733 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 43734 grub_ieee1275_get_property() to handle endianness.
66a65807 43735
43736 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
43737 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 43738 where appropriate.
66a65807 43739 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
43740 (grub_map): Likewise.
43741 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
43742
a83ccafd 437432008-01-15 Bean <bean123ch@gmail.com>
43744
43745 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
43746 (grub_script_execute_cmdline): Reset grub_errno.
43747
43748 * normal/main.c (read_config_file): Reset grub_errno.
43749
43750 * normal/parse.y (script_init): New.
43751 (script): Move function and menuentry here.
43752 (delimiter): New.
43753 (command): Add delimiter at the end of command.
43754 (commands): Adjust to match the new command.
43755 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 43756 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 43757 (if): Use the new commands.
43758
43759 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
43760
df6ecfc6 437612008-01-15 Robert Millan <rmh@aybabtu.com>
43762
43763 * normal/menu.c (run_menu): Move timeout message from here ...
43764 (print_timeout): ... to here.
43765 (run_menu): Use print_timeout() once during initial draw to print
43766 the whole message, and again in every clock tick to update only
43767 the number of seconds.
43768
87ae25eb 437692008-01-15 Robert Millan <rmh@aybabtu.com>
43770
43771 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
43772 actual size of `available' from grub_ieee1275_get_property(), and
43773 restrict parsing to that bound.
43774
47bf09a4 437752008-01-15 Christian Franke <franke@computer.org>
43776
43777 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
43778 (argp_program_version): Remove variable.
43779 (argp_program_bug_address): Likewise.
43780 (options): Convert from struct argp_option to struct option.
43781 (struct arguments): Remove.
43782 (parse_opt): Remove.
43783 (usage): New function.
43784 (main): Replace struct args members by simple variables.
43785 Replace argp_parse() by getopt_long().
43786 Add switch to evaluate options.
43787 Add missing "(...)" around root_dev in prefix string.
43788
c86f1469 437892008-01-14 Robert Millan <rmh@aybabtu.com>
43790
43791 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
43792 for grub_ieee1275_exit(), in order to improve portability.
43793
e622c559 437942008-01-14 Robert Millan <rmh@aybabtu.com>
43795
43796 * util/grub.d/10_linux.in (prefix): Define.
43797 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
43798
44cb1ec8 437992008-01-13 Pavel Roskin <proski@gnu.org>
43800
43801 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
43802 grub_errno if no errors have been detected.
43803
1eb8c802 438042008-01-12 Robert Millan <rmh@aybabtu.com>
43805
43806 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
43807 (grub_util_get_dev_abstraction): New function prototype.
43808
43809 * util/getroot.c: Include `<grub/util/getroot.h>'
43810 (grub_util_get_grub_dev): Move detection of abstraction type to ...
43811 (grub_util_get_dev_abstraction): ... here (new function).
43812
43813 * util/grub-probe.c: Convert PRINT_* to an enum. Add
43814 `PRINT_ABSTRACTION'.
43815 (probe): Probe for abstraction type when requested.
43816 (main): Understand `--target=abstraction'.
43817
43818 * util/i386/efi/grub-install.in: Add abstraction module to core
43819 image when it is found to be necessary.
43820 * util/i386/pc/grub-install.in: Likewise.
43821 * util/powerpc/ieee1275/grub-install.in: Likewise.
43822
43823 * util/update-grub_lib.in (font_path): Return system path without
43824 converting to GRUB path.
43825 * util/update-grub.in: Convert system path returned by font_path()
43826 to a GRUB path. Use `grub-probe -t abstraction' to determine what
43827 abstraction module is needed for loading fonts (if any). Export
43828 that as `GRUB_PRELOAD_MODULES'.
43829 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
43830 insmod commands).
43831
52bd3de9 438322008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
43833
43834 Remove some unused code from reiserfs.
f19dbdb7 43835
52bd3de9 43836 * fs/reiserfs.c (struct grub_reiserfs_key)
43837 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
43838 (struct grub_reiserfs_node_body): Removed.
43839 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
43840 Likewise.
43841 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
43842 Likewise.
43843 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
43844 Likewise.
43845 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
43846 Likewise.
43847 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
43848 Likewise.
43849 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
43850 Likewise.
43851 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
43852 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
43853 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
43854
2f80039d 438552008-01-10 Robert Millan <rmh@aybabtu.com>
43856
43857 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
43858 Determines if a file is garbage left by packaging systems, etc.
43859 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
43860 for processing /etc/grub.d scripts.
43861 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
43862 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
43863 as a condition for processing Linux images.
43864
87888032 438652008-01-10 Pavel Roskin <proski@gnu.org>
43866
43867 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
43868 to compile reiserfs.c on PowerPC.
43869
7e54fced 438702008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 43871
43872 * kern/device.c (grub_device_iterate): Do not abort device iteration
43873 when one of the devices cannot be opened.
43874 * kern/disk.c (grub_disk_open): Do not account previous failures of
43875 unrelated functions when grub_errno is checked for.
43876
5aa541e6 438772008-01-08 Robert Millan <rmh@aybabtu.com>
43878
43879 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
43880 `! grub_linux_is_bzimage', change order of address comparison to make
43881 it more intuitive, and improve "too big zImage" error message.
43882
7076340d 438832008-01-08 Robert Millan <rmh@aybabtu.com>
43884
43885 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
43886 `$(update-grub_DATA)'.
43887 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
43888 targets.
43889
9ca70333 438902008-01-07 Robert Millan <rmh@aybabtu.com>
43891
43892 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
43893 which instruction is modified by grub-setup during installation
43894 (since it wasn't obvious by only looking at this file).
43895
38ccf575 438962008-01-07 Robert Millan <rmh@aybabtu.com>
43897
43898 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
43899 listing actual TODO items.
43900
f5db4291 439012008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
43902
868967cf 43903 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
43904 correctly.
43905 (grub_reiserfs_get_key_offset): Likewise.
43906 (grub_reiserfs_set_key_offset): Likewise.
43907 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 43908 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 43909
43910 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
43911 better to remove the bitfield version completely.
f19dbdb7 43912
868967cf 439132008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 43914
f5db4291 43915 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
43916 allocated from the heap, due to the fshelp implementation.
43917 (grub_reiserfs_dir): Free NODE, due to the same reason.
43918
492e6d9d 439192008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
43920
43921 Mostly from Vincent Pelletier:
f19dbdb7 43922
492e6d9d 43923 * fs/reiserfs.c: New file.
f19dbdb7 43924
492e6d9d 43925 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
43926 (reiserfs_mod_SOURCES): New variable.
43927 (reiserfs_mod_CFLAGS): Likewise.
43928 (reiserfs_mod_LDFLAGS): Likewise.
43929
43930 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
43931 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
43932 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
43933 normal/color.c.
43934
9ce3e7c1 439352008-01-06 Robert Millan <rmh@aybabtu.com>
43936
43937 * normal/color.c: Remove `<grub/env.h>'.
43938
f3b58148 439392008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
43940
43941 * include/grub/normal.h: Include <grub/env.h>.
43942
7ac3bcfa 439432008-01-05 Robert Millan <rmh@aybabtu.com>
43944
43945 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
43946 usage example with `(hd0,1)'.
fb358190 43947 Reported by Samuel Thibault.
7ac3bcfa 43948
c8ee99d7 439492008-01-05 Robert Millan <rmh@aybabtu.com>
43950
43951 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
43952 (grub_linux_boot_zimage): Rename to ...
43953 (grub_linux_boot): ... this.
43954 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
43955 (grub_linux_boot_zimage): Conditionalize zImage copy.
43956
43957 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
43958 (grub_linux_boot_bzimage): Remove prototype.
43959 (grub_linux_boot_zimage): Rename to ...
43960 (grub_linux_boot): ... this.
43961
43962 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
43963 (grub_linux_boot): Remove function.
43964
0ece25b1 439652008-01-05 Robert Millan <rmh@aybabtu.com>
43966
43967 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
43968 (grub_env_write_color_highlight): Likewise.
43969 (grub_wait_after_message): Likewise.
43970
43971 * normal/color.c: New file.
43972
43973 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43974 (normal_mod_DEPENDENCIES): Likewise.
43975
43976 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43977 (normal_mod_DEPENDENCIES): Likewise.
43978
43979 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43980 (normal_mod_DEPENDENCIES): Likewise.
43981
43982 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43983 (normal_mod_DEPENDENCIES): Likewise.
43984
43985 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
43986 for waiting after a message is printed.
43987 * normal/main.c (read_config_file): Likewise.
43988 (grub_normal_init): Register grub_env_write_color_normal() and
43989 grub_env_write_color_highlight() hooks. Mark `color_normal' and
43990 `color_highlight' variables as global.
43991
43992 * normal/menu.c (grub_wait_after_message): New function.
43993 (grub_color_menu_normal): New variable. Replaces ...
43994 (GRUB_COLOR_MENU_NORMAL): ... this macro.
43995 (grub_color_menu_highlight): New variable. Replaces ...
43996 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
43997 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
43998 `GRUB_TERM_COLOR_STANDARD'.
43999 (print_message): Use `grub_setcolorstate' to reload colors. Rename
44000 `normal_code' and `highlight_code' to `old_color_normal' and
44001 `old_color_highlight', respectively.
44002 (grub_menu_init_page): Update colors when drawing the menu, based on
44003 `menu_color_normal' and `menu_color_highlight' variables.
44004 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
44005 a message is printed.
44006
182dd4e5 440072008-01-05 Robert Millan <rmh@aybabtu.com>
44008
44009 * kern/env.c (grub_env_context_open): Propagate hooks for global
44010 variables to new context.
44011
44012 * kern/main.c (grub_set_root_dev): Export `root' variable.
44013
ddf8f6ad 440142008-01-05 Robert Millan <rmh@aybabtu.com>
44015
44016 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 44017 discs unconditionally, since udev and others have options to provide
ddf8f6ad 44018 them.
44019
d8b43d9b 440202008-01-05 Robert Millan <rmh@aybabtu.com>
44021
44022 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
44023
2bff2de3 440242008-01-04 Christian Franke <franke@computer.org>
44025
44026 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
44027 of eisa_mmap.
44028
97eab917 440292008-01-03 Pavel Roskin <proski@gnu.org>
44030
44031 * kern/i386/linuxbios/init.c: Put "void" to all function
44032 declarations with no arguments.
44033 * kern/powerpc/ieee1275/init.c: Likewise.
44034 * term/i386/pc/at_keyboard.c: Likewise.
44035 * term/i386/pc/vga_text.c: Likewise.
44036 * util/grub-mkdevicemap.c: Likewise.
44037
b9416d00 440382008-01-02 Robert Millan <rmh@aybabtu.com>
44039
44040 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
44041 message when loaded image is out of bounds.
44042 (grub_multiboot_load_elf64): Likewise.
44043
92695df9 440442008-01-02 Pavel Roskin <proski@gnu.org>
44045
44046 * util/grub.d/10_linux.in: Try version without ".old" when
44047 looking for initrd. It's better to use initrd from the newer
44048 kernel of the same version than no initrd at all.
44049
d98d9cad 440502008-01-01 Robert Millan <rmh@aybabtu.com>
44051
44052 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
44053
dbfdce36 440542008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
44055
f19dbdb7 44056 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 44057 grub_video_get_active_render_target.
44058 (grub_video_adapter): Added unmap_color and get_active_render_target.
44059
f19dbdb7 44060 * video/video.c: Added grub_video_unmap_color and
dbfdce36 44061 grub_video_get_active_render_target.
44062 (grub_video_get_info): Changed method to accept NULL pointer as an
44063 argument to allow detection of active video adapter.
44064
44065 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
44066 grub_video_vbe_unmap_color_int.
44067 Added grub_video_vbe_unmap_color and
44068 grub_video_vbe_get_active_render_target.
44069 (grub_video_vbe_adapter): Added unmap_color and
44070 get_active_render_target.
44071
f19dbdb7 44072 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 44073 with grub_video_vbe_unmap_color_int.
44074
44075 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
44076 (DEFAULT_NORMAL_COLOR): Likewise.
44077 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
44078 (DEFAULT_FG_COLOR): Removed.
44079 (DEFAULT_BG_COLOR): Likewise.
44080 (DEFAULT_CURSOR_COLOR): Changed value.
44081 (grub_virtual_screen): Added standard_color_setting,
44082 normal_color_setting, highlight_color_setting and term_color.
44083 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
44084 (bitmap_width): Added.
44085 (bitmap_height): Likewise.
44086 (bitmap): Likewise.
44087 (set_term_color): Likewise.
44088 (grub_virtual_screen_setup): Changed to use new terminal coloring
44089 settings.
44090 (grub_gfxterm_init): Added init for bitmap.
44091 (grub_gfxterm_fini): Added destroy for bitmap.
44092 (redraw_screen_rect): Updated to use background bitmap and new
44093 terminal coloring.
44094 (scroll_up): Added optimization for case when there is no bitmap.
44095 (grub_gfxterm_cls): Fixed to use correct background color.
44096 (grub_virtual_screen_setcolorstate): Changed to use new terminal
44097 coloring.
44098 (grub_virtual_screen_setcolor): Likewise.
44099 (grub_virtual_screen_getcolor): Added.
44100 (grub_gfxterm_background_image_cmd): Likewise.
44101 (grub_video_term): Added setcolor and getcolor.
44102 (MOD_INIT): Added registration of background_image command.
44103 (MOD_TERM): Added unregistration for background_image command.
44104
c3c20931 441052007-12-30 Pavel Roskin <proski@gnu.org>
44106
44107 * loader/multiboot_loader.c: Fix multiboot command
44108 unregistration. Fix all typos in the word "multiboot".
44109
df266716 441102007-12-29 Pavel Roskin <proski@gnu.org>
94239199 44111
44112 * util/grub.d/10_linux.in: Refactor search for initrd. Add
44113 support for initrd names used in Fedora.
44114
fc6e896c 441152007-12-26 Bean <bean123ch@gmail.com>
44116
44117 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
44118 (cpio_mod_SOURCES): New variable.
44119 (cpio_mod_CFLAGS): Likewise.
44120 (cpio_mod_LDFLAGS): Likewise.
44121
44122 * fs/cpio.c: New file.
44123
44124 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
44125
44126 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44127
44128 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44129
44130 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44131
533110ad 441322007-12-25 Robert Millan <rmh@aybabtu.com>
44133
44134 * include/grub/term.h (struct grub_term): Add `getcolor' function.
44135 (grub_getcolor): New function.
44136
44137 * kern/term.c (grub_getcolor): New function.
44138 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
44139 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
44140 (print_entry): Set normal and highlight colors to
44141 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
44142 respectively, before printing and restore them to old
44143 values afterwards.
44144 (grub_menu_init_page): Likewise. Fill an additional colored space
44145 that would otherwise be left blank.
44146
44147 * term/efi/console.c (grub_console_getcolor): New function.
44148 (struct grub_console_term.getcolor): New variable.
44149 * term/i386/pc/console.c (grub_console_getcolor): New function.
44150 (struct grub_console_term.getcolor): New variable.
44151 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
44152 (struct grub_console_term.getcolor): New variable.
44153
44154 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
44155 (struct grub_console_term.setcolor): Remove variable.
44156 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
44157 (struct grub_console_term.setcolor): Remove variable.
44158 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
44159 (struct grub_console_term.setcolor): Remove variable.
44160 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
44161 (struct grub_console_term.setcolor): Remove variable.
44162
4931827f 441632007-12-25 Robert Millan <rmh@aybabtu.com>
44164
44165 * configure.ac: Search for possible unifont.hex locations, and
44166 define UNIFONT_HEX if found.
44167
44168 * Makefile.in (UNIFONT_HEX): Define variable.
44169 (DATA): Rename to ...
44170 (PKGLIB): ... this. Update all users.
44171 (PKGDATA): New variable.
44172 (pkgdata_IMAGES): Rename to ...
44173 (pkglib_IMAGES): ... this. Update all users.
44174 (pkgdata_MODULES): Rename to ...
44175 (pkglib_MODULES): ... this. Update all users.
44176 (pkgdata_PROGRAMS): Rename to ...
44177 (pkglib_PROGRAMS): ... this. Update all users.
44178 (pkgdata_DATA): Rename to ...
44179 (pkglib_DATA): ... this. Update all users.
44180 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
44181 (unicode.pff, ascii.pff): New rules.
44182 (all-local): Add `$(PKGDATA)' dependency.
44183 (install-local): Process `$(PKGDATA)'.
44184
44185 * util/update-grub_lib.in (font_path): Search for *.pff files in
44186 a few more locations, including `${pkgdata}'.
44187
57e57e31 441882007-12-23 Robert Millan <rmh@aybabtu.com>
44189
44190 Patch from Bean <bean123ch@gmail.com>:
44191 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
44192 `size'.
44193
4bc72aa9 441942007-12-21 Bean <bean123ch@gmail.com>
44195
44196 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
44197 (ntfscomp_mod_SOURCES): New variable.
44198 (ntfscomp_mod_CFLAGS): Likewise.
44199 (ntfscomp_mod_LDFLAGS): Likewise.
44200
44201 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
44202 (grub_probe_SOURCES): Likewise.
44203 (grub_emu_SOURCES): Likewise.
44204
44205 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44206 (grub_emu_SOURCES): Likewise.
44207
44208 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44209 (grub_emu_SOURCES): Likewise.
44210
44211 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44212 (grub_emu_SOURCES): Likewise.
44213
44214 * fs/ntfs.c (grub_ntfscomp_func): New variable.
44215 (read_run_list): Renamed to grub_ntfs_read_run_list.
44216 (decomp_nextvcn): Moved to ntfscomp.c.
44217 (decomp_getch): Likewise.
44218 (decomp_get16): Likewise.
44219 (decomp_block): Likewise.
44220 (read_block): Likewise.
44221 (read_data): Partially moved to ntfscomp.c.
44222 (fixup): Change unsigned to grub_uint16_t.
44223 (read_mft): Change unsigned long to grub_uint32_t.
44224 (read_attr): Likewise.
44225 (read_data): Likewise.
44226 (read_run_data): Likewise.
44227 (read_run_list): Likewise.
44228 (read_mft): Likewise.
44229
44230 * fs/ntfscomp.c: New file.
44231
44232 * include/grub/ntfs.h: New file.
44233
af680a87 442342007-12-16 Robert Millan <rmh@aybabtu.com>
44235
44236 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
44237 IDE disk check, since Linux is known to support 20 IDE disks.
44238 Reported by Colin Watson.
44239
84be7599 442402007-12-15 Bean <bean123ch@gmail.com>
44241
44242 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
44243 (lnxboot_img_SOURCES): New variable.
44244 (lnxboot_img_ASFLAGS): Likewise.
44245 (lnxboot_img_LDFLAGS): Likewise.
44246
44247 * boot/i386/pc/lnxboot.S: New file.
44248
6af9db01 442492007-11-24 Pavel Roskin <proski@gnu.org>
44250
44251 * configure.ac: Test if '--build-id=none' is supported by the
44252 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
44253 objcopy to generate incorrect binary files (binutils
44254 2.17.50.0.18-1 as shipped by Fedora 8).
44255 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
44256 linking, so that build ID doesn't break the test.
44257
7361cfe6 442582007-11-24 Pavel Roskin <proski@gnu.org>
44259
44260 * include/grub/i386/time.h: use "void" in the argument list
44261 of grub_cpu_idle().
44262 * include/grub/powerpc/time.h: Likewise.
44263 * include/grub/sparc64/time.h: Likewise.
44264
1593e10c 442652007-11-18 Christian Franke <franke@computer.org>
44266
44267 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
44268 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
44269 This fixes the problem that function keys did not work in grub-emu.
44270
3b8db1a8 442712007-11-18 Christian Franke <franke@computer.org>
44272
44273 * disk/host.c (grub_host_open): Remove attribute unused from
44274 name parameter. Add check for "host". This fixes the problem
44275 that grub-emu does not find partitions.
44276
2e29408d 442772007-11-18 Christian Franke <franke@computer.org>
44278
44279 * util/hostfs.c (is_dir): New function.
44280 (grub_hostfs_dir): Handle missing dirent.d_type case.
44281 (grub_hostfs_read): Add missing fseek().
44282 (grub_hostfs_label): Clear label pointer. This fixes a crash
44283 of grub-emu on "ls (host)".
44284
398cd047 442852007-11-18 Christian Franke <franke@computer.org>
44286
44287 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
44288 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
44289 to 64 bit boundary by default.
44290
c405c391 442912007-11-18 Bean <bean123ch@gmail.com>
44292
44293 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
44294 (hexdump_mod_SOURCES): New variable.
44295 (hexdump_mod_CFLAGS): Likewise.
44296 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 44297
c405c391 44298 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44299
44300 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44301
44302 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44303
44304 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44305
44306 * include/grub/hexdump.h: New file.
44307
44308 * commands/hexdump.c: New file.
44309
5cced7fd 443102007-11-10 Robert Millan <rmh@aybabtu.com>
44311
44312 * commands/i386/pc/play.c (beep_off): Switch order of arguments
44313 in grub_outb() calls.
44314 (beep_on): Likewise.
44315
8b714eb0 443162007-11-10 Christian Franke <franke@computer.org>
44317
44318 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
44319 (grub_menu_run): Likewise.
44320
ce0f1839 443212007-11-10 Robert Millan <rmh@aybabtu.com>
44322
44323 * include/grub/i386/efi/machine.h: New file.
44324 * include/grub/i386/linuxbios/machine.h: Likewise.
44325 * include/grub/i386/pc/machine.h: Likewise.
44326 * include/grub/powerpc/ieee1275/machine.h: Likewise.
44327 * include/grub/sparc64/ieee1275/machine.h: Likewise.
44328
44329 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
44330 (serial_hw_io_addr): New variable.
44331 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
44332 instead of `(unsigned short *) 0x400'.
44333
270c237d 443342007-11-10 Bean <bean123ch@gmail.com>
44335
44336 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
44337
a87783bf 443382007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
44339
44340 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
44341 (vga_mod_SOURCES): Added.
44342 (vga_mod_CFLAGS): Likewise.
44343 (vga_mod_LDFLAGS): Likewise.
44344
44345 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
44346 grub_outb() calls.
44347 (set_map_mask): Likewise.
44348 (set_read_map): Likewise.
44349 (set_read_address): Likewise.
44350 (vga_font): Removed variable.
44351 (get_vga_glyph): Removed function.
44352 (invalidate_char): Likewise.
44353 (write_char): Changed to use grub_font_get_glyph() for font
44354 information.
44355 (grub_vga_putchar): Likewise.
44356 (grub_vga_getcharwidth): Likewise.
44357
6433b448 443582007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
44359
44360 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
44361 flags.
44362 (pxeboot_img_LDFLAGS): Likewise.
44363 (diskboot_img_LDFLAGS): Likewise.
44364 (kernel_img_LDFLAGS): Likewise.
44365
49178511 443662007-11-06 Robert Millan <rmh@aybabtu.com>
44367
44368 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
44369 in grub_outb() calls.
44370 (serial_hw_init): Likewise.
44371
53b052de 443722007-11-05 Robert Millan <rmh@aybabtu.com>
44373
44374 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
44375 spaces. Skip non-regular files.
44376
5ab33bba 443772007-11-05 Robert Millan <rmh@aybabtu.com>
44378
44379 * kern/disk.c (grub_disk_firmware_fini)
44380 (grub_disk_firmware_is_tainted): New variables.
44381
44382 * include/grub/disk.h (grub_disk_firmware_fini)
44383 (grub_disk_firmware_is_tainted): Likewise.
44384
44385 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
44386 (grub_disk_biosdisk_fini): ... to here.
44387 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
44388 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
44389 is set. Register grub_disk_biosdisk_fini() in
44390 `grub_disk_firmware_fini'.
44391
44392 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
44393 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
44394 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
44395 to finish existing firmware disk interface.
44396
44397 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
44398 (ata_mod_SOURCES): New variable.
44399 (ata_mod_CFLAGS): Likewise.
44400 (ata_mod_LDFLAGS): Likewise.
44401
0149ab7c 444022007-11-05 Robert Millan <rmh@aybabtu.com>
44403
44404 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
44405 (grub_ata_wait): Reimplement using grub_millisleep().
44406
44407 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
44408 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
44409
be7ac41e 444102007-11-03 Marco Gerards <marco@gnu.org>
44411
44412 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
44413 (CRTC_ADDR_PORT): New macro.
44414 (CRTC_DATA_PORT): Likewise.
44415 (CRTC_CURSOR): Likewise.
44416 (CRTC_CURSOR_ADDR_HIGH): Likewise.
44417 (CRTC_CURSOR_ADDR_LOW): Likewise.
44418 (update_cursor): New function.
44419 (grub_console_real_putchar): Call `update_cursor'.
44420 (grub_console_gotoxy): Likewise.
44421 (grub_console_cls): Set the default color when clearing the
44422 screen.
44423 (grub_console_setcursor): Implemented.
44424
bb06ab2e 444252007-11-03 Marco Gerards <marco@gnu.org>
44426
44427 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
44428 become activate.
44429 (grub_ata_pio_write): Likewise.
44430
44431 (grub_atapi_identify): Wait after issuing an ATA command.
44432 (grub_atapi_packet): Likewise.
44433 (grub_ata_identify): Likewise.
44434 (grub_ata_readwrite): Likewise.
44435
cf8f780b 444362007-11-03 Marco Gerards <marco@gnu.org>
44437
44438 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
44439 (grub_ata_pio_write): Likewise.
44440 (grub_ata_readwrite): Use `grub_error', instead of
44441 returning `grub_errno'.
44442
ed649e54 444432007-11-03 Marco Gerards <marco@gnu.org>
44444
44445 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
44446 grub_ata_pio_write once for every single sector, instead of for
44447 multiple sectors.
44448
ca25d8f0 444492007-10-31 Robert Millan <rmh@aybabtu.com>
44450
44451 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
44452
44453 * conf/i386-linuxbios.rmk: New file.
44454
44455 * kern/i386/pc/hardware.c: Likewise.
44456 * term/i386/pc/at_keyboard.c: Likewise.
44457 * term/i386/pc/vga_text.c: Likewise.
44458
44459 * include/grub/i386/linuxbios/boot.h: Likewise.
44460 * include/grub/i386/linuxbios/console.h: Likewise.
44461 * include/grub/i386/linuxbios/init.h: Likewise.
44462 * include/grub/i386/linuxbios/kernel.h: Likewise.
44463 * include/grub/i386/linuxbios/loader.h: Likewise.
44464 * include/grub/i386/linuxbios/memory.h: Likewise.
44465 * include/grub/i386/linuxbios/serial.h: Likewise.
44466 * include/grub/i386/linuxbios/time.h: Likewise.
44467
44468 * kern/i386/linuxbios/init.c: Likewise.
44469 * kern/i386/linuxbios/startup.S: Likewise.
44470 * kern/i386/linuxbios/table.c: Likewise.
44471
e911ecc1 444722007-10-31 Marco Gerards <marco@gnu.org>
44473
44474 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
44475 (ata_mod_SOURCES): New variable.
44476 (ata_mod_CFLAGS): Likewise.
44477 (ata_mod_LDFLAGS): Likewise.
44478
44479 * disk/ata.c: New file.
44480
44481 * include/grub/disk.h (grub_disk_dev_id): Add
44482 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 44483
7f66d0e0 444842007-10-31 Robert Millan <rmh@aybabtu.com>
44485
44486 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
44487 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
44488
44489 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
44490 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
44491
44492 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
44493 `<grub/types.h>'.
44494
44495 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
44496
5cd7dd46 444972007-10-27 Robert Millan <rmh@aybabtu.com>
44498
3236ca65 44499 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 44500
2ebfc90f 445012007-10-22 Robert Millan <rmh@aybabtu.com>
44502
44503 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
44504 `"../realmode.S"'.
44505 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
44506
73fcb0f3 445072007-10-22 Robert Millan <rmh@aybabtu.com>
44508
44509 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
44510 (pkgdata_MODULES): Add `biosdisk.mod'.
44511 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
44512 variables.
44513
44514 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
44515 (grub_biosdisk_init): Replace with ...
44516 (GRUB_MOD_INIT(biosdisk)): ... this.
44517 (grub_biosdisk_fini): Replace with ...
44518 (GRUB_MOD_FINI(biosdisk)): ... this.
44519
44520 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
44521 (grub_machine_init): Remove call to grub_biosdisk_init().
44522 (grub_machine_fini): Remove call to grub_machine_fini().
44523
44524 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
44525
3381d274 445262007-10-22 Robert Millan <rmh@aybabtu.com>
44527
44528 * include/grub/time.h: New file.
44529 * include/grub/i386/time.h: Likewise.
44530 * include/grub/powerpc/time.h: Likewise.
44531 * include/grub/sparc64/time.h: Likewise.
44532
44533 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
44534 instances to ...
44535 (KERNEL_MACHINE_TIME_HEADER): ... this.
44536 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
44537 instances to ...
44538 (KERNEL_MACHINE_TIME_HEADER): ... this.
44539 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
44540 instances to ...
44541 (KERNEL_MACHINE_TIME_HEADER): ... this.
44542
44543 * kern/i386/efi/init.c: Include `<grub/time.h>'.
44544 (grub_millisleep): New function.
44545 * kern/i386/pc/init.c: Include `<grub/time.h>'.
44546 (grub_millisleep): New function.
44547 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
44548 Remove `grub/machine/time.h' include.
44549 (grub_millisleep): New function.
44550 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
44551 Remove `grub/machine/time.h' include.
44552 (grub_millisleep): New function.
44553
44554 * include/grub/misc.h (grub_div_roundup): New function.
44555
44556 * kern/misc.c: Include `<grub/time.h>'.
44557 (grub_millisleep_generic): New function.
44558
44559 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
44560 Add `time.h'.
44561 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
44562 Add `time.h'.
44563 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
44564 `machine/time.h'. Add `time.h'.
44565 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44566
a39a0312 445672007-10-21 Robert Millan <rmh@aybabtu.com>
44568
44569 * include/grub/misc.h (grub_max): New function.
44570
2aad70e2 445712007-10-21 Robert Millan <rmh@aybabtu.com>
44572
44573 * util/misc.c (grub_util_info): Call fflush() before returning.
44574
54b71c4b 445752007-10-20 Robert Millan <rmh@aybabtu.com>
44576
44577 * genmk.rb (Image): Copy `extra_flags' from here ...
44578 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
44579
44580 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
44581 to `argc' and `args' arguments.
44582
a979f513 445832007-10-17 Robert Millan <rmh@aybabtu.com>
44584
44585 * kern/i386/loader.S: New file.
44586
44587 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
44588 * kern/i386/loader.S (grub_linux_prot_size)... to here.
44589 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
44590 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
44591 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
44592 * kern/i386/loader.S (grub_linux_real_addr)... to here.
44593 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
44594 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
44595 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
44596 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
44597 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
44598 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
44599 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
44600 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
44601
44602 * kern/i386/realmode.S: New file.
44603
44604 * kern/i386/pc/startup.S (protstack): Moved from here ...
44605 * kern/i386/realmode.S (protstack)... to here.
44606 * kern/i386/pc/startup.S (gdt): Moved from here ...
44607 * kern/i386/realmode.S (gdt)... to here.
44608 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
44609 * kern/i386/realmode.S (prot_to_real)... to here.
44610
44611 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
44612 `kern/i386/realmode.S'.
44613
825fc8fd 446142007-10-17 Robert Millan <rmh@aybabtu.com>
44615
44616 * include/grub/i386/loader.h: New file.
44617
44618 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
44619 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
44620 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
44621 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
44622 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
44623 * include/grub/i386/loader.h (grub_linux_prot_size)
44624 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
44625 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
44626 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
44627 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
44628
44629 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
44630
e179b2f4 446312007-10-15 Robert Millan <rmh@aybabtu.com>
44632
44633 * normal/misc.c (grub_normal_print_device_info): Do not probe for
44634 filesystem when dev->disk is unset.
44635 Do probe for filesystem even when dev->disk->has_partitions is set.
44636 In case a filesystem is found, always report it.
44637 In case it isn't, if dev->disk->has_partitions is set, report that
44638 a partition table was found instead of reporting that no filesystem
44639 could be identified.
44640
5db82af6 446412007-10-12 Robert Millan <rmh@aybabtu.com>
44642
44643 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
44644 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
44645
68f6ac74 44646 * include/grub/types.h (grub_host_to_target16): New macro.
44647 (grub_host_to_target32): Likewise.
44648 (grub_host_to_target64): Likewise.
44649 (grub_target_to_host16): Likewise.
44650 (grub_target_to_host32): Likewise.
44651 (grub_target_to_host64): Likewise.
5db82af6 44652
44653 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
44654 Renamed from to ...
44655 (GRUB_MOD_ALIGN): ...this. Update all users.
44656
68f6ac74 44657 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
44658 grub_host_to_target32.
44659 Replace grub_be_to_cpu32 with grub_target_to_host32.
44660 (load_modules): Likewise.
44661 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
44662 Replace grub_be_to_cpu32 with grub_target_to_host32.
44663 Replace grub_cpu_to_be16 with grub_host_to_target16.
44664 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 44665
3cf497cc 446662007-10-12 Robert Millan <rmh@aybabtu.com>
44667
44668 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
44669 * util/elf/grub-mkimage.c: ... here.
44670
44671 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
44672 `util/powerpc/ieee1275/grub-mkimage.c'.
44673
c8cc3692 446742007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 44675
c8cc3692 44676 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
44677 and make it easier to figure out.
44678 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
44679 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
44680 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
44681 leave us with less than HEAP_MIN_SIZE total heap.
44682 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 44683
5c58b791 446842007-10-03 Robert Millan <rmh@aybabtu.com>
44685
44686 * include/grub/i386/io.h: New file.
44687 * commands/i386/pc/play.c (inb): Removed.
44688 (outb): Removed.
44689 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
44690 with grub_outb().
afcd2ef8 44691 * term/i386/pc/serial.c (inb): Removed.
44692 (outb): Removed.
44693 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
44694 with grub_outb().
44695 * term/i386/pc/vga.c (inb): Removed.
44696 (outb): Removed.
44697 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
44698 with grub_outb().
5c58b791 44699
1a477ed6 447002007-10-02 Robert Millan <rmh@aybabtu.com>
44701
44702 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
44703 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44704 Reported by Marcin Kurek.
44705
6b5d80fa 447062007-09-07 Robert Millan <rmh@aybabtu.com>
44707
44708 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
44709 SmartFirmware version updates (as released by Sven Luther), and avoid
44710 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
44711 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
44712 known broken.
44713
5618afbf 447142007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
44715
44716 From Hitoshi Ozeki:
44717 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
44718 when merging two regions.
44719
6139dcd9 447202007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
44721
508e39ee 44722 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
44723 * normal/completion.c (grub_normal_do_completion): Likewise.
44724 Reported by Hitoshi Ozeki.
44725
447262007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 44727
6139dcd9 44728 Do not use devices at boot in chainloading.
f19dbdb7 44729
6139dcd9 44730 * loader/i386/pc/chainloader.c (boot_drive): New variable.
44731 (boot_part_addr): Likewise.
44732 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
44733 with BOOT_DRIVE and BOOT_PART_ADDR.
44734 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
44735 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
44736
38da6516 447372007-08-29 Robert Millan <rmh@aybabtu.com>
44738
44739 Patch from Simon Peter <dn.tlp@gmx.net>:
44740 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
44741 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
44742 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
44743 util/i386/pc/grub-setup.c_DEPENDENCIES.
44744 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
44745 util/grub-probe.c_DEPENDENCIES.
44746 * conf/powerpc-ieee1275.rmk: Likewise.
44747
29d0928c 447482007-08-28 Robert Millan <rmh@aybabtu.com>
44749
44750 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
44751 to tell grub-mkdevicemap how to name devices.
44752 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
44753 feature).
44754
44755 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
44756 util/i386/get_disk_name.c.
44757 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
44758 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
44759 util/ieee1275/get_disk_name.c.
44760
44761 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
44762
44763 * DISTLIST: Add util/i386/get_disk_name.c and
44764 util/ieee1275/get_disk_name.c.
44765
44766 * util/grub-mkdevicemap.c: Replace device naming logic with
44767 grub_util_get_disk_name() calls.
44768
5a0d3cca 447692007-08-20 Robert Millan <rmh@aybabtu.com>
44770
44771 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
44772 (so that it works for both plural and singular quantities).
44773
8b72db2f 447742007-08-05 Robert Millan <rmh@aybabtu.com>
44775
44776 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
44777 so that [xz] isn't taken into account when determining order.
44778
352466bf 447792007-08-02 Marco Gerards <marco@gnu.org>
44780
44781 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
44782 `include/multiboot2.h', `include/grub/elfload.h',
44783 `include/multiboot.h', `include/grub/multiboot.h',
44784 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
44785 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
44786 `kern/elf.c', `loader/multiboot_loader.c',
44787 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
44788 `loader/i386/pc/multiboot2.c',
44789 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
44790 `util/i386/pc/grub-mkrescue.in'. Remove
44791 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
44792 `include/grub/i386/pc/util/biosdisk.h' and
44793 `include/grub/powerpc/ieee1275/multiboot.h'.
44794
8f096014 447952007-08-02 Bean <bean123ch@gmail.com>
44796
44797 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
44798 (ntfs_mod_SOURCES): New variable.
44799 (ntfs_mod_CFLAGS): Likewise.
44800 (ntfs_mod_LDFLAGS): Likewise.
44801
44802 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
44803 (grub_probe_SOURCES): Likewise.
44804 (grub_emu_SOURCES): Likewise.
44805
44806 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
44807 (grub_emu_SOURCES): Likewise.
44808
44809 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
44810 (grub_emu_SOURCES): Likewise.
f19dbdb7 44811
8f096014 44812 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
44813
44814 * fs/ntfs.c: New file.
44815
9959f7db 448162007-08-02 Bean <bean123ch@gmail.com>
44817
44818 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
44819
44820 * file.h (grub_file): Likewise.
44821
44822 * fshelp.h (grub_fshelp_read_file): Likewise.
44823
44824 * util/i386/pc/grub-setup.c (setup): Likewise.
44825 (save_first_sector): Likewise.
44826 (save_blocklists): Likewise.
f19dbdb7 44827
9959f7db 44828 * fs/affs.c (grub_affs_read_file): Likewise.
44829
44830 * fs/ext2.c (grub_ext2_read_file): Likewise.
44831
44832 * fs/fat.c (grub_fat_read_data): Likewise.
44833
44834 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
44835
44836 * fs/hfs.c (grub_hfs_read_file): Likewise.
44837
44838 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
44839
44840 * fs/jfs.c (grub_jfs_read_file): Likewise.
44841
44842 * fs/minix.c (grub_minix_read_file): Likewise.
44843
44844 * fs/sfs.c (grub_sfs_read_file): Likewise.
44845
44846 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 44847
9959f7db 44848 * fs/xfs.c (grub_xfs_read_file): Likewise.
44849
44850 * command/blocklist.c (read_blocklist): Likewise.
44851 (print_blocklist): Likewise.
44852
0a203f83 448532007-08-02 Marco Gerards <marco@gnu.org>
44854
44855 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
44856 `util/hostfs.c'.
44857
44858 * disk/host.c: New file.
44859
44860 * util/hostfs.c: Likewise.
44861
44862 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
44863 return `GRUB_ERR_BAD_FS'.
44864 * fs/sfs.c (grub_sfs_mount): Likewise.
44865 * fs/xfs.c (grub_xfs_mount): Likewise.
44866
44867 * include/grub/disk.h (enum grub_disk_dev_id): Add
44868 `GRUB_DISK_DEVICE_HOST_ID'.
44869
44870 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
44871
e5dfe777 448722007-07-24 Jerone Young <jerone@gmail.com>
44873
f19dbdb7 44874 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 44875 modules for compilation.
44876 * conf/powerpc-ieee1275.rmk: Likewise.
44877
44878 * include/multiboot.h: Move multiboot definitions to one file. Rename
44879 many definitions to not get grub specific.
44880 * include/multiboot2.h: Create header with multiboot 2 definitions.
44881 * include/grub/multiboot.h: Header for grub specific function
44882 prototypes and definitions.
44883 * include/grub/multiboot2.h: Likewise.
44884 * include/grub/multiboot_loader.h: Likewise.
44885 * include/grub/i386/pc/multiboot.h: Removed.
44886 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
44887
44888 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
44889 and 2 to allow for one multiboot and module commands.
44890 * loader/multiboot2.c: Add multiboot2 functionality.
44891 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
44892 and definition names.
44893 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
44894 2 functions.
44895 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
44896 ieee1275 specific multiboot2 code.
44897
44898 * kern/i386/pc/startup.S: Change headers and definition names for
44899 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
44900
daf0f0ba 449012007-07-22 Robert Millan <rmh@aybabtu.com>
44902
44903 * geninitheader.sh: Process file specified in first parameter rather
44904 than hardcoding grub_modules_init.lst.
fe6b695a 44905 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 44906 than hardcoding grub_modules_init.h.
44907
44908 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
44909 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
44910 grub_probe_init.[ch] and grub_setup_init.[ch].
44911
44912 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
44913 grub_modules_init.h with grub_emu_init.h.
44914 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
44915 grub_probe_init.[ch] files.
44916 * conf/i386-efi.rmk: Likewise.
44917 * conf/i386-pc.rmk: Likewise.
44918 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
44919 grub_setup_init.[ch] files.
44920
44921 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
44922 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
44923 to initialize modules rather than a list of hardcoded functions.
44924 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
44925 grub_init_all() to initialize modules rather than a list of hardcoded
44926 functions.
44927
54cdc1cc 449282007-07-22 Robert Millan <rmh@aybabtu.com>
44929
44930 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
44931 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
44932
ad0686cc 449332007-07-22 Robert Millan <rmh@aybabtu.com>
44934
44935 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
44936 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
44937 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
44938 flag when running on SmartFirmware.
44939 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
44940 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
44941 was set.
44942
44943 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
44944 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
44945 rather than decreasing it.
44946
44947 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
44948 there's not enough space to do it, fail in the same way as when it
44949 can't be done because there are no partitions.
44950
44951 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
44952 when nvsetenv failed.
44953
969c02ec 449542007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
44955
44956 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
44957 because this rule is automatically generated.
44958 (grub-mkrescue): Removed for the same reason as above.
44959
5a79f472 449602007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
44961
44962 Migrate to GNU General Public License Version 3.
f19dbdb7 44963
5a79f472 44964 * COPYING: Replaced with the plain text version of GPLv3.
44965
44966 * config.guess: Updated from gnulib.
44967 * config.sub: Likewise.
44968
44969 * geninit.sh: Output a GPLv3 copyright notice.
44970 * geninitheader.sh: Likewise.
44971 * genmodsrc.sh: Likewise.
44972 * gensymlist.sh.in: Likewise.
44973
44974 * boot/i386/pc/boot.S: Upgraded to GPLv3.
44975 * boot/i386/pc/diskboot.S: Likewise.
44976 * boot/i386/pc/pxeboot.S: Likewise.
44977 * commands/blocklist.c: Likewise.
44978 * commands/boot.c: Likewise.
44979 * commands/cat.c: Likewise.
44980 * commands/cmp.c: Likewise.
44981 * commands/configfile.c: Likewise.
44982 * commands/echo.c: Likewise.
44983 * commands/help.c: Likewise.
44984 * commands/ls.c: Likewise.
44985 * commands/search.c: Likewise.
44986 * commands/terminal.c: Likewise.
44987 * commands/test.c: Likewise.
44988 * commands/videotest.c: Likewise.
44989 * commands/i386/cpuid.c: Likewise.
44990 * commands/i386/pc/halt.c: Likewise.
44991 * commands/i386/pc/play.c: Likewise.
44992 * commands/i386/pc/reboot.c: Likewise.
44993 * commands/i386/pc/vbeinfo.c: Likewise.
44994 * commands/i386/pc/vbetest.c: Likewise.
44995 * commands/ieee1275/halt.c: Likewise.
44996 * commands/ieee1275/reboot.c: Likewise.
44997 * commands/ieee1275/suspend.c: Likewise.
44998 * disk/loopback.c: Likewise.
44999 * disk/lvm.c: Likewise.
45000 * disk/raid.c: Likewise.
45001 * disk/efi/efidisk.c: Likewise.
45002 * disk/i386/pc/biosdisk.c: Likewise.
45003 * disk/ieee1275/ofdisk.c: Likewise.
45004 * font/manager.c: Likewise.
45005 * fs/affs.c: Likewise.
45006 * fs/ext2.c: Likewise.
45007 * fs/fat.c: Likewise.
45008 * fs/fshelp.c: Likewise.
45009 * fs/hfs.c: Likewise.
45010 * fs/hfsplus.c: Likewise.
45011 * fs/iso9660.c: Likewise.
45012 * fs/jfs.c: Likewise.
45013 * fs/minix.c: Likewise.
45014 * fs/sfs.c: Likewise.
45015 * fs/ufs.c: Likewise.
45016 * fs/xfs.c: Likewise.
45017 * hello/hello.c: Likewise.
45018 * include/grub/acorn_filecore.h: Likewise.
45019 * include/grub/arg.h: Likewise.
45020 * include/grub/bitmap.h: Likewise.
45021 * include/grub/boot.h: Likewise.
45022 * include/grub/cache.h: Likewise.
45023 * include/grub/device.h: Likewise.
45024 * include/grub/disk.h: Likewise.
45025 * include/grub/dl.h: Likewise.
45026 * include/grub/elfload.h: Likewise.
45027 * include/grub/env.h: Likewise.
45028 * include/grub/err.h: Likewise.
45029 * include/grub/file.h: Likewise.
45030 * include/grub/font.h: Likewise.
45031 * include/grub/fs.h: Likewise.
45032 * include/grub/fshelp.h: Likewise.
45033 * include/grub/gzio.h: Likewise.
45034 * include/grub/hfs.h: Likewise.
45035 * include/grub/kernel.h: Likewise.
45036 * include/grub/loader.h: Likewise.
45037 * include/grub/lvm.h: Likewise.
45038 * include/grub/misc.h: Likewise.
45039 * include/grub/mm.h: Likewise.
45040 * include/grub/net.h: Likewise.
45041 * include/grub/normal.h: Likewise.
45042 * include/grub/parser.h: Likewise.
45043 * include/grub/partition.h: Likewise.
45044 * include/grub/pc_partition.h: Likewise.
45045 * include/grub/raid.h: Likewise.
45046 * include/grub/rescue.h: Likewise.
45047 * include/grub/script.h: Likewise.
45048 * include/grub/setjmp.h: Likewise.
45049 * include/grub/symbol.h: Likewise.
45050 * include/grub/term.h: Likewise.
45051 * include/grub/terminfo.h: Likewise.
45052 * include/grub/tparm.h: Likewise.
45053 * include/grub/types.h: Likewise.
45054 * include/grub/video.h: Likewise.
45055 * include/grub/efi/api.h: Likewise.
45056 * include/grub/efi/chainloader.h: Likewise.
45057 * include/grub/efi/console.h: Likewise.
45058 * include/grub/efi/console_control.h: Likewise.
45059 * include/grub/efi/disk.h: Likewise.
45060 * include/grub/efi/efi.h: Likewise.
45061 * include/grub/efi/pe32.h: Likewise.
45062 * include/grub/efi/time.h: Likewise.
45063 * include/grub/i386/linux.h: Likewise.
45064 * include/grub/i386/setjmp.h: Likewise.
45065 * include/grub/i386/types.h: Likewise.
45066 * include/grub/i386/efi/kernel.h: Likewise.
45067 * include/grub/i386/efi/loader.h: Likewise.
45068 * include/grub/i386/efi/time.h: Likewise.
45069 * include/grub/i386/pc/biosdisk.h: Likewise.
45070 * include/grub/i386/pc/boot.h: Likewise.
45071 * include/grub/i386/pc/chainloader.h: Likewise.
45072 * include/grub/i386/pc/console.h: Likewise.
45073 * include/grub/i386/pc/init.h: Likewise.
45074 * include/grub/i386/pc/kernel.h: Likewise.
45075 * include/grub/i386/pc/loader.h: Likewise.
45076 * include/grub/i386/pc/memory.h: Likewise.
45077 * include/grub/i386/pc/multiboot.h: Likewise.
45078 * include/grub/i386/pc/serial.h: Likewise.
45079 * include/grub/i386/pc/time.h: Likewise.
45080 * include/grub/i386/pc/vbe.h: Likewise.
45081 * include/grub/i386/pc/vbeblit.h: Likewise.
45082 * include/grub/i386/pc/vbefill.h: Likewise.
45083 * include/grub/i386/pc/vbeutil.h: Likewise.
45084 * include/grub/i386/pc/vga.h: Likewise.
45085 * include/grub/ieee1275/ieee1275.h: Likewise.
45086 * include/grub/ieee1275/ofdisk.h: Likewise.
45087 * include/grub/powerpc/libgcc.h: Likewise.
45088 * include/grub/powerpc/setjmp.h: Likewise.
45089 * include/grub/powerpc/types.h: Likewise.
45090 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
45091 * include/grub/powerpc/ieee1275/console.h: Likewise.
45092 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
45093 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
45094 * include/grub/powerpc/ieee1275/loader.h: Likewise.
45095 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
45096 * include/grub/powerpc/ieee1275/time.h: Likewise.
45097 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
45098 * include/grub/sparc64/libgcc.h: Likewise.
45099 * include/grub/sparc64/setjmp.h: Likewise.
45100 * include/grub/sparc64/types.h: Likewise.
45101 * include/grub/sparc64/ieee1275/console.h: Likewise.
45102 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
45103 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
45104 * include/grub/sparc64/ieee1275/time.h: Likewise.
45105 * include/grub/util/biosdisk.h: Likewise.
45106 * include/grub/util/getroot.h: Likewise.
45107 * include/grub/util/lvm.h: Likewise.
45108 * include/grub/util/misc.h: Likewise.
45109 * include/grub/util/raid.h: Likewise.
45110 * include/grub/util/resolve.h: Likewise.
45111 * io/gzio.c: Likewise.
45112 * kern/device.c: Likewise.
45113 * kern/disk.c: Likewise.
45114 * kern/dl.c: Likewise.
45115 * kern/elf.c: Likewise.
45116 * kern/env.c: Likewise.
45117 * kern/err.c: Likewise.
45118 * kern/file.c: Likewise.
45119 * kern/fs.c: Likewise.
45120 * kern/loader.c: Likewise.
45121 * kern/main.c: Likewise.
45122 * kern/misc.c: Likewise.
45123 * kern/mm.c: Likewise.
45124 * kern/parser.c: Likewise.
45125 * kern/partition.c: Likewise.
45126 * kern/rescue.c: Likewise.
45127 * kern/term.c: Likewise.
45128 * kern/efi/efi.c: Likewise.
45129 * kern/efi/init.c: Likewise.
45130 * kern/efi/mm.c: Likewise.
45131 * kern/i386/dl.c: Likewise.
45132 * kern/i386/efi/init.c: Likewise.
45133 * kern/i386/efi/startup.S: Likewise.
45134 * kern/i386/pc/init.c: Likewise.
45135 * kern/i386/pc/lzo1x.S: Likewise.
45136 * kern/i386/pc/startup.S: Likewise.
45137 * kern/ieee1275/ieee1275.c: Likewise.
45138 * kern/powerpc/cache.S: Likewise.
45139 * kern/powerpc/dl.c: Likewise.
45140 * kern/powerpc/ieee1275/cmain.c: Likewise.
45141 * kern/powerpc/ieee1275/crt0.S: Likewise.
45142 * kern/powerpc/ieee1275/init.c: Likewise.
45143 * kern/powerpc/ieee1275/openfw.c: Likewise.
45144 * kern/sparc64/cache.S: Likewise.
45145 * kern/sparc64/dl.c: Likewise.
45146 * kern/sparc64/ieee1275/init.c: Likewise.
45147 * kern/sparc64/ieee1275/openfw.c: Likewise.
45148 * loader/efi/chainloader.c: Likewise.
45149 * loader/efi/chainloader_normal.c: Likewise.
45150 * loader/i386/efi/linux.c: Likewise.
45151 * loader/i386/efi/linux_normal.c: Likewise.
45152 * loader/i386/pc/chainloader.c: Likewise.
45153 * loader/i386/pc/chainloader_normal.c: Likewise.
45154 * loader/i386/pc/linux.c: Likewise.
45155 * loader/i386/pc/linux_normal.c: Likewise.
45156 * loader/i386/pc/multiboot.c: Likewise.
45157 * loader/i386/pc/multiboot_normal.c: Likewise.
45158 * loader/powerpc/ieee1275/linux.c: Likewise.
45159 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
45160 * normal/arg.c: Likewise.
45161 * normal/cmdline.c: Likewise.
45162 * normal/command.c: Likewise.
45163 * normal/completion.c: Likewise.
45164 * normal/execute.c: Likewise.
45165 * normal/function.c: Likewise.
45166 * normal/lexer.c: Likewise.
45167 * normal/main.c: Likewise.
45168 * normal/menu.c: Likewise.
45169 * normal/menu_entry.c: Likewise.
45170 * normal/misc.c: Likewise.
45171 * normal/parser.y: Likewise.
45172 * normal/script.c: Likewise.
45173 * normal/i386/setjmp.S: Likewise.
45174 * normal/powerpc/setjmp.S: Likewise.
45175 * normal/sparc64/setjmp.S: Likewise.
45176 * partmap/acorn.c: Likewise.
45177 * partmap/amiga.c: Likewise.
45178 * partmap/apple.c: Likewise.
45179 * partmap/gpt.c: Likewise.
45180 * partmap/pc.c: Likewise.
45181 * partmap/sun.c: Likewise.
45182 * term/gfxterm.c: Likewise.
45183 * term/terminfo.c: Likewise.
45184 * term/efi/console.c: Likewise.
45185 * term/i386/pc/console.c: Likewise.
45186 * term/i386/pc/serial.c: Likewise.
45187 * term/i386/pc/vesafb.c: Likewise.
45188 * term/i386/pc/vga.c: Likewise.
45189 * term/ieee1275/ofconsole.c: Likewise.
45190 * util/biosdisk.c: Likewise.
45191 * util/console.c: Likewise.
45192 * util/genmoddep.c: Likewise.
45193 * util/getroot.c: Likewise.
45194 * util/grub-emu.c: Likewise.
45195 * util/grub-mkdevicemap.c: Likewise.
45196 * util/grub-probe.c: Likewise.
45197 * util/lvm.c: Likewise.
45198 * util/misc.c: Likewise.
45199 * util/raid.c: Likewise.
45200 * util/resolve.c: Likewise.
45201 * util/update-grub.in: Likewise.
45202 * util/update-grub_lib.in: Likewise.
45203 * util/grub.d/00_header.in: Likewise.
45204 * util/grub.d/10_hurd.in: Likewise.
45205 * util/grub.d/10_linux.in: Likewise.
45206 * util/i386/efi/grub-install.in: Likewise.
45207 * util/i386/efi/grub-mkimage.c: Likewise.
45208 * util/i386/pc/grub-install.in: Likewise.
45209 * util/i386/pc/grub-mkimage.c: Likewise.
45210 * util/i386/pc/grub-mkrescue.in: Likewise.
45211 * util/i386/pc/grub-setup.c: Likewise.
45212 * util/i386/pc/misc.c: Likewise.
45213 * util/powerpc/ieee1275/grub-install.in: Likewise.
45214 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
45215 * util/powerpc/ieee1275/misc.c: Likewise.
45216 * video/bitmap.c: Likewise.
45217 * video/video.c: Likewise.
45218 * video/i386/pc/vbe.c: Likewise.
45219 * video/i386/pc/vbeblit.c: Likewise.
45220 * video/i386/pc/vbefill.c: Likewise.
45221 * video/i386/pc/vbeutil.c: Likewise.
45222 * video/readers/tga.c: Likewise.
45223
3572d015 452242007-07-02 Robert Millan <rmh@aybabtu.com>
45225
45226 * conf/i386-efi.rmk: Replace obsolete reference to
45227 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
45228 with util/getroot.c.
45229 * conf/powerpc-ieee1275.rmk: Likewise.
45230 * conf/sparc64-ieee1275.rmk: Likewise.
45231
45232 * util/grub-emu.c (main): Fix unchecked pointer handling.
45233
2c2a681b 452342007-07-02 Robert Millan <rmh@aybabtu.com>
45235
45236 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
45237 invocation to fail, in order to support partition-less media.
45238
45239 * util/i386/pc/grub-install.in: Likewise.
45240
45241 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
45242 which fs or partmap modules are needed (akin to its sister scripts).
45243
45244 Also use grub-probe to get rid of unportable /proc/mounts check.
45245
45246 Print the same informational message that the other scripts do, before
fe6b695a 45247 exiting.
2c2a681b 45248
6193defe 452492007-06-23 Robert Millan <rmh@aybabtu.com>
45250
fe6b695a 45251 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 45252 a font file can be found and, if so, echo the GRUB path to it.
45253
45254 * util/update-grub.in: Handle multiple terminals depending on user
45255 input, platform availability and font file presence. Propagate
45256 variables of our findings to /etc/grub.d/ children.
45257
45258 * util/grub.d/00_header.in: Handle multiple terminals, based on
45259 environment setup by update-grub.
45260
eface1dc 452612007-06-23 Robert Millan <rmh@aybabtu.com>
45262
ba50d28f 45263 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 45264
bf697e28 452652007-06-21 Robert Millan <rmh@aybabtu.com>
45266
45267 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
45268 indicate end of data section in kernel image.
45269 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
45270 GRUB_KERNEL_MACHINE_DATA_END.
45271
45272 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
45273 space for it.
45274 * kern/i386/efi/startup.S: Likewise.
45275
45276 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
45277 during image generation. Implement --prefix option to override this
45278 patch.
45279 * util/i386/efi/grub-mkimage.c: Likewise.
45280
45281 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
45282 code to make path relative to its root into a separate function.
45283
45284 * util/i386/pc/grub-install.in: Use newly provided
45285 make_system_path_relative_to_its_root() to convert ${grubdir}, then
45286 pass the result to grub-install --prefix.
45287
baa574b4 452882007-06-13 Robert Millan <rmh@aybabtu.com>
45289
45290 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
45291 DEFAULT_DEVICE_MAP.
45292 * util/grub-emu.c: Use above definitions from misc.h instead of
45293 defining them.
45294 * util/grub-mkdevicemap.c: Likewise.
45295 * util/i386/pc/grub-setup.c: Likewise.
45296 * util/grub-probe.c: Likewise.
45297 (probe): Abort with grub_util_error() when either
45298 grub_guess_root_device or grub_util_get_grub_dev fails.
45299
0215dcbf 453002007-06-12 Robert Millan <rmh@aybabtu.com>
45301
45302 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
45303 "pager" assignment.
45304 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
45305 "pcdata".
45306 * util/grub-probe.c (probe): Likewise for "drive_name".
45307
8af2ab7b 453082007-06-11 Robert Millan <rmh@aybabtu.com>
45309
45310 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
45311 not just the cdrom one.
45312
59d31694 453132007-06-11 Robert Millan <rmh@aybabtu.com>
45314
45315 * util/i386/pc/grub-mkrescue.in: Add "set -e".
45316 Add --pkglibdir=DIR option to override pkglibdir.
45317 Mention --image-type=TYPE in help output.
45318 Fix --grub-mkimage (it was a no-op).
fe6b695a 45319 Abort gracefully when no parameter is given.
59d31694 45320
7ee367e4 453212007-06-11 Robert Millan <rmh@aybabtu.com>
45322
45323 * util/i386/pc/grub-mkrescue.in: New file.
45324 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
45325 * Makefile.in: Handle bin_SCRIPTS.
45326
29b0ed46 453272007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
45328
45329 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
45330 list of video modes.
45331
c0f90770 453322007-06-06 Robert Millan <rmh@aybabtu.com>
45333
45334 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
45335 file doesn't exist, or if it is in a filesystem grub can't read.
45336
45337 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
45338 not abort if GRUB_DRIVE could not be defined. Rearrange generated
45339 header comment to fit in 80 columns when the variables are resolved.
45340
45341 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
45342 could be identified by update-grub. Remove redundant check for
fe6b695a 45343 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 45344 handles that).
45345
fb36dc26 453462007-06-04 Robert Millan <rmh@aybabtu.com>
45347
45348 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
45349
45350 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
45351
45352 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
45353
0c68c93e 453542007-06-04 Robert Millan <rmh@aybabtu.com>
45355
45356 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
45357
45358 * include/grub/partition.h: Declare grub_apple_partition_map_init and
45359 grub_apple_partition_map_fini.
45360
45361 * util/biosdisk.c
45362 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
45363 to access >2 TiB disks).
45364
45365 Print disk->total_sectors with %llu instead of %lu, since this
45366 variable is always 64-bit (prevents wrong disk size from being displayed
45367 on either >2 TiB disk or big-endian CPU).
45368
45369 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
45370 into a generic case that supports all (sane) partition maps.
45371
45372 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
45373 breaks big-endian.
45374
45375 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
45376 and grub_apple_partition_map_fini() after that.
45377
0f23eb74 453782007-06-01 Robert Millan <rmh@aybabtu.com>
45379
45380 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
45381
45382 * util/grub.d/00_header.in: Only enable gfxterm when
45383 convert_system_path_to_grub_path() succeeds.
45384
42c71976 453852007-05-20 Robert Millan <rmh@aybabtu.com>
45386
45387 * util/update-grub_lib.in: New file.
45388 * DISTLIST: Add update-grub_lib.in.
45389 * conf/common.rmk: Generate update-grub_lib and install it in
45390 $(lib_DATA).
45391 * Makefile.in: Add install routine for $(lib_DATA).
45392
45393 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
45394 function provided by update-grub_lib to support arbitrary paths of
45395 unifont.pff.
45396 * util/update-grub.in: Use convert_system_path_to_grub_path() to
45397 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
45398
5beb2291 453992007-05-19 Robert Millan <rmh@aybabtu.com>
45400
45401 * commands/i386/cpuid.c: New module.
45402 * DISTLIST: Add it.
45403 * conf/i386-efi.rmk: Enable cpuid.mod.
45404 * conf/i386-pc.rmk: Likewise.
45405
7262eca1 454062007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
45407
45408 * kern/disk.c (grub_disk_read): Check return value of
45409 grub_realloc().
45410
260ba823 454112007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
45412
45413 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
45414 arrays.
45415 * disk/raid.c (grub_raid_open): Likewise.
45416
1ecb6cf2 454172007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
45418
45419 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
45420 stack instead of on the heap.
45421
45422 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
45423 before doing a read on it.
45424
45425 * configure.ac: Only use -fno-stack-protector for the target
45426 environment.
f19dbdb7 45427
21c8cbb1 454282007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
45429
45430 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
45431 __attribute_ ((unused)) to mode_type argument.
45432
45433 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 45434
21c8cbb1 45435 * kern/misc.c (memcmp): Fix prototype.
45436
45437 * include/grub/partition.h [GRUB_UTIL]
45438 (grub_gpt_partition_map_init): Add prototype.
45439 (grub_gpt_partition_map_fini): Likewise.
45440
45441 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
45442 at the right place.
45443
45444 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
45445 (grub_fat_read_data): Likewise.
45446 (grub_fat_find_dir): Likewise.
45447
45448 * font/manager.c (find_glyph): Make table a const.
45449 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 45450
849d55d3 454512007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
45452
45453 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
45454 code, first search for device in /dev/mapper, then in /dev.
45455 (grub_util_get_grub_dev): New function.
45456 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
45457 prototype.
45458 * util/grub-probe.c (probe): Remove check for RAID, call
45459 grub_util_get_grub_dev() instead of
45460 grub_util_biosdisk_get_grub_dev().
45461 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
45462 grub_util_biosdisk_get_grub_dev().
45463 * util/i386/pc/grub-setup.c (main): Likewise.
45464
8fff7c2f 454652007-05-16 Robert Millan <rmh@aybabtu.com>
45466
45467 * DISTLIST: Update for the latest changes.
45468 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
45469 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
45470 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
45471 grub/util/biosdisk.h.
45472 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
45473 grub/util/biosdisk.h.
45474
48e12b52 454752007-05-16 Robert Millan <rmh@aybabtu.com>
45476
45477 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
45478
46b9d128 454792007-05-16 Robert Millan <rmh@aybabtu.com>
45480
45481 * util/i386/efi/grub-install.in: New.
45482 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
45483 newly added grub-install.
45484 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
45485 include.
45486 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
45487 grub/util/biosdisk.h.
45488 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
45489 grub/util/biosdisk.h.
45490
2d1a40a9 454912007-05-16 Robert Millan <rmh@aybabtu.com>
45492
45493 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
45494 * include/grub/util/biosdisk.h: ... here.
45495 * util/i386/pc/biosdisk.c: Moved to ...
45496 * util/biosdisk.c: ... here.
45497 * util/i386/pc/getroot.c: Moved to ...
45498 * util/getroot.c: ... here.
45499 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
45500 * util/grub-mkdevicemap.c: ... here.
45501 * util/i386/pc/grub-probe.c: Moved to ...
45502 * util/grub-probe.c: ... here.
45503
9e26e3bc 455042007-05-15 Robert Millan <rmh@aybabtu.com>
45505
45506 * util/update-grub.in: Remove duplicated line in grub.cfg header
45507 message.
45508
57f96397 455092007-05-13 Robert Millan <rmh@aybabtu.com>
45510
45511 * util/update-grub.in: Fix a few assumptions about the devices holding
45512 /, /boot and /boot/grub being the same.
45513 * util/grub.d/00_header.in: Likewise.
45514 * util/grub.d/10_hurd.in: Likewise.
45515 * util/grub.d/10_linux.in: Likewise.
45516
45517 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
45518 patterns. Use that to define the `.old' suffix as older than `'.
45519
45520 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
45521
45522 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
45523 the grub.cfg header message.
45524
2e610d62 455252007-05-11 Robert Millan <rmh@aybabtu.com>
45526
45527 * util/update-grub.in: Create device.map if it doesn't already exist,
45528 before attempting to run grub-probe.
45529 Check for grub-probe and grub-mkdevicemap with the same code
45530 grub-install is using.
45531 Remove test mode.
45532
3f6a10ef 455332007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
45534
45535 * Makefile.in: Add the datarootdir autoconf variable.
45536
02e7b75e 455372007-05-09 Robert Millan <rmh@aybabtu.com>
45538
45539 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 45540 fail gracefully if dev->disk->partition == NULL.
02e7b75e 45541
75f396cc 455422007-05-07 Robert Millan <rmh@aybabtu.com>
45543
45544 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
45545 determine partition map module.
45546 * util/i386/pc/grub-install.in: Use this feature to decide which
45547 partition module to load, instead of hardcoding pc and gpt.
45548
da65cb36 455492007-05-07 Robert Millan <rmh@aybabtu.com>
45550
45551 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
45552 source directory differs from build directory.
45553
b57d6a91 455542007-05-05 Robert Millan <rmh@aybabtu.com>
45555
45556 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
45557 initialisation.
45558
509d00f1 455592007-05-05 Robert Millan <rmh@aybabtu.com>
45560
45561 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
45562
c48f23ef 455632007-05-05 Robert Millan <rmh@aybabtu.com>
45564
45565 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
45566 command-line arguments via ${GRUB_CMDLINE_LINUX}.
45567
20b97658 455682007-05-05 Robert Millan <rmh@aybabtu.com>
45569
45570 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
45571 (grub_probe_SOURCES): Likewise.
45572 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
45573 GPT and initialize dos_part and bsd_part accordingly.
45574 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
45575 install_bsd_part.
45576 (main): Activate gpt module for use during partition identification,
45577 and deactivate it afterwards.
45578 * util/i386/pc/grub-install.in: Add gpt module to core.img.
45579 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
45580 partition identification, and deactivate it afterwards.
45581
99123174 455822007-05-05 Robert Millan <rmh@aybabtu.com>
45583
45584 * term/i386/pc/console.c (grub_console_fini): Call
45585 grub_term_set_current() before grub_term_unregister().
45586
ebd97f6e 455872007-05-04 Robert Millan <rmh@aybabtu.com>
45588
45589 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
45590 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
45591 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
45592 and update-grub_DATA.
45593 * conf/common.rmk: Build and install update-grub components.
45594 * conf/common.mk: Regenerate.
45595 * util/update-grub.in: New. Core of update-grub.
45596 * util/grub.d/00_header.in: New. Generates grub.cfg header.
45597 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
45598 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
45599 * util/grub.d/README: New. Document grub.d directory layout.
45600
b06a264d 456012007-05-01 Robert Millan <rmh@aybabtu.com>
45602
45603 * util/grub-emu.c: Move initialization functions
45604 grub_util_biosdisk_init() and grub_init_all() before
45605 grub_util_biosdisk_get_grub_dev(), which relies on them.
45606
41f0050e 456072007-04-19 Robert Millan <rmh@aybabtu.com>
45608
45609 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
45610 it is used later.
45611
04582bb3 456122007-04-18 Jerone Young <jerone@gmail.com>
45613
f19dbdb7 45614 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 45615 stanza.
45616
08db4632 456172007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 45618
08db4632 45619 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
45620 continue on and look for device node with real device name.
45621
801b76be 456222007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 45623
fe6b695a 45624 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 45625 ability.
45626 * Makefile.in: Add autoconf package transformation code.
45627 * util/i386/pc/grub-install.in: Likewise.
45628 * util/powerpc/ieee1275/grub-install.in: Likewise.
45629
6795c4e1 456302007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
45631
45632 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
45633 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
45634 (EXT2_REVISION): Likewise.
45635 (EXT2_INODE_SIZE): Likewise.
45636 (struct grub_ext2_block_group): Added a missing member
45637 "used_dirs".
45638 (grub_ext2_read_inode): Divide by the inode size in a superblock
45639 instead of 128 to obtain INODES_PER_BLOCK.
45640 Use the macro EXT2_INODE_SIZE instead of directly using
45641 SBLOCK->INODE_SIZE.
45642
d70af616 456432007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
45644
45645 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
45646 superblock instead of the structure size to compute an
45647 offset. This fixes the problem that GRUB could not read a
45648 filesystem when inode size is different from 128-byte.
45649
3b801603 456502007-03-05 Marco Gerards <marco@gnu.org>
45651
45652 * normal/main.c (read_config_file): When "menu" is not set, create
45653 an initial context.
45654
4785bfe4 456552007-02-21 Hollis Blanchard <hollis@penguinppc.org>
45656
45657 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
45658 (HEAP_LIMIT): New macro.
45659 (grub_claim_heap): Claim memory up to `heaplimit'.
45660
a0cbb023 456612007-02-21 Hollis Blanchard <hollis@penguinppc.org>
45662
45663 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
45664 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
45665 (_start): Likewise.
45666 (grub_arch_modules_addr): Return address after `_end'.
45667 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
45668 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
45669 (add_segments): Calculate `_end' from phdr size and location.
45670 (ALIGN_UP): Moved to ...
45671 * include/grub/misc.h: here.
45672 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
45673 New macro.
45674 (GRUB_IEEE1275_MODULE_BASE): Removed.
45675
fd7d8eba 456762007-02-20 Hollis Blanchard <hollis@penguinppc.org>
45677
45678 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
45679 loop boundary.
45680
9b09e6fc 456812007-02-20 Hollis Blanchard <hollis@penguinppc.org>
45682
45683 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
45684 All users updated.
45685 (grub_elf64_load_hook_t): Likewise.
45686 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
45687 debug output.
45688
3ce27299 456892007-02-20 Hollis Blanchard <hollis@penguinppc.org>
45690
45691 * kern/mm.c: Update copyright.
45692 (grub_mm_debug): Correct syntax error.
45693 (grub_mm_dump_free): New function.
45694 (grub_debug_free): Call `grub_free'.
45695 * include/grub/mm.h: Update copyright.
45696 (grub_mm_dump_free): Add declaration.
45697
077d5fee 456982007-02-12 Hollis Blanchard <hollis@penguinppc.org>
45699
45700 * include/grub/ieee1275/ieee1275.h: Update copyright.
45701 * kern/powerpc/ieee1275/init.c: Likewise.
45702 * kern/powerpc/ieee1275/openfw.c: Likewise.
45703
45704 * loader/powerpc/ieee1275/linux.c: Likewise.
45705 * include/grub/elfload.h: Likewise.
45706 * kern/elf.c: Likewise.
45707 (grub_elf32_load): Pass `base' and `size' parameters. Update all
45708 callers.
45709 (grub_elf64_load): Likewise.
45710 (grub_elf32_load_segment): Move to a nested function.
45711 (grub_elf64_load_segment): Likewise.
45712
dc946850 457132007-02-12 Hollis Blanchard <hollis@penguinppc.org>
45714
45715 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
45716 prototype.
45717 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
45718 (grub_heap_len): Likewise.
45719 (HEAP_SIZE): New macro.
45720 (grub_claim_heap): New function.
45721 (grub_machine_init): Don't claim heap directly. Call
45722 `grub_claim_heap'.
45723 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
45724 (grub_available_iterate): New function.
45725
baa2a121 457262007-02-03 Thomas Schwinge <tschwinge@gnu.org>
45727
45728 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
45729 * configure.ac: Use it for testing the HOST and TARGET compilers.
45730
4fe9862e 457312006-12-13 Thomas Schwinge <tschwinge@gnu.org>
45732
45733 * Makefile.in (enable_grub_emu): New variable.
45734 * configure.ac (--enable-grub-emu): New option.
45735 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
45736 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
45737 * conf/i386-pc.rmk: Likewise.
45738 * conf/powerpc-ieee1275.rmk: Likewise.
45739 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
45740
a8aa5762 457412006-12-12 Marco Gerards <marco@gnu.org>
45742
45743 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
45744
45745 * kern/env.c (grub_env_unset): Don't free the member `value' when
45746 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
45747 pointer.
45748
45749 * normal/main.c (current_menu): Removed.
45750 (free_menu): Unset the `menu' environment variable.
45751 (grub_normal_menu_addentry): Make use of the environment variable
45752 `menu', instead of using the global `current_menu'. Allocate
45753 memory for the sourcecode of this entry.
45754 (read_config_file): New argument `nested', changed all callers.
45755 Only in the case of a new context, initialize a new menu. Set the
45756 `menu' environment variable.
45757 (grub_normal_execute): Don't set and unset the environment
45758 variable `menu' here anymore. Only free the menu when leaving the
45759 context.
45760
45761 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
45762 leak.
45763
957b3a3e 457642006-12-11 Marco Gerards <marco@gnu.org>
45765
45766 * normal/menu_entry.c (run): Fix off by one bug so the last line
45767 is executed. Move the loader check to outside the loop.
45768
ef875714 457692006-12-08 Hollis Blanchard <hollis@penguinppc.org>
45770
45771 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
45772
4e739985 457732006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
45774
45775 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
45776 the number of sectors. Reported by Andrey Shuvikov
45777 <mr_hyro@yahoo.com>.
f19dbdb7 45778
790707f2 457792006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
45780
45781 * kern/disk.c (grub_disk_read): When there is a read error, always
45782 try to read only the necessary data.
f19dbdb7 45783
790707f2 45784 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
45785 disk/raid.c.
45786 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
45787 prototype.
45788 [GRUB_UTIL] (grub_raid_fini): Likewise.
45789 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 45790 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 45791 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
45792 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
45793 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
45794 and grub_raid_fini().
f19dbdb7 45795
03e58196 457962006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
45797
45798 * include/grub/types.h (__unused): Rename to UNUSED.
45799 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
45800 (grub_elf64_size): Likewise.
f19dbdb7 45801
ae4f23bf 458022006-11-03 Hollis Blanchard <hollis@penguinppc.org>
45803
45804 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
45805 grub_error_push and grub_error_pop in the error-handling path.
45806 (grub_elf32_load_segment): Only call grub_file_read with non-zero
45807 length.
45808
2166cc83 458092006-11-03 Hollis Blanchard <hollis@penguinppc.org>
45810
45811 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
45812 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
45813 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45814 (kernel_elf_SOURCES): Likewise.
45815 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
45816 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
45817 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45818 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45819 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
45820 (elf_mod_SOURCES): New variable.
45821 (elf_mod_CFLAGS): Likewise.
45822 (elf_mod_LDFLAGS): Likewise.
45823 * include/grub/types.h (__unused): New macro.
45824 * include/grub/elfload.h: New file.
45825 * kern/elf.c: Likewise.
45826 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
45827 (ELF32_LOADMASK): New macro.
45828 (ELF64_LOADMASK): Likewise.
45829 (vmlinux): Removed.
45830 (grub_linux_load32): New function.
45831 (grub_linux_load64): Likewise.
45832 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
45833 Use grub_elf_t instead of grub_file_t.
45834
a09d5aa5 458352006-11-02 Hollis Blanchard <hollis@penguinppc.org>
45836
45837 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
45838 `catch_result' to struct set_color_args.
45839
d976fc51 458402006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
45841
45842 * normal/menu.c: Include grub/script.h.
45843 * normal/menu_entry.c: Likewise.
45844 * include/grub/normal.h: Do not include grub/script.h.
45845
67507549 458462006-10-27 Hollis Blanchard <hollis@penguinppc.org>
45847
45848 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
45849
69203a99 458502006-10-27 Hollis Blanchard <hollis@penguinppc.org>
45851
45852 * kern/disk.c (grub_disk_open): Print debug messages when opening a
45853 disk.
45854 (grub_disk_close): Print debug messages when closing a disk.
45855 (grub_disk_read): Print debug messages when disk read fails.
45856 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
45857 filesystem type.
45858 * kern/partition.c: Include misc.h.
45859 (grub_partition_iterate): Print debug messages when detecting
45860 partition type.
45861
e2b8278c 458622006-10-27 Hollis Blanchard <hollis@penguinppc.org>
45863
45864 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
45865 is negative.
45866 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
45867
97b2f2ff 458682006-10-26 Hollis Blanchard <hollis@penguinppc.org>
45869
45870 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
45871 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
45872
6555d655 458732006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
45874
45875 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
45876 instead of sizeof(lv). Patch by Michael Guntsche.
45877
4d42b77f 458782006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
45879
45880 * disk/lvm.c: Rename VGS to VG_LIST.
45881 (grub_lvm_iterate): Change VGS->LV to VG-LV.
45882 (grub_lvm_open): Likewise.
45883 Thanks to Michael Guntsche for finding this bug.
45884
5d74d927 458852006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
45886
45887 * configure.ac (AC_INIT): Bumped to 1.95.
45888
a1bb27e4 458892006-10-14 Robert Millan <rmh@aybabtu.com>
45890
45891 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
45892 with "/dev/.static/dev/md".
45893
e0994b8b 458942006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
45895
45896 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
45897 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
45898 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
45899 DRIVE_NAME are always freed.
45900
45901 * util/i386/pc/biosdisk.c (make_device_name): Add one into
45902 DOS_PART, as a DOS partition is counted from one instead of zero
45903 now. Reported by Robert Millan.
45904
ddd5cee9 459052006-10-14 Robert Millan <rmh@aybabtu.com>
45906
45907 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
45908 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
45909 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
45910 string returned by grub_guess_root_device.
45911 * util/i386/pc/grub-setup.c: Likewise.
45912 * util/i386/pc/grub-probefs.c: Likewise.
45913
45914 * util/i386/pc/grub-probefs.c: Rename to ...
45915 * util/i386/pc/grub-probe.c: ... this.
45916 * DISTLIST: Remove grub-probefs, add grub-probe.
45917 * conf/i386-efi.rmk: Likewise.
45918 * conf/i386-pc.rmk: Likewise.
45919 * util/i386/pc/grub-install.in: Likewise.
45920
45921 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
45922 choose which information we want to print.
45923
2b002173 459242006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
45925
45926 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
45927 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
45928 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
45929 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
45930 video/readers/tga.c and video/i386/pc/vbeutil.c.
45931
459322006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
45933
45934 Added support for RAID and LVM.
f19dbdb7 45935
2b002173 45936 * disk/lvm.c: New file.
45937 * disk/raid.c: Likewise.
45938 * include/grub/lvm.h: Likewise.
f19dbdb7 45939 * include/grub/raid.h: Likewise.
2b002173 45940 * include/grub/util/lvm.h: Likewise.
45941 * include/grub/util/raid.h: Likewise.
45942 * util/lvm.c: Likewise.
45943 * util/raid.c: Likewise.
45944
45945 * include/grub/disk.h (grub_disk_dev_id): Add
45946 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
45947 (grub_disk_get_size): New prototype.
45948 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
45949 returns a partition.
45950 (grub_disk_get_size): New function.
f19dbdb7 45951
2b002173 45952 * kern/i386/pc/init.c (make_install_device): Copy the prefix
45953 verbatim if grub_install_dos_part is -2.
45954
45955 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
45956 and LVM devices.
45957
45958 * util/i386/pc/grub-setup.c (setup): New argument
45959 MUST_EMBED. Force embedding of GRUB when the argument is
45960 true. Close FILE before returning.
45961 (main): Add support for RAID and LVM.
f19dbdb7 45962
2b002173 45963 * conf/common.rmk: Add RAID and LVM modules.
45964 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
45965 util/lvm.c.
45966 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
45967
45968 * kern/misc.c (grub_strstr): New function.
45969 * include/grub/misc.h (grub_strstr): New prototype.
45970
050548d0 459712006-10-10 Tristan Gingold <tristan.gingold@bull.net>
45972
45973 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
45974
da849d2d 459752006-10-05 Tristan Gingold <tristan.gingold@bull.net>
45976
45977 * kern/misc.c (grub_strtoull): Guess the base only if not
45978 specified.
45979
97b2f2ff 459802006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 45981
45982 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
45983 PowerMac support.
45984
97b2f2ff 459852006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 45986
45987 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
45988
45989 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
45990 Remove `flags' argument. All callers changed.
45991 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
45992 (IEEE1275_IHANDLE_INVALID): New variable.
45993 (IEEE1275_CELL_INVALID): New variable.
45994 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
45995 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
45996 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
45997 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
45998 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
45999 codes from Open Firmware. All callers updated.
46000 (grub_ieee1275_next_property): Directly return Open Firmware return
46001 code.
46002 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
46003 Standardize error checking from `grub_ieee1275_get_property'.
46004 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
46005 `devalias' to `aliases'. Correct comments. Consolidate error paths.
46006
97b2f2ff 460072006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 46008
46009 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
46010 `instance_to_package_args' to `instance_to_path_args'.
46011
46012 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
46013 `grub_ieee1275_chosen'.
46014
46015 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
46016 `grub_ieee1275_interpret'.
46017
97b2f2ff 460182006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 46019
46020 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
46021
97b2f2ff 460222006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 46023
46024 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
46025 (__cmpdi): Likewise.
46026
46027 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
46028 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
46029 `grub_ssize_t'.
46030
02bb8acc 46031 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 46032
46033 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
46034 to type `grub_ssize_t'.
46035 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
46036
7f9a8531 460372006-09-22 Marco Gerards <marco@gnu.org>
46038
46039 * normal/script.c (grub_script_create_cmdmenu): Skip leading
46040 newlines.
46041
b5ef1102 460422006-09-22 Marco Gerards <marco@gnu.org>
46043
46044 * commands/echo.c: New file.
46045
46046 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
46047
46048 * conf/common.rmk (echo_mod_SOURCES): New variable.
46049 (echo_mod_CFLAGS): Likewise.
46050 (echo_mod_LDFLAGS): Likewise.
46051
2cff3677 460522006-09-22 Marco Gerards <marco@gnu.org>
46053
46054 * normal/main.c (get_line): Malloc memory instead of using
46055 preallocated memory. Removed the arguments `cmdline' and
46056 `max_len'. Updated all callers.
46057
6ba4688b 460582006-09-22 Marco Gerards <marco@gnu.org>
46059
46060 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
46061 (normal_mod_DEPENDENCIES): Likewise.
46062
46063 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
46064 (normal_mod_DEPENDENCIES): Likewise.
46065
46066 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
46067
e02ac02c 460682006-09-22 Johan Rydberg <jrydberg@gnu.org>
46069
46070 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
46071 programs.
46072 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
46073 (normal_mod_DEPENDENCIES): Likewise.
46074 * conf/i386-pc.mk: Regenerate.
46075 * conf/i386-efi.mk: Likewise
46076 * conf/common.mk: Likewise.
46077 * conf/powerpc-ieee1275.mk: Likewise.
46078 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 46079
8d252e44 460802006-09-22 Robert Millan <rmh@aybabtu.com>
46081
46082 Sync with i386 version.
46083 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
46084 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
46085
209bf7ac 460862006-09-21 Robert Millan <rmh@aybabtu.com>
46087
46088 Import from GRUB Legacy (lib/device.c):
46089 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
46090 (init_device_map) [__linux__]: Add support for I2O devices.
46091
6b146090 460922006-09-14 Marco Gerards <marco@gnu.org>
46093
46094 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
46095 `-melf_i386'.
46096
e38600a8 460972006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 46098
46099 * util/i386/pc/grub-install.in: Skip menu.lst when removing
46100 /boot/grub/*.lst.
78fa1790 46101
2952da5d 46102 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 46103
2952da5d 46104 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
46105 before adding it to device.map.
46106
01b82a64 461072006-08-15 Johan Rydberg <jrydberg@gnu.org>
46108
fe6b695a 46109 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 46110 compiles a file; using the -MD option.
46111 * conf/common.mk: Regenerate.
46112 * conf/i386-pc.mk: Likewise.
46113 * conf/i386-efi.mk: Likewise.
46114 * conf/powerpc-ieee1275.mk: Likewise.
46115 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 46116
1064790d 461172006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
46118
46119 Move the prototypes of grub_setjmp and grub_longjmp to
46120 cpu/setjmp.h, so that each architecture may specify different
46121 attributes.
f19dbdb7 46122
1064790d 46123 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
46124 (grub_longjmp): Likewise.
46125 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
46126 (grub_longjmp): Likewise.
46127 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
46128 (grub_longjmp): Likewise.
46129
46130 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
46131 [!GRUB_UTIL] (grub_longjmp): Removed.
46132
29dda3ed 461332006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
46134
46135 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
46136 "color!" method does not return any value.
46137
ad2a06ed 461382006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46139
46140 * include/grub/bitmap.h: New file.
46141
46142 * include/grub/i386/pc/vbeutil.h: Likewise.
46143
46144 * video/bitmap.c: Likewise.
46145
46146 * video/readers/tga.c: Likewise.
46147
46148 * video/i386/pc/vbeutil.c: Likewise.
46149
46150 * commands/videotest.c: Code cleanup and updated to reflect to new
46151 video API.
46152
46153 * term/gfxterm.c: Likewise.
46154
46155 * video/video.c: Likewise.
46156
46157 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
46158 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
46159 (bitmap_mod_SOURCES): New entry.
46160 (bitmap_mod_CFLAGS): Likewise.
46161 (bitmap_mod_LDFLAGS): Likewise.
46162 (tga_mod_SOURCES): Likewise.
46163 (tga_mod_CFLAGS): Likewise.
46164 (tga_mod_LDFLAGS): Likewise.
46165
46166 * include/grub/video.h (grub_video_blit_operators): New enum type.
46167 (grub_video_render_target): Changed as forward declaration and moved
46168 actual definition to be video driver specific.
46169 (grub_video_adapter.blit_bitmap): Added blitting operator.
46170 (grub_video_adapter.blit_render_target): Likewise.
46171 (grub_video_blit_bitmap): Likewise.
46172 (grub_video_blit_render_target): Likewise.
46173
46174 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
46175 driver specific render target definition.
46176 (grub_video_vbe_map_rgba): Added driver internal helper.
46177 (grub_video_vbe_unmap_color): Updated to use
46178 grub_video_i386_vbeblit_info.
46179 (grub_video_vbe_get_video_ptr): Likewise.
46180
46181 * include/grub/i386/pc/vbeblit.h
46182 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
46183 grub_video_i386_vbeblit_info.
46184 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
46185 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
46186 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
46187 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
46188 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
46189 (grub_video_i386_vbeblit_index_index): Likewise.
46190 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
46191 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
46192 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
46193 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
46194 operator.
46195 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
46196 operator.
46197
46198 * video/i386/pc/vbeblit.c: Updated to reflect changes on
46199 include/grub/i386/pc/vbeblit.h.
46200
46201 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
46202 Updated to use grub_video_i386_vbeblit_info.
46203 (grub_video_i386_vbefill_R8G8B8): Likewise.
46204 (grub_video_i386_vbefill_index): Likewise.
46205 (grub_video_i386_vbefill): Added generic filler.
46206
46207 * video/i386/pc/vbefill.c: Updated to reflect changes on
46208 include/grub/i386/pc/vbefill.h.
46209
46210 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
46211 grub_video_i386_vbeblit_info.
46212 (grub_video_vbe_unmap_color): Likewise.
46213 (grub_video_vbe_blit_glyph): Likewise.
46214 (grub_video_vbe_scroll): Likewise.
46215 (grub_video_vbe_draw_pixel): Removed function.
46216 (grub_video_vbe_get_pixel): Likewise.
46217 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
46218 updated code to use it.
46219 (common_blitter): Added common blitter for render target and bitmap.
46220 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
46221 (grub_video_vbe_blit_render_target): Likewise.
46222
bc8c036d 462232006-07-30 Johan Rydberg <jrydberg@gnu.org>
46224
46225 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
46226 is in text mode if there is no console control protocol instance
46227 available.
46228
684a8eff 462292006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46230
46231 * include/grub/video.h: Code cleanup.
46232
46233 * include/grub/i386/pc/vbe.h: Likewise.
46234
46235 * video/i386/pc/vbe.c: Likewise.
46236
46237 * video/i386/pc/vbeblit.c: Likewise.
46238
46239 * video/i386/pc/vbefill.c: Likewise.
46240
46241 * video/video.c: Likewise. Also added more comments.
46242
5915059b 462432006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46244
46245 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
46246 (struct grub_biosdisk_dap): Likewise.
46247
46248 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
46249 linkage settings for all functions.
46250
90ce5d56 462512006-07-12 Marco Gerards <marco@gnu.org>
46252
46253 * configure.ac (--enable-mm-debug): Fix typo.
46254
46255 * genkernsyms.sh.in: Use proper quoting for `CC'.
46256
43e7f879 462572006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
46258
46259 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
46260 (normal_mod_ASFLAGS): Remove "-m32".
46261
4889bdec 462622006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
46263
46264 * util/misc.c: Include config.h.
46265 [!HAVE_MEMALIGN]: Do not include malloc.h.
46266 (grub_memalign): Use posix_memalign, if present. Then, use
46267 memalign, if present. Otherwise, emit an error.
46268
46269 * util/grub-emu.c: Do not include malloc.h.
46270
46271 * include/grub/util/misc.h: Include unistd.h. This is required for
46272 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
46273 D. Eades III <hde@foobar-qux.org>.
46274
46275 * configure.ac (AC_GNU_SOURCE): Added.
46276 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
46277 type.
46278
fd39d4da 462792006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
46280
46281 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
46282 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
46283
b786f3b5 462842006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
46285
46286 * include/grub/types.h (grub_host_addr_t): Rename to
46287 grub_target_addr_t.
46288 (grub_host_off_t): Rename to grub_target_off_t.
46289 (grub_host_size_t): Rename to grub_target_size_t.
46290 (grub_host_ssize_t): Rename to grub_target_ssize_t.
46291 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
46292
46293 * include/grub/kernel.h (struct grub_module_header): Change type
46294 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
46295 (grub_module_info): Likewise.
f19dbdb7 46296
051988bb 462972006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
46298
46299 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
46300 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
46301 Velazquez <jesus.velazquez@gmail.com>.
46302
deae281b 463032006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
46304
46305 Count partitions from 1 instead of 0 in the string representation
46306 of partitions. Still use 0-based internally.
f19dbdb7 46307
deae281b 46308 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
46309 (sun_partition_map_iterate): Use grub_partition_t instead of
46310 struct grub_partition *. Cast DESC->START_CYLINDER to
46311 grub_uint64_t after converting the endian.
46312 (sun_partition_map_probe): Subtract 1 for PARTNUM.
46313 (sun_partition_map_get_name): Add 1 to P->INDEX.
46314
46315 * partmap/pc.c (grub_partition_parse): Subtract 1 for
46316 PCDATA->DOS_PART.
46317 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
46318
46319 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
46320 zero instead of one.
46321 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
46322 (gpt_partition_map_get_name): Add 1 into P->INDEX.
46323
46324 * partmap/apple.c (apple_partition_map_iterate): Change the type
46325 of POS to unsigned.
46326 (apple_partition_map_probe): Subtract 1 for PARTNUM.
46327 (apple_partition_map_get_name): Add 1 into P->INDEX.
46328
46329 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
46330 of POS to unsigned.
46331 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
46332 calculate the offset of a partition.
46333 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
46334 (amiga_partition_map_get_name): Add 1 into P->INDEX.
46335
46336 * partmap/acorn.c (acorn_partition_map_find): Change the type of
46337 SECTOR to grub_disk_addr_t.
46338 (acorn_partition_map_iterate): Likewise.
46339 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
46340 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
46341 top.
46342 (acorn_partition_map_get_name): Add 1 into P->INDEX.
46343
46344 * kern/i386/pc/init.c (make_install_device): Add 1 into
46345 GRUB_INSTALL_DOS_PART.
46346
46347 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
46348 conditional.
46349
524a1e6a 463502006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
46351
46352 Clean up the code to support 64-bit addressing in disks and
46353 files. This change is not enough for filesystems yet.
f19dbdb7 46354
524a1e6a 46355 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
46356 type of "start" to grub_uint64_t.
46357 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
46358 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
46359 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
46360 convert addresses.
46361
46362 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
46363 to grub_disk_addr_t.
46364
46365 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
46366 string.
46367
46368 * partmap/pc.c (pc_partition_map_iterate): Likewise.
46369
46370 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
46371 to char *.
46372
46373 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
46374
46375 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
46376
46377 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
46378
46379 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
46380 to grub_off_t, to detect an error from grub_file_seek.
46381 (grub_multiboot_load_elf32): Likewise.
46382
46383 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
46384 maximum unsigned long value when an overflow is detected.
46385 (grub_strtoull): New function.
46386 (grub_divmod64): Likewise.
46387 (grub_lltoa): use grub_divmod64.
46388
46389 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
46390 grub_disk_addr_t.
46391 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
46392 the pointer to next character. Use grub_strtoull instead of
46393 grub_strtoul.
46394 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
46395 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
46396 respectively.
46397
fe6b695a 46398 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 46399 return value is signed.
46400 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
46401 test if OFFSET is less than zero, as OFFSET is unsigned now.
46402
46403 * kern/disk.c (struct grub_disk_cache): Change the type of
46404 "sector" to grub_disk_addr_t.
46405 (grub_disk_cache_get_index): Change the type of SECTOR to
46406 grub_disk_addr_t. Calculate the hash with SECTOR casted to
46407 unsigned after shifting.
46408 (grub_disk_cache_invalidate): Change the type of SECTOR to
46409 grub_disk_addr_t.
46410 (grub_disk_cache_unlock): Likewise.
46411 (grub_disk_cache_store): Likewise.
46412 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
46413 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
46414 grub_disk_addr_t and grub_uint64_t, respectively.
46415 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
46416 body, as the value of OFFSET is tweaked by
46417 grub_disk_check_range. Change the types of START_SECTOR, LEN and
46418 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
46419 respectively.
46420 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
46421 body, as the value of OFFSET is tweaked by
46422 grub_disk_check_range. Change the types of LEN and N to
46423 grub_size_t.
46424
46425 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
46426 and "saved_offset" to grub_off_t.
46427 (test_header): Cast BUF to char *.
46428 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
46429 to char *.
46430 (grub_gzio_read): Change the types of OFFSET and SIZE to
46431 grub_off_t and grub_size_t, respectively.
46432
46433 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
46434 Removed.
46435 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
46436 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
46437 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
46438 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
46439 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
46440
46441 * include/grub/types.h (grub_off_t): Unconditionally set to
46442 grub_uint64_t.
46443 (grub_disk_addr_t): Changed to grub_uint64_t.
46444
46445 * include/grub/partition.h (struct grub_partition): Change the
46446 types of "start", "len" and "offset" to grub_disk_addr_t,
46447 grub_uint64_t and grub_disk_addr_t, respectively.
46448 (grub_partition_get_start): Return grub_disk_addr_t.
46449 (grub_partition_get_len): Return grub_uint64_t.
46450
46451 * include/grub/misc.h (grub_strtoull): New prototype.
46452 (grub_divmod64): Likewise.
46453
46454 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
46455 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
46456 grub_off_t, respectively.
46457 All callers and references changed.
46458
46459 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
46460 grub_size_t in "read".
46461 All callers and references changed.
46462
46463 * include/grub/file.h (struct grub_file): Change the types of
46464 "offset" and "size" to grub_off_t and grub_off_t,
46465 respectively. Change the type of SECTOR to grub_disk_addr_t in
46466 "read_hook".
46467 (grub_file_read): Change the type of LEN to grub_size_t.
46468 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
46469 grub_off_t.
46470 (grub_file_size): Return grub_off_t.
46471 (grub_file_tell): Likewise.
46472 All callers and references changed.
46473
46474 * include/grub/disk.h (struct grub_disk_dev): Change the types of
46475 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
46476 "write".
46477 (struct grub_disk): Change the type of "total_sectors" to
46478 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 46479 "read_hook".
524a1e6a 46480 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
46481 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
46482 (grub_disk_write): Likewise.
46483 All callers and references changed.
46484
46485 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
46486 char * for grub_strncmp to silence gcc.
46487 (grub_iso9660_mount): Likewise.
46488 (grub_iso9660_mount): Likewise.
46489 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
46490 return statement.
46491 (grub_iso9660_iterate_dir): Likewise.
46492 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
46493
46494 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
46495 LEN to grub_disk_addr_t and grub_size_t, respectively.
46496
46497 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
46498
46499 * fs/jfs.c (grub_jfs_read_file): Likewise.
46500
46501 * fs/minix.c (grub_jfs_read_file): Likewise.
46502
46503 * fs/sfs.c (grub_jfs_read_file): Likewise.
46504
46505 * fs/ufs.c (grub_jfs_read_file): Likewise.
46506
46507 * fs/xfs.c (grub_jfs_read_file): Likewise.
46508
46509 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
46510 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
46511 respectively.
46512
46513 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
46514 BLKNR to -1 instead of returning GRUB_ERRNO.
46515 (grub_ext2_read_file): Change the types of SECTOR and
46516 LEN to grub_disk_addr_t and grub_size_t, respectively.
46517
46518 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
46519 LEN to grub_disk_addr_t and grub_size_t, respectively.
46520
46521 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
46522 grub_file_read.
46523
46524 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
46525 string. Do not cast SECTOR explicitly.
46526
46527 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
46528 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
46529 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
46530 grub_disk_addr_t and grub_size_t, respectively. If the sector is
46531 over 2TB and LBA mode is not supported, raise an error.
46532 (get_safe_sectors): New function.
46533 (grub_biosdisk_read): Use get_safe_sectors.
46534 (grub_biosdisk_write): Likewise.
46535
46536 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
46537 (grub_efidisk_write): Likewise.
46538
46539 * disk/loopback.c (delete_loopback): Cosmetic changes.
46540 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
46541 correctly.
46542 (grub_loopback_open): Likewise.
46543 (grub_loopback_read): Likewise. Also, change the type of POS to
46544 grub_off_t, and fix the usage of grub_memset.
46545
46546 * commands/i386/pc/play.c: Include grub/machine/time.h.
46547
46548 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
46549 print FILE->SIZE.
46550
46551 * commands/configfile.c: Include grub/env.h.
46552
46553 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
46554 GRUB_ERRNO directly instead. Change the type of POS to
46555 grub_off_t. Follow the coding standard.
46556
46557 * commands/blocklist.c: Include grub/partition.h.
46558 (grub_cmd_blocklist): Return an error if the underlying device is
46559 not a disk. Take the starting sector of a partition into account,
46560 if a partition is used.
46561
46562 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
46563 a length field.
46564 (lba_mode): Support 64-bit addresses.
46565 (chs_mode): Likewise.
46566 (copy_buffer): Adapted to the new offsets of a length field and a
46567 segment field.
46568 (blocklist_default_start): Allocate 64-bit space.
46569
46570 * boot/i386/pc/boot.S (force_lba): Removed.
46571 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 46572 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 46573 space.
46574 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
46575 is useless.
46576 (lba_mode): Refactored to support a 64-bit address. More size
46577 optimization.
46578 (setup_sectors): Likewise.
46579
53af98ad 465802006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
46581
46582 * DISTLIST: Added include/grub/i386/linux.h. Removed
46583 include/grub/i386/pc/linux.h
46584
46585 * configure.ac (AC_INIT): Bumped to 1.94.
46586
46587 * config.guess: Updated from gnulib.
46588 * config.sub: Likewise.
46589 * install-sh: Likewise.
46590 * mkinstalldirs: Likewise.
46591
b4c1940a 465922006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
46593
46594 * conf/common.rmk (grub_modules_init.lst): Depended on
46595 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
46596 MODSRCFILES.
46597
46598 * genmk.rb (PModule::rule): Reverted the previous change.
46599
cfca1cfd 466002006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
46601
46602 * conf/common.rmk (grub_modules_init.lst): Depends on
46603 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
46604 that the target does not exist before producing.
46605 (grub_modules_init.h): Remove the target before generating.
46606 (grub_emu_init.c): Likewise.
46607
46608 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
46609
aa6d7826 466102006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
46611
46612 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
46613 for the target-specific tests. Make sure that we also have the
46614 up-to-date target variables for those tests.
46615
26c607b9 466162006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
46617
46618 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
46619 (PModule::rule): Likewise.
46620
0162321a 466212006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
46622
46623 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
46624 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
46625 target-specific flags should be prefixed.
46626 (PModule::rule): Likewise.
46627
6c826348 466282006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
46629
46630 * configure.ac (CMP): Check if cmp is available explicitly.
46631
b977bf01 466322006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
46633
46634 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
46635 (target_cpu): New variable.
46636 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 46637
b977bf01 46638 * util/i386/pc/grub-install.in (host_cpu): Removed.
46639 (target_cpu): New variable.
46640 (pkglibdir): Use target_cpu instead of host_cpu.
46641
46642 * util/genmoddep.c: Removed.
f19dbdb7 46643
b977bf01 46644 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
46645 instead of GRUB_HOST_SIZEOF_VOID_P.
46646 * kern/dl.c: Likewise.
46647
46648 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
46649 ...
46650 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
46651 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
46652 (GRUB_TARGET_SIZEOF_LONG): ... this.
46653 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
46654 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
46655 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
46656 to ...
46657 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
46658 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
46659 (GRUB_TARGET_SIZEOF_LONG): ... this.
46660 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
46661 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
46662 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
46663 to ...
46664 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
46665 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
46666 (GRUB_TARGET_SIZEOF_LONG): ... this.
46667 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
46668 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
46669
46670 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
46671 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
46672 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
46673 instead of GRUB_HOST_SIZEOF_LONG.
46674 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
46675 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
46676 GRUB_CPU_WORDS_BIGENDIAN.
46677 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
46678 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
46679 grub_host_ssize_t.
46680
46681 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
46682 (genmoddep_SOURCES): Likewise.
46683 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
46684 (genmoddep_SOURCES): Likewise.
46685 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
46686 (genmoddep_SOURCES): Likewise.
46687 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
46688 Likewise.
46689 (genmoddep_SOURCES): Likewise.
46690
46691 * genmoddep.awk: New file.
46692
46693 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
46694 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
46695 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
46696 (PModule::rule): Likewise.
46697 (Program::rule): Likewise.
46698 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
46699 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
46700 respectively.
46701
46702 * configure.ac: Rewritten intensively to use host and target
46703 instead of build and host, respectively.
46704
46705 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
46706 (host_cpu): Removed.
46707 (target_cpu): New variable.
46708 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
46709 (BUILD_CC): Removed.
46710 (BUILD_CFLAGS): Likewise.
46711 (BUILD_CPPFLAGS): Likewise.
46712 (TARGET_CC): New variable.
46713 (TARGET_CFLAGS): Likewise.
46714 (TARGET_CPPFLAGS): Likewise.
46715 (TARGET_LDFLAGS): Likewise.
46716 (AWK): Likewise.
46717 (include): Use target_cpu instead of host_cpu.
46718 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 46719
b977bf01 46720 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
46721
f09771a1 467222006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
46723
46724 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
46725 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
46726 field 'false' to 'exec_on_false'.
46727 (grub_script_create_cmdif): Renamed argument names to reflect above
46728 changes.
46729
46730 * normal/execute.c (grub_script_execute_cmdif): Likewise.
46731
46732 * normal/script.c (grub_script_create_cmdif): Likewise.
46733
118f4fb3 467342006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
46735
46736 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
46737 top.
46738 (grub_hfsplus_btree_recptr): Likewise.
46739 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
46740 FILEBLOCK both to pass a block number and store next block
46741 number.
46742 (grub_hfsplus_read_block): Rewritten heavily to support an extent
46743 overflow file correctly. Specify errors appropriately, because
46744 fshelp expects that GRUB_ERRNO is set when fails. Reuse
46745 grub_hfsplus_btree_recptr to get the pointer to a found key.
46746 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
46747 is found.
46748
46749 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
46750 linux.mod.
46751 (_linux_mod_SOURCES): New variable.
46752 (_linux_mod_CFLAGS): Likewise.
46753 (_linux_mod_LDFLAGS): Likewise.
46754 (linux_mod_SOURCES): Likewise.
46755 (linux_mod_CFLAGS): Likewise.
46756 (linux_mod_LDFLAGS): Likewise.
46757
46758 * DISTLIST: Added loader/i386/efi/linux.c,
46759 loader/i386/efi/linux_normal.c and
46760 include/grub/i386/efi/loader.h.
46761
46762 * loader/i386/efi/linux.c: New file.
46763 * loader/i386/efi/linux_normal.c: Likewise.
46764 * include/grub/i386/efi/loader.h: Likewise.
46765
89a7d726 467662006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
46767
46768 * commands/blocklist.c: New file.
46769
46770 * DISTLIST: Added commands/blocklist.c.
46771
46772 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 46773 color for the background, and a darker color for the foreground.
89a7d726 46774 (grub_console_checkkey): Return READ_KEY.
46775 (grub_console_cls): Set the background to
46776 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
46777
46778 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
46779
46780 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
46781 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
46782
46783 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
46784 prototype.
46785
46786 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
46787 BG. The spec is wrong again.
46788
46789 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
46790 prototype.
46791 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
46792
46793 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
46794 commands/blocklist.c.
46795 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 46796
89a7d726 46797 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
46798 (blocklist_mod_SOURCES): New variable.
46799 (blocklist_mod_CFLAGS): Likewise.
46800 (blocklist_mod_LDFLAGS): Likewise.
46801
75c8f258 468022006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
46803
46804 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
46805 duplication.
46806 (lba_mode): Use %eax more intensively to reduce the code size.
46807
da2eb181 468082006-05-20 Marco Gerards <marco@gnu.org>
46809
46810 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
46811
46812 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
46813 for `menuentry'.
46814 (script): Accept leading newlines.
46815 (newlines): New rule to describe 0 or more newlines.
46816 (commands): Accept `command' with trailing newline. Fixed the
46817 order in which arguments were passed to `grub_script_add_cmd'.
46818 Accept commands separated by newlines.
46819 (function): Changed to accept newlines.
46820 (menuentry) Rewritten.
46821
46822 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
46823 front of the list, instead of to the end.
46824
577b4050 468252006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
46826
46827 * util/i386/pc/grub-install.in (bindir): New variable.
46828 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
46829 Shaver <lbgwjl@gmail.com>.
46830
0d6e1189 468312006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
46832
46833 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
46834 grub/machine/linux.h
46835 * loader/i386/pc/linux.c: Likewise.
46836
46837 * include/grub/i386/pc/linux.h: Moved to ...
46838 * include/grub/i386/linux.h: ... here.
46839
46840 * include/grub/i386/linux.h (struct linux_kernel_params): New
46841 struct.
f19dbdb7 46842
31b86e9f 468432006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
46844
46845 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
46846 checking.
46847 (grub_video_vbe_blit_glyph): Likewise.
46848 (grub_video_vbe_blit_bitmap): Likewise.
46849 (grub_video_vbe_blit_render_target): Likewise.
46850
83b984de 468512006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
46852
46853 * configure.ac (--with-platform): Properly quote the square
46854 brackets.
46855
5f0413bd 468562006-05-08 Marco Gerards <marco@gnu.org>
46857
46858 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
46859 this...
46860 (kernel_elf_HEADERS): ...to this. Updated all users.
46861 (grubof_symlist.c): Renamed from this...
46862 (kernel_elf_symlist.c): ...to this. Updated all users.
46863 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
46864 (grubof_SOURCES): Renamed from this...
46865 (kernel_elf_SOURCES): ...to this.
46866 (grubof_HEADERS): Renamed from this...
46867 (kernel_elf_HEADERS): ...to this.
46868 (grubof_CFLAGS): Renamed from this...
46869 (kernel_elf_CFLAGS): ...to this.
46870 (grubof_ASFLAGS): Renamed from this...
46871 (kernel_elf_ASFLAGS): ...to this.
46872 (grubof_LDFLAGS): Renamed from this...
46873 (kernel_elf_LDFLAGS): ...to this.
46874
46875 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
46876 this...
46877 (kernel_elf_HEADERS): ...to this. Updated all users.
46878 (grubof_symlist.c): Renamed from this...
46879 (kernel_elf_symlist.c): ...to this. Updated all users.
46880 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
46881 (grubof_SOURCES): Renamed from this...
46882 (kernel_elf_SOURCES): ...to this.
46883 (grubof_HEADERS): Renamed from this...
46884 (kernel_elf_HEADERS): ...to this.
46885 (grubof_CFLAGS): Renamed from this...
46886 (kernel_elf_CFLAGS): ...to this.
46887 (grubof_ASFLAGS): Renamed from this...
46888 (kernel_elf_ASFLAGS): ...to this.
46889 (grubof_LDFLAGS): Renamed from this...
46890 (kernel_elf_LDFLAGS): ...to this.
46891
46892 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
46893 `kernel.elf' instead of `grubof'.
46894
05568c2e 468952006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
46896
46897 Add --with-platform to configure. Use pkglibdir instead of
46898 pkgdatadir. This is reported by Roger Leigh.
46899
46900 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
46901 (host_vendor): Likewise.
46902 (host_os): Likewise.
46903 (pkgdatadir): Likewise.
46904 (platform): New variable.
46905 (pkglibdir): Likewise.
46906 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 46907
05568c2e 46908 * util/i386/pc/grub-install.in (datadir): Removed.
46909 (host_vendor): Likewise.
46910 (host_os): Likewise.
46911 (pkgdatadir): Likewise.
46912 (platform): New variable.
46913 (pkglibdir): Likewise.
46914 Use PKGLIBDIR instead of PKGDATADIR.
46915
46916 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
46917 instead of GRUB_DATADIR.
46918 (main): Likewise.
46919 * util/i386/pc/grub-mkimage.c (usage): Likewise.
46920 (main): Likewise.
46921 * util/i386/efi/grub-mkimage.c (usage): Likewise.
46922 (main): Likewise.
46923
46924 * configure.ac (--with-platform): New option.
46925 Use PLATFORM instead of HOST_VENDOR to specify a platform.
46926
46927 * Makefile.in: Include a makefile based on PLATFORM instead of
46928 HOST_VENDOR.
46929 (pkgdatadir): Not appended by the machine type.
46930 (pkglibdir): Appended by the machine type.
46931 (host_vendor): Removed.
46932 (platform): New variable.
46933 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
46934 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
46935 (uninstall): Likewise.
46936
4e93851c 469372006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
46938
46939 Use the environment context in the menu. Remove the commands
46940 "default" and "timeout", and use variables instead.
f19dbdb7 46941
4e93851c 46942 * normal/menu.c: Include grub/env.h.
46943 (print_entry): Cast TITLE to silence gcc.
46944 (get_timeout): New function.
46945 (set_timeout): Likewise.
46946 (get_entry_number): Likewise.
46947 (run_menu): Use a default entry, a fallback entry and a timeout
46948 in the environment variables "default", "fallback" and
46949 "timeout". Also, tweak the default entry if it is not within the
46950 current menu entries.
46951 (grub_menu_run): Use a fallback entry in the environment variable
46952 "fallback".
46953
46954 * normal/main.c (read_config_file): Do not initialize
46955 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
46956 NEWMENU->TIMEOUT.
46957 (grub_normal_execute): Use a data slot to store the menu.
46958
46959 * include/grub/normal.h (struct grub_menu): Removed default_entry,
46960 fallback_entry and timeout.
46961 (struct grub_menu_list): Removed.
46962 (grub_menu_list_t): Likewise.
46963 (struct grub_context): Likewise.
46964 (grub_context_t): Likewise.
46965 (grub_context_get): Likewise.
46966 (grub_context_get_current_menu): Likewise.
46967 (grub_context_push_menu): Likewise.
46968 (grub_context_pop_menu): Likewise.
46969 (grub_default_init): Likewise.
46970 (grub_default_fini): Likewise.
46971 (grub_timeout_init): Likewise.
46972 (grub_timeout_fini): Likewise.
46973
46974 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
46975 and timeout.mod.
46976 (normal_mod_SOURCES): Removed normal/context.c.
46977
46978 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
46979 commands/default.c, commands/timeout.c and normal/context.c.
46980 (normal_mod_SOURCES): Removed normal/context.c.
46981
46982 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
46983 commands/timeout.c and normal/context.c.
46984 (normal_mod_SOURCES): Removed normal/context.c.
46985
46986 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
46987 commands/default.c, commands/timeout.c and normal/context.c.
46988 (normal_mod_SOURCES): Removed normal/context.c.
46989
46990 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
46991 timeout.mod.
46992 (default_mod_SOURCES): Removed.
46993 (default_mod_CFLAGS): Likewise.
46994 (default_mod_LDFLAGS): Likewise.
46995 (timeout_mod_SOURCES): Removed.
46996 (timeout_mod_CFLAGS): Likewise.
46997 (timeout_mod_LDFLAGS): Likewise.
46998
46999 * DISTLIST: Removed commands/default.c, commands/timeout.c and
47000 normal/context.c.
47001
47002 * commands/default.c: Removed.
47003 * commands/timeout.c: Likewise.
47004 * normal/context.c: Likewise.
47005
1eb9cc1d 470062006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
47007
47008 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
47009
385bd9c1 470102006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
47011
47012 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
47013 "next" to "prev" for readability.
47014 (struct grub_env_sorted_var): New struct.
47015 (grub_env_context): Renamed to ...
47016 (initial_context): ... this.
47017 (grub_env_var_context): Renamed to ...
47018 (current_context): ... this.
47019 (grub_env_find): Look only at CURRENT_CONTEXT.
47020 (grub_env_context_open): Rewritten to copy exported variables from
47021 previous context.
47022 (grub_env_context_close): Rewritten according to the new
47023 scheme. Also, add an assertion to prevent the initial context from
47024 removed.
47025 (grub_env_insert): Removed the code for the sorted list.
47026 (grub_env_remove): Likewise.
47027 (grub_env_export): Simply mark the variable with
47028 GRUB_ENV_VAR_GLOBAL.
47029 (grub_env_set): A cosmetic change for naming consistency.
47030 (grub_env_get): Likewise.
47031 (grub_env_unset): Likewise.
47032 (grub_env_iterate): Rewritten to sort variables within this
47033 function.
47034 (grub_register_variable_hook): Fixed for naming consistency. Call
47035 grub_env_find again, only if NAME is not found at the first time.
47036 (mangle_data_slot_name): New function.
47037 (grub_env_set_data_slot): Likewise.
47038 (grub_env_get_data_slot): Likewise.
47039 (grub_env_unset_data_slot): Likewise.
47040
47041 * include/grub/env.h (grub_env_var_type): New enum.
47042 (GRUB_ENV_VAR_LOCAL): New constant.
47043 (GRUB_ENV_VAR_GLOBAL): Likewise.
47044 (GRUB_ENV_VAR_DATA): Likewise.
47045 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
47046 "type".
47047 (grub_env_set): Replace VAR with NAME for consistency.
47048 (grub_register_variable_hook): Likewise.
47049 (grub_env_export): Specify the name of the argument.
47050 (grub_env_set_data_slot): New prototype.
47051 (grub_env_get_data_slot): Likewise.
47052 (grub_env_unset_data_slot): Likewise.
47053
7f362539 470542006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
47055
47056 Extend the loader so that GRUB can accept a loader which comes
47057 back to GRUB when a loaded image exits. Also, this change adds
47058 support for a chainloader on EFI.
f19dbdb7 47059
7f362539 47060 * term/efi/console.c: Include grub/misc.h.
47061 (grub_console_checkkey): Display a scan code on the top for
47062 debugging. This will be removed once the EFI port gets stable.
47063 Correct the scan code mapping.
47064
47065 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
47066 allocate memory from larger regions, in order to reduce the number
47067 of allocated regions. Otherwise, the MacOSX loader panics.
47068 (filter_memory_map): Avoid less than 1MB for compatibility with
47069 other loaders.
47070 (add_memory_regions): Allocate from the tail of a region, if
47071 possible, to avoid allocating a region near to 1MB, for the MacOSX
47072 loader.
47073
47074 * kern/efi/init.c (grub_efi_set_prefix): Specify
47075 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
47076
47077 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
47078 argument IMAGE_HANDLE and specify it to get a loaded image.
47079 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
47080 grub_efi_get_loaded_image.
fe6b695a 47081 (grub_efi_get_filename): Divide the length by the size of
7f362539 47082 grub_efi_char16_t.
47083 (grub_efi_get_device_path): New function.
47084 (grub_efi_print_device_path): Print End Device Path nodes. Divide
47085 the length by the size of grub_efi_char16_t for a file path device
47086 path node.
47087
47088 * kern/loader.c (grub_loader_noreturn): New variable.
47089 (grub_loader_set): Accept a new argument NORETURN. Set
47090 GRUB_LOADER_NORETURN to NORETURN.
47091 All callers changed.
47092 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
47093 grub_machine_fini.
47094
47095 * include/grub/efi/efi.h (grub_efi_get_device_path): New
47096 prototype.
47097 (grub_efi_get_loaded_image): Take an argument to specify an image
47098 handle.
47099
47100 * include/grub/loader.h (grub_loader_set): Added one more argument
47101 NORETURN.
47102
47103 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
47104 instead of grub_efi_open_protocol.
47105 (grub_efidisk_get_device_name): Likewise.
47106 (grub_efidisk_close): Print a newline.
47107 (grub_efidisk_get_device_handle): Fixed to use
47108 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
47109 GRUB_EFI_DEVICE_PATH_TYPE.
47110
47111 * disk/efi/efidisk.c (device_path_guid): Moved to ...
47112 * kern/efi/efi.c (device_path_guid): ... here.
47113
47114 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
47115 chain.mod.
47116 (kernel_mod_HEADERS): Added efi/disk.h.
47117 (_chain_mod_SOURCES): New variable.
47118 (_chain_mod_CFLAGS): Likewise.
47119 (_chain_mod_LDFLAGS): Likewise.
47120 (chain_mod_SOURCES): Likewise.
47121 (chain_mod_CFLAGS): Likewise.
47122 (chain_mod_LDFLAGS): Likewise.
47123
47124 * DISTLIST: Added include/grub/efi/chainloader.h,
47125 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
47126
47127 * include/grub/efi/chainloader.h: New file.
47128 * loader/efi/chainloader.c: Likewise.
47129 * loader/efi/chainloader_normal.c: Likewise.
47130
c0111d6e 471312006-04-30 Marco Gerards <marco@gnu.org>
47132
47133 * commands/configfile.c (grub_cmd_source): New function.
47134 (GRUB_MOD_INIT): Register the commands `source' and `.'.
47135 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
47136
df5341da 471372006-04-30 Marco Gerards <marco@gnu.org>
47138
47139 * normal/execute.c (grub_script_execute_cmd): Change the return
47140 type to `grub_err_t'. Correctly return the error.
47141 (grub_script_execute_cmdline): In case a command line is not a
47142 command or a function, try to interpret it as an assignment.
47143
f85934bd 471442006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
47145
47146 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
47147 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
47148 skip a node whose name is obviously invalid as UTF-16,
47149 i.e. contains a NUL character. Stop the iteration when the last
47150 directory entry is found. Instead of using the return value of
47151 grub_hfsplus_btree_iterate_node, store the value in RET and use
47152 it, because the iterator can be stopped by the last directory
47153 entry.
47154
8f8a2cf8 471552006-04-30 Marco Gerards <marco@gnu.org>
47156
47157 * include/grub/env.h (grub_env_export): New prototype. Reported
47158 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
47159
a27e84ce 471602006-04-30 Marco Gerards <marco@gnu.org>
47161
47162 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
47163 size of the extents in a catalog file record.
47164
eaef0553 471652006-04-29 Marco Gerards <marco@gnu.org>
47166
47167 * commands/configfile.c (grub_cmd_configfile): Execute the
47168 configfile within its own context.
47169
47170 * include/grub/env.h (grub_env_context_open): New prototype.
47171 (grub_env_context_close): Likewise.
47172
47173 * kern/env.c (grub_env): Removed.
47174 (grub_env_sorted): Likewise.
47175 (grub_env_context): New variable.
47176 (grub_env_var_context): Likewise.
47177 (grub_env_find): Search both the active context and the global
47178 context.
47179 (grub_env_context_open): New function.
47180 (grub_env_context_close): Likewise.
47181 (grub_env_insert): Likewise.
47182 (grub_env_remove): Likewise.
47183 (grub_env_export): Likewise.
47184 (grub_env_set): Changed to use helper functions to avoid code
47185 duplication.
47186 (grub_env_iterate): Rewritten so both the current context and the
47187 global context are being used.
47188
47189 * normal/command.c (export_command): New function.
47190 (grub_command_init): Register the `export' function.
47191
7b455f4d 471922006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
47193
47194 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
47195 explicitly to suppress gcc's warnings.
47196 * fs/fat.c (grub_fat_find_dir): Likewise.
47197 (grub_fat_label): Likewise.
47198 * fs/xfs.c (grub_xfs_read_inode): Likewise.
47199 (grub_xfs_mount): Likewise.
47200 (grub_xfs_label): Likewise.
47201 * fs/affs.c (grub_affs_mount): Likewise.
47202 (grub_affs_label): Likewise.
47203 (grub_affs_iterate_dir): Likewise.
47204 * fs/sfs.c (grub_sfs_mount): Likewise.
47205 (grub_sfs_iterate_dir): Likewise.
47206 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
47207 * fs/hfs.c (grub_hfs_mount): Likewise.
47208 (grub_hfs_cmp_catkeys): Likewise.
47209 (grub_hfs_find_dir): Likewise.
47210 (grub_hfs_dir): Likewise.
47211 (grub_hfs_label): Likewise.
47212 * fs/jfs.c (grub_jfs_mount): Likewise.
47213 (grub_jfs_opendir): Likewise.
47214 (grub_jfs_getent): Likewise.
47215 (grub_jfs_lookup_symlink): Likewise.
47216 (grub_jfs_label): Likewise.
47217 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
47218 (grub_hfsplus_iterate_dir): Likewise.
47219 (grub_hfsplus_btree_iterate_node): Made static.
47220
47221 * util/grub-emu.c (prefix): New variable.
47222 (grub_machine_set_prefix): New function.
47223 (main): Do not set the environment variable "prefix" here. Only
47224 set PREFIX, which is used later by grub_machine_set_prefix.
47225
47226 * include/grub/video.h: Do not include grub/symbol.h.
47227 (grub_video_register): Not exported. This symbol is not defined in
47228 the kernel.
47229 (grub_video_unregister): Likewise.
47230 (grub_video_iterate): Likewise.
47231 (grub_video_setup): Likewise.
47232 (grub_video_restore): Likewise.
47233 (grub_video_get_info): Likewise.
47234 (grub_video_get_blit_format): Likewise.
47235 (grub_video_set_palette): Likewise.
47236 (grub_video_get_palette): Likewise.
47237 (grub_video_set_viewport): Likewise.
47238 (grub_video_get_viewport): Likewise.
47239 (grub_video_map_color): Likewise.
47240 (grub_video_map_rgb): Likewise.
47241 (grub_video_map_rgba): Likewise.
47242 (grub_video_fill_rect): Likewise.
47243 (grub_video_blit_glyph): Likewise.
47244 (grub_video_blit_bitmap): Likewise.
47245 (grub_video_blit_render_target): Likewise.
47246 (grub_video_scroll): Likewise.
47247 (grub_video_swap_buffers): Likewise.
47248 (grub_video_create_render_target): Likewise.
47249 (grub_video_delete_render_target): Likewise.
47250 (grub_video_set_active_render_target): Likewise.
47251
47252 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
47253 Undefined.
47254 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
47255
47256 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
47257 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47258 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47259 instead of $(srcdir)/genkernsyms.sh.
47260
47261 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
47262 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47263 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47264 instead of $(srcdir)/genkernsyms.sh.
47265
47266 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
47267 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47268 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47269 instead of $(srcdir)/genkernsyms.sh.
47270
47271 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
47272 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47273 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47274 instead of $(srcdir)/genkernsyms.sh.
47275
47276 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
47277 genkernsyms.sh.
47278
47279 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
47280 genkernsyms.sh.
47281 (gensymlist.sh): New target.
47282 (genkernsyms.sh): Likewise.
47283
47284 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
47285 genkernsyms.sh.in and gensymlist.sh.in.
47286
47287 * genkernsyms.sh: Removed.
47288 * gensymlist.sh: Likewise.
f19dbdb7 47289
7b455f4d 47290 * genkernsyms.sh.in: New file.
47291 * gensymlist.sh.in: Likewise.
47292
1885bb27 472932006-04-25 Hollis Blanchard <hollis@penguinppc.org>
47294
47295 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
47296 clobber "prefix", since we may have already set it manually.
47297
71538dff 472982006-04-25 Hollis Blanchard <hollis@penguinppc.org>
47299
47300 * kern/misc.c (abort): New alias for grub_abort.
47301
2965c7cc 473022006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
47303
47304 A new machine-specific function "grub_machine_set_prefix" is
47305 defined. This is called after loading modules, so that a prefix
47306 initialization can use modules. Also, this change adds an
47307 intensive debugging feature for the memory manager via the
47308 configure option "--enable-mm-debug".
f19dbdb7 47309
2965c7cc 47310 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
47311 PART.LEN.
47312
47313 * kern/sparc64/ieee1275/init.c (abort): Removed.
47314 (grub_stop): Likewise.
47315 (grub_exit): New function.
47316 (grub_set_prefix): Renamed to ...
47317 (grub_machine_set_prefix): ... this.
47318 (grub_machine_init): Do not call grub_set_prefix.
47319
47320 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
47321 (grub_machine_set_prefix): ... this.
47322 (grub_machine_init): Do not call grub_set_prefix.
47323
47324 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
47325 (grub_machine_init): Do not set the prefix here.
47326
47327 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
47328
47329 * kern/efi/init.c: Include grub/mm.h.
47330 (grub_efi_set_prefix): New function.
47331
47332 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
47333 (grub_efi_get_filename): New function.
47334 (grub_print_device_path): Renamed to ...
47335 (grub_efi_print_device_path): ... this.
47336
47337 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
47338 [MM_DEBUG] (grub_realloc): Likewise.
47339 [MM_DEBUG] (grub_free): Likewise.
47340 [MM_DEBUG] (grub_memalign): Likewise.
47341 [MM_DEBUG] (grub_mm_debug): New variable.
47342 [MM_DEBUG] (grub_debug_malloc): New function.
47343 [MM_DEBUG] (grub_debug_free): New function.
47344 [MM_DEBUG] (grub_debug_realloc): New function.
47345 [MM_DEBUG] (grub_debug_memalign): New function.
47346
47347 * kern/misc.c (grub_abort): Print a newline to distinguish
47348 the message.
47349
47350 * kern/main.c (grub_main): Call grub_machine_set_prefix and
47351 grub_set_root_dev after loading modules. This is necessary when
47352 setting a prefix depends on modules.
47353
47354 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
47355 (grub_efi_print_device_path): ... this.
47356 (grub_efi_get_filename): New prototype.
47357 (grub_efi_set_prefix): Likewise.
47358
47359 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
47360 and grub/disk.h.
47361 (grub_efidisk_get_device_handle): New prototype.
47362 (grub_efidisk_get_device_name): Likewise.
47363
47364 * include/grub/mm.h: Include config.h.
47365 (MM_DEBUG): Removed.
47366 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
47367 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
47368 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
47369 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
47370 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
47371 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
47372 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
47373 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
47374 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
47375
47376 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
47377
47378 * disk/efi/efidisk.c: Include grub/partition.h.
47379 (iterate_child_devices): New function.
47380 (add_device): First, compare only last device path nodes, so that
47381 devices are sorted by the types.
47382 (grub_efidisk_get_device_handle): New function.
47383 (grub_efidisk_get_device_name): Likewise.
47384
47385 * configure.ac (--enable-mm-debug): New option to enable the
47386 memory manager debugging feature. This makes the binary much
47387 bigger, so is disabled by default.
47388
9cacaa17 473892006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
47390
47391 Use grub_abort instead of grub_stop, and grub_exit must be
47392 define in each architecture now. Also, this change adds support
47393 for EFI disks.
f19dbdb7 47394
9cacaa17 47395 * util/i386/pc/grub-probefs.c: Include grub/term.h.
47396 (grub_getkey): New function.
47397 (grub_term_get_current): Likewise.
47398
47399 * util/i386/pc/grub-setup.c: Include grub/term.h.
47400 (grub_getkey): New function.
47401 (grub_term_get_current): Likewise.
47402
47403 * util/misc.c (grub_stop): Renamed to ...
47404 (grub_exit): ... this.
47405
47406 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
47407 (grub_exit): ... this.
47408 (grub_machine_init): Use grub_abort instead of abort.
47409 (grub_stop): Removed.
47410
47411 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
47412 abort.
47413
47414 * kern/i386/pc/startup.S (grub_exit): New function.
47415 (cold_reboot): New label.
47416
47417 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
47418 (grub_efi_init): Call grub_efidisk_init.
47419 (grub_efi_fini): Call grub_efidisk_fini.
47420
47421 * kern/efi/efi.c: Include grub/mm.h.
47422 (grub_efi_console_control_guid): Renamed to ...
47423 (console_control_guid): ... this.
47424 (grub_efi_loaded_image_guid): Renamed to ...
47425 (loaded_image_guid): ... this.
47426 (grub_efi_locate_handle): New function.
47427 (grub_efi_open_protocol): Likewise.
47428 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
47429 GRUB_EFI_CONSOLE_CONTROL_GUID.
47430 (grub_efi_exit): Removed.
47431 (grub_stop): Likewise.
47432 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
47433 (grub_exit): New function.
47434 (grub_print_device_path): Likewise.
47435
47436 * kern/rescue.c (grub_rescue_cmd_exit): New function.
47437 (grub_enter_rescue_mode): Register "exit".
47438
47439 * kern/misc.c (grub_real_dprintf): A cosmetic change.
47440 (grub_abort): New function.
47441
47442 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
47443
47444 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
47445
47446 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
47447
47448 * include/grub/efi/efi.h (grub_efi_exit): Removed.
47449 (grub_print_device_path): New prototype.
47450 (grub_efi_locate_handle): Likewise.
47451 (grub_efi_open_protocol): Likewise.
47452
47453 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
47454 * disk/efi/efidisk.c: Likewise.
47455
47456 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
47457
47458 * include/grub/efi/console_control.h
47459 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
47460
47461 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
47462 last 8 bytes as an array.
47463 (GRUB_EFI_DISK_IO_GUID): New macro.
47464 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
47465 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
47466 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
47467 grub_uint8_t.
47468 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
47469 (struct grub_efi_device_path): Rename the member "sub_type" to
47470 "subtype".
47471 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
47472 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
47473 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
47474 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
47475 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
47476 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
47477 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
47478 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
47479 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
47480 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
47481 (struct grub_efi_pci_device_path): New structure.
47482 (grub_efi_pci_device_path_t): New type.
47483 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
47484 (struct grub_efi_pccard_device_path): New structure.
47485 (grub_efi_pccard_device_path_t): New type.
47486 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
47487 (struct grub_efi_memory_mapped_device_path): New structure.
47488 (grub_efi_memory_mapped_device_path_t): New type.
47489 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
47490 (struct grub_efi_vendor_device_path): New structure.
47491 (grub_efi_vendor_device_path_t): New type.
47492 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
47493 (struct grub_efi_controller_device_path): New structure.
47494 (grub_efi_controller_device_path_t): New type.
47495 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
47496 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
47497 (struct grub_efi_acpi_device_path): New structure.
47498 (grub_efi_acpi_device_path_t): New type.
47499 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
47500 (struct grub_efi_expanded_acpi_device_path): New structure.
47501 (grub_efi_expanded_acpi_device_path_t): New type.
47502 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
47503 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
47504 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
47505 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
47506 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
47507 (struct grub_efi_atapi_device_path): New structure.
47508 (grub_efi_atapi_device_path_t): New type.
47509 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
47510 (struct grub_efi_fibre_channel_device_path): New structure.
47511 (grub_efi_fibre_channel_device_path_t): New type.
47512 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
47513 (struct grub_efi_1394_device_path): New structure.
47514 (grub_efi_1394_device_path_t): New type.
47515 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
47516 (struct grub_efi_usb_device_path): New structure.
47517 (grub_efi_usb_device_path_t): New type.
47518 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
47519 (struct grub_efi_usb_class_device_path): New structure.
47520 (grub_efi_usb_class_device_path_t): New type.
47521 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
47522 (struct grub_efi_i2o_device_path): New structure.
47523 (grub_efi_i2o_device_path_t): New type.
47524 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
47525 (struct grub_efi_mac_address_device_path): New structure.
47526 (grub_efi_mac_address_device_path_t): New type.
47527 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
47528 (struct grub_efi_ipv4_device_path): New structure.
47529 (grub_efi_ipv4_device_path_t): New type.
47530 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
47531 (struct grub_efi_ipv6_device_path): New structure.
47532 (grub_efi_ipv6_device_path_t): New type.
47533 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
47534 (struct grub_efi_infiniband_device_path): New structure.
47535 (grub_efi_infiniband_device_path_t): New type.
47536 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
47537 (struct grub_efi_uart_device_path): New structure.
47538 (grub_efi_uart_device_path_t): New type.
47539 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
47540 (struct grub_efi_vendor_messaging_device_path): New structure.
47541 (grub_efi_vendor_messaging_device_path_t): New type.
47542 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
47543 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
47544 (struct grub_efi_hard_drive_device_path): New structure.
47545 (grub_efi_hard_drive_device_path_t): New type.
47546 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
47547 (struct grub_efi_cdrom_device_path): New structure.
47548 (grub_efi_cdrom_device_path_t): New type.
47549 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
47550 (struct grub_efi_vendor_media_device_path): New structure.
47551 (grub_efi_vendor_media_device_path_t): New type.
47552 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
47553 (struct grub_efi_file_path_device_path): New structure.
47554 (grub_efi_file_path_device_path_t): New type.
47555 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
47556 (struct grub_efi_protocol_device_path): New structure.
47557 (grub_efi_protocol_device_path_t): New type.
47558 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
47559 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
47560 (struct grub_efi_bios_device_path): New structure.
47561 (grub_efi_bios_device_path_t): New type.
47562 (struct grub_efi_disk_io): New structure.
47563 (grub_efi_disk_io_t): New type.
47564 (struct grub_efi_block_io_media): New structure.
47565 (grub_efi_block_io_media_t): New type.
47566 (struct grub_efi_block_io): New structure.
47567 (grub_efi_block_io_t): New type.
47568
47569 * include/grub/misc.h (grub_stop): Removed.
47570 (grub_exit): New prototype.
47571 (grub_abort): Likewise.
47572
47573 * include/grub/disk.h (enum grub_disk_dev_id): Added
47574 GRUB_DISK_DEVICE_EFIDISK_ID.
47575
47576 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
47577 disk/efi/efidisk.c.
47578 (kernel_syms.lst): Remove the target if an error occurs.
47579
49986a9f 475802006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
47581
47582 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
47583 as it was simply too buggy.
47584
970d3b8a 475852006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
47586
47587 * kern/misc.c (grub_lltoa): New function.
47588 (grub_vsprintf): Added support for the long long suffix,
47589 i.e. "ll".
47590
ff04ec24 475912006-04-20 Hollis Blanchard <hollis@penguinppc.org>
47592
47593 * Makefile.in (LDFLAGS): Add variable.
47594 (LD): Remove variable.
47595 * configure.ac: Add -m32 to LDFLAGS.
47596 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
47597 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
47598 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
47599 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
47600 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
47601 variables.
47602 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
47603 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
47604 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
47605
37e5e1a4 476062006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
47607
47608 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
47609 length for unknown glyph.
47610
c352d8dd 476112006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
47612
2eab1c0d 47613 Add support for pre-loaded modules into the EFI port.
f19dbdb7 47614
2eab1c0d 47615 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
47616 completely. Accept one more argument DIR. The caller has changed.
47617
47618 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
47619
47620 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
47621 (grub_efi_loaded_image_guid): New variable.
47622 (grub_efi_get_loaded_image): New function.
47623 (grub_arch_modules_addr): Likewise.
47624
47625 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
47626 prototype.
47627
47628 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
47629 (struct grub_efi_loaded_image): New structure.
47630 (grub_efi_loaded_image_t): New type.
47631
476322006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 47633
c352d8dd 47634 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
47635 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
47636 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
47637
6d01d6b4 476382006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
47639
47640 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
47641
976a4ea0 476422006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
47643
47644 * DISTLIST: Added include/grub/efi/console.h,
47645 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
47646 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
47647
47648 * include/grub/efi/console.h: New file.
47649 * include/grub/efi/time.h: Likewise.
47650 * include/grub/i386/efi/kernel.h: Likewise.
47651 * kern/efi/init.c: Likewise.
47652 * kern/efi/mm.c: Likewise.
47653 * term/efi/console.c: Likewise.
f19dbdb7 47654
976a4ea0 47655 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
47656 (grub_stop): Removed.
47657 (grub_get_rtc): Likewise.
47658 (grub_machine_init): Simply call grub_efi_init.
47659 (grub_machine_fini): Call grub_efi_fini.
47660
47661 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
47662 (grub_efi_output_string): Removed.
47663 (grub_efi_stall): New function.
47664 (grub_stop): Likewise.
47665 (grub_get_rtc): Likewise.
47666
47667 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
47668 (grub_efi_stall): New prototype.
47669 (grub_efi_allocate_pages): Likewise.
47670 (grub_efi_free_pages): Likewise.
47671 (grub_efi_get_memory_map): Likewise.
47672 (grub_efi_mm_init): Likewise.
47673 (grub_efi_mm_fini): Likewise.
47674 (grub_efi_init): Likewise.
47675 (grub_efi_fini): Likewise.
47676
47677 * include/grub/i386/efi/time.h: Do not include
47678 grub/symbol.h. Include grub/efi/time.h.
47679 (GRUB_TICKS_PER_SECOND): Removed.
47680 (grub_get_rtc): Likewise.
47681
47682 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
47683 Added padding. The EFI spec is buggy.
47684 (GRUB_EFI_BLACK): New macro.
47685 (GRUB_EFI_BLUE): Likewise.
47686 (GRUB_EFI_GREEN): Likewise.
47687 (GRUB_EFI_CYAN): Likewise.
47688 (GRUB_EFI_RED): Likewise.
47689 (GRUB_EFI_MAGENTA): Likewise.
47690 (GRUB_EFI_BROWN): Likewise.
47691 (GRUB_EFI_LIGHTGRAY): Likewise.
47692 (GRUB_EFI_BRIGHT): Likewise.
47693 (GRUB_EFI_DARKGRAY): Likewise.
47694 (GRUB_EFI_LIGHTBLUE): Likewise.
47695 (GRUB_EFI_LIGHTGREEN): Likewise.
47696 (GRUB_EFI_LIGHTCYAN): Likewise.
47697 (GRUB_EFI_LIGHTRED): Likewise.
47698 (GRUB_EFI_LIGHTMAGENTA): Likewise.
47699 (GRUB_EFI_YELLOW): Likewise.
47700 (GRUB_EFI_WHITE): Likewise.
47701 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
47702 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
47703 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
47704 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
47705 (GRUB_EFI_BACKGROUND_RED): Likewise.
47706 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
47707 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
47708 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
47709 (GRUB_EFI_TEXT_ATTR): Likewise.
47710
47711 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
47712 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
47713 (kernel_mod_HEADERS): Added efi/time.h.
47714
83709125 477152006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
47716
47717 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
47718 include/grub/efi/api.h, include/grub/efi/console_control.h,
47719 include/grub/efi/efi.h, include/grub/efi/pe32.h,
47720 include/grub/i386/efi/time.h, kern/efi/efi.c,
47721 kern/i386/efi/init.c, kern/i386/efi/startup.S,
47722 and util/i386/efi/grub-mkimage.c.
47723
47724 * Makefile.in (RMKFILES): Added i386-efi.rmk.
47725
47726 * genmk.rb (PModule#rule): Do not export symbols if
47727 #{prefix}_EXPORTS is set to "no".
47728
47729 * conf/i386-efi.mk: New file.
47730 * conf/i386-efi.rmk: Likewise.
47731 * include/grub/efi/api.h: Likewise.
47732 * include/grub/efi/console_control.h: Likewise.
47733 * include/grub/efi/efi.h: Likewise.
47734 * include/grub/efi/pe32.h: Likewise.
47735 * include/grub/i386/efi/time.h: Likewise.
47736 * kern/efi/efi.c: Likewise.
47737 * kern/i386/efi/init.c: Likewise.
47738 * kern/i386/efi/startup.S: Likewise.
47739 * util/i386/efi/grub-mkimage.c: Likewise.
47740
477412006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 47742
47743 * include/grub/script.h: Include <grub/parser.h> and
47744 "grub_script.tab.h".
47745 (struct grub_lexer_param): New struct.
47746 (struct grub_parser_param): Likewise.
47747 (grub_script_create_arglist): Pass the state in an argument.
47748 (grub_script_add_arglist): Likewise.
47749 (grub_script_create_cmdline): Likewise.
47750 (grub_script_create_cmdblock): Likewise.
47751 (grub_script_create_cmdif): Likewise.
47752 (grub_script_create_cmdmenu): Likewise.
47753 (grub_script_add_cmd): Likewise.
47754 (grub_script_arg_add): Likewise.
47755 (grub_script_lexer_ref): Likewise.
47756 (grub_script_lexer_deref): Likewise.
47757 (grub_script_lexer_record_start): Likewise.
47758 (grub_script_lexer_record_stop): Likewise.
47759 (grub_script_mem_record): Likewise.
47760 (grub_script_mem_record_stop): Likewise.
47761 (grub_script_malloc): Likewise.
47762 (grub_script_yylex): Likewise.
47763 (grub_script_yyparse): Likewise.
47764 (grub_script_yyerror): Likewise.
47765 (grub_script_yylex): Likewise.
47766 (grub_script_lexer_init): Return the state.
47767
47768 * normal/lexer.c (grub_script_lexer_state): Removed variable.
47769 (grub_script_lexer_done): Likewise.
47770 (grub_script_lexer_getline): Likewise.
47771 (grub_script_lexer_refs): Likewise.
47772 (script): Likewise.
47773 (newscript): Likewise.
47774 (record): Likewise.
47775 (recording): Likewise.
47776 (recordpos): Likewise.
47777 (recordlen): Likewise.
47778 (grub_script_lexer_init): Return the state instead of setting
47779 global variables.
47780 (grub_script_lexer_ref): Use the newly added argument for state
47781 instead of globals.
47782 (grub_script_lexer_deref): Likewise.
47783 (grub_script_lexer_record_start): Likewise.
47784 (grub_script_lexer_record_stop): Likewise.
47785 (recordchar): Likewise.
47786 (nextchar): Likewise.
47787 (grub_script_yylex2): Likewise.
47788 (grub_script_yylex): Likewise.
47789 (grub_script_yyerror): Likewise.
47790
47791 * normal/parser.y (func_mem): Removed variable.
47792 (menu_entry): Likewise.
47793 (err): Likewise.
47794 (%lex-param): New parser option.
47795 (%parse-param): Likewise.
47796 (script): Always return the AST.
47797 (argument): Pass the state around.
47798 (arguments): Likewise.
47799 (grubcmd): Likewise.
47800 (commands): Likewise.
47801 (function): Likewise.
47802 (menuentry): Likewise.
47803 (if_statement): Likewise.
47804 (if): Likewise.
47805
47806 * normal/script.c (grub_script_memused): Removed variable.
47807 (grub_script_parsed): Likewise.
47808 (grub_script_malloc): Added a state argument. Use that instead of
47809 global variables.
47810 (grub_script_mem_record): Likewise.
47811 (grub_script_mem_record_stop): Likewise.
47812 (grub_script_arg_add): Likewise.
47813 (grub_script_add_arglist): Likewise.
47814 (grub_script_create_cmdline): Likewise.
47815 (grub_script_create_cmdif): Likewise.
47816 (grub_script_create_cmdmenu): Likewise.
47817 (grub_script_add_cmd): Likewise.
47818 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 47819
e2a8c904 478202006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 47821
47822 * normal/command.c (grub_command_init): Remove the title command.
47823
47824 * normal/lexer.c (grub_script_yylex): Renamed from this...
47825 (grub_script_yylex2): ... to this.
47826 (grub_script_yylex): New function. Temporary
47827 introduced to filter some tokens.
47828 (grub_script_yyerror): Print a newline.
47829
47830 * normal/main.c (read_config_file): Output information about the
47831 lines that contain errors. Wait for a key after all lines have
47832 been processed. Don't return an empty menu.
47833
47834 * normal/parser.y (func_mem): Don't initialize.
47835 (menu_entry): Likewise.
47836 (err): New variable.
47837 (script): Don't return anything when an error was encountered.
47838 (ws, returns): Removed rules.
47839 (argument): Disabled concatenated variable support.
47840 (arguments): Remove explicit separators.
47841 (grubcmd): Likewise.
47842 (function): Likewise.
47843 (menuentry): Likewise.
47844 (if): Likewise.
47845 (commands): Likewise. Add error handling.
47846
47847 * normal/script.c (grub_script_create_cmdline): If
47848 `grub_script_parsed' is 0, assume the parser encountered an error.
47849
c9a86192 478502006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
47851
47852 * configure.ac: Add support for EFI. Fix the typo
47853 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
47854
70f3b243 478552006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
47856
47857 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
47858 foreign multibyte characters should be shown correctly.
47859
65f201ad 478602006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
47861
47862 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
47863 calculation.
47864 (read_config_file): Made it to close file before returning.
47865
b4b93674 478662006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
47867
47868 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
47869 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
47870 video/i386/pc/vbefill.c.
47871
47872 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
47873 video/i386/pc/vbefill.c.
47874
47875 * include/grub/video.h (grub_video_blit_format): New enum.
47876 (grub_video_mode_info): Added new member blit_format.
47877 (grub_video_get_blit_format): New function prototype.
47878
47879 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
47880 function prototype.
47881 (grub_video_vbe_map_rgb): Likewise.
47882 (grub_video_vbe_unmap_color): Likewise.
47883
47884 * include/grub/i386/pc/vbeblit.h: New file.
47885
47886 * include/grub/i386/pc/vbefill.h: New file.
47887
47888 * video/video.c (grub_video_get_blit_format): New function.
47889 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
47890 (grub_video_vbe_map_rgb): Likewise.
47891 (grub_video_vbe_unmap_color): Likewise.
47892
47893 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
47894 optimized fills.
47895 (grub_video_vbe_blit_render_target): Changed to use more optimized
47896 blits.
47897 (grub_video_vbe_setup): Added detection for optimized settings.
47898 (grub_video_vbe_create_render_target): Likewise.
47899
47900 * video/i386/pc/vbeblit.c: New file.
47901
47902 * video/i386/pc/vbefill.c: New file.
47903
c2379b9c 479042006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
47905
47906 * font/manager.c (grub_font_get_glyph): Removed font fixup from
47907 here...
47908
47909 * util/unifont2pff.rb: ... and moved it to here. Improved argument
47910 parsing to support both hex and dec ranges. If filename was missing
47911 show usage information.
47912
bd0d7896 479132006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
47914
47915 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
47916 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
47917
47918 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
47919 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
47920 (video_mod_SOURCES): Added.
47921 (video_mod_CFLAGS): Likewise.
47922 (video_mod_LDFLAGS): Likewise.
47923 (gfxterm_mod_SOURCES): Likewise.
47924 (gfxterm_mod_CFLAGS): Likewise.
47925 (gfxterm_mod_LDFLAGS): Likewise.
47926 (videotest_mod_SOURCES): Likewise.
47927 (videotest_mod_CFLAGS): Likewise.
47928 (videotest_mod_LDFLAGS): Likewise.
47929 (vesafb_mod_SOURCES): Removed.
47930 (vesafb_mod_CFLAGS): Likewise.
47931 (vesafb_mod_LDFLAGS): Likewise.
47932 (vga_mod_SOURCES): Likewise.
47933 (vga_mod_CFLAGS): Likewise.
47934 (vga_mod_LDFLAGS): Likewise.
47935
47936 * commands/videotest.c: New file.
47937
47938 * font/manager.c (fill_with_default_glyph): Modified to use
47939 grub_font_glyph.
47940 (grub_font_get_glyph): Likewise.
47941 (fontmanager): Renamed from this...
47942 (font_manager): ... to this.
47943
47944 * include/grub/font.h (grub_font_glyph): Added new structure.
47945 (grub_font_get_glyph): Modified to use grub_font_glyph.
47946
47947 * include/grub/misc.h (grub_abs): Added as inline function.
47948
47949 * include/grub/video.h: New file.
47950
47951 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
47952 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
47953 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
47954 (grub_vbe_get_controller_info): Renamed from this...
47955 (grub_vbe_bios_get_controller_info): ... to this.
47956 (grub_vbe_get_mode_info): Renamed from this...
47957 (grub_vbe_bios_get_mode_info): ... to this.
47958 (grub_vbe_set_mode): Renamed from this...
47959 (grub_vbe_bios_set_mode): ... to this.
47960 (grub_vbe_get_mode): Renamed from this...
47961 (grub_vbe_bios_get_mode): ... to this.
47962 (grub_vbe_set_memory_window): Renamed from this...
47963 (grub_vbe_bios_set_memory_window): ... to this.
47964 (grub_vbe_get_memory_window): Renamed from this...
47965 (grub_vbe_bios_get_memory_window): ... to this.
47966 (grub_vbe_set_scanline_length): Renamed from this...
47967 (grub_vbe_set_scanline_length): ... to this.
47968 (grub_vbe_get_scanline_length): Renamed from this...
47969 (grub_vbe_bios_get_scanline_length): ... to this.
47970 (grub_vbe_set_display_start): Renamed from this...
47971 (grub_vbe_bios_set_display_start): ... to this.
47972 (grub_vbe_get_display_start): Renamed from this...
47973 (grub_vbe_bios_get_display_start): ... to this.
47974 (grub_vbe_set_palette_data): Renamed from this...
47975 (grub_vbe_bios_set_palette_data): ... to this.
47976 (grub_vbe_set_pixel_rgb): Removed.
47977 (grub_vbe_set_pixel_index): Likewise.
47978
47979 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
47980 from this...
47981 (grub_vbe_bios_get_controller_info): ... to this.
47982 (grub_vbe_get_mode_info): Renamed from this...
47983 (grub_vbe_bios_get_mode_info): ... to this.
47984 (grub_vbe_set_mode): Renamed from this...
47985 (grub_vbe_bios_set_mode): ... to this.
47986 (grub_vbe_get_mode): Renamed from this...
47987 (grub_vbe_bios_get_mode): ... to this.
47988 (grub_vbe_set_memory_window): Renamed from this...
47989 (grub_vbe_bios_set_memory_window): ... to this.
47990 (grub_vbe_get_memory_window): Renamed from this...
47991 (grub_vbe_bios_get_memory_window): ... to this.
47992 (grub_vbe_set_scanline_length): Renamed from this...
47993 (grub_vbe_set_scanline_length): ... to this.
47994 (grub_vbe_get_scanline_length): Renamed from this...
47995 (grub_vbe_bios_get_scanline_length): ... to this.
47996 (grub_vbe_set_display_start): Renamed from this...
47997 (grub_vbe_bios_set_display_start): ... to this.
47998 (grub_vbe_get_display_start): Renamed from this...
47999 (grub_vbe_bios_get_display_start): ... to this.
48000 (grub_vbe_set_palette_data): Renamed from this...
48001 (grub_vbe_bios_set_palette_data): ... to this.
48002 (grub_vbe_bios_get_controller_info): Fixed problem with registers
48003 getting corrupted after calling it. Added more pushes and pops.
48004 (grub_vbe_bios_set_mode): Likewise.
48005 (grub_vbe_bios_get_mode): Likewise.
48006 (grub_vbe_bios_get_memory_window): Likewise.
48007 (grub_vbe_bios_set_scanline_length): Likewise.
48008 (grub_vbe_bios_get_scanline_length): Likewise.
48009 (grub_vbe_bios_get_display_start): Likewise.
48010 (grub_vbe_bios_set_palette_data): Likewise.
48011
48012 * normal/cmdline.c (cl_set_pos): Refresh the screen.
48013 (cl_insert): Likewise.
48014 (cl_delete): Likewise.
48015
48016 * term/gfxterm.c: New file.
48017
48018 * term/i386/pc/vesafb.c: Removed file.
48019
48020 * video/video.c: New file.
48021
48022 * video/i386/pc/vbe.c (real2pm): Added new function.
48023 (grub_video_vbe_draw_pixel): Likewise.
48024 (grub_video_vbe_get_video_ptr): Likewise.
48025 (grub_video_vbe_get_pixel): Likewise
48026 (grub_video_vbe_init): Likewise.
48027 (grub_video_vbe_fini): Likewise.
48028 (grub_video_vbe_setup): Likewise.
48029 (grub_video_vbe_get_info): Likewise.
48030 (grub_video_vbe_set_palette): Likewise.
48031 (grub_video_vbe_get_palette): Likewise.
48032 (grub_video_vbe_set_viewport): Likewise.
48033 (grub_video_vbe_get_viewport): Likewise.
48034 (grub_video_vbe_map_color): Likewise.
48035 (grub_video_vbe_map_rgb): Likewise.
48036 (grub_video_vbe_map_rgba): Likewise.
48037 (grub_video_vbe_unmap_color): Likewise.
48038 (grub_video_vbe_fill_rect): Likewise.
48039 (grub_video_vbe_blit_glyph): Likewise.
48040 (grub_video_vbe_blit_bitmap): Likewise.
48041 (grub_video_vbe_blit_render_target): Likewise.
48042 (grub_video_vbe_scroll): Likewise.
48043 (grub_video_vbe_swap_buffers): Likewise.
48044 (grub_video_vbe_create_render_target): Likewise.
48045 (grub_video_vbe_delete_render_target): Likewise.
48046 (grub_video_vbe_set_active_render_target): Likewise.
48047 (grub_vbe_set_pixel_rgb): Remove function.
48048 (grub_vbe_set_pixel_index): Likewise.
48049 (index_color_mode): Remove static variable.
48050 (active_mode): Likewise.
48051 (framebuffer): Likewise.
48052 (bytes_per_scan_line): Likewise.
48053 (grub_video_vbe_adapter): Added new static variable.
48054 (framebuffer): Likewise.
48055 (render_target): Likewise.
48056 (initial_mode): Likewise.
48057 (mode_in_use): Likewise.
48058 (mode_list): Likewise.
48059
5f97350b 480602006-03-10 Marco Gerards <marco@gnu.org>
48061
48062 * configure.ac (AC_INIT): Bumped to 1.93.
48063
48064 * DISTLIST: Added `include/grub/hfs.h'.
48065
a3c5c6f8 480662006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
48067
48068 * boot/i386/pc/boot.S (general_error): Before looping, try INT
48069 18H, which might help the BIOS falling back to next boot media.
48070
6de53d26 480712006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
48072
48073 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
48074 Poe Chen <poe.poechen@gmail.com>.
48075
77c4a393 480762006-01-17 Marco Gerards <marco@gnu.org>
48077
48078 * include/grub/normal.h: Include <grub/script.h>.
48079 (grub_command_list): Removed struct.
48080 (grub_command_list_t): Removed type.
48081 (grub_menu_entry): Remove members `num' and `command_list'. Add
48082 members `commands' and `sourcecode'.
48083 * include/grub/script.h: Add inclusion guards.
48084 (grub_script_cmd_menuentry): New struct.
48085 (grub_script_execute_menuentry): New prototype.
48086 (grub_script_lexer_record_start): Likewise.
48087 (grub_script_lexer_record_stop): Likewise.
48088 * normal/execute.c (grub_script_execute_menuentry): New function.
48089 * normal/lexer.c (record, recording, recordpos, recordlen): New
48090 variables.
48091 (grub_script_lexer_record_start): New function.
48092 (grub_script_lexer_record_stop): Likewise.
48093 (recordchar): Likewise.
48094 (nextchar): Likewise.
48095 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
48096 2048 as the buffer size. Add the tokens `menuentry' and `@'.
48097 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
48098 (current_menu): New variable.
48099 (free_menu): Mainly rewritten.
48100 (grub_normal_menu_addentry): New function.
48101 (read_config_file): Rewritten.
48102 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 48103 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 48104 the menu entry.
48105 (run): Mainly rewritten.
48106 * normal/parser.y (menu_entry): New variable.
48107 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
48108 (menuentry): New rule.
48109 (command): Add `menuentry'.
48110 (if_statement): Allow additional returns before `fi'.
48111 * normal/script.c (grub_script_create_cmdmenu): New function.
48112
144f1f98 481132006-01-03 Marco Gerards <marco@gnu.org>
48114
48115 * INSTALL: GNU Bison is required.
48116 * configure.ac: Rewritten the test to detect Bison.
48117 * Makefile.in (YACC): New variable. Reported by Xun Sun
48118 <xun.sun.cn@gmail.com>.
48119
af4b2d89 481202006-01-03 Marco Gerards <marco@gnu.org>
48121
48122 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
48123 the HFS+ filesystem to filesystem blocks.
48124 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
48125 GCC warning is silenced.
48126
15643b71 481272006-01-03 Marco Gerards <marco@gnu.org>
48128
48129 * partmap/apple.c (apple_partition_map_iterate): Convert the data
48130 read from disk from big endian to host byte order.
48131
00905879 481322006-01-03 Hollis Blanchard <hollis@penguinppc.org>
48133
48134 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
48135 documentation.
48136 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
48137 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
48138 embedded HFS+ filesystem.
48139 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
48140 (grub_hfs_sblock): Move from here...
48141 * include/grub/hfs.h: To here... New file.
48142 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
48143 documentation.
48144 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
48145 New macros.
48146 (grub_hfsplus_volheader): Change type of member `magic' to
48147 `grub_uint16_t'.
48148 (grub_hfsplus_data): Add new member `embedded_offset'.
48149 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
48150 returned block.
48151 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
48152 Calculate the offset.
48153
8899bc3e 481542005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48155
48156 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
48157 Removed.
48158 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
48159
ae8c0277 481602005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48161
48162 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
48163 ENV->NAME is NULL after allocating ENV->VALUE.
48164
07084456 481652005-12-25 Marco Gerards <marco@gnu.org>
48166
48167 * kern/env.c (grub_env_set): Rewritten the error handling code.
48168
4750f5f1 481692005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48170
48171 * geninit.sh: Made more robust, and more portable.
48172
50214199 481732005-12-25 Marco Gerards <marco@gnu.org>
48174
48175 Add support for Apple HFS+ filesystems.
f19dbdb7 48176
50214199 48177 * fs/hfsplus.c: New file.
48178
48179 * DISTLIST: Added `fs/hfsplus.c'.
48180
48181 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
48182 (hfsplus_mod_SOURCES): New variable.
48183 (hfsplus_mod_CFLAGS): Likewise.
48184 (hfsplus_mod_LDFLAGS): Likewise.
48185 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
48186 (grub_setup_SOURCES): Likewise.
48187 (grub_mkdevicemap_SOURCES): Likewise.
48188 (grub_emu_SOURCES): Likewise.
48189 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48190
48191 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
48192
48193 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
48194
befaed6c 481952005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48196
48197 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
48198 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
48199 include/grub/parser.h, include/grub/script.h, kern/parser.c,
48200 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
48201 normal/lexer.c, normal/parser.y, normal/script.c, and
48202 partmap/gpt.c.
48203 Removed kern/sparc64/cache.c.
48204
48205 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
48206 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
48207 grub_emu_init.c.
48208
48209 * configure.ac (AC_INIT): Bumped to 1.92.
48210
6a124103 482112005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
48212
48213 * kern/err.c (grub_error_push): Added new function to support error
48214 stacks.
48215 (grub_error_pop): Likewise.
48216 (grub_error_stack_items): New local variable to support error stacks.
48217 (grub_error_stack_pos): Likewise.
48218 (grub_error_stack_assert): Likewise.
48219 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
48220 stack depth.
48221 (grub_print_error): Added support to print errors from error stack.
48222
48223 * include/grub/err.h (grub_error_push): Added function prototype.
48224 (grub_error_pop): Likewise.
48225
be973c1b 482262005-12-09 Hollis Blanchard <hollis@penguinppc.org>
48227
48228 * configure.ac: Accept `powerpc64' as host_cpu.
48229 (amd64): Rename to `biarch32'.
48230
48231 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
48232 non-cacheline-aligned addresses.
48233
48234 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
48235 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
48236 if `size' is non-zero.
48237
b04216ab 482382005-12-03 Marco Gerards <mgerards@xs4all.nl>
48239
48240 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
48241 and `cd' to make sure the filename is not prefixed with a
48242 directory name.
48243 (pkgdata_MODULES): Add `gpt.mod'.
48244 (gpt_mod_SOURCES): New variable.
48245 (gpt_mod_CFLAGS): Likewise.
48246 (gpt_mod_LDFLAGS): Likewise.
48247
48248 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
48249
48250 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
48251 New macro.
48252
48253 * partmap/gpt.c: New file.
48254
48255 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
48256 GPT partition map is detected.
48257
41730ed9 482582005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
48259
48260 * commands/i386/pc/play.c: New file.
48261 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
48262 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
48263 macros.
f19dbdb7 48264
95dc3643 482652005-11-27 Marco Gerards <mgerards@xs4all.nl>
48266
48267 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
48268 ((unused))' to silence gcc warning.
48269
1569ec51 482702005-11-26 Hollis Blanchard <hollis@penguinppc.org>
48271
48272 * configure.ac: Correct `AC_PROG_YACC' test.
48273
9abde152 482742005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48275
48276 * util/powerpc/ieee1275/grub-install.in: Run the mount point
48277 check before installing files.
48278
44b83271 482792005-11-22 Mike Small <smallm@panix.com>
48280
48281 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
48282 number regex so multidigit numbers are recognized correctly.
48283
482842005-11-22 Mike Small <smallm@panix.com>
48285
48286 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
48287 debugging message before attempting to claim memory.
48288 (grub_rescue_cmd_initrd): Add a claim debugging message and try
48289 multiple addresses in case of failure.
48290
9c12956b 482912005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48292
48293 * term/tparm.c (get_space): Remove empty `if' statement.
48294
48295 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
48296
48297 * kern/parser.c (check_varstate): Rename `state' to 's'.
48298
aeaf81d9 482992005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48300
48301 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
48302 variable definitions to the beginning of each function. Sort stack
48303 variables by size.
48304 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
48305 `buf' argument to `char *'.
48306
79bbb63f 483072005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48308
48309 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
48310 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 48311 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 48312 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
48313 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
48314 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
48315 configfile.mod, search.mod, gzio.mod and test.mod.
48316 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
48317 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
48318 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
48319 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
48320 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
48321 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
48322 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
48323 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
48324 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
48325 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
48326 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
48327 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
48328 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
48329 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
48330 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
48331 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
48332 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
48333 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
48334 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
48335 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
48336 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
48337 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
48338 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
48339
48340 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
48341 `grep --include'.
48342 (pkgdata_MODULES): Add test.mod.
48343
233b1628 483442005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48345
48346 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
48347 appending to variables with "+=".
48348 (PModule): Use full pathname to generate *.lst filenames.
48349
48350 * Makefile.in: Fixed list rules moved from genmk.rb.
48351 (.DELETE_ON_ERROR): New special target.
48352 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
48353
48354 * conf/i386-pc.rmk: Include conf/common.mk.
48355 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 48356 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 48357 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
48358 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
48359 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
48360 configfile.mod, search.mod, gzio.mod and test.mod.
48361 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
48362 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
48363 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
48364 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
48365 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
48366 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
48367 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
48368 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
48369 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
48370 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
48371 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
48372 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
48373 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
48374 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
48375 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
48376 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
48377 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
48378 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
48379 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
48380 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
48381 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
48382 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
48383 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
48384 here...
48385 * conf/common.rmk: ... to here. New file.
48386
48387 * conf/common.mk: New file.
48388
16f820c8 483892005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
48390
48391 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
48392 (grub_script.tab.c): ... here.
48393
48394 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
48395 (grub_script.tab.c): ... here.
48396
48397 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
48398 (grub_script.tab.c): ... here.
48399
48400 * normal/command.c (grub_command_find): Fixed a memory leak of
48401 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
48402
63ba1554 484032005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48404
48405 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
48406 "@" which marks the start of a comment on ARM.
48407 (VARIABLE): Likewise.
48408
7f67dc13 484092005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48410
79bbb63f 48411 Add support for Linux/ADFS partition tables.
7f67dc13 48412
48413 * partmap/acorn.c: New file.
48414
48415 * include/grub/acorn_filecore.h: Likewise.
48416
48417 * DISTLIST: Added `partmap/acorn.c' and
48418 `include/grub/acorn_filecore.h'.
f19dbdb7 48419
7f67dc13 48420 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48421 `partmap/acorn.c'.
48422 (pkgdata_MODULES): Add `acorn.mod'.
48423 (acorn_mod_SOURCES): New variable.
48424 (acorn_mod_CFLAGS): Likewise.
48425
48426 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
48427 `partmap/acorn.c'.
48428 (pkgdata_MODULES): Add `acorn.mod'.
48429 (acorn_mod_SOURCES): New variable.
48430 (acorn_mod_CFLAGS): Likewise.
48431
48432 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
48433 (pkgdata_MODULES): Add `acorn.mod'.
48434 (acorn_mod_SOURCES): New variable.
48435 (acorn_mod_CFLAGS): Likewise.
48436 (acorn_mod_LDFLAGS): Likewise.
48437
48438 * include/types.h (grub_disk_addr_t): New typedef.
48439
6d099807 484402005-11-13 Marco Gerards <mgerards@xs4all.nl>
48441
48442 * geninit.sh: New file.
48443
48444 * geninitheader.sh: Likewise.
48445
48446 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
48447 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
48448 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
48449 * commands/configfile.c (grub_configfile_init)
48450 (grub_configfile_fini): Likewise.
48451 * commands/default.c (grub_default_init, grub_default_fini):
48452 Likewise.
48453 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
48454 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
48455 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
48456 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
48457 Likewise.
48458 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
48459 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
48460 Likewise.
48461 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 48462 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 48463 Likewise.
48464 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
48465 Likewise.
fe6b695a 48466 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 48467 Likewise.
48468 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
48469 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
48470 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
48471 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
48472 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
48473 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
48474 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
48475 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
48476 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
48477 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
48478 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
48479 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
48480 * partmap/amiga.c (grub_amiga_partition_map_init)
48481 (grub_amiga_partition_map_fini): Likewise.
48482 * partmap/apple.c (grub_apple_partition_map_init)
48483 (grub_apple_partition_map_fini): Likewise.
48484 * partmap/pc.c (grub_pc_partition_map_init)
48485 (grub_pc_partition_map_fini): Likewise.
48486 * partmap/sun.c (grub_sun_partition_map_init,
48487 grub_sun_partition_map_fini): Likewise.
48488 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
48489 Likewise.
48490
48491 * util/grub-emu.c: Include <grub_modules_init.h>.
48492 (main): Don't initialize and de-initialize any modules directly,
48493 use `grub_init_all' and `grub_fini_all' instead.
48494
48495 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
48496 `grub_vesafb_mod_init'.
48497 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
48498 all users.
48499 * term/i386/pc/vga.c (grub_vga_init): Renamed to
48500 `grub_vga_mod_init'. Updated all users.
48501 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 48502
6d099807 48503 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
48504 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
48505 rules.
48506
48507 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
48508 Generate a function to initialize the module in utilities.
48509 Updated all callers.
48510 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
48511 initialize the module in utilities. Updated all callers.
48512
9046bcf0 485132005-11-09 Hollis Blanchard <hollis@penguinppc.org>
48514
48515 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
48516 escape sequence and a literal ^L to clear the screen.
48517
48518 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
48519 when returning from Open Firmware.
48520
d13ea639 485212005-11-09 Hollis Blanchard <hollis@penguinppc.org>
48522
48523 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
48524 (grub_ofconsole_height): Likewise.
48525 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
48526 manually insert a '\n'.
48527 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
48528 `grub_ofconsole_height'. Return early if these are already set.
48529
a8fcf206 485302005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
48531
48532 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
48533 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
48534 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
48535 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
48536 and `normal/script.c'.
48537 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
48538 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
48539 (test_mod_SOURCES): New variable.
48540 (test_mod_CFLAGS): Likewise.
48541 (test_mod_LDFLAGS): Likewise.
48542 (pkgdata_MODULES): Add `test.mod'.
48543 (grub_script.tab.c): New rule.
48544 (grub_script.tab.h): Likewise.
48545
b6b32745 485462005-11-07 Marco Gerards <mgerards@xs4all.nl>
48547
48548 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48549 `commands/test.c', `normal/execute.c', `normal/lexer.c',
48550 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
48551 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
48552 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
48553 (test_mod_SOURCES): New variable.
48554 (test_mod_CFLAGS): Likewise.
48555 (pkgdata_MODULES): Add `test.mod'.
48556 (grub_script.tab.c): New rule.
48557 (grub_script.tab.h): Likewise.
48558
daac212a 485592005-11-06 Marco Gerards <mgerards@xs4all.nl>
48560
48561 Add initial scripting support.
48562
48563 * commands/test.c: New file.
48564 * include/grub/script.h: Likewise.
48565 * normal/execute.c: Likewise.
48566 * normal/function.c: Likewise.
48567 * normal/lexer.c: Likewise.
48568 * normal/parser.y: Likewise.
48569 * normal/script.c: Likewise.
48570
48571 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 48572
daac212a 48573 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
48574 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
48575 `normal/function.c' and `normal/script.c'.
48576 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
48577 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 48578 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
48579 variables.
daac212a 48580 (pkgdata_MODULES): Add `test.mod'.
48581 (grub_script.tab.c): New rule.
48582 (grub_script.tab.h): Likewise.
48583
48584 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
48585
48586 * include/grub/normal.h (grub_test_init): New prototype.
48587 (grub_test_fini): Likewise.
f19dbdb7 48588
daac212a 48589 * normal/command.c: Include <grub/script.h>.
48590 (grub_command_execute): Rewritten.
f19dbdb7 48591
daac212a 48592 * util/grub-emu.c (main): Call `grub_test_init' and
48593 `grub_test_fini'.
48594
77500b2b 485952005-11-03 Hollis Blanchard <hollis@penguinppc.org>
48596
48597 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
48598 to 0.
48599 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
48600 there are no pending characters.
48601
e45deb9e 486022005-11-03 Hollis Blanchard <hollis@penguinppc.org>
48603
48604 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
48605 `grub_strndup' to drop device arguments. Replace unnecessary
48606 `grub_strndup' with `grub_strdup'.
48607
4ce32619 486082005-11-03 Hollis Blanchard <hollis@penguinppc.org>
48609
48610 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
48611 `debug' environment variable has been set.
48612
486132005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 48614
4ce32619 48615 * Makefile.in (install-local): Use $(DATA).
48616 (uninstall): Likewise.
48617 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
48618 (sbin_UTILITIES): ... to here.
48619 (sbin_SCRIPTS): New variable.
48620 (grub_install_SOURCES): New variable.
48621 * util/powerpc/ieee1275/grub-install.in: New file.
48622 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
48623 variable.
48624 (add_segments): Call `grub_util_get_path'.
48625
25fe6f03 486262005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
48627
48628 From Timothy Baldwin:
48629 * commands/ls.c (grub_ls_list_files): Close FILE with
48630 grub_file_close.
48631 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
48632
04ccf3ec 486332005-10-24 Marco Gerards <mgerards@xs4all.nl>
48634
48635 * include/grub/parser.h: New file.
48636
48637 * kern/parser.c: Likewise.
48638
48639 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
48640 (grub_setup_SOURCES): Likewise.
48641 (grub_probefs_SOURCES): Likewise.
48642 (grub_emu_SOURCES): Likewise.
48643 (kernel_img_HEADERS): Add `parser.h'.
48644
48645 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
48646 (grub_emu_SOURCES): Add `kern/parser.c'.
48647 (grubof_SOURCES): Likewise.
48648
48649 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
48650 (grubof_SOURCES): Add `kern/parser.c'.
48651
48652 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
48653
48654 * kern/misc.c (grub_split_cmdline): Removed function.
48655
48656 * kern/rescue.c: Include <grub/parser.h>.
48657 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
48658 of `grub_split_cmdline'.
48659
48660 * normal/command.c: Include <grub/parser.h>.
48661 (grub_command_execute): Use `grub_parser_split_cmdline' instead
48662 of `grub_split_cmdline'.
48663
48664 * normal/completion.c: Include <grub/parser.h>.
48665 (cmdline_state): New variable.
48666 (iterate_dir): End the filename with a quote depending on the
48667 command line state.
48668 (get_state): new function.
48669 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
48670 split the arguments and determine the current argument. When the
48671 argument string is not quoted, escape all spaces.
48672
6d8f4b0e 486732005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
48674
48675 * normal/sparc64/setjmp.S: New file.
48676
15cf03ed 486772005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
48678
48679 * include/grub/sparc64/libgcc.h: New file.
48680 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
48681 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
48682 normal/sparc64/setjmp.c.
48683
03e8661a 486842005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
48685
48686 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
48687 * kern/sparc64/cache.S: New file.
48688 * kern/sparc64/cache.c: Removed.
48689 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
48690 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
48691 -mtune=ultrasparc.
48692 (COMMON_LDFLAGS): Add -melf64_sparc.
48693 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
48694 (grubof_SOURCES): Use cache.S instead of cache.c.
48695 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
48696 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
48697 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
48698 commented though.
48699 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
48700 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
48701 (linux_mod_CFLAGS): Commented out.
48702 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
48703 out because module isn't built.
48704 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
48705 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
48706 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
48707 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
48708 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
48709 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
48710 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
48711 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
48712 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
48713 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
48714 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
48715 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
48716 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
48717 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
48718
34eeec8a 487192005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
48720
48721 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
48722 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
48723 longer, because HFS should not be used on PC.
48724
708367a3 487252005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48726
48727 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
48728 consistently within the loop.
48729
6fa1251a 487302005-10-15 Marco Gerards <mgerards@xs4all.nl>
48731
48732 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
48733 directory can not be read.
48734
4801580b 487352005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48736
48737 * configure.ac (AC_INIT): Increase the version number to 1.91.
48738
48739 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
48740 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
48741 term/i386/pc/serial.c.
48742
219ad426 487432005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48744
48745 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
48746 file size must be permitted.
48747
48748 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
48749 between %ah and %al.
48750
688e5699 487512005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48752
48753 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
48754 grub_uint64_t.
48755 Call the hook with a NUL-terminated filename.
48756 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
48757 grub_cpu_to_be32.
48758
48759 * kern/term.c (cursor_state): New variable.
48760 (grub_term_set_current): Reset the cursor state on a new
48761 terminal.
48762 (grub_setcursor): Rewritten to use CURSOR_STATE.
48763 (grub_getcursor): New function.
48764
48765 * include/grub/term.h (grub_getcursor): New prototype.
48766
48767 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
48768 integers on ARM. Reported by Timothy Baldwin
48769 <T.E.Baldwin99@members.leeds.ac.uk>.
48770
bb34586c 487712005-10-11 Marco Gerards <mgerards@xs4all.nl>
48772
48773 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
48774 allocated.
48775 (grub_sfs_dir): Likewise.
48776
9a909877 487772005-10-09 Marco Gerards <mgerards@xs4all.nl>
48778
48779 Add support for the SFS filesystem.
48780
48781 * fs/sfs.c: New file.
48782
48783 * DISTLIST: Added `fs/sfs.c'.
48784
48785 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
48786 (grub_probefs_SOURCES): Likewise.
48787 (grub_emu_SOURCES): Likewise.
48788 (pkgdata_MODULES): Add `sfs.mod'.
48789 (sfs_mod_SOURCES): New variable.
48790 (sfs_mod_CFLAGS): Likewise.
48791 (sfs_mod_LDFLAGS): Likewise.
48792
48793 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
48794 (pkgdata_MODULES): Add `sfs.mod'.
48795 (sfs_mod_SOURCES): New variable.
48796 (sfs_mod_CFLAGS): Likewise.
48797
48798 * util/grub-emu.c (main): Call `grub_sfs_init' and
48799 `grub_sfs_fini'.
48800
48801 * include/grub/fs.h (grub_sfs_init): New prototype.
48802 (grub_sfs_fini): Likewise.
48803
57bdbde3 488042005-10-07 Marco Gerards <mgerards@xs4all.nl>
48805
48806 Add support for the AFFS filesystem.
48807
48808 * fs/affs.c: New file.
48809
48810 * DISTLIST: Added `fs/affs.c'.
48811
48812 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
48813 (grub_probefs_SOURCES): Likewise.
48814 (grub_emu_SOURCES): Likewise.
48815 (pkgdata_MODULES): Add `affs.mod'.
48816 (affs_mod_SOURCES): New variable.
48817 (affs_mod_CFLAGS): Likewise.
48818 (affs_mod_LDFLAGS): Likewise.
48819
48820 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
48821 (pkgdata_MODULES): Add `affs.mod'.
48822 (affs_mod_SOURCES): New variable.
48823 (affs_mod_CFLAGS): Likewise.
48824
48825 * util/grub-emu.c (main): Call `grub_affs_init' and
48826 `grub_affs_fini'.
48827
48828 * include/grub/fs.h (grub_affs_init): New prototype.
48829 (grub_affs_fini): Likewise.
48830
047b67e0 488312005-10-01 Marco Gerards <mgerards@xs4all.nl>
48832
48833 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
48834
59b8208a 488352005-10-01 Marco Gerards <mgerards@xs4all.nl>
48836
48837 * configure.ac: Accept `x86_64' as host_cpu. In that case add
48838 `-m32' to CFLAGS.
48839
48840 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
48841 linking.
f19dbdb7 48842
59b8208a 48843 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
48844 (COMMON_LDFLAGS): New variable.
48845 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
48846 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
48847 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
48848 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
48849 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
48850 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
48851 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
48852 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
48853 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
48854 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
48855 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
48856 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
48857 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
48858 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
48859 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
48860 variables.
48861 (normal_mod_ASFLAGS): Add `-m32'.
48862
48863 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
48864 (grub_host_size_t, grub_host_ssize_t): New types.
48865 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 48866 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 48867 `GRUB_HOST_SIZEOF_VOID_P'.
48868
48869 * include/grub/kernel.h (struct grub_module_header): Type of
48870 member offset changed to `grub_host_off_t'. Type of member size
48871 changed to `grub_host_size_t'.
48872 (struct grub_module_info): Type of member offset changed to
48873 `grub_host_off_t'. Type of member size changed to
48874 `grub_host_size_t'.
48875
b4093103 488762005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
48877
48878 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 48879
b4093103 48880 * kern/i386/pc/startup.S (multiboot_header): New label.
48881 (multiboot_entry): Likewise.
48882 (multiboot_trampoline): Likewise.
48883
48884 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
48885 Increased to 0x4A0.
48886
48887 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
48888 put parentheses after a question mark.
48889 [!GRUB_UTIL] (my_mod): New variable.
48890
48891 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
48892
b2499b29 488932005-09-28 Marco Gerards <mgerards@xs4all.nl>
48894
48895 Adds support for the XFS filesystem. Btrees are not supported
48896 yet.
48897
48898 * fs/xfs.c: New file.
48899
48900 * DISTLIST: Added `fs/xfs.c'.
48901
48902 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
48903 (grub_probefs_SOURCES): Likewise.
48904 (grub_emu_SOURCES): Likewise.
48905 (pkgdata_MODULES): Add `xfs.mod'.
48906 (xfs_mod_SOURCES): New variable.
48907 (xfs_mod_CFLAGS): Likewise.
48908
48909 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
48910 (pkgdata_MODULES): Add `xfs.mod'.
48911 (xfs_mod_SOURCES): New variable.
48912 (xfs_mod_CFLAGS): Likewise.
48913
48914 * util/grub-emu.c (main): Call `grub_xfs_init' and
48915 `grub_xfs_fini'.
48916
48917 * include/grub/fs.h (grub_xfs_init): New prototype.
48918 (grub_xfs_fini): Likewise.
48919
f19dbdb7 48920
83d37a62 489212005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
48922
48923 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
48924 color modes, allow greater than 16 colors to be configured as
48925 a default palette.
48926
47d2d65e 489272005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
48928
48929 * normal/completion.c (complete_arguments): Add the qualifier
48930 const into OPTIONS.
48931
48932 From Omniflux <omniflux+lists@omniflux.com>:
48933 * include/grub/terminfo.h: New file.
48934 * include/grub/tparm.h: Likewise.
48935 * include/grub/i386/pc/serial.h: Likewise.
48936 * term/terminfo.c: Likewise.
48937 * term/tparm.c: Likewise.
48938 * term/i386/pc/serial.c: Likewise.
48939 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
48940 serial.mod.
48941 (terminfo_mod_SOURCES): New variable.
48942 (terminfo_mod_CFLAGS): Likewise.
48943 (serial_mod_SOURCES): Likewise.
48944 (serial_mod_CFLAGS): Likewise.
48945
48b671ff 489462005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
48947
48948 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
48949 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
48950 and kern/powerpc/ieee1275/cmain.c, respectively.
48951
48952 * boot/powerpc/ieee1275/crt0.S: Moved to ...
48953 * kern/powerpc/ieee1275/crt0.S: ... here.
48954
48955 * boot/powerpc/ieee1275/cmain.c: Moved to ...
48956 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 48957
48b671ff 48958 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
48959 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
48960 instead of boot/powerpc/ieee1275/crt0.S and
48961 boot/powerpc/ieee1275/cmain.c, respectively.
48962
48963 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
48964 sectors. It was not used anyway.
48965
09fc77a7 489662005-08-30 Hollis Blanchard <hollis@penguinppc.org>
48967
48968 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
48969 `unused parameter' warning.
48970
003789c7 489712005-08-30 Hollis Blanchard <hollis@penguinppc.org>
48972
48973 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
48974 function.
48975 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
48976 getcharwidth.
48977
67f44c86 489782005-08-28 Marco Gerards <metgerards@student.han.nl>
48979
48980 * include/grub/normal.h (enum grub_completion_type): Added
48981 `GRUB_COMPLETION_TYPE_ARGUMENT'.
48982
48983 * normal/cmdline.c (print_completion): Handle
48984 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
48985 * normal/menu_entry.c (store_completion): Likewise.
48986
48987 * normal/completion.c (complete_arguments): New function.
48988 (grub_normal_do_completion): Call `complete_arguments' when the
48989 current words start with a dash.
48990
0b5abe02 489912005-08-27 Marco Gerards <metgerards@student.han.nl>
48992
48993 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
48994 `gzio.mod' instead of `io.mod').
48995
d9864ee1 489962005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
48997
48998 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
48999 (DISTDIRS): Added io and video.
49000 Rewrite the search routine to make an output consistently.
49001
49002 * DISTLIST: Added conf/sparc64-ieee1275.mk,
49003 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
49004 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
49005 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
49006 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
49007 util/powerpc/ieee1275/misc.c.
f19dbdb7 49008
d9864ee1 49009 * include/grub/gzio.h: New file.
49010 * io/gzio.c: Likewise.
f19dbdb7 49011
d9864ee1 49012 * kern/file.c (grub_file_close): Call grub_device_close only if
49013 FILE->DEVICE is not NULL.
49014
49015 * include/grub/mm.h [!NULL] (NULL): New macro.
49016
49017 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
49018
49019 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
49020 (pkgdata_MODULES): Added gzio.mod.
49021 (gzio_mod_SOURCES): New variable.
49022 (gzio_mod_CFLAGS): Likewise.
49023
49024 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
49025 (pkgdata_MODULES): Added gzio.mod.
49026 (gzio_mod_SOURCES): New variable.
49027 (gzio_mod_CFLAGS): Likewise.
49028
49029 * commands/cat.c: Include grub/gzio.h.
49030 (grub_cmd_cat): Use grub_gzfile_open instead of
49031 grub_file_open.
f19dbdb7 49032
d9864ee1 49033 * commands/cmp.c: Include grub/gzio.h.
49034 (grub_cmd_cmp): Use grub_gzfile_open instead of
49035 grub_file_open.
49036
49037 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
49038 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
49039 grub_file_open.
49040 (grub_rescue_cmd_module): Likewise.
49041
fa46f4b5 490422005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49043
49044 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
49045 kern/sparc64/ieee1275/init.c because it contains _start.
49046 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
49047
e9211b5d 490482005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49049
49050 * configure.ac: Add support for sparc64 host with ieee1275
49051 firmware.
49052 * configure: Generated from configure.ac.
49053 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
49054 instead of int.
49055 (grub_ofdisk_read): Likewise.
49056 (grub_ofdisk_open): Use %p to print pointer values, and cast the
49057 pointers as (void *) to remove a warning.
49058 (grub_ofdisk_close): Likewise.
49059 (grub_ofdisk_read): Likewise.
49060 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
49061 returns, so make it return void to remove a warning.
49062 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
49063 Corresponding prototype change.
49064 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
49065 values, and cast the pointers as (void *) to remove a warning.
49066 (grub_mm_dump): Likewise.
49067 * conf/sparc64-ieee1275.mk: New file.
49068 * conf/sparc64-ieee1275.rmk: Likewise.
49069 * include/grub/sparc64/setjmp.h: Likewise.
49070 * include/grub/sparc64/types.h: Likewise.
49071 * include/grub/sparc64/ieee1275/console.h: Likewise.
49072 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
49073 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
49074 * include/grub/sparc64/ieee1275/time.h: Likewise.
49075 * kern/sparc64/cache.c: Likewise.
49076 * kern/sparc64/dl.c: Likewise.
49077 * kern/sparc64/ieee1275/init.c: Likewise.
49078 * kern/sparc64/ieee1275/openfw.c: Likewise.
49079
385c6a92 490802005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
49081
49082 * util/console.c (grub_ncurses_putchar): If C is greater than
49083 0x7f, set C to a question mark.
49084 (grub_ncurses_getcharwidth): New function.
49085 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
49086 getcharwidth.
49087
49088 * normal/menu.c (print_entry): Made aware of Unicode. First,
49089 convert TITLE to UCS-4, and predict the cursor position by
49090 grub_getcharwidth.
49091
49092 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
49093 const to SRC.
49094 * kern/misc.c (grub_utf16_to_utf8): Likewise.
49095
16ccb8b1 490962005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49097
49098 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
49099 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
49100 grub_strcat.
49101
49102 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
49103 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
49104 grub_strcpy and grub_strlen. Take it into account that a space
49105 character is inserted as a delimiter.
49106
6a85ce79 491072005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49108
49109 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 49110 invalid magic in the error.
6a85ce79 49111
49112 * commands/search.c: New file.
f19dbdb7 49113
6a85ce79 49114 * util/grub-emu.c (main): Call grub_search_init and
49115 grub_search_fini.
49116
49117 * kern/rescue.c (grub_rescue_print_disks): Removed.
49118 (grub_rescue_print_devices): New function.
49119 (grub_rescue_cmd_ls): Use grub_device_iterate with
49120 grub_rescue_print_devices instead of grub_disk_dev_iterate with
49121 grub_rescue_print_disks.
49122
49123 * kern/partition.c (grub_partition_iterate): Return the result of
49124 PARTMAP->ITERATE instead of GRUB_ERRNO.
49125
49126 * kern/device.c: Include grub/partition.h.
49127 (grub_device_iterate): New function.
49128
49129 * include/grub/partition.h (grub_partition_iterate): Return int
49130 instead of grub_err_t.
49131
49132 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
49133 prototype.
49134 [GRUB_UTIL] (grub_search_fini): Likewise.
49135
49136 * include/grub/device.h (grub_device_iterate): New prototype.
49137
49138 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
49139 commands/search.c.
49140 (pkgdata_MODULES): Added search.mod.
49141 (search_mod_SOURCES): New variable.
49142 (search_mod_CFLAGS): Likewise.
49143
49144 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
49145 (pkgdata_MODULES): Added search.mod.
49146 (search_mod_SOURCES): New variable.
49147 (search_mod_CFLAGS): Likewise.
49148
49149 * commands/ls.c (grub_ls_list_disks): Renamed to ...
49150 (grub_ls_list_devices): ... this, and use grub_device_iterate.
49151 All callers changed.
49152
49153 * DISTLIST: Added commands/search.c.
49154
ef095434 491552005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49156
49157 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
49158 conversion.
49159 (grub_getcharwidth): New function.
49160
49161 * kern/misc.c (grub_utf8_to_ucs4): New function.
49162
49163 * include/grub/term.h (struct grub_term): Added a new member
49164 "getcharwidth".
49165 (grub_getcharwidth): New prototype.
49166
49167 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
49168
49169 * term/i386/pc/console.c (map_char): New function. Segregated from
49170 grub_console_putchar.
49171 (grub_console_putchar): Use map_char.
49172 (grub_console_getcharwidth): New function.
49173 (grub_console_term): Specified grub_console_getcharwidth as
49174 getcharwidth.
49175
49176 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
49177 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
49178
49179 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
49180 GRUB_ERRNO.
49181 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
49182 on grub_strtoul completely.
49183 (write_char): Declare local variables in the beginning of the
49184 function.
49185 (grub_vesafb_getcharwidth): New function.
49186 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
49187 getcharwidth.
49188
1f0a95e4 491892005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
49190
49191 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
49192 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
49193 commands/i386/pc/vbetest.c.
49194
49195 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
49196 call grub_vbe_get_controller_info again, because the returned
49197 information is volatile.
49198 (grub_vbe_set_video_mode): Mostly rewritten.
49199 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
49200 grub_vbe_status_t correctly.
49201 (grub_vbe_get_video_mode_info): Likewise.
49202 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
49203 several if statements.
49204
49205 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
49206 * commands/i386/pc/vbeinfo.c: ... this.
49207
49208 * commands/i386/pc/vbe_test.c: Renamed to ...
49209 * commands/i386/pc/vbetest.c: ... this.
49210
49211 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
49212 ...
49213 (grub_cmd_vbeinfo): ... this. Save video modes before
49214 iterating. Skip a video mode, if it is not available, not enough
49215 information is given or it is monochrome. Show the memory
49216 model. Leave the interpretation of MODEVAR to grub_strtoul
49217 completely.
49218 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
49219 (GRUB_MOD_FINI): Likewise.
49220
49221 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
49222 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
49223 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
49224 duplicated grub_env_get. Leave the interpretation of MODEVAR to
49225 grub_strtoul completely.
49226 (real2pm): Removed.
49227 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
49228 (GRUB_MOD_FINI): Likewise.
49229
49230 * normal/misc.c: Include grub/mm.h.
49231
49232 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
49233 vbe_list_modes with vbetest.mod and vbeinfo.mod.
49234 (vbe_list_modes_mod_SOURCES): Removed.
49235 (vbe_list_modes_mod_CFLAGS): Likewise.
49236 (vbe_test_mod_SOURCES): Likewise.
49237 (vbe_test_mod_CFLAGS): Likewise.
49238 (vbeinfo_mod_SOURCES): New variable.
49239 (vbeinfo_mod_CFLAGS): Likewise.
49240 (vbetest_mod_SOURCES): Likewise.
49241 (vbetest_mod_CFLAGS): Likewise.
49242
992ffbbe 492432005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
49244
49245 * normal/misc.c: New file.
49246
49247 * DISTLIST: Added normal/misc.c.
f19dbdb7 49248
992ffbbe 49249 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
49250 DISK to HOOK. Call HOOK with DISK.
49251 * partmap/apple.c (apple_partition_map_iterate): Likewise.
49252 * partmap/pc.c (pc_partition_map_iterate): Likewise.
49253 * partmap/sun.c (sun_partition_map_iterate): Likewise.
49254
49255 * normal/menu_entry.c (struct screen): Added a new member
49256 "completion_shown".
49257 (completion_buffer): New global variable.
49258 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
49259 (store_completion): New function.
49260 (complete): Likewise.
49261 (clear_completions): Likewise.
49262 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
49263 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
49264 a tab, call complete.
49265
49266 * normal/completion.c (disk_dev): Removed.
49267 (print_simple_completion): Likewise.
49268 (print_partition_completion): Likewise.
49269 (print_func): New global variable.
49270 (add_completion): Do not take the arguments WHAT or PRINT any
49271 longer. Added a new argument TYPE. Instead of printing directly,
49272 call PRINT_FUNC if not NULL.
49273 All callers changed.
49274 (complete_device): Use a local variable DEV instead of
49275 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
49276 (grub_normal_do_completion): Take a new argument HOOK. Do not
49277 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
49278 empty string, return NULL instead.
49279 All callers changed.
49280
49281 * normal/cmdline.c (print_completion): New function.
49282
49283 * kern/partition.c (grub_partition_iterate): Add an argument DISK
49284 to HOOK.
49285 All callers changed.
49286
49287 * kern/disk.c (grub_print_partinfo): Removed.
49288
49289 * include/grub/partition.h (struct grub_partition_map): Add a new
49290 argument DISK into HOOK of ITERATE.
49291 (grub_partition_iterate): Add a new argument DISK to HOOK.
49292
49293 * include/grub/normal.h (enum grub_completion_type): New enum.
49294 (grub_completion_type_t): New type.
49295 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
49296 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
49297 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
49298 (GRUB_COMPLETION_TYPE_FILE): Likewise.
49299 (grub_normal_do_completion): Added a new argument HOOK.
49300 (grub_normal_print_device_info): New prototype.
49301
49302 * include/grub/disk.h (grub_print_partinfo): Removed.
49303
49304 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
49305 (normal_mod_SOURCES): Likewise.
49306 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49307 (normal_mod_SOURCES): Likewise.
49308
49309 * commands/ls.c (grub_ls_list_disks): Use
49310 grub_normal_print_device_info instead of grub_print_partinfo. Free
49311 PNAME.
49312 (grub_ls_list_files): Use grub_normal_print_device_info instead of
49313 duplicating the code.
49314
0bd41162 493152005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
49316
49317 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 49318 follow GCS more precisely.
49319 * commands/i386/pc/vbe_test.c: Likewise.
49320 * include/grub/i386/pc/vbe.h: Likewise.
49321 * term/i386/pc/vesafb.c: Likewise.
49322 * video/i386/pc/vbe.c: Likewise.
0bd41162 49323
6323696a 493242005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
49325
49326 * DISTLIST: Added term/i386/pc/vesafb.c
49327 DISTLIST: Added video/i386/pc/vbe.c
49328 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
49329 DISTLIST: Added commands/i386/pc/vbe_test.c.
49330 * commands/i386/pc/vbe_list_modes.c: New file.
49331 * commands/i386/pc/vbe_test.c: Likewise.
49332 * term/i386/pc/vesafb.c: Likewise.
49333 * video/i386/pc/vbe.c: Likewise.
49334 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
49335 (grub_vbe_probe) Added prototype.
49336 (grub_vbe_set_video_mode) Likewise.
49337 (grub_vbe_get_video_mode) Likewise.
49338 (grub_vbe_get_video_mode_info) Likewise.
49339 (grub_vbe_set_pixel_rgb) Likewise.
49340 (grub_vbe_set_pixel_index) Likewise.
49341 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
49342 (pkgdata_MODULES): Added vesafb.mod.
49343 (pkgdata_MODULES): Added vbe_list_modes.mod.
49344 (pkgdata_MODULES): Added vbe_test.mod.
49345 (vbe_mod_SOURCES): Added.
49346 (vbe_mod_CFLAGS): Likewise.
49347 (vesafb_mod_SOURCES): Likewise.
49348 (vesafb_mod_CFLAGS): Likewise.
49349 (vbe_list_modes_mod_SOURCES): Likewise.
49350 (vbe_list_modes_mod_CFLAGS): Likewise.
49351 (vbe_test_mod_SOURCES): Likewise.
49352 (vbe_test_mod_CFLAGS): Likewise.
49353
0a74e62f 493542005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
49355
0a74e62f 49356 * normal/command.c (grub_command_execute): If INTERACTIVE is
49357 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
49358 CMDLINE. Disable the pager if INTERACTIVE is true.
49359 All callers are changed.
49360
49361 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
49362 before reading a config file.
49363 * normal/main.c (read_config_file): Even if a command is not
49364 found, register it if it is within an entry.
49365
49366 * util/grub-emu.c: Include sys/types.h and unistd.h.
49367 (options): Added --hold.
49368 (struct arguments): Added a new member "hold".
49369 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
49370 missing.
49371 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
49372 cleared by a debugger, if it is not zero.
49373
49374 * include/grub/normal.h (grub_command_execute): Add an argument
49375 INTERACTIVE.
49376
e51f85ae 493772005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
49378
49379 * DISTLIST: Added include/grub/i386/pc/vbe.h.
49380
e9c6f39b 493812005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
49382
49383 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
49384 program with another one, because the old one didn't detect a bug
49385 in gcc-3.4. Always use regparm 2, because the new test is still
49386 not enough for gcc-4.0. Someone must investigate a simple test
49387 case which detects a bug in gcc-4.0.
49388
8de3495c 493892005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
49390
49391 * DISTLIST: Added normal/completion.c.
49392
49393 * normal/completion.c: New file.
f19dbdb7 49394
8de3495c 49395 * term/i386/pc/console.c (grub_console_getwh): New function.
49396 (grub_console_term): Assign grub_console_getwh to getwh.
49397
49398 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
49399 function is defined in normal/completion.c as
49400 grub_normal_do_completion.
49401 (grub_cmdline_get): Use grub_normal_do_completion instead of
49402 grub_tab_complete.
49403
49404 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
49405 returns non-zero, otherwise return 0.
49406 (grub_partition_iterate): First, probe the partition map. Then,
49407 call ITERATE only for this partition map.
49408
49409 * kern/misc.c (grub_strncmp): Rewritten.
49410
49411 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
49412 returns non-zero. Otherwise return 0.
49413
49414 * include/grub/partition.h (grub_partition_map_iterate): Return
49415 int instead of void.
49416
49417 * include/grub/normal.h (grub_normal_do_completion): New prototype.
49418
49419 * include/grub/misc.h (grub_strncmp): Change the type of N to
49420 grub_size_t.
49421
49422 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
49423 of void.
49424
49425 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 49426 unsigned explicitly before comparing it with I.
8de3495c 49427
49428 * kern/main.c (grub_env_write_root): Add the attribute unused into
49429 VAR.
49430
49431 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
49432 normal/completion.c.
49433 (normal_mod_SOURCES): Likewise.
49434 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
49435 (normal_mod_SOURCES): Likewise.
49436
49437 * normal/command.c (grub_iterate_commands): If ITERATE returns
49438 non-zero, return one immediately.
49439
e85e144b 494402005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
49441
49442 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
49443 * kern/i386/pc/startup.S: Updated Global Descriptor table's
49444 descriptions.
49445 (grub_vbe_get_controller_info): New function.
49446 (grub_vbe_get_mode_info): Likewise.
49447 (grub_vbe_set_mode): Likewise.
49448 (grub_vbe_get_mode): Likewise.
49449 (grub_vbe_set_memory_window): Likewise.
49450 (grub_vbe_get_memory_window): Likewise.
49451 (grub_vbe_set_scanline_length): Likewise.
49452 (grub_vbe_get_scanline_length): Likewise.
49453 (grub_vbe_set_display_start): Likewise.
49454 (grub_vbe_get_display_start): Likewise.
49455 (grub_vbe_set_palette_data): Likewise.
49456 * include/grub/i386/pc/vbe.h: New file.
49457
c46153d2 494582005-08-08 Hollis Blanchard <hollis@penguinppc.org>
49459
49460 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
49461 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
49462 * DISTLIST: Likewise.
49463 * kern/ieee1275/of.c: Moved to ...
49464 * kern/ieee1275/ieee1275.c: ... here.
49465
0cb90c45 494662005-08-08 Hollis Blanchard <hollis@penguinppc.org>
49467
49468 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
49469 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
49470 Pass 0 as `end' parameter to grub_strtoul().
49471
a19fb360 494722005-08-08 Hollis Blanchard <hollis@penguinppc.org>
49473
49474 * include/grub/powerpc/ieee1275/console.h: Do not include
49475 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
49476 ifdef.
49477 (grub_console_cur_color): Remove i386-specific prototype.
49478 (grub_console_real_putchar): Likewise.
49479 (grub_console_checkkey): Likewise.
49480 (grub_console_getkey): Likewise.
49481 (grub_console_getxy): Likewise.
49482 (grub_console_gotoxy): Likewise.
49483 (grub_console_cls): Likewise.
49484 (grub_console_setcursor): Likewise.
49485 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
49486 Include <grub/machine/console.h>.
49487 * term/ieee1275/ofconsole.c: Likewise.
49488
4ac9bd04 494892005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
49490
49491 * Makefile.in (LIBLZO): New variable.
49492
49493 * configure.ac: Check for LZO version 2.
49494
49495 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
49496 lzo/lzo1x.h instead of lzo1x.h.
49497
49498 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
49499 of -llzo.
49500
49501 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
49502 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
49503
49504 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
49505 copying the data from PARTITION to P.
49506
f4917dfd 495072005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
49508
49509 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
49510 negative, unload the module.
49511
49512 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
49513 map is "pc_partition_map" but not "pc".
49514 (usage): Fix the description. The options are --boot-image and
49515 --core-image but not --boot-file or --core-file.
49516 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
49517 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
49518 DEFAULT_DIRECTORY.
49519
49520 * util/i386/pc/grub-install.in: Do not specify --boot-file or
49521 --core-file. Specify INSTALL_DEVICE as an argument.
49522
49523 * util/console.c: Include config.h.
49524 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
49525 [HAVE_NCURSES_H]: Include ncurses.h.
49526 [HAVE_CURSES_H]: Include curses.h.
49527 [!A_NORMAL] (A_NORMAL): Defined as zero.
49528 [!A_STANDOUT] (A_STANDOUT): Likewise.
49529
49530 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
49531 -lncurses.
49532 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
49533
49534 * configure.ac: Check for curses libraries and headers.
49535
49536 * Makefile.in (LIBCURSES): New variable.
49537
49538 * genmk.rb (Script::rule): Set the executable bits.
49539
49540 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
49541 name of the PC partition map is "pc_partition_map" but not "pc".
49542
0e143073 495432005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
49544
49545 * util/i386/pc/grub-install.in (grub_probefs): New variable.
49546 (modules): Likewise.
49547 (usage): Added descriptions for --modules and --grub-probefs.
49548 Handle --modules and --grub-probefs. Save the arguments in MODULES
49549 and GRUB_PROBEFS, respectively.
49550 Auto-detect a filesystem module against GRUBDIR. If the result is
49551 empty and modules are not specified explicitly, abort the
49552 installation. Add the result to MODULES.
49553
49554 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
49555 disk/powerpc/ieee1275/ofdisk.c,
49556 include/grub/powerpc/ieee1275/init.h and
49557 term/powerpc/ieee1275/ofconsole.c.
49558 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
49559 term/ieee1275/ofconsole.c.
49560
49561 * include/grub/powerpc/ieee1275/console.h: Resurrected.
49562
49563 * COPYING: Upgraded to the latest version. Only the address of the
49564 FSF office has changed.
f19dbdb7 49565
efd6e6d5 495662005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
49567
49568 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
49569 kern/ieee1275.c with kern/ieee1275/of.c.
49570
49571 * kern/ieee1275.c: Moved to ...
49572 * kern/ieee1275/of.c: ... here.
49573
8ceafda2 495742005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
49575
49576 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 49577 readability.
8ceafda2 49578
49579 * config.guess: Updated to the latest version from gnulib.
49580 * config.sub: Likewise.
49581 * install.sh: Likewise.
49582 * mkinstalldirs: Likewise.
49583
49584 * include/grub/console.h: Removed. This file is arch-specific. Do
49585 not put this in include/grub.
49586
49587 * include/grub/i386/pc/console.h: Resurrected.
49588
49589 * util/console.c: Include grub/machine/console.h instead of
49590 grub/console.h.
49591 * util/grub-emu.c: Likewise.
49592
267f6cd9 495932005-08-04 Marco Gerards <metgerards@student.han.nl>
49594
49595 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
49596 hardcoded value.
f19dbdb7 49597
267f6cd9 49598 From Vincent Pelletier <subdino2004@yahoo.fr>
49599 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
49600 Redefined to use grub_getwh.
49601 (grub_term): New member named getwh.
49602 (grub_getwh): New prototype.
49603 * kern/term.c (grub_getwh): New function.
49604 * term/i386/pc/console.c (grub_console_getwh): New function.
49605 (grub_console_term): New member `getwh'.
49606 * term/i386/pc/vga.c (grub_vga_getwh): New function.
49607 (grub_vga_term): New member `getwh'.
0b5abe02 49608 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 49609 grub_ssize_t.
49610 (grub_ofconsole_getw): New function.
49611 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
49612 (grub_ofconsole_term): New field named getwh and new initial
49613 value.
49614
3be7266d 496152005-08-03 Hollis Blanchard <hollis@penguinppc.org>
49616
49617 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
49618 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
49619 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
49620 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
49621 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
49622 of <grub/machine/ieee1275.h>.
49623 * commands/ieee1275/reboot.c: Likewise.
49624 * boot/powerpc/ieee1275/ieee1275.c: Move ...
49625 * kern/ieee1275.c: ... to here. All users updated. Change all
49626 parameter structs to use new type `grub_ieee1275_cell_t'.
49627 * term/powerpc/ieee1275/ofconsole.c: Move ...
49628 * term/ieee1275/ofconsole.c: ... to here. All users updated.
49629 * disk/powerpc/ieee1275/ofdisk.c: Move ...
49630 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
49631 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
49632 to return int.
49633 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
49634 Remove unused prototypes. All users updated.
49635 * include/grub/powerpc/ieee1275/console.h: Removed.
49636 * include/grub/powerpc/ieee1275/ieee1275.h: Define
49637 `grub_ieee1275_cell_t'.
49638 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
49639 Cast comparisons with -1 to the correct type.
49640 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
49641 type to match `grub_ieee1275_entry_fn'.
49642
8b5f3938 496432005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
49644
49645 * DISTLIST: Added util/i386/pc/grub-probefs.c.
49646
49647 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
49648 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
49649 partmap/sun.c.
49650 (grub_probefs_SOURCES): New variable.
49651
49652 * util/i386/pc/grub-probefs.c: New file.
49653
49654 * util/i386/pc/grub-setup.c (main): Call
49655 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
49656 grub_hfs_init and grub_jfs_init to initialize the system. Call
49657 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
49658 grub_pc_partition_map_fini to finish the system.
49659
ea409713 496602005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
49661
49662 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
49663 function.
49664 (grub_multiboot_load_elf32): Likewise.
49665 (grub_multiboot_is_elf64): Likewise.
49666 (grub_multiboot_load_elf64): Likewise.
49667 (grub_multiboot_load_elf): Likewise.
49668 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
49669 an ELF32 or ELF64 file.
49670 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
49671
49672 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
49673 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
49674 NULL before calling FS->LABEL.
49675 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
49676 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
49677 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
49678 before calling FS->LABEL.
49679
141a288b 496802005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
49681
49682 * util/i386/pc/grub-install.in (datadir): New variable.
49683 (libdir): Removed.
49684 (pkgdatadir): New variable.
49685 (pkglibdir): Removed.
49686
0d5f8a54 496872005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
49688
49689 * DISTLIST: Added util/i386/pc/grub-install.in.
49690
49691 * util/i386/pc/grub-install.in: New file.
49692
49693 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
49694 (grub_install_SOURCES): Likewise.
49695
49696 * genmk.rb: Added support for scripts.
49697 (Script): New class.
49698 (scripts): New variable.
49699
49700 * Makefile.in (install-local): Install sbin_SCRIPTS by
49701 INSTALL_SCRIPT.
49702 (uninstall): Remove sbin_SCRIPTS.
49703
49704 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
49705 device, try to get a GRUB device by
49706 grub_util_biosdisk_get_grub_dev.
49707 Free DEST_DEV.
49708
49709 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
49710 description for --device-map.
49711
5f968e1e 497122005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
49713
49714 Change the semantics of variable hooks. They now return strings
49715 instead of error values.
f19dbdb7 49716
5f968e1e 49717 * util/i386/pc/grub-setup.c: Include grub/env.h.
49718 (setup): Use grub_device_set_root instead of grub_env_set.
49719
49720 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
49721 grub_env_get instead of grub_device_set_root and
49722 grub_device_get_root, respectively.
49723
49724 * kern/main.c (grub_env_write_root): New function.
49725 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
49726 grub_env_set instead of grub_device_set_root.
49727
49728 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
49729 many variables.
49730 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
49731 rather than calling ENV->WRITE_HOOK afterwards.
49732 (grub_env_get): Return the result of ENV->READ_HOOK rather than
49733 passing a pointer of a pointer.
49734 (grub_register_variable_hook): Change the types of "read_hook" and
49735 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
49736 respectively.
49737 Allocate the default empty string on the heap, because this string
49738 may be freed later.
49739
49740 * kern/device.c: Include grub/env.h.
49741 (grub_device_set_root): Removed.
49742 (grub_device_get_root): Likewise.
49743 (grub_device_open): Use grub_env_get instead of
49744 grub_device_get_root.
49745
49746 * include/grub/env.h (grub_env_read_hook_t): New type.
49747 (grub_env_write_hook_t): Likewise.
49748 (grub_env_var): Change the types of "read_hook" and "write_hook"
49749 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
49750 (grub_register_variable_hook): Likewise.
49751
49752 * include/grub/device.h (grub_device_set_root): Removed.
49753 (grub_device_set_root): Likewise.
49754
49755 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
49756 make sure that DIRNAME terminates with '/', so that
49757 grub_fat_find_dir will fail if PATH is not a directory.
49758
49759 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
49760 from DIRNAME.
49761 Use the qualifier auto for print_files and print_files_long.
49762 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
49763 as a regular file.
49764 Put a newline only if there is no error.
49765 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
49766 used.
49767
896f0afd 497682005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
49769
49770 * kern/partition.c (grub_partition_probe): Initialize PART to
49771 NULL. Otherwise, when no partition map is registered, this returns
49772 a garbage.
49773
b28b81b2 497742005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
49775
49776 * partmap/apple.c (apple_partition_map_iterate): Check if POS
49777 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
49778 valid.
49779
5f3607e0 497802005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
49781
49782 * commands/ls.c (grub_ls_list_disks): Print the filesystem
49783 information on each device, if it does not have partitions. Print
49784 "Device" instead of "Disk", because this function is not specific
49785 to disk devices.
49786
49787 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
49788 static to ensure that it is put on the memory rather than a
49789 register.
49790
502c87e8 497912005-07-17 Yoshinori Okuji <okuji@enbug.org>
49792
49793 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
49794 (grub_cat_init): Likewise.
49795 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
49796 (options): Likewise.
49797 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
49798 (grub_configfile_init): Likewise.
49799 * font/manager.c (GRUB_MOD_INIT): Likewise.
49800 * commands/help.c (GRUB_MOD_INIT): Likewise.
49801 (grub_help_init): Likewise.
49802 * normal/command.c (grub_command_init): Likewise.
49803 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
49804 * disk/loopback.c (grub_loop_init): Likewise.
49805 (GRUB_MOD_INIT): Likewise.
49806 * commands/ls.c (grub_ls_init): Likewise.
49807 (GRUB_MOD_INIT): Likewise.
49808 (options): Likewise.
49809 * commands/boot.c (grub_boot_init): Likewise.
49810 (GRUB_MOD_INIT): Likewise.
49811 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
49812 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
49813 (GRUB_MOD_INIT): Likewise.
49814 * commands/cmp.c (grub_cmp_init): Likewise.
49815 (GRUB_MOD_INIT): Likewise.
49816
49817 * normal/arg.c: Use <> instead of "" to include header files.
49818 (SHORT_ARG_HELP): New macro.
49819 (SHORT_ARG_USAGE): Likewise.
49820 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
49821 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
49822 descriptions.
49823 (find_short): Check if C is 'h' or 'u' explicitly.
49824 (grub_arg_show_help): Use space characters instead of tabs. Treat
49825 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
49826 are shown with --help and --usage only if they are not used for
49827 the command itself.
49828 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
49829 'h' and 'u'.
49830
49831 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
49832 const into "longarg". Change the type of "shortarg" to int.
49833
f806d18e 498342005-07-17 Yoshinori Okuji <okuji@enbug.org>
49835
49836 * boot/i386/pc/boot.S (boot_drive_check): New label.
49837
49838 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
49839 macro.
49840
49841 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
49842 which do not pass a boot drive correctly. Copied from GRUB Legacy.
49843
e293232b 498442005-07-17 Yoshinori Okuji <okuji@enbug.org>
49845
49846 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
49847 When turning off Gate A20, skip the check and return immediately,
49848 because this is not fatal usually.
49849
ebedfd00 498502005-07-17 Yoshinori Okuji <okuji@enbug.org>
49851
49852 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
49853 be 0x7C00 instead of 0x8000.
49854
49855 * boot/i386/pc/pxeboot.S: Rewritten.
49856
49857 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
49858 EXT_C.
49859 (gate_a20_check_state): Read a byte from 0x108000. Invert the
49860 result.
49861
654fc59f 498622005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
49863
49864 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
49865 robustness. This routine now supports a BIOS call and System
49866 Control Port A to modify the gate A20.
49867
49868 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
49869 Increased to 0x440.
49870
09f9923f 498712005-07-12 Hollis Blanchard <hollis@penguinppc.org>
49872
49873 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
49874 device path and resulting ihandle.
49875 (grub_ofdisk_close): dprintf the ihandle being closed.
49876 (grub_ofdisk_read): dprintf function parameters.
49877 * kern/mm.c (grub_mm_init_region): Likewise.
49878 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
49879 (grub_linux_boot): dprintf the Linux entry point, initrd address and
49880 size, and boot arguments.
49881 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
49882 before loading into memory.
49883 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
49884 before loading into memory.
49885
7ef504d8 498862005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
49887
49888 * kern/mm.c: Added much documentation.
49889 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
49890 8, set to 5 instead of 8.
49891
e0f050c2 498922005-07-10 Yoshinori Okuji <okuji@enbug.org>
49893
49894 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
49895
49896 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
49897 (grub_mkdevicemap_SOURCES): New variable.
49898
49899 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
49900 lib/device.c of GRUB Legacy.
49901
7224189a 499022005-07-10 Yoshinori Okuji <okuji@enbug.org>
49903
49904 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
49905 instead of PATH is NULL.
49906
68c864eb 499072005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
49908
49909 * commands/cmp.c (BUFFER_SIZE): New macro.
49910 (grub_cmd_cmp): Close the right file at the right time. Compare
49911 only data just read. Don't report files of different size as
49912 identical. Dynamically allocate buffers. Move variable
49913 declarations at the beginning of function.
49914
e6f3e614 499152005-07-09 Yoshinori Okuji <okuji@enbug.org>
49916
49917 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
49918 reverse.
49919
f8f1559a 499202004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
49921
49922 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
49923 when backspace is pressed at beginning of line.
49924
39c9d41d 499252005-07-03 Yoshinori Okuji <okuji@enbug.org>
49926
49927 * DISTLIST: Added genfslist.sh.
49928
49929 * normal/main.c (fs_module_list): New variable.
49930 (autoload_fs_module): New function.
49931 (read_fs_list): Likewise.
49932 (grub_normal_execute): Call read_fs_list.
49933
49934 * kern/fs.c (grub_fs_autoload_hook): New variable.
49935 (grub_fs_probe): Added support for auto-loading.
49936
49937 * include/grub/normal.h (struct grub_fs_module_list): New struct.
49938 (grub_fs_module_list_t): New type.
49939
49940 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
49941 (grub_fs_autoload_hook): New prototype.
49942
49943 * genfslist.sh: New file.
f19dbdb7 49944
39c9d41d 49945 * genmk.rb: Added a rule to generate a filesystem list.
49946
121c1d83 499472005-06-30 Marco Gerards <metgerards@student.han.nl>
49948
49949 * configure.ac: Fix the test for cross-compiling.
49950
49951 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
49952 define GRUB_UTIL anymore.
49953
49954 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
49955 so this function works on other systems than just big endian.
49956 (load_modules): Likewise.
49957 (add_segments): Likewise.
49958
e75d76e1 499592005-06-23 Hollis Blanchard <hollis@penguinppc.org>
49960
49961 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
49962 contains `l' modifier, get a long from va_arg().
49963
50b5a0a7 499642005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
49965
49966 * kern/mm.c (grub_free): If the next free block which is being
49967 merged is the first free block, set the first block to the block
49968 being freed.
49969 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
49970
89371b20 499712005-05-08 Hollis Blanchard <hollis@penguinppc.org>
49972
49973 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
49974 `grub_ieee1275_chosen'.
49975
168d6e58 499762005-05-08 Hollis Blanchard <hollis@penguinppc.org>
49977
49978 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
49979 (grub_ieee1275_chosen): New variable.
49980 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
49981 `chosen'.
49982 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
49983 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
49984 Rename first argument to `phandle' for consistency.
49985 (grub_ieee1275_get_property_length): Likewise.
49986 (grub_ieee1275_next_property): Likewise. Change type of first argument
49987 to grub_ieee1275_phandle_t.
49988 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
49989 Move export next to declaration.
49990 (grub_ieee1275_chosen): New variable.
49991 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
49992 Correct cosmetic typo.
49993 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
49994 `grub_ieee1275_chosen'.
49995 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
49996 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
49997 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
49998 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
49999 `grub_ieee1275_chosen'.
50000
ca5baa3f 500012005-05-10 Hollis Blanchard <hollis@penguinppc.org>
50002
50003 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
50004 /chosen/bootargs.
50005 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
50006 /chosen/bootargs as "variable=value" pairs.
50007
708b345f 500082005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
50009
50010 * include/grub/misc.h (grub_dprintf): New macro.
50011 (grub_real_dprintf): New prototype.
50012 (grub_strword): Likewise.
50013 (grub_iswordseparator): Likewise.
50014 * kern/misc.c (grub_real_dprintf): New function.
50015 (grub_strword): Likewise.
50016 (grub_iswordseparator): Likewise.
50017
f4c5e67c 500182005-04-30 Hollis Blanchard <hollis@penguinppc.org>
50019
50020 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
50021 (roundup): Remove macro.
50022 (grub_ieee1275_flags): Make static.
50023 (grub_ieee1275_realmode): Remove.
50024 (grub_ieee1275_test_flag): New function.
50025 (grub_ieee1275_set_flag): Likewise.
50026 (find_options): Rename to `grub_ieee1275_find_options'; update
50027 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
50028 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
50029 (cmain): New prototype.
50030 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
50031 `grub_ieee1275_flags' directly.
50032 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
50033 machine/biosdisk.h.
50034 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
50035 Don't include grub/machine/init.h.
50036 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
50037 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
50038 Remove prototype.
50039 (grub_ieee1275_realmode): Likewise.
50040 (grub_ieee1275_flag): New enum.
50041 (grub_ieee1275_test_flag): New prototype.
50042 (grub_ieee1275_set_flag): New prototype.
50043 * include/grub/powerpc/ieee1275/init.h: Remove file.
50044 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
50045 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
50046 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
50047 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
50048 comment.
50049 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
50050 `grub_ieee1275_test_flag'.
50051 (grub_ieee1275_encode_devname): Likewise.
50052
ed16607e 500532005-04-21 Hollis Blanchard <hollis@penguinppc.org>
50054
50055 * include/grub/powerpc/ieee1275/ieee1275.h
50056 (grub_ieee1275_encode_devname): New prototype.
50057 (grub_ieee1275_get_filename): Likewise.
50058 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
50059 function.
50060 (grub_set_prefix): Likewise.
50061 (grub_machine_init): Call grub_set_prefix.
50062 * kern/powerpc/ieee1275/openfw.c: Fix typos.
50063 (grub_parse_type): New enum.
50064 (grub_ieee1275_get_devargs): New function.
50065 (grub_ieee1275_get_devname): Likewise.
50066 (grub_ieee1275_parse_args): Likewise.
50067 (grub_ieee1275_get_filename): Likewise.
50068 (grub_ieee1275_encode_devname): Likewise.
50069
be369920 500702005-03-30 Marco Gerards <metgerards@student.han.nl>
50071
50072 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
50073 `grub_loader_unset'.
50074
a5ce3a4a 500752005-03-26 Hollis Blanchard <hollis@penguinppc.org>
50076
50077 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
50078 instead of grub_ieee1275_interpret.
50079 (grub_halt_init): New function.
50080 (grub_halt_fini): Likewise.
50081 (GRUB_MOD_INIT): Correct message grammar.
50082 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
50083 instead of grub_ieee1275_interpret.
50084 (grub_reboot_init): New function.
50085 (grub_reboot_fini): Likewise.
50086 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
50087 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
50088 util/i386/pc/misc.c with commands/ieee1275/halt.c,
50089 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
50090 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
50091 function.
50092 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
50093 Add prototype.
50094 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
50095 prototype.
50096 (grub_halt): Likewise.
50097 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
50098 (cmain): Remove __attribute__((unused)).
50099 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
50100 (grub_heap_len): Likewise.
50101 (grub_machine_fini): New function.
50102 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
50103 (grub_halt): Likewise.
50104 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
50105 function.
50106 * util/powerpc/ieee1275/misc.c: New file.
50107
0058f771 501082005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
50109
50110 * DISTLIST: New file.
50111 * gendistlist.sh: Likewise.
f19dbdb7 50112
0058f771 50113 * Makefile.in (COMMON_DISTFILES): Removed.
50114 (BOOT_DISTFILES): Likewise.
50115 (CONF_DISTFILES): Likewise.
50116 (DISK_DISTFILES): Likewise.
50117 (FS_DISTFILES): Likewise.
50118 (INCLUDE_DISTFILES): Likewise.
50119 (KERN_DISTFILES): Likewise.
50120 (LOADER_DISTFILES): Likewise.
50121 (TERM_DISTFILES): Likewise.
50122 (UTIL_DISTFILES): Likewise.
50123 (DISTFILES): Likewise.
50124 (uninstall): Uninstall files in $(pkgdata_DATA).
50125 (DISTLIST): New target.
50126 (distdir): Use the contents of the file DISTLIST to get a list of
50127 distributed files.
50128
46b3b8a5 501292005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
50130
50131 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
50132 descriptor. This is ported from GRUB Legacy.
50133
50134 * gencmdlist.sh: Added an extra semicolon to make it work with
50135 old sed versions. Reported by Robert Bihlmeyer
50136 <robbe@orcus.priv.at>.
50137
5822ff87 501382005-03-08 Yoshinori Okuji <okuji@enbug.org>
50139
50140 Automatic loading of commands is supported.
f19dbdb7 50141
5822ff87 50142 * normal/main.c (read_command_list): New function.
50143 (grub_normal_execute): Call read_command_list.
50144
50145 * normal/command.c (grub_register_command): Return zero or CMD.
50146 Allocate CMD->NAME from the heap.
50147 Initialize CMD->MODULE_NAME to zero.
50148 Find the same name as well. If the same command is found and it is
50149 a dummy command, overwrite members. If it is not a dummy command,
50150 return zero.
50151 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
50152 (grub_command_find): If a dummy command is found, load a module
50153 and retry to find a command only once.
50154
50155 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
50156 make sure that each command is loaded.
50157
50158 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
50159 macro.
50160 (struct grub_command): Remove const from the member `name'.
50161 Add a new member `module_name'.
50162 (grub_register_command): Return grub_command_t.
50163
50164 * commands/help.c (grub_cmd_help): Call grub_command_find to make
50165 sure that each command is loaded.
50166
50167 * genmk.rb (PModule::rule): Specify a module name without the
50168 suffix ".mod" to gencmdlist.sh.
50169
7b1f4b57 501702005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
50171
50172 * gencmdlist.sh: New file.
f19dbdb7 50173
7b1f4b57 50174 * genmk.rb (PModule::rule): Generate a rule for a command list.
50175 Clean command.lst.
50176 Generate command.lst from $(COMMANDFILES).
50177
50178 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
50179 (DATA): Added $(pkgdata_DATA).
50180 (install-local): Install files in $(pkgdata_DATA).
50181
062aaf39 501822005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
50183
50184 * term/i386/pc/vga.c (debug_command): Removed.
50185 (GRUB_MOD_INIT): Do not register the command "debug".
50186
50187 From Hollis Blanchard:
50188 * commands/configfile.c: New file.
50189 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
50190 commands/configfile.c.
50191 (pkgdata_MODULES): Added configfile.mod.
50192 (configfile_mod_SOURCES): New variable.
50193 (configfile_mod_CFLAGS): Likewise.
50194 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50195 commands/configfile.c.
50196 (pkgdata_MODULES): Added configfile.mod.
50197 (configfile_mod_SOURCES): New variable.
50198 (configfile_mod_CFLAGS): Likewise.
50199 * util/grub-emu.c (main): Call grub_configfile_init and
50200 grub_configfile_fini.
50201 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
50202 prototype.
50203 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 50204
cee01aa6 502052005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
50206
50207 * normal/arg.c (grub_arg_show_help): Do not show the bug report
50208 address.
50209
50210 * commands/help.c (grub_cmd_help): Do not print newlines after
50211 the last command in print_command_help.
50212
93f3a1d8 502132005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
50214
50215 * commands/default.h: New file.
50216 * commands/timeout.h: Likewise.
50217 * normal/context.c: Likewise.
f19dbdb7 50218
93f3a1d8 50219 * util/misc.c: Do not include sys/times.h.
50220 Include sys/time.h and grub/machine/time.h.
50221 (grub_get_rtc): Rewritten with gettimeofday.
50222
50223 * util/grub-emu.c (main): Call grub_default_init and
50224 grub_timeout_init before grub_normal_init, and call
50225 grub_timeout_fini and grub_default_fini after grub_main.
50226
50227 * util/console.c (grub_ncurses_checkkey): Return the read
50228 character or -1.
50229
50230 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
50231 timeouts.
50232
50233 * normal/main.c (read_config_file): Push MENU. If this fails,
50234 print an error and wait for a user input.
50235 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
50236 If a menu is empty or an error occurs, pop MENU.
50237 (grub_normal_execute): Pop and free MENU after grub_menu_run
50238 returns.
50239
50240 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
50241
50242 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
50243 include time.h.
50244 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
50245 without GRUB_UTIL.
50246 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
50247 time.h.
50248 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
50249 without GRUB_UTIL.
50250
50251 * include/grub/normal.h (struct grub_menu_list): New struct.
50252 (grub_menu_list_t): New type.
50253 (struct grub_context): New struct.
50254 (grub_context_t): New type.
50255 (grub_register_command): Got rid of EXPORT_FUNC.
50256 (grub_unregister_command): Likewise.
50257 (grub_context_get): New prototype.
50258 (grub_context_get_current_menu): Likewise.
50259 (grub_context_push_menu): Likewise.
50260 (grub_context_pop_menu): Likewise.
50261 [GRUB_UTIL] (grub_default_init): Likewise.
50262 [GRUB_UTIL] (grub_default_fini): Likewise.
50263 [GRUB_UTIL] (grub_timeout_init): Likewise.
50264 [GRUB_UTIL] (grub_timeout_fini): Likewise.
50265
50266 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
50267 commands/timeout.c and normal/context.c.
50268 (pkgdata_MODULES): Added default.mod and timeout.mod.
50269 (normal_mod_SOURCES): Added normal/context.c.
50270 (default_mod_SOURCES): New variable.
50271 (default_mod_CFLAGS): Likewise.
50272 (timeout_mod_SOURCES): Likewise.
50273 (timeout_mod_CFLAGS): Likewise.
50274 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
50275 conf/i386-pc.rmk.
50276 (pkgdata_MODULES): Added default.mod and timeout.mod.
50277 (normal_mod_SOURCES): Added normal/context.c.
50278 (default_mod_SOURCES): New variable.
50279 (default_mod_CFLAGS): Likewise.
50280 (timeout_mod_SOURCES): Likewise.
50281 (timeout_mod_CFLAGS): Likewise.
50282
50283 * Makefile.in (all-local): Added $(MKFILES).
50284
4ed2e1dd 502852005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
50286
50287 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
50288 (grub_emu_SOURCES): Likewise.
50289 (pkgdata_MODULES): Add `sun.mod'.
50290 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
50291 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50292 `partmap/sun.c'.
50293 (pkgdata_MODULES): Add `sun.mod'.
50294 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
50295 * include/grub/partition.h (grub_sun_partition_map_init): New
50296 prototype.
50297 (grub_sun_partition_map_fini): Likewise.
50298 * partmap/sun.c: New file.
50299 * util/grub-emu.c (main): Initialize and de-initialize the sun
50300 partitionmap support.
50301
4d4e372e 503022005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
50303
50304 This implements an Emacs-like menu entry editor.
f19dbdb7 50305
4d4e372e 50306 * normal/menu_entry.c: New file.
f19dbdb7 50307
4d4e372e 50308 * util/console.c (grub_ncurses_putchar): Translate some Unicode
50309 characters to ASCII.
50310 (saved_char): New variable.
50311 (grub_ncurses_checkkey): Rewritten completely.
50312 (grub_ncurses_getkey): Likewise.
50313 (grub_ncurses_init): Call raw instead of cbreak.
50314
50315 * normal/menu.c (print_entry): Do not put a space.
50316 (init_page): Renamed to ...
50317 (grub_menu_init_page): ... this. All callers changed.
50318 (edit_menu_entry): Removed.
50319 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
50320
50321 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
50322
50323 * kern/misc.c (grub_vprintf): Call grub_refresh.
50324
50325 * normal/menu.c (DISP_LEFT): Renamed to ...
50326 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
50327 * normal/menu.c (DISP_UP): Renamed to ...
50328 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
50329 * normal/menu.c (DISP_RIGHT): Renamed to ...
50330 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
50331 * normal/menu.c (DISP_DOWN): Renamed to ...
50332 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
50333 * normal/menu.c (DISP_HLINE): Renamed to ...
50334 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
50335 * normal/menu.c (DISP_VLINE): Renamed to ...
50336 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
50337 * normal/menu.c (DISP_UL): Renamed to ...
50338 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
50339 * normal/menu.c (DISP_UR): Renamed to ...
50340 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
50341 * normal/menu.c (DISP_LL): Renamed to ...
50342 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
50343 * normal/menu.c (DISP_LR): Renamed to ...
50344 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
50345 * normal/menu.c (TERM_WIDTH): Renamed to ...
50346 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
50347 * normal/menu.c (TERM_HEIGHT): Renamed to ...
50348 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
50349 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
50350 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
50351 * normal/menu.c (TERM_MARGIN): Renamed to ...
50352 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
50353 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
50354 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
50355 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
50356 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
50357 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
50358 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
50359 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
50360 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
50361 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
50362 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
50363 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
50364 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
50365 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
50366 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
50367 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
50368 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
50369 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
50370 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
50371 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
50372 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
50373 All callers changed.
50374
50375 * include/grub/normal.h: New prototype.
50376
50377 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
50378 normal/menu_entry.c.
50379 (normal_mod_SOURCES): Likewise.
50380 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50381 (normal_mod_SOURCES): Likewise.
50382
e6b92c8a 503832005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
50384
50385 * include/grub/normal.h (grub_halt_init): New prototype.
50386 (grub_halt_fini): Likewise.
50387 (grub_reboot_init): Likewise.
50388 (grub_reboot_fini): Likewise.
50389
50390 * util/grub-emu.c: Include signal.h.
50391 (main_env): New global variable.
50392 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
50393 catch C-c.
50394 (grub_machine_fini): New function.
50395 (main): Call grub_halt_init and grub_reboot_init before
50396 grub_main, and grub_reboot_fini and grub_halt_fini after it.
50397 Call setjmp with MAIN_ENV to go back afterwards.
50398 Call grub_machine_fini right before return.
50399
50400 * include/grub/util/misc.h: Include setjmp.h.
50401 (main_env): New prototype.
50402
50403 * include/grub/kernel.h (grub_machine_fini): New prototype.
50404 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
50405 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
50406
50407 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
50408 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
50409 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 50410
e6b92c8a 50411 * util/i386/pc/misc.c: New file.
f19dbdb7 50412
e6b92c8a 50413 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
50414 util/i386/pc/misc.c, commands/i386/pc/halt.c and
50415 commands/i386/pc/reboot.c.
50416
c642636f 504172005-02-14 Guillem Jover <guillem@hadrons.org>
50418
50419 * include/grub/dl.h (grub_dl_check_header): New prototype.
50420 (grub_arch_dl_check_header): Change return type to grub_err_t,
50421 remove size parameter and export function. Update all callers.
50422 * kern/dl.c (grub_dl_check_header): New function.
50423 (grub_dl_load_core): Use `grub_dl_check_header' instead of
50424 `grub_arch_dl_check_header'. Check ELF type. Check if sections
50425 are inside the core.
50426 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
50427 independent ELF header checks.
50428 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
50429 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
50430 `grub_dl_check_header' instead of explicit checks. Check for the
50431 ELF type.
50432 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
50433 `grub_dl_check_header' instead of explicit checks. Remove arch
50434 specific ELF header checks.
50435
e6b92c8a 50436 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
50437 argument SIZE.
50438
5eabe94b 504392005-02-13 Hollis Blanchard <hollis@penguinppc.org>
50440
50441 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
50442 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
50443
1b14a681 504442005-02-12 Hollis Blanchard <hollis@penguinppc.org>
50445
50446 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 50447 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 50448 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 50449 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 50450 * partmap/amiga.c (amiga_partition_map_iterate): Return
50451 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
50452 * partmap/apple.c (apple_partition_map_iterate): Likewise.
50453
aca108aa 504542005-02-01 Guillem Jover <guillem@hadrons.org>
50455
50456 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
50457 help info.
50458
c9f9c556 504592005-01-31 Marco Gerards <metgerards@student.han.nl>
50460
50461 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
50462 Removed prototype.
50463 (grub_rescue_cmd_linux): New prototype.
50464 (grub_rescue_cmd_initrd): Likewise.
50465 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
50466 `bi_rec'.
50467 (grub_linux_release_mem): Release the memory for the initrd.
50468 (grub_load_linux): Renamed from this...
50469 (grub_rescue_cmd_linux): ...To this. Changed all callers.
50470 Changed `entry' not to be static. Loop over memory regions to
50471 find another one when the default fails.
50472 (grub_rescue_cmd_initrd): New function.
50473 (grub_linux_init): Remove function.
50474 (grub_linux_fini): Likewise.
50475 (GRUB_MOD_INIT): Register `initrd'.
50476 (GRUB_MOD_FINI): Unregister `initrd'.
50477 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
50478 Function removed.
50479 (grub_linux_normal_fini): Likewise.
50480 (GRUB_MOD_INIT): Register `initrd'.
50481 (GRUB_MOD_FINI): Unregister `initrd'.
50482
990cf3aa 504832005-01-31 Marco Gerards <metgerards@student.han.nl>
50484
50485 * commands/help.c: New file.
50486 * normal/arg.c (show_help): Renamed to...
50487 (grub_arg_show_help): ... this.
50488 * commands/i386/pc/halt.c: New file.
50489 * commands/i386/pc/reboot.c: Likewise.
50490 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
50491 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
50492 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
50493 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
50494 variables.
50495 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50496 `commands/help.c'.
50497 (pkgdata_MODULES): Add `help.mod'.
50498 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
50499 * grub/i386/pc/init.h (grub_reboot): New prototype.
50500 (grub_halt): Likewise.
50501 * include/grub/normal.h (grub_arg_show_help): New prototype.
50502 (grub_help_init): Likewise.
50503 (grub_help_fini): Likewise.
50504 * util/grub-emu.c (main): Initialize and deinitialize the help
50505 command.
50506
50507 * normal/cmdline.c (grub_cmdline_get): Doc fix.
50508
50509 * normal/command.c (grub_command_init): Fixed the description of
50510 the `set' and `unset' commands.
50511
505122005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 50513
50514 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
50515 function.
50516 * commands/ieee1275/halt.c: New file.
50517 * commands/ieee1275/reboot.c: Likewise.
50518 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
50519 `__attribute__ ((unused))'. Some GCS related fixed.
50520 (grub_suspend_init) [GRUB_UTIL]: Function removed.
50521 (grub_suspend_fini): Likewise.
50522 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
50523 and `halt.mod'.
50524 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
50525 (halt_mod_CFLAGS): New variables.
50526 * include/grub/powerpc/ieee1275/ieee1275.h
50527 (grub_ieee1275_interpret): New prototype.
50528
1ab09cc7 505292005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
50530
50531 * include/grub/misc.h (memmove): New prototype.
50532 (memcpy): Likewise.
50533
8b8cbdb2 505342005-01-22 Hollis Blanchard <hollis@penguinppc.org>
50535
50536 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
50537 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
50538
e3741a27 505392005-01-22 Marco Gerards <metgerards@student.han.nl>
50540
50541 * kern/misc.c (grub_strndup): Function rewritten.
50542
776bd780 505432005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
50544
50545 * normal/menu.c (TERM_WIDTH): Macro redefined.
50546 (TERM_TOP_BORDER_Y): Likewise.
50547 (draw_border): Replaced while-loop by a for-loop. Make the number
50548 of lines consistent with the number of lines displayed in
50549 print_entries. Added a margin below the rectangle.
50550 (print_entry): Make the entry fit in the rectangle.
50551 (print_entries): Display the scroll arrows next to the right
50552 border.
50553
78026bce 505542005-01-21 Marco Gerards <metgerards@student.han.nl>
50555
50556 * fs/minix.c (grub_minix_find_file): Reserve more space for
50557 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
50558 `grub_strncpy' to copy `path' into it.
50559
67bbaf0f 505602005-01-21 Marco Gerards <metgerards@student.han.nl>
50561
50562 Add the loopback device, a device via which files can be accessed
50563 as devices.
f19dbdb7 50564
67bbaf0f 50565 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
50566 (pkgdata_MODULES): Add loopback.mod.
50567 (loopback_mod_SOURCES): New variable.
50568 (loopback_mod_CFLAGS): Likewise.
50569 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50570 `disk/loopback.c'.
50571 (pkgdata_MODULES): Add loopback.mod.
50572 (loopback_mod_SOURCES): New variable.
50573 (loopback_mod_CFLAGS): Likewise.
50574 * disk/loopback.c: new file.
50575 * include/grub/normal.h (grub_loop_init): New prototype.
50576 (grub_loop_fini): New prototype.
50577 * util/grub-emu.c (main): Initialize and de-initialize loopback
50578 support.
50579 * include/grub/disk.h (grub_disk_dev_id): Add
50580 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
50581
6f1c18bd 505822005-01-20 Hollis Blanchard <hollis@penguinppc.org>
50583
50584 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
50585 function.
50586 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
50587 (suspend_mod_SOURCES): New variable.
50588 (suspend_mod_CFLAGS): Likewise.
50589 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
50590 New prototype.
50591 * commands/ieee1275/suspend.c: New file.
50592
b38551da 505932005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50594
50595 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 50596 ((unused))' to `__attribute__ ((used))'.
b38551da 50597 (GRUB_MOD_FINI): Likewise.
50598 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
50599 * genmk.rb (PModule): Assign space to common symbols when linking
50600 modules.
50601
777aff39 506022005-01-20 Marco Gerards <metgerards@student.han.nl>
50603
50604 * include/grub/mm.h (grub_mm_init_region): Change the type of the
50605 `unsigned' arguments to `grub_size_t'.
50606 (grub_malloc): Likewise.
50607 (grub_realloc): Likewise.
50608 (grub_memalign): Likewise.
50609 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
50610 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
50611 * util/misc.c (grub_malloc): Likewise.
50612 (grub_realloc): Likewise.
50613 * kern/mm.c (get_header_from_pointer): Change the casts to
50614 `unsigned' into a cast to `grub_size_t'.
50615
50616 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
50617 point to `currnode' when `currnode' is changed.
50618
50619 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
50620 Schottelius <nico-linux@schottelius.org>.
50621
d0ff18e1 506222005-01-09 Hollis Blanchard <hollis@penguinppc.org>
50623
50624 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
50625 (note_path): Remove variable.
50626 (GRUB_IEEE1275_NOTE_NAME): New macro.
50627 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
50628 (grub_ieee1275_note_hdr): New structure.
50629 (grub_ieee1275_note_desc): Likewise.
50630 (grub_ieee1275_note): Likewise.
50631 (load_note): Remove `dir' argument. All callers updated. Remove
50632 `note_img' and `path'. Do not load a file from `note_path'.
50633 Initialize a struct grub_ieee1275_note and write that to `out'.
50634 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
50635
4ca7004c 506362005-01-05 Marco Gerards <metgerards@student.han.nl>
50637
50638 * util/misc.c (grub_util_read_image): Revert last change. It
50639 called `grub_util_read_at', which seeks from the beginning of the
50640 file.
50641
0b412211 506422005-01-04 Hollis Blanchard <hollis@penguinppc.org>
50643
50644 * TODO: Add note about endianness in grub-mkimage.
50645 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
50646 section.
50647 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
50648 (grub_mkimage_SOURCES): New target.
50649 * include/grub/kernel.h (grub_start_addr): Remove variable.
50650 (grub_end_addr): Likewise.
50651 (grub_total_module_size): Likewise.
50652 (grub_kernel_image_size): Likewise.
50653 (GRUB_MODULE_MAGIC): New constant.
50654 (grub_module_info): New structure.
50655 (grub_arch_modules_addr): New prototype.
50656 (grub_get_end_addr): Remove prototype.
50657 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
50658 * include/grub/powerpc/ieee1275/kernel.h: New file.
50659 * include/grub/util/misc.h (grub_util_get_fp_size): New
50660 prototype.
50661 (grub_util_read_at): Likewise.
50662 (grub_util_write_image_at): Likewise.
50663 * kern/main.c (grub_get_end_addr): Remove function.
50664 (grub_load_modules): Call grub_arch_modules_addr instead of using
50665 grub_end_addr. Look for a grub_module_info struct in memory. Use
50666 the grub_module_info fields instead of calling grub_get_end_addr
50667 as loop conditions. Move grub_add_unused_region code here.
50668 (grub_add_unused_region): Remove function.
50669 * kern/i386/pc/init.c: Include grub/cache.h.
50670 (grub_machine_init): Remove call to grub_get_end_addr. Remove
50671 one call to add_mem_region.
50672 (grub_arch_modules_addr): New function.
50673 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
50674 (grub_total_module_size): Likewise.
50675 Include grub/machine/kernel.h.
50676 (grub_arch_modules_addr): New function.
50677 * util/grub-emu.c (grub_end_addr): Remove variable.
50678 (grub_total_module_size): Likewise.
50679 (grub_arch_modules_addr): New function.
50680 * util/misc.c: Include unistd.h.
50681 (grub_util_get_fp_size): New function.
50682 (grub_util_read_at): Likewise.
50683 (grub_util_write_image_at): Likewise.
50684 (grub_util_read_image): Call grub_util_read_at.
50685 (grub_util_write_image): Call grub_util_write_image_at.
50686 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
50687 additional memory in kernel_img for a struct grub_module_info.
50688 Fill in that grub_module_info.
50689 * util/powerpc/ieee1275/grub-mkimage.c: New file.
50690
458786f8 506912005-01-03 Hollis Blanchard <hollis@penguinppc.org>
50692
50693 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
50694 New function.
50695 * include/grub/powerpc/ieee1275/ieee1275.h
50696 (grub_ieee1275_milliseconds): New prototype.
50697 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
50698 Change to 1000.
50699 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
50700 grub_ieee1275_milliseconds.
50701
ac507d1b 507022005-01-03 Hollis Blanchard <hollis@penguinppc.org>
50703
50704 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
50705 variable.
50706 (find_options): New function.
50707 (cmain): Call find_options.
50708 * include/grub/powerpc/ieee1275/ieee1275.h
50709 (grub_ieee1275_realmode): New extern variable.
50710 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
50711 grub_map if grub_ieee1275_realmode is false.
50712
6b8fd1c4 507132004-12-29 Marco Gerards <metgerards@student.han.nl>
50714
50715 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
50716 lines are inserted and make it work like readline. Reported by
50717 Vincent Pelletier <subdino2004@yahoo.fr>.
50718
8514a1e0 507192004-12-28 Marco Gerards <metgerards@student.han.nl>
50720
50721 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
50722
50723 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
50724 `kern/powerpc/cache.S'.
50725
924b6140 507262004-12-27 Marco Gerards <metgerards@student.han.nl>
50727
50728 * genmk.rb: Handle the `Program' class in the main loop. Written
50729 by Johan Rydberg <jrydberg@gnu.org>.
50730 (Program): New class.
50731 (programs): New variable.
50732 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
50733 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
50734 instead of "grub/kernel.h". Include <grub/machine/init.h>.
50735 (help_arch): Function removed.
50736 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
50737 `powerpc/libgcc.h' and `loader.h'.
50738 (pkgdata_PROGRAMS): New variable.
50739 (sbin_UTILITIES): Variable removed.
50740 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
50741 (grubof_SOURCES): Variable re-defined so it only includes the
50742 core functionality.
50743 (grubof_CFLAGS): Remove `-DGRUBOF'.
50744 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
50745 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
50746 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
50747 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
50748 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
50749 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
50750 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
50751 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
50752 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
50753 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
50754 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
50755 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
50756 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
50757 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
50758 (pc_mod_CFLAGS): New variables.
50759 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
50760 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
50761 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
50762 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
50763 Moved from here...
50764 * include/grub/i386/pc/init.h (grub_os_area_addr)
50765 (rub_os_area_size): ... to here.
50766 * include/grub/powerpc/ieee1275/ieee1275.h
50767 (grub_ieee1275_entry_fn): Export symbol.
50768 * include/grub/powerpc/ieee1275/init.h: New file.
50769 * include/grub/powerpc/libgcc.h: Likewise.
50770 * include/grub/cache.h: Likewise.
50771 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
50772 <hollis@penguinppc.org>.
50773 * kern/dl.c: Include <grub/cache.h>.
50774 (grub_dl_flush_cache): New function.
50775 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
50776 for this module.
50777 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
50778 (grub_console_init): Removed prototypes.
50779 (grub_machine_init): Don't initialize the modules anymore.
50780 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
50781 static.
50782 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
50783 Macro undef removed.
50784 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
50785 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
50786 relocation `R_PPC_REL32'. Return an error when the relocation is
50787 unknown.
50788 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
50789 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
50790 * util/misc.c (grub_arch_sync_caches): Likewise.
50791
e4b47e0c 507922004-12-19 Marco Gerards <metgerards@student.han.nl>
50793
50794 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
50795 `symlist.c', add `grubof_symlist.c'.
50796 (symlist.c): Variable removed.
50797 (grubof_HEADERS): Variable added.
50798 (grubof_symlist.c): New target.
50799 (kernel_syms.lst): Use `grubof_HEADERS' instead of
50800 `kernel_img_HEADERS'.
50801 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
50802 * kern/powerpc/dl.c: New file.
50803 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
50804 Function removed.
50805 (grub_arch_dl_relocate_symbols): Likewise.
50806 (grub_register_exported_symbols): Likewise.
50807
4ceb3636 508082004-12-13 Marco Gerards <metgerards@student.han.nl>
50809
50810 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
50811 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
50812 to fail instead. Reported by Vincent Pelletier
50813 <subdino2004@yahoo.fr>.
50814
50815 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
50816 it is not allocated. Reported by Vincent Pelletier
50817 <subdino2004@yahoo.fr>.
50818
50819 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
50820 output so the output looks better.
f19dbdb7 50821
3f1578fe 508222004-12-04 Marco Gerards <metgerards@student.han.nl>
50823
50824 Modulize the partition map support and add support for the amiga
50825 partition map.
f19dbdb7 50826
3f1578fe 50827 * commands/ls.c: Include <grub/partition.h> instead of
50828 <grub/machine/partition.h>.
50829 * kern/disk.c: Likewise.
50830 * kern/rescue.c: Likewise.
50831 * loader/i386/pc/chainloader.c: Likewise.
50832 * normal/cmdline.c: Likewise.
50833 * kern/powerpc/ieee1275/init.c: Likewise.
50834 (grub_machine_init): Call `grub_pc_partition_map_init',
50835 `grub_amiga_partition_map_init' and
50836 `grub_apple_partition_map_init'.
50837 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
50838 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
50839 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
50840 `partition.h' and `pc_partition.h'.
50841 (grub_setup_SOURCES): Remove
50842 `disk/i386/pc/partition.c'. Add `kern/partition.c',
50843 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
50844 (grub_emu_SOURCES): Likewise.
50845 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
50846 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
50847 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
50848 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
50849 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
50850 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
50851 (grubof_SOURCES): Likewise.
50852 * disk/i386/pc/partition.c: File removed.
50853 * disk/powerpc/ieee1275/partition.c: Likewise.
50854 * include/grub/powerpc/ieee1275/partition.h: Likewise.
50855 * include/grub/i386/pc/partition.h: Likewise.
50856 * kern/partition.c: New file.
50857 * partmap/amiga.c: Likewise.
50858 * partmap/apple.c: Likewise.
50859 * partmap/pc.c: Likewise.
50860 * include/grub/partition.h: Likewise..
50861 * include/grub/pc_partition.h: Likewise.
50862 * util/grub-emu.c: Include <grub/partition.h> instead of
50863 <grub/machine/partition.h>.
50864 (main): Call `grub_pc_partition_map_init',
50865 `grub_amiga_partition_map_init' and
50866 `grub_apple_partition_map_init' and deinitialize afterwards.
50867 * util/i386/pc/biosdisk.c: Include `#include
50868 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
50869 `<grub/machine/partition.h>'.
50870 * util/i386/pc/grub-setup.c: Likewise.
50871 * util/i386/pc/biosdisk.c: Likewise.
50872 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
50873 partition information in case of a PC partition.
50874 * util/i386/pc/grub-setup.c: Include `#include
50875 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
50876 `<grub/machine/partition.h>'.
50877 (setup): Only access the PC specific partition information in case
50878 of a PC partition.
50879
0ef4ced9 508802004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 50881
0ef4ced9 50882 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
50883 (grub_longjmp): Likewise.
50884 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
50885 20.
50886 * normal/powerpc/setjmp.S: New file.
50887 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
50888 `normal/powerpc/setjmp.S'.
50889 (grubof_CFLAGS): Add `-DGRUBOF'.
50890 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
50891 [GRUB_UTIL && !GRUBOF].
f19dbdb7 50892
19950e29 508932004-11-16 Marco Gerards <metgerards@student.han.nl>
50894
50895 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
50896 property named `name'. Correctly handle the error returned by
50897 `grub_ieee1275_finddevice' if a device can not be opened.
50898
a2fea427 508992004-11-02 Hollis Blanchard <hollis@penguinppc.org>
50900
50901 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
50902 `actual' for negativity.
50903 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
50904 kern/fshelp.c.
50905
41ea0ea3 509062004-11-01 Marco Gerards <metgerards@student.han.nl>
50907
50908 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
50909 (PAGE_OFFSET): New macro.
50910 (CRTC_ADDR_PORT): Likewise.
50911 (CRTC_DATA_PORT): Likewise.
50912 (START_ADDR_HIGH_REGISTER): Likewise.
50913 (START_ADDR_LOW_REGISTER): Likewise.
50914 (GRAPHICS_ADDR_PORT): Likewise.
50915 (GRAPHICS_DATA_PORT): Likewise.
50916 (READ_MAP_REGISTER): Likewise.
50917 (INPUT_STATUS1_REGISTER): Likewise.
50918 (INPUT_STATUS1_VERTR_BIT): Likewise.
50919 (page): New variable.
50920 (wait_vretrace): New function.
50921 (set_read_map): Likewise.
50922 (set_start_address): Likewise.
50923 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
50924 the right page.
50925 (check_vga_mem): Take the page into account.
50926 (write_char): Likewise.
50927 (write_cursor): Likewise.
50928 (scroll_up): Likewise. Copy the page to the page that is not
50929 shown and switch between both pages.
50930 (grub_vga_putchar): Fix off by one error.
50931 (grub_vga_cls): Wait for the vertical retrace. Take the page into
50932 account.
50933
ad0bd20b 509342004-11-01 Marco Gerards <metgerards@student.han.nl>
50935
50936 Add support for iso9660 (including rockridge).
f19dbdb7 50937
ad0bd20b 50938 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
50939 (iso9660_mod_SOURCES): New variable.
50940 (iso9660_mod_CFLAGS): Likewise.
50941 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
50942 * include/grub/fs.h (grub_iso9660_init): New prototype.
50943 * util/grub-emu.c (main): Call `grub_iso9660_init'.
50944 * fs/iso9660.c: New file.
50945
50946 * include/grub/misc.h (grub_strncat): New prototype.
50947 * kern/misc.c (grub_strncat): New function.
f19dbdb7 50948
ad0bd20b 50949 * fs/hfs.c (grub_hfs_mount): Translate the error
50950 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
50951 * fs/jfs.c (grub_jfs_mount): Likewise.
50952 * fs/ufs.c (grub_ufs_mount): Likewise.
50953
a5477a59 509542004-10-28 Hollis Blanchard <hollis@penguinppc.org>
50955
50956 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
50957 which initialized BAT registers.
50958 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
50959 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
50960 Move from here...
50961 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
50962 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
50963 ... to here.
50964 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
50965 (grub_mapclaim): Likewise.
50966 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
50967 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
50968 hand.
50969
9304c1f8 509702004-10-19 Hollis Blanchard <hollis@penguinppc.org>
50971
50972 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
50973 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
50974 -ffreestanding and -msoft-float.
50975
86f4ae25 509762004-10-15 Hollis Blanchard <hollis@penguinppc.org>
50977
50978 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
50979 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
50980 set in grub_ieee1275_flags.
50981
38912228 509822004-10-14 Hollis Blanchard <hollis@penguinppc.org>
50983
50984 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
50985 prototype.
50986 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
50987 grub_console_init first.
50988 Change the memory range used for grub_ieee1275_claim and
50989 grub_mm_init_region.
50990 Print an error message if the claim fails.
50991 Include <grub/misc.h>.
50992
d1923dc8 509932004-10-13 Hollis Blanchard <hollis@penguinppc.org>
50994
50995 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
50996 Call grub_children_iterate for device nodes of type `scsi',
50997 `ide', or `ata'.
50998 (grub_ofdisk_open): Remove manual device alias resolution.
50999 Fix memory leak when device cannot be opened.
f19dbdb7 51000 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 51001 (grub_children_iterate): New prototype.
51002 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
51003 New function.
51004 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
51005 Return -1 if args.size was -1.
51006
4512e4f3 510072004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51008
51009 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
51010 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
51011 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
51012 Open Firmware's memory for it; claim memory from _start to _end.
51013 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
51014 (_end): New extern.
51015 (_start): Zero BSS from __bss_start to _end.
51016 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
51017 New extern.
51018 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
51019
4d61feb0 510202004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51021
ad0bd20b 51022 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
51023 -1 if args.base was -1.
4d61feb0 51024
026fa2f9 510252004-10-08 Hollis Blanchard <hollis@penguinppc.org>
51026
51027 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
51028 escape sequence instead of a literal ^L. Also call
51029 grub_ofconsole_gotoxy.
51030
9f2220ef 510312004-10-03 Hollis Blanchard <hollis@penguinppc.org>
51032
51033 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
51034 void * arguments to grub_addr_t. All callers updated. Also make
51035 the `result' argument optional.
51036 (grub_ieee1275_release): change void * arguments to grub_addr_t.
51037 All callers updated.
51038
8a572cd7 510392004-09-22 Hollis Blanchard <hollis@penguinppc.org>
51040
51041 * commands/ls.c (grub_ls_list_files): Use the string following the
51042 initial ')', if present, as the filesystem path.
51043 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
51044
51045 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
51046
18aa81f2 510472004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
51048
51049 Make the source code of the menu interface more readable.
f19dbdb7 51050
18aa81f2 51051 * normal/menu.c: Include grub/mm.h.
51052 (TERM_WIDTH): New macro.
51053 (TERM_HEIGHT): Likewise.
51054 (TERM_INFO_HEIGHT): Likewise.
51055 (TERM_MARGIN): Likewise.
51056 (TERM_SCROLL_WIDTH): Likewise.
51057 (TERM_TOP_BORDER_Y): Likewise.
51058 (TERM_LEFT_BORDER_X): Likewise.
51059 (TERM_BORDER_WIDTH): Likewise.
51060 (TERM_MESSAGE_HEIGHT): Likewise.
51061 (TERM_BORDER_HEIGHT): Likewise.
51062 (TERM_NUM_ENTRIES): Likewise.
51063 (TERM_FIRST_ENTRY_Y): Likewise.
51064 (TERM_ENTRY_WIDTH): Likewise.
51065 (TERM_CURSOR_X): Likewise.
51066 (draw_border): Use macros instead of magic numbers.
51067 (print_entry): Likewise.
51068 (print_entries): Likewise.
51069 (run_menu): Likewise. Also, handle the key 'e'.
51070 (run_menu_entry): Ignore empty command lines.
51071 (print_message): Added a new argument EDIT. If EDIT is true,
51072 print a different message.
51073 (init_page): Likewise.
51074 (edit_menu_entry): New function. Not implemented yet.
51075
b47efe30 510762004-09-17 Marco Gerards <metgerards@student.han.nl>
51077
51078 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
51079 can be loaded from normal mode.
f19dbdb7 51080
b47efe30 51081 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
51082 `multiboot.mod'.
51083 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
51084 (multiboot_mod_CFLAGS): New variables.
51085 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 51086 * loader/i386/pc/multiboot_normal.c: Likewise.
51087
b47efe30 51088 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
51089 attribute `unused'.
f19dbdb7 51090
b47efe30 51091 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
51092 `fdiro' to read the mode information from instead of `diro'.
51093
51094 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
51095 looking up a symlink.
51096
51097 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
51098 macro.
51099 * normal/command.c (grub_command_execute): Don't parse the
51100 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
51101 flags of the command.
51102
51103 * normal/menu.c (grub_menu_run): Fix typo.
51104
da75ac71 511052004-09-14 Hollis Blanchard <hollis@penguinppc.org>
51106
51107 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
51108
51109 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
51110 `y + 1' instead of `y - 1'.
51111
51112 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 51113
062b24c2 511142004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
51115
51116 From Hollis Blanchard <hollis@penguinppc.org>:
51117 * kern/misc.c (memmove): New alias for grub_memmove.
51118 (memcmp): New alias for grub_memcmp.
51119 (memset): New alias for grub_memset.
f19dbdb7 51120 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 51121 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 51122 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 51123 (grub_ieee1275_get_property): Likewise.
f19dbdb7 51124
8ddad845 511252004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
51126
51127 Added normal mode command `chainloader' as module chain.mod, which
51128 depends on normal.mod and _chain.mod.
f19dbdb7 51129
8ddad845 51130 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
51131 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
51132 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
51133 Deleted prototype.
51134 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
51135 but arguments parsing moved to ...
51136 (grub_chainloader_cmd): ... here. New function.
51137 * include/grub/i386/pc/chainloader.h: New file.
51138 * loader/i386/pc/chainloader_normal.c: Likewise.
51139
2c1f4ce3 511402004-09-11 Marco Gerards <metgerards@student.han.nl>
51141
51142 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
51143 (grub_mkimage_LDFLAGS): Likewise.
51144 (grub_emu_SOURCES): Likewise.
51145 (kernel_img_HEADERS): Added fshelp.h.
51146 * fs/ext2.c: Include <grub/fshelp.h>.
51147 (FILETYPE_REG): New macro.
51148 (FILETYPE_INO_REG): Likewise.
51149 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
51150 Changed all users.
51151 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
51152 all users.
51153 (grub_fshelp_node): New struct.
51154 (grub_ext2_data): Added member `diropen'. Changed member `inode'
51155 to a pointer.
51156 (grub_ext2_get_file_block): Removed function.
51157 (grub_ext2_read_block): New function.
51158 (grub_ext2_read_file): Replaced parameter `data' by `node'.
51159 This function was written.
51160 (grub_ext2_mount): Read the root inode. Create a diropen struct.
51161 (grub_ext2_find_file): Removed function.
51162 (grub_ext2_read_symlink): New function.
51163 (grub_ext2_iterate_dir): Likewise.
51164 (grub_ext2_open): Rewritten.
51165 (grub_ext2_dir): Rewritten.
51166 * include/grub/fshelp.h: New file.
51167 * fs/fshelp.c: Likewise.
51168
3c52136a 511692004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
51170
51171 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
51172 (print_message): Add a missing newline.
51173 (run_menu): Added timeout support.
51174 (run_menu_entry): New local function.
51175 (grub_menu_run): Added support for booting.
51176
51177 * kern/loader.c (grub_loader_is_loaded): New function.
51178
51179 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
51180 (grub_get_rtc): Exported.
51181
51182 * include/grub/i386/pc/time.h: Include grub/symbol.h.
51183 (grub_get_rtc): Exported.
51184
51185 * include/grub/normal.h (struct grub_command_list): Remove
51186 constant from the member `command'.
51187
51188 * include/grub/loader.h (grub_loader_is_loaded): Declared.
51189
51190 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
51191
51192 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
51193
aa033560 511942004-08-28 Marco Gerards <metgerards@student.han.nl>
51195
51196 Add support for the JFS filesystem.
51197
51198 * fs/jfs.c: New file.
51199 * include/grub/fs.h (grub_jfs_init): New prototype.
51200 (grub_jfs_fini): New prototype.
51201 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
51202 (grub_emu_SOURCES): Likewise.
51203 (pkgdata_MODULES): Add jfs.mod.
51204 (jfs_mod_SOURCES): New variable.
51205 (jfs_mod_CFLAGS): Likewise.
51206 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
51207 (grubof_SOURCES): Likewise.
51208 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
51209
51210 * fs/fat.c (grub_fat_find_dir): Convert the filename little
51211 endian to the host endian.
51212 (grub_fat_utf16_to_utf8): Move function from there...
51213 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 51214 the endianness of the source string anymore.
aa033560 51215 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
51216
94bc45af 512172004-08-24 Marco Gerards <metgerards@student.han.nl>
51218
51219 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
51220 (grub_boot_fini) [GRUB_UTIL]: Likewise.
51221 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
51222 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 51223
94bc45af 51224 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
51225 (grub_hfs_iterate_dir): Make the function static. Add prototypes
51226 for `node_found' and `it_dir'.
51227 (grub_hfs_dir): Add prototype for `dir_hook'.
51228
51229 * fs/minix.c (grub_minix_get_file_block): Add prototype for
51230 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
51231 and `indir32' to silence a gcc warning.
51232
51233 * include/grub/fs.h (grub_hfs_init): New prototype.
51234 (grub_hfs_fini): Likewise.
f19dbdb7 51235
51236
97543f08 512372004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
51238
51239 Each disk device has its own id now. This is useful to make use
51240 of multiple disk devices.
f19dbdb7 51241
97543f08 51242 * include/grub/disk.h (grub_disk_dev_id): New enum.
51243 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
51244 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
51245
51246 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
51247 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
51248
51249 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
51250 GRUB_DISK_DEVICE_OFDISK_ID as an id.
51251
51252 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
51253 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
51254
51255 * include/grub/disk.h (struct grub_disk_dev): Added a new member
51256 "id" which is used by the cache manager.
51257
51258 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
51259 of just "GRUB".
51260
64372eb4 512612004-08-18 Marco Gerards <metgerards@student.han.nl>
51262
51263 * fs/hfs.c: New file.
51264 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
51265 (grub_emu_SOURCES): Likewise.
51266 (pkgdata_MODULES): Add hfs.mod.
51267 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
51268 (grubof_SOURCES): Likewise.
51269 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
51270
51271 * include/grub/misc.h (grub_strncasecmp): Add prototype.
51272 * kern/misc.c (grub_strncasecmp): Add function.
51273
cc61b58f 512742004-08-14 Marco Gerards <metgerards@student.han.nl>
51275
51276 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
51277 with parentheses.
51278
51279 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
51280 (grub_ext2_dir): In case the directory entry type is unknown, read
51281 it from the inode.
51282
0ef123f6 512832004-08-02 Peter Bruin <pjbruin@dds.nl>
51284
51285 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
51286 grub_load_linux instead of grub_rescue_cmd_linux as second
51287 argument of grub_rescue_register_command.
51288
51289 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
51290
a447c5df 512912004-07-27 Marco Gerards <metgerards@student.han.nl>
51292
51293 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
51294 function.
51295 * commands/boot.c: Remove the check for `GRUB_UTIL'.
51296 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
51297 `loader/powerpc/ieee1275/linux.c',
51298 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
51299 * include/grub/powerpc/ieee1275/ieee1275.h
51300 (grub_ieee1275_release): New prototype.
51301 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
51302 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
51303 normal, boot, linux and linux_normal.
51304 * loader/powerpc/ieee1275/linux.c: New file.
51305 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
51306
5a9e3546 513072004-07-12 Marco Gerards <metgerards@student.han.nl>
51308
51309 * normal/arg.c (grub_arg_parse): Correct error handling after
51310 reallocating the argumentlist (check if `argl' is not null instead
51311 of checking if `args' is not null).
51312 * kern/mm.c (grub_realloc): Return the same pointer when using the
51313 same region, instead of returning the header address.
51314
e15199cb 513152004-07-11 Marco Gerards <metgerards@student.han.nl>
51316
51317 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
51318 one block instead of two when looking for the initial partition.
51319 (grub_partition_probe): Initialize the local variable `p' with 0.
51320 Use base 10 for the grub_strtoul call.
51321 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
51322 need for one local variable.
51323 (grub_strtoul): Don't add the new value to `num', instead of that
51324 just assign it.
51325
020616c2 513262004-07-11 Marco Gerards <metgerards@student.han.nl>
51327
51328 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
51329 (pxeboot_img_SOURCES): New variable.
51330 (pxeboot_img_ASFLAGS): Likewise.
51331 (pxeboot_img_LDFLAGS): Likewise.
51332 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
51333 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
51334 <lode_leroy@hotmail.com>.
51335
6c51eb64 513362004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
51337
51338 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
51339 there was no input.
51340
cfb12aff 513412004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
51342
51343 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
51344 the history buffer logic.
51345
6eabba74 513462004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
51347
51348 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
51349 (FILETYPE_INO_SYMLINK): New macros.
51350 (grub_ext2_find_file): Check if the node is a directory using the
51351 inode stat information instead of using the filetype in the
51352 dirent. Exclude the first character of an absolute symlink.
51353 (grub_ext2_dir): Mask out the filetype part of the mode member of
51354 the inode.
51355
66e19ef8 513562004-05-24 Marco Gerards <metgerards@student.han.nl>
51357
51358 Add support for UFS version 1 and 2. Add support for the minix
51359 filesystem version 1 and 2, both the variants with 14 and 30 long
51360 filenames.
f19dbdb7 51361
66e19ef8 51362 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
51363 fs/minix.c.
51364 (grub_emu_SOURCES): Likewise.
51365 (pkgdata_MODULES): Add ufs.mod and minix.mod.
51366 (ufs_mod_SOURCES): New variable.
51367 (ufs_mod_CFLAGS): Likewise.
51368 (minix_mod_SOURCES): Likewise.
51369 (minix_mod_CFLAGS): Likewise.
51370 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
51371 fs/minix.c.
51372 (grubof_SOURCES): Likewise.
51373 * fs/ufs.c: New file.
51374 * fs/minix.c: New file.
51375 * include/grub/fs.h (grub_ufs_init): New prototype.
51376 (grub_ufs_fini): Likewise.
51377 (grub_minix_init): Likewise.
51378 (grub_minix_fini): Likewise.
51379 * util/grub-emu.c (main): Initialize and deinitialize UFS and
51380 minix fs.
51381
cc2e748a 513822004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
51383
51384 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
51385 commands/ls.c, commands/terminal.c, commands/boot.c,
51386 commands/cmp.c and commands/cat.c.
51387 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
51388
51389 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
51390 "env.h"
51391
4b13b216 513922004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
51393
51394 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
51395 and grub_, respectively. Because the conversion is trivial and
51396 mechanical, I omit the details here. Please refer to the CVS
51397 if you need more information.
51398
6a142551 513992004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
51400
51401 * include/pupa: Renamed to ...
51402 * include/grub: ... this.
51403 * util/i386/pc/pupa-mkimage.c: Renamed to ...
51404 * util/i386/pc/grub-mkimage.c: ... this.
51405 * util/i386/pc/pupa-setup.c: Renamed to ...
51406 * util/i386/pc/grub-setup.c: ... this.
51407 * util/pupa-emu.c: Renamed to ...
51408 * util/grub-emu.c: ... this.
51409
e56cdf21 514102004-03-29 Marco Gerards <metgerards@student.han.nl>
51411
51412 Add support for the newworld apple macintosh (PPC). This has been
51413 tested on the powerbook 2000 only. It only adds support for
51414 generic ieee1275 functions, console and disk support. This should
51415 be easy to port to other architectures with support for Open
51416 Firmware.
f19dbdb7 51417
e56cdf21 51418 * configure.ac: Accept the powerpc as host_cpu. In the case of
51419 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
51420 specific tests are only executed while building for the i386.
51421 Inverse test for crosscompile.
51422 * genmk.rb (Utility): Allow assembler files.
51423 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
51424 * conf/powerpc-ieee1275.rmk: New file.
51425 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
51426 * disk/powerpc/ieee1275/partition.c: Likewise.
51427 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
51428 * include/pupa/powerpc/ieee1275/console.h: Likewise.
51429 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
51430 * include/pupa/powerpc/ieee1275/time.h: Likewise.
51431 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
51432 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
51433 * include/pupa/powerpc/ieee1275/loader.h
51434 * include/pupa/powerpc/setjmp.h: Likewise.
51435 * include/pupa/powerpc/types.h: Likewise.
51436 * kern/powerpc/ieee1275/init.c: Likewise.
51437 * kern/powerpc/ieee1275/openfw.c: Likewise.
51438 * term/powerpc/ieee1275/ofconsole.c: Likewise.
51439
51440 These files were written by Johan Rydberg
51441 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 51442
e56cdf21 51443 * boot/powerpc/ieee1275/cmain.c: New file.
51444 * boot/powerpc/ieee1275/crt0.S: Likewise.
51445 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
51446 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
51447
8c8cc205 514482004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
51449
51450 * Makefile.in: Update copyright.
51451 * genmodsrc.sh: Likewise.
51452 * gensymlist.sh: Likewise.
51453 * term/i386/pc/vga.c: Indent correctly.
51454
51455 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
51456 bugreporting address.
51457 * util/i386/pc/pupa-setup.c (usage): Likewise,
51458 (main): Call pupa_ext2_init and pupa_ext2_fini.
51459
f19dbdb7 51460 * fs/fat.c (log2): Renamed to ...
8c8cc205 51461 (fat_log2): ... this.
51462 All callers changed.
51463 * kern/misc.c (memcpy): Alias to pupa_memmove.
51464 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
51465 lvalue cast.
51466 * util/console.c (pupa_ncurses_fini): Return 0.
51467
51468 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
51469 Move fail label here.
51470 [__GNU__]: Don't warn when using stat.
51471 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
51472 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
51473 long int. Use strtol instead of strtoul.
f19dbdb7 51474
db1771cf 514752004-03-14 Marco Gerards <metgerards@student.han.nl>
51476
51477 * commands/boot.c: New file.
51478 * commands/cat.c: Likewise.
51479 * commands/cmp.c: Likewise.
51480 * commands/ls.c: Likewise.
51481 * commands/terminal.c: Likewise.
51482 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
51483 (pupa_register_command): Changed interface to match the new
51484 argument parser.
51485 (pupa_command_execute): Changed (almost rewritten) so it uses
51486 pupa_split_command. Added support for setting variables using the
51487 syntax `foo=bar'.
51488 (rescue_command): Changed to work with the new argument parser.
51489 (terminal_command): Moved from here to commands/terminal.c.
51490 (set_command): New function.
51491 (unset_command): New function.
51492 (insmod_command): New function.
51493 (rmmod_command): New function.
51494 (lsmod_command): New function.
51495 (pupa_command_init): Don't initialize the command terminal
51496 anymore. Initialize the commands set, unset, insmod, rmmod and
51497 lsmod.
51498 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
51499 (kernel_img_HEADERS): Add arg.h and env.h.
51500 (pupa_mkimage_LDFLAGS): Add kern/env.c.
51501 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
51502 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
51503 normal/arg.c.
51504 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
51505 terminal.mod.
51506 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
51507 (boot_mod_SOURCES): New variable.
51508 (terminal_mod_SOURCES): Likewise.
51509 (ls_mod_SOURCES): Likewise.
51510 (cmp_mod_SOURCES): Likewise.
51511 (cat_mod_SOURCES): Likewise.
51512
51513 * normal/arg.c: New file.
51514 * kern/env.c: Likewise.
51515 * include/pupa/arg.h: Likewise.
51516 * include/pupa/env.h: Likewise.
51517 * font/manager.c (font_command): Changed to match argument parsing
51518 interface changes.
51519 (PUPA_MOD_INIT): Likewise.
51520 * hello/hello.c (pupa_cmd_hello): Likewise.
51521 (PUPA_MOD_INIT): Likewise.
51522 * include/pupa/disk.h: Include <pupa/device.h>.
51523 (pupa_print_partinfo): New prototype.
51524 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
51525 (pupa_dl_get_prefix): Likewise.
51526 * include/pupa/misc.h: Include <pupa/err.h>.
51527 (pupa_isgraph): New prototype.
51528 (pupa_isdigit): Likewise.
51529 (pupa_split_cmdline): Likewise.
51530 * include/pupa/normal.h: Include <pupa/arg.h>.
51531 (pupa_command): Changed the prototype of the member `func' to
51532 match the argument parsing interface. Added member `options'.
51533 (pupa_register_command): Updated to match function.
51534 (pupa_arg_parse): New prototype.
51535 (pupa_hello_init) [PUPA_UTIL]: New prototype.
51536 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
51537 (pupa_ls_init) [PUPA_UTIL]: Likewise.
51538 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
51539 (pupa_cat_init) [PUPA_UTIL]: Likewise.
51540 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
51541 (pupa_boot_init) [PUPA_UTIL]: Likewise.
51542 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
51543 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
51544 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
51545 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
51546 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
51547 * kern/disk.c: Include <pupa/file.h>.
51548 (pupa_print_partinfo): New function.
51549 * kern/dl.c: Include <pupa/env.h>.
51550 (pupa_dl_dir): Variable removed.
51551 (pupa_dl_load): Use the environment variable `prefix' instead of
51552 the variable pupa_dl_dir.
51553 (pupa_dl_set_prefix): Function removed.
51554 (pupa_dl_get_prefix): Likewise.
51555 * kern/i386/pc/init.c: Include <pupa/env.h>.
51556 (pupa_machine_init): Use the environment variable `prefix' instead of
51557 using pupa_dl_set_prefix to set the prefix.
51558 * kern/main.c: Include <pupa/env.h>.
51559 (pupa_set_root_dev): Use the environment variable `prefix' instead of
51560 using pupa_dl_get_prefix to get the prefix.
51561 * kern/misc.c: Include <pupa/env.h>.
51562 (pupa_isdigit): New function.
51563 (pupa_isgraph): Likewise.
51564 (pupa_ftoa): Likewise.
51565 (pupa_vsprintf): Added support for printing values of the type
51566 `double'. Make it possible to format variable output when using
51567 formatting like `%1.2%f'.
51568 (pupa_split_cmdline): New function.
51569 * kern/rescue.c: Include <pupa/env.h>.
51570 (next_word): Removed function.
51571 (pupa_rescue_cmd_prefix): Likewise.
51572 (pupa_rescue_cmd_set): New function.
51573 (pupa_rescue_cmd_unset): New function.
51574 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
51575 split the command line instead of splitting it here. Added
51576 support for setting variables using the syntax `foo=bar'. Don't
51577 initialize the prefix command anymore. Initialized the set and
51578 unset commands.
51579 * normal/cmdline.c: Include <pupa/env.h>.
51580 (pupa_tab_complete): Added prototypes for print_simple_completion,
51581 print_partition_completion, add_completion, iterate_commands,
51582 iterate_dev, iterate_part and iterate_dir. Moved code to print
51583 partition information from here to kern/disk.c.
fe6b695a 51584 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 51585 * normal/main.c: Include <pupa/env.h>.
51586 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
51587 instead of using pupa_dl_get_prefix to get the prefix.
51588 * term/i386/pc/vga.c: Include <pupa/arg.h>.
51589 (check_vga_mem): Cast pointers to `void *' to silence a gcc
51590 warning.
51591 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
51592 (pupa_vga_setcolor): Declare unused variables with `__attribute__
51593 ((unused))' to silence a gcc warning.
51594 (pupa_vga_setcolor): Likewise.
51595 (debug_command): Changed to match argument parsing
51596 interface changes.
51597 * util/pupa-emu.c: Include <pupa/env.h>.
51598 (options): Added 0's for unused fields to silence a gcc warning.
51599 (argp): Likewise.
51600 (main): Use the environment variable `prefix' instead of using
51601 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
51602 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
51603 and terminal.
51604
51605 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
51606 * util/misc.c: Include <malloc.h>.
51607 (pupa_malloc): Rewritten so errors are correctly reported.
51608 (pupa_realloc): Likewise.
51609 (pupa_memalign): Likewise.
51610 (pupa_mm_init_region): Declare unused variables with
51611 `__attribute__ ((unused))' to silence a gcc warning.
51612 * normal/i386/setjmp.S: Remove tab at the end of the file to
51613 silence a gcc warning.
51614 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
51615 variables with `__attribute__ ((unused))' to silence a gcc
51616 warning.
51617 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
51618 local variable i unsigned to silence a gcc warning.
51619
51620 * kern/term.c: Include <pupa/misc.h>.
51621 (pupa_more_lines): New variable.
51622 (pupa_more): Likewise.
51623 (pupa_putcode): When the pager is active pause at the end of every
51624 screen.
51625 (pupa_set_more): New function.
51626 * include/pupa/term.h (pupa_set_more): New prototype.
51627
51628
3b1139cb 516292004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
51630
51631 Now this project is GRUB 2 rather than PUPA. The location of
51632 the CVS repository was moved to GRUB's.
f19dbdb7 51633
3b1139cb 51634 * configure.ac: Use bug-grub as the reporting address.
51635 Use GRUB instead of PUPA.
51636 Change the version number to 1.90.
51637
8367695c 516382004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
51639
51640 * genkernsyms.sh: Updated copyright information.
51641 * genmk.rb: Likewise.
51642 * genmodsrc.sh: Likewise.
51643 * gensymlist.sh: Likewise.
51644 * boot/i386/pc/boot.S: Likewise.
51645 * boot/i386/pc/diskboot.S: Likewise.
51646 * disk/i386/pc/biosdisk.c: Likewise.
51647 * disk/i386/pc/partition.c: Likewise.
51648 * font/manager.c: Likewise.
51649 * fs/ext2.c: Likewise.
51650 * fs/fat.c: Likewise.
51651 * include/pupa/boot.h: Likewise.
51652 * include/pupa/device.h: Likewise.
51653 * include/pupa/disk.h: Likewise.
51654 * include/pupa/dl.h: Likewise.
51655 * include/pupa/elf.h: Likewise.
51656 * include/pupa/err.h: Likewise.
51657 * include/pupa/file.h: Likewise.
51658 * include/pupa/font.h: Likewise.
51659 * include/pupa/fs.h: Likewise.
51660 * include/pupa/kernel.h: Likewise.
51661 * include/pupa/loader.h: Likewise.
51662 * include/pupa/misc.h: Likewise.
51663 * include/pupa/mm.h: Likewise.
51664 * include/pupa/net.h: Likewise.
51665 * include/pupa/normal.h: Likewise.
51666 * include/pupa/rescue.h: Likewise.
51667 * include/pupa/setjmp.h: Likewise.
51668 * include/pupa/symbol.h: Likewise.
51669 * include/pupa/term.h: Likewise.
51670 * include/pupa/types.h: Likewise.
51671 * include/pupa/i386/setjmp.h: Likewise.
51672 * include/pupa/i386/types.h: Likewise.
51673 * include/pupa/i386/pc/biosdisk.h: Likewise.
51674 * include/pupa/i386/pc/boot.h: Likewise.
51675 * include/pupa/i386/pc/console.h: Likewise.
51676 * include/pupa/i386/pc/init.h: Likewise.
51677 * include/pupa/i386/pc/kernel.h: Likewise.
51678 * include/pupa/i386/pc/linux.h: Likewise.
51679 * include/pupa/i386/pc/loader.h: Likewise.
51680 * include/pupa/i386/pc/memory.h: Likewise.
51681 * include/pupa/i386/pc/multiboot.h: Likewise.
51682 * include/pupa/i386/pc/partition.h: Likewise.
51683 * include/pupa/i386/pc/time.h: Likewise.
51684 * include/pupa/i386/pc/vga.h: Likewise.
51685 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
51686 * include/pupa/util/getroot.h: Likewise.
51687 * include/pupa/util/misc.h: Likewise.
51688 * include/pupa/util/resolve.h: Likewise.
51689 * kern/device.c: Likewise.
51690 * kern/disk.c: Likewise.
51691 * kern/dl.c: Likewise.
51692 * kern/err.c: Likewise.
51693 * kern/file.c: Likewise.
51694 * kern/fs.c: Likewise.
51695 * kern/loader.c: Likewise.
51696 * kern/main.c: Likewise.
51697 * kern/misc.c: Likewise.
51698 * kern/mm.c: Likewise.
51699 * kern/rescue.c: Likewise.
51700 * kern/term.c: Likewise.
51701 * kern/i386/dl.c: Likewise.
51702 * kern/i386/pc/init.c: Likewise.
51703 * kern/i386/pc/lzo1x.S: Likewise.
51704 * kern/i386/pc/startup.S: Likewise.
51705 * loader/i386/pc/chainloader.c: Likewise.
51706 * loader/i386/pc/linux.c: Likewise.
51707 * loader/i386/pc/multiboot.c: Likewise.
51708 * normal/cmdline.c: Likewise.
51709 * normal/command.c: Likewise.
51710 * normal/main.c: Likewise.
51711 * normal/menu.c: Likewise.
51712 * normal/i386/setjmp.S: Likewise.
51713 * term/i386/pc/console.c: Likewise.
51714 * term/i386/pc/vga.c: Likewise.
51715 * util/console.c: Likewise.
51716 * util/genmoddep.c: Likewise.
51717 * util/misc.c: Likewise.
51718 * util/pupa-emu.c: Likewise.
51719 * util/resolve.c: Likewise.
51720 * util/unifont2pff.rb: Likewise.
51721 * util/i386/pc/biosdisk.c: Likewise.
51722 * util/i386/pc/getroot.c: Likewise.
51723 * util/i386/pc/pupa-mkimage.c: Likewise.
51724 * util/i386/pc/pupa-setup.c: Likewise.
51725
e6eced71 517262004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
51727
51728 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
51729 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
51730 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
51731 reading and reset it after reading.
51732 (pupa_ext2_close): Return PUPA_ERR_NONE.
51733
51734 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
51735 Correct value.
51736 (struct linux_kernel_header): Add kernel_version and
51737 initrd_addr_max.
51738 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
51739 pupa_file_read succeeds.
51740 (pupa_rescue_cmd_initrd): Implement.
51741
5aded270 517422003-12-03 Marco Gerards <metgerards@student.han.nl>
51743
51744 * fs/ext2.c (pupa_ext2_label): New function.
51745 (pupa_ext2_fs): Added label.
51746 * fs/fat.c (pupa_fat_label): New function.
51747 (pupa_fat_fs): Added label.
51748 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
51749
51750 * kern/misc.c (pupa_strndup): New function.
51751 * include/pupa/misc.h (pupa_strndup): New prototype.
51752
51753 * include/pupa/normal.h: Include <pupa/err.h>.
51754 (pupa_set_history): New prototype.
51755 (pupa_iterate_commands): New prototype.
51756 * normal/cmdline.c: Include <pupa/machine/partition.h>,
51757 <pupa/disk.h>, <pupa/file.h>.
51758 (hist_size): New variable.
51759 (hist_lines): Likewise.
51760 (hist_end): Likewise.
51761 (hist_used): Likewise.
51762 (pupa_set_history): New function.
51763 (pupa_history_get): Likewise.
51764 (pupa_history_add): Likewise.
51765 (pupa_history_replace): Likewise.
51766 (pupa_tab_complete): Likewise.
51767 (pupa_cmdline_run): Added tab completion and history buffer. Tab
51768 completion shows partitionnames while completing partitions, this
51769 feature was suggested by Jeff Bailey.
51770 * normal/command.c (pupa_iterate_commands): New function.
51771 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
51772 (pupa_normal_init): Initialize history buffer.
51773 (PUPA_MOD_INIT): Likewise.
51774 (pupa_normal_fini): Free the history buffer.
51775 (PUPA_MOD_FINI): Likewise.
51776
51777 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
51778 key.
51779
51780 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
51781 * configure.ac [i386]: Check for regparam bug.
51782 (NESTED_FUNC_ATTR) [! i386]: Defined.
51783
1f7315a3 517842003-11-17 Marco Gerards <metgerards@student.han.nl>
51785
51786 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
51787 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
51788 (pupa_emu_SOURCES): New variable.
51789 (pupa_emu_LDFLAGS): Likewise.
51790 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
51791 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
51792 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
51793 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
51794 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
51795 (pupa_jmp_buf): New typedef.
51796 (pupa_setjmp) [PUPA_UTIL]: New macro.
51797 (pupa_longjmp) [PUPA_UTIL]: Likewise.
51798 * include/pupa/term.h (struct pupa_term): New member `refresh'.
51799 (pupa_refresh): New prototype.
51800 * include/pupa/util/getroot.h: New file.
51801 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
51802 it.
51803 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
51804 (pupa_rescue_cmd_cat): Likewise.
51805 (pupa_rescue_cmd_ls): Likewise.
51806 (pupa_rescue_cmd_testload): Likewise.
51807 (pupa_rescue_cmd_lsmod): Likewise.
51808 * normal/cmdline.c (pupa_cmdline_get): Likewise.
51809 * normal/menu.c (run_menu): Likewise.
51810 * kern/term.c (pupa_cls): Likewise.
51811 (pupa_refresh): New function.
51812 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
51813 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
51814 * util/console.c: New file.
f19dbdb7 51815
1f7315a3 51816 * util/i386/pc/getroot.c: New file.
51817 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
51818 (pupa_putchar): New function.
51819 (pupa_refresh): Likewise.
51820 (xgetcwd): Function moved to ...
51821 (strip_extra_slashes): Likewise.
51822 (get_prefix): Likewise.
f19dbdb7 51823 * util/i386/pc/getroot.c: ... here.
1f7315a3 51824 (find_root_device): Function moved and renamed to...
51825 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
51826 Changed all callers.
51827 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
51828 and renamed to...
51829 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
51830 Changed all callers.
51831 * util/misc.c (pupa_memalign): New function.
51832 (pupa_mm_init_region): Likewise.
51833 (pupa_register_exported_symbols): Likewise.
51834 (pupa_putchar): Function removed.
51835 * util/pupa-emu.c: New file.
51836
9a5c1ade 518372003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
51838
51839 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
51840 (_multiboot_mod_SOURCES): New variable.
51841 (_multiboot_mod_CFLAGS): Likewise.
51842 * loader/i386/pc/multiboot.c: New file.
51843 * include/pupa/i386/pc/multiboot.h: Likewise.
51844 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
51845 (pupa_multiboot_real_boot): New function.
51846 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
51847 (pupa_multiboot_real_boot): New prototype.
51848 (pupa_rescue_cmd_multiboot): Likewise
51849 (pupa_rescue_cmd_module): Likewise.
51850
51851 * kern/loader.c (pupa_loader_set): Continue when
51852 pupa_loader_unload_func() fails.
51853 (pupa_loader_unset): New function.
51854 * include/pupa/loader.h (pupa_loader_unset): New prototype.
51855
51856 * kern/misc.c (pupa_stpcpy): New function.
51857 * include/pupa/misc.h (pupa_stpcpy): New prototype.
51858
8e72a9c0 518592003-11-12 Marco Gerards <metgerards@student.han.nl>
51860
51861 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
51862 for available extensions.
51863
51864 * include/pupa/i386/pc/time.h: New file.
51865 * kern/disk.c: Include <pupa/machine/time.h>.
51866 (PUPA_CACHE_TIMEOUT): New macro.
51867 (pupa_last_time): New variable.
51868 (pupa_disk_open): Flush the cache when there was a timeout.
51869 (pupa_disk_close): Reset the timer.
51870 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
51871 pupa_currticks.
51872 * util/misc.c: Include <sys/times.h>
51873 (pupa_get_rtc): New function.
51874
c4adbd32 518752003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
51876
51877 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
51878 as blocks.
51879 (pupa_ext2_get_file_block): Use blocks member.
51880
51881 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
51882 first block. Return -1 instead of pupa_errno on error.
51883
bfd30f06 518842003-10-27 Marco Gerards <metgerards@student.han.nl>
51885
51886 * README: In the pupa-mkimage example use _chain instead of chain
51887 and ext2 instead of fat.
51888 * TODO: Replace ext2fs with jfs as an example. Add an item for
51889 adding journal playback for ext2fs.
51890 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
51891 (pkgdata_MODULES): Added ext2.mod.
51892 (ext2_mod_SOURCES): New variable.
51893 (ext2_mod_CFLAGS): Likewise.
51894 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
51895 * include/pupa/misc.h (pupa_strncpy): New prototype.
51896 (pupa_strcat): Likewise.
51897 (pupa_strncmp): Likewise.
51898 * kern/misc.c (pupa_strcat): Enable function.
51899 (pupa_strncpy): New function.
51900 (pupa_strncmp): Likewise.
51901 * fs/ext2.c: New file.
f19dbdb7 51902
bfd30f06 51903 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
51904 when the read failed before retrying.
51905 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
51906 (_FILE_OFFSET_BITS): Likewise.
51907 * configure.ac: Added AC_SYS_LARGEFILE.
51908
98d15063 519092003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
51910
51911 * genmk.rb (PModule#rule): Make sure to get only symbol names
51912 from the output of nm.
59cad637 51913 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 51914
18d9c7cd 519152003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
51916
51917 I forgot to check in these changes for a long time. This adds
51918 incomplete support for VGA console, and this is still very
51919 buggy. Also, a lot of consideration is required for I18N,
51920 UNICODE, and VGA font issues. Therefore, assume that this is
51921 such that "better than nothing".
f19dbdb7 51922
18d9c7cd 51923 * font/manager.c: New file.
51924 * include/pupa/font.h: Likewise.
51925 * include/pupa/i386/pc/vga.h: Likewise.
51926 * term/i386/pc/vga.c: Likewise.
51927 * util/unifont2pff.rb: Likewise.
51928
51929 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
51930 (pkgdata_MODULES): Added vga.mod and font.mod.
51931 (vga_mod_SOURCES): New variables.
51932 (vga_mod_CFLAGS): Likewise.
51933 (font_mod_SOURCES): Likewise.
51934 (font_mod_CFLAGS): Likewise.
51935
51936 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
51937
51938 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 51939 (struct pupa_term): Added init and fini.
18d9c7cd 51940 Changed the argument of putchar to pupa_uint32_t.
51941
51942 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
51943 (pupa_console_real_putchar): New prototype.
51944 (pupa_console_putchar): Removed.
51945 (pupa_console_checkkey): Exported.
51946 (pupa_console_getkey): Likewise.
51947
51948 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
51949 characters.
51950
51951 * kern/term.c (pupa_term_set_current): Rewritten.
51952 (pupa_putchar): Likewise.
51953 (pupa_putcode): New function.
51954
51955 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
51956 (pupa_console_real_putchar): ... this.
51957 (pupa_vga_set_mode): New function.
51958 (pupa_vga_get_font): Likewise.
51959
51960 * normal/command.c: Include pupa/term.h.
51961 (terminal_command): New function.
51962 (pupa_command_init): Register the command "terminal".
51963
51964 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
51965 (DISP_UP): Likewise.
51966 (DISP_RIGHT): Likewise.
51967 (DISP_DOWN): Likewise.
51968 (DISP_HLINE): Likewise.
51969 (DISP_VLINE): Likewise.
51970 (DISP_UL): Likewise.
51971 (DISP_UR): Likewise.
51972 (DISP_LL): Likewise.
51973 (DISP_LR): Likewise.
51974
51975 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 51976
977329f5 519772003-02-08 NIIBE Yutaka <gniibe@m17n.org>
51978
51979 * util/resolve.c (pupa_util_resolve_dependencies): BUG
51980 FIX. Reverse the path_list.
51981
51982 * include/pupa/normal.h: Export pupa_register_command and
51983 pupa_unregister_command.
51984
51985 * hello/hello.c (pupa_cmd_hello): New module.
51986 * conf/i386-pc.rmk: Added hello.mod.
51987
1f5ab428 519882003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
51989
51990 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 51991
1f5ab428 51992 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
51993 (compress_kernel): New variable.
51994 (generate_image): Heavily modified to support compressing a
51995 large part of the core image.
51996
51997 * util/misc.c (pupa_util_read_image): Fix a file descriptor
51998 leak.
51999 (pupa_util_load_image): New function.
52000
52001 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
52002 (pupa_compressed_size): New variable.
52003 (codestart): Enable Gate A20 here.
52004 Decompress the compressed part of the core image.
52005 Rearrange the code to put functions and variables which are
52006 required for initialization in the non-compressed part.
52007 Include lzo1x.S.
52008
52009 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
52010 here.
52011
52012 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
52013
f19dbdb7 52014 * include/pupa/i386/pc/kernel.h
1f5ab428 52015 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
52016 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
52017 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
52018 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
52019 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
52020
52021 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
52022
52023 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
52024 (Utility#rule): Likewise.
52025
52026 * configure.ac: Check if LZO is available.
52027
ce5bf700 520282003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
52029
52030 * include/pupa/normal.h: New file.
52031 * include/pupa/setjmp.h: Likewise.
52032 * include/pupa/i386/setjmp.h: Likewise.
52033 * normal/cmdline.c: Likewise.
52034 * normal/command.c: Likewise.
52035 * normal/main.c: Likewise.
52036 * normal/menu.c: Likewise.
52037 * normal/i386/setjmp.S: Likewise.
f19dbdb7 52038
ce5bf700 52039 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
52040 (pupa_rescue_cmd_initrd): Likewise.
52041
52042 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
52043 Likewise.
52044
52045 * kern/i386/pc/startup.S (translation_table): New variable.
52046 (translate_keycode): New function.
52047 (pupa_console_getkey): Call translate_keycode.
52048
52049 * kern/rescue.c (attempt_normal_mode): New function.
52050 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
52051 it failed, print a message.
52052
52053 * kern/mm.c (pupa_real_malloc): Print more information when a
52054 free magic is broken.
52055 (pupa_free): If the first free header is not free actually, set
52056 it to P.
52057
52058 * kern/main.c (pupa_load_normal_mode): Just load the module
52059 "normal".
52060 (pupa_main): Don't print the message
52061 "Entering into rescue mode..." here.
52062
52063 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
52064 Declared.
52065 (pupa_rescue_cmd_initrd): Likewise.
52066 (pupa_rescue_cmd_initrd): Likewise.
52067
52068 * include/pupa/symbol.h (FUNCTION): Specify the type.
52069 (VARIABLE): Likewise.
52070
52071 * include/pupa/err.h (pupa_err_t): Added
52072 PUPA_ERR_UNKNOWN_COMMAND.
52073
52074 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
52075 (pupa_dl_get_prefix): Likewise.
52076
52077 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
52078 Added _chain.mod and _linux.mod instead of chain.mod and
52079 linux.mod.
52080 (chain_mod_SOURCES): Renamed to ...
52081 (_chain_mod_SOURCES): ... this.
52082 (chain_mod_CFLAGS): Renamed to ...
52083 (_chain_mod_CFLAGS): ... this.
52084 (linux_mod_SOURCES): Renamed to ...
52085 (_linux_mod_SOURCES): ... this.
52086 (linux_mod_CFLAGS): Renamed to ...
52087 (_linux_mod_CFLAGS): ... this.
52088 (normal_mod_SOURCES): New variable.
52089 (normal_mod_CFLAGS): Likewise.
52090 (normal_mod_ASFLAGS): Likewise.
52091
520922003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
52093
52094 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
52095 possible.
52096
fe6b695a 52097 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 52098 recursively.
52099 (pupa_dl_unref): Unrefer depending modules recursively.
52100 Don't call pupa_dl_unload implicitly, because PUPA can crash if
52101 a module is unloaded before one depending on that module is
52102 unloaded.
52103 (pupa_dl_unload): Unload depending modules explicitly,
52104 if possible.
52105
c04da074 521062003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
52107
52108 * include/pupa/i386/pc/linux.h: New file.
52109 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 52110
c04da074 52111 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
52112 Removed.
52113 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
52114 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
52115 of PUPA_CHAINLOADER_BOOT_SECTOR.
52116
52117 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
52118 (pupa_linux_prot_size): New variable.
52119 (pupa_linux_tmp_addr): Likewise.
52120 (pupa_linux_real_addr): Likewise.
52121 (pupa_linux_boot_zimage): New function.
52122 (pupa_linux_boot_bzimage): Likewise.
52123
52124 * kern/i386/pc/init.c (struct mem_region): New structure.
52125 (MAX_REGIONS): New macro.
52126 (mem_regions): New variable.
52127 (num_regions): Likewise.
52128 (pupa_os_area_addr): Likewise.
52129 (pupa_os_area_size): Likewise.
52130 (pupa_lower_mem): Likewise.
52131 (pupa_upper_mem): Likewise.
52132 (add_mem_region): New function.
52133 (compact_mem_regions): Likewise.
52134 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
52135 the size of the conventional memory and that of so-called upper
52136 memory (before the first memory hole).
52137 Instead of adding each found region to free memory, use
52138 add_mem_region and add them after removing overlaps.
52139 Also, add only 1/4 of the upper memory to free memory. The rest
52140 is used for loading OS images. Maybe this is ad hoc, but this
52141 makes it much easier to relocate OS images when booting.
52142
52143 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
52144 (pupa_enter_rescue_mode): Don't register initrd and module.
52145
52146 * kern/mm.c: Include pupa/dl.h.
52147
52148 * kern/main.c: Include pupa/file.h and pupa/device.h.
52149
52150 * kern/loader.c (pupa_loader_load_module_func): Removed.
52151 (pupa_loader_load_module): Likewise.
52152
52153 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
52154 ``.o''.
52155
52156 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
52157 (pupa_linux_tmp_addr): Likewise.
52158 (pupa_linux_real_addr): Likewise.
52159 (pupa_linux_boot_zimage): Likewise.
52160 (pupa_linux_boot_bzimage): Likewise.
52161
52162 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
52163 (pupa_upper_mem): Likewise.
52164 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
52165 module is too dangerous.
52166
52167 * include/pupa/loader.h (pupa_os_area_addr): Declared.
52168 (pupa_os_area_size): Likewise.
52169 (pupa_loader_set): Remove the first argument. Loader doesn't
52170 manage modules or initrd any longer.
52171 (pupa_loader_load_module): Removed.
52172
52173 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
52174 (linux_mod_SOURCES): New variable.
52175 (linux_mod_CFLAGS): Likewise.
52176
a13f9237 521772003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
52178
52179 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
52180 the length of a blocklist correctly.
52181
52182 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
52183 Use ioctl only if the OS file is a block device.
52184 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
52185 not very useful for normal files.
52186
52187 * kern/main.c (pupa_set_root_dev): New function.
52188 (pupa_load_normal_mode): Likewise.
52189 (pupa_main): Call those above.
52190
52191 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
52192 pupa_uint16_t.
52193
52194 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
52195
a5ffe966 521962003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
52197
52198 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
52199 (setup): Configure the installed partition information and the
52200 dl prefix.
52201
52202 * loader/i386/pc/chainloader.c (my_mod): New variable.
52203 (pupa_chainloader_unload): New function.
52204 (pupa_rescue_cmd_chainloader): Refer itself.
52205 (PUPA_MOD_INIT): Save its own module in MY_MOD.
52206
52207 * kern/i386/pc/startup.S (install_partition): Removed.
52208 (version_string): Likewise.
52209 (config_file): Likewise.
52210 (pupa_install_dos_part): New variable.
52211 (pupa_install_bsd_part): Likewise.
52212 (pupa_prefix): Likewise.
52213 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
52214
52215 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
52216 and pupa/misc.h.
52217 (make_install_device): New function.
52218 (pupa_machine_init): Set the dl prefix.
52219
52220 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
52221 (buf): Renamed to ...
52222 (linebuf): ... this.
52223 (pupa_rescue_cmd_prefix): New function.
52224 (pupa_rescue_cmd_insmod): Likewise.
52225 (pupa_rescue_cmd_rmmod): Likewise.
52226 (pupa_rescue_cmd_lsmod): Likewise.
52227 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
52228 rmmod and lsmod.
52229
52230 * kern/mm.c (pupa_memalign): If failed even after invalidating
52231 disk caches, unload unneeded modules and retry.
52232
52233 * kern/misc.c (pupa_memmove): New function.
52234 (pupa_memcpy): Removed.
52235 (pupa_strcpy): New function.
52236 (pupa_itoa): Made static.
52237
52238 * kern/dl.c (pupa_dl_iterate): New function.
52239 (pupa_dl_ref): Likewise.
52240 (pupa_dl_unref): Likewise.
52241 (pupa_dl_unload): Return if succeeded or not.
52242 (pupa_dl_unload_unneeded): New function.
52243 (pupa_dl_unload_all): Likewise.
52244 (pupa_dl_init): Renamed to ...
52245 (pupa_dl_set_prefix): ... this.
52246 (pupa_dl_get_prefix): New function.
52247
52248 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
52249 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
52250 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
52251 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
52252 (pupa_install_dos_part): Declared.
52253 (pupa_install_bsd_part): Likewise.
52254 (pupa_prefix): Likewise.
52255 (pupa_boot_drive): Likewise.
52256
52257 * include/pupa/types.h: Fix a typo.
52258
52259 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
52260 pupa_memmove.
52261 (pupa_memmove): Declared.
52262 (pupa_strcpy): Likewise.
52263
52264 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
52265 pupa_mod_init takes one argument, its own module.
52266 (pupa_dl_unload_unneeded): Declared.
52267 (pupa_dl_unload_all): Likewise.
52268 (pupa_dl_ref): Likewise.
52269 (pupa_dl_unref): Likewise.
52270 (pupa_dl_iterate): Likewise.
52271 (pupa_dl_init): Renamed to ...
52272 (pupa_dl_set_prefix): ... this.
52273 (pupa_dl_get_prefix): Declared.
52274
52275 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 52276 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 52277 unloaded.
52278 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
52279 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
52280
52281 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
52282 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
52283
012d7999 522842003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
52285
52286 * util/i386/pc/pupa-setup.c (setup): Define the internal
52287 function find_first_partition_start at the top level, because GCC
52288 3.0.x cannot compile internal functions in deeper scopes
52289 correctly.
52290 (find_root_device): Use lstat instead of stat.
52291 Don't follow symbolic links.
52292 Fix the path-constructing code.
52293
52294 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
52295 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
52296 by a BLKGETSIZE ioctl first, because block devices don't fill
52297 the member st_mode of the structure stat on Linux.
52298 [__linux__] (linux_find_partition): Use a temporary buffer
52299 REAL_DEV for the working space. Copy it to DEV before returning.
52300 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
52301 buffer cache consistent.
52302 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
52303 strncmp. The previous value was merely wrong.
52304 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
52305
52306 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
52307 FAT size is 12. The previous value was merely wrong.
52308
52309 * kern/main.c (pupa_main): Don't split the starting message from
52310 newlines.
52311
52312 * kern/term.c (pupa_putchar): Put CR after LF instead of before
52313 LF, because BIOS goes crazy about character attributes in this
52314 case.
52315
1cc73a62 523162003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
52317
52318 * include/i386/pc/util/biosdisk.h: New file.
52319 * util/i386/pc/biosdisk.c: Likewise.
52320 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 52321
1cc73a62 52322 * Makefile.in (INCLUDE_DISTFILES): Added
52323 include/pupa/i386/pc/util/biosdisk.h.
52324 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
52325 directory util/i386/pc.
52326 (install-local): Added a rule for sbin_UTILITIES.
52327 (uninstall): Likewise.
52328
52329 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
52330
52331 * util/misc.c (xrealloc): New function.
52332 (pupa_malloc): Likewise.
52333 (pupa_free): Likewise.
52334 (pupa_realloc): Likewise.
52335 (pupa_stop): Likewise.
52336 (pupa_putchar): Likewise.
52337
52338 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
52339
52340 * include/pupa/util/misc.h (xrealloc): Declared.
52341
52342 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
52343 macro.
52344 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
52345 (PUPA_BOOT_MACHINE_BPB_END): ... this.
52346
52347 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
52348 [PUPA_UTIL] (pupa_fat_fini): Likewise.
52349
52350 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
52351 way should be implemented.
52352 [PUPA_UTIL] (pupa_fat_fini): Likewise.
52353
52354 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
52355 the size of NAME for safety.
52356 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
52357 0x88.
52358
52359 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
52360 (pupa_setup_SOURCES): Likewise.
52361
52362 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
52363
08b70fe8 523642002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
52365
52366 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
52367 bunch of pushl's from pusha, because this destroys the return
52368 value.
52369
62ddcc8f 523702002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
52371
52372 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
52373 This means that any missing prototypes could be fatal. Also, you
52374 must take care when writing assembly code. See the comments at
52375 the beginning of startup.S, for more details.
f19dbdb7 52376
62ddcc8f 52377 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
52378 compilation mechanism.
52379 (pupa_chainloader_real_boot): Likewise.
52380 (pupa_biosdisk_rw_int13_extensions): Likewise.
52381 (pupa_biosdisk_rw_standard): Likewise.
52382 (pupa_biosdisk_check_int13_extensions): Likewise.
52383 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
52384 (pupa_biosdisk_get_diskinfo_standard): Likewise.
52385 (pupa_get_memsize): Likewise.
52386 (pupa_get_mmap_entry): Likewise.
52387 (pupa_console_putchar): Likewise.
52388 (pupa_console_setcursor): Likewise.
52389 (pupa_getrtsecs): Use pushl instead of push.
52390
52391 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
52392 memory instead of the stack for a mmap entry, because some
52393 BIOSes may ignore the maximum size and overflow.
52394
52395 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
52396
52397 * genmk.rb (PModule#rule): Compile automatically generated
52398 sources with module-specific CFLAGS as well as other sources.
52399
9962ed99 524002002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
52401
52402 * configure.ac: Check ld.
52403 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
52404 respectively, before checking endianness and sizes.
52405
52406 * Makefile.in (LD): New variable.
f19dbdb7 52407
abdfc3c5 524082002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
52409
52410 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
52411
6a161fa9 524122002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
52413
52414 * Changelog: New file.
52415