]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
[grub2.git] / ChangeLog
CommitLineData
5e77d9cf
VS
12013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
4 helper functions are needed for thumb.
5
7d511625
VS
62013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
9 level / 3 division explicitly unsigned. Saves few bytes.
10
81023dbd
VS
112013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12
13 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
14
b2e9294f
VS
152013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16
17 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
18 division.
19
16a22c38
VS
202013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21
22 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
23 grub_uboot_boot_data to asm part.
24
c9cd02c9
VS
252013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
26
27 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
28 literal load.
29 (grub_uboot_syscall): Save/restore r9 and align stack.
30
81498615
VS
312013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
32
33 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
34
ea57de18
VS
352013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
36
37 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
38 occurencies with END.
39
d0d1e3da
CW
402013-11-13 Colin Watson <cjwatson@ubuntu.com>
41
42 * util/grub-editenv.c (help_filter, argp): Document how to delete
43 the whole environment block.
44 Reported by Dan Jacobson. Fixes Debian bug #726265.
45
3809f016
CW
462013-11-13 Colin Watson <cjwatson@ubuntu.com>
47
48 * docs/grub.texi (Internationalisation, Supported kernels): Fix
49 sectioning.
50
46d8a203
JT
512013-11-13 Josh Triplett <josh@joshtriplett.org>
52
53 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
54 increment/decrement.
55
513eeb61
VS
562013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
57
58 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
59 compiling with clang.
60
bc379c1a
VS
612013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
62
63 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
64 ".".
65
662013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
286551b4 67
16057d6b
VS
68 Redirect all divisions to grub_divmod64.
69
f649a6a8
VS
702013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
71
72 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
73
ef28ee8b
VS
742013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
75
76 Add missing includes of loader.h.
77
300f48c5
VS
782013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
79
80 * configure.ac: Allow disabling themes.
81
2d357558
LS
822013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
83
84 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
85
0c62a5b2
VS
862013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
87
88 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
89 until it becomes operational.
90
b0720b49
VS
912013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
92
93 * grub-core/Makefile.core.def (legacy_password_test): Disable
94 on platforms where no legacycfg is compiled.
95 * grub-core/tests/lib/functional_test.c: Tolerate failure to
96 load legacy_password_test.
97
d5bab2c0
VS
982013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
99
100 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
101
3ea0ccb3
VS
1022013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
103
104 * grub-core/efiemu/prepare.c: Remove variable length arrays.
105
08772054
VS
1062013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
107
108 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
109 strict-aliasing warning.
110 (fsync): Silence cast warning.
111
1dcb2715
VS
1122013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
113
114 * grub-core/commands/verify.c: Remove variable length arrays.
115 Load gcry_dsa/gcry_rsa automatically.
116
61c22fdf
VS
1172013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
118
119 * grub-core/tests/signature_test.c: New test.
120
431e57a7
VS
1212013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
122
123 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
124 API.
125
b521bb81
VS
1262013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
127
128 * grub-core/tests/legacy_password_test.c (vectors): Make static.
129 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
130
7d06b24e
VS
1312013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
132
133 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
134
3bbeade4
VS
1352013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
136
137 * grub-core/fs/proc.c: Allow \0 in proc files.
138
ba82db7a
VS
1392013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
140
141 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
142
801564c8
VS
1432013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
144
145 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
146
ac8cac1d
VS
1472013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
148
149 * grub-core/fs/ext2.c: Remove variable length arrays.
150
4b85f122
VS
1512013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
152
153 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
154 length arrays.
155
c35fcdc0
VS
1562013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
157
158 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
159 * grub-core/disk/cryptodisk.c: Likewise.
160 * grub-core/disk/geli.c: Likewise.
161 * grub-core/disk/luks.c: Likewise.
162
15decd26
VS
1632013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
164
165 * grub-core/tests/legacy_password_test.c: New test.
166 * grub-core/commands/legacycfg.c: Remove variable length arrays.
167
9c6482b8
VS
1682013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
169
170 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
171
41f26e0e
VS
1722013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
173
174 * grub-core/tests/pbkdf2_test.c: New test.
175
2def6616
VS
1762013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
177
178 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
179
9e34a34e
VS
1802013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
181
182 * grub-core/io/lzopio.c: Remove variable length arrays.
183
5ccaf904
VS
1842013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
185
186 * include/grub/crypto.h: Add maximums on hash size and cipher block
187 size.
188
44a387e0
VS
1892013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
190
191 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
192
a388e255
VS
1932013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
194
195 * grub-core/tests/xnu_uuid_test.c: New test.
196
a1ef7718
VS
1972013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
198
199 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
200 covers it).
201
65ddb300
VS
2022013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
203
204 * grub-core/commands/hashsum.c: Remove variable length arrays.
205
31747dd5
VS
2062013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
207
208 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
209 condition.
210 * tests/grub_func_test.in: Increase memory allocation.
211
6a74c4df
VS
2122013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
213
214 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
215 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
216 sys/mount.h.
217
394c3e0a
VS
2182013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
219
220 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
221 (grub_util_get_fd_size_os): ...this.
222 (grub_hostdisk_flush_initial_buffer): New empty function.
223
60d31116
VS
2242013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
225
226 * grub-core/gensyminfo.sh.in: Handle the case of portable output
227 without --defined-only.
228
8445b011
VS
2292013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
230
231 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
232 rip-relative addressing in prologue.
233
8506a641
VS
2342013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
235
236 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
237 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
238
66acd9d6
VS
2392013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
240
241 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
242 Add missing semicolon.
243
348d0535
VS
2442013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
245
246 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
247
0d2d30bb
VS
2482013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
249
250 * configure.ac: Check for lzma.h for enabling liblzma and allow
251 manual disabling.
252
631187be
VS
2532013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
254
255 Add missing includes of loader.h.
256
e756ec82
FZ
2572013-11-11 Fam Zheng <famcool@gmail.com>
258
259 * util/grub.d/30_os-prober.in: Add minix entry.
260
87d62d7d
VS
2612013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
262
263 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
264 right buffer for temporary load.
265
5460cfeb
VS
2662013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
267
268 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
269
89977306
VS
2702013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
271
272 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
273 payload.
274
3617c59b
VS
2752013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
276
277 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
278 not Types.h.
279 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
280 environment.
281 (LzmaDec_InitDicAndState): Make static.
282
881c6a10
VS
2832013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
284
285 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
286
2024ade2
VS
2872013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
288
289 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
290
291 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
292
674ad4f6
VS
2932013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
294
295 * docs/grub-dev.texi: Replace bzr references with git ones.
296
5b99970e
AB
2972013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
298
299 * docs/grub.texi (Simple configuration): Remove reference to
300 grub-reboot from saved default entry description - grub-default
301 does not use it anymore.
302
3c2304d5
VS
3032013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
304
305 * configure.ac: Make efiemu test cflags match the cflags efiemu is
306 compiled with.
307
80cfd940
AB
3082013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
309
310 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
311
33690255
VS
3122013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
313
314 Fix grub_machine_fini bitrot.
315
316 Reported by: Glenn Washburn.
317
c61471fc
VS
3182013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
319
320 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
321
54da019f
VS
3222013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
323
324 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
325 -DELF.
326 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
327 instead of ELF*.
328
3292013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
28668d80
VS
330
331 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
332 Add -march=core2 when testing compile of efiemu64.
333
334 Thanks Andrey Borzenkov for spotting this.
335
9612ebc0
VS
3362013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
337
338 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
339 XEN PV environment and load kernels.
340
1a46a3a4
VS
3412013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
342
343 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
344 * grub-core/loader/multiboot_mbi2.c: Likewise.
345
2df12551
VS
3462013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
347
348 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
349 handling.
350
3c980381
VS
3512013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
352
353 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
354
355 Tested by: Denis 'GNUtoo' Carikli.
356
800f63d3
VS
3572013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
358
359 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
360
9f8acdaa
VS
3612013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
362
5620eb53
VS
363 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
364 Use to get rounded angle rather than truncated.
365
3662013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
367
368 * grub-core/term/serial.c: Add option for enabling/disabling
9f8acdaa
VS
369 RTS/CTS flow control.
370
2dc1eb6c
VS
3712013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
372
373 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
374 divisions.
375
b9563c94
VS
3762013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
377
378 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
379 Use grub_fatal rather than divide by zero.
380 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
381
d6d8e9a9
VS
3822013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
383
384 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
385 truncate.
386 (grub_fixed_fsf_divide): Likewise.
387
d06de6c8
VS
3882013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
389
390 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
391 division by-zero and senseless negative divisions.
392
6af7d49b
VS
3932013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
394
395 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
396 division by-zero and senseless negative divisions.
397 (circprog_set_property): Don't accept negative num_ticks.
398
bcfa6d72
VS
3992013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
400
401 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
402 division by-zero and senseless negative divisions.
403
dd7f792c
VS
4042013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
405
406 * configure.ac: Use elf_*_fbsd on kfreebsd.
407
d061fda7
VS
4082013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
409
410 * grub-core/tests/div_test.c: New test.
411
4db22500
VT
4122013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
413
414 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
415 * grub-core/gfxmenu/gui_canvas.c: Likewise.
416 * grub-core/gfxmenu/view.c: Likewise.
417 * grub-core/video/fb/video_fb.c: Introduce new functions:
418 grub_video_set_area_status, grub_video_get_area_status,
419 grub_video_set_region, grub_video_get_region.
420 * grub-core/video/bochs.c: Likewise.
421 * grub-core/video/capture.c: Likewise.
422 * grub-core/video/video.c: Likewise.
423 * grub-core/video/cirrus.c: Likewise.
424 * grub-core/video/efi_gop.c: Likewise.
425 * grub-core/video/efi_uga.c: Likewise.
426 * grub-core/video/emu/sdl.c: Likewise.
427 * grub-core/video/radeon_fuloong2e.c: Likewise.
428 * grub-core/video/sis315pro.c: Likewise.
429 * grub-core/video/sm712.c: Likewise.
430 * grub-core/video/i386/pc/vbe.c: Likewise.
431 * grub-core/video/i386/pc/vga.c: Likewise.
432 * grub-core/video/ieee1275.c: Likewise.
433 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
434 * include/grub/video.h: Likewise.
435 * include/grub/video_fb.h: Likewise.
436 * include/grub/fbfill.h: Updated render_target structure.
437 grub_video_rect_t viewport, region, area
438 int area_offset_x, area_offset_y, area_enabled
439 * include/grub/gui.h: New helper function
440 grub_video_bounds_inside_region.
441 * docs/grub-dev.texi: Added information about new functions.
442
c6b755df
VS
4432013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
444
445 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
446 for alignment.
447
e2a68100
VS
4482013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
449
450 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
451 missing attribute.
452 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
453
c4f11a2a
VS
4542013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
455
456 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
457 simple division on arm and ia64.
458
e0a7bffa
VS
4592013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
460
461 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
462 link with libgcc.
463
38b864ea
VS
4642013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
465
466 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
467
12359faf
VS
4682013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
469
470 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
471 prefix symbol, not @.
472
9fdc64a9
VS
4732013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
474
475 * INSTALL: Add note about older gcc and clang.
476
665c575b
VS
4772013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
478
479 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
480
47dcf7b1
VS
4812013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
482
483 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
484 NULL pointer dereference.
485
d59849b2
VS
4862013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
487
488 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
489 clang.
490
7a3f4a18
VS
4912013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
492
493 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
494 warnings.
495
7f084087
VS
4962013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
497
498 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
499 function.
500 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
501 * grub-core/disk/geli.c (ascii2hex): Likewise.
502
d5524ca8
VS
5032013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
504
505 * configure.ac: Run linker tests without -Werror.
506 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
507 Change all occurences of -static-libgcc resp -lgcc to
508 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
509
390cd7ca
VS
5102013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
511
512 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
513
60375a88
VS
5142013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
515
516 Allow compiling with clang (not really supported though).
517
518 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
519 unconditionally.
520 * configure.ac: Add -no-integrated-as when using clangfor asm files.
521 Add -mrtd -mregparm=3 on i386 when not using clang.
522 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
523
dd07e0c4
VS
5242013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
525
526 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
527 bindings.
528 * grub-core/lib/reed_solomon.c: Likewise.
529 * include/grub/i386/gdb.h: Likewise.
530 * include/grub/i386/pc/int.h: Likewise.
531 * include/grub/i386/pc/pxe.h: Likewise.
532 * include/grub/ieee1275/ieee1275.h: Likewise.
533
9d3ae8ec
VS
5342013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
535
536 Import libgcrypt 1.5.3.
537
c12936c5
VS
5382013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
539
540 * configure.ac: Don't add -Wcast-align on x86.
541
cdc17f60
VS
5422013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
543
544 * configure.ac: Add -freg-struct-return on all platforms that
545 support it.
546
b35ec299
VS
5472013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
548
549 * acinclude.m4: Use -Werror on parameter tests.
550 * configure.ac: Likewise.
551
05f3a0d7
VS
5522013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
553
554 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
555
c966a489
VS
5562013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
557
558 * configure.ac: Check that -malign-loops works rather than assuming that
559 either -falign-loops or -malign-loops work.
560
bb0c57ec
VS
5612013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
562
563 * configure.ac: Remove -fnested-functions. We don't need it anymore.
564
24f4e57c
VS
5652013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
566
567 * configure.ac: Prevent cflags leaking to subsequent tests by always
568 resetting cflags to target_cflags in target tests.
569
ac319fbc
VS
5702013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
571
572 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
573 function.
574
4bfe934c
VS
5752013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
576
577 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
578
40a5bfde
VS
5792013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
580
581 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
582
a67c755e
VS
5832013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
584
585 * grub-core/normal/cmdline.c (grub_cmdline_get):
586 Remove nested functions.
587
87a04a2d
VS
5882013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
589
590 * tests/test_sha512sum.in: Make it work on emu.
591
c03995d2
VS
5922013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
593
594 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
595 functions.
596 (grub_bidi_line_logical_to_visual): Likewise.
597
ec0ebb3f
VS
5982013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
599
600 Remove vestiges of -Wunsafe-loop-optimisations.
601
602 * conf/Makefile.common (CFLAGS_GNULIB): Remove
603 -Wno-unsafe-loop-optimisations.
604 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
605 pragma.
606 * grub-core/io/gzio.c: Likewise.
607 * grub-core/script/parser.y: Likewise.
608 * grub-core/script/yylex.l: Likewise.
609 * util/grub-mkfont.c: Likewise.
610
6ab537e3
VS
6112013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
612
613 * util/grub-mkfont.c (process_cursive): Remove nested function.
614
e6c368d4
VS
6152013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
616
617 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
618 (grub_boot_time): Likewise.
619
4f1cfd22
VS
6202013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
621
622 * include/grub/symbol.h (FUNCTION): Use @function rather than
623 "function".
624 (VARIABLE): Likewise.
625
6d5a4cee
VS
6262013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
627
628 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
629
f06c2172
VS
6302013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
631
632 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
633 (parse_dhcp_vendor): Likewise.
634
7cb24eb5
VS
6352013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
636
637 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
638
f30c692c
VS
6392013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * grub-core/gettext/gettext.c (main_context), (secondary_context):
642 Define after defining type and not before.
643
8b66bb5d
VS
6442013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
645
646 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
647 type.
648 (grub_gcm_decrypt): Likewise.
649 (algo_decrypt): Likewise.
650 (grub_zfs_decrypt_real): Transform error type.
651
5d17fd0f
VS
6522013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
653
654 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
655
ac35a0f7
VS
6562013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
657
658 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
659 (grub_usbms_cbi_reset): Likewise.
660 (grub_usbms_bo_reset): Likewise.
661 (grub_usbms_reset): Likewise.
662 (grub_usbms_attach): Likewise.
663 (grub_usbms_transfer_cbi): Likewise.
664
3ee08697
VS
6652013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
666
667 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
668 "checksum = checksum;".
669
70bb6c85
VS
6702013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
671
672 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
673 entry_type.
674
c7f34744
VS
6752013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
676
677 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
678 BIOS disk check.
679
3f63b4d8
VS
6802013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
681
682 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
683 type.
684 (grub_ehci_fini_hw): Likewise.
685 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
686
dac6ce73
VS
6872013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
688
689 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
690 return grub_usb_err_t for cosistency. All users updated.
691
5701750c
VS
6922013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
693
694 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
695 assigning to itself.
696
9e236169
GLD
6972013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
6982013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
699
700 Issue separate DNS queries for ipv4 and ipv6
701
702 Adding multiple questions on a single DNS query is not supportted by
703 most DNS servers. This patch issues two separate DNS queries
704 sequentially for ipv4 and then for ipv6.
705
706 Fixes: https://savannah.gnu.org/bugs/?39710
707
708 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
709 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
710 * (grub_net_dns_lookup): Now using separated dns packages.
711 * (grub_cmd_nslookup): Add error condition.
712 * (grub_cmd_list_dns): Print DNS option.
713 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
714 --prefer-ipv4, and --prefer-ipv6.
715 * include/grub/net.h (grub_dns_option_t): New enum.
716 * (grub_net_network_level_address): option added.
717
339eacce
VT
7182013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
719
720 * grub-core/video/fb/video_fb.c: Merge two blit functions
721 into one.
722
810f991b
VS
7232013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
724
725 * grub-core/term/terminfo.c: Add sequences for home and end.
726
386571a2
VS
7272013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
728
729 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
730 graphics console.
731
3fe63754
VS
7322013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
733
734 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
735 add mode 0x12.
736
76681e71
VS
7372013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
738
739 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
740 e-mail by Per Öberg.
741
46522fb7
VS
7422013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
743
744 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
745 name.
746
e7d09ac4
AB
7472013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
748
749 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
750 emu platforms.
751 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
752
67508925
VS
7532013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
754
755 * docs/grub.texi: Document usage of menuentry id.
756
0c62124e
VS
7572013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
758
759 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
760
9b5d4eed
PL
7612013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
762
763 * grub-core/commands/i386/nthibr.c: New command.
764
79054c1d
VS
7652013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
766
767 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
768
44d47bbe
VS
7692013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
770
771 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
772 coordinate.
773
323de05b
VS
7742013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
775
776 Support GRUB_DISABLE_SUBMENU config.
777
778 Inspired by patch from Prarit Bhargava.
779
5a01722e
VS
7802013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
781
782 * docs/grub.texi: Mention RSA support.
783
1106c3f0
VS
7842013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
785
786 * grub-core/commands/verify.c: Add RSA support.
787
a1dcc2cb
VS
7882013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
789
790 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
791 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
792 device is known to be ATAPI.
793
ee7fb780
MF
7942013-11-03 Mike Frysinger <vapier>
795
796 * configure.ac: Don't add target-prefix.
797
5ade4a42
VS
7982013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
799
800 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
801 variables.
802
6cd66043
VS
8032013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
804
805 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
806 if language is English.
807
090d7c81
VS
8082013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
809
810 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
811
dd614590
VS
8122013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * configure.ac: Don't add -m32/-m64 on emu.
815
a8686589 8162013-11-02 neil
817
818 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
819 broken linux headers.
820
fb9f12a0
VS
8212013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
822
823 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
824
e25f8e1f
VS
8252013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
826
827 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
828 Reed-Solomon recovery if more than half of redundancy info is 0.
829
4685200f
VS
8302013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
831
832 * util/grub-mount.c: Handle symlinks to directories.
833
1397f0b5
VS
8342013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
835
836 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
837 find_file recursively for symlink.
838
8b3e6eb6
VS
8392013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
840
841 * tests/util/grub-shell.in: Copy themes.
842
a0c9d5c6
VS
8432013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
844
845 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
846
5cf9459c
VS
8472013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
848
849 * configure.ac: Use 0x8000 for address instead of 8000.
850
e7b66a28
VS
8512013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
852
853 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
854 signature.
855
203f53fb
VS
8562013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
857
858 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
859 variable.
860
02663ee9
VS
8612013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
862
863 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
864
f169f65e
VS
8652013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
866
867 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
868 file_progress_read_hook.
869 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
870
2855a0fc
VS
8712013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
872
873 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
874 and double.
875
bf0f3a8c
VS
8762013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
877
878 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
879
cb72aa18
VS
8802013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
881
882 Rewrite blocklist functions in order to get progress when
883 reading large extents and decrease amount of blocklist hook calls.
884
896f9135
VS
8852013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
886
887 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
888 of SI suffixes.
889
89295a06
VS
8902013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
891
892 Support --base-clock for serial command to handle weird cards with
893 non-standard base clock.
894
eb03ede0
VS
8952013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
896
897 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
898 strncpy.
899 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
900 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
901 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
902 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
903 + strcpy rather than strncpy.
904
8fbe5c7d
VS
9052013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
906
907 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
908 (check_pool_label): Likewise. Fixes overflow.
909 (nvlist_find_value): Fix comparison.
910
e54b8f53
VS
9112013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * include/grub/misc.h (grub_strcat): Removed. All users changed to
914 more appropriate functions.
915
fa9b3dca
VS
9162013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
917
918 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
919 realloc.
920
9a021c55
VS
9212013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
922
923 * util/grub-mkrescue.in: Do not use UUID search on EFI.
924
80e8b13a
VS
9252013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
926
927 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
928 on core size.
929
b61599ac
VS
9302013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
931
932 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
933
a602dc54
VS
9342013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
935
936 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
937 (initialize_tables): reset tl and td to NULL after freeing.
938
93c12075
VS
9392013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
940
941 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
942
1ca4b75e
VS
9432013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
944
945 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
946 of supported tags.
947
329550c4
VS
9482013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
949
950 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
951
00bfa988
VS
9522013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
953
954 * grub-core/loader/multiboot.c: Add support for multiboot kernels
955 quirks.
956
81afc5cc
VS
9572013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
958
959 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
960 a page in protected space.
961
cb3c4a47
VS
9622013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
963
964 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
965 allocate space for zero-sized modules.
966
954f7bf5
VS
9672013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
968
969 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
970
526d3d25
FL
9712013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
972
973 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
974
74124c34
VS
9752013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
976
977 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
978 safeguards. Fixes a crash with i386/pc/console.c.
979
5177391e
VS
9802013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
981
982 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
983 and grub_hostfs_init.
984
64db14b0
VS
9852013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
986
987 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
988 windows method on other platforms without good stat as well.
989
effe2036
VS
9902013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
991
992 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
993
82591fa6 9942013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 995
82591fa6
VS
996 Make / in btrfs refer to real root, not the default volume.
997 Modify mkrelpath to work even if device is mounted with subvolid option.
998
9992013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
1000
1001 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
1002 extra_dist.
1003 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
1004 extra_dist.
1005
30fd7198
VS
10062013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1007
1008 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
1009 fails.
1010
8d179dae
BC
10112013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
1012
1013 * docs/autoiso.cfg: New file.
1014
3bc9c8cf
VS
10152013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1016
1017 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
1018 COND_GRUB_PE2ELF conditions.
1019
8b46b0ea
VS
10202013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1021
1022 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
1023 "vnd", "rd" and "fd" disks.
1024
442b86de
VS
10252013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 Move grub_disk_write out of kernel into disk.mod.
1028
04dea7e6
VS
10292013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1030
1031 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
1032 handling.
1033
10342013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
1035
1036 * grub-core/kern/misc.c (grub_abort): Make static
1037
04dea7e6 10382013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
1039
1040 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
1041 transform invalid unicode codepoints.
1042
04dea7e6 10432013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
1044
1045 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
1046 \0 checking.
1047
03dcac7f
VS
10482013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1049
1050 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
1051
c81acb7f
VS
10522013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1053
1054 Consolidate cpuid code.
1055
c1bee646
VS
10562013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1057
1058 Move cpuid code to cpuid.h and TSC code to tsc.c.
1059
f37bf9c7
GS
10602013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1061
1062 * util/grub.d/00_header.in: Don't use LANG if it's not set.
1063
4021132b
GS
10642013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1065
1066 * util/grub-mkconfig.in: Replace $0 with $self.
1067 * util/grub-reboot.in: Likewise.
1068 * util/grub-set-default.in: Likewise.
1069
3ace8d75
BC
10702013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1071
1072 * docs/osdetect.cfg: New file.
1073
1e6ad6a6
BC
10742013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1075
1076 * tests/util/grub-shell.in: Add new --debug option.
1077
188929eb
BC
10782013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1079
1080 * tests/test_unset.in: New test.
1081
7994a09a
BC
10822013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1083
1084 * tests/test_sha512sum.in: New test.
1085
2a8a7585
VS
10862013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1087
1088 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
1089 * include/grub/misc.h: Remove strncat.
1090 * grub-core/lib/posix_wrap/string.h: Likewise.
1091
cf8d6bbd
VS
10922013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
1095 Try to handle more than 0xFFFF packets.
1096 Reported by: Bernhard Übelacker <bernhardu>.
1097 He also spotted few overflows in first version of this patch.
1098
6d1fc99a
VS
10992013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1100
1101 * tests/date_unit_test.c: New test.
1102
10bafa1c
VS
11032013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1104
1105 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
1106 of first three years after start of validity of unixtime.
1107
b1c6d037
VS
11082013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1109
1110 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
1111 division as the one making more sense.
1112 (update_screen): Likewise.
1113 (complete): Likewise.
1114
5f4028d4
VS
11152013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1116
1117 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
1118
a2856736
VS
11192013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1120
1121 Make char and string width grub_size_t rather than grub_ssize_t.
1122
0a7e52b2
VS
11232013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1124
1125 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
1126 unsigned.
1127 (grub_history_replace): Likewise.
1128
42829573
VS
11292013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1130
1131 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
1132 appropriate.
1133
3523b8d8
VS
11342013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1135
1136 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
1137 appropriate.
1138
d43c6489
VS
11392013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1140
1141 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
1142 Use unsigned divisions rather than signed variants.
1143
f690f8b0
VS
11442013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 * grub-core/video/readers/png.c (grub_png_convert_image): Use
1147 unsigned arithmetics.
1148 Add missing break.
1149
74ff2c05
VS
11502013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1151
1152 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
1153
fb56391e
VS
11542013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1155
1156 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
1157 rather than signed one.
1158 (recovery): Likewise.
1159
40f29060
VS
11602013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1161
1162 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
1163
c64577a5
VS
11642013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
1167 than signed.
1168
c16535a8
JM
11692013-10-25 Jon McCune <jonmccune@google.com>
1170
1171 * docs/grub.texi: Cleanup security documentation around signatures.
1172
6673d8e7
VS
11732013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1174
1175 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
1176
a105d375
VS
11772013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1178
1179 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
1180 than int.
1181
af81ed88
VS
11822013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1183
1184 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
1185 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
1186 functions when compiling for kernel.
1187
ea899a57
VS
11882013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
1191 unsigned long long when using %llu.
1192
c6dc6fa1
VS
11932013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
1196 terminal after updating progress.
1197
ad2dc003
VS
11982013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
1201 argument. We don't disable Gate A20 in this code.
1202
b46684ae
VS
12032013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1204
1205 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
1206 Conceptually based on change in branch "vbe-on-coreboot".
1207
f70d5c07
RM
12082013-10-24 Robert Millan <rmh@gnu.org>
1209
1210 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
1211 numeric constants with their symbolic equivalent.
1212 Taken from branch "vbe-on-coreboot".
1213
bca274b4
VS
12142013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 * docs/grub.texi: Fix ordering and use pxref rather than xref.
1217
238f0489
VS
12182013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1219
1220 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
1221 divmod64 for offset division.
1222
863c590b
PFS
12232013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1224
1225 Rename .bzrignore to .gitignore. Add "*.o" rule.
1226
1227 * .bzrignore: Renamed to...
1228 * .gitignore: ...this.
1229
84a0e969
PFS
12302013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1231
1232 Add new progress module that displays the load progress of files.
1233
1234 * grub-core/lib/progress.c: New file.
1235 * grub-core/Makefile.core.def (progress): New module.
1236 * grub-core/kern/file.c (grub_file_open): File name added.
1237 * (grub_file_read): Progress hook added.
1238 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
1239 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
1240 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
1241 * include/grub/file.h (struct grub_file): Add progress module members.
1242 * include/grub/term.h (struct grub_term_output): Likewise.
1243 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
1244 Terminal velocity added.
1245 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
1246 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
1247 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
1248 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
1249 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
1250 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
1251 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
1252 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
1253 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
1254 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
1255 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
1256 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
1257
0d711431
VS
12582013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 Verify signatures of signatures unless --skip-sig is specified.
1261
f8401f76
VS
12622013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1263
1264 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
1265 \0 checking.
1266
1267 Saves 70 bytes on compressed image.
1268
ac1feb61
VS
12692013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1270
1271 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
1272 check.
1273
1274 Saves 10 bytes on compressed image.
1275
00f72e89
VS
12762013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1277
1278 * grub-core/kern/misc.c (grub_isprint): Move to ...
1279 * include/grub/misc.h (grub_isprint): ... here. Make inline.
1280
1281 Saves 20 bytes on compressed image due to remving exporting.
1282
067e6ae7
VS
12832013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1284
1285 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
1286
1287 Saves 5 bytes on compressed image.
1288
64a6c791
VS
12892013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1290
1291 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
1292 function get_utf8.
1293
1294 Saves 379 bytes on compressed image.
1295
979d9f52
VS
12962013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
1299
1437da54
VS
13002013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1301
1302 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
1303
1304 Saves 40 bytes on compressed image.
1305
d9ee2269
VS
13062013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
1309 mask rather than 64-bit type.
1310
1311 Saves 20 bytes on compressed image.
1312
63efa602
VS
13132013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1314
1315 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
1316 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
1317
47601ffe
VS
1318 Saves 273 bytes on compressed image.
1319
2cc679ad
VS
13202013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
1323 variable length arrays.
1324
1325 Saves 50 bytes on compressed image.
1326
2e4659b8
VS
13272013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1328
1329 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
1330
2a40badf
VS
13312013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1332
1333 * grub-core/fs/ufs.c: Remove variable length arrays.
1334
1ba6b9b9
VS
13352013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1336
1337 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
1338
f3e39341
VS
13392013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 * grub-core/fs/zfs.c: Remove variable length arrays.
1342 Reduces zfs.mod by 160 bytes (208 compressed).
1343
71523935
VS
13442013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
1347
28153eb8
VS
13482013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1349
1350 * grub-core/net/arp.c: Remove variable length arrays.
1351 * grub-core/net/bootp.c: Likewise.
1352 * grub-core/net/dns.c: Likewise.
1353 * grub-core/net/icmp6.c: Likewise.
1354 * grub-core/net/net.c: Likewise.
1355
88ce4cd7
VS
13562013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1357
1358 * grub-core/fs/ntfs.c: Remove variable length arrays.
1359 Increases ntfs.mod by 64 bytes (but decreases by 3 when
1360 compressed).
1361
66123940
VS
13622013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1363
1364 * grub-core/fs/hfs.c: Remove variable length arrays.
1365 Reduces hfs.mod by 8 bytes (52 compressed).
1366
0927e5bd
VS
13672013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 1370 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
1371 compressed).
1372
9c12ac97
VS
13732013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1374
1375 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 1376 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
1377 compressed).
1378
97ec2d71
VS
13792013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1380
1381 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 1382 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
1383 compressed).
1384
156e4ea0
VS
13852013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1386
1387 * grub-core/fs/xfs.c: Remove variable length arrays.
1388 Reduces xfs.mod by 40 bytes (43 compressed).
1389
3b502c29
VS
13902013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1391
1392 * grub-core/fs/fshelp.c: Remove variable length arrays.
1393 Reduces fshelp.mod by 116 bytes (23 compressed).
1394
c7037f1d
VS
13952013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 * grub-core/normal/completion.c: Remove variable length arrays.
1398 * grub-core/normal/menu_entry.c: Likewise.
1399
1400 Reduces normal.mod by 496 bytes.
1401
a07e6ad0
VS
14022013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1403
1404 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
1405 by 356 bytes (158 compressed).
1406
2359bf88
VS
14072013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
1410 by 364 bytes (169 compressed).
1411
d28e1163
VS
14122013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1413
1414 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
1415 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
1416 * include/grub/types.h (grub_unaligned_uint64_t): New type.
1417
e89c2d48
VS
14182013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1419
1420 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
1421 bitmasks to small structures of size chosen to fit in registers.
1422
7abdac8e
VS
14232013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1424
1425 * conf/Makefile.common: Use -freg-struct-return on i386. This
1426 decreases code size and improves performance.
1427
518864c0
VS
14282013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1429
1430 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
1431
bbd2b539
VS
14322013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1433
1434 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
1435 "(null)" string.
1436 Simplify expressions to save around 256 bytes in kernel.img.
1437 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
1438
99519c15
VS
14392013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
1442 Use GRUB_UTIL_FD_O_* rather than O_*.
1443
20285765
VS
14442013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1445
1446 Add haiku-specific functions.
1447
887c0bb6
VS
14482013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1449
1450 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
1451
cd78a56f
VS
14522013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1453
1454 Move stat () and device mode checking into OS-dependent files as
1455 long as performance doesn't suffer.
1456
a4012f07
VS
14572013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1458
1459 Split make_system_path_relative_to_its_root into separate file
1460 relpath.c from getroot.c as it's common between unix and haiku
1461 but otherwise haiku doesn't use any functions from unix getroot.c.
1462
31de274d
VS
14632013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1464
1465 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
1466 New function.
1467 (grub_util_is_special_file): Likewise.
1468
40346de6
VS
14692013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1470
1471 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
1472 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
1473
d3923ab9
VS
14742013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1475
1476 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
1477 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
1478
663f6eb1
VS
14792013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1480
1481 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
1482 (load_image): Likewise.
1483
44d1c20a
VS
14842013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1485
1486 * util/grub-render-label.c: Move backend part to ...
1487 * util/render-label.c: ... here.
1488
d0a116ee
VS
14892013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1490
1491 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
1492 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
1493
b47fcae6
VS
14942013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1495
1496 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
1497
0f7c00c1
VS
14982013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1499
1500 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
1501 CD-ROM in case when it's declared as having subpartitions.
1502
29013cba
VS
15032013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1504
1505 Don't add -lm on haiku.
1506
1507 * configure.ac: Define BUILD_LIBM to -lm on most platforms
1508 and empty on haiku.
1509 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
1510 -lm.
1511
e8559d24
VS
15122013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1513
1514 * configure.ac: Use -melf_*_haiku as target on haiku.
1515
8104063c
VS
15162013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1517
1518 * Makefile.util.def: Add util/setup.c to extra_dist.
1519
fc3182c7
VS
15202013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1521
1522 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
1523 unknown types through.
1524
f90a3cc0
VS
15252013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
1528 (grub_util_check_char_device): Likewise.
1529 * include/grub/emu/getroot.h: Likewise.
1530
1e3e7419
VS
15312013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1532
1533 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
1534 memset rather than inline static function.
1535
92c88fc8
VS
15362013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1537
1538 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
1539 not doing embedded decompressor.
1540
3cd910a2
VS
15412013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
1544 shadowing.
1545 * grub-core/kern/disk.c: Likewise.
1546 * grub-core/kern/misc.c: Likewise.
1547 * include/grub/parser.h: Likewise.
1548 * include/grub/script_sh.h: Likewise.
1549 * include/grub/zfs/zfs.h: Likewise.
1550
7b3aca00
VS
15512013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1552
1553 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
1554
97dfe7e4
VS
15552013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1556
1557 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
1558 defined before trying to use it.
1559
bf919aa9
VS
15602013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
1563 warning.
1564
f4ccf29d
VS
15652013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
1568 Use __unused__ rather than __used__ on gcc < 3.2.
1569
0d3a6f85
VS
15702013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1571
1572 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
1573 gcc < 4.0.
1574 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
1575
757e3eb7
VS
15762013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1577
1578 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
1579
fb320faf
VS
15802013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1581
1582 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
1583 * include/grub/emu/misc.h: Likewise.
1584
ea73acd2
VS
15852013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1586
1587 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
1588 cur_color.
1589
71237a6f
VT
15902013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
1591
1592 * grub-core/tests/checksums.h: Regenerated due to progress bar
1593 get_minimal_size changes.
1594
3d46c22f
BC
15952013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
1596
1597 Added `tr' command support.
1598
1599 * grub-core/commands/tr.c: New file.
1600 * grub-core/Makefile.core.def: Build rules for new module.
1601
1602 * tests/grub_cmd_tr.in: New test.
1603 * Makefile.util.def: Build rules for new test.
1604
47e0a61f
VT
16052013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
1606
1607 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
1608
946fd073
VT
16092013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
1610
1611 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
1612 * docs/gurb.texi: Likewise.
1613
9c13c576
VT
16142013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
1615
1616 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
1617 Pixmap highlighted section with east and west slices was displayed
1618 incorrectly due to negative width of the central slice.
1619
ad543f12
VT
16202013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
1621
1622 * docs/grub.texi: Graphical options information update.
1623 Removed outdated. Updated current. Inserted missed.
1624
6176a0cd
VS
16252013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1626
1627 * docs/grub.texi: Mention few new platform-specific commands.
1628
9688cae2
VS
16292013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1630
1631 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
1632 currently used so this doesn't really have any effect.
1633 Reported by: Douglas Ray <dougray>
1634
f7b69a3f
VS
16352013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
1638 compilation but prevents gcc from displaying messages in non-Latin
1639 alphabets.
1640 * conf/Makefile.common: Likewise.
1641
ceca6ddf
HY
16422013-10-16 Hiroyuki YAMAMORI
1643
1644 Handle Japanese special keys.
1645 Reported by: Hiroyuki YAMAMORI.
1646 Codes supplied by: Hiroyuki YAMAMORI.
1647
ac48d334
VT
16482013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
1649
1650 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
1651
b2b71bff
VT
16522013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
1653
1654 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
1655 * docs/grub.texi: Likewise.
1656
669fc449
VS
16572013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
1660 value in case of incomplete read.
1661 (grub_util_fd_write): Likewise.
1662
59381678
VS
16632013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1664
1665 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
1666
bacfefbb
VS
16672013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1668
1669 * util/grub-editenv.c (create_envblk_file): More from here ...
1670 * util/editenv.c (grub_util_create_envblk_file): ... to here.
1671
f7c49570
VS
16722013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1673
1674 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
1675 canonicalize file name before doing the rest.
1676
7b83ca44
VS
16772013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1678
1679 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
1680 mingw32.
1681
df1e64c9
VS
16822013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1683
1684 Define grub_util_is_directory/regular/special_file and
1685 use OS-dependent versions rather than to rely on stat().
1686
ec16e026
VS
16872013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1688
1689 * util/grub-mkimage.c: Move backend part to ...
1690 * util/mkimage.c: ... here.
1691
4b4eeb3c
VS
16922013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1693
1694 Allow compilation with mingw64 albeit with warnings due to lack of
1695 %llx/%llu.
1696
1697 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
1698 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
1699 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
1700 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
1701 on mingw64.
1702 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
1703
f4e0adc0
VS
17042013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1705
1706 Remove leftover references to some of the system headers.
1707
e0127364
VS
17082013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1709
1710 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
1711 read.
1712
20d53541
VS
17132013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1714
1715 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
1716 of strerror.
1717
5a869940
VS
17182013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1719
1720 Split out blocklist retrieving from setup.c to
1721 grub-core/osdep/blocklist.c and add windows implementation since
1722 generic version doesn't work on NTFS on Windows due to aggressive
1723 unflushable cache.
1724
c06c7520
VS
17252013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1726
1727 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
1728 files.
1729
8f53bb3f
VS
17302013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1731
1732 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
1733 Cut tailing newline. Remove arbitrary limitation. Always use
1734 grub_util_tchar_to_utf8.
1735
148f1007
VS
17362013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1737
1738 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
1739 * tests/printf_unit_test.c (printf_test): Add %% tests.
1740 Reported by: Paulo Flabiano Smorigo.
1741
af3b06be
VS
17422013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1743
1744 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
1745 implement fsync.
1746
27f9d02e
VS
17472013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1748
1749 * configure.ac: Check for nvlist_lookup_string in nvpair since we
1750 use nvlist_lookup_string and don't use nvlist_print.
1751
f6a81f0a
VS
17522013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1753
1754 Add wrappers around rename, unlink, mkdir, opendir, readdir and
1755 closedir to handle filename charset translation.
1756
d7750b32
VS
17572013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1758
1759 * include/grub/emu/hostdisk.h: Move file operations to
1760 * include/grub/emu/hostfile.h: ... here.
1761
2859196e
VS
17622013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1763
1764 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
1765 unicode path.
1766
c018c968
VS
17672013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1768
1769 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
1770
7e45abce
VS
17712013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1772
1773 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
1774 and remove export.h.
1775
23934da2
VS
17762013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1777
1778 * grub-core/kern/emu/error.c: Removed.
1779 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
1780 explicitly as it's already in libgnu.a.
1781
c11ebcc8
VS
17822013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1783
1784 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
1785 config-util.h include.
1786
70671037
VS
17872013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1788
1789 Split emunet into platform-dependent and GRUB-binding parts. Keep
1790 platform-dependent part in kernel for easy access to OS functions.
1791
25ac643a
VS
17922013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1793
1794 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
1795 open/read/write.
1796
69ca5876
VS
17972013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1798
1799 * grub-core/osdep/windows/emuconsole.c: New file.
1800
d9d68ef0
AB
18012013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
1802
1803 * conf/Makefile.extra-dist: Add osdep/*/init.c
1804
58e211cc
VS
18052013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1806
1807 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
1808
588744d0
VS
18092013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1810
1811 * util/grub-probe.c (probe): Separate different drives in hint-str
1812 by spaces and not newlines.
1813 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
1814
44016e52
AB
18152013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
1816
1817 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
1818 Handle CD-ROMs.
1819
6de9ee86
VS
18202013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1821
1822 Pass-through unknown E820 types. It required reorganisation of mmap
1823 module.
1824
f8f3f155
AB
18252013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
1826
1827 * Makefile.util.def: Add osdep/init.c to grub-mount files.
1828
b73249d2
VS
18292013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
1832 fseeko.
1833
dac86b18 18342013-10-14 qwertial <qwertial>
1835
1836 * grub-core/gdb_grub.in: Fix overflow and wrong field.
1837
17614b84
JM
18382013-10-14 Jon McCune <jonmccune@google.com>
1839
1840 * docs/grub.texi: Document new signatures possibility.
1841
6de292cb
VS
18422013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1843
1844 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
1845
84379b61
VS
18462013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1847
1848 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
1849 missing prototype.
1850 (grub_util_tchar_to_utf8): Likewise.
1851
21d85db1
VS
18522013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1853
1854 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
1855 * grub-core/kern/emu/main.c: Add missing include.
1856 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
1857 Don't call grub_util_init_nls.
1858 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
1859 Likewise.
1860
66a1b3ee
VS
18612013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1862
1863 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
1864 stat.
1865
e19bec17
VS
18662013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1867
1868 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
1869
ee8c1b29
VS
18702013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1871
1872 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
1873
bb338aaf
VS
18742013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1875
1876 Add a wrapper for fopen. On unix-like systems just pass-through. On
1877 windows use unicode version.
1878
ae5540d3
VS
18792013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1880
1881 Move set_program_name and init_nls to host_init. On windows
1882 fix in this fuction console and argument charset as well.
1883
4cd3c4fe
AB
18842013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
1885
1886 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
1887 GRUB_ENABLE_CRYPTODISK.
1888
1889 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
1890 GRUB_ENABLE_CRYPTODISK.
1891 * util/grub-mkconfig_lib.in: Likewise.
1892
78170f3e
CCZ
18932013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
1894
1895 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
1896
3414b6c0
MC
18972013-10-12 Melki Christian <Christian.melki@saabgroup.com>
1898
1899 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
1900 error when enabling debug.
1901
6d0740e8
IB
19022013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
1903
1904 * configure.ac: Use -melf_*_obsd on openbsd.
1905
ff2d4dc4
VS
19062013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
1907
1908 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
1909
eac6ae82
VS
19102013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
1911
1912 * include/grub/misc.h: Use gnu_printf rather than printf as format
1913 template since our functions are independent of libc.
1914
ba9baabe
VS
19152013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
1916
1917 * util/grub-setup.c (setup): Move copying of partition table as
1918 futher up as possible to avoid possible overwrite by floppy routines.
1919
19202013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
1921
1922 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
1923
145e2369
VT
19242013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
1925
1926 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
1927 * docs/grub.texi: Likewise.
1928
3530bc9d
VS
19292013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1930
1931 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
1932 it's mostly unused. Move vestiges to the callers.
1933
fb9f59c3
VS
19342013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1935
1936 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
1937 version of salt and hash. Use grub_snprintf rather than snprintf.
1938
9be1c255
VS
19392013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1940
1941 * docs/grub.texi: Fix problem with braces.
1942
ed8c0887
VS
19432013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1944
1945 * conf/Makefile.extra-dist: Fix extra-dist list.
1946 * grub-core/Makefile.core.def: Likewise.
1947
f72ab14e
VS
19482013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1949
1950 * docs/grub.texi: Document disk names used on Windows and AROS.
1951
2fe53a22
VS
19522013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
1955 with AROS devs.
1956 * grub-core/osdep/aros/hostdisk.c: Likewise.
1957
71c1d67a
VS
19582013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1959
1960 Avoid including hostfile.h when not necessarry as it pulls
1961 in OS-specific headers which may redefine generic names
1962 like "far".
1963
ad297ec7
VT
19642013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
1965
1966 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
1967 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
1968 scrollbar_bottom_pad
1969 * docs/grub.texi: Likewise.
1970
6e9e5dc9
VT
19712013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
1972
1973 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
1974
761c718b
VS
19752013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
1978
37149a2f
VS
19792013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1980
1981 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
1982 Removed.
1983 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
1984 Made static.
1985
3837a151
VS
19862013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1987
1988 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
1989 leftover.
1990
caca1c70
VS
19912013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1992
1993 Move OS-specific driver configuration to grub_util_fd_open. This
1994 moves OS-dependent parts from kern/emu/hostdisk.c to
1995 grub-core/osdep/*/hostdisk.c.
1996
f7676b70
VS
19972013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1998
1999 * util/grub-mkimage.c (generate_image): Use size_t instead of
2000 grub_size_t.
2001 * util/grub-mkimagexx.c (locate_sections): Likewise.
2002 (load_image): Likewise.
2003
22f98db2
VS
20042013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2005
2006 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
2007 size_t.
2008 (grub_util_write_image): Likewise.
2009
b102ce69
VS
20102013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2011
2012 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
2013 get random when no RNG is available.
2014 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
2015
acbbe5cb
VS
20162013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2017
2018 * include/grub/util/lvm.h: Removed.
2019
2112fb3f
VS
20202013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2021
2022 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
2023 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
2024
79f78fbf
VS
20252013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2026
2027 * grub-core/osdep/windows/sleep.c: Add missing config.h.
2028
c2e6f705
VS
20292013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2030
2031 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
2032
aabe433a
VS
20332013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2034
2035 * grub-core/net/drivers/emu/emunet.c: Move to ..
2036 * grub-core/osdep/linux/emunet.c: ..here.
2037
9a2c903f
VS
20382013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 * util/ieee1275/ofpath.c: Move to ...
2041 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
2042 * grub-core/osdep/basic/ofpath.c: ..here.
2043
4a445f58
VS
20442013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2045
2046 Move password-querying (util-version) routines to grub-core/osdep.
2047
c1ca4244
VS
20482013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 Move sleep routines to grub-core/osdep.
2051
672fa55e
VS
20522013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2053
2054 Move OS-dependent files to grub-core/osdep and document it.
2055
a5b0365a
VS
20562013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2057
2058 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
2059 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
2060
29072e99
VS
20612013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2062
2063 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
2064
f8772ea7
VS
20652013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2066
2067 * util/misc.c: Remove leftover inclusion of malloc.h.
2068
a1a315e7
VS
20692013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2070
2071 * include/grub/setjmp.h: Remove leftover GRUBOF.
2072
cef86fef
VS
20732013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2074
2075 * util/raid.c: Fold into ...
2076 * util/getroot_linux.c: ... here. Make all functions static.
2077
c4cf25ee
VS
20782013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2079
2080 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
2081 macros to GRUB ones.
2082
53a5f5c2
VT
20832013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2084
2085 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
2086 occasional bug. If there are too many boot entries or too low
2087 scrollbar height then we need to use another formula to calculate
2088 the position and size of the scrollbar thumb.
2089
de300af2
VS
20902013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2091
c4cf25ee 2092 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 2093
c5827364
VT
20942013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2095
2096 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
2097 * docs/grub.texi: Likewise.
2098
dd2ed8b0
VT
20992013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2100
2101 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
2102 viewport.
2103
7286c384
VT
21042013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2105
ffdfc1f3
VT
2106 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
2107 minimal width calculations.
7286c384 2108
ea547e14
VS
21092013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2110
2111 * docs/grub.texi: Update note on colors on emu console.
2112
b726be76
VS
21132013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2114
2115 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
2116 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
2117 it's FS and not GRUB limitation.
2118
a5f6ade6
VS
21192013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
2122
3b0f3aa2
VS
21232013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2124
2125 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
2126
1db38304
ST
21272013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
2128
2129 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
2130 kernels by version order.
2131
fb295fc0
VS
21322013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
2135
47345010
VS
21362013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2137
2138 Add AROS hostdisk and getroot routines.
2139
bf25f879
VS
21402013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2141
2142 Make cryptodisk and diskfilter probe data retrievable programmatically
2143 and not just printable.
2144
24ca4512
VS
21452013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2146
2147 Split random retrieving code into separate files.
2148
c7c177f0
VS
21492013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
2152 R_ARM_V4BX.
2153
d71b45ae
VS
21542013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2155
2156 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
2157 condition.
2158 * grub-core/tests/fake_input.c: Likewise.
2159 * grub-core/tests/cmdline_cat_test.c: Likewise.
2160
e44b9a83
VS
21612013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2162
2163 * grub-core/video/capture.c: Do not do finalization when .fini
2164 is called as there is explicit capture_end.
2165
4fa60739
VS
21662013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2167
2168 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
2169 changing windows to avoid crash.
2170
17c8bc37
VS
21712013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2172
2173 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
2174
9d4d7977
VS
21752013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2176
2177 * po/exclude.pot: Add several strings to exclude.
2178
0caa407c
VS
21792013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2180
2181 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
2182
9ae393da
VS
21832013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2184
2185 * autogen.sh: Add ./util/grub-gen-widthspec.c and
2186 ./util/grub-gen-asciih.c to exclude list.
2187
498d5033
VS
21882013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2189
2190 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
2191 and don't mark error strings for translation.
2192
7d93298f
VS
21932013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2194
2195 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
2196 properly in case of missing block size.
2197
b2cae20c
VS
21982013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2199
2200 * grub-core/lib/arm/setjmp.S: Add missing license section.
2201
3896d6b4
VS
22022013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2203
2204 * po/swiss.sed: Add replacement for key names and for term computer.
2205
ebc1da55
VT
22062013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
2207
2208 * grub-core/gfxmenu/theme_loader.c: New global options for the
2209 theme background image handling. desktop-image-scale-method,
2210 desktop-image-h-align, desktop-image-v-align.
2211 * grub-core/gfxmenu/view.c: Likewise.
2212 * include/gfxmenu_view.h: Likewise.
2213 * include/bitmap_scale.h: Proportional scale functions introduced.
2214 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
2215 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
2216 cases of unexpected input variables for scale functions.
2217 * docs/grub.texi: Updated documentation for new options.
2218
c5739143
VS
22192013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
2220
2221 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
2222
be74aeb3
VT
22232013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
2224
2225 * grub-core/tests/checksums.h: Corrected due to changes in
2226 bilinear interpolation function.
2227
d999ac72
VT
22282013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
2229
2230 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
2231 to eliminate artefacts in bilinear interpolation.
2232
2b131610
VS
22332013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2234
2235 * grub-core/video/readers/tga.c: Support paletted tga.
2236
de6e5ff8
VS
22372013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2238
2239 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
2240 incorrect cbcr setting when in color mode.
2241
fa31ee9c
VS
22422013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2243
2244 * grub-core/video/readers/png.c: Support paletted images and clean up
2245 greyscale support.
2246
e84f8188
VS
22472013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2248
2249 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
2250 usage of wrong table which resulted in mishandling of 4-byte
2251 sequences.
2252
22532013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
2254
2255 * grub-core/term/terminfo.c: Add Home and End key sequences.
2256
d72bff09
VS
22572013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2258
2259 * grub-core/video/readers/png.c (grub_png_decode_image_header):
2260 Fix formula for computing total number of bytes.
2261
29648c5d
VS
22622013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2263
2264 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
2265 image processing, fix big-endian and support grayscale.
2266
4a876492
VS
22672013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2268
2269 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
2270 Correctly will with maximum transparency when using index color.
2271
3ccf16df
VS
22722013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2273
2274 * grub-core/video/readers/png.c: Support grayscale
2275
22762013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
2277
2278 * grub-core/video/readers/jpeg.c: Support grayscale.
2279
3ccf16df 22802013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
2281
2282 * grub-core/commands/loadenv.c: Support skipping signature check
2283 and variable names filtering.
2284
30b7f58f
VS
22852013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2286
2287 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
2288 * grub-core/kern/emu/hostfs.c: Likewise.
2289 * util/getroot_unix.c: Likewise.
2290
bab7b1eb
VS
22912013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2292
2293 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
2294 Migrate all explicit defines to this new one.
2295
43b1c99d
VS
22962013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2297
2298 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
2299 grub_util_fd_strerror when using grub_util_fd_*.
2300 (grub_util_fd_open_device): Likewise.
2301 (grub_util_biosdisk_read): Likewise.
2302 (grub_util_biosdisk_write): Likewise.
2303 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
2304 (grub_util_fd_strerror): Likewise.
2305 (grub_util_fd_sync): Likewise.
2306 (grub_util_fd_close): Likewise.
2307 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
2308 (grub_util_fd_close): Likewise.
2309 (grub_util_fd_strerror): Likewise.
2310 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
2311 function proto rather than macro.
2312 (grub_util_fd_sync): Likewise.
2313 (grub_util_fd_open): Likewise.
2314 (grub_util_fd_strerror): New proto.
2315
e8fd80bc
VS
23162013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2317
2318 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
2319 platforms on which it doesn't work.
2320
bf645fda
VS
23212013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2322
2323 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
2324 stat immediately to where it's used.
2325
5177ba14
VS
23262013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2327
2328 * util/getroot.c (grub_util_check_block_device): Move to ...
2329 * util/getroot_unix.c (grub_util_check_block_device): ... here.
2330 * util/getroot.c (grub_util_check_char_device): Move to ...
2331 * util/getroot_unix.c (grub_util_check_char_device): ... here.
2332
9db826e1
VS
23332013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2334
2335 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
2336 disk closing logic.
2337
49120085
AB
23382013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
2339
2340 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
2341
b3328b68
AB
23422013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
2343
2344 * docs/grub.texi (File name syntax): Document ZFS filenames
2345 (/volume@snapshot/...).
2346
3fff48ab
VS
23472013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2348
2349 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
2350 Always return full path. Fixes a problem with mkrelpath.
2351
39cfdaa9
PFS
23522013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2353
2354 * util/grub-install.in: Add GPT PReP support.
2355 * util/grub-probe.c (probe): Support GPT partition type.
2356 (main): Support -t gpt_parttype.
2357
7c680e1f 23582013-09-23 Aleš Nesrsta <starous@volny.cz>
2359
2360 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
2361
890bdabe
MM
23622013-09-23 Massimo Maggi <me@massimo-maggi.eu>
2363
2364 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
2365
9c262ff9
TH
23662013-09-23 Tim Hardeck <thardeck>
2367
2368 * util/grub.d/10_hurd.in: Filter out character for the class.
2369 * util/grub.d/10_kfreebsd.in: Likewise.
2370 * util/grub.d/10_linux.in: Likewise.
2371 * util/grub.d/20_linux_xen.in: Likewise.
2372
d755342a
MC
23732013-09-23 Melki Christian <Christian.melki@saabgroup.com>
2374
2375 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
2376 "changed".
2377
68b77707
JT
23782013-09-23 Josh Triplett <josh@joshtriplett.org>
2379
2380 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
2381 boot partition.
2382
efa68bfa
VS
23832013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2384
2385 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
2386 doesn't use posix_wrap. Keep literal -fno-builtin however.
2387
d9104204
VS
23882013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2389
2390 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
2391
c248781a 23922013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
23932013-09-23 neil
2394
5830df88 2395 * configure.ac: Do not enable -Wmissing-noreturn as its
2396 usefulness is limited and creates problems on some OS notably with
2397 code generated by bison.
2398
23992013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
24002013-09-23 neil
2401
2402 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 2403 supported by all gcc and when it is, it's already enabled by -Wall.
2404
621bed69
VS
24052013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2406
2407 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
2408 desactivated use of EDID at all.
2409
71764dc8 24102013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
24112013-09-23 neil
2412
2413 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
2414 video if no text is available.
2415
affce7d4 24162013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
24172013-09-23 neil
2418
2419 * configure.ac: Substitute TARGET_RANLIB.
2420
24212013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
24222013-09-23 neil
affce7d4
VS
2423
2424 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
2425
2426 Based on patches from AROS.
2427
0e8daad0 24282013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 24292013-09-23 neil
0e8daad0
VS
2430
2431 * grub-core/Makefile.am: Override STRIP and RANLIB.
2432 * configure.ac: compute TARGET_RANLIB.
2433 * INSTALL: Document TARGET_RANLIB
2434
2435 Based on patches from AROS.
2436
3f7d9c82
VS
24372013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2438
2439 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
2440 that floppies are unpartitioned.
2441
bca8873a
VS
24422013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2443
2444 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
2445 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
2446
24472013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2448
2449 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
2450 less nice but more portable.
2451 * grub-core/lib/posix_wrap/wchar.h: Likewise.
2452
a47a78be
VS
24532013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2454
2455 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
2456 for cheat_fd.
2457 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
2458 functions.
2459 (grub_cryptodisk_cheat_insert): Likewise.
2460 (grub_cryptodisk_close): Likewise.
2461
e85a5d5c
VS
24622013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2463
2464 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
2465 Use windows path for DEFAULT_DIRECTORY.
2466
dad9fa6b
VS
24672013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
2470 difference was likely just gcc version, not anything mingw-related.
2471
7e518ca8
VS
24722013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2473
2474 Use Winapi on both cygwin and mingw32 to share more code between both.
2475
d68d0157
AB
24762013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
2477
2478 * util/grub-install.in: Add --grub-editenv option.
2479 * util/grub-install_header (grub_compress_file): Explicitly check for
2480 plain file to avoid cp error.
2481
775b284d
AB
24822013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
2483
2484 * docs/grub.texi (Device syntax): Document new LVM UUID based device
2485 names; fix LVM driver name (lvm, not lv).
2486 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
2487 names.
2488
3ff4063d
VS
24892013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
2492 files rather than one file with loads of #if's.
2493 * util/getroot.c: Likewise.
2494
287faafe
VS
24952013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2496
2497 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
2498
d1983764
VS
24992013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
2502 GNU/Hurd to the list of checked PRNG.
2503
15ce95c4
VS
25042013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2505
2506 * configure.ac: On FreeBSD use -melf_*_fbsd format.
2507
207862dd 25082013-09-21 Ales Nesrsta <starous@volny.cz>
2509
7c680e1f 2510 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 2511
63653cfd
VS
25122013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2513
2514 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
2515 * grub-core/disk/lvm.c: Add LVM UUIDs.
2516 * util/getroot.c: Use LVM UUIDs whenever possible.
2517
f5d3e7ef
AB
25182013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
2519
2520 * docs/grub.texi (Networking commands): Add documentation for
2521 network related commands.
2522
53c6b7d6
VS
25232013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2524
2525 * util/getroot.c (grub_util_open_dm): Check major rather than the name
2526 to determine if device is handled by devmapper.
2527 (convert_system_partition_to_system_disk): Likewise.
2528 (get_dm_uuid): Don't check explicitly if device is mapped, it's
2529 already done in grub_util_open_dm.
2530
e70d6736
LL
25312013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
2532
2533 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
2534 Clean up stack manipulation (sync_caches_armv*)
2535
90379808
VS
25362013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2537
2538 * util/lvm.c: Remove since unused. Remove remaining references.
2539
386701a8
VS
25402013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2541
2542 Handle the case of partitioned LVM properly.
2543
2544 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
2545 Stop on meeting LVM, mpath or DMRAID.
2546 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
2547 (read_device_map): Likewise.
2548 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
2549 device is full disk rather than erroring out on LVM and similar cases.
2550
53070787
VS
25512013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2552
2553 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
2554
1bc783bd
VS
25552013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2556
2557 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
2558 4K before the end.
2559 Reported by: Leif Lindholm
2560
436ad5c3
PW
25612013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
25622013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2563
2564 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
2565 codes.
2566
607319c9
CW
25672013-09-18 Colin Watson <cjwatson@ubuntu.com>
2568
2569 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
2570 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
2571
d404d154
DR
25722013-09-18 Douglas Ray <dougray@cpan.org>
2573
2574 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
2575 as secure.
2576
28851ef6
AN
25772013-09-18 Aleš Nesrsta <starous@volny.cz>
2578
2579 * docs/grub.texi: Fix broken link.
2580
897c3bc6
MC
25812013-09-18 Melki Christian <Christian.melki@saabgroup.com>
2582
2583 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
2584 to break endless loop.
2585
f1630459
VS
25862013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 * util/grub-fstest.c: Fix several printf formats.
2589 * util/grub-mkimage.c: Likewise.
2590 * util/grub-mkimagexx.c: Likewise.
2591 * util/grub-script-check.c: Likewise.
2592
64463dfd
VS
25932013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2594
2595 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
2596 error.
2597
48972495
VS
25982013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2599
2600 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
2601
5dd5e64b
VS
26022013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2603
2604 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
2605 removed in current versions cygwin_conv_*.
2606
1c1f31e5
VS
26072013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 * configure.ac: Disable efiemu runtime on cygwin.
2610
c546a259
VS
26112013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2612
2613 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
2614 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
2615
81690478
VS
26162013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
2619 error message.
2620
6b87c10a
VS
26212013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
2624 windows variant.
2625 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
2626 data.
2627
8f0baaac
VS
26282013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2629
2630 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
2631 when on x86 and not cygwin.
2632 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
2633 -Wl,-melf_x86_64.
2634
b224c266
VS
26352013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2636
2637 * configure.ac: Set CPP to build one when checkoing for freetype for
2638 build.
2639
506b336b
VS
26402013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2641
2642 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
2643 [!GRUB_BUILD]: Remove has_argument.
2644
8c8c87b7
VS
26452013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2646
2647 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
2648 Replace with a dummy.
2649
7dc5ca13
VS
26502013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2651
2652 * configure.ac: Don't change host_os from mingw to cygwin.
2653
c3302aa5
VS
26542013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2655
2656 * configure.ac: Change target_os from windows to cygwin.
2657
7b780018
VS
26582013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2659
2660 Handle grub-pe2elf and grub-mkfont for cases when build != host.
2661
2662 * Makefile.am (build-grub-mkfont): Don't include gnulib.
2663 (build-grub-gen-asciih): Likewise.
2664 (build-grub-gen-widthspec): Likewise.
2665 * Makefile.util.def (grub-pe2elf): Remove.
2666 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
2667 * configure.ac: Separate tests for build.
2668 Move ./build-grub-pe2elf to grub-core.
2669 Fix typo.
2670 * grub-core/Makefile.am (build-grub-pe2elf): New target.
2671 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
2672 defined.
2673 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
2674 constants.
2675 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
2676 * util/grub-pe2elf.c: Simplify not to rely on getopt.
2677 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
2678
984cfd8a
VS
26792013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2680
2681 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
2682 mingw32 as well based on grub_util_get_disk_size.
2683 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
2684 grub_util_get_fd_size.
2685 (sync): Removed.
2686 (fsync): Moved to ...
2687 * grub-core/kern/emu/misc.c (fsync): ... here.
2688
f82d79c9
VS
26892013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2690
2691 * include/grub/mm.h (grub_extend_alloc): Remove.
2692 * grub-core/loader/i386/pc/plan9.c: Use own version of
2693 grub_extend_alloc with appropriate types.
2694
fd7dd66d
VS
26952013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2696
2697 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
2698
43ffba7c
VS
26992013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2700
2701 * util/getroot.c: Include sys/wait.h only when we need waitpid.
2702
3c7eac44
VS
27032013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2704
2705 Fix dependencies on cygwin.
2706
2707 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
2708 dependencies when used and defined.
2709 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
2710
bdb5ba47
VS
27112013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2712
2713 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
2714 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
2715
ed7fbf43
VS
27162013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2717
2718 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
2719 implementation available to cause compile-time rather than runtime
2720 error.
2721
fc46e9fc
VS
27222013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2723
2724 * util/grub-fstest.c: Don't check for symlinks on windows.
2725
7f68269a
VS
27262013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2727
2728 * INSTALL: Mention unavailability of man pages when cross-compiling.
2729
8ed358e0
VS
27302013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2731
2732 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
2733 and gcry_log_bug.
2734 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
2735
fc97214f
VS
27362013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2737
2738 * INSTALL: Document cross-compilation.
2739 * acinclude.m4: Determine whether nm support -P and --defined-only.
2740 * configure.ac: Add TARGET_ to all variables pertaining to target
2741 that don't have it yet.
2742 * gentpl.py: Likewise.
2743 * grub-core/Makefile.am: Likewise.
2744 * grub-core/genmod.sh.in: Likewise.
2745 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
2746 as well.
2747
ca1fb563
IB
27482013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
2749
2750 * configure.ac: Remove -Wempty-body. It's not essential and needs
2751 recent gcc.
2752
0031b229
IB
27532013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
2754
2755 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
2756 * util/getroot.c: Likewise.
2757
54ea2f44
VS
27582013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2759
2760 * grub-core/disk/ahci.c: Add needed explicit cast.
2761 * grub-core/lib/backtrace.c: Likewise.
2762 * grub-core/net/ip.c: Likewise.
2763 * grub-core/net/tcp.c: Likewise.
2764 * grub-core/net/udp.c: Likewise.
2765
3c601f8c
VS
27662013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2767
2768 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
2769
1d679dda
VS
27702013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2771
2772 * util/import_gcry.py: Add final newline in visibility.h.
2773
00c28dd9
VS
27742013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2775
2776 * conf/Makefile.common: Fix typo.
2777
32af299a
VS
27782013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2779
2780 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
2781
e733cf52
VS
27822013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2783
2784 * Makefile.am (widthspec.h): Fix typo.
2785 * util/grub-gen-widthspec.c: Likewise.
2786
c6b066f2
VS
27872013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2788
2789 Move ascii.h and widthspec.h generation to a separate build-time-only
2790 tool.
2791
ad1fe3f9 27922013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
2793
2794 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
2795 Always fill bootdisk info and improve check for NetBSD disklabel.
2796
92a52dd4
VS
27972013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2798
2799 * conf/Makefile.extra-dist: Add util/bin2h.c.
2800 Reported by: floppym.
2801
b2e9d276
VS
28022013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2803
2804 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
2805
7b966834
VS
28062013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2807
2808 * configure.ac: Disable unifont and starfield if no freetype was found.
2809
d5c1eef1
VS
28102013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2811
2812 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
2813 on NetBSD and OpenBSD.
2814
66345b50 28152013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
2816
2817 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
2818
66345b50 28192013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
2820
2821 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
2822 reduced. Inheritant options are processed during the theme loading.
2823
66345b50 28242013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
2825
2826 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
2827
369508b3
AS
28282013-08-14 Avik Sil <aviksil@in.ibm.com>
2829
2830 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
2831
28322013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
2833
2834 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
2835 using qemu.
2836
6f27a3f6
PFS
28372013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2838
2839 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
2840 remove-potcdate.sed.
2841
c6ed362a
AB
28422013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
2843
2844 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
2845 unused attribute from pull argument.
2846
5e7d9464
AB
28472013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
2848
2849 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
2850 memory leak.
2851
dea55e2a
AB
28522013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
2853
2854 * util/getroot.c (pull_lvm_by_command): add --separator option
2855 to vgs call to disable padding of output to 10 characters.
2856
f0b94ded
VS
28572013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2858
2859 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
2860 here ...
2861 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
2862 here.
2863
b828fb5d
VS
28642013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2865
2866 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
2867 length.
2868
7c9d0c39
VS
28692013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2870
2871 Fix handling of build-time grub-bin2h and grub-mkfont when doing
2872 full Canadian cross. Tested with build=x86_64, host=arm,
2873 target=ppc-ieee1275.
2874
816719c8
VS
28752013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 * configure.ac: Error if no $BUILD_CC could be found.
2878 Reported by: DevHC.
2879
2af2353b
VS
28802013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2881
2882 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
2883 i386-multiboot.
2884
797abd0a
VS
28852013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2886
2887 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
2888 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
2889
36e87d25
CW
28902013-08-13 Colin Watson <cjwatson@ubuntu.com>
2891
2892 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
2893 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
2894 falling back to the partition device, otherwise a later call to this
2895 function may fail spuriously.
2896 Reported by Axel Beckert. Fixes Debian bug #708614.
2897
273349fe
GS
28982013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
2899
2900 * autogen.sh: Replace find -not by the POSIX-compliant find !.
2901
418f86c6
GS
29022013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
2903
2904 Prevent shadowing of stdlib's devname(3) on BSD.
2905
2906 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
2907 and devlast to diskname and disklast, respectively.
2908
c137aea0
CW
29092013-08-11 Colin Watson <cjwatson@ubuntu.com>
2910
2911 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
2912
272dc8df 29132013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
2914
2915 * docs/grub.texi: Introduce terminal window position options:
2916 terminal-left: terminal window's left position
2917 terminal-top: terminal window's top position
2918 terminal-width: terminal window's width
2919 terminal-height: terminal window's height
2920 terminal-border: terminal window's border width
2921 * grub-core/gfxmenu/theme-loader.c: Likewise.
2922 * include/grub/gfxmenu_view.h: Likewise.
2923 * po/exlude.pot: Likewise.
2924 * grub-core/gfxmenu/view.c: Likewise.
2925 Also updated minimal window size.
2926 Also terminal_sanity_check function has been introduced.
272dc8df
VT
2927 * grub-core/tests/checksums.h: Update (terminal window height
2928 is adjusted now for low resolution screen)
b4743461 2929
748a4533
VS
29302013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2931
2932 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
2933 position).
2934
fca5f944
VS
29352013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 * po/exclude.pot: Add few recent exceptions.
2938
4f47d809
VS
29392013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2940
2941 * tests/grub_func_test.in: Add unicode.pf2.
2942
a62ae90c
VS
29432013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2944
2945 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
2946 standard rather than noral color, in line with other terminals.
2947
4ed41392
VS
29482013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2949
2950 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
2951 analysis.
2952
3719fbc5
VS
29532013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2954
2955 * grub-core/loader/arm/linux.c: Change printf to dprintf.
2956
459b1d91
VS
29572013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2958
2959 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
2960 inappropriate printf.
2961
f4e1ab9d
AB
29622013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
2963
2964 * .bzrignore: Remove grub-core/lib/dtc-grub,
2965 grub-core/Makefile.libfdt.def
2966 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
2967
fa471bfa
VS
29682013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2969
2970 * include/grub/video.h (grub_video_register): Keep double-linked as
2971 well as single-linked invariants.
2972 Reported by: qwertial.
2973
d65be02b
VS
29742013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2975
2976 * grub-core/commands/nativedisk.c (get_uuid): Handle
2977 GRUB_DISK_DEVICE_UBOOTDISK_ID.
2978
ba8bc620
VT
29792013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
2980
2981 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
2982 maximum of NW, N, NE heights instead of N's height and maximum of
2983 NW, W, SW widths instead of W's width. (So the box will be always
2984 correctly drawn)
2985
4f0ad029
GS
29862013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
2987
2988 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
2989 Fix misuse of variable count.
2990
43d53b72
LL
29912013-07-18 Leif Lindholm <leif.lindholm@arm.com>
29922013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
29932013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 2994
43d53b72
LL
2995 New ports to arm-uboot and arm-efi.
2996 Mostly by Leif Lindholm with some additions from
2997 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 2998
88f8d146
VS
29992013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3000
3001 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
3002 and not before.
3003 Reported by: Leon Drugi.
3004
3f42504c
VS
30052013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3006
3007 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
3008 Reported by: Paulo Flabiano Smorigo.
3009
d110499b
VT
30102013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3011
3012 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
3013
a8674ad3
VT
30142013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3015
3016 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
3017
286fe4b3
VS
30182013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
3021
1bd57aa3
VS
30222013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3023
3024 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
3025
7a87d69f
AB
30262013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
3027
3028 * grub-core/net/bootp.c: Export net_* variables.
3029 * grub-core/net/net.c: Likewise.
3030
b2182299
VS
30312013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3032
3033 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
3034
795b3dc0
VS
30352013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3036
3037 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
3038
68714c43
VS
30392013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3040
3041 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
3042
af211bab
VS
30432013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3044
3045 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
3046
0036f02d
MM
30472013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3048
3049 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
3050 <= 0.
3051
6d0ddff3
MM
30522013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3053
3054 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
3055 functions.
3056
038016f4
MM
30572013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3058
3059 * grub-core/fs/zfs/zfs_lz4.c: New file.
3060 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
3061
776bdce2
MM
30622013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3063
3064 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
3065
c71dbd40
MM
30662013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3067
3068 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
3069 (check_pool_label): Likewise.
3070 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
3071
30722013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
3073
3074 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
3075
8e67b50f
AB
30762013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3077
3078 * docs/grub.texi (Commands): Document postition parameters
3079 for menuentry command.
3080
f5ae3717
AB
30812013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3082
3083 * util/grub-mknetdir.in: Remove stray line from help output.
3084
9c28da2a
VS
30852013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3086
3087 Remove early sm712 init as there is no reason for it (the "watchdog"
3088 effect was due to wrong GPIO map).
3089
139072b8
VS
30902013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3091
3092 * grub-core/commands/pcidump.c: Remove static variables.
3093
c6a61bda
VS
30942013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3095
3096 * grub-core/commands/sleep.c: Refresh screen before sleeping.
3097
51369614
VS
30982013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3099
3100 * configure.ac: Move delimiter after the infos.
3101
efa8640a
VS
31022013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3103
3104 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
3105
6f80a7b2
VS
31062013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3107
3108 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
3109 not filling whole 8x16 space.
3110
a2371e19
VS
31112013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3112
3113 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
3114
64fce2d8
VS
31152013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3116
3117 * configure.ac: Indicate which liblzma is used if any.
3118
eb272d84
PW
31192013-06-21 Paul Wise <pabs3@bonedaddy.net>
31202013-06-21 Craig Sanders <savannah@taz.net.au>
3121
3122 * util/grub-reboot.in: Document submenu usage.
3123
a9e5abee
CW
31242013-06-25 Colin Watson <cjwatson@ubuntu.com>
3125
3126 * .bzrignore: Update with a number of new test-related files.
3127
e639c204
CW
31282013-06-25 Colin Watson <cjwatson@ubuntu.com>
3129
3130 * util/grub-script-check.c: Fail on scripts containing no
3131 commands, to guard against corrupted grub-mkconfig setups that
3132 produce no useful output.
3133 * tests/grub_script_no_commands.in: New test.
3134 * Makefile.util.def (grub_script_no_commands): Add.
3135 Reported by Hans Putter. Fixes Debian bug #713886.
3136
a4c89b17
AB
31372013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3138
3139 * grub-core/disk/diskfilter.c: Forgot to remove comment
3140 from previous commit.
3141
5b06b53c
AB
31422013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3143
3144 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
3145 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
3146
702da5c9
AB
31472013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3148
3149 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
3150
aa62a5b7
AB
31512013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3152
3153 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
3154 rescan diskfilter devices until nothing new is found.
3155
4aa237c8
VS
31562013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3157
3158 Fix casts when compiling coreboot-specific code for 64-bit EFI.
3159
93d8479b
VS
31602013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 Don't try to detect cbfs on *-emu.
3163
837222cc
VS
31642013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3165
3166 * grub-core/term/gfxterm.c: USe right background color when scrolling.
3167
99c971af
VS
31682013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3169
3170 Add support for processed coreboot payload chainloading.
3171
e6930a45
VS
31722013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3173
3174 Enable coreboot information commands even when not loaded as
3175 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
3176
5027af38
VS
31772013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3178
3179 Support for cbfs. Also factor out the part which is common
3180 for all archives to a separate module. This splits tar from cpio
3181 as they are very different but keeps cpio, cpio_be, odc and newc
3182 together since they're very similar.
3183
a5b55c4b
DM
31842013-06-15 David Michael <fedora.dm0@gmail.com>
3185
3186 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
3187 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
3188
0301a8b3
VS
31892013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3190
3191 * tests/grub_script_eval.in: Really add the eval test.
3192
3d84cb17
VS
31932013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
3194
3195 Move flavour-specific parts out of common cpio.c file and
3196 rename remaining to cpio_common.c
3197
593e430c
AB
31982013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3199
3200 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
3201 off new function grub_script_execute_new_scope. Change callers to use
3202 either of them as appropriate.
3203 * grub-core/commands/eval.c: New command eval.
3204 * docs/grub.texi (Commands): Document it.
3205
63c29849
AB
32062013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3207
3208 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
3209 to fetch values when listing.
3210
cc284112
AB
32112013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3212
3213 Fix make dist on non-pc.
3214
32152013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
3216
3217 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
3218 without a device name.
3219
69544d1e
VS
32202013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3221
3222 Remove enable_executable_check as it's not needed anymore.
3223 Reported by: dougray.
3224
96dbe648
VS
32252013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3226
3227 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
3228 ambigouos RAID before discovering RAIDs on top of it.
3229 Reported by: bodom.
3230
ccfc0bdb
VS
32312013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3232
3233 Fix typo (failback vs fallback).
3234
f2587088
AB
32352013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
3236
3237 * util/grub.d/30_os-prober.in: Add support for probing EFI
3238 System Partition (as of os-prober 1.58).
3239
cec5cf0c
VS
32402013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3241
3242 * configure.ac: Add yet another path to unifont. For parabola.
3243
e40b4596
JT
32442013-05-30 Josh Triplett <josh@joshtriplett.org>
3245
3246 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
3247 handling to copy the killed characters to the kill buffer as
3248 UCS4 stored as grub_uint32_t rather than as 8-bit characters
3249 stored as char. Eliminates UCS4 truncation and corruption
3250 observed when killing characters with Ctrl-u and yanking them
3251 back with Ctrl-y.
3252
fc4c4fdd
VS
32532013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3254
3255 Detach optional parts of gfxterm and integrate in with coreboot init.
3256
6570b205
VS
32572013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3258
3259 Move blit and fill dispatcher to appropriate files to decrease export
3260 and relocation overhead.
3261
b8323067
VS
32622013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3263
3264 * grub-core/font/font.c, include/grub/font.h: Inline simple font
3265 functions.
3266
3cc1878f
VS
32672013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3268
3269 * grub-core/Makefile.am: Fix compilation problem with some
3270 automake versions.
3271
4b80e43c
VS
32722013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3273
3274 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
3275
57e0c20c
VS
32762013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3277
3278 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
3279 automake versions.
3280
4fd42c53
VS
32812013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3282
3283 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
3284 SSDT.
3285
1e908b34
RS
32862013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
3287
3288 * grub-core/partmap/dfly.c: New partition map.
3289
1359e474
VS
32902013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3291
3292 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
3293 checking.
3294 Reported by: Francesco Lavra.
3295
17806392
AB
32962013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
3297
3298 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
3299 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
3300 false conditions.
3301 * conf/Makefile.common: define dist_grubconf_DATA
3302
cdce14fa
VS
33032013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3304
3305 Progressively skip menu elements on small terminals rather
3306 than crashing.
3307
c8d6cc3c
VS
33082013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
3311 to avoid losing last column.
3312
a73b31ce
VS
33132013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 * po/exclude.pot: Add missing string "%C".
3316
1202c764
VS
33172013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
3320 after the test.
3321
50268344
VS
33222013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3323
3324 * util/grub-install.in: Gettextize "Not found" message.
3325
62b15edf
VS
33262013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 Fix distfiles list.
3329 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
3330
33312013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
3332
3333 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
3334 present.
3335 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
3336
709ad61b
VS
33372013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3338
3339 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
3340
d128901a
VS
33412013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3342
3343 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
3344 attribute since structure is not necessarily aligned.
3345
34b22f5c
AB
33462013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
3347
3348 * docs/grub.texi (Device syntax): Clarify description of network
3349 drives.
3350
0f7e980b
VS
33512013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3352
3353 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
3354 for vasprintf presence.
3355
30b03dc2
VS
33562013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3357
3358 * util/grub-install.in: Handle efibootmgr presence check.
3359 Reported by: Leif Lindholm.
3360
0dc11c08
VS
33612013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3362
3363 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
3364 new strings to translate.
3365
f8024c3f
VS
33662013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3367
3368 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
3369 yet another string (pun intended) to translate.
3370
b4c1da62
VS
33712013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3372
3373 * po/POTFILES-shell.in: Autogenerate it.
3374
0ef7478b
VS
33752013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3376
3377 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
3378
8200fa15
VS
33792013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3380
3381 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
3382 misnomer.
3383
091945b2
AB
33842013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
3385
3386 * docs/grub.texi (Network): Add description of net_default_interface,
3387 net_default_ip and net_default_mac. Rewrite variables description
3388 to emphasize that they are per-interface.
3389
0e7b2e32
VS
33902013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3391
3392 New test: cmdline and cat.
3393
16f7c8f6
VS
33942013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3395
3396 * grub-core/commands/cat.c: Show UTF-8 characters.
3397
3e912fda
VS
33982013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3399
3400 * conf/Makefile.common: Poison float and double on non-emu.
3401
ee0220bc
VS
34022013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3403
3404 * configure.ac: Don't disable extended registers on emu.
3405
89e0240c
VS
34062013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3407
3408 * configure.ac: Don't use extended registers on x86_64.
3409 Reported by: Peter Jones.
3410
e56d9637
VS
34112013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3412
3413 * grub-core/term/efi/console.c: Fix compile error.
3414
8098f655
VS
34152013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3416
3417 Compressed HFS+ support.
3418
16940e07
VS
34192013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3420
3421 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
3422 pixel".
3423
c5dbc13d
VS
34242013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3425
3426 Menu color test.
3427
011f8ae8
VS
34282013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3429
3430 * grub-core/tests/setjmp_test.c: New test.
3431
2aa072d7
VS
34322013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3433
3434 New variables 'net_default_*' to determine MAC/IP of default interface.
3435
43fe02cb
VS
34362013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3437
3438 * tests/gettext_strings_test.in: A test to check for strings not
3439 marked for translation.
3440
bed06142
VS
34412013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3442
3443 * autogen.sh: Exclude unused libgcrypt files from translation.
3444
fb2666b5
VS
34452013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3446
3447 Simplify few strings.
3448
d22840ec
VS
34492013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3450
3451 Mark few forgotten strings for translation.
3452
e34092fd
VS
34532013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3454
3455 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
3456 rather than printf.
3457
47cf82b4
VS
34582013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
3461 rather than printf.
3462 * grub-core/video/readers/tga.c: Likewise.
3463
1eed0e6e
VS
34642013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3465
3466 * tests/priority_queue_unit_test.cc: New test.
3467
c5b7697b
VS
34682013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3469
3470 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
3471 than printf.
3472
5945c2f8
AB
34732013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
3474
3475 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
3476 variable for one time boot menu entry.
3477
fa292343
B
34782013-05-05 Bean <bean123ch@gmail.com>
3479
3480 * grub-core/commands/testspeed.c: New command testspeed.
3481
310d4214
VS
34822013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3483
3484 Factor-out human-size printing.
3485
85002bf3
VS
34862013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3487
3488 Agglomerate more mallocs to speed-up gfxterm.
3489
22b06e96
VS
34902013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3491
3492 Speed-up gfxterm by slightly agglomerating mallocs.
3493
b7c036bc
VS
34942013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3495
3496 More video checks.
3497
92323d1f
VS
34982013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3499
3500 Speed-up gfxterm by saving intermediate results in index+alpha
3501 format.
3502
0fb356a3
VS
35032013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3504
3505 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
3506 test.
3507
44dea3f9
VS
35082013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3509
3510 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
3511 line of timeout as it may contain the rest of long line.
3512
14af86e4
VS
35132013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3514
3515 * grub-core/normal/main.c: Fix freed memory dereference.
3516
03f7c8c3
VS
35172013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3518
3519 Fix several memory leaks.
3520
c686014c
VS
35212013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3522
3523 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
3524
0788a695
VS
35252013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3526
3527 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
3528
daf01d61
VS
35292013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3530
3531 Fix test -a and -o precedence.
3532 Reported by: adrian15.
3533
82ae74d7
VS
35342013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3535
3536 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
3537
8cec7bd4
AB
35382013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
3539
3540 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
3541 and add it as source to functional_test module.
3542
aa73d688
VS
35432013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3544
3545 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
3546
c104b6f9
VS
35472013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3548
3549 New series of tests for gfxterm and gfxmenu.
3550
7391c4d5
VS
35512013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3552
3553 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
3554 the theme path relative to $prefix/themes.
3555
cff50118
VS
35562013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3557
3558 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
3559 Fix order bug.
3560 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
3561
7c332bdc
VS
35622013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3563
3564 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
3565 descriptor.
3566
a4f9a5ff
VS
35672013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3568
3569 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
3570 grub_gfxmenu_timeout_notifications.
3571 (grub_gfxmenu_view_destroy): Likewise.
3572
b5a2114d
VS
35732013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3574
3575 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
3576
a8905e8a
VS
35772013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3578
3579 Several fixes to ieee1275 and big-endian video.
3580
813c1622
VS
35812013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3582
3583 Add missing exports on mips.
3584
3f3e7326
VS
35852013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3586
3587 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
3588 if no unifont is found.
3589 Restore original keyboard.
3590
095accd1
VS
35912013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3592
3593 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
3594 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
3595
50361660
VS
35962013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3597
3598 First automated video test (running videotest and comparing results)
3599
cd0f6eec
VS
36002013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3601
3602 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
3603 instead of 2 to have full RGB/CMY test pattern.
3604
3f9634e5
VS
36052013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
3606
3607 Add few more tests.
3608
583e5b64
VS
36092013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
3610
3611 * include/grub/arc/arc.h: Account for missing "other" peripheral on
3612 ARCS. All users updated.
3613
aa7bcb99
VS
36142013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
3615
3616 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
3617
95ef1a54
VS
36182013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
3619
3620 * grub-core/partmap/amiga.c: Fix size of checksummed block.
3621
46546fc5
VS
36222013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3623
3624 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
3625 Reported by: qwertial.
3626
3476e0ef
VT
36272013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
3628
3629 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
3630 with syntax "XXX deg"/"XXX °".
3631
96f33fed
VS
36322013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 Make PCI init in i386-qemu port more robust.
3635
36362013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
3637
3638 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
3639 cached view is reused.
3640 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
3641 open boot menus.
3642
c53b4e67
VS
36432013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3644
3645 Unify more code in grub-install_header.
3646
f7457fb2
VS
36472013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3648
3649 Add few new tests.
3650
e2f27a8c
VS
36512013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3652
3653 Enforce disabling of firmware disk drivers when native drivers kick in.
3654
ef9d8cd5
VS
36552013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3656
3657 * grub-core/commands/nativedisk.c: Customize the list of modules on
3658 platform. Don't try to search for disks already using native drivers.
3659
f7bf6c31
VS
36602013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3661
3662 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
3663 platforms.
3664
bdc4add8
VS
36652013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3666
3667 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
3668 handling of variables containing backslash.
3669
e9e46c9a
VS
36702013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3671
3672 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
3673 dereference.
3674 Reported by: qwertial.
3675
0e90dee8
VS
36762013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
3679
e0aacf24
VS
36802013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3681
3682 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
3683 dereference.
3684 Reported by: qwertial.
3685
3c0003c3
VS
36862013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3687
3688 * docs/grub.texi: Add a comment about usefullness of nativedisk.
3689
adb7d667
VS
36902013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
3693
7cd0df84
VS
36942013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3695
3696 New command `nativedisk'.
3697
02adbb93
VS
36982013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3699
3700 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
3701 * grub-core/loader/i386/bsd.c: Likewise.
3702
9fb0fd4f
VS
37032013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3704
3705 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
3706
bd69257a
VS
37072013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3708
3709 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
3710 grub_get_unaligned16 rather than shifts.
3711
178c2764
VS
37122013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3713
3714 * grub-core/kern/file.c: Use const char * rather than casting to
3715 non-const.
3716
eadfad24
VS
37172013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3718
3719 * grub-core/commands/probe.c: Add missing grub_device_close.
3720
9f73ebd4
VS
37212013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3722
3723 * INSTALL: Document linguas.sh.
3724
965fa829
VS
37252013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3726
3727 Remove POTFILES.in and regenerate it in autogen.sh.
3728
d417ddc4
VS
37292013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3730
3731 Move --directory/--override-directorry to grub-install_header and unify.
3732
f97ec546
VS
37332013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3734
3735 * grub-core/term/morse.c: Macroify dih and dah.
3736
b2d7470c
PFS
37372013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3738
3739 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
3740
141e2a78
VS
37412013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3742
3743 * grub-core/term/ns8250.c: Systematically probe ports by writing
3744 to SR before using them.
3745
1dd70ebd
PFS
37462013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3747
3748 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
3749 disks.
3750 (check_sas): Get sas_adress info.
3751
c796a107
VS
37522013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3753
3754 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
3755 ports.
3756
43168646
LD
37572013-04-27 Leon Drugi <eyak>
3758
3759 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
3760 BSS clearing.
3761
e7b8fd08
VS
37622013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3763
3764 Core compression test.
3765
17f9fd29
VS
37662013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3767
3768 Implement grub_machine_get_bootlocation for ARC.
3769
dc2a6c8b
VS
37702013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3771
3772 Improve AHCI detection and command issuing.
3773
f25a2ba6
VS
37742013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3775
3776 Fix pseries test.
3777
a6393224
VS
37782013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3779
3780 Make 'make check' work on emu.
3781
db99fbe8
VS
37822013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3783
3784 Replace libcurses with our own vt100 handling for the ease of testing
3785 and decreasing prerequisites.
3786
b24ca7cd
VS
37872013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3788
3789 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
3790
63314aa4
VS
37912013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
3794 compile when not needed.
3795
c1b00fff
VS
37962013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3797
3798 * tests/pseries_test.in: New test.
3799
f93e89ef
VS
38002013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3801
3802 Add test to check that different boot mediums work.
3803
c4b456d3
VS
38042013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3805
3806 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
3807 ofw limited ISO support.
3808
5fe67f39
VS
38092013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3810
3811 * configure.ac: Fix loongson conditional.
3812
7f63a64f
VS
38132013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3814
3815 Enable mipsel-arc.
3816
b04b5990
VS
38172013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3818
3819 Add serial on ARC platform.
3820
88d2f302
VS
38212013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3822
3823 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
3824 commit.
3825
86eb23bc
VS
38262013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3827
3828 * tests/partmap_test.in: Add missing double semicolon.
3829
eec3bb75
VS
38302013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3831
3832 * util/grub-mkrescue.in: Fix loongson filename.
3833
e0810df3
VS
38342013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3835
3836 * util/grub-mkrescue.in: Move all files that don't have a location
3837 set in stone under /boot/grub. Use ISO hard links rather than copies
3838 to save some space.
3839
65a6b30b
VS
38402013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3841
3842 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
3843 bogus SLOF values.
3844
6aff0107
VS
38452013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3846
3847 Make check work on mips-arc.
3848
5e013e56
VS
38492013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3850
3851 * util/grub-mkrescue.in: Alias sashARCS as sash.
3852
d1989e2e
VS
38532013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
3856 it's serial.
3857
1a25e72c
VS
38582013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3859
3860 * util/grub-install.in: Fix target fo qemu_mips.
3861 Fix extension on EFI.
3862
a59a9826
VS
38632013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3864
3865 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
3866 in front of chosen entry to mark it even if highlighting is lost.
3867
1a40f80c
VS
38682013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3869
3870 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
3871 gfxpayload=keep if cbfb is active.
3872
e343549c
VS
38732013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3874
3875 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
3876
45fbd9a2
VS
38772013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3878
3879 Add missing video ids to coreboot and ieee1275 video.
3880
ab1440bd
VS
38812013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3882
3883 * util/grub-mkrescue.in: Add mips-arc support.
3884
cdeb8324
VS
38852013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3886
3887 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
3888
8528c879
VS
38892013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3890
3891 Move mips-arc link address. Previous link address was chosen
3892 in belief that RAM on SGI platforms grows down while in fact it
3893 grows up from an unusual base.
3894
17fca573
VS
38952013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3896
3897 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
3898 Fix a type which prevented CD-ROM and floppy boot.
3899
d178788e
VS
39002013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3901
3902 Support coreboot framebuffer.
3903
3904 * grub-core/video/i386/coreboot/cbfb.c: New file.
3905
fe4c3e7e
VS
39062013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3907
3908 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
3909 detecting too small regions.
3910
ec2dd179
VS
39112013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3912
3913 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
3914
872dac83
VS
39152013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3916
3917 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
3918 Remove dprintf.
3919 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
3920
90ec4b7f
VS
39212013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
3924 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
3925 * grub-core/loader/powerpc/ieee1275/linux.c
3926 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
3927
f32555dd
VS
39282013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3929
3930 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
3931 Look for /boot-rom as well as /rom/boot-rom.
3932
38649799
VS
39332013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3934
3935 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
3936 handling when creating text_layer failed.
3937 * grub-core/video/video.c (grub_video_create_render_target):
3938 Set result to 0 on error.
3939 (grub_video_delete_render_target): Do not dereference NULL.
3940
aeace7f7
VS
39412013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3942
3943 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
3944 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
3945 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
3946 (grub_linux_load64): Mask out 2 high bits.
3947
4eafa175
AB
39482013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
3949
3950 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
3951 more place.
3952
daaa64bd
VS
39532013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3954
3955 Add support for pseries and other bootinfo machines to grub-mkrescue.
3956
3957 Tested by: Paulo Flabiano Smorigo.
3958
d0d2daa6
VS
39592013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3960
3961 * util/grub-mkrescue.in: Add GPT for EFI boot.
3962
b193e100
VS
39632013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3964
3965 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
3966 It improves performance in qemu.
3967
a0f8f3ac
VS
39682013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3969
3970 * build-aux/snippet: Add missing gnulib files.
3971
284df0e2
AB
39722013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
3973
3974 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
3975
740201f3
AB
39762013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
3977
3978 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
3979
a7e03923
PJ
39802013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
39812013-04-15 Peter Jones <pjones@redhat.com>
3982
3983 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
3984 sectors.
3985 Based on patch by Peter Jones.
3986
25fc51a8
VS
39872013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3988
3989 Fix DMRAID partition handling.
3990
88017d47
VS
39912013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3992
3993 * tests/grub_cmd_date.in: Skip on sparc64.
3994
fa7d914e
VS
39952013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3996
3997 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
3998 firmware error messages.
3999
cbe57a48
VS
40002013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4001
4002 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
4003 source and destination differ.
4004
21aecce0
VS
40052013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4006
4007 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
4008 detection.
4009
25092d29
VS
40102013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4011
4012 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
4013 match config-util.h to avoid warnings and increase compatibility.
4014
79451522 40152013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 40162013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
4017
4018 Add option to compress files on install/image creation.
4019
78b7d77b
VS
40202013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4021
4022 * docs/grub-dev.texi: Rearrange menu to match the section order.
4023 Reported by: Bryan Hundven.
4024
cc2fa5ec
VS
40252013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4026
4027 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
4028
b49fe879
VS
40292013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4030
4031 Move GRUB out of system area when using xorriso 1.2.9 or later.
4032
5351da81
VS
40332013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4034
4035 * tests/grub_cmd_date.in: Add missing exit 1.
4036
c9d586ea
VS
40372013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4038
4039 * tests/partmap_test.in: Skip on sparc64.
4040
3f729741
VS
40412013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4042
4043 Support grub-shell on sparc64.
4044
8ca86b3a
VS
40452013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4046
4047 Support mkrescue on sparc64.
4048
aa1af9bb
VS
40492013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4050
4051 Allow IEEE1275 ports on path even if it wasn't detected automatically.
4052 Needed on OpenBIOS due to incomplete device tree.
4053
ac4fea79
VS
40542013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4055
4056 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
4057 would be otherwise excluded.
4058
40592013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
4060
4061 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4062 Inline name defines used only once.
4063
fe22b071
VS
40642013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4065
4066 Fix memory leaks in ofnet.
4067 Reported by: Francesco Lavra.
4068
9d21381b
VS
40692013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 * docs/man/grub-glue-efi.h2m: Add missing file.
4072
07aec23c
VS
40732013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4074
4075 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
4076
67ab8353
VS
40772013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4078
4079 Better support Apple Intel Macs on CD.
4080
ba44ca6d
VS
40812013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4082
4083 Replace stpcpy with grub_stpcpy in tools.
4084
bbdd6305
VS
40852013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4086
4087 Handle Japanese special keys.
4088 Reported by: Hiroyuki YAMAMORI.
4089 Codes supplied by: Hiroyuki YAMAMORI.
4090
8573d302
VS
40912013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4092
4093 * util/grub-mkimage.c: Document memdisk implying --prefix.
4094
d70dbab7
VS
40952013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4096
4097 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
4098 much we can do about it anyway.
4099
51a4c3e3
AN
41002013-04-12 Aleš Nesrsta <starous@volny.cz>
4101
4102 Fix handling of split transfers.
4103
92c8f58d
VS
41042013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4105
4106 * grub-core/net/http.c: Fix bad free.
4107
b7d17a49
VS
41082013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4109
4110 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
4111 than buffer size.
4112
a3d566d4
VS
41132013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4114
4115 Disable partmap check on i386-ieee1275 due to openfirmware issues.
4116
a936af56
VS
41172013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4118
4119 * tests/util/grub-shell.in: Fix it on powerpc.
4120
51212234
VS
41212013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4122
4123 Turn off QEMU ACPI-way since new releases don't have shutdown port
4124 anymore.
4125
a21eec9e
VS
41262013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4127
4128 * docs/grub.texi: Update coreboot status info.
4129
e3734b84
VS
41302013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4131
4132 * tests/grub_cmd_date.in: New test for datetime.
4133
f9d40055
VS
41342013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4135
4136 * tests/partmap_test.in: Fix missing qemudisk setting.
4137
dbc56d8f
VS
41382013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4139
4140 Support i386-ieee1275 grub-mkrescue and make check on it.
4141
a79b8a15
VS
41422013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4143
4144 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
4145 feature for it.
4146
48f39bb4
VS
41472013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4148
4149 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
4150 GRUB_CMDLINE_XEN_DEFAULT.
4151 Reported by: Marc Warne (GigaTux) <gigatux>
4152
053cfcdd
VS
41532013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4154
4155 Import new gnulib.
4156
93cd84df
VS
41572013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4158
4159 Use ACPI shutdown intests as traditional port was removed.
4160
f4b1fa4f
AB
41612013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
4162
4163 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
4164 distinction.
4165
49818a59
VS
41662013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4167
4168 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
4169 Fix few warining messages and leaks while on it.
4170
9277a306
AB
41712013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
4172
4173 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
4174 links under grub-core/lib/libgcrypt-grub/mpi.
4175
d5e2a158
VS
41762013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4177
4178 Fix ia64-efi image generation on big-endian machines. Deduplicate
4179 some code while on it.
4180 Reported by: Leif Lindholm.
4181
18866643
AB
41822013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
4183
4184 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
4185 as extra_dist.
4186
ca53deb8
AB
41872013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
4188
4189 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
4190
d4c4b8e1
BH
41912013-04-08 Bryan Hundven <bryanhundven@gmail.com>
4192
4193 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
4194 texinfo-5.1.
4195
47043f95
VS
41962013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 * grub-core/normal/term.c: Few more fixes for menu entry editor
4199 rendering.
4200 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4201
a3216068
VS
42022013-04-07 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
21026747
AB
42082013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
4209
4210 * conf/Makefile.extra-dist (EXTRA_DIST): Add
4211 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
4212
59624ca8
AB
42132013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
4214
4215 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
4216 instead of hardcoding grub.mo.
4217
1f44478c
FN
42182013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
4219
4220 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
4221
eeada7b1
VS
42222013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4223
4224 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
4225 grub-core/disk/geli.c.
4226
132867de
VS
42272013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4228
4229 * util/grub-mkfont.c: Prefer enum to #define.
4230
de73de17
VS
42312013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4232
4233 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
4234
1865baa7
VS
42352013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4236
4237 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
4238
ce7d92a9
VS
42392013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4240
4241 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
4242
52eab656
VS
42432013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4244
4245 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
4246
98b23b95
VS
42472013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4248
4249 * include/grub/bsdlabel.h: Use enums.
4250
0467a5dd
VS
42512013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4252
4253 Move GRUB_CHAR_BIT to types.h.
4254
16cc9f03
AB
42552013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
4256
4257 * docs/grub.texi: Document more user commands.
4258
3152aecb
AB
42592013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
4260
4261 * docs/grub.texi: Document menuentry --id option.
4262
c506fc30
FL
42632013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
4264
4265 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
4266
aa428238
VS
42672013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4268
4269 Unify file copying setup across different install scripts. Add
4270 options for performing partial install.
4271
efe0cdda
PJ
42722013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
42732013-04-04 Peter Jones <pjones@redhat.com>
4274
4275 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
4276
f75835bd
VS
42772013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4278
4279 Use TSC as a possible time source on i386-ieee1275.
4280
2cd5ce6c
VS
42812013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4282
4283 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
4284 Init err.
4285
c9625630
VS
42862013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4287
4288 * util/grub-setup.c (setup): Handle some corner cases.
4289
be008941
VS
42902013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4291
4292 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
4293
1a78d573
VS
42942013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4295
4296 * grub-core/commands/verify.c: Save verified file to avoid it being
4297 tampered with after verification was done.
4298
db8ff59f
VS
42992013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4300
4301 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
4302 reported width by one to compensate for curesor algorithm problem.
4303
91bf46b1
VS
43042013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4305
4306 Fix screen corruption in menu entry editor and simplify the code
4307 flow while on it.
4308
a7b1d693
AB
43092013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
4310
4311 * util/grub-mount.c (fuse_init): Return error if fuse_main
4312 failed.
4313
31df9ad8
FL
43142013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
4315
4316 * include/grub/elf.h: Add missing ARM relocation codes and fix
4317 existing ones.
4318
07f392eb
VT
43192013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
4320
4321 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
4322
9efd73ec 43232013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
43242013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4325
4326 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
4327 into account when calculating radius.
4328
43292013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
4330
4331 * grub-core/gfxmenu/view.c: Fix off-by-one error.
4332
4985ddaa
VT
43332013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
4334
4335 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
4336
8c3635ff
RS
43372013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
4338
4339 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
4340 missing closing bracket.
4341
74a35e69
RS
43422013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
4343
4344 * INSTALL: Mention xorriso requirement.
4345
40f1c000
AB
43462013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
4347
4348 * grub-core/commands/verify.c: Fix hash algorithms values for
4349 the first three hashes - they start with 1, not with 0.
4350
e75fdee4
VS
43512013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4352
4353 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
4354 Try terminating EFI services several times due to quirks in some
4355 implementations.
4356
33028f4c
CW
43572013-03-26 Colin Watson <cjwatson@ubuntu.com>
4358
4359 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
4360 skipping Event, Device, Processor, PowerRes, ThermalZone, and
4361 BankField extended opcodes.
4362 (get_sleep_type): Add minimal scope handling (just enough to
4363 handle setting the scope to the root path).
4364 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
4365 * include/grub/acpi.h: Add enumeration values for Event, Device,
4366 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
4367
33871a10
VT
43682013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
4369
4370 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
4371 memory leak.
4372
8990963a
VS
43732013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
4374
4375 * grub-core/disk/ahci.c: Give more time for AHCI request.
4376
daae8f9e
VS
43772013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
4378
4379 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
4380 command.
4381
6a7fb94b
VS
43822013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
4383
4384 Replace the region at 0 from coreboot tables to available in BSD
4385 memory map.
4386
ff99babd
VS
43872013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4388
4389 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
4390 non-BIOS platforms.
4391
30d6b1b2
VS
43922013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4393
4394 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
4395 platforms.
4396
6ccd0b31
VS
43972013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4398
4399 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
4400 handling of multi-device filesystems.
4401
23c9cc04
VS
44022013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4403
4404 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
4405 platforms.
4406
ce50dbd7
VS
44072013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4408
4409 Add new 'proc' filesystem framework and put luks_script into it.
4410
d975e8d5
VS
44112013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4412
4413 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
4414 and qemu.
4415
e73ba5e8
VS
44162013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
4417
4418 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
4419
92750e4c
VS
44202013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
4421
4422 Add ability to generate newc additions on runtime.
4423
0ec45a68
VS
44242013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
4425
4426 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
4427 description.
4428
320abd43
VS
44292013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
4430
4431 * po/POTFILES.in: Regenerate.
4432
d7a6506e
VS
44332013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4434
4435 * grub-core/commands/verify.c (hashes): Add several hashes
4436 from the spec.
4437
8fe05def
VS
44382013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 Slight improve in USB-related boot-time checkpoints.
4441
524e2766
VS
44422013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4443
4444 * grub-core/commands/boottime.c: Fix copyright header.
4445
cc19857a
VS
44462013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4447
4448 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
4449 coreboot tables content. Support for cbmemc.
4450
ef8810e9
VS
44512013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4452
4453 Fix a conflict between ports structures with 2 controllers of
4454 same kind.
4455
e9dabdfa
VS
44562013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4457
4458 * include/grub/boottime.h: Add missing file.
4459
f6df57d2
VS
44602013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4461
4462 Initialize USB ports in parallel to speed-up boot.
4463
d745dda7
VS
44642013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4465
4466 Fix USB devices not being detected when requested
4467 due to delayed attach.
4468
e5a2dd7b
VS
44692013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4470
e744219b
VS
4471 Implement boot time analysis framework.
4472
44732013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4474
4475 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
4476 descriptor to just receive it as argument rather than endpoint
4477 address.
4478
5dd6f587
VS
44792013-03-19 Aleš Nesrsta <starous@volny.cz>
4480
4481 Better estimate the maximum USB transfer size.
4482
2f1071d5
VS
44832013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
4484
4485 Resend a packet if we got the wrong buffer in status.
4486
46ecfc49
VS
44872013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4488
4489 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
4490 multiplication rather than division.
4491
ea811130
VS
44922013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4493
4494 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
4495 than divisions.
4496
d2789cf0
VS
44972013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4498
4499 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
4500 operations to have intended shifts and not divisions.
4501
a9c94590
VS
45022013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
4505 intended shifts rather than division.
4506
84cfe81b
VS
45072013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4508
4509 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
4510 computation for some years before epoch. Avode confusing division
4511 while on it.
4512
21344ef6
VS
45132013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4514
4515 * grub-core/video/i386/pc/vbe.c
4516 (grub_video_vbe_print_adapter_specific_info): Replace division by
4517 shifts.
4518
3f2b4d1a
VS
45192013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4520
4521 Adjust types in gdb module to have intended unsigned shifts rather than
4522 signed divisions.
4523
3dac5878
VS
45242013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4525
4526 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
4527 maximum size is 4G - 1 on hfs
4528
5341c0fb
VS
45292013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4530
4531 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
4532
fc3ff2a2
VS
45332013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4534
4535 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
4536 function.
4537
81455e8e
AB
45382013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
4539
4540 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
4541 causing gcc error with gcc 4.7.1.
4542
efd4f117
NZ
45432013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
4544
4545 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
4546 dereference null pointer. While the code is technically correct, gcc
4547 may eliminate a null check if pointer is already dereferenced.
4548
e11645f4
NZ
45492013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
4550
4551 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
4552 OOM check.
4553 * grub-core/normal/term.c (read_terminal_list): Likewise.
4554
77468368
VS
45552013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
4556
4557 Lift up core size limits on some platforms. Fix potential memory
4558 corruption with big core on small memory systems. Document remaining
4559 limits.
4560
f6b58fe5
VS
45612013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4562
4563 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
4564 gotoxy to 0,0.
4565
19ce697d
VS
45662013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4567
4568 Remove all trampoline support. Add -Wtrampolines when
4569 present. Remove symbols used for trampolines to make
4570 link fail if trampolines are present.
4571
73b5d90f
VS
45722013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4573
4574 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
4575 append out of its parent.
4576
cb758e96
VS
45772013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4578
4579 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
4580 parent.
4581
3188131f
VS
45822013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4583
4584 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
4585 all vars to a macro. All users updated.
4586
e42b2514
VS
45872013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4588
4589 * grub-core/disk/ieee1275/nand.c: Fix compilation on
4590 i386-ieee1275.
4591
83e1a1a1
VS
45922013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4593
4594 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
4595
1d5a880f
VS
45962013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4597
4598 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
4599
6e4146c4
VS
46002013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4601
4602 Move to more hookless approach in IEEE1275 devices handling.
4603
99fcda8a
VS
46042013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4605
4606 * grub-core/kern/term.c (grub_term_normal_color),
4607 (grub_term_highlight_color): Add back lost defaults.
4608
73bf57e2
VS
46092013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4610
4611 Make elfload not use hooks. Opt for flags and iterators instead.
4612
7f8c105f
VS
46132013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4614
4615 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
4616 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
4617
396d4091
VS
46182013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4619
4620 * grub-core/script/execute.c (gettext_append): Remove nested functions.
4621
46222013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4623
4624 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
4625 hook pass-through parameter. All users updated and unnested.
4626
74a27421
VS
46272013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4628
4629 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
4630 out of its parent.
4631
b46d4213
VS
46322013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4633
4634 * grub-core/fs/hfs.c: Remove nested functions.
4635
e114c3cc
VS
46362013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4637
4638 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
4639 the context through.
4640 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
4641
f9b7d780
VS
46422013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4643
4644 * util/grub-editenv.c (list_variables): Move print_var out of its
4645 parent.
4646
ca9c2608
VS
46472013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4648
4649 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
4650 function.
4651
5d983f5f
VS
46522013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4653
4654 * grub-core/gentrigtables.c: Make tables const.
4655
3056d3e7
VS
46562013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4657
4658 Remove nested functions from videoinfo iterators.
4659
e2303774
VS
46602013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4661
4662 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
4663 for 64-bit platforms.
4664
f42e3a2f
VS
46652013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4666
4667 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
4668 a FOR_CHILDREN macro.
4669
be174e5e
VS
46702013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4671
4672 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
4673 platform from firmware path.
4674
0789b672
VS
46752013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4676
4677 Enable linux16 on non-BIOS systems for i.a. memtest.
4678
4679 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
4680 correctly.
4681 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
4682
005a9c32
VS
46832013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4684
4685 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
4686 Fix end of table condition.
4687
ff2b3cd9
VS
46882013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4689
4690 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
4691 out of its parent.
4692
4fc40ff8
VS
46932013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 * grub-core/fs/jfs.c: Remove nested functions.
4696
be42d97a
VS
46972013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4698
4699 * grub-core/fs/minix.c: Remove nested functions.
4700
99373ce4
VS
47012013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 * grub-core/fs/iso9660.c: Remove nested functions.
4704
5aec2afe
VS
47052013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
4708 of parent function.
4709
6c69e691
VS
47102013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4711
4712 * util/grub-fstest.c: Remove nested functions.
4713
43c91882
VS
47142013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4715
4716 * grub-core/loader/machoXX.c: Remove nested functions.
4717
4eb8b756
CW
47182013-02-27 Colin Watson <cjwatson@ubuntu.com>
4719
4720 Remove nested functions from disk and file read hooks.
4721
4722 * include/grub/disk.h (grub_disk_read_hook_t): New type.
4723 (struct grub_disk): Add read_hook_data member.
4724 * include/grub/file.h (struct grub_file): Likewise.
4725 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
4726 argument.
4727
4728 Update all callers.
4729
df6da5a5
AB
47302012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
4731
4732 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
4733 Fix off by one error in enumerating extended partitions.
4734
21aecde5
AB
47352013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
4736
4737 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
4738 memory leak if device name is not found.
4739
f1a19118
AB
47402013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
4741
4742 * grub-core/normal/menu_entry.c (update_screen): remove
4743 unused variable `off' which caused scroll down arrow to be always shown.
4744
958bfd20
AB
47452013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
4746
4747 * grub-core/normal/menu_entry.c (insert_string): fix off by one
4748 access to unallocated memory.
4749
b7b78edb
AB
47502013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
4751
4752 * Makefile.util.def: Add partmap/msdos.c to common library.
4753 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
4754 * grub-core/disk/ldm.c: Check for existence of
4755 GRUB_PC_PARTITION_TYPE_LDM.
4756
28d468d6
VS
47572013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4758
4759 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
4760 sizes and display sector size.
4761
d55ffb02
VS
47622013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4763
4764 Implement new command cmosdump.
4765
b5ea6ce0
VS
47662013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4767
4768 Support Openfirmware disks with non-512B sectors.
4769
4770 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
4771 size of the disk.
4772 * (grub_ofdisk_get_block_size): New function.
4773 * (grub_ofdisk_prepare): Use the correct block size.
4774 * (grub_ofdisk_read): Likewise.
4775 * (grub_ofdisk_write): Likewise.
4776 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
4777 New proto.
4778
cc0e476f
VS
47792013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
4782
c5dbdc33
VS
47832013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4784
4785 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
4786 on first error.
4787
3f078c0f
VS
47882013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4789
4790 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
4791 freeing it.
4792
66a93674
VS
47932013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 Implement USBDebug (full USB stack variant).
4796
c9f0c134
VS
47972013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4798
4799 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
4800 unless they have unexpected values.
4801
cfe1288b
VS
48022013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4803
4804 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
4805 grub_print_error.
4806
e42b9969
VS
48072013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4808
4809 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
4810 zero-out of port structure.
4811
cf94fd62
VS
48122013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4813
4814 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
4815 of extended attributes.
4816
f81ef4b5
AB
48172013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
4818
4819 * util/grub-install.in: change misleading comment about
4820 device.map creation
4821
af18fdb4
VS
48222013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4823
4824 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
4825 when menu highlight color isn't set.
4826
08bcec50
M
48272013-01-27 C. Masloch <pushbx@38.de>
4828
4829 Improve FreeDOS direct loading support compatibility.
4830
4831 * include/grub/i386/relocator.h (grub_relocator16_state):
4832 New member ebp.
4833 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
4834 variable.
4835 (grub_relocator16_boot): Handle %ebp.
4836 * grub-core/lib/i386/relocator16.S: Likewise.
4837 * grub-core/loader/i386/pc/freedos.c:
4838 Load BPB to pass kernel which partition to load from.
4839 Check that kernel file is not too large.
4840 Set register dl to BIOS unit number as well.
4841
7782b8a6
CW
48422013-01-22 Colin Watson <cjwatson@ubuntu.com>
4843
4844 * util/grub-reboot.in (usage): Document the need for
4845 GRUB_DEFAULT=saved.
4846 * util/grub-set-default.in (usage): Likewise.
4847 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
4848
e661c180
VS
48492013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4850
4851 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
4852 than defining WORDS_BIGENDIAN manually.
4853
1c22ca9a
VS
48542013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
4857 invariants.
4858
d44892fe
CW
48592013-01-21 Colin Watson <cjwatson@ubuntu.com>
4860
4861 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
4862 nested.
4863 (blit_comb: add_device_width): Likewise.
4864
5fdbaed1
CW
48652013-01-21 Colin Watson <cjwatson@ubuntu.com>
4866
4867 Remove nested functions from USB iterators.
4868
4869 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
4870 (grub_usb_controller_iterate_hook_t): Likewise.
4871 (grub_usb_iterate): Add hook_data argument.
4872 (grub_usb_controller_iterate): Likewise.
4873 (struct grub_usb_controller_dev.iterate): Likewise.
4874
4875 Update all implementations and callers.
4876
4250985a
VS
48772013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4878
4879 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
4880 margin when not needed.
4881
7d8848f3
VS
48822013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4883
bc136973 4884 Make color variables global instead of it being per-terminal.
7d8848f3
VS
4885
48862013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4887
bc136973
VS
4888 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
4889 asterisk.
7d8848f3 4890
ed12a003
CW
48912013-01-21 Colin Watson <cjwatson@ubuntu.com>
4892
4893 Fix powerpc and sparc64 build failures caused by un-nesting memory
4894 map iterators.
4895
6a0db449
CW
48962013-01-21 Colin Watson <cjwatson@ubuntu.com>
4897
4898 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
4899 parameter declarations.
4900
ccd86b21
VS
49012013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4902
4903 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
4904
822b726b
VS
49052013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4906
4907 Improve spkmomdem reliability by adding a separator between bytes.
4908
115c2cc1
CW
49092013-01-21 Colin Watson <cjwatson@ubuntu.com>
4910
4911 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
4912 an Acer registration utility with several sightings in the wild.
4913 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
4914
fc524edf
CW
49152013-01-21 Colin Watson <cjwatson@ubuntu.com>
4916
4917 Remove nested functions from filesystem directory iterators.
4918
4919 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
4920 (struct grub_fs.dir): Add hook_data argument.
4921
4922 Update all implementations and callers.
4923
53d3e4e3
CW
49242013-01-21 Colin Watson <cjwatson@ubuntu.com>
4925
4926 * docs/grub.texi (Multi-boot manual config): Fix typo for
4927 "recommended".
4928
c821711f
LL
49292013-01-20 Leif Lindholm <leif.lindholm@arm.com>
4930
4931 * util/grub-mkimage.c (main): Postpone freeing arguments.output
4932 until after its use in generate_image.
4933
6a0debbd
CW
49342013-01-20 Colin Watson <cjwatson@ubuntu.com>
4935
4936 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
4937 initrd size to addr_min, since the initrd will be allocated after
4938 this address.
4939
f41e08db
AB
49402013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
4941
4942 * conf/Makefile.common: Fix autogen rules to pass definition
4943 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
4944
77529e0f
LL
49452013-01-20 Leif Lindholm <leif.lindholm@arm.com>
4946
4947 * include/grub/elf.h: Update ARM definitions based on binutils.
4948
b879aa7b
VS
49492013-01-20 Aleš Nesrsta <starous@volny.cz>
4950
4951 Split long USB transfers into short ones.
4952
8eb8284d
AB
49532013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
4954
4955 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
4956 is interrupted by ESC.
4957
08dad2dc
VS
49582013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4959
4960 * util/grub-script-check.c (main): Uniform the error message.
4961
6c724b85
CW
49622013-01-20 Colin Watson <cjwatson@ubuntu.com>
4963
4964 Remove nested functions from ELF iterators.
4965
25239370
CW
49662013-01-20 Colin Watson <cjwatson@ubuntu.com>
4967
4968 Remove nested functions from device iterators.
4969
4970 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
4971 (grub_arc_iterate_devs): Add hook_data argument.
4972 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
4973 (struct grub_ata_dev.iterate): Add hook_data argument.
4974 * include/grub/device.h (grub_device_iterate_hook_t): New type.
4975 (grub_device_iterate): Add hook_data argument.
4976 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
4977 (struct grub_disk_dev.iterate): Add hook_data argument.
4978 (grub_disk_dev_iterate): Likewise.
4979 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
4980 Likewise.
4981 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
4982 Likewise.
4983 * include/grub/partition.h (grub_partition_iterate_hook_t): New
4984 type.
4985 (struct grub_partition_map.iterate): Add hook_data argument.
4986 (grub_partition_iterate): Likewise.
4987 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
4988 (struct grub_scsi_dev.iterate): Add hook_data argument.
4989
4990 Update all callers.
4991
6c0314d6
CW
49922013-01-20 Colin Watson <cjwatson@ubuntu.com>
4993
4994 Fix typos for "developer" and "development".
4995
600dc5f1
VS
49962013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4997
4998 Add license header to spkmodem-recv.c.
4999
17334a6b
VS
50002013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
5001
5002 Rewrite spkmodem to use PIT for timing. Double the speed.
5003
7d462559
VS
50042013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5005
5006 Add new command pcidump.
5007
b78d6c32
VS
50082013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5009
5010 New terminal outputs using serial: morse and spkmodem.
5011
34f71cb8
VS
50122013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5013
5014 Improve bidi handling in entry editor.
5015
4542e71b
VS
50162013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5017
5018 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5019 argument to prevent name collision.
5020
09fd6d82
CW
50212013-01-15 Colin Watson <cjwatson@ubuntu.com>
5022
5023 Remove nested functions from script reading and parsing.
5024
5025 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
5026 getline_data argument, passed to getline.
5027 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
5028 getline_data argument, passed to grub_parser_split_cmdline.
5029 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
5030 lexerstate->getline_data to lexerstate->getline.
5031 (grub_script_lexer_init): Add getline_data argument, saved in
5032 lexerstate->getline_data.
5033 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
5034 argument, passed to grub_script_parse.
5035 * grub-core/script/script.c (grub_script_parse): Add getline_data
5036 argument, passed to grub_script_lexer_init.
5037 * include/grub/parser.h (grub_parser_split_cmdline): Update
5038 prototype. Update all callers to pass appropriate getline data.
5039 (struct grub_parser.parse_line): Likewise.
5040 (grub_rescue_parse_line): Likewise.
5041 * include/grub/reader.h (grub_reader_getline_t): Add void *
5042 argument.
5043 * include/grub/script_sh.h (struct grub_lexer_param): Add
5044 getline_data member.
5045 (grub_script_parse): Update prototype. Update all callers to pass
5046 appropriate getline data.
5047 (grub_script_lexer_init): Likewise.
5048 (grub_normal_parse_line): Likewise.
5049
5050 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
5051 data argument.
5052 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
5053 static instead of nested. Rename to ...
5054 (grub_parser_execute_getline): ... this.
5055 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
5056 data argument.
5057 * grub-core/normal/main.c (read_config_file: getline): Make static
5058 instead of nested. Rename to ...
5059 (read_config_file_getline): ... this.
5060 (grub_normal_read_line): Add unused data argument.
5061 * grub-core/script/execute.c (grub_script_execute_sourcecode:
5062 getline): Make static instead of nested. Rename to ...
5063 (grub_script_execute_sourcecode_getline): ... this.
5064 * util/grub-script-check.c (main: get_config_line): Make static
5065 instead of nested.
5066
d0d4b8a0
CW
50672013-01-15 Colin Watson <cjwatson@ubuntu.com>
5068
5069 Remove nested functions from memory map iterators.
5070
5071 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
5072 argument, passed to hook.
5073 * grub-core/kern/i386/coreboot/mmap.c
5074 (grub_linuxbios_table_iterate): Likewise.
5075 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
5076 instead of nested.
5077 (grub_machine_mmap_iterate): Add hook_data argument.
5078 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
5079 Add hook_data argument, passed to hook.
5080 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
5081 Likewise.
5082 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
5083 Likewise.
5084 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
5085 Likewise.
5086 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
5087 Likewise.
5088 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
5089 Likewise.
5090 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
5091 Likewise.
5092 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
5093 (grub_machine_mmap_iterate): Likewise.
5094 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
5095 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
5096 prototype.
5097 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
5098 Remove NESTED_FUNC_ATTR from here and from all users.
5099 (grub_mmap_iterate): Update prototype.
5100 (grub_efi_mmap_iterate): Update prototype. Update all callers to
5101 pass appropriate hook data.
5102 (grub_machine_mmap_iterate): Likewise.
5103
5104 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
5105 static instead of nested.
5106 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
5107 Rename to ...
5108 (lsmmap_hook): ... this.
5109 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
5110 Likewise.
5111 (grub_efiemu_mmap_fill: fill_hook): Likewise.
5112 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
5113 heap_init): Likewise.
5114 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
5115 Rename to ...
5116 (mmap_iterate_hook): ... this.
5117 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
5118 Likewise.
5119 * grub-core/lib/ieee1275/relocator.c
5120 (grub_relocator_firmware_get_max_events: count): Likewise.
5121 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
5122 to ...
5123 (grub_relocator_firmware_fill_events_iter): ... this.
5124 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
5125 hook): Likewise. Rename to ...
5126 (grub_relocator_alloc_chunk_align_iter): ... this.
5127 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
5128 Rename to ...
5129 (generate_e820_mmap_iter): ... this.
5130 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
5131 Rename to ...
5132 (count_hook): ... this.
5133 (grub_linux_boot: hook): Likewise. Rename to ...
5134 (grub_linux_boot_mmap_find): ... this.
5135 (grub_linux_boot: hook_fill): Likewise. Rename to ...
5136 (grub_linux_boot_mmap_fill): ... this.
5137 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
5138 hook): Likewise. Rename to ...
5139 (grub_fill_multiboot_mmap_iter): ... this.
5140 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
5141 hook): Likewise. Rename to ...
5142 (count_hook): ... this.
5143 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
5144 hook): Likewise. Rename to ...
5145 (grub_fill_multiboot_mmap_iter): ... this.
5146 * grub-core/loader/powerpc/ieee1275/linux.c
5147 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
5148 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
5149 Likewise. Rename to ...
5150 (alloc_phys_choose): ... this.
5151 (determine_phys_base: get_physbase): Likewise.
5152 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
5153 find_hook): Likewise.
5154 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
5155 (malloc_hook: count_hook): Likewise.
5156 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
5157 Likewise. Rename to ...
5158 (lower_hook): ... this.
5159 (grub_mmap_get_upper: hook): Likewise. Rename to ...
5160 (upper_hook): ... this.
5161 (grub_mmap_get_post64: hook): Likewise. Rename to ...
5162 (post64_hook): ... this.
5163 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
5164 Likewise. Rename to ...
5165 (lower_hook): ... this.
5166 (grub_mmap_get_upper: hook): Likewise. Rename to ...
5167 (upper_hook): ... this.
5168 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
5169 (grub_mmap_iterate: fill_hook): Likewise.
5170 (fill_mask): Pass addr and mask within a single struct.
5171 (grub_cmd_badram: hook): Make static instead of nested. Rename
5172 to ...
5173 (badram_iter): ... this.
5174 (grub_cmd_cutmem: hook): Likewise. Rename to ...
5175 (cutmem_iter): ... this.
5176
22099030
VS
51772013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5178
5179 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
5180 delimit path in strings using quotes.
5181 * util/getroot.c (grub_guess_root_devices): Likewise.
5182 (grub_make_system_path_relative_to_its_root): Likewise.
5183 * util/grub-probe.c (probe): Likewise.
5184 * util/ieee1275/ofpath.c (find_obppath): Likewise.
5185 (xrealpath): Likewise.
5186
4a9950ec
VS
51872013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5188
5189 Fix compilation with older compilers.
5190
5191 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
5192 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
5193 declarations.
5194 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
5195 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
5196 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
5197 identifier with b.
5198 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
5199 * include/grub/crypto.h: Add type defines.
5200 * util/import_gcrypth.sed: Remove duplicate type defines.
5201
adcc6020
VS
52022013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5203
5204 New command list_trusted.
5205
5206 * grub-core/commands/verify.c (grub_cmd_list): New function.
5207
a4528937
CW
52082013-01-13 Colin Watson <cjwatson@ubuntu.com>
5209
5210 * util/grub-mkimage.c (generate_image): Fix "size of public key"
5211 info message.
5212
ca3a7446
CW
52132013-01-13 Colin Watson <cjwatson@ubuntu.com>
5214
5215 Remove nested functions from PCI iterators.
5216
5217 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
5218 passed to hook. Update all callers to pass appropriate hook data.
5219 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
5220 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
5221 Remove NESTED_FUNC_ATTR from here and from all users.
5222 (grub_pci_iterate): Update prototype.
5223 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
5224 instead of nested. Rename to ...
5225 (grub_cs5536_find_iter): ... this.
5226 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
5227 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
5228 Likewise.
5229 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
5230 Likewise.
5231 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
5232 Likewise.
5233 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
5234 Likewise.
5235 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
5236 * grub-core/video/radeon_fuloong2e.c
5237 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
5238 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
5239 find_card): Likewise.
5240 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
5241 Likewise.
5242
f8e98fee
VS
52432013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5244
5245 * grub-core/commands/verify.c: Mark messages for translating.
5246
055b36b6
VS
52472013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5248
5249 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
5250 fatal.
5251
f7ff879b
VS
52522013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5253
5254 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
5255 fatal.
5256
52572013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
5258
5259 * autogen.sh: Do not try to delete nonexistant files.
5260 * util/import_gcrypth.sed: Add some missing header removals.
5261
01323d49
CW
52622013-01-12 Colin Watson <cjwatson@ubuntu.com>
5263
5264 Clean up dangling references to grub-setup.
5265 Fixes Ubuntu bug #1082045.
5266
5267 * docs/grub.texi (Images): Refer generally to grub-install rather
5268 than directly to grub-setup.
5269 (Installing GRUB using grub-install): Remove direct reference to
5270 grub-setup.
5271 (Device map) Likewise.
5272 (Invoking grub-install): Likewise.
5273 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
5274 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
5275 * util/grub-install.in (usage): Likewise.
5276
5277 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
5278 Apply to grub-bios-setup and grub-sparc64-setup rather than to
5279 grub-setup.
5280 * configure.ac: Remove grub_setup output variable.
5281
5282 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
5283 to grub-bios-setup.
5284 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
5285 grub-setup to grub-sparc64-setup.
5286
5e3b8dcb
VS
52872013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5288
5289 Import gcrypt public-key cryptography and implement signature checking.
5290
535714bd
VS
52912013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5292
5293 * grub-core/fs/ntfs.c: Ue more appropriate types.
5294 * grub-core/fs/ntfscomp.c: Likewise.
5295 * include/grub/ntfs.h: Likewise.
5296
3e4f3566
VS
52972013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5298
5299 Support Apple FAT binaries on non-Apple platforms.
5300
5301 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
5302 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
5303 Likewise.
5304 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
5305 Apple FAT binaries.
5306
4dedb13f
VS
53072013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5308
5309 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
5310 sector devices.
5311
f8861eaf
CW
53122013-01-07 Colin Watson <cjwatson@ubuntu.com>
5313
5314 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
5315 explicitly zeroing elements.
5316 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
5317 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
5318 of elements in a structure already allocated using grub_zalloc.
5319 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
5320
86065b0a
CW
53212013-01-07 Colin Watson <cjwatson@ubuntu.com>
5322
5323 * docs/grub.texi (grub_cpu): New subsection.
5324 (grub_platform): Likewise.
5325
c6f1e92f
VS
53262013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5327
5328 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
5329
f797ec85
VS
53302013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5331
5332 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
5333 divisions.
5334
033d0b4b
VS
53352013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5336
5337 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
5338 * grub-core/fs/ntfscomp.c: Likewise.
5339 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
5340 (grub_ntfs_comp): Likewise.
5341
21d1b9a0
VS
53422013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
5345 Rename to ...
5346 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
5347 of groups_per_block. All users updated.
5348
10ca8645
VS
53492013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5350
5351 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
5352 grub_error properly.
5353 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
5354 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
5355
a4c3ed4c
VS
53562013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5357
5358 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
5359 always in /boot/zfs.
5360 Reported by: Yuta Satoh.
5361
0b716507
YS
53622013-01-03 Yuta Satoh <nigoro>
5363
5364 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
5365 ${grub_probe}
5366
00c05e22
VS
53672013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5368
5369 * configure.ac: Extend -Wno-trampolines to host.
5370
dadddb76
VS
53712013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5372
5373 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
5374 entry->len = 0.
5375
54ce53ca
CW
53762013-01-03 Colin Watson <cjwatson@ubuntu.com>
5377
5378 * docs/grub.texi (Invoking grub-mkrelpath): New section.
5379 (Invoking grub-script-check): Likewise.
5380
8912efca
CW
53812013-01-03 Colin Watson <cjwatson@ubuntu.com>
5382
5383 * docs/grub.texi (Invoking grub-mount): New section.
5384 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
5385
c3fc8394
CW
53862013-01-02 Colin Watson <cjwatson@ubuntu.com>
5387
5388 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
5389 test failures, so that a failing unit test correctly causes 'make
5390 check' to fail.
5391
45d26abb
CW
53922013-01-02 Colin Watson <cjwatson@ubuntu.com>
5393
5394 Fix failing printf test.
5395
5396 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
5397 '$' in the correct order when collecting type information.
5398
971dd2c6
CW
53992013-01-02 Colin Watson <cjwatson@ubuntu.com>
5400
5401 * docs/grub.texi (configfile): Explain environment variable
5402 handling.
5403 (source): New section.
5404 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
5405
5c67ea6c
CW
54062012-12-31 Colin Watson <cjwatson@ubuntu.com>
5407
5408 Remove several trivially-unnecessary uses of nested functions.
5409
5410 * grub-core/commands/i386/pc/sendkey.c
5411 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
5412 instead of nested.
5413 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
5414 Rename to ...
5415 (legacy_file_getline): ... this.
5416 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
5417 Likewise.
5418 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
5419 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
5420 to ...
5421 (probe_dummy_iter): ... this.
5422 * grub-core/kern/i386/coreboot/mmap.c
5423 (grub_linuxbios_table_iterate: check_signature): Likewise.
5424 * grub-core/kern/parser.c (grub_parser_split_cmdline:
5425 check_varstate): Likewise. Mark inline.
5426 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
5427 an additional parameter.
5428 (find_long: fnd_long): Likewise. Pass two additional parameters.
5429 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
5430 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
5431 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
5432 Likewise. Rename to ...
5433 (grub_cmos_find_port_iter): ... this.
5434 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
5435 Rename to ...
5436 (find_rtc_iter): ... this.
5437
5438 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
5439 function directly into the function body, since it is only called
5440 once.
5441
33a68ac6
CW
54422012-12-30 Colin Watson <cjwatson@ubuntu.com>
5443
5444 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
5445 __attribute__ ((unused)).
5446 * grub-core/video/bochs.c (find_card): Likewise.
5447 * grub-core/video/cirrus.c (find_card): Likewise.
5448 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
5449 * grub-core/video/sis315pro.c (find_card): Likewise.
5450 * grub-core/video/sm712.c (find_card): Likewise.
5451
608b647a
CW
54522012-12-28 Colin Watson <cjwatson@ubuntu.com>
5453
5454 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
5455 Fixes Savannah bug #37821.
5456
fd49ceb3
CW
54572012-12-28 Colin Watson <cjwatson@ubuntu.com>
5458
5459 Apply program name transformations at build-time rather than at
5460 run-time. Fixes Debian bug #696465.
5461
5462 * acinclude.m4 (grub_TRANSFORM): New macro.
5463 * configure.ac: Create output variables with transformed names for
5464 most programs.
5465 * util/bash-completion.d/grub-completion.bash.in: Use
5466 pre-transformed variables for program names.
5467 * util/grub-install.in: Likewise.
5468 * util/grub-kbdcomp.in: Likewise.
5469 * util/grub-mkconfig.in: Likewise.
5470 * util/grub-mkconfig_lib.in: Likewise.
5471 * util/grub-mknetdir.in: Likewise.
5472 * util/grub-mkrescue.in: Likewise.
5473 * util/grub-mkstandalone.in: Likewise.
5474 * util/grub-reboot.in: Likewise.
5475 * util/grub-set-default.in: Likewise.
5476 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5477 * tests/util/grub-shell-tester.in: Remove unused assignment.
5478 * tests/util/grub-shell.in: Likewise.
5479 * util/grub.d/00_header.in: Likewise.
5480
7024b3c0
CW
54812012-12-28 Colin Watson <cjwatson@ubuntu.com>
5482
5483 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
5484
5485 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
5486 HAVE_RAW_DECL_GETS.
5487 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
5488
e3501b13
VS
54892012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
5490
5491 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
5492 Reported by: Eriks Latosheks <foresterlv>.
5493
b40c88a9
VS
54942012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5495
5496 * docs/grub.texi (Network): Update instructions on generating netboot
5497 image.
5498
ce96d01c
VS
54992012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5500
5501 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
5502 around device name if necessarry.
5503
0f596201
PFS
55042012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5505
5506 * util/grub-install.in: Follow the symbolic link parameter added
5507 to the file command.
5508
600d5bdb
AB
55092012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
5510
5511 * util/grub-install.in: Remove stale TODO.
5512
64ebd2f4
PFS
55132012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5514
5515 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
5516 dynamic allocation for the bootpath buffer.
5517
74b2fe3e
DTB
55182012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
5519
5520 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
5521 window too small.
5522
969b804f
VS
55232012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5524
5525 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
5526 argument rather than font name. All users updated.
5527 (grub_gfxterm_set_window): Likewise.
5528
b9f5ebd6
VT
55292012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
5530
5531 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
5532 from working.
5533
258f43b7
VS
55342012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5535
5536 * util/getroot.c (convert_system_partition_to_system_disk): Support
5537 nbd disks.
5538
cc1ce5f9
VS
55392012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5540
5541 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
5542 infinite loop on corrupted FS.
5543
e77a16ca
VS
55442012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
5545
5546 Fix big-endian mtime.
5547
5548 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
5549 together sec and usec.
5550 (grub_ufs_dir): Use correct byteswapping for UFS time.
5551
d9c48c7b
VS
55522012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
5553
5554 Support big-endian UFS1.
5555
5556 * Makefile.util.def (libgrubmods): Add ufs_be.c
5557 * grub-core/Makefile.core.def (ufs1_be): New module.
5558 * grub-core/fs/ufs_be.c: New file.
5559 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
5560 the file.
5561
2f9f40ba
LL
55622012-11-28 Leif Lindholm <leif.lindholm@arm.com>
5563
5564 * include/grub/types.h: Fix functionality unaffecting typo in
5565 GRUB_TARGET_WORDSIZE conditional macro.
5566
48ff0889
PFS
55672012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5568
5569 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
5570
03711240
GS
55712012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
5572
5573 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
5574 that /netbsd appears first (when it exists).
5575
a31b11bd
CJ
55762012-10-12 Christoph Junghans <ottxor@gentoo.org>
5577
5578 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
5579 Fixes Savannah bug #37558.
5580
e8a5d5d4
CW
55812012-10-12 Colin Watson <cjwatson@ubuntu.com>
5582
5583 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
5584 description of extract_entries_configfile.
5585
55862012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
5587
5588 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
5589 preferred_address.
5590 (grub_cmd_linux): Likewise.
5591 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
5592 preferred_lifetime. Update all users.
5593
288c757d
CW
55942012-09-26 Colin Watson <cjwatson@ubuntu.com>
5595
5596 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
5597 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
5598
0d35da3f
CW
55992012-09-26 Colin Watson <cjwatson@ubuntu.com>
5600
5601 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
5602 errors from grub-probe to /dev/null, not stdout.
5603
b78c3127
VS
56042012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
5605
5606 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
5607 sector 1.
5608
473959f0
CW
56092012-09-24 Colin Watson <cjwatson@ubuntu.com>
5610
5611 * util/grub-install.in: Make the error message if $source_dir
5612 doesn't exist more useful.
5613
794c8c33
CW
56142012-09-22 Colin Watson <cjwatson@ubuntu.com>
5615
5616 Fix grub-emu build on FreeBSD.
5617
5618 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
5619 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
5620 headers on Linux.
5621 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
5622 implementation is currently Linux-specific.
5623 * util/getroot.c (exec_pipe): Define only on Linux or when either
5624 libzfs or libnvpair is unavailable.
5625 (find_root_devices_from_poolname): Remove unused path variable.
5626
86d08fdb
CW
56272012-09-19 Colin Watson <cjwatson@ubuntu.com>
5628
5629 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
5630 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
5631 should fit before end == 63.
5632
735abf54
CW
56332012-09-19 Colin Watson <cjwatson@ubuntu.com>
5634
5635 * util/grub-setup.c (write_rootdev): Remove unused core_img
5636 parameter. Update all callers.
5637 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
5638 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
5639 GRUB_SETUP_BIOS.
5640
140acd3c
VS
56412012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5642
5643 * util/grub-mkconfig_lib.in (grub_tab): New variable.
5644 (grub_add_tab): New function.
5645 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
5646 * util/grub.d/10_illumos.in: Likewise.
5647 * util/grub.d/10_kfreebsd.in: Likewise.
5648 * util/grub.d/10_linux.in: Likewise.
5649 * util/grub.d/10_netbsd.in: Likewise.
5650 * util/grub.d/10_windows.in: Likewise.
5651 * util/grub.d/10_xnu.in: Likewise.
5652 * util/grub.d/20_linux_xen.in: Likewise.
5653 * util/grub.d/30_os-prober.in: Likewise.
5654
7ddffdad
VS
56552012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5656
5657 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5658 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
5659 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
5660 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
5661 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
5662 ieee1275-nocursor.
5663 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
5664 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
5665
4e092454
VS
56662012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5667
5668 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
5669 le-conversion.
5670 Reported by: BURETTE, Bernard.
5671
735abf54 56722012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
5673
5674 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
5675 from comment.
5676
dfd39dbd
CW
56772012-09-14 Colin Watson <cjwatson@ubuntu.com>
5678
5679 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
5680 IEEE1275 machines. Fixes powerpc-emu compilation.
5681 * include/grub/terminfo.h: Likewise.
5682
3bfa763c
VS
56832012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
5684
5685 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
5686 a const pointer.
5687 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
5688 const pointer.
5689 (efiemu_set_variable): Make vendor_guid a const pointer.
5690
250e475b
VS
56912012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
5692
5693 Don't require grub-mkconfig_lib to generate manpages for programs.
5694
5695 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
5696 dependencies, don't add grub-mkconfig_lib.
5697 (program): Pass empty adddeps.
5698 (script): Pass grub-mkconfig_lib as adddeps.
5699
592fd0e4
VS
57002012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
5701
5702 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
5703 * util/getroot.c (grub_find_device): Likewise.
5704 (get_mdadm_uuid): Likewise.
5705 (grub_util_is_imsm): Likewise.
5706 (grub_util_pull_device): Likewise.
5707 * util/grub-probe.c (probe): Likewise.
5708
801a3027
BG
57092012-09-10 Benoit Gschwind <gschwind>
5710
5711 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
5712 (devs): Add devpath_8.
5713
c5052c81
PJ
57142012-09-08 Peter Jones <pjones@redhat.com>
5715
5716 * grub-core/Makefile.core.def (efifwsetup): New module.
5717 * grub-core/commands/efi/efifwsetup.c: New file.
5718 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
5719 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
5720 New define.
5721 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
5722
8e832f71
JS
57232012-09-05 Jiri Slaby <jslaby@suse.cz>
5724
5725 * configure.ac: Add SuSe path.
5726
f0f55752
CW
57272012-09-05 Colin Watson <cjwatson@ubuntu.com>
5728
5729 * NEWS: Fix typo.
5730
ecadc4c2
CW
57312012-09-05 Colin Watson <cjwatson@ubuntu.com>
5732
5733 * util/import_gcry.py: Sort cipher_files, to make build system
5734 generation more deterministic.
5735
64498f25
VS
57362012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5737
5738 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
5739 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
5740 (grub_set_datetime): Likewise.
5741
9cc836a2
VS
57422012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5743
5744 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
5745 warnings.
5746
bcfcea01
VS
57472012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5748
5749 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
5750
a4099485
VS
57512012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5752
5753 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
5754
265c162a
CW
57552012-09-04 Colin Watson <cjwatson@ubuntu.com>
5756
5757 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
5758 required for checkouts from bzr, but it may be useful for users or
5759 distributors wishing to update translations against a tarball
5760 distribution, and it can be helpful for the tarball to be a superset
5761 of what's in bzr.
5762
3d171e95
CW
57632012-09-04 Colin Watson <cjwatson@ubuntu.com>
5764
5765 * Makefile.am (EXTRA_DIST): Add
5766 grub-core/tests/boot/linux.init-mips.S,
5767 grub-core/tests/boot/linux.init-ppc.S, and
5768 grub-core/tests/boot/linux-ppc.cfg.
5769
f2c2503e
CW
57702012-09-04 Colin Watson <cjwatson@ubuntu.com>
5771
5772 * grub-core/mmap/mips/loongson: Remove empty directory.
5773
57742012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
5775
5776 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
5777 gone.
5778
ab2163d5
CW
57792012-09-04 Colin Watson <cjwatson@ubuntu.com>
5780
5781 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
5782 grub-sparc64-setup.
5783
ce938140
GS
57842012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
5785
5786 * configure.ac: Strengthen the test for working -nostdinc -isystem.
5787
529f58a5
GS
57882012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
5789
5790 * po/POTFILES.in: Regenerated.
5791
16cf79e9
GS
57922012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
5793
5794 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
5795 (NetBSD): New subsection.
5796
39b27f1e 57972012-07-22 Ales Nesrsta <starous@volny.cz>
5798
5799 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
5800 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
5801
a885261b
VS
58022012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5803
5804 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
5805 * util/grub.d/10_hurd.in: Add missing quoting.
5806 * util/grub.d/10_illumos.in: Likewise.
5807 * util/grub.d/10_kfreebsd.in: Likewise.
5808 * util/grub.d/10_linux.in: Likewise.
5809 * util/grub.d/20_linux_xen.in: Likewise.
5810
7bd29c01
VS
58112012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5812
5813 New command `lsefi'.
5814
5815 * grub-core/Makefile.core.def (lsefi): New module.
5816 * grub-core/commands/efi/lsefi.c: New file.
5817 * include/grub/efi/api.h: Add more GUIDs.
5818
ac625d8f
VS
58192012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5820
5821 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
5822 (grub_bsd_elf32_hook): Likewise.
5823 (grub_bsd_elf64_size_hook): Likewise.
5824 (grub_bsd_elf64_hook): Likewise.
5825 (grub_bsd_load_elf): Likewise.
5826
e73bb801
VS
58272012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5828
5829 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
5830 if hash function is unavailable.
5831 (dec_stream_header): Likewise.
5832
e81db8b5
VS
58332012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5834
5835 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
5836 filter state.
5837
d187a1c3
VS
58382012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5839
5840 Fix coreboot compilation.
5841
5842 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
5843 (grub_vga_text_init_real): ... this.
5844 (grub_vga_text_fini): Rename to ...
5845 (grub_vga_text_fini_real): ... this.
5846
91a05f64
VS
58472012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
5850
6af96df7
VS
58512012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5852
5853 * grub-core/lib/legacy_parse.c: Support clear and testload.
5854
4d569e12
VS
58552012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5856
5857 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
5858
073b57bb
VS
58592012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5860
5861 * grub-core/fs/ext2.c: Experimental support for 64-bit.
5862
a706f4cc
VS
58632012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5864
5865 * grub-core/net/tftp.c (ack): Fix endianness problem.
5866 (tftp_receive): Likewise.
5867 Reported by: Michael Davidsaver.
5868
e7850aa9
VS
58692012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5870
5871 * gentpl.py: Make mans depend on grub-mkconfig_lib.
5872
58732012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5874
5875 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
5876 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
5877 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
5878
35692881
VS
58792012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5880
5881 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
5882 efi_mmap_size.
5883 Reported by: Stuart Hayes.
5884
c35fc5bd
VS
58852012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
5886
5887 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
5888
5889 * grub-core/Makefile.core.def (mda_text): New module.
5890 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
5891 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
5892 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
5893 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
5894 here.
5895 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
5896 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
5897 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
5898 here.
5899 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
5900 to ..
5901 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
5902 ... here
5903 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
5904 here.
5905 * grub-core/term/i386/vga_common.c: Removed.
5906 * include/grub/i386/vga_common.h: Likewise.
5907 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
5908 (grub_vga_cr_bw_read): Likewise.
5909 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
5910 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
5911 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
5912 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
5913 grub_vga_cr_read/grub_vga_cr_write.
5914 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
5915
5f91f701
VS
59162012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5917
5918 * configure.ac: Bump version to 2.00.
5919 * grub-core/normal/main.c (features): Add feature_200_final.
5920
0c4f85f6
VS
59212012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
59222012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
5923
5924 * NEWS: Fix unclarity and language mistakes.
5925
f923ad22
VS
59262012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5927
5928 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
5929 additional size to 3 pages.
5930 Reported by: Stuart Hayes.
5931
d22029ba
VS
59322012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5933
5934 * NEWS: Add 2.00 entry.
5935
58eee08f
VS
59362012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5937
5938 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
5939 put explicit "/" for empty path.
5940 (wildcard_expand): Improve dprintf.
5941
c59bdff7
VS
59422012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5943
5944 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
5945 it's equal to currnode. This can happen with "" symlink.
5946
5e6a440a
YB
59472012-06-27 Yves Blusseau <blusseau@zetam.org>
5948
5949 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
5950 echo shell command by printf command.
5951
73a68bcb
VS
59522012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5953
5954 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
5955 the value returned by firmware is the maximal position, not diumension.
5956 (grub_terminfo_output_state): Use a more sane fallback.
5957
392a603b
VS
59582012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5959
5960 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
5961
42d0867f
VS
59622012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5963
5964 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
5965 frequency to 150 MHz.
5966
489509f4
VS
59672012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5968
5969 Apple fixes.
5970
5971 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
5972 __APPLE_
5973 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
5974 definition.
5975 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
5976
9f3fc883
VS
59772012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5978
5979 Handle slash in HFS label.
5980
5981 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
5982 (grub_hfs_dir): Tanslate slash.
5983 (grub_hfs_label): Don't translate slash.
5984
54853fd7
VS
59852012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5986
5987 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
5988 network protocol listing since it introduces problematic dependency on
5989 net module.
5990
4dc02ddf
VS
59912012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5992
5993 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
5994
c50c867d
VS
59952012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5996
5997 Init video early on yeeloong to avoid being rebooted by watchdog.
5998
5999 * grub-core/Makefile.am (gensm712): New target.
6000 (sm712_start.S): Likewise.
6001 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
6002 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
6003 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
6004 description.
6005 * include/grub/vga.h: Move registry definitions to...
6006 * include/grub/vgaregs.h: ... here.
6007
5f92c8a1
VS
60082012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6009
6010 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
6011 signedness.
6012
e9e6f111
VS
60132012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6014
6015 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
6016 platforms with firmware disk drivers in the core.
6017
754ad9eb
VS
60182012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6019
6020 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
6021 informative verbose message.
6022 (read_lv): Handle 64-bit segment size.
6023
315654c2
VS
60242012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6025
6026 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
6027
fb022c79
VS
60282012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6029
6030 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
6031 character but still remove trainling spaces.
6032 (grub_fat_label): Ignore archive flag.
6033
8645f72c
VS
60342012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6035
6036 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
6037 cast between linux_kernel_header and linux_kernel_params.
6038
36498496
VS
60392012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6040
6041 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
6042 type for size.
6043 (grub_raid6_recover_func_t): Likewise.
6044 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
6045 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
6046
0b5ea6b8
VS
60472012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6048
6049 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
6050
650cfcfe
GS
60512012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
6052
6053 Fix overflow.
6054
6055 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
6056 [__NetBSD__]: Add explicit cast before bitshift.
6057
8a4d6a44
VS
60582012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6059
6060 * configure.ac: Bump to 2.00~rc1.
6061
2fb97ed3
VS
60622012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6063
6064 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
6065 half of $a0.
6066
1fa097dc
VS
60672012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
60682012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
6069
6070 * docs/grub.texi: Fix search syntax.
6071 (Multi-boot manual config): Put msdos rather than GPT example.
6072 Grammar corrections.
6073
c890ba78
VS
60742012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6075
6076 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
6077
0f92dca7
VS
60782012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6079
6080 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
6081
3988c4a0
VS
60822012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6083
6084 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
6085 message on double free. Put the value of magic in case of mismatch.
6086
9e86d4c5
VS
60872012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6088
6089 Speed-up video on yeeloong.
6090
6091 * grub-core/video/sm712.c (framebuffer): Remove render_target and
6092 add cached_ptr.
6093 (grub_video_sm712_video_fini): Unmap cached_ptr.
6094 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
6095 (grub_video_sm712_set_active_render_target): Removed.
6096 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
6097 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
6098 sync caches.
6099
ed24c312
VS
61002012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6101
6102 Avoid flushing the same line multiple times on loongson.
6103
6104 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
6105 Step in 32 bytes and not 1 byte.
6106 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
6107 Likewise.
6108
d1718e7d
VS
61092012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6110
6111 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
6112 subvolumes.
6113
982f1909
VS
61142012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6115
6116 Implement flow control for http.
6117
6118 * grub-core/net/http.c (parse_line): Handle response 206.
6119 (http_receive): Stall if too many packets are in the queue.
6120 (http_establish): Fix range header.
6121 (http_seek): Fix double free.
6122 (http_close): Likewise.
6123 (http_packets_pulled): New function.
6124 (grub_http_protocol): Set http_seek
6125 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
6126 (ack_real): Set window depending on i_stall.
6127 (grub_net_send_tcp_packet): Likewise.
6128 (grub_net_tcp_stall): New function.
6129 (grub_net_tcp_unstall): Likewise.
6130 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
6131 (grub_net_tcp_unstall): Likewise.
6132
bd407d6e
VS
61332012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6134
6135 * grub-core/net/tftp.c: Decrease stall to 50 packets.
6136
c7564b8e
VS
61372012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6138
6139 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
6140
a3706162
VS
61412012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6142
6143 * tests/util/grub-shell.in: Fix a typo.
6144
b27069e0
VS
61452012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6146
6147 Implement flow control for tftp.
6148
6149 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
6150 packets but stop only if stop condition is satisfied.
6151 (grub_net_fs_read_real): Call packets_pulled after real read. Use
6152 `stall' instead of `eof' as stop condition.
6153 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
6154 (http_err): Likewise.
6155 * grub-core/net/tftp.c (ack): Replace the first argument with data
6156 instead of socket.
6157 (tftp_receive): Stall if too many packets are in wait queue.
6158 (tftp_packets_pulled): New function.
6159 (grub_tftp_protocol): Set packets_pulled.
6160 * include/grub/net.h (grub_net_packets): New field count.
6161 (grub_net_put_packet): Increment count.
6162 (grub_net_remove_packet): Likewise.
6163 (grub_net_app_protocol): New field `packets_pulled'.
6164 (grub_net): New field `stall'.
6165
6b9cfac6
VS
61662012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6167
6168 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
6169 sync part to handle them.
6170
f35abd81
VS
61712012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6172
6173 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
6174 * grub-core/net/drivers/ieee1275/ofnet.c
6175 (grub_ieee1275_net_config_real): Likewise.
6176
0e7ec820
VS
61772012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6178
6179 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
6180 the direct route for server/gateway.
6181
9d611a31
VS
61822012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6183
6184 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
6185 IP address to server name since we may not hame the DNS.
6186
418f45ab
VS
61872012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6188
6189 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
6190 freeing random buffer on failure.
6191 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
6192
44a0efc1
VS
61932012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6194
6195 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
6196
531e2241
VS
61972012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6198
6199 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
6200 reserved bytes.
6201 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
6202 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
6203 Handle malloc error correctly.
6204
cde393c9
VS
62052012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6206
6207 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
6208 blocks.
6209
538478d0
VS
62102012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6211
6212 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
6213 increment.
6214
9b55efe0
VS
62152012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6216
6217 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
6218 none is explicitly specified.
6219
9eb832c3
VS
62202012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6221
6222 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
6223 while reallocating.
6224
d6b7c7c9
VS
62252012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6226
6227 Respect netmask from bootp/dhcp.
6228
6229 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
6230 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
6231 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
6232 into ...
6233 (grub_net_add_ipv4_local): ... this.
6234 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
6235 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
6236 (grub_net_add_ipv4_local): New proto.
6237
67caf9eb
VS
62382012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6239
6240 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
6241 determining EFI memory map size.
6242
43657558
VS
62432012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6244
6245 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
6246
eb6d0dd3
VS
62472012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6248
6249 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
6250 when looking for partition separator.
6251
31230544
VS
62522012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6253
6254 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6255 Escape commas.
6256
918a2517
VS
62572012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6258
6259 Restructure FAT driver to avoid hook in label reading as it hits a
6260 GCC bug.
6261
6262 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
6263 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
6264 (grub_fat_iterate_dir): Split into ...
6265 (grub_fat_iterate_init): ... this, ...
6266 (grub_fat_iterate_fini): ... this, ...
6267 (grub_fat_iterate_dir_next): ... and this. All users updated.
6268
9f1d654e
VS
62692012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6270
6271 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6272 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
6273 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6274 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
6275 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
6276 New fields last_key and last_key_time.
6277 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
6278 extended key-esc into extended key-extended key.
6279
52f0f643
VS
62802012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6281
6282 Avoid unnecessary memcpy of whole video buffer.
6283
6284 * grub-core/video/fb/video_fb.c (dirty): New struct.
6285 (framebuffer): Add members current_dirty and previous_dirty.
6286 (dirty): New function.
6287 (grub_video_fb_fill_rect): Update dirty.
6288 (common_blitter): Likewise.
6289 (grub_video_fb_scroll): Likewise.
6290 (doublebuf_blit_update_screen): Copy only dirty part.
6291 (doublebuf_pageflipping_update_screen): Likewise.
6292 (grub_video_fb_doublebuf_blit_init): Init dirty.
6293 (doublebuf_pageflipping_init): Likewise.
6294 (grub_video_fb_setup): Likewise.
6295
e169a180
VS
62962012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6297
6298 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
6299 poll rate.
6300
48556879
VS
63012012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6302
6303 Fix wildcard regexp dot and other special characters handling.
6304 Reported by: Robert Mabee.
6305
6306 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
6307 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
6308 (split_path): Trigger expansion on '?'.
6309 (unescape): New function.
6310 (wildcard_expand): Unescape parts copied without globbing.
6311 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
6312 (grub_script_arglist_to_argv): Don't unescape expansions.
6313
0494408e
VS
63142012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6315
6316 * include/grub/net.h (grub_net_card): New member txbufsize.
6317 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
6318 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
6319 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
6320 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
6321 txbufsize.
6322 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
6323 compatible property to check for macs. Set
6324 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
6325 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
6326 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
6327 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
6328 (send_card_buffer): Use txbuf.
6329 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
6330 nested function out of the parent while on it.
6331
cc35fe8f
VS
63322012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6333
6334 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
6335 presence check.
6336 (grub_ieee1275_net_config_real): Fix config pointer.
6337
970a0a09
VS
63382012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6339
6340 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
6341 filename parsing to non-block devices.
6342
3e19bf87
VS
63432012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6344
6345 * grub-core/kern/device.c (grub_device_open): Remove dead code.
6346
c62d1a0c
VS
63472012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6348
6349 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
6350 All users updated.
6351
ef76bec3
VS
63522012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6353
6354 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
6355 UUID search command even if hints probing failed.
6356
63572012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
6358
6359 * po/POTFILES.in: Regenerated.
6360
70aaf305
VS
63612012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
6362
6363 Speed-up video on fuloong.
6364
6365 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
6366 New function.
6367 (grub_pci_device_unmap_range): Handle non-cached address.
6368 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
6369 add direct_ptr.
6370 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
6371 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
6372 (grub_video_sis315pro_set_active_render_target): Removed.
6373 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
6374 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
6375 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
6376 sync caches.
6377 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
6378 New proto.
6379
10400f0b
VS
63802012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6381
6382 * docs/grub.texi (Multi-boot manual config): New section.
6383
ba67e2c6
VS
63842012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6385
6386 Avoid slow read-back from VRAM.
6387
6388 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
6389 Move from here ...
6390 * grub-core/video/fb/video_fb.c
6391 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
6392 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
6393 (front_target): Remove front_target. Add pages.
6394 (grub_video_fb_init): Skip setting front_pages.
6395 (grub_video_fb_fini): Likewise.
6396 (doublebuf_blit_update_screen): Use pages.
6397 (grub_video_fb_doublebuf_blit_init): Likewise.
6398 (doublebuf_pageflipping_init): Allocate offscreen buffer.
6399 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
6400 (grub_video_fb_setup): Prefer doublebuffing.
6401
377c98cb
VS
64022012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6403
6404 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
6405 gzio.
6406
eac49cff
VS
64072012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6408
6409 Add loongson tests.
6410
6411 * tests/util/grub-shell.in: Handle loongson.
6412 * tests/partmap_test.in: Add loongson to the list of platform using ATA
6413 drivers.
6414 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
6415 Reboot instead of shutdown if REBOOT is defined.
6416
0321415e
VS
64172012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6418
6419 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
6420 sized ports since unlike on real hardware qemu supports only 32-bit
6421 regs.
6422
3f2bdd8f
VS
64232012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6424
6425 * Makefile.util.def (grub-mkrescue): Enable on loongson.
6426 * util/grub-mkrescue.in: Handle loongson.
6427
29a049c9
VS
64282012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
6429
6430 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
6431 Set is_part appropriately.
6432 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
6433 names. Canonicalize partition without full disk.
6434
4abde346
VS
64352012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6436
6437 Revert usb-quiesce since it's wrong.
6438
6439 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
6440 (grub_ofdisk_init): Don't do quiesce.
6441
61f1d93b
VS
64422012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6443
6444 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
6445 PowerMac workaround to Xserves as well.
6446 Information supplied by: Benjamin Herrenschmidt.
6447
a09eb541
VS
64482012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6449
6450 Don't assume that beginning address is also the entry point on ppc.
6451
6452 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
6453 (grub_linux_boot): Use linux_entry.
6454 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
6455 (grub_linux_load64): Likewise.
6456
505b3c9b
VS
64572012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6458
6459 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
6460
cbe0b4ef
VS
64612012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6462
6463 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
6464 needlessly lose the console.
6465
3006e981
VS
64662012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6467
6468 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
6469 space.
6470
4e5a96b0
VS
64712012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
6472
7da036bb
VS
6473 Remove non-functional EFI grub_get_rtc. Put a better fatal message
6474 than current grub_get_rtc() not implemented when booted with
6475 coreboot without TSC.
6476
6477 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
6478 Add machine/time.h to kernel headers on loongson.
6479 * grub-core/Makefile.core.def (kernel): Remove
6480 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
6481 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
6482 (grub_get_rtc): Likewise.
6483 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
6484 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
6485 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
6486 * grub-core/kern/i386/tsc.c (grub_tsc_init)
6487 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
6488 rather than installing known non-working time source.
6489 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
6490 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
6491 * include/grub/time.h: Don't include machine/time.h.
6492 * include/grub/efi/time.h: Removed.
6493 * include/grub/i386/efi/time.h: Likewise.
6494 * include/grub/i386/ieee1275/time.h: Likewise.
6495 * include/grub/powerpc/ieee1275/time.h: Likewise.
6496 * include/grub/sparc64/ieee1275/time.h: Likewise.
6497 * include/grub/x86_64/efi/time.h: Likewise.
6498
64992012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
6500
6501 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
6502
6503 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
6504 value.
6505 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
6506 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
6507 with dotless variants when any combining above is present.
6508
5561c22d
VS
65092012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6510
6511 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
6512 text and not binary.
6513
96f7e60e
VS
65142012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6515
6516 Stop polling as soon as we have the packet we were waiting for.
6517
6518 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
6519 All users updated.
6520 * grub-core/net/arp.c (have_pending): New var.
6521 (pending_req): Likewise.
6522 (grub_net_arp_send_request): Fill pending_req and use have_pending as
6523 stop indicator.
6524 (grub_net_arp_receive): Set have_pending.
6525 * grub-core/net/dns.c (recv_data): New field stop.
6526 (recv_hook): Set stop.
6527 (grub_net_dns_lookup): Init stop and use as stop condition.
6528 * grub-core/net/http.c (http_establish): Use headers_recv as stop
6529 condition.
6530 * grub-core/net/net.c (grub_net_poll_cards): New argument
6531 stop_condition. Stop when it goes true.
6532 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
6533 indicator.
6534 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
6535
3e747239
VS
65362012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6537
6538 Keep TX and RX buffers on EFI rather than always allocate new ones.
6539
6540 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
6541 card. All users updated.
6542 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
6543 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
6544 (get_card_packet): Likewise.
6545 (grub_efinet_findcards): Init new fields.
6546
f695e99a
VS
65472012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6548
6549 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
6550 compilation error on sparc64.
6551
9e5e66d1
VS
65522012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6553
6554 Use ITC on IA64 rather than broken routine based on daytime.
6555
6556 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
6557 ia64.
6558 (grub_get_rtc) [__ia64__]: Likewise.
6559 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
6560 (get_itc): New function.
6561 (grub_rtc_get_time_ms): Likewise.
6562 (grub_machine_init): Calibrate ITC.
6563 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
6564 Keep only on non-ia64. Don't export since it's broken and used only
6565 if TSC is unavailable.
6566
a1767404
VS
65672012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6568
6569 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
6570 even if it's used.
6571 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
6572 Skip if parent is unused.
6573
34b2bced
VS
65742012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6575
6576 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
6577
5e619f40
VS
65782012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 Fix wildcard escaping.
6581
6582 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
6583 * grub-core/script/execute.c (wildcard_escape): .. to here.
6584 Don't escape dot.
6585 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
6586 * grub-core/script/execute.c (wildcard_unescape): .. to here.
6587 Don't escape dot.
6588 * grub-core/script/execute.c (gettext_append): Always escape.
6589 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
6590 * grub-core/script/yylex.l: Don't cut away the escaping.
6591 * tests/grub_script_echo1.in: Add tests with wildcard.
6592
c8ca5855
VS
65932012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6594
6595 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
6596 (ftdi_hw_configure): Likewise.
6597 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
6598 define.
6599 (real_config): Handle 1.5 stop bits.
6600 (pl2303_hw_configure): Likewise.
6601
7183452c
VS
66022012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6603
6604 * Makefile.am: Add ppc linux bootcheck.
6605 * grub-core/tests/boot/linux-ppc.cfg: New file.
6606 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
6607
f57c84cd
VS
66082012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6609
6610 * tests/grub_script_expansion.in: Skip network protocols.
6611
ecfc6207
VS
66122012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6613
6614 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
6615
8d03d284
VS
66162012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6617
6618 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
6619 --rom-directory.
6620 Add -graft-points.
6621
61c42af0
VS
66222012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6623
6624 ESCC serial driver for conducting sautomated tests in qemu.
6625 Not tested on real hardware.
6626
6627 * include/grub/serial.h (grub_serial_port): New field escc_desc.
6628 * grub-core/term/ieee1275/escc.c: New file.
6629 * grub-core/Makefile.core.def (escc): New module.
6630
08fd1291
VS
66312012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6632
6633 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
6634 invalid on error.
6635 (serial_hw_fetch): Don't read invalid handle.
6636 (serial_hw_put): Don't write into invalid handle.
6637
08dafeea
VS
66382012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6639
6640 Add a 1.5 stop bits value.
6641
6642 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
6643 * include/grub/serial.h (grub_serial_stop_bits_t): Add
6644 GRUB_SERIAL_STOP_BITS_1_5.
6645
9068fdcf
VS
66462012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6647
6648 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
6649 value rather than let it uninited.
6650
f4d5820f
VS
66512012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6652
6653 * grub-core/commands/wildcard.c (+check_file): New function.
6654 (wildcard_expand): Don't expand to non-existing files, expand with
6655 suffix and not attempt to expand if not needed.
6656
3d2de9a7
VS
66572012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6658
6659 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
6660 out of partitions containing other partitions.
6661
c5c81ff9
VS
66622012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6663
6664 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
6665 on some qemu versions with GRUB.
6666
6667 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
6668 define.
6669 (grub_openbsd_bootarg_pcibios): New struct.
6670 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
6671 Add PCIINFO.
6672
08a14e0b
VS
66732012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6674
6675 * tests/util/grub-shell.in: Trim firmware output on EFI.
6676
cede3ca3
VS
66772012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6678
6679 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
6680 and coreboot since it's already in kernel.
6681
558d3a60
VS
66822012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6683
6684 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
6685 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
6686 to here. New return value start. All users updated.
6687 Recursively scan linear mappings.
6688 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
6689 proto.
6690 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
6691 Use grub_util_get_dm_node_linear_info.
6692 * util/getroot.c (convert_system_partition_to_system_disk): Use
6693 grub_util_info rather than grub_dprintf.
6694 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
6695
60fde14d
VS
66962012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6697
6698 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
6699
6700 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
6701 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
6702
24bd8838
VS
67032012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6704
6705 * include/grub/types.h (grub_set_unaligned64): New function.
6706 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
6707 (setup): Likewise.
6708
7bc06a49
VS
67092012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6710
6711 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
6712 (grub_ofdisk_fini): Quiesce USB devices.
6713
49cea015
VS
67142012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6715
6716 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
6717 caches.
6718
8dcbe03b
VS
67192012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6720
6721 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
6722
5b258735
VS
67232012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6724
6725 * grub-core/disk/pata.c (grub_pata_pio_read)
6726 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
6727 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
6728
37ba07eb
VS
67292012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6730
6731 Extend automated tests to qemu-mips.
6732
6733 * Makefile.am: reorganise tests and enable qemu-mips.
6734 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
6735 * grub-core/tests/boot/linux.init-mips.S: New file.
6736 * tests/partmap_test.in: Handle ata0 disks.
6737 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
6738 non-pc i386.
6739
070038f8
VS
67402012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6741
6742 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
6743 ia64.
6744 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
6745 quotes while on it.
6746
004be2cd
VS
67472012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6748
6749 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
6750 (grub_halt): Likewise.
6751 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
6752
b1622487
VS
67532012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6754
6755 * grub-core/term/serial.c (grub_serial_register)
6756 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
6757 the behaviour in line with x86 platforms.
6758
b7b4ab33
VS
67592012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6760
6761 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
6762 (grub_ata_strncpy): Likewise.
6763 (grub_ata_identify): Add missing byteswaps.
6764
5e3535ae
VS
67652012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6766
6767 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
6768 byte-swap.
6769 (screen_read_char): Likewise.
6770 (grub_vga_text_cls): Likewise.
6771
c21b17e6
VS
67722012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6773
6774 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
6775 filenames.
6776 (make_file_path): Likewise.
6777
bf293dec
VS
67782012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6779
6780 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
6781 machines.
6782 Tested by: Paulo Flabiano Smorigo.
6783 Crucial information about API supplied by: Coleen <Last name unknown>.
6784 Reviewed by: Coleen <Last name unknown>.
6785
81f6ef0e
VS
67862012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6787
6788 * util/grub-mkimage.c: Disable -Wcast-align.
6789
7284143a
VS
67902012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6791
6792 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
6793 as they are fatal.
6794
b99f3e00
VS
67952012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6796
6797 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
6798
944f752d
VS
67992012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6800
6801 * util/grub-probe.c (escape_of_path): Fix double free.
6802
6cce6f38
VS
68032012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6804
6805 * grub-core/commands/videoinfo.c (hook): Show pitch.
6806
1e1eb50e
VS
68072012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6808
6809 * util/grub.d/20_linux_xen.in: Skip xen-syms.
6810
1c715b5a
VS
68112012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6812
6813 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
6814 (probe): Add ieee1275 to OFW devices.
6815
007ae52d
VS
68162012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6817
6818 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
6819
4557a36d
VS
68202012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6821
6822 Handle IBM OFW path.
6823
6824 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
6825 available.
6826 (of_path_of_scsi): Handle vdevice.
6827
efbeefe9
VS
68282012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
6829
6830 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
6831 Allocate in multiples of 16 to avoid adding a few bytes free region the
6832 windows bugs upon.
6833
15a940bb
VS
68342012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
6835
6836 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
6837 Allocate in multiples of 16 to avoid adding a few bytes free region the
6838 windows bugs upon.
6839 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
6840
6e5efd60
VS
68412012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6842
6843 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
6844 resolutions.
6845 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
6846 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
6847
0d3d137e
IS
68482012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
6849
6850 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
6851
45dbe300
VS
68522012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6853
6854 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
6855 resulted in \\ at the end of the line.
6856
6d8db947
VS
68572012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6858
6859 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
6860 (grub_parser_cmdline_state): Likewise.
6861 (grub_parser_split_cmdline): Likewise.
6862
de89d338
VS
68632012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6864
6865 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
6866 /dev/root and /dev/dm-*.
6867
00d41dee
VS
68682012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6869
6870 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
6871 fix partially stale display.
6872
f95d1f11
VS
68732012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6874
6875 * grub-core/normal/menu_entry.c (backward_char): Use right line for
6876 substraction.
6877
6297e197
VS
68782012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6879
6880 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
6881 Fix MBR remapping workaround.
6882 (grub_util_biosdisk_read) [__linux__]: Likewise.
6883
8a7ecad3
VS
68842012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
6885
6886 * util/grub-install.in: Check for ieee1275 and not ieee1276.
6887
2b34f944
VS
68882012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6889
6890 * configure.ac: Bump to beta6.
6891
684aef11
CW
68922012-05-31 Christer Weinigel <christer@weinigel.se>
6893
6894 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
6895
05b0bb91
VS
68962012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6897
6898 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
6899 (grub_cmd_linux): Likewise.
6900
bda36bfa
CW
69012012-05-31 Christer Weinigel <christer@weinigel.se>
6902
6903 Fix EHCI low-speed.
6904
6905 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
6906 (GRUB_EHCI_MULT_TWO): Likewise.
6907 (GRUB_EHCI_MULT_THREE): Likewise.
6908 (GRUB_EHCI_CMASK_MASK): New enum value.
6909 (GRUB_EHCI_SMASK_MASK): Likewise.
6910 (GRUB_EHCI_CMASK_OFF): Likewise.
6911 (GRUB_EHCI_SMASK_OFF): Likewise.
6912 (grub_ehci_pci_iter): Enable periodic schedule.
6913 (grub_ehci_parse_notrun): Likewise.
6914 (grub_ehci_restore_hw): Likewise.
6915 (grub_ehci_setup_qh): Set flags for low speed transfers.
6916 (grub_ehci_find_qh): Use periodic list for low speed.
6917 (grub_ehci_setup_transfer): Check periodic queue as well.
6918 (grub_ehci_check_transfer): Likewise.
6919 (grub_ehci_cancel_transfer): Cancel periodic transfer.
6920
e12bcb1c
PFS
69212012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6922
6923 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
6924 parameter is used.
6925
bcc75fb3
PJ
69262012-05-31 Peter Jones <pjones@redhat.com>
6927
6928 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
6929 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
6930 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
6931
f19cb95e
VS
69322012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6933
6934 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
6935 uninited variable. Allocate at least setup_sects.
6936
a4e5ca80
VS
69372012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6938
6939 Fix handling of EFI with big memory maps.
6940
6941 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
6942 (real_mode_mem): Likewise.
6943 (real_mode_target): Likewise.
6944 (real_mode_pages): Likewise.
6945 (prot_mode_pages): Likewise.
6946 (linux_params): New var.
6947 (linux_cmdline): Likewise.
6948 (free_pages): Don't set real mode variables.
6949 (allocate_pages): Don't allocate real mode memory.
6950 (grub_e820_add_region): Remove the limit.
6951 (grub_linux_boot): Allocate and copy real mode memory.
6952 (grub_linux_unload): Free linux_cmdline.
6953 (grub_cmd_linux): Use temporary storage for parameters.
6954 (grub_cmd_initrd): Likewise.
6955 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
6956 (linux_kernel_params): Make it 1K big.
6957
ddb73558
VS
69582012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6959
6960 * Makefile.util.def: Remove -Wno-format.
6961 * grub-core/Makefile.core.def: Likewise.
6962
1c4afb60
VS
69632012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6964
6965 * tests/cmp_unit_test.c: Add missing failure message.
6966 * tests/example_unit_test.c: Likewise.
6967 * tests/printf_unit_test.c: Likewise.
6968
941e3a6d
VS
69692012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6970
6971 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
6972 relaxation of protective MBR requirements.
6973
b105df76
VS
69742012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
6975
6976 * configure.ac: Add condition for COND_HOST_XNU.
6977 * Makefile.util.def (10_xnu): New script.
6978 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
6979
84e1569e
VS
69802012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
6981
6982 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
6983 objconv bug.
6984
130c0f77
VS
69852012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
6986
6987 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
6988 Binary on other platforms stays identical.
6989
6fd0b143
VS
69902012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6991
6992 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
6993 Apple.
6994
0af1751d
VS
69952012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6996
6997 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
6998
176d5f7d
VS
69992012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7000
7001 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
7002 rather than defining size_t ourselves to avoid conflict.
7003
7de5e20a
VS
70042012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7005
7006 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
7007 initialisation to avoid __bzero reference.
7008
f7143efe
VS
70092012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7010
7011 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
7012 version.
7013 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
7014 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
7015 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
7016 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
7017 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
7018
e6ad0555
VS
70192012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7020
7021 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
7022 * grub-core/kern/misc.c: Likewise.
7023 * grub-core/loader/i386/xnu.c: Likewise.
7024 * include/grub/i386/tsc.h: Likewise.
7025 * include/grub/symbol.h: Likewise.
7026
4a5a3c4a
VS
70272012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7028
7029 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
7030 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
7031 on older compiler.
7032
037f6d90
VS
70332012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7034
7035 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
7036 Implement Apple flavour.
7037 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
7038
f7194551
VS
70392012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7040
7041 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
7042 (memmove) [__APPLE__]: Likewise.
7043 (memcpy) [__APPLE__]: Likewise.
7044 (memset) [__APPLE__]: Likewise.
7045 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
7046 (memmove) [__APPLE__]: Likewise.
7047 (memcpy) [__APPLE__]: Likewise.
7048 (memset) [__APPLE__]: Likewise.
7049
85a730ca
VS
70502012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7051
7052 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
7053 dependency discard.
7054
40e80b94
VS
70552012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7056
7057 * grub-core/normal/main.c (read_config_file): Provide config_file and
7058 config_directory.
7059 * util/grub.d/41_custom.in: Use config_directoy when available.
7060
9da59c32
VS
70612012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7062
7063 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
7064 (grub_bfs_dir): Likewise.
7065
2787ae53
PJ
70662012-05-27 Peter Jones <pjones@redhat.com>
7067
7068 The old code gives arguments to a printf function which can't work
7069 correctly, and the compiler complains.
7070
7071 * grub-core/tests/example_functional_test.c (example_test): Add
7072 missing text.
7073 * grub-core/tests/lib/test.c (add_failure): Rewrite.
7074 * include/grub/test.h (grub_test_assert_helper): New declaration.
7075 (grub_test_assert): Use grub_test_assert_helper.
7076
526ef13d
VS
70772012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7078
7079 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
7080 (exfctest): ... this to avoid overlong filenames.
7081 All users updated.
7082
20dd511c
VS
70832012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7084
7085 Handle "." and ".." on squashfs.
7086
7087 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
7088 Make inode numbers into stack.
7089 (grub_squash_read_symlink): Use stack.
7090 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
7091 (make_root_node): Fill stack.
7092 (grub_squash_open): Use stack.
7093
1d80c62a
VS
70942012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7095
7096 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
7097 freeing.
7098
d336f652
VS
70992012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7100
7101 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
7102 stderr on test calls.
7103
8b43f587
VS
71042012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7105
7106 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
7107
80a3dc3f
VS
71082012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7109
7110 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
7111
47e297d4
VS
71122012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
7115 "..".
7116
df042ccb
VS
71172012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7118
7119 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
7120 (grub_hfsplus_iterate_dir): Add "." and "..".
7121
fc977f48
VS
71222012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7123
7124 * grub-core/fs/cpio.c (canonicalize): Handle "..".
7125 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
7126
f3250e5f
VS
71272012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7128
7129 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
7130 (find_path): Handle "." and "..".
7131
fd8ed4c5
VS
71322012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7133
7134 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
7135 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
7136 (grub_affs_iterate_dir): Handle hardlinks.
7137
4ce776d2
MG
71382012-05-26 Matthew Garrett <mjg@redhat.com>
7139
7140 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
7141 (grub_efi_console_fini): Likewise.
7142 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
7143 (grub_video_gop_fill_mode_info): Rename to ...
7144 (grub_video_gop_fill_real_mode_info): ... this.
7145 (grub_video_gop_fill_mode_info): New function.
7146 (grub_video_gop_setup): Setup double framebuffer.
7147 (grub_video_gop_get_info_and_fini): Use original framebuffer.
7148 Free offscreen.
7149 (grub_video_gop_swap_buffers): Copy framebuffer.
7150 (grub_video_gop_fini): Free offscreen buffer.
7151 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
7152 New enum.
7153 (grub_efi_gop_blt_pixel): New struct.
7154
683031ba
VS
71552012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
7156
7157 * gentpl.py: Remove error disabling for objconv.
7158
c2deb798
VS
71592012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
7160
7161 * configure.ac: Remove -Wunitialized as it's not available on older
7162 compilers.
7163
71642012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
7165
7166 Fix extent overflow comparator.
7167
7168 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
7169 (grub_hfsplus_read_block): Set type.
7170 (grub_hfsplus_cmp_extkey): Compare type.
7171
d6b1fd36
VS
71722012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
7173
7174 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
7175
0a9aa0f6
VS
71762012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7177
7178 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
7179 than 0.
7180
8360e159
VS
71812012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7182
7183 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
7184 (dejavu_bold_14.pf2): New target.
7185
501b9e4b
VS
71862012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7187
7188 * configure.ac: Fix djvu font detection.
7189
7026b0e2
VS
71902012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7191
7192 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
7193 ext* instead of ext2.
7194
c2a51ade
VS
71952012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7196
7197 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
7198 name with \0.
7199
8f803a5d
JU
72002012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
7201
7202 * docs/grub-dev.texi: Remove dot from .png.
7203
13c6353f
VS
72042012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7205
7206 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
7207 protective entry in any slot.
7208 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
7209 if protective entry is found in any slot.
7210
7211 Protective entry in non-first slot make no sense but is a widespread
7212 brain damage.
7213
4cf6be1b
VS
72142012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7215
7216 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
7217
937d1c44
VS
72182012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7219
7220 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
7221 with old reiserfs.
7222 (grub_reiserfs_open): Don't free root.
7223
021d90ec
VS
72242012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7225
7226 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
7227 after freeing for safety.
7228
967b2b64
VS
72292012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7230
7231 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
7232 Reported by: Jordan Uggla.
7233
34274d02
JU
72342012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
7235
967b2b64
VS
7236 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
7237 actual implementation. Specifically, clarify that the grub menu will
7238 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
7239 passed.
34274d02 7240
dcaaae9d
BH
72412012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
7242
7243 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
7244 of r0.
7245
7086ad52
VS
72462012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7247
7248 Remove unjustified hard dependency of normal.mod on gfxterm.
7249
7250 * include/grub/term.h (grub_term_output): New member fullscreen.
7251 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
7252 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
7253 (grub_gfxterm): Set .fullscreen.
7254 * grub-core/normal/menu.c (menu_init): Use fullscreen.
7255 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
7256
37ed2c9b
VS
72572012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7258
7259 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
7260 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 7261 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 7262
a4469c88
VS
72632012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7264
7265 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
7266
4e461486
VS
72672012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7268
7269 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
7270 a bad FS.
7271
aa78f5c4
VS
72722012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7273
7274 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
7275 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
7276
197626b5
VS
72772012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7278
7279 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
7280 (grub_jfs_mount): Fill caseins.
7281 (grub_jfs_find_file): Respect caseins.
7282
8ad3f28c
VS
72832012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7284
7285 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
7286 through UTF-16.
7287
0c6c324e
VS
72882012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7289
7290 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
7291 New argument origpath. All users updated.
7292
c6666ba6
VS
72932012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7294
7295 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
7296 (read_attr): Ensure that we read start of possibly compressed block.
7297
e28e5fe5
VS
72982012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7299
7300 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
7301 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
7302 All users updated.
7303
5fc23ab2
VS
73042012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7305
7306 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
7307 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
7308 (dejavu.pf2): Replace with ...
7309 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
7310 this.
7311
79dbc21c
VS
73122012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7313
7314 * util/grub.d/20_linux_xen.in: Add missing line.
7315
d2fcfb0c
VS
73162012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7317
7318 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
7319 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
7320 (grub_utf16_to_utf8): Likewise.
7321
5560e9d6
VS
73222012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7323
7324 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
7325 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
7326 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7327 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
7328 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
7329 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
7330
73312012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
7332
7333 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
7334 a bad FS.
7335
5560e9d6 73362012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
7337
7338 * grub-core/fs/udf.c (read_string): Bail out on size=0.
7339 (grub_udf_read_symlink): Handle read_string failure.
7340
5eae3175
VS
73412012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7342
7343 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
7344 comment.
7345
c1ad82db
VS
73462012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7347
7348 Fix handling of UDF symlinks.
7349
7350 * grub-core/fs/udf.c (read_string): New argument outbuf.
7351 All users updated.
7352 (grub_ufs_read_symlink): Rename to ...
7353 (grub_udf_read_symlink): ... this. All users updated.
7354 Handle symlinks with more than one component.
7355
33eca6e0
VS
73562012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7357
7358 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
7359 symlinks. Replace leading colon with a slash.
7360
57f4a70b
VS
73612012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7362
7363 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
7364 filename.
7365
38c8ee20
VS
73662012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7367
7368 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
7369 match in inner node.
7370
2e57f28f
VS
73712012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7372
7373 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
7374 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
7375 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
7376 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
7377 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
7378 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
7379 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
7380 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
7381 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
7382
fe8c2f11
VS
73832012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
7384
7385 Use grub-probe and not cmp to check that disk is empty.
7386
7387 * util/grub-install.in: Use grub-probe for zero-check.
7388 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
7389 (probe): Handle PRINT_ZERO_CHECK.
7390 (argp_parser): Handle -t zero_check.
7391
73922012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
7393
7394 Flush block cache on adding disk to device map.
7395
7396 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
7397 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
7398 adding.
7399 (read_device_map): Likewise.
7400 (open_device): Flush on opening.
7401
690434e8
VS
74022012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7403
7404 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
7405 (handle_symlink): Fix off-by-one error.
7406 Canonicalize the target.
7407 (grub_cpio_dir): Canonicalize the name.
7408 Fix memory leak.
7409 Set directory.
7410 (grub_cpio_open): Canonicalize the name.
7411
742d2be6
VS
74122012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7413
7414 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
7415 handling.
7416
3244fe96
VS
74172012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7418
7419 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
7420 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
7421
8aeb1837
VS
74222012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7423
7424 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
7425 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 7426 All users updated.
8aeb1837 7427
9133fd05
VS
74282012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7429
7430 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
7431 counterpart.
7432
6d521c5b
VS
74332012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7434
7435 Fix UFS1 big file support.
7436
7437 * grub-core/fs/ufs.c (INODE): Removed.
7438 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
7439 64-bit.
7440 (INODE_MODE): Simplify.
7441 (grub_ufs_inode): Use uint64_t for size and not int64_t.
7442 (grub_ufs_lookup_symlink): Don't use INODE.
7443
21b82e17
VS
74442012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7445
7446 Fix minixfs with non-power-of-two blocks since it's supported by minix.
7447
7448 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
7449 (grub_minix_data): Replace log_block_size with block_size.
7450 (grub_minix_read_file): Use block_size but avoid 64-bit division.
7451 (grub_minix_mount): Fill block_size.
7452
74532012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
7454
7455 * configure.ac: Bump to beta5.
7456
f417ed04
VS
74572012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7458
7459 Fix wrapped HFS+ handling.
7460
7461 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
7462 blocks_start. All users updated.
7463 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
7464 wrapping offset.
7465 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
7466
607d282b
VS
74672012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7468
7469 Fix long symlinks on reiserfs.
7470
7471 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
7472 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
7473 (grub_reiserfs_iterate_dir): Save size for non-directories.
7474 (grub_reiserfs_open): Don't reread stat block as we already know the
7475 size.
7476 (grub_reiserfs_read): Split into...
7477 (grub_reiserfs_read_real): ... and ...
7478 (grub_reiserfs_read): ...this.
7479
ae16024d
VS
74802012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7481
7482 Fix non-indexed JFS.
7483
7484 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
7485 (grub_jfs_data): New field namecomponentlen.
7486 (grub_jfs_mount): Fill namecomponentlen.
7487 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
7488
eea1e26e
VS
74892012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7490
7491 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
7492 * tests/grub_script_echo1.in: Add tests.
7493
df760f77
VS
74942012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7495
7496 * util/grub-install.in: Ignore empty devicetree directory.
7497
5efb817d
B
74982012-05-08 Bean <bean123ch@gmail.com>
7499
7500 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
7501 All users updated.
7502 (free_rsm): Free header as well.
7503 (free_old_fragments): Fix memory leak.
7504 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
7505 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
7506 (destroy_pq): Likewise.
7507 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
7508
668ea6d2
VS
75092012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7510
7511 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
7512 resulting hash as a precaution.
7513
1739b1fe
VS
75142012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7515
7516 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
7517 '_' in variable names.
7518 * grub-core/net/net.c (grub_net_network_level_interface_register):
7519 Likewise.
7520
6ae485aa
VS
75212012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7522
7523 Fix AFFS with non-512B blocks.
7524
7525 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
7526 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
7527 (grub_affs_data): Replace blocksize with log_blocksize.
7528 (grub_affs_read_block): Fix non-512B blocks.
7529 (grub_affs_read_symlink): Likewise.
7530 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
7531 (grub_affs_read): Fix non-512B blocks.
7532 (grub_affs_label): Likewise.
7533 (grub_affs_mtime): Likewise.
7534 (grub_affs_mount): Fix block detection routine.
7535
d20fab84
VS
75362012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7537
7538 Add filesystem mtime to AFFS.
7539
7540 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
7541 (aftime2ctime): New function.
7542 (grub_affs_dir): Use aftime2ctime.
7543 (grub_affs_label): Fix return value.
7544 (grub_affs_mtime): New function.
7545 (grub_affs_fs): Add mtime.
7546
e87b10f5
VS
75472012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
7548
7549 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
7550 UTF-8.
7551
7dceec9b
VS
75522012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
7553
7554 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
7555 UTF-8.
7556
2f48221f
VS
75572012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
7558
7559 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
7560
dacd85cf
VS
75612012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
7562
7563 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
7564 flags.
7565 (FLAGS_CASE_SENSITIVE): New enum value.
7566 (cache_entry): New struct.
7567 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
7568 cache_size and cache.
7569 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
7570 Add log_blocksize and fshelp_flags.
7571 (grub_sfs_read_extent): Handle non-512 blocks.
7572 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
7573 (grub_sfs_read_file): Handle non-512 blocks.
7574 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
7575 fshelp_flags.
7576 (grub_sfs_read_symlink): Handle non-512 blocks.
7577 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
7578 (grub_sfs_dir): Free cache.
7579 (grub_sfs_close): Likewise.
7580
24e9a854
VS
75812012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
7582
7583 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
7584 filesystems.
7585
62ace64d
VS
75862012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
7587
7588 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
7589
83b2e89c
VS
75902012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
7591
7592 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
7593
75ccaea3
VS
75942012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
7595
7596 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
7597 (grub_sfs_read_extent): Likewise.
7598 (grub_sfs_read_block): Likewise.
7599 (grub_sfs_mount): Likewise.
7600 (grub_sfs_iterate_dir): Likewise.
7601 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
7602 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
7603
1b8463f2
VS
76042012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7605
7606 Fix errors on compressed NTFS with 512B clusters.
7607
7608 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
7609 types.
7610 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
7611 not 0.
7612 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
7613 Relax check for inline extents.
7614 (ntfscomp): Return correct -1 on error and not 0.
7615
4f8e368f
VS
76162012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7617
7618 * util/grub-install.in: Fix handling of prefix containing spaces.
7619
6f5d5ee8
VS
76202012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7621
7622 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
7623 (grub_squash_read_data): Fix offset byte-swapping.
7624
ce41ab7a
VS
76252012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7626
7627 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
7628 per common usage and preffered in several parts of code.
7629 (grub_memcmp): Likewise.
7630 (grub_strncmp): Likewise.
7631 * include/grub/misc.h (grub_strcasecmp): Likewise.
7632 (grub_strncasecmp): Likewise.
7633 * Makefile.util.def (cmp_test): New test.
7634 (grub_script_strcmp): Likewise.
7635 * tests/cmp_unit_test.c: New file.
7636 * tests/grub_script_strcmp.in: Likewise.
7637 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
7638
49717bf4
VS
76392012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7640
7641 * include/grub/pci.h: Move enums into no-asm part.
7642
0a308f64
VS
76432012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7644
7645 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
7646
1796965f
ST
76472012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
7648
7649 * util/getroot.c (find_hurd_root_device): Try to make error message
7650 and comments to translators clearer.
7651
4e9b2819
VS
76522012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7653
7654 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
7655
076aeb50
VS
76562012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7657
7658 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
7659 btrfs.
7660
19424d94
VS
76612012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7662
7663 * docs/grub.cfg: Update.
7664
ebb73076
VS
76652012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7666
7667 * docs/grub.texi (PXE): Remove not present variables.
7668
9a1b669c
VS
76692012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7670
7671 * grub-core/net/net.c (defserver_set_env): New function.
7672 (defserver_get_env): Likewise.
7673 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
7674
d38bf7d3
VS
76752012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7676
7677 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
7678 entries.
7679
76802012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
7681
7682 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
7683 * grub-core/kern/emu/hostdisk.c: Likewise.
7684
e5e4ca48
ST
76852012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
7686
7687 Handle hurd userspace partitions.
7688
7689 * util/getroot.c (find_hurd_root_device): New function.
7690 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
7691
56bb5dd5
VS
76922012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7693
7694 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
7695 names.
7696 Reported by: Bastian Blank.
7697
9e8bc27a
VS
76982012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7699
7700 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
7701 crossing page boundary.
7702
aa01499d
VS
77032012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7704
7705 Fix B-tree search in BFS, especially in presence of non-ASCII
7706 characters.
7707
7708 * grub-core/fs/bfs.c (bfs_strcmp): New function.
7709 (find_in_b_tree): Use standard bsearch + btree algorithm.
7710
57006035
VS
77112012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7712
7713 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
7714 and so on.
7715
9d34bb85
MG
77162012-05-03 Matthew Garrett <mjg@redhat.com>
77172012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7718
7719 Suspend broadcom cards in order to stop their DMA.
7720
7721 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
7722 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
7723 (pci): Don't build on x86 EFI.
7724 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
7725 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
7726 New function.
7727 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
7728 stop_broadcom if running on EFI.
7729 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
7730 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
7731 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
7732 (grub_pci_find_capability): New proto.
7733
01aab997
VS
77342012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7735
7736 * docs/grub.texi: Remove dot from the extension as it apparently
7737 doesn't work with some makeinfo versions.
7738
fbd8dca6
VS
77392012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7740
7741 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
7742 with GRUB expectance.
7743
dab797f4
VS
77442012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7745
7746 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
7747
1516bfb4
VS
77482012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7749
7750 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
7751 zero after directory block since last entry may be not 0-terminated if
7752 it ends on block boundary. Use continue instead of if spanning whole
7753 loop.
7754
a3a0eace
VS
77552012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7756
7757 Support 4K sectors UDF inline files.
7758
7759 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
7760 (grub_udf_extended_file_entry): Likewise.
7761 (grub_fshelp_node): Name the anonymous union. Put block at the end.
7762 All users updated.
7763 (get_fshelp_size): New function.
7764 (grub_udf_read_icb): Read whole block.
7765 (grub_udf_iterate_dir): Likewise.
7766 (grub_udf_dir): Likewise.
7767 (grub_udf_open): Likewise.
7768
c82f16c1
VS
77692012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7770
7771 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
7772
59fd2aac
VS
77732012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7774
7775 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
7776 inline symlinks in addition to workaround.
7777
3b4afb4d
VS
77782012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7779
7780 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
7781
f45c794a
VS
77822012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7783
7784 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
7785
f25cecbd
VS
77862012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7787
7788 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
7789
bb9a34e8
VS
77902012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7791
7792 Fix reiserfs big seek times.
7793
7794 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
7795 exact. All users updated.
7796 (grub_reiserfs_read): Use nearest btree search for seeking.
7797 Fix return value on error.
7798
dc478aea
VS
77992012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7800
7801 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
7802 entries.
7803 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
7804 * docs/grub.texi: Update menuentry description.
7805
8db10f47
VS
78062012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7807
7808 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
7809 crash when embedding onto filesystem.
7810
bcb288ed
VS
78112012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7812
7813 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
7814 name.
7815
a626fdd7
VS
78162012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7817
7818 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
7819
b2f68477
VS
78202012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7821
7822 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
7823 commit.
7824
ba15b2af
B
78252012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
78262012-05-01 Bean <bean123ch@gmail.com>
7827
7828 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
7829
a188012e
VS
78302012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7831
7832 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
7833 Special behaviour for len = 0 to read whole file isn't used anywhere and
7834 can cause buffer ovewrflows in several places.
7835
f0a53ed2
VS
78362012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7837
7838 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
7839
5ed554f0
VS
78402012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7841
7842 Handle RAIDZ on non-512B sectors.
7843
7844 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
7845 max_children_ashift.
7846 (fill_vdev_info_real): Fill max_children_ashift.
7847 (read_device): Use max_children_ashift.
7848
ddc58357
VS
78492012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7850
7851 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
7852
e3282399
VS
78532012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7854
7855 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
7856 disk names.
7857 * docs/grub.texi: Update device.map parts.
7858
ee618bd4
VS
78592012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7860
7861 Don't scan into non-diskfilter devices having diskfilter names.
7862
7863 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
7864 (scan_disk): New argument accept_diskfilter. Fix recursion depth
7865 handling.
7866 (scan_disk_hook): New function.
7867
bdf88864
B
78682012-04-29 Bean <bean123ch@gmail.com>
7869
7870 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
7871 allocation.
7872
32745f51
MK
78732012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
7874
7875 * configure.ac: Detect starfield theme font path
7876 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
7877
bc95c8c0
VS
78782012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7879
7880 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
7881 geometry on serial consoles.
7882
147fbcab
VS
78832012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7884
7885 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
7886 because of network consoles.
7887
0f42c889
VS
78882012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7889
7890 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
7891 handling.
7892
4a3594c9
VS
78932012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7894
7895 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
7896 falls on Q syndrom.
7897
5cb53879
VS
78982012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7899
7900 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
7901 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
7902
b282dfe5
VS
79032012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7904
7905 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
7906 Allocate at lest 8192 for temporary buffer as required for lzo.
7907
daa59f47
VS
79082012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7909
7910 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
7911 to cluster_bits, since it's already added in.
7912 (grub_fat_read_data): Likewise.
7913
986748ce
VS
79142012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7915
7916 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
7917 as long as cluster size is multiple of 512 bytes.
7918
a20f6ad0
VS
79192012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
7920
7921 * util/grub-mkrescue.in: Fix locale directory.
7922
385f9abb
VS
79232012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
7924
7925 * grub-core/kern/emu/hostdisk.c (map): Make static.
7926
1c557d30
B
79272012-04-23 Bean <bean123ch@gmail.com>
7928
7929 * util/grub-fstest.c (fstest): Add missing break.
7930
524b5d3a
ST
79312012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
7932
7933 Fix hurd build.
7934
7935 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
7936 not define nr variable.
fe4824e9 7937 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
7938 find_root_devices_from_poolname, find_root_devices_from_libzfs,
7939 grub_find_device): Do not define.
524b5d3a 7940
9a06490c
VS
79412012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
7942
7943 Fix kfreebsd compile and behaviour.
7944
7945 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
7946 format-security.
7947 * util/getroot.c: Fix wait.h include.
7948 (grub_guess_root_devices): Error if grub_find_device fails.
7949 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
7950 (grub_util_get_dev_abstraction): Likewise.
7951 (grub_util_pull_device): Likewise.
7952 (grub_util_get_grub_dev): Likewise.
7953 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
7954
48143d96
VS
79552012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
7956
7957 Fix and unify wholedisk detection.
7958
7959 * util/getroot.c (convert_system_partition_to_system_disk): New argument
7960 is_part. All users updated.
7961 (device_is_wholedisk): Removed.
7962 (grub_util_biosdisk_get_grub_dev): Use is_part.
7963
ebbd24f3
VS
79642012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7965
7966 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
7967 mode.
7968
56f7aa1e
VS
79692012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7970
7971 * configure.ac: Bump to beta4.
7972
9c815e01
VS
79732012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7974
7975 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
7976 --fs-uuid --set UUID syntax.
7977
59e2651a
VS
79782012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7979
7980 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
7981 disunification.
7982
54e03cfc
VS
79832012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7984
7985 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
7986
81092a75
MK
79872012-04-18 Mads Kiilerich <mads@kiilerich.com>
7988
7989 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
7990
f8315e14
MG
79912012-04-18 Mike Gilbert <floppym@gentoo.org>
7992
7993 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
7994
1501ac21
B
79952012-04-18 Bean <bean123ch@gmail.com>
7996
7997 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
7998 place.
7999
cb7f944e
VS
80002012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8001
8002 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
8003 users updated.
8004 (grub_util_biosdisk_read): Handle Linux partitions not exactly
8005 corresponding to GRUB partitions.
8006 (grub_util_biosdisk_write): Likewise.
8007
b72d44a1
VS
80082012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8009
8010 Scan mdraid before LVM.
8011
8012 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
8013 (grub_diskfilter_register_front): ... this.
8014 (grub_diskfilter_register_back): New function.
8015 All users of grub_diskfilter_register updated.
8016
33d918b8
VS
80172012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8018
8019 * util/grub-install.in: Fix an automatic target detection bug.
8020
c6ca973d
VS
80212012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8022
8023 * util/grub-install.in: New option --efi-directory.
8024
b41be562
VS
80252012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8026
8027 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
8028 boot services if we have no other choice.
8029
80302012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
8031
8032 * util/grub-mknetdir.in: Rename --override-directory to --directory and
8033 document it.
8034 * tests/util/grub-shell.in: Update to --directory.
8035
e0595a73
VS
80362012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8037
8038 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
8039
4ed80652
VS
80402012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8041
8042 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
8043 (grub_minix_read_file): Likewise.
8044 (grub_minix_read_inode): Likewise.
8045 (grub_minix_find_file): Likewise.
8046 (grub_minix_dir): Likewise.
8047
56008077
VS
80482012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8049
8050 * util/grub-setup.c (setup): Fix partition handling and blocklist
8051 check.
8052
ee520775
VS
80532012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8054
8055 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
8056 redundant buggy overlap check.
8057
16fc9293
VS
80582012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8059
8060 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
8061 and grub-mknetdir.
8062
9bab65c4
VS
80632012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8064
8065 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
8066 kh.loadflags on pre-2.00 kernels.
8067
3c491b47
VS
80682012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8069
8070 Terminate UNDI and PXE before launching the payload to avoid problems
8071 with DMA.
8072
8073 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
8074 (grub_loader_flags): ... this. All users updated.
8075 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
8076 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
8077 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
8078 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
8079 function.
8080 (grub_pxe_restore): Likewise.
8081 (fini_hnd): New var.
8082 (GRUB_MOD_INIT): Register shutdown hook.
8083 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
8084 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
8085 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
8086 (grub_loader_set): Rename second argument to flags.
8087
851ffada
VS
80882012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8089
8090 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
8091 written bytes.
8092 (grub_get_num_of_utf8_bytes): New function.
8093 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
8094 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
8095 executing it.
8096 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
8097 (grub_ucs4_to_utf8): Change return type.
8098
491c57a8
VS
80992012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8100
8101 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
8102 warning.
851ffada
VS
8103 * grub-core/fs/bfs.c (hop_level): Likewise.
8104 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 8105
756773df
VS
81062012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8107
8108 * grub-core/lib/adler32.c: Recode due to license unclearness.
8109
fd556a96
VS
81102012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8111
8112 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
8113 (test_header): Likewise.
8114
9f9d3f69
VS
81152012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8116
8117 Fix --help formatting.
8118
8119 * util/grub-mkconfig_lib.in (print_option_help): New function.
8120 (grub_fmt): Likewise.
8121 * util/grub-install.in: Use print_option_help and grub_fmt.
8122 * util/grub-kbdcomp.in: Likewise.
8123 * util/grub-mkconfig.in: Likewise.
8124 * util/grub-mknetdir.in: Likewise.
8125 * util/grub-mkrescue.in: Likewise.
8126 * util/grub-mkstandalone.in: Likewise.
8127 * util/grub-reboot.in: Likewise.
8128 * util/grub-set-default.in: Likewise.
8129 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8130
561ec77e
VS
81312012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8132
8133 * linguas.sh: Remove autogenerated *.po.
8134
7ec2b021
VS
81352012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8136
8137 * po/README: Move language fetcing to ...
8138 * linguas.sh: ... here.
8139 * po/README: Point to linguas.sh.
8140
a88f3270
VS
81412012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8142
8143 * po/README: Exclude ko.po due to disclaimer problems.
8144
d61357ce
VS
81452012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8146
8147 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
8148 len = 0.
8149 (grub_gettext_translate_real): Handle 0th string.
8150 (grub_gettext_translate): Ensure that "" isn't translated.
8151
505e41dc
VS
81522012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8153
8154 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
8155 TRANSLATORS comment.
8156 (grub_diskfilter_print_partmap): Propagate changing of error into
8157 warning.
8158
e44092db
VS
81592012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8160
8161 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
8162 to uint64_t to prevent overflow.
8163 (grub_diskfilter_lv): Increase start_extent and extent_count
8164 to uint64_t to prevent overflow.
8165
9b83956a
VS
81662012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8167
8168 * configure.ac: Increase version.
8169
da0d5b3f
VS
81702012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8171
8172 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
8173
8174 * po/Rules-translit: New file.
8175 * po/arabic.sed: Likewise.
8176 * po/cyrillic.sed: Likewise.
8177 * po/greek.sed: Likewise.
8178 * po/hebrew.sed: Likewise.
8179 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
8180 * po/Makefile.in.in: Add extra_dist4.
8181
ac66b453
VS
81822012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8183
8184 Handle big-endian minixfs (fixes minixfs tests on bigendian).
8185
8186 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
8187 modify names. Introduce MODE_BIGENDIAN.
8188 * grub-core/fs/minix_be.c: New file.
8189 * grub-core/fs/minix2_be.c: Likewise
8190 * grub-core/fs/minix3_be.c: Likewise.
8191 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
8192 minix3_be.
8193 * grub-core/Makefile.core.def (minix_be): New module.
8194 (minix2_be): Likewise.
8195 (minix3_be): Likewise.
8196
81972012-04-01 Felix <email@hamburg.de>
8198
8199 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
8200 (devs): Add MBP 2011.
8201
0a2d5a82
VS
82022012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8203
8204 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
8205
d1625889
VS
82062012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8207
8208 * grub-core/normal/cmdline.c (print_completion): New field
8209 prompt_len.
8210 (grub_cmdline_get): Handle width properly.
8211
6d36a236
VS
82122012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8213
8214 * grub-core/commands/lsacpi.c (options): Add missing terminator.
8215
9576977e
VS
82162012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8217
8218 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 8219 after 29th of February.
9576977e 8220
d73ff15d
VS
82212012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8222
8223 Fix exfat endianness handling.
8224
8225 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
8226 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
8227 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
8228 Byte-swap utf16 when necessary.
8229 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
8230
bbb39a45
AB
82312012-03-31 Anton Blanchard <anton@samba.org>
82322012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8233
8234 Fix btrfs endianness handling.
8235
8236 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
8237 (lower_bound): Make root uint64_t. Use root in le.
8238 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
8239 (find_path): Fix template key init.
8240 (grub_btrfs_dir): Fix mtime byteswap.
8241 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
8242
354e0af7
VS
82432012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8244
8245 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
8246 recursion_depth. Break infinite resursions. All users updated.
8247
4e75f21c
VS
82482012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8249
8250 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
8251 after free.
8252 Reported by: Peter Jones.
8253
25581802
AB
82542012-03-31 Anton Blanchard <anton@samba.org>
8255
8256 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
8257 8 bit values.
8258
08fbf92e
VS
82592012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8260
8261 * util/grub-install.in: Fix nvram call for PreP.
8262
5d1182a6
VS
82632012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8264
8265 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
8266 the error when some elements are missing into a warning.
8267
3f8cdd90
VS
82682012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8269
8270 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
8271
51006716
CW
82722012-03-28 Colin Watson <cjwatson@ubuntu.com>
8273
8274 * docs/grub.texi (Invoking grub-probe): New section.
8275 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
8276
e1bd676b
VS
82772012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
8278
8279 Fix tab and wide character handling in editor and menu.
8280
8281 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
8282 agglomerate control characters with combining marks.
8283 (bidi_line_wrap): Allow break on tab.
8284 (grub_unicode_get_comb_start): New function.
8285 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
8286 and tab correctly.
8287 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
8288 with a space.
8289 * grub-core/normal/term.c (print_ucs4_terminal): New argument
8290 fixed_tab_size. All users updated.
8291 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
8292 (grub_term_getcharwidth): Handle \t.
8293 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
8294 and copy.
8295
22e6a774
VS
82962012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8297
8298 Handle big-endian mdraid.
8299
8300 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
8301 * grub-core/Makefile.core.def (mdraid09_be): New module.
8302 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
8303 rather than grub_le_to_cpu* and grub_cpu_to_le*.
8304 * grub-core/disk/mdraid_linux_be.c: New file.
8305
3c0eae66
VS
83062012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8307
8308 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
8309
b6cf74c9
VS
83102012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8311
8312 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
8313 missing quotes which caused confusion among translators.
8314
83c93b9c
VS
83152012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8316
8317 * util/grub-mkconfig_lib.in: Fix typo.
8318
ac6fd218
VS
83192012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8320
8321 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
8322 spaces.
8323 * tests/grub_script_leading_whitespace.in: New file.
8324 * Makefile.util.def (grub_script_leading_whitespace): New test.
8325
ba287dd8
VS
83262012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8327
8328 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
8329 to work.
8330
d2d58d0a
VS
83312012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8332
8333 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
8334 starts with control character.
8335
0382d9bb
VS
83362012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8337
8338 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
8339 overflow.
8340 (grub_gdb_outbuf): Likewise.
8341
d83ff9f9
VS
83422012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8343
8344 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
8345 zero terminator. Fixes a crash.
8346
2282da4a
VS
83472012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8348
8349 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
8350 beyond 4 GiB.
8351 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
8352 images independently of preffered adderss field.
8353
0ae4f0bd
VS
83542012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8355
8356 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
8357 * grub-core/commands/regexp.c: Likewise.
8358 * grub-core/loader/i386/linux.c: Likewise.
8359 * grub-core/partmap/msdos.c: Likewise.
8360 * grub-core/script/execute.c: Likewise.
8361 * grub-core/term/gfxterm.c: Likewise.
8362
546fbe9b
VS
83632012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8364
8365 Add variable parsing in $"..." and fix several mismatches with bash.
8366
8367 * Makefile.util.def (grub_script_gettext): New test.
8368 * grub-core/script/execute.c (parse_string): New function.
8369 (gettext_append): Likewise.
8370 (grub_script_arglist_to_argv): Use gettext_append.
8371 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
8372 * tests/grub_script_gettext.in: New file.
8373
9fdb2d7b
VS
83742012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8375
8376 Fix handling of leading spaces in scripts.
8377
8378 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
8379 spaces.
8380 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
8381 other than skipping \r. All users updated.
8382 * tests/grub_script_echo1.in: Add space-related tests.
8383 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
8384
1a1ac4f6
VS
83852012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8386
8387 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
8388
b63d89b6
VS
83892012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8390
8391 * configure.ac: Bump up the version to beta2.
8392
17f38c0f
VS
83932012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8394
8395 Fix gettext reload bugs (e.g. inability to disable gettext
8396 once enabled).
8397
8398 * grub-core/gettext/gettext.c: Encapsulate all static variables in
8399 main_context and secondary_context. All functions updated.
8400 (grub_gettext_translate): Rename to ...
8401 (grub_gettext_translate_real): ... this. Return NULL on failed
8402 translate.
8403 (grub_gettext_translate): Handle secondary context.
8404 (grub_gettext_delete_list): Close file and zero-out the context.
8405 (grub_mofile_open): Don't call grub_gettext_delete_list.
8406 Don't close file.
8407 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
8408 if locale="" to avoid pointless error message.
8409 (grub_gettext_env_write_lang): Update lang even if load fails.
8410 Handle secondary context.
8411 (grub_gettext_reread_prefix): New function.
8412 (read_main): Likewise.
8413 (read_secondary): Likewise.
8414 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
8415 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
8416 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
8417 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
8418
8e56f870
VS
84192012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8420
8421 * configure.ac: Decrease warning level to avoid spurious warnings and
8422 to be able to compile with GCC 4.2.
8423 * Makefile.util.def: Remove -Wno-error=logical-op.
8424
82f6d455
WB
84252012-03-10 William Bittner <william.bittner@gmail.com>
8426
8427 * util/import_unicode.py: Add missing brackets around string for
8428 python 3 support.
8429
1ecd61a4
VS
84302012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8431
8432 Fix efi chainloader on network root.
8433
8434 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
8435 network devices.
8436 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
8437 New function.
8438
14361ee8
VS
84392012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8440
8441 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
8442 unused show_text member.
8443 * docs/grub.texi: Document "text" property.
8444
922aabf3
VS
84452012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8446
8447 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
8448 in dprintf.
8449
ec316771
VS
84502012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8451
8452 Fix IMSM handling on Fedora.
8453
8454 * util/getroot.c (grub_util_is_imsm): New function.
8455 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
8456
0f021838
VS
84572012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8458
8459 * Makefile.am: Strip gold section.
8460 * conf/Makefile.common: Likewise.
8461 * gentpl.py: Likewise.
8462 * grub-core/Makefile.core.def: Likewise.
8463 * grub-core/genmod.sh.in: Likewise.
8464
1039c8eb
VS
84652012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8466
8467 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
8468 * util/grub.d/20_linux_xen.in: Likewise.
8469 Based on Debian patch.
8470
6dd412cd
VS
84712012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8472
8473 * util/grub.d/10_linux.in: Fix syntax error resulting in
8474 Richard Laager's patch.
8475 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
8476
3fd8bae5
VS
84772012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8478
8479 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
8480 dependencies.
8481
7eea1671
RL
84822012-03-10 Richard Laager <rlaager@wiktel.com>
8483
8484 * util/grub.d/10_linux.in: Fix ZFS root passing.
8485
e8e0566b
VS
84862012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8487
8488 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
8489 * grub-core/commands/xnu_uuid.c: Likewise.
8490 * grub-core/loader/efi/appleloader.c: Likewise.
8491 * grub-core/script/execute.c: Likewise.
8492 * grub-core/script/main.c: Likewise.
8493 * util/grub-mkfont.c: Likewise.
8494
1acc5b1f
VS
84952012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8496
8497 * util/grub-mkfont.c (options): Use more appropriate "select" that
8498 "set" for face index.
8499
35d70620
VS
85002012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8501
8502 * util/grub-editenv.c (options): Gettextize command summaries.
8503
c9eb96b5
VS
85042012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8505
8506 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
8507 "out of memory" error messagge.
8508
1f493136
VS
85092012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8510
8511 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
8512 of diskfilter for diskfilter on diskfilter support.
8513
6d790129
VS
85142012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8515
8516 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
8517
005f46c9
VS
85182012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8519
8520 * util/grub-install.in: Check for themes/starfield/theme.txt and not
8521 themes/starfield.
8522
c8f778a0
VS
85232012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8524
8525 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
8526
de1e64eb
VS
85272012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8528
8529 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
8530
c6d54211
VS
85312012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8532
8533 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
8534 of error message.
8535
dd390777
VS
85362012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
8537
8538 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
8539
5fd1c522
VS
85402012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
8541
8542 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
8543 message.
c6d54211 8544 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 8545
fae01f6c
VS
85462012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8547
8548 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
8549 Gettextize.
8550 * util/grub-mount.c (options): Likewise.
8551
292fdaff
VS
85522012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8553
8554 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
8555 gettextize.
8556 * grub-core/commands/search_wrap.c (options): Likewise.
8557
ecdbae77
VS
85582012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8559
8560 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
8561
52bfedfa
VS
85622012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8563
8564 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
8565 size calculation.
8566 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
8567 none is known.
8568
55b20e58
VS
85692012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8570
8571 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
8572 "temporary" since it's used in identifier and is limited in space.
8573
fda9d101
VS
85742012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8575
8576 * po/POTFILES.in: Regenerate. Include *.h since they contain
8577 translatable strings as well.
8578
6a0295e2
VS
85792012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8580
8581 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
8582 byte-swap on big-endian.
8583 Reported by: Lennart Sorensen
8584
807fb77c
VS
85852012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
8586
8587 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
8588 (allocate_pages): Improve dprintf.
8589 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
8590 code32_start. Fill code32_start and kernel_alignment in params.
8591 (grub_cmd_initrd): Use prot_init_space.
8592
61ac50ba
VS
85932012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8594
8595 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
8596
abdd26dd
VS
85972012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8598
8599 * util/grub-install.in: Add missing dot at the end of sentence.
8600
6e69da9c
VS
86012012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8602
8603 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
8604 * grub-core/commands/videotest.c: Likewise.
8605 * grub-core/loader/i386/linux.c: Likewise.
8606
4a929343
VS
86072012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8608
8609 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
8610 sentence.
8611 Reported by: Milo Casagrande.
8612
bb51c6c6
VS
86132012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8614
8615 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
8616 * grub-core/commands/gptsync.c: Likewise.
8617 * grub-core/commands/hashsum.c: Likewise.
8618 * grub-core/commands/i386/pc/sendkey.c: Likewise.
8619 * grub-core/commands/legacycfg.c: Likewise.
8620 * grub-core/io/gzio.c: Likewise.
8621 * grub-core/net/net.c: Likewise.
8622 * grub-core/term/gfxterm.c: Likewise.
8623 * grub-core/term/terminfo.c: Likewise.
8624 * grub-core/tests/test_blockarg.c: Likewise.
8625 * grub-core/video/video.c: Likewise.
8626 * util/grub-install.in: Likewise.
8627 * util/grub-mkfont.c: Likewise.
8628
b2b149cb
VS
86292012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8630
8631 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
8632
c7c080ad
VS
86332012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8634
8635 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 8636 Reported by: David Prévot.
c7c080ad 8637
f2e243c0
VS
86382012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8639
8640 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
8641 description.
8642
09963c76
VS
86432012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8644
8645 * util/grub-script-check.c (main): Fix a syntax error message which was
8646 unclear.
8647
a50514a8
VS
86482012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8649
8650 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
8651
4650daec
VS
86522012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8653
8654 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
8655 messages.
8656
86572012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
8658
8659 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
8660 without argument.
8661 * util/grub-mount.c (options): Likewise.
8662
bbc5a342
VS
86632012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8664
8665 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
8666
ef292a87
VS
86672012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8668
8669 * grub-core/net/http.c: Add TRANSLATORS comments.
8670 * grub-core/normal/cmdline.c: Likewise.
8671 * grub-core/normal/misc.c: Likewise.
8672 * grub-core/partmap/msdos.c: Likewise.
8673 * grub-core/parttool/msdospart.c: Likewise.
8674 * grub-core/script/execute.c: Likewise.
8675 * grub-core/script/main.c: Likewise.
8676 * grub-core/term/terminfo.c: Likewise.
8677 * grub-core/video/bitmap.c: Likewise.
8678 * util/grub-install.in: Likewise.
8679 * util/grub-mkimage.c: Likewise.
8680 * util/grub-mklayout.c: Likewise.
8681 * util/grub-setup.c: Likewise.
8682
0fc19bd0
VS
86832012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8684
8685 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
8686 with similar messages in grub-fstest.
8687
d95862ef
VS
86882012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8689
8690 * util/grub-install.in: Unify "option requires an argument" message
8691 with similar messages in other files.
8692 * util/grub-mkconfig.in: Likewise.
8693
b7308f90
VS
86942012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8695
8696 * util/grub-set-default.in: Replace printf with gettext_printf (the
8697 string in in question is already translated from grub-reboot)
8698
559dc587
VS
86992012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8700
8701 * configure.ac: Bump up the version to beta1.
8702
1a11761f
VS
87032012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8704
8705 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
8706 case when min_align = 0.
8707
24539abd
VS
87082012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8709
8710 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
8711 and fix a case when line_start overflows.
8712
32bd735b
VS
87132012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8714
8715 * util/grub-reboot.in (usage): Mention id posibility.
8716 * util/grub-set-default.in (usage): Likewise.
8717
1a2fd1e6
VS
87182012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8719
8720 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
8721 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
8722 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
8723 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
8724 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
8725 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8726 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8727
90eeab76
VS
87282012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8729
8730 * grub-core/commands/menuentry.c (options): Remove
8731 GRUB_ARG_OPTION_REPEATABLE.
8732 Reported by: Andreas Vogel
8733
5ad1be82
AV
87342012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
8735
8736 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
8737
cb055286
HE
87382012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
8739
8740 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
8741 error.
8742
93b1cd79
VS
87432012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8744
8745 Use sort -V by the idea of Georgi Georgiev.
8746
8747 * util/grub-mkconfig_lib.in (version_sort): New function.
8748 (version_test_numeric): Use version_sort.
8749
0cdc126c
VS
87502012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8751
8752 Use submenus in grub-mkconfig.
8753
8754 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
8755 * util/grub-mkconfig_lib.in (grub_quote): New function.
8756 (gettext_printf): Use gettext and not gettext_quoted to fix several
8757 messages.
8758 * util/grub.d/10_hurd.in: Use submenus.
8759 * util/grub.d/10_kfreebsd.in: Likewise.
8760 * util/grub.d/10_linux.in: Likewise.
8761 * util/grub.d/10_netbsd.in: Likewise.
8762 * util/grub.d/20_linux_xen.in: Likewise.
8763 * util/grub.d/30_os-prober.in: Likewise.
8764 * util/grub.d/10_illumos.in: Add missing quoting.
8765 * util/grub.d/10_windows.in: Likewise.
8766
d9bef9bc
VS
87672012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8768
8769 Fix menu title instability bug.
8770
8771 * grub-core/commands/menuentry.c (options): New option --id.
8772 (grub_normal_add_menu_entry): New argument id. All users updated.
8773 (grub_cmd_menuentry): Handle --id.
8774 (grub_menu_init): Accept unknown arguments.
8775 * grub-core/normal/main.c (features): Add feature_menuentry_id and
8776 feature_menuentry_options.
8777 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
8778 saved_entry.
8779 (get_entry_number): Match with id as well.
8780 * include/grub/menu.h (grub_menu_entry): New member id.
8781 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
8782 * util/grub.d/00_header.in: Define menuentry_id_option.
8783 * util/grub.d/10_hurd.in: Define id.
8784 * util/grub.d/10_illumos.in: Likewise.
8785 * util/grub.d/10_kfreebsd.in: Likewise.
8786 * util/grub.d/10_linux.in: Likewise.
8787 * util/grub.d/10_netbsd.in: Likewise.
8788 * util/grub.d/10_windows.in: Likewise.
8789 * util/grub.d/20_linux_xen.in: Likewise.
8790 * util/grub.d/30_os-prober.in: Likewise.
8791
87922012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
8793
8794 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
8795 "scope" with "body".
8796
7c8d0ce7
VS
87972012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8798
8799 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
8800 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
8801 prot_size and prot_file_size.
8802
49de079b
VS
88032012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8804
8805 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
8806 All users updated. If easily=1 require raid-5/-6 to be full.
8807 (is_node_readable): Likewise.
8808 (scan_devices): Scan incomplete but readable LVs at the end.
8809 (grub_diskfilter_memberlist): Pull missing devices.
8810 (insert_array): Skip scanning until device is complete or scan is
8811 done otherwise.
8812 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
8813 check.
8814 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
8815 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
8816
aff05d45
MG
88172012-03-03 Matthew Garrett <mjg@redhat.com>
88182012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8819
8820 Avoid EFI boot services when loading Linux.
8821
8822 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
8823 avoid_efi_bootservices. All users updated.
8824 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
8825 argument avoid_efi_bootservices. All users updated.
8826 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
8827 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
8828 align, min_align, relocatable, prefered_address. All users updated.
8829 Allocate avoiding boot services if kernel is relocatable.
8830 (grub_cmd_linux): Check if kernel is relocatable.
8831 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
8832 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
8833 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
8834 avoid_efi_boot_services.
8835 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
8836 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
8837 (linux_kernel_params): Likewise.
8838
3935dde2
MG
88392012-03-03 Matthew Garrett <mjg@redhat.com>
88402012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8841
8842 Use EDID on EFI.
8843
8844 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
8845 datasize_out.
8846 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
8847 modes. Set gop_handle.
8848 (grub_video_gop_get_edid): New function.
8849 (grub_gop_get_preferred_mode): Likewise.
8850 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
8851 (grub_video_efi_gop_adapter): Set .get_edid.
8852 * include/grub/efi/edid.h: New file.
8853 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
8854
32107ec0
VS
88552012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8856
8857 * util/grub-install.in: Load efivars unconditionally.
8858
e70a2c50
VS
88592012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8860
8861 * po/Rules-piglatin: Change suffix from .po-update-en to
8862 .po-update-en-piglatin.
8863
8f9cace1
VS
88642012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8865
8866 Add a pig farm.
8867
8868 * po/piglatin.sed: New file.
8869 * po/en@piglatin.header: Likewise.
8870 * po/Rules-piglatin: Likewise.
8871 * po/README: Add en@piglatin to autogenerated languages.
8872
8f95d002
VS
88732012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8874
8875 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
8876 "Command for ...".
8877 * grub-core/commands/hdparm.c (options): Use "Display" rather than
8878 "Check" since we don't check anything.
8879 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
8880 is 64-bit one.
8881 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
8882 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
8883 (grub_md_sha512_real): Likewise.
8884
805a8dcc
VS
88852012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8886
8887 * grub-core/commands/gptsync.c: Fix typographic quoting.
8888 * grub-core/commands/ieee1275/suspend.c: Likewise.
8889 * grub-core/commands/parttool.c: Likewise.
8890 * grub-core/commands/search_wrap.c: Likewise.
8891 * grub-core/commands/videoinfo.c: Likewise.
8892 * grub-core/gfxmenu/gui_label.c: Likewise.
8893 * grub-core/hello/hello.c: Likewise.
8894 * grub-core/kern/emu/main.c: Likewise.
8895 * grub-core/net/net.c: Likewise.
8896 * grub-core/normal/menu.c: Likewise.
8897 * grub-core/normal/menu_text.c: Likewise.
8898 * grub-core/normal/misc.c: Likewise.
8899 * util/grub-editenv.c: Likewise.
8900 * util/grub-install.in: Likewise.
8901 * util/grub-kbdcomp.in: Likewise.
8902 * util/grub-mkconfig.in: Likewise.
8903 * util/grub-mknetdir.in: Likewise.
8904 * util/grub-mkrescue.in: Likewise.
8905 * util/grub-mkstandalone.in: Likewise.
8906 * util/grub-reboot.in: Likewise.
8907 * util/grub-set-default.in: Likewise.
8908 * util/grub-setup.c: Likewise.
8909 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8910
40211ab8
VS
89112012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8912
8913 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
8914 * grub-core/commands/keystatus.c: Likewise.
8915 * grub-core/commands/loadenv.c: Likewise.
8916 * grub-core/commands/probe.c: Likewise.
8917 * grub-core/commands/regexp.c: Likewise.
8918 * grub-core/commands/true.c: Likewise.
8919 * grub-core/commands/videoinfo.c: Likewise.
8920 * grub-core/disk/cryptodisk.c: Likewise.
8921 * grub-core/disk/ldm.c: Likewise.
8922 * grub-core/disk/loopback.c: Likewise.
8923 * grub-core/disk/luks.c: Likewise.
8924 * grub-core/fs/zfs/zfsinfo.c: Likewise.
8925 * grub-core/kern/disk.c: Likewise.
8926 * grub-core/kern/emu/hostdisk.c: Likewise.
8927
0c7d99c7
VS
89282012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8929
8930 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
8931 * util/grub-install.in: Add missing quote in the comment.
8932
e7d2559b
VS
89332012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8934
8935 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
8936 * grub-core/commands/lsmmap.c: Likewise.
8937 * grub-core/commands/minicmd.c: Likewise.
8938 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
8939 * grub-core/commands/regexp.c: Likewise.
8940 * grub-core/gdb/gdb.c: Likewise.
8941 * grub-core/term/gfxterm.c: Likewise.
8942 * util/grub-mkconfig.in: Likewise.
8943 * util/grub-mkfont.c: Likewise.
8944 * util/grub-mklayout.c: Likewise.
8945 * util/grub-mknetdir.in: Likewise.
8946 * util/grub-mkrescue.in: Likewise.
8947 * util/grub.d/30_os-prober.in: Likewise.
8948
49ce9e50
VS
89492012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8950
8951 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
8952 with "Direct color" and "Packed" with "Packed pixel".
8953 (grub_cmd_videoinfo): Simplify legend.
8954
e4b791fa
VS
89552012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8956
8957 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
8958 absolutely unclear error message.
8959
fd1265cb
VS
89602012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8961
8962 * util/grub-mkstandalone.in: Remove confusing leftover print.
8963
8822a8a0
VS
89642012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8965
8966 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
8967 comments.
8968 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
8969 (GRUB_MOD_INIT): Likewise.
8970 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
8971 VGA mode.
8972 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
8973 comments.
8974 * util/grub-install.in (usage): Likewise.
8975 Spell ID in whole letters.
8976 Add missing ending dot.
8977 Quote variables.
8978 * util/grub-reboot.in: Fix capitalisation.
8979 * util/grub-set-default.in: Likewise.
8980
937fd0cc
VS
89812012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8982
8983 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
8984 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
8985 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
8986 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
8987 Disable -Werror for -Wdeprecated-declarations.
8988 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
8989 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
8990 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
8991 (grub_util_get_grub_dev): Make luks handling dependent on
8992 HAVE_DEVICE_MAPPER and not __linux__.
8993 (get_win32_path): Fix format security.
8994 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
8995 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
8996 Don't try grub_find_zpool_from_dir.
8997 (grub_make_system_path_relative_to_its_root) [!__linux__]:
8998 #ifdef-out paresdir.
8999
1bab1ae3
VS
90002012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9001
9002 * util/grub-pe2elf.c (usage): Add missing noreturn.
9003 (write_section_data): Rename name to shname to avoid shadowing.
9004 (write_symbol_table): Rename name to symname to avoid shadowing.
9005 Fix write_reloc_section call.
9006
ef023e42
VS
90072012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9008
9009 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
9010 to ensure that it's after the last byte of .text.
9011
48afcb75
VS
90122012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9013
9014 * util/ieee1275/ofpath.c (my_isdigit): New function.
9015 (trailing_digits): Use my_isdigit.
9016 (strip_trailing_digits): Likewise.
9017
88d51eff
VS
90182012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9019
9020 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
9021 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
9022
17edc2ba
VS
90232012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9024
9025 * grub-core/kern/i386/pc/startup.S: Define __start.
9026
ad5518d7
VS
90272012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9028
9029 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
9030 strip already transforms he format.
9031
9e95e1bf
VS
90322012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9033
9034 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
9035
9cc3ee5c
VS
90362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9037
9038 * util/grub-install.in: Add missing gettext init.
9039 * util/grub-kbdcomp.in: Likewise.
9040 * util/grub-mkconfig.in: Likewise.
9041 * util/grub-mknetdir.in: Likewise.
9042 * util/grub-mkrescue.in: Likewise.
9043 * util/grub-mkstandalone.in: Likewise.
9044 * util/grub-reboot.in: Likewise.
9045 * util/grub-set-default.in: Likewise.
9046 * util/grub.d/00_header.in: Likewise.
9047 * util/grub.d/10_hurd.in: Likewise.
9048 * util/grub.d/10_windows.in: Likewise.
9049 * util/grub.d/30_os-prober.in: Likewise.
9050 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9051
49e08a06
VS
90522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9053
9054 * po/Rules-swiss: Fix header comment.
9055
3809cb41
AV
90562012-02-29 Andreas Vogel <anvoit>
9057
9058 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
9059 resulted in leak of arguments.
9060
fa6ec573
VS
90612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9062
9063 * grub-core/boot/i386/pc/startup_raw.S: Use separate
9064 reed_solomon_size const definition instead of computing it since
9065 Apple assembler doesn't support the later.
9066
22899b9c
VS
90672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9068
9069 * gentpl.py (kernel): Rewrite Apple part.
9070
a132afc3
VS
90712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9072
9073 * include/grub/kernel.h (FOR_MODULES): Check module magic.
9074
9d742bd4
VS
90752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9076
9077 * util/grub-mkimagexx.c (locate_sections): Support non-standard
9078 ELF section gap.
9079 (load_image): Likewise.
9080
f04a9a21
VS
90812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9082
9083 * configure.ac: Fix a typo in previous commit.
9084
46cf439c
VS
90852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9086
9087 Don't add -Wl,-N on Apple platform.
9088
9089 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
9090 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
9091
c4c48c54
VS
90922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9093
9094 * grub-core/Makefile.core.def (lzma_decompress): Use
9095 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
9096
31a12124
VS
90972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9098
9099 * grub-core/genmod.sh.in: Rewrite the Apple part.
9100
4f3aa1af
VS
91012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9102
9103 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
9104 comparison.
9105
7bd8b0c7
VS
91062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9107
9108 * acinclude.m4 (grub_CHECK_PIC): New test.
9109 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
9110
97304d7c
VS
91112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9112
9113 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
9114 to avoid the warning.
9115
fb883812
VS
91162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9117
9118 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
9119 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
9120 after. All users updated.
9121
a121c964
VS
91222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9123
9124 Use the common size routine in hostfs so we can read disks as well.
9125
9126 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
9127 (grub_util_get_fd_size): ... this. Return size in bytes.
9128 All users updated.
9129 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
9130 grub_util_get_fd_size.
9131
c66d6410
VS
91322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9133
9134 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
9135 Add blocksize retrieval.
9136
dfc8aeb0
VS
91372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9138
9139 * configure.ac: Restore CFLAGS after efiemu check.
9140
403e25a5
VS
91412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9142
9143 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
9144 Apple bug.
9145
382775d1
VS
91462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9147
9148 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
9149
6fd4e6e4
VS
91502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9151
9152 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
9153 (grub_cmd_halt): Likewise.
9154
bea359d6
VS
91552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9156
9157 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
9158 for local arithmetics.
9159 Break %sp init into 2 instructions.
9160 Add 0 byte at the end.
9161
32eb6ee1
VS
91622012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9163
9164 * grub-core/disk/diskfilter.c (read_segment): Initialise err
9165 before loops.
9166
e8377389
VS
91672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9168
9169 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
9170 for context.
9171
8cb17de7
VS
91722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9173
9174 * grub-core/disk/ldm.c (make_vg): Init part.name.
9175 (grub_ldm_detect): Silence spurious warning.
9176 (grub_util_is_ldm): Likewise.
9177
595717e6
VS
91782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9179
9180 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
9181 sane value to avoid a spurious warning.
9182
c4b7e588
VS
91832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9184
9185 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
9186 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
9187
59824957
VS
91882012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9189
9190 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
9191 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
9192
70115b99
VS
91932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9194
9195 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
9196 hardcoding the relevant info.
9197
56733740
VS
91982012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9199
9200 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
9201 missing const qualifiers.
9202 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
9203
43481481
VS
92042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9205
9206 * util/getroot.c [__APPLE__]: Add missing includes.
9207 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
9208
3cb38f01
VS
92092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9210
9211 * util/grub-mkimage.c (generate_image): Silence spurious warning.
9212
d9dbf11e
VS
92132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9214
9215 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
9216 avoid conflicts.
9217
0c42a45d
VS
92182012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9219
9220 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
9221
46c34eb0
VS
92222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9223
9224 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
9225 and grub_file_close call.
9226
99ce1597
VS
92272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9228
9229 Add LZSS Mach-O support (needed for new xnu kernelcache).
9230
9231 * grub-core/Makefile.core.def (xnu): Add file lzss.c
9232 * grub-core/loader/lzss.c: New file.
9233 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
9234 on Mach-O open failure.
9235 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
9236 Don't free cmdsXX in uncompressedXX is set.
9237 (grub_macho_file): Init new fields.
9238 New argument is_64bit. All users updated.
9239 Handle compressed. Error out if no suitable architecture is found.
9240 Don't close file.
9241 (grub_macho_open): New argument is_64bit. All users updated.
9242 * grub-core/loader/macho32.c: Add defines for new fields.
9243 * grub-core/loader/macho64.c: Likewise.
9244 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
9245 (grub_macho_parse): Handle compressed.
9246 Defer actual processing if compressed.
9247 (grub_macho_cmds_iterate): Decompress if compressed. New argument
9248 "filename". All users updated.
9249 (grub_macho_size): New argument "filename". All users updated.
9250 (grub_macho_get_entry_point): Likewise.
9251 (grub_macho_load): Handle compressed.
9252 * include/grub/macho.h (grub_macho_lzss_header): New struct.
9253 (GRUB_MACHO_LZSS_OFFSET): New define.
9254 (grub_decompress_lzss): New proto.
9255 * include/grub/machoload.h (grub_macho_file): New fields to handle
9256 compressed.
9257 (grub_macho_contains_macho64): Remove proto.
9258 (grub_macho_contains_macho32): Likewise.
9259 * util/grub.d/30_os-prober.in: Use kernel cache if available.
9260
ebd17d6f
VS
92612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9262
9263 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
9264
2702b4e4
VS
92652012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
9266
9267 Fix make dist.
9268
9269 * Makefile.am (starfield_theme_files): New var.
9270 (starfield_DATA): Use starfield_theme_files.
9271 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
9272 Add bootcheck-related files.
9273 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
9274 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
9275 and font_char_metrics.txt.
9276 * grub-core/Makefile.core.def (kernel): Update extra_dist.
9277 (setjmp): Add lib/ia64/longjmp.S.
9278 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
9279 * po/POTFILES.in: Regenerate.
9280 * po/Rules-swiss: use DISTFILES.common.extra2 and not
9281 DISTFILES.common.extra1.
9282 * util/devicemap.c: Removed.
9283 * grub-core/lib/i386/relocator_backward.S: Likewise.
9284 * util/import_gcry.py: Remove unused files. Add extra_dist for
9285 ChangeLog.
9286
cf1adfdf
VS
92872012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
9288
9289 * grub-core/gettext/gettext.c (grub_mofile_open): Call
9290 grub_gettext_delete_list before changing grub_gettext_max to avoid
9291 running out of array bounds.
9292
92932012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
9294
9295 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
9296 grub_vga_text_init/grub_vga_text_fini.
9297
cf1adfdf 92982012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
9299
9300 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
9301
541d92e9
VS
93022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9303
9304 * configure.ac: Bump to 2.00~beta0.
9305
7931dddf
VS
93062012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9307
9308 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
9309 missing initialisation.
9310
f1b16fa3
VS
93112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9312
9313 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
9314
83ddae23
VS
93152012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9316
9317 Support v2 xnu boot arguments.
9318
9319 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
9320 New argument fsbfreq_out.
9321 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
9322 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
9323 be used.
9324 * grub-core/loader/machoXX.c (grub_macho_load): New argument
9325 darwin_version.
9326 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
9327 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
9328 (grub_xnu_boot_params): Rename to ...
9329 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
9330 (grub_xnu_boot_params_v2): New struct.
9331
dc693fe6
VS
93322012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9333
9334 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
9335 zeroing of CRC field before computing CRC.
9336
5a6e39c2
VS
93372012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9338
9339 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
9340 Change order of allocations to decrease fragmentation.
9341
6c21f5d7
VS
93422012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9343
9344 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
9345
cfe456dc
CW
93462012-02-27 Colin Watson <cjwatson@ubuntu.com>
9347
9348 Use write-combining MTRR to speed up video with buggy BIOSes.
9349
9350 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
9351 (cpuid): New define.
9352 (rdmsr): Likewise.
9353 (wrmsr): Likewise.
9354 (mtrr_base): Likewise.
9355 (mtrr_mask): Likewise.
9356 (grub_vbe_enable_mtrr_entry): New function.
9357 (grub_vbe_enable_mtrr): Likewise.
9358 (grub_vbe_disable_mtrr): Likewise.
9359 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
9360 control off to BIOS.
9361 (grub_video_vbe_init): Fill mtrr.
9362 (grub_video_vbe_fini): Disable mtrr.
9363 (grub_video_vbe_get_info_and_fini): Likewise.
9364 (grub_video_vbe_setup): Enable mtrr.
9365
e3c78337
CW
93662012-02-27 Colin Watson <cjwatson@ubuntu.com>
9367
9368 * include/grub/partition.h (grub_partition_map): Change prototype of
9369 embed to take a maximum value for nsectors.
9370 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
9371 * include/grub/fs.h (grub_fs): Likewise.
9372 * grub-core/partmap/msdos.c (embed_signatures): New array.
9373 (pc_partition_map_embed): Check for and avoid sectors matching any
9374 of the signatures in embed_signatures, up to max_nsectors.
9375 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
9376 returned sector map to max_nsectors.
9377 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
9378 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
9379 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
9380 * util/grub-setup.c (setup): Allow for the embedding area being
9381 split into multiple blocklists. Tell dest_partmap->embed the
9382 maximum number of sectors we care about.
9383
93842012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9385
9386 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
9387 Specify blocklist_install and reserver_first_sector for all fs.
9388 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
9389 blocklists.
9390
984b973f
VS
93912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9392
9393 * util/grub-install.in: Clarify strings.
9394 Fix source dir check.
9395
f122e0d6
RL
93962012-02-27 Richard Laager <rlaager@wiktel.com>
9397
9398 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
9399 "zfs" and "fuse.zfs" as synonyms.
9400
071114bb
VS
94012012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9402
9403 * configure.ac: Put platform and target_cpu substitutions back since
9404 they are used for directories.
9405
817e6abc
RL
94062012-02-27 Richard Laager <rlaager@wiktel.com>
94072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9408
9409 * util/grub.d/10_linux.in: Add ZFS-related arguments.
9410 * util/grub.d/20_linux_xen.in: Likewise.
9411
897b7419
RL
94122012-02-27 Richard Laager <rlaager@wiktel.com>
9413
9414 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
9415 with full paths.
9416
a414bd15
RL
94172012-02-27 Richard Laager <rlaager@wiktel.com>
9418
9419 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
9420 unescape.
9421
30ac48c4
VS
94222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9423
9424 Don't use insecure popen in getroot.
9425
9426 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
9427 (exec_pipe): ... here.
9428 (find_root_devices_from_poolname): Use exec_pipe.
9429
53f13848
VS
94302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9431
9432 Remove platform and target_cpu replacement.
9433
9434 * configure.ac: Remove platform and target_cpu substitutions.
9435 * tests/util/grub-shell.in: Use modinfo.
9436 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
9437 explicitly.
9438
90cb2803
VS
94392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9440
9441 Autodetect platform in grub-install but allow override.
9442
9443 * util/grub-install.in: Autodetect platform. Support --target and
9444 --directory. Read platform from modinfo.sh.
9445
b9136427
VS
94462012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9447
9448 Support btrfs multi-volume probe.
9449
9450 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
9451 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
9452 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
9453 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
9454 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
9455 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
9456 grub_find_root_devices_from_btrfs if on btrfs.
9457
c36e5cd1
VS
94582012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9459
9460 Remove any awareness of *.c util files about target.
9461
9462 * Makefile.util.def (grub-setup): Split to ...
9463 (grub-bios-setup): ... and this.
9464 (grub-sparc64-setup): ... and this.
9465 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
9466 * docs/man/grub-setup.h2m: Split into ...
9467 * docs/man/grub-sparc64-setup.h2m: ... this.
9468 * docs/man/grub-bios-setup.h2m: ... and this.
9469 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
9470 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
9471 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
9472 (grub_target_addr_t): Remove.
9473 (grub_target_size_t): Remove.
9474 (grub_target_ssize_t): Remove.
9475 * util/grub-install.in: Use new grub-*-setup.
9476 * util/grub-mkimagexx.c (Elf_Word): New define.
9477 (Elf_Half): Likewise.
9478 (Elf_Section): Likewise.
9479 (ELF_ST_TYPE): Likewise.
9480 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
9481 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
9482
584b2f8a
VS
94832012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9484
9485 Replace grub_target_addr with more appropriate types.
9486
9487 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
9488 grub_target_addr with grub_addr.
9489 * grub-core/commands/iorw.c (grub_cmd_read): Replace
9490 grub_target_addr with grub_port.
9491 (grub_cmd_write): Likewise.
9492 * grub-core/commands/memrw.c (grub_cmd_read): Replace
9493 grub_target_addr with grub_addr.
9494 (grub_cmd_write): Likewise.
9495 * grub-core/video/efi_uga.c (find_line_len): Likewise.
9496
5a0dc6fb
VS
94972012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9498
9499 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
9500 const qualifier for vendor_guid.
9501
786aff6e
VS
95022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9503
9504 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
9505 const qualifier.
9506 (efiemu_memequal): Likewise.
9507 (find_variable): Likewise.
9508
49017b17
VS
95092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9510
9511 Fix missing console prototype on qemu-mips.
9512
9513 * include/grub/mips/qemu_mips/console.h: New file.
9514
c5988629
MG
95152012-02-27 Matthew Garrett <mjg@redhat.com>
95162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9517
9518 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
9519 * include/grub/efi/efi.h: Likewise.
9520 * include/grub/efi/api.h: Add guid for EFI-specified variables.
9521 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
9522 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
9523 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
9524 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
9525 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
9526
e33f8d69
MG
95272012-02-27 Matthew Garrett <mjg@redhat.com>
9528
9529 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
9530
fb312cd9
VS
95312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9532
9533 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
9534 error.
9535
7134247c
VS
95362012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9537
9538 * configure.ac: Remove inappropriate use of program_transform_name
9539 on grubdir and bootdir but allow explicit specification of those
9540 variables.
9541
6a313124
VS
95422012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9543
9544 * util/grub-mknetdir.in (grub_prefix): Removed.
9545 (subdir): Use @bootdirname@ and @grubdirname@.
9546
2311c5ca
VS
95472012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9548
9549 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
9550
7d5d60f7
VS
95512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9552
9553 * po/POTFILES.in: Regenerated.
9554
8151bc82
VS
95552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9556
9557 Remove improper use of program_transform_name on pkglibrootdir.
9558
9559 * configure.ac (pkglibrootdir): Removed.
9560 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
9561 * util/grub-mkimage.c: Likewise.
9562
b4a6a533
VS
95632012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9564
9565 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
9566 warning.
9567
668f304f
VS
95682012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9569
9570 * util/grub-install.in: Use file identifier if no UUID is available
9571 or user explicitly prompted for it.
9572
665f2341
NP
95732012-02-27 Navdeep Parhar <nparhar@gmail.com>
9574
9575 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
9576 (freebsd_get_zfs): New function.
9577 (grub_freebsd_boot): Pass zfs UUID.
9578 (grub_cmd_freebsd): Set zfs UUID.
9579
8151bc82 95802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
9581
9582 * conf/Makefile.common (platformdir): Base on pkglibdir and not
9583 pkglibrootdir.
9584
e4c498a1
MG
95852012-02-27 Mike Gilbert <floppym@gentoo.org>
9586
9587 Add configure flag to control libzfs integration.
9588
9589 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
9590
1e9a9a3f
VS
95912012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9592
9593 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
9594 device.
9595 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
9596 small devices.
9597
036985b8
VS
95982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9599
9600 Remove grub_{modname}_init and grub_{modname}_fini. They should never
9601 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
9602 be used on non-modules.
9603
9604 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
9605 Rename to grub_boot_init.
9606 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
9607 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
9608 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
9609 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
9610 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
9611 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
9612 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
9613 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
9614 includes.
9615 (grub_machine_init): Remove empty inits.
9616 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
9617 includes.
9618 (grub_machine_init): Remove empty inits.
9619 * grub-core/term/arc/console.c: Remove explicit proto.
9620 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
9621 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
9622 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
9623 grub_at_keyboard_fini.
9624 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
9625 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
9626 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
9627 grub_gfxterm_fini.
9628 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
9629 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
9630 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
9631 grub_vgatext_fini.
9632 * grub-core/term/ieee1275/console.c: Remove explicit proto.
9633 * grub-core/term/serial.c (GRUB_MOD_INIT)
9634 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
9635 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
9636 grub_serial_fini.
9637 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
9638 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
9639 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
9640 grub_terminfo_fini.
9641 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
9642 (GRUB_MOD_FINI): Likewise.
9643 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
9644 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
9645 (GRUB_MOD_FINI) [LOONGSON]: Rename to
9646 grub_video_radeon_fuloong2e_fini.
9647 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
9648 [LOONGSON]: Rename to grub_video_sis315pro_init.
9649 (GRUB_MOD_FINI) [LOONGSON]: Rename to
9650 grub_video_sis315pro_fini.
9651 * grub-core/video/sm712.c (GRUB_MOD_INIT)
9652 [LOONGSON]: Rename to grub_video_sm712_init.
9653 (GRUB_MOD_FINI) [LOONGSON]: Rename to
9654 grub_video_sm712_fini.
9655 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
9656 (grub_at_keyboard_fini): Likewise.
9657 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
9658 Don't declare grub_{modname}_init.
9659 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
9660 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
9661 New proto.
9662 (grub_keylayouts_fini) [!EMU]: Likewise.
9663 * include/grub/serial.h (grub_serial_init) [!EMU]:
9664 New proto.
9665 (grub_serial_fini) [!EMU]: Likewise.
9666 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
9667 New proto.
9668 (grub_terminfo_fini) [!EMU]: Likewise.
9669 * include/grub/video.h (grub_font_init) [!EMU]:
9670 New proto.
9671 (grub_font_fini) [!EMU]: Likewise.
9672 (grub_gfxterm_init) [!EMU]: Likewise.
9673 (grub_gfxterm_fini) [!EMU]: Likewise.
9674 (grub_video_sm712_init) [!EMU]: Likewise.
9675 (grub_video_sm712_fini) [!EMU]: Likewise.
9676 (grub_video_sis315pro_init) [!EMU]: Likewise.
9677 (grub_video_sis315pro_fini) [!EMU]: Likewise.
9678 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
9679 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
9680
d5534665
VS
96812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9682
9683 Make nand a prefix for nand devices.
9684
9685 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
9686
10133b5f
VS
96872012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9688
9689 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
9690 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
9691
8e307a62
VS
96922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9693
9694 * include/grub/env.h (grub_env_find): Remove prototype.
9695 * grub-core/kern/env.c (grub_env_find): Make static.
9696 (grub_env_set): Remove useless set.
9697
a4c65f34
VS
96982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9699
9700 * grub-core/kern/i386/realmode.S: Remove useless align.
9701
d87893d5
VS
97022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9703
9704 * include/grub/dl.h (grub_dl_load_file): Don't export.
9705
50159add
VS
97062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9707
9708 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
9709 grub_dprintf.
9710
b2582b84
VS
97112012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9712
9713 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
9714 grub_errors.
9715 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
9716 not reloading whole superblock but only the part which is really needed.
9717 Remove useless grub_errors.
9718 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
9719 grub_errors.
9720
e2a83395
VS
97212012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9722
9723 Don't export grub_get_rtc.
9724
9725 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
9726 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
9727
e7d2a906
VS
97282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9729
9730 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
9731
6cf1363b
VS
97322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9733
9734 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 9735 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 9736
eece3349
VS
97372012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9738
9739 Remove prio_list.
9740
9741 * include/grub/list.h (grub_prio_list): Removed.
9742 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
9743 GRUB_COMMAND_PRIO_MASK.
9744 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
9745 GRUB_COMMAND_FLAG_ACTIVE.
9746 (grub_prio_list_insert): Removed.
9747 (grub_prio_list_remove): Likewise.
9748 (GRUB_AS_PRIO_LIST): Likewise.
9749 (GRUB_AS_PRIO_LIST_P): Likewise.
9750 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
9751 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
9752 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
9753 * grub-core/kern/command.c (grub_register_command_prio): Inline
9754 the prio_list code.
9755 (grub_unregister_command): Likewise.
9756
94f064b4
VS
97572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9758
9759 Fix interrupt mixup from previous commit.
9760
9761 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
9762 (grub_realidt): New var.
9763 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
9764 Load idt.
9765 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
9766 New declaration.
9767 (grub_relocator16_boot): Set grub_relocator16_idt.
9768 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
9769 (LOCAL(realidt)): ... this.
9770 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
9771 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
9772 (grub_realidt): New variable.
9773
27317084
VS
97742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9775
9776 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
9777 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
9778 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
9779 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
9780 Gettextize.
9781 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
9782 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
9783 * po/POTFILES.in: Regenerate.
9784
47b40053
VS
97852012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9786
9787 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
9788 errors.
9789
2b343101
VS
97902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9791
9792 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
9793 \0.
9794 (add_length): Likewise.
9795
ff27c3dd
LK
97962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
97972012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
9798
9799 GDB serial and backtrace support.
9800
9801 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
9802 (prot_to_real): Likewise.
9803 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
9804 * grub-core/Makefile.core.def (backtrace): New module.
9805 (gdb): Likewise.
9806 * grub-core/gdb/cstub.c: New file.
9807 * grub-core/gdb/gdb.c: Likewise.
9808 * grub-core/gdb/i386/idt.c: Likewise.
9809 * grub-core/gdb/i386/machdep.S: Likewise.
9810 * grub-core/gdb/i386/signal.c: Likewise.
9811 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 9812 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
9813 * include/grub/backtrace.h: Likewise.
9814 * include/grub/gdb.h: Likewise.
9815 * include/grub/i386/gdb.h: Likewise.
9816
98172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
9818
9819 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
9820 New function.
9821 (add_length): Likewise.
9822 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
9823 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
9824 proto.
9825 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
9826 __argp_get_display_len.
9827
ff27c3dd 98282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
9829
9830 $"..." support in scripts.
9831
9832 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
9833 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
9834 * grub-core/script/yylex.l: Likewise.
9835 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
9836 value.
9837
ff27c3dd 98382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
9839
9840 * gentpl.py: Remove obsolete pkglib_DATA handling.
9841
ff27c3dd 98422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
9843
9844 Don't transform PACKAGE_TARNAME following a discussion on autoconf
9845 mailing list.
9846
9847 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
9848 * util/grub-kbdcomp.in: Likewise.
9849 * util/grub-mkconfig.in: Likewise.
9850 * util/grub-mkconfig_lib.in: Likewise.
9851 * util/grub-mknetdir.in: Likewise.
9852 * util/grub-mkrescue.in: Likewise.
9853 * util/grub-mkstandalone.in: Likewise.
9854 * util/grub-reboot.in: Likewise.
9855 * util/grub-set-default.in: Likewise.
9856 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9857
ff27c3dd 98582012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
9859
9860 Remove GRUB_PREFIX.
9861
9862 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
9863 * util/grub.d/00_header.in: Compute prefix in the only place it's still
9864 used for backward compatibility.
9865
ff27c3dd 98662012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
9867
9868 Add new all_video module.
9869
9870 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
9871 * grub-core/Makefile.core.def (all_video): New module.
9872 * grub-core/genmoddep.awk: Generate dependency of all_video from
9873 video.lst.
9874 * grub-core/lib/fake_module.c: New file.
9875 * grub-core/normal/main.c (features): Add feature_all_video_module.
9876 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
9877 don't do explicit search again.
47454da5 9878 insmod all_video in load_video if available.
22c7ce85 9879
ff27c3dd 98802012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
9881
9882 Another round of string clarification and adding TRANSLATORS comments.
9883
ff27c3dd 98842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
9885
9886 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
9887
ff27c3dd 98882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
9889
9890 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
9891 to grub_ssize_t.
9892 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
9893 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
9894
ff27c3dd 98952012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
9896
9897 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
9898 trailing newline implicitly. All users updated.
9899
ff27c3dd 99002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
9901
9902 Implement serial on IEEE1275 and EFI.
9903
9904 * docs/grub.texi (Platform-specific limitations): Fix the columen video
9905 on emu. Mention arc and emu as the only platforms without serial
9906 support.
9907 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
9908 ieee1275 platforms.
9909 * grub-core/term/efi/serial.c: New file.
9910 * grub-core/term/ieee1275/serial.c: Likewise.
9911 * grub-core/term/serial.c (grub_serial_find): Disable direct port
9912 specification if no ns8250 driver is available.
9913 (grub_cmd_serial): Likewise.
9914 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
9915 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
9916 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
9917 (grub_efi_parity_type_t): New type.
9918 (grub_efi_stop_bits_t): Likewise.
9919 (grub_efi_serial_io_interface): New struct.
9920 * include/grub/serial.h (grub_serial_port): Make 'broken' field
9921 available for all interfaces.
9922 Add EFI and IEEE1275 fields.
9923 (grub_ofserial_init): New proto.
9924 (grub_efiserial_init): Likeiwse.
9925 * util/grub.d/00_header.in: Don't check for the presence of serial
9926 module.
9927
ff27c3dd 99282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
9929
9930 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
9931 name as if it was an alias.
9932
114076ef
VS
99332012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
9934
9935 * grub-core/commands/lsacpi.c (options): Fix typo.
9936
6a656b0e
VS
99372012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
9938
9939 Convert grub-emu to argp.
9940
9941 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
9942 emu.
9943 * util/argp_common.c: Rename to ...
9944 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
9945 Add missing includes.
9946 * grub-core/kern/emu/main.c: Convert to argp.
9947 * po/POTFILES.in: Regenerate.
9948 * util/grub-install.in (usage): Make first letter lowcase in messages
9949 for uniformity.
9950 * util/grub-setup.c (options): Likewise.
9951
1e3f8ae8
VS
99522012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9953
9954 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
9955 Put back accidently commented-out code.
9956
ed167a80
VS
99572012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9958
9959 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
9960 loop check using Brent algorithm.
9961 (grub_hfsplus_btree_search): Likewise.
9962
6753c0ec
VS
99632012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9964
9965 * util/grub-install.in: Fix usage of wrong device for PreP install.
9966
4e27343f
VS
99672012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9968
9969 * conf/Makefile.common (CFLAGS_GNULIB): Add
9970 -Wno-unsafe-loop-optimizations.
9971 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
9972 on tools.
9973 * grub-core/commands/legacycfg.c: Add pragma to skip
9974 -Wunsafe-loop-optimizations.
9975 (check_password_md5_real): Fix loop counter type.
9976 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
9977 reading.
9978 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
9979 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
9980 loop condition.
9981 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
9982 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
9983 * grub-core/net/net.c (grub_net_route_address): Add safety loop
9984 condition.
9985 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
9986 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
9987 avoid possible infinite loops.
9988 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
9989 and -Wunsafe-loop-optimizations.
9990 * grub-core/script/yylex.l: Likewise.
9991 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
9992 (print_glyphs): Avoid infinite loops.
9993 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
9994
697f18b0
GS
99952012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
9996
9997 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
9998 to avoid infinite loop.
9999 (disp_acpi_rsdt_table): Likewise.
10000
274416e8
VS
100012012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10002
10003 * grub-core/font/font.c (grub_font_load): Add support for default
10004 path for fonts ($prefix/fonts).
10005 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
10006 for checking if string is a path.
10007 * grub-core/normal/main.c (features): Add feature_default_font_path.
10008 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
10009 * util/grub.d/00_header.in: Use default directory if possible.
10010 * util/grub-install.in: Install unicode.pf2.
10011
b3e08622
VS
100122012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10013
10014 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
10015 * po/Rules-swiss: New file.
10016 * po/swiss.sed: Likewise.
10017
fe42ce09
VS
100182012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10019
10020 * grub-core/fs/btrfs.c (find_device): Fix typos.
10021 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
10022 * util/grub-mkrelpath.c (argp_parser): Likewise.
10023 Reported by: Yuri Chornoivan.
10024
72f1d065
DO
100252012-02-23 Dalet Omega <daletomega@gmail.com>
10026
10027 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
10028 for usual informative messages.
10029
c5884973
DO
100302012-02-23 Dalet Omega <daletomega@gmail.com>
10031
10032 Starfield theme.
10033
10034 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
10035 * conf/Makefile.common: Define starfielddir.
10036 * configure.ac: Configure starfield.
10037 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
10038 * themes/starfield/README: Likewise.
10039 * themes/starfield/blob_w.png: Likewise.
10040 * themes/starfield/boot_menu_c.png: Likewise.
10041 * themes/starfield/boot_menu_e.png: Likewise.
10042 * themes/starfield/boot_menu_n.png: Likewise.
10043 * themes/starfield/boot_menu_ne.png: Likewise.
10044 * themes/starfield/boot_menu_nw.png: Likewise.
10045 * themes/starfield/boot_menu_s.png: Likewise.
10046 * themes/starfield/boot_menu_se.png: Likewise.
10047 * themes/starfield/boot_menu_sw.png: Likewise.
10048 * themes/starfield/boot_menu_w.png: Likewise.
10049 * themes/starfield/slider_c.png: Likewise.
10050 * themes/starfield/slider_n.png: Likewise.
10051 * themes/starfield/slider_s.png: Likewise.
10052 * themes/starfield/src/blob_nw.xcf: Likewise.
10053 * themes/starfield/src/bootmenu/: Likewise.
10054 * themes/starfield/src/bootmenu/center.xcf: Likewise.
10055 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
10056 * themes/starfield/src/bootmenu/side.xcf: Likewise.
10057 * themes/starfield/src/slider_c.xcf: Likewise.
10058 * themes/starfield/src/slider_n.xcf: Likewise.
10059 * themes/starfield/src/slider_s.xcf: Likewise.
10060 * themes/starfield/src/terminalbox/: Likewise.
10061 * themes/starfield/src/terminalbox/center.xcf: Likewise.
10062 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
10063 * themes/starfield/src/terminalbox/side.xcf: Likewise.
10064 * themes/starfield/starfield.png: Likewise.
10065 * themes/starfield/terminal_box_c.png: Likewise.
10066 * themes/starfield/terminal_box_e.png: Likewise.
10067 * themes/starfield/terminal_box_n.png: Likewise.
10068 * themes/starfield/terminal_box_ne.png: Likewise.
10069 * themes/starfield/terminal_box_nw.png: Likewise.
10070 * themes/starfield/terminal_box_s.png: Likewise.
10071 * themes/starfield/terminal_box_se.png: Likewise.
10072 * themes/starfield/terminal_box_sw.png: Likewise.
10073 * themes/starfield/terminal_box_w.png: Likewise.
10074 * themes/starfield/theme.txt: Likewise.
10075
17d73325
VS
100762012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10077
10078 * util/grub.d/00_header.in: Add missing export theme.
10079
dbebaf92
VS
100802012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10081
10082 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
10083 already included.
10084 Reported by: Eren D.
10085
3d68bffb
VS
100862012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10087
10088 * conf/Makefile.common (grubdatadir): Removed.
10089 (Makefile.am): Move eveything grubdata to pkgdata.
10090
4b59234d
VS
100912012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10092
10093 * grub-core/commands/acpihalt.c (get_sleep_type):
10094 Remove unused variable.
10095
463dcadc
VS
100962012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10097
10098 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
10099 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
10100 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
10101 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
10102 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
10103 i18n with gettext no-op.
10104 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
10105 GRUB_ACPI_OPCODE_STRING_CONST.
10106 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
10107 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
10108
e5b90c82
VS
101092012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10110
10111 * po/POTFILES.in: Regenerate.
10112
2a704ca9
VS
101132012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10114
10115 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
10116 -Wno-error=missing-noreturn.
10117
84f9d341
VS
101182012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10119
10120 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
10121 condition to avoid possibly infinite loops.
10122 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
10123 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
10124
d46683f9
VS
101252012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10126
10127 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
10128 condition to avoid possibly infinite loops.
10129
c44866b2
VS
101302012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10131
10132 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
10133 on show_error.
10134
96790539
VS
101352012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10136
10137 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
10138
1ba7e295
VS
101392012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10140
10141 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
10142
21ffe8f1
VS
101432012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10144
10145 * util/bin2h.c (usage): Add missing attribute noreturn.
10146
0ccb6b3c
VS
101472012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10148
10149 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
10150 if the size isn't divisible by 512.
10151
b00d7fb6
VS
101522012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10153
10154 Make list_push and list_remove functions rather than inline functions
10155 to decrease size and avoid aliasing violations.
10156
10157 * include/grub/list.h (grub_list_push): Move to ...
10158 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
10159 * include/grub/list.h (grub_list_remove): Move to ...
10160 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
10161
9d369087
VS
101622012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10163
10164 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
10165 and -Wunused-result.
10166
af0250d9
VS
101672012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
10168
10169 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
10170 Reported by: Seth Goldberg
10171
aad32b14
VS
101722012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
10173
10174 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
10175
ac96441c
ST
101762012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
10177
10178 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
10179 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
10180 command line.
10181 * docs/grub.texi (Simple configuration): Document
10182 GRUB_CMDLINE_GNUMACH.
10183
101842012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
10185
10186 * conf/Makefile.common (platform_SCRIPTS): New variable.
10187 (platform_PROGRAMS): Likewise.
10188 * gentpl.py: Mark *,module and *.image for install.
10189 * grub-core/gdb_grub.in: Add a notice of expected environment.
10190 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
10191 (gmodule.pl): Likewise.
10192
ac96441c 101932012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
10194
10195 Replace grub_checkkey with grub_getkey_noblock.
10196
10197 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
10198 (grub_getkey_noblock): ... this. All users updated.
10199
ac96441c 102002012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
10201
10202 * grub-core/kern/emu/console.c: Move to ...
10203 * grub-core/term/emu/console.c: ...here.
10204 (grub_ncurses_getkey): Fix return value if no key is detected.
10205
e51b5666
VS
102062012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10207
10208 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
10209 (grub_unit_test_fini): Likewise.
10210 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
10211
102122012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10213
10214 * include/grub/test.h (GRUB_UNIT_TEST)
10215
d9a62292
VS
102162012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10217
10218 * grub-core/script/execute.c (grub_script_break): Clarify logic.
10219 Better error handling.
10220 (grub_script_return): Likewise.
10221 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
10222
77c9182f
VS
102232012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10224
10225 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
10226 rimplicit redifinition.
10227
edb13cf9
VS
102282012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10229
10230 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
10231 GRUB.
10232
a9e9dc7c
VS
102332012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10234
10235 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
10236 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
10237 prompt here.
10238
b4ba8e02
VS
102392012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10240
10241 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
10242 as GRUB_ERR_BUG. Don't malloc if no device is available.
10243
dded5540
VS
102442012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10245
10246 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
10247 Mark calling with invalid term as GRUB_ERR_BUG.
10248
0cf69874
VS
102492012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10250
10251 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
10252 packets rather than raising an error.
10253
59bfe502
VS
102542012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10255
10256 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
10257 in if.
10258
db5fc596
VS
102592012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10260
10261 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
10262 diagnostic to dprintf.
10263 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10264
e4b7f404
VS
102652012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10266
10267 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
10268 device name.
10269
e7b02f9e
VS
102702012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10271
10272 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
10273 (grub_ntfs_iterate_dir): Likewise.
10274
0331e102
VS
102752012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10276
10277 Efiemu stylistic fixes and gettext.
10278
10279 * grub-core/efiemu/i386/loadcore32.c
10280 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
10281 * grub-core/efiemu/i386/loadcore64.c
10282 (grub_arch_efiemu_relocate_symbols64): Likewise.
10283 * grub-core/efiemu/i386/pc/cfgtables.c
10284 (grub_machine_efiemu_init_tables): Likewise.
10285 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
10286 (grub_efiemu_loadcore_initXX): Add a filename argument.
10287 All users updated.
10288 Improved error message.
10289 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
10290 Add a filename argument.
10291 All users updated.
10292 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
10293 Reclassify double relocation as GRUB_ERR_BUG.
10294
306fc074
VS
102952012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10296
10297 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
10298 handling.
10299
794d8ef2
VS
103002012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10301
10302 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
10303 on partition.
10304
103052012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
10306
10307 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
10308
794d8ef2 103092012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
10310
10311 Improve string. Gettextize.
10312
78dde88e
VS
103132012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10314
10315 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
10316 utils.
10317 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
10318
4786a90f
VS
103192012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10320
10321 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
10322 [GRUB_UTIL]: New function.
10323 (insert_array) [GRUB_UTIL]: Store partmaps.
10324 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
10325 partmaps.
10326 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
10327 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
10328 (probe_abstraction): Print diskfilter and not raid.
10329 Reported by: Lennart Sorensen
10330
0b6225bd
VS
103312012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10332
10333 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
10334 * util/grub-mkimagexx.c (MASK3): New define.
10335 (add_value_to_slot_20b): Use MASK3.
10336 (add_value_to_slot_21): Likewise.
10337 (relocate_addresses): Fix format specification.
10338 (load_image): Explicitly init symtab_section.
10339
b055f8f6
VS
103402012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10341
10342 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
10343 (grub_util_biosdisk_get_grub_dev): Fix format specification.
10344
b77c2fb7
VS
103452012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10346
10347 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
10348 on powerpc.
10349 Reported by: Lennart Sorensen
10350
e3ec28ab
VS
103512012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10352
10353 * gentpl.py: Add missing license header.
10354 * docs/grub.texi: Update copyright year.
10355
c8d9ead6
GS
103562012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
10357
10358 Source grub-mkconfig_lib from the build directory at build time.
10359 Suggested by: Vladimir Serbinenko.
10360
10361 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
10362 * util/grub-install.in: Define pkgdatadir if not already set, and source
10363 grub-mkconfig_lib from there.
10364 * util/grub-kbdcomp.in: Likewise.
10365 * util/grub-mkconfig.in: Likewise.
10366 * util/grub-mknetdir.in: Likewise.
10367 * util/grub-mkrescue.in: Likewise.
10368 * util/grub-mkstandalone.in: Likewise.
10369 * util/grub-reboot.in: Likewise.
10370 * util/grub-set-default.in: Likewise.
10371 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10372
ebcecdf1
VS
103732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10374
10375 Increase warning level.
10376
10377 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
10378 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
10379 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
10380 (TARGET_CFLAGS): Likewise.
10381 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
10382 * grub-core/Makefile.core.def (decompressor_xz): Add
10383 -Wno-unreachable-code.
10384 (normal): Add -Wno-redundant-decls.
10385 (xzio): Add -Wno-unreachable-code.
10386 (lzopio): Add -Wno-redundant-decls -Wno-error.
10387 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
10388 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
10389 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
10390 * grub-core/kern/dl.c: Add exception to -Wcast-align.
10391 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
10392 * grub-core/kern/i386/coreboot/init.c: Add exception to
10393 -Wsuggest-attribute=noreturn.
10394 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
10395 * grub-core/kern/ia64/dl_helper.c: Likewise.
10396 * grub-core/kern/mips/dl.c: Likewise.
10397 * grub-core/kern/sparc64/dl.c: Likewise.
10398 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
10399 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
10400 (memcmp): Likewise.
10401 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
10402 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
10403 * grub-core/loader/mips/linux.c: Likewise.
10404 * grub-core/loader/multiboot_elfxx.c: Likewise.
10405 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
10406 * grub-core/video/sm712.c: Add exception to -Wcast-align.
10407 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
10408 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
10409 fixme.
10410 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
10411 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
10412 Fix prototype.
10413
37bb97fe
VS
104142012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10415
10416 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
10417 address.
10418
29a3550b
VS
104192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10420
10421 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
10422 Avoid improper use of strings.
10423 (grub_cmd_legacy_initrdnounzip): Likewise.
10424
dfdffd0d
VS
104252012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10426
10427 * include/grub/emu/misc.h (grub_util_warn): Add missing format
10428 attribute.
10429 (grub_util_info): Likewise.
10430 (grub_util_error): Likewise.
10431
102fae4a
VS
104322012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10433
10434 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
10435 * util/grub-fstest.c (fstest): Likewise.
10436
7e94d044
VS
104372012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10438
10439 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
10440 (grub_md_sha512_real): Likewise.
10441 (grub_util_get_geli_uuid): Likewise.
10442 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
10443 (grub_util_biosdisk_open): Fix format specification.
10444 Respect format security.
10445 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
10446 (xrealloc): Likewise.
10447 (xasprintf): Likewise.
10448
5ebd9769
VS
104492012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10450
10451 * util/import_gcry.py: Include grub/crypto.h in init.c.
10452
495fc8c1
VS
104532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10454
10455 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
10456 (generate_image): Make prefix a const char *.
10457 Fix format specifications. Respect format security.
10458 Avoid void * arithmetics.
10459 Avoid shadowing.
10460 (argp_parser): Remove unused variable. Respect format security.
10461 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
10462 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
10463 (count_funcs): Remove unused variable.
10464 (relocate_addresses): Fix format specification.
10465 Disable x86-64 with elf32. Remove unused variables.
10466 (add_fixup_entry): Avoid shadowing.
10467 (make_reloc_section): Fix format specification.
10468 Use assert.
10469 (locate_sections): Fix format specifications.
10470 (load_image): Avoid shadowing.
10471
043c2ea3
VS
104722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10473
10474 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
10475 Fix format specifications. Respect format security.
10476 Don't translate already translated grub_errmsg.
10477 (argp_parser): Remove unused variable
10478
3ec65a81
VS
104792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10480
10481 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
10482
a4d9fe4a
VS
104832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10484
10485 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
10486 (main): Likewise. Use xmalloc. Respect format security.
10487
15b81d49
VS
104882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10489
10490 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
10491 a const char *.
10492 (argp_parser): Remove unused variable.
10493
31731fc0
VS
104942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10495
10496 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
10497 (add_pixel): Make static.
10498 (add_font): Likewise.
10499 (write_string_section): Make name and str a const char *.
10500 (write_be16_section): Make name a const char *.
10501 (print_glyphs): Make static.
10502 (write_font_ascii_bitmap): Likewise.
10503 (write_font_width_spec): Likewise.
10504 (write_font_pf2): Likewise.
10505 (argp_parser): Remove unused variable.
10506 Respect format security.
10507 (main): Avoid shadowing. Respect format security.
10508
0809527b
VS
105092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10510
10511 * util/grub-editenv.c (argp_parser): Make static.
10512 (create_envblk_file): Use xmalloc.
10513 (open_envblk_file): Likewise.
10514 Resepect format security.
10515 (set_variables): Respect format security.
10516
45b0c8b7
VS
105172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10518
10519 * util/getroot.c (grub_find_device): Respect format security.
10520 (get_mdadm_uuid): Remove unused variable.
10521 (grub_util_pull_device): Dont call gettext on already translated
10522 grub_errmsg.
10523 (find_system_device): Remove unused variable.
10524 (grub_util_get_grub_dev): Likewise.
10525 (grub_make_system_path_relative_to_its_root): Respect format security.
10526
1b024b4e
VS
105272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10528
10529 * util/grub-fstest.c (execute_command): Make first argument
10530 a const char *.
10531 (read_file): Avoid shadowing.
10532 Reuse underlying error message if device open fails.
10533 (cmd_cmp): Respect format security.
10534 (root): Make const char *.
10535 (fstest): Remove args argument and use global copy.
10536 Respect format security.
10537 (argp_parser): Make static.
10538 (main): Make default_root const char *.
10539
5d1d4e28
VS
105402012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10541
10542 * util/grub-mount.c (root): Make const char *.
10543 (execute_command): Make first argument a const char *.
10544 (fuse_init): Respect format security.
10545 (argp_parser): Make static. Remove unused variable.
10546 (main): Make default_root a const char *.
10547 Respect format security.
10548
36eb7379
VS
105492012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10550
10551 * util/grub-probe.c (probe): Don't call gettext on already translated
10552 grub_errmsg.
10553 Remove unused variables.
10554 (argp_parser): Remove unused variable.
10555
76fb2ea9
VS
105562012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10557
10558 * util/grub-script-check.c (argp_parser): Remove unused variable.
10559 (main): Rename read to curread to avoid shadowing.
10560
56c98584
VS
105612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10562
10563 * util/misc.c (grub_util_write_image_at): Fix format specification.
10564 (grub_util_write_image): Likewise.
10565 (grub_script_execute_argument_to_string): Removed (unused).
10566 (grub_script_execute_menuentry): Likewise.
10567 (grub_putchar): Likewise.
10568
164ebb48
VS
105692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10570
10571 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
10572 (FUNCTION) [GRUB_UTIL]: Likewise.
10573 (VARIABLE) [GRUB_UTIL]: Likewise.
10574
44318d61
VS
105752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10576
10577 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
10578 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
10579
31a26002
VS
105802012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10581
10582 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
10583 buffer.
10584
105852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10586
10587 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
10588 (LzmaEnc_SaveState): Removed (unused).
10589 (LzmaEnc_RestoreState): Likewise.
10590 (LzmaEnc_InitPriceTables): Made static.
10591 (LzmaEnc_Construct): Likewise.
10592 (LzmaEnc_FreeLits): Likewise.
10593 (LzmaEnc_Destruct): Likewise.
10594 (LzmaEnc_Init): Likewise.
10595 (LzmaEnc_InitPrices): Likewise.
10596 (LzmaEnc_Finish): Likewise.
10597 (LzmaEnc_PrepareForLzma2): Removed (unused).
10598 (LzmaEnc_MemPrepare): Likewise.
10599 (LzmaEnc_GetNumAvailableBytes): Likewise.
10600 (LzmaEnc_GetCurBuf): Likewise.
10601 (LzmaEnc_CodeOneMemBlock): Likewise.
10602
6fa67967
VS
106032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10604
10605 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
10606 (grub_util_ldm_embed): Likewise.
10607
9a7428e6
VS
106082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10609
10610 * util/grub-editenv.c (print_var): Rename name to varname to
10611 avoid shadowing.
10612 (main): Rename index to curindex to avoid shadowing.
31a26002 10613 Make filename a const char *.
9a7428e6 10614
4f96abd1
VS
106152012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10616
10617 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
10618 to arg_getline to avoid shadowing.
10619
44d10dad
VS
106202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10621
10622 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
10623 disk_ to avoid shadowing.
10624
340ba63e
VS
106252012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10626
10627 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
10628 curindex to avoid shadowing.
10629 Make static.
10630 (MatchFinder_GetNumAvailableBytes): Make static.
10631
22965bce
VS
106322012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10633
10634 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
10635 avoid shadowing.
10636
7b5784d4
VS
106372012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10638
10639 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
10640 argument from encrypt to do_encrypt to avoid shadowing.
10641
6f48ca01
VS
106422012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10643
10644 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
10645 incorrect nesting of #if's.
10646
a4ea2dff
VS
106472012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10648
10649 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
10650 checks which are always false on some platforms.
10651 (grub_cmd_lsacpi): Likewise.
10652 * grub-core/kern/misc.c (grub_strtoul): Likewise.
10653 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
10654 Likewise.
10655
def9fc1b
VS
106562012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10657
10658 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
10659 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
10660
a67b2a04
VS
106612012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10662
10663 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
10664 re_dfa_t to avoid breaking alignment invariants.
10665 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
10666 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
10667
44c6828d
VS
106682012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10669
10670 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
10671 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
10672
bebe0dd0
VS
106732012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10674
10675 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
10676 Fix declaration.
10677
a9cdb3cf
VS
106782012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10679
10680 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
10681 conserve alignment invariants.
10682 (grub_ehci_ehcc_read16): Likewise.
10683 (grub_ehci_oper_read32): Likewise.
10684 (grub_ehci_oper_write32): Likewise.
10685 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
10686 Conserve alignment invariants.
10687
ccc3b1b8
VS
106882012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10689
10690 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
10691 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
10692 declarations.
10693
987fbd95
VS
106942012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10695
10696 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
10697 Remove unused variable.
10698
0df363f3
VS
106992012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10700
10701 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
10702 Remove set in if.
10703
b2c0c4a6
VS
107042012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10705
10706 * include/grub/net.h: Remove double declarations.
10707
690c531f
VS
107082012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10709
10710 Remove "payload" command in ia64 Linux loader since I couldn't
10711 find any evidence of it being used for anything.
10712 Replace "relocate" command with an environment variable
10713
10714 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
10715 fields.
10716 (ia64_boot_payload): Removed.
10717 (last_payload): Likewise.
10718 (RELOCATE_OFF): Likewise.
10719 (RELOCATE_ON): Likewise.
10720 (RELOCATE_FORCE): Likewise.
10721 (relocate): Likewise.
10722 (free_pages): Don't free payloads.
10723 (grub_load_elf64): Use common error messages.
10724 Use "linux_relocate" variable.
10725 Increase the space after boot_params.
10726 (grub_cmd_payload): Removed.
10727 (grub_cmd_relocate): Likewise.
10728 (grub_cmd_fpswa): Improve messages.
10729 (cmd_payload): Removed.
10730 (cmd_relocate): Likewise.
10731 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
10732 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
10733
01783768
VS
107342012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10735
10736 Convert UHCI to DMA framework.
10737
10738 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
10739 (grub_uhci_pci_iter): Fill new members
10740 (grub_alloc_td): Use P2V and V2P functions.
10741 (grub_free_queue): Likewise.
10742 (grub_alloc_qh): Likewise.
10743 (grub_uhci_setup_transfer): Likewise.
10744 (grub_uhci_check_transfer): Likewise.
10745
43206939
VS
107462012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10747
10748 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
10749 Remove assignment in if while on it.
10750
571e140e
VS
107512012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10752
10753 * util/grub-mkstandalone.in: Fix modules directory.
10754
a9d96eeb
VS
107552012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10756
10757 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
10758 on i386-pc target.
10759 (argp_parser): Accept "auto" as compression specification.
10760
e4e37e8d
VS
107612012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10762
10763 Fix `help' with unloaded modules.
10764
10765 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
10766 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
10767 (grub_dyncmd_dispatcher): Small stylistic fix.
10768 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
10769 explicit help is requested.
10770
e1ea3ade
VS
107712012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10772
10773 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
10774 Explicitly init restart while on it.
10775
27556881
VS
107762012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10777
10778 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
10779 uninited variable.
10780
d65f6b36
VS
107812012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10782
10783 * util/grub-mknetdir.in: Use . rather than source for POSIX
10784 compatibility.
10785
0a1e473c
VS
107862012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10787
10788 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
10789
ce6647c8
VS
107902012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10791
10792 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
10793 variable.
10794
66747894
VS
107952012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10796
10797 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
10798 without quotes.
10799
71645f6e
VS
108002012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10801
10802 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
10803
0e1c1f61
VS
108042012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10805
10806 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
10807 iteration of partitions.
10808
9c4b5c13
VS
108092012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10810
10811 Improve gettext support. Stylistic fixes and error handling fixes while
10812 on it.
10813
215c90cb
VS
108142012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10815
10816 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
10817 part. Instead setup the correct stack in RM.
10818 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
10819 for stack.
10820 * include/grub/i386/relocator_private.h: New file.
10821
b5c1f9bf
VS
108222012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10823
10824 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
10825 argument.
10826 * util/grub-fstest.c (options): Add missing DEVICE part.
10827
b525fd83
VS
108282012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10829
10830 Clarify and unify messages.
10831
10832 * grub-core/commands/hashsum.c (options): Unify messages.
10833 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
10834 literal-only message as translatable.
10835 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
10836 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
10837 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
10838 commands.
10839 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
10840 key, not the key used to unlock. Clarify what it's used for.
10841 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
10842 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
10843 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
10844 * util/grub-editenv.c (options): Unify "verbose" message.
10845 * util/grub-fstest.c (read_file): Unify error message.
10846 (fstest): Add quotes around commands.
10847 (options): Unify "verbose" message.
10848 * util/grub-install.in: Add quotes around variable name.
10849 * util/grub-kbdcomp.in: Unify error message.
10850 * util/grub-mkfont.c (main): Likewise.
10851 * util/grub-mkrescue.in: Likewise.
10852 * util/grub-mklayout.c (options): Unify "verbose" message.
10853 * util/grub-mkstandalone.in: Unify help and verbose messages.
10854 * util/grub-mount.c (options): Unify "verbose" message.
10855 * util/grub-probe.c (options): Likewise.
10856 * util/grub-script-check.c (options): Likewise.
10857 * util/grub-setup.c (setup): Unify no-terminator message.
10858 (options): Use DEVICE and not DEV.
10859 Unify "verbose" message.
10860 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
10861
0ae70393
VS
108622012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10863
10864 Improve and unify messages.
10865
10866 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
10867 name. All users updated.
10868 Print filename in error.
10869 (read_device_map): Print filename in error.
10870 * util/getroot.c (grub_guess_root_devices): Print filename in error.
10871 (grub_util_get_os_disk): Likewise.
10872 (grub_util_biosdisk_get_grub_dev): Likewise.
10873 (grub_util_check_block_device): Likewise.
10874 (grub_util_check_char_device): Likewise.
10875 (grub_make_system_path_relative_to_its_root): Likewise.
10876 * util/grub-editenv.c (create_envblk_file): Likewise.
10877 (open_envblk_file): Likewise.
10878 (write_envblk): Likewise.
10879 * util/grub-fstest.c (cmd_cp): Likewise.
10880 (cmd_cat): Likewise.
10881 (cmd_cmp): Likewise.
10882 * util/grub-menulst2cfg.c (main): Likewise.
10883 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
10884 (write_font_width_spec): Likewise.
10885 (write_font_pf2): Likewise.
10886 * util/grub-mkimage.c (generate_image): New argument outname.
10887 All users updated.
10888 Remove unreacheable message.
10889 (options): Unify messages.
10890 (help_filter): Likewise.
10891 * util/grub-mklayout.c (usage): Removed (unused).
10892 (main): Print filename in error.
10893 * util/grub-mkrescue.in: Fix wrong quoting.
10894 * util/grub-setup.c (setup): Print filename in error.
10895 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
10896 (check_sas): Likewise.
10897 * util/misc.c (grub_util_get_fp_size): Removed.
10898 (grub_util_get_image_size): Print filename in error.
10899 (grub_util_read_at): Removed.
10900 (grub_util_read_image): Print filename in error.
10901 (grub_util_load_image): Likewise.
10902 (grub_util_write_image_at): New argument filename. All users updated.
10903 Print filename in error.
10904 (grub_util_write_image): New argument filename. All users updated.
10905 Print filename in error.
10906 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
10907 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
10908
0a96117d
VS
109092012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10910
10911 * grub-core/Makefile.core.def (pxechain): New module.
10912 * grub-core/loader/i386/pc/pxechainloader.c: New file.
10913 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
10914 function.
10915 (grub_pc_net_config_real): Use grub_pxe_get_cached.
10916 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
10917
aca002f7
VS
109182012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10919
10920 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
10921 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
10922 * include/grub/err.h (grub_error_saved): New struct.
10923 (grub_errmsg): Make array size explicit.
10924 * include/grub/misc.h (grub_error_save): New function.
10925 (grub_error_load): Likewise.
10926 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
10927 (grub_error_push): Update `errno' member name.
10928 (grub_error_pop): Likewise
10929 * grub-core/net/tftp.c (tftp_data): New member save_err.
10930 (tftp_receive): Save error.
10931 (tftp_open): Restore error.
10932
a51dab13
VS
109332012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10934
10935 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
10936 to real mode down to execute A20-related code in protected mode as
10937 intended.
10938
eb6e6649
GS
109392012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
10940
10941 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
10942 NULL when the argument `level' has an unexpected value.
10943
92cd0f6e
VS
109442012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10945
10946 Move platform-dependent files from $prefix to $prefix/$platform.
10947
10948 * config.h.in (GRUB_TARGET_CPU): New definition.
10949 (GRUB_PLATFORM): Likewise.
10950 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
10951 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
10952 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
10953 * grub-core/kern/dl.c (grub_dl_load): Likewise.
10954 * grub-core/normal/autofs.c (read_fs_list): Likewise.
10955 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
10956 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
10957 * grub-core/normal/term.c (read_terminal_list): Likewise.
10958 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
10959 $prefix/locale.
10960 (grub_gettext_init_ext): Likewise.
10961 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
10962 grub_platform.
10963 * util/grub-install.in: Update directories.
10964 * util/grub-mknetdir.in: Likewise.
10965 * util/grub-mkrescue.in: Likewise.
10966
db606889
VS
109672012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10968
10969 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
10970 grub_error framework. All users updated.
10971
c39992a4
VS
109722012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10973
10974 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
10975 lists (by always binsearching), improve caching (cache strings
10976 used for binsearch, not only results), improve
10977 maintainability (by using more structured binary search) and correct
10978 error handling.
10979
1e5ec32f
VS
109802012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10981
10982 * grub-core/script/execute.c (grub_script_return): Fix warning.
10983
ac576cde
VS
109842012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10985
10986 * grub-core/script/execute.c (grub_script_return): Fix potential
10987 NULL-dereference.
10988 Reported by: Jim Meyering.
10989
498453f6
VS
109902012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10991
10992 * po/POTFILES.in: Regenerate.
10993 * util/grub-install.in: Gettextize the strings missed in first pass.
10994
8be63f2e
VS
109952012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10996
10997 * Makefile.util.def (grub-mkdevicemap): Removed.
10998 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
10999 * include/grub/util/deviceiter.h: Removed.
11000 * util/deviceiter.c: Likewise.
11001 * util/getroot.c (grub_util_get_os_disk): New function.
11002 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
11003 replacement for EFI.
11004 * util/grub-mkdevicemap.c: Removed.
11005 * util/grub-probe.c (probe): Handle PRINT_DISK.
11006 (argp_parser): Handle -t disk.
11007
8e1e4e39
VS
110082012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11009
11010 * util/grub-mkfont.c: Migrate to argp.
11011 * util/grub-mklayout.c: Likewise.
11012 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11013 * util/grub-mkrelpath.c: Likewise.
11014 * util/grub-probe.c: Likewise.
11015 * util/grub-script-check.c: Likewise.
11016
4459819a
VS
110172012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11018
11019 * util/grub-reboot.in: Add missing datarootdir.
11020 Add missing newline.
11021 * util/grub-set-default.in: Add missing datarootdir.
11022 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
11023 * util/grub-mkrescue.in: Likewise.
11024
f65741c7
VS
110252012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11026
11027 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
11028
c1a33466
VS
110292012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11030
11031 * util/grub-kbdcomp.in: Add decent help and gettextize.
11032 * docs/man/grub-kbdcomp.h2m: New file.
11033
c76899a0
VS
110342012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11035
11036 Migrate grub-mkimage.c to argp.
11037
11038 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
11039 (grub-setup): Likewise.
11040 * util/grub-setup.c (print_version): Move to ...
11041 * util/argp_common.c (print_version): ... here.
11042 * util/grub-setup.c (argp_program_version_hook): Move to ...
11043 * util/argp_common.c (argp_program_version_hook): ... here.
11044 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
11045 safety.
11046 * util/grub-mkimage.c (main): Migrate to argp.
11047
57db0757
VS
110482012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11049
11050 * util/grub-mkrescue.in: Use same message as
11051 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
11052 for better translations.
11053
18534ad9
VS
110542012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11055
11056 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
11057 options with generic grub-mkrescue.in with the goal of future
11058 merge.
11059
c84ba308
VS
110602012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11061
11062 * grub-core/kern/mm.c: Add missing include of i18n.h
11063 * grub-core/lib/relocator.c: Likewise.
11064
347998c2
VS
110652012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11066
11067 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
11068 error.
11069 (allocate_pages): Check return value.
11070 Replace fatal with error.
11071 (grub_linux_boot): Replace printf with dprintf.
11072 Check find_mmap_size return value.
11073 Replace fatal with error.
11074 Don't call grub_machine_fini.
11075 (grub_load_elf64): Replace printf with dprintf.
11076 (grub_cmd_linux): Likewise.
11077 (grub_cmd_initrd): Likewise.
11078 (grub_cmd_payload): Likewise.
11079
c779226e
VS
110802012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11081
11082 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
11083 message.
11084 * grub-core/video/radeon_fuloong2e.c
11085 (grub_video_radeon_fuloong2e_setup): Likewise.
11086 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
11087 * grub-core/video/video.c (grub_video_set_mode): Don't override
11088 standard out of memory message.
11089
dc87d45a
GS
110902012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11091
11092 NetBSD disk wedge support.
11093
11094 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
11095 [__NetBSD__]: Handle NetBSD disk wedges.
11096 * util/getroot.c (convert_system_partition_to_system_disk)
11097 [__NetBSD__]: Likewise.
11098
055f856f
MW
110992012-02-03 Mark Wooding <mdw@distorted.org.uk>
11100
11101 * util/grub-mkconfig.in: Use umask rather than chmod to create
11102 grub.cfg.new to avoid insecure grub.cfg.
11103
4a9f8346
VS
111042012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11105
11106 * grub-core/commands/ls.c: Gettextize.
11107 * grub-core/commands/setpci.c: Likewise.
11108 * grub-core/commands/videotest.c: Likewise.
11109 * grub-core/disk/geli.c: Likewise.
11110 * grub-core/kern/mm.c: Likewise.
11111 * grub-core/lib/relocator.c: Likewise.
11112 * grub-core/loader/efi/appleloader.c: Likewise.
11113 * grub-core/loader/i386/xnu.c: Likewise.
11114 * grub-core/loader/ia64/efi/linux.c: Likewise.
11115 * grub-core/loader/xnu.c: Likewise.
11116 * grub-core/net/dns.c: Likewise.
11117 * grub-core/net/net.c: Likewise.
11118 * grub-core/script/lexer.c: Likewise.
11119 * grub-core/script/parser.y: Likewise.
11120 * grub-core/script/yylex.l: Likewise.
11121 * util/getroot.c: Likewise.
11122 * util/grub-setup.c: Likewise.
11123
a646a366
VS
111242012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11125
11126 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
11127 number.
11128
54e2be26
VS
111292012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11130
11131 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
11132
f7c71e68
VS
111332012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11134
11135 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
11136 macro.
11137 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
11138 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
11139
a32d5c71
VS
111402012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11141
11142 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
11143 * util/grub-install.in: Gettextize.
11144 * util/grub-mkconfig.in: Likewise.
11145 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
11146 if not available.
11147 (grub_warn): Gettextize.
11148 * util/grub-mknetdir.in: Gettextize.
11149 * util/grub-mkrescue.in: Likewise.
11150 * util/grub-mkstandalone.in: Likewise.
11151 * util/grub-reboot.in: Likewise.
11152 * util/grub-set-default.in: Likewise.
11153 * util/grub.d/00_header.in: Likewise.
11154 * util/grub.d/10_hurd.in: Likewise.
11155 * util/grub.d/10_kfreebsd.in: Likewise.
11156 * util/grub.d/10_linux.in: Likewise.
11157 * util/grub.d/10_netbsd.in: Likewise.
11158 * util/grub.d/10_windows.in: Likewise.
11159 * util/grub.d/20_linux_xen.in: Likewise.
11160 * util/grub.d/30_os-prober.in: Likewise.
11161 * po/POTFILES-shell.in: Regenerate.
11162
69edd81a
RL
111632012-02-03 Richard Laager <rlaager@wiktel.com>
11164
11165 * util/grub-mkimage.c (main): Fix format-security warning.
11166 * util/grub-mkrelpath.c (main): Likewise.
11167 * util/grub-probe.c (main): Likewise.
11168
65f08dbf
RL
111692012-02-03 Richard Laager <rlaager@wiktel.com>
11170
11171 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
11172 failure.
11173 Put back lost PRINT_DRIVE.
11174
e9084abe
RL
111752012-02-03 Richard Laager <rlaager@wiktel.com>
11176
11177 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
11178 (grub_guess_root_devices): Replace strlen with sizeof.
11179 Avoid crash.
11180 (find_root_devices_from_poolname): Remove unused variable.
11181 Handle raidzN.
11182
cf5f7ee7
VS
111832012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11184
11185 Support install on multi-device filesystems.
11186
11187 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
11188 (grub_guess_root_devices): ...this. Return char **. All users updated.
11189 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
11190 Removed.
11191 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
11192 (find_root_devices_from_poolname): ... here.
11193 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
11194 Support zfs-fuse.
11195 (grub_guess_root_device): Rename to ...
11196 (grub_guess_root_devices): ... this. Return char **. All users updated.
11197 * util/grub-install.in: Handle multi-device filesystems.
11198 * util/grub-probe.c (probe). Make device_names a char **. Add delim
11199 argument. All users updated.
11200 Handle multi-device filesystems.
11201 Use 'delim' as separator.
11202 Remove device check to allow filesystems on file.
11203 (main): Support -0 argument. Handle multi-device.
11204 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
11205 Fix a cross-device check while on it.
11206 (arguments): Remove root_dev.
11207 (argp_parser): Remove -r.
11208 (main): Remove root_dev.
11209
2f53a9ed
VS
112102012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11211
11212 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
11213
17e1d934
VS
112142012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11215
11216 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
11217 symbol.
11218 Reported by: NODA, Kai <nodakai>.
11219
d3e3fab5
VS
112202012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11221
11222 Fix ehci on amd64.
11223
11224 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
11225 pointers.
11226 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
11227 (grub_ehci_setup_qh): Likewise.
11228 (grub_ehci_find_qh): Likewise.
11229 (grub_ehci_transaction): Likewise.
11230 (grub_ehci_setup_transfer): Likewise.
11231 (grub_ehci_check_transfer): Likewise.
11232 (grub_ehci_portstatus): Likewise.
11233 (grub_ehci_detect_dev): Likewise.
11234 (grub_ehci_transfer_controller_data): New field td_last_phys.
11235 (grub_ehci_setup_transfer): Fill td_last_phys.
11236 (grub_ehci_check_transfer): Use td_last_phys.
11237
3008675b
SG
112382012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
11239
11240 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
11241 if no submenu is present.
11242
fc9b5652
AN
112432012-02-01 Aleš Nesrsta <starous@volny.cz>
11244
11245 CBI support.
11246
11247 * include/grub/usb.h (grub_usbms_protocol_t): New values
11248 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
11249 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
11250 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
11251 (grub_usbms_dev): Add subclass, protocol and intrpt.
11252 Remove in_maxsz and out_maxsz.
11253 (grub_usbms_reset): Rename to ...
11254 (grub_usbms_bo_reset): .. this.
11255 (grub_usbms_cbi_cmd): New function.
11256 (grub_usbms_cbi_reset): Likewise.
11257 (grub_usbms_reset): Likewise.
11258 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
11259 (grub_usbms_transfer): Rename to ...
11260 (grub_usbms_transfer_bo): ... this.
11261 (grub_usbms_transfer_cbi): Likewise.
11262 (grub_usbms_transfer): Likewise.
11263
a2b81d53
AN
112642012-02-01 Aleš Nesrsta <starous@volny.cz>
112652012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11266
11267 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
11268 the support for the CS5536 modification thereos and few bugfixes.
11269
11270 * grub-core/Makefile.core.def (ehci): New module.
11271 * grub-core/bus/usb/ehci.c: New file.
11272 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
11273 port and hubaddr. All users updated.
11274 Save port and hubaddr into dev structure.
11275 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
11276 define.
11277 * include/grub/pci.h (grub_dma_phys2virt): New function.
11278 (grub_dma_virt2phys): Likewise.
11279 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
11280
b1d51f02
VS
112812012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11282
11283 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
11284 check as some mkfs implementations omit it.
11285
fc694106
VS
112862012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11287
11288 * docs/grub.texi (Unicode): Mention identifier and space limitations.
11289
6c0920e3
VS
112902012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11291
11292 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
11293 Add new member volname2.
11294 (grub_jfs_label): Use volname2 if available.
11295
d1a46f9a
VS
112962012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11297
11298 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
11299 over last_mounted as seen in image generated by mkfs.nilfs2.
11300 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
11301
dec8ed14
VS
113022012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11303
11304 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
11305 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
11306 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
11307
7397c69b
VS
113082012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11309
11310 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
11311 over the sector.
11312
b3fe42ad
VS
113132012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11314
11315 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
11316 subvolume name (by removing a bogus and useless check).
11317
10476bb0
VS
113182012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11319
11320 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
11321 sizeof while on it.
11322
9c08ad87
VS
113232012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11324
11325 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
11326 (grub_scsi_read_capacity10): ... this.
11327 (grub_scsi_read_capacity16): New function.
11328 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
11329 0xffffffff.
11330 Fix off-by-one error.
11331 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
11332 64-bit unsigned.
11333 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
11334 (grub_scsi_read_capacity10): ... this.
11335 (grub_scsi_read_capacity_data): Rename to ...
11336 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
11337 (grub_scsi_read_capacity16): New struct.
11338 (grub_scsi_read_capacity16_data): Likewise.
11339 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
11340 grub_scsi_cmd_read_capacity10.
11341 New command grub_scsi_cmd_read_capacity16.
11342
bc8d0f45
VS
113432012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11344
11345 SCSI >2TiB support.
11346
11347 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
11348 (grub_scsi_write16): Likewise.
11349 (grub_scsi_read): Use read16 when necessary.
11350 (grub_scsi_write): Likewise.
11351 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
11352 (grub_scsi_write16): Likewise.
11353 (grub_scsi_cmd_t): Add READ16 and WRITE16.
11354
cc774926
VS
113552012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11356
11357 SCSI write support (for usbms mainly).
11358
11359 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
11360 a const pointer.
11361 (grub_scsi_write): Implement.
11362 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
11363
67639fd7
VS
113642012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11365
11366 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
11367 variable.
11368
9079d3ed
VS
113692012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11370
11371 * grub-core/lib/posix_wrap/string.h (memchr): New function.
11372
c6a6f204
VS
113732012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11374
11375 * po/POTFILES.in: Regenerate.
11376
ecbf8cd1
VS
113772012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11378
11379 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
11380 with grub_printf to avoid unnecessary fatal failure.
11381
0b3b3b38
VS
113822012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11383
11384 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
11385 (INT_MAX): Likewise.
11386 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
11387 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
11388 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
11389 (strcpy): Likewise.
11390 (strstr): Likewise.
11391 (strchr): Likewise.
11392 (strncpy): Likewise.
11393 (strcat): Likewise.
11394 (strncat): Likewise.
11395 (strcoll): Likewise.
11396 * include/grub/types.h (GRUB_SHRT_MAX): New define.
11397 (GRUB_INT_MAX): Likewise.
11398
db7337a3
VS
113992012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11400
11401 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
11402 unexpected error.
11403 (optimize_utf8): Likewise.
11404 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
11405
f37c87e1
VS
114062012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11407
11408 * grub-core/boot/i386/pc/lnxboot.S: Use
11409 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
11410 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
11411 location.
11412 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
11413 definition.
11414 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
11415
63fe43f3
VS
114162012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11417
11418 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
11419 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
11420 now to avoid double free.
11421 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
11422 hostdisk.
11423 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
11424 * util/grub-probe.c (escape_of_path): Always return a new copy.
11425 (print_full_name): Escape path.
11426 (probe): Don't call grub_util_devname_to_ofpath on NULL.
11427 Fix hints on abstractions.
11428
ebe2c961
VS
114292012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11430
11431 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
11432 Don't add "root" line if no compatibility hont is available.
11433 Suggested by: Seth Goldberg.
11434
2b5336a2
VS
114352012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11436
11437 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
11438 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
11439 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
11440 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
11441
74310bd8
VS
114422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11443
11444 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
11445
c30582ba
VS
114462012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11447
11448 * util/grub-pe2elf.c (ehdr): Make static.
11449 (shdr): Likewise.
11450 (num_sections): Likewise.
11451 (offset): Likewise.
11452
5f47782c
VS
114532012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11454
11455 Eliminate ofpath limits and possible overflows.
11456
11457 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
11458 (OF_PATH_MAX): Removed.
11459 (MAX_DISK_CAT): New const.
11460 (find_obppath): Use allocated rather than preallocated buffer.
11461 Return result. Argument of_path removed. All users updated.
11462 Add missing fdstat.
11463 (xrealpath): New function.
11464 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
11465 Allocate rather than use preallocated buffer. All users updated.
11466 (__of_path_common): Use allocated rather than preallocatecd buffer.
11467 Return result. Argument of_path removed. All users updated.
11468 (vendor_is_ATA): Read only needed part form the file.
11469 (check_sas): Allocate depending on contents rather than fixed.
11470 (main) [STANDALONE]: Handle NULL result.
11471
f990cbf9
VS
114722012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11473
11474 * grub-core/normal/completion.c (iterate_dev): Close the disk.
11475
9c6e84b8
VS
114762012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11477
11478 Cryptodisk write support.
11479
11480 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
11481 (grub_cryptodisk_decrypt): Moved logic to ...
11482 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
11483 (grub_cryptodisk_write): Implement.
11484 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
11485 (grub_util_fd_write): ... this. Make global.
11486 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
11487
87cf9744
VS
114882012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11489
11490 * include/grub/list.h (grub_list_remove): Don't crash if element is
11491 removed twice.
11492
ca8c0baf
VS
114932012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11494
11495 Rename ofconsole to console.
11496
11497 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
11498 as sysnonym to console.
11499 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
11500 * grub-core/term/ieee1275/console.c: ... this. All users updated.
11501 Rename grub_ofconsole_ to grub_console_. All users updated
11502 (grub_console_term_output): Rename "ofconsole" to "console".
11503 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
11504 as "console".
11505
64c8b8f6
VS
115062012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11507
11508 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
11509 handling.
11510 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
11511 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
11512 GRUB_DISK_DEVICE_FILE_ID.
11513
f6c434d5
VS
115142012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11515
11516 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
11517 and improve performance.
11518
5858b42d
VS
115192012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11520
11521 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
11522 missing ieee1275/ prefix on whole disk.
11523
4ed3c26b
VS
115242012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11525
11526 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
11527 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
11528
df71143e
VS
115292012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11530
11531 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
11532
076e7c0f
VS
115332012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11534
11535 Merge common RAID and LVM logic to an abstract diskfilter.
11536 Add LDM support using the same framework.
11537
11538 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
11539 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
11540 (libgrubmods): Remove grub-core/disk/raid.c and
11541 grub-core/partmap/gpt.c.
11542 * grub-core/Makefile.core.def (ldm): New module.
11543 (raid): Renamed to diskfilter. All users updated.
11544 * grub-core/disk/raid.c: Moved to ...
11545 * grub-core/disk/diskfilter.c: ... here.
11546 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
11547 (lv_num): New var.
11548 (find_array): Renamed to ...
11549 (find_lv): ... this. Support multi-LV. Skip nameless LVs
11550 (grub_is_array_readable): Renamed to ...
11551 (grub_is_lv_readable): ... this. Support multinode hierarchy.
11552 (insert_array): New argument id.
11553 (is_node_readable): New function.
11554 (scan_device): Rename to ...
11555 (scan_disk): .. this. Restrict to one disk.
11556 (scan_devices): New function.
11557 (grub_diskfilter_iterate): Support multi-LV.
11558 Skip invisible and nameless LVs.
11559 (grub_diskfilter_memberlist): Support multi-LV.
11560 (grub_diskfilter_read_node): New function.
11561 (grub_raid_read): Most of logic moved to ...
11562 (read_segment): ... here
11563 (read_lv): New function.
11564 (grub_diskfilter_get_vg_by_uuid): New function.
11565 (grub_diskfilter_make_raid): Likewise.
11566 * grub-core/disk/ldm.c: New file.
11567 * grub-core/disk/lvm.c (vg_list): Removed.
11568 (lv_count): Likewise.
11569 (scan_depth): Likewise.
11570 (is_lv_readable): Likewise.
11571 (grub_lvm_getvalue): Advance pointer past the number.
11572 (find_lv): Removed.
11573 (do_lvm_scan): Refactored into ...
11574 (grub_lvm_detect): ... this. Support raid.
11575 (grub_lvm_iterate): Removed.
11576 (grub_lvm_memberlist): Likewise.
11577 (grub_lvm_open): Likewise.
11578 (grub_lvm_close): Likewise.
11579 (read_lv): Likewise.
11580 (read_node): Likewise.
11581 (is_node_readable): Likewise.
11582 (is_lv_readable): Likewise.
11583 (grub_lvm_read): Likewise.
11584 (grub_lvm_write): Likewise.
11585 (grub_lvm_dev): Use diskfilter
11586 (GRUB_MOD_INIT): Likewise.
11587 (GRUB_MOD_FINI): Likewise.
11588 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
11589 new interface.
11590 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
11591 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11592 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
11593 grub_diskfilter_read_node.
11594 Fix a bug with xor.
11595 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
11596 grub_diskfilter_read_node.
11597 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
11598 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
11599 (grub_disk_dev_iterate): Move from here...
11600 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
11601 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
11602 Make global.
11603 (grub_hostdisk_find_partition_start): Likewise.
11604 (grub_hostdisk_os_dev_to_grub_drive): New function.
11605 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
11606 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
11607 * util/getroot.c (make_device_name): ... here.
11608 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
11609 Move to ...
11610 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
11611 * grub-core/kern/emu/hostdisk.c
11612 (convert_system_partition_to_system_disk): Move to ...
11613 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
11614 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
11615 * util/getroot.c (device_is_wholedisk): ... here.
11616 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
11617 * util/getroot.c (find_system_device): ... here.
11618 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
11619 Move to ...
11620 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
11621 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
11622 Move to ...
11623 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
11624 Handle LDM.
11625 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
11626 Move to ...
11627 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
11628 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
11629 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
11630 DISKFILTER.
11631 * include/grub/raid.h: Renamed to ...
11632 * include/grub/diskfilter.h: ... this.
11633 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
11634 (GRUB_RAID_LAYOUT_*): Make into array.
11635 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
11636 (grub_diskfilter_vg): New struct.
11637 (grub_diskfilter_pv_id): Likewise.
11638 (grub_raid_member): Removed.
11639 (grub_raid_array): Likewise.
11640 (grub_diskfilter_pv): New struct.
11641 (grub_diskfilter_lv): Likewise.
11642 (grub_diskfilter_segment): Likewise.
11643 (grub_diskfilter_node): Likewise.
11644 (grub_diskfilter_get_vg_by_uuid): New proto.
11645 (grub_raid_register): Inline.
11646 (grub_diskfilter_unregister): Likewise.
11647 (grub_diskfilter_make_raid): New proto.
11648 (grub_diskfilter_vg_register): Likewise.
11649 (grub_diskfilter_read_node): Likewise.
11650 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
11651 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
11652 (grub_util_is_ldm): Likewise.
11653 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
11654 (grub_hostdisk_find_partition_start): Likewise.
11655 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
11656 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
11657 New definition.
11658 (grub_gpt_partition_map_iterate): New proto.
11659 * include/grub/lvm.h (grub_lvm_vg): Removed.
11660 (grub_lvm_pv): Likewise.
11661 (grub_lvm_lv): Likewise.
11662 (grub_lvm_segment): Likewise.
11663 (grub_lvm_node): Likewise.
11664 * util/getroot.c [...]
11665 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
11666 (probe_abstraction): Likewise.
11667 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
11668 (main): Remove dead logic.
11669
8a7f9b9c
VS
116702012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
11671
11672 Simplify root device discover and don't fail when trying to open
11673 incorrect devices.
11674
11675 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
11676 function.
11677 (get_diskname_from_path): Likewise.
11678 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
11679 of iterating.
11680
30545b85
VS
116812012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
11682
11683 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
11684
28ea58cf
VS
116852012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
11686
11687 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
11688 pastthe end.
11689
692dabca
VS
116902012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
11691
11692 * util/grub-install.in: Add missing \.
11693 Reported by: gentoofan
11694
f6e4ea70
VS
116952012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
11696
11697 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
11698 (direct_read): Use correct compressed size.
11699 (grub_squash_read_data): Likewise.
11700
117012012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
11702
11703 * docs/grub.texi (Platform limitations): New section.
11704 (Platform-specific operations): Likewise.
11705 * docs/grub-dev.texi (Porting): Likewise.
11706
76261110
VS
117072012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11708
11709 IEEE1275 disk write support.
11710
11711 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
11712 const void *.
11713 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
11714 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
11715 and seek loginc to ...
11716 (grub_ofdisk_prepare): ... here.
11717 (grub_ofdisk_write): Implement.
11718
fc36d603
VS
117192012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11720
11721 ARC disk write support.
11722
11723 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
11724 (reopen): New argument writable. All users updated.
11725 Handle required access mode.
11726 (grub_arcdisk_write): Implement.
11727 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
11728 (grub_arc_firmware_vector): Make buffer to write a const buffer.
11729
e06c2e7a
VS
117302012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11731
11732 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
11733 (read_sblock): Don't attempt to read superblocks outside the disk size.
11734
ff447958
VS
117352012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11736
11737 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
11738 first superblock to find the second one when possible.
11739
9e88df39
VS
117402012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11741
11742 * util/grub-install.in: Fix an ARC bug.
11743 Print a warning if no platform-specific setup is available.
11744
bb26e4ff
VS
117452012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11746
11747 Use static allocation rather than scratch pointer in reed_solomon.
11748 It decreases its size significantly and avoids a variable in .text.
11749
11750 * grub-core/lib/reed_solomon.c (scratch): Removed.
11751 (chosenstat): New const or static array.
11752 (sigma): Likewise.
11753 (errpot): Likewise.
11754 (errpos): Likewise.
11755 (sy): Likewise.
11756 (mstat): Likewise.
11757 (errvals): Likewise.
11758 (eqstat): Likewise.
11759 (pol_evaluate): Replace x with log_x argument. All users updated.
11760 (syndroms): Removed.
11761 (gauss_solve): Use statically allocated arrays.
11762 (rs_recover): Likewise.
11763 Calculate syndroms directly.
11764 (decode_block): Use statically allocated arrays.
11765 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
11766 (main) [TEST]: Allow -DTEST -DSTANDALONE.
11767
2e13ede5
VS
117682012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11769
11770 Eliminate fixed limit on reed solomon decoder length.
11771
11772 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
11773 rather than hardcoding the address.
11774 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
11775 no_reed_solomon_length.
11776 Move gate_a20 to no-reed-solomon part.
11777 Don't force a particular size of no reed-solomon part.
11778 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
11779 Removed.
11780 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
11781 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
11782
f8a9ab12
VS
117832012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11784
11785 * grub-core/commands/wildcard.c (match_files): Handle filenames
11786 without explicit device.
11787 (wildcard_expand): Don't add explicit device if not already present.
11788 * tests/grub_script_echo1.in: Add a new expansion test.
11789
87edb894
VS
117902012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11791
11792 Replace single-linked with double-linked lists. It results in more
11793 compact and more efficient code.
11794
11795 * grub-core/kern/list.c (grub_list_push): Moved from here ...
11796 * include/grub/list.h (grub_list_push): ... to here. Set prev.
11797 (grub_list_remove): Moved from here ...
11798 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
11799 (grub_prio_list_insert): Set prev.
11800 * include/grub/list.h (grub_list): Add prev. All users updated.
11801
48b391e9
VS
118022012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11803
11804 Handle newer autotools. Add some missing quotes while on it.
11805
11806 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
11807 (pkglib_DATA): Move grub-mkconfig_lib from here ...
11808 (pkgdata_DATA): ... here.
11809 * Makefile.util.def (update-grub_lib): Removed.
11810 * conf/Makefile.common (pkglib_DATA): Removed.
11811 (pkglib_SCRIPTS): Likewise.
11812 (pkgdata_DATA): New variable.
11813 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
11814 needed.
11815 Add missing quotes.
11816 Remove unused variable while on it.
11817 * tests/util/grub-shell.in: Likewise.
11818 * util/grub-install.in: Likewise.
11819 * util/grub-mkconfig.in: Likewise.
11820 * util/grub-mknetdir.in: Likewise.
11821 * util/grub-mkrescue.in: Likewise.
11822 * util/grub-mkstandalone.in: Likewise.
11823 * util/grub.d/00_header.in: Likewise.
11824 * util/grub.d/10_hurd.in: Likewise.
11825 * util/grub.d/10_illumos.in: Likewise.
11826 * util/grub.d/10_kfreebsd.in: Likewise.
11827 * util/grub.d/10_linux.in: Likewise.
11828 * util/grub.d/10_netbsd.in: Likewise.
11829 * util/grub.d/10_windows.in: Likewise.
11830 * util/grub.d/20_linux_xen.in: Likewise.
11831 * util/grub.d/30_os-prober.in: Likewise.
11832 * util/update-grub_lib.in: Removed.
11833
118342012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
11835
11836 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
11837 a workaround for intel problem.
11838
66832792
PRP
118392012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
118402012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
118412012-01-23 pfsmorigo
11842
11843 * util/grub-install.in: Support dd'in into PreP partition.
11844 * util/grub-probe.c (probe): Support discovering partition type.
11845 (main): Support -t msdos_parttype.
11846
7816a17e
VS
118472012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
11848
11849 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
11850 infinite recursion using counter.
11851 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
11852 init to skip it if the magic check fails.
11853 (dec_stream_header): Init s->crc32.
11854
8f9d3a8c
ZB
118552012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
118562012-01-22 Zachary Bedell <pendorbound@gmail.com>
118572012-01-22 Richard Laager <rlaager@wiktel.com>
11858
11859 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
11860 All users updated.
11861 (find_bestub): Determine correct size.
11862 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
11863 (scan_disk): Align the size down.
11864 Call check pool before find_bestub to have ashift.
11865
b055dd32
VS
118662012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11867
11868 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
11869 dprintf in no-malloc zone.
11870
d779e9bd
ML
118712012-01-22 Mario Limonciello <mario_limonciello@dell.com>
11872
11873 * configure.ac: Add back in test for limits.h.
11874
b508af69
VS
118752012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11876
11877 Support 4K-sector NTFS.
11878
11879 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
11880 (grub_ntfs_data): Remove blocksize.
11881 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
11882 Remove data argument. All users updated.
11883
dad9c8b5
VS
118842012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11885
11886 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
11887 being in .text to avoid dprel references.
11888 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
11889 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
11890 (grub_arch_highmemsize): Likewise.
11891 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
11892 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
11893 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
11894
d43a777e
VS
118952012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11896
11897 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
11898
11899 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
11900 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
11901
34e4208f
VS
119022012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11903
11904 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
11905 GRUB_UTIL.
11906 (grub_set_datetime_cmos): Likewise.
11907
3ec0fc1c
VS
119082012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11909
11910 Make XZ compression parameters dependent on target and not host CPU.
11911
11912 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
11913 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
11914
22489834
VS
119152012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11916
11917 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
11918 set but not used variable.
11919
8502fbca
VS
119202012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11921
11922 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
11923 created when no uuid support is compiled into mkfs.reiser.
11924
76df2068
VS
119252012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11926
11927 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
11928 (utf8_to_macroman): Do the opposite.
11929 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
11930
64e3f8f6
VS
119312012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11932
11933 * configure.ac: Refise build qemu_mips w/o unifont.
11934
9c271078
VS
119352012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11936
11937 Eliminate grub_min/grub_max prone to overflow usage.
11938
11939 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
11940 (poll_nonroot_hub): Likewise.
11941 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
11942 (grub_affs_label): Likewise.
11943 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
11944 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
11945 (grub_hfs_label): Likewise.
11946 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
11947 * grub-core/fs/zfs/zfs.c (MIN): Remove.
11948 (zap_leaf_array_equal): Use grub_size. Remove MIN.
11949 (zap_leaf_array_get): Likewise.
11950 (dnode_get_path): Likewise.
11951 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
11952 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
11953 * grub-core/script/execute.c (grub_script_break): Likewise.
11954 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
11955 grub_max.
11956 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
11957 * include/grub/misc.h (grub_min): Removed.
11958 (grub_max): Likewise.
11959
80662dbc
VS
119602012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
11961
11962 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
11963 direct.inode = 0.
11964
e6da1467
VS
119652012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11966
11967 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
11968
b1ac4cb1
VS
119692012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11970
11971 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
11972
b4bf7c3b
VS
119732012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11974
11975 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
11976 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
11977
8ee1101a
VS
119782012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11979
11980 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
11981 rather than a hack for grub_strncasemap.
11982
119832012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11984
11985 Support multiple initrds
11986 Note: part of this was accidently committed in r3739.
11987
11988 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
11989 initrd.
11990 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
11991 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
11992 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
11993 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11994 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11995
4d1e2bc9
VS
119962012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11997
11998 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
11999 disks with unknown size.
12000 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
12001
75b49ebe
VS
120022012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12003
12004 Remove defines pertaining to arbitrary limits not affecting GRUB
12005 anymore.
12006
12007 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
12008 (EXT2_MAX_SYMLINKCNT): Likewise.
12009 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
12010 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
12011 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
12012 (GRUB_PXE_MAX_BLKSIZE): Likewise.
12013 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
12014 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
12015 (DN_MAX_OBJECT_SHIFT): Likewise.
12016 (DN_MAX_OFFSET_SHIFT): Likewise.
12017 (DN_MAX_OBJECT): Likewise.
12018 (DNODES_PER_LEVEL_SHIFT): Likewise.
12019 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
12020 (SPA_MAXBLOCKSIZE): Likewise.
12021 (SPA_BLOCKSIZES): Likewise.
12022 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
12023 (MZAP_MAX_BLKSZ): Likewise.
12024
74a1dce7
VS
120252012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12026
12027 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
12028 handle NULL appropriately.
12029 Remove MIN.
12030
30c7d3ce
VS
120312012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12032
12033 Fix efiemu.
12034
12035 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
12036 cpu/types.h.
12037 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
12038 * configure.ac: Fix efiemu check.
12039
3c76ea0c
VS
120402012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12041
12042 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
12043 grub_probe.
12044 Reported by: adamwill
12045
7e532280
SG
120462012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
12047
12048 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
12049
30492374
VS
120502012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12051
12052 Fix handling of wide characters in gfxterm.
12053
12054 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
12055 (clear_char): Likewise.
12056 (paint_char): Skip code == NULL chars.
12057 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
12058
e70cb72f
VS
120592012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12060
12061 * grub-core/normal/charset.c: Move comment to right place.
12062
5c827cf9
VS
120632012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12064
12065 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
12066 (GRUB_AFFS_FLAG_FFS): Put back where it was.
12067 (grub_affs_mount): Revert the correct version checking.
12068
53603892
VS
120692012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12070
12071 * docs/grub.texi (Unicode): Mention several other unsupported features.
12072
ff094b9b
VS
120732011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12074
12075 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
12076 case statements as compile-time one.
12077 (direct_read): Prevent spurious warnings.
12078 (grub_squash_read_data): Likewise.
12079
c029da8a
VS
120802011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12081
12082 Various squash4 fixes and LZO and XZ support.
12083
12084 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
12085 Add xzembed source files.
12086 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
12087 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
12088 (grub_squash_inode): New subtype long_dir.
12089 (SQUASH_TYPE_LONG_DIR): New inode type.
12090 (COMPRESSION): New enum.
12091 (XZBUFSIZ): New const.
12092 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
12093 (read_chunk): Use data->decompress.
12094 (zlib_decompress): New function.
12095 (lzo_decompress): Likewise.
12096 (xz_decompress): Likewise.
12097 (squash_mount): Set new data fields.
12098 (grub_squash_iterate_dir): Handle long dir.
12099 (squash_unmount): Free xzdec and xzbuf.
12100 (grub_squash_open): Check ino type.
12101 (direct_read): Stylistic fixes. Use data->decompress.
12102 (grub_squash_read_data): Likewise.
12103 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
12104 (get_byte): Likewise.
12105 (grub_zlib_disk_read): Removed.
12106 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
12107 (GRUB_POSIX_BOOL_DEFINED): New define.
12108 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
12109 * grub-core/lib/xzembed/xz.h: Addmissing includes.
12110 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
12111 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
12112
7a45a539
VS
121132011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12114
12115 Don't override more informative errors.
12116
12117 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
12118 * grub-core/font/font.c (open_section): Likewise.
12119 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
12120 filename. Don't override errors.
12121 (grub_cmd_openbsd_ramdisk): Don't override errors.
12122 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
12123 (grub_cmd_initrd): Likewise.
12124 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12125 (grub_cmd_initrd): Likewise.
12126 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
12127 (grub_cmd_linux): Likewise.
12128 (grub_cmd_initrd): Likewise.
12129 (grub_cmd_payload): Likewise.
12130 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
12131 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
12132 (grub_cmd_module): Likewise.
12133 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12134 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12135 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
12136 (grub_cmd_xnu_mkext): Likewise.
12137 (grub_cmd_xnu_ramdisk): Likewise.
12138 (grub_xnu_check_os_bundle_required): Likewise.
12139 (grub_xnu_load_kext_from_dir): Likewise.
12140 (grub_cmd_xnu_kextdir): Likewise.
12141 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
12142
b2d004db
VS
121432011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12144
12145 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
12146 as 1024 in block size field. Found on one of my test images.
12147 Small optimisation while on it.
12148
ec000eac
VS
121492011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12150
12151 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
12152 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
12153 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
12154 performance fixes while on it.
12155 (grub_sfs_close): Fix memory leak while on it.
12156 (grub_sfs_label): Convert Latin1 to UTF-8.
12157
f50e1165
VS
121582011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12159
12160 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
12161 space to avoid overflows.
12162 (grub_hfs_label): Convert from macroman to UTF-8.
12163
2ae254de
VS
121642011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12165
12166 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
12167
0108f491
VS
121682011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12169
12170 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
12171
f45f5f89
VS
121722011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12173
12174 * unicode: Import Unicode 6.0 data.
12175
4d8c4765
VS
121762011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12177
63fa8ef9
VS
12178 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
12179 outside of range.
12180
121812011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12182
12183 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
12184
12185 * include/grub/charset.h (grub_getend): New function.
12186 * grub-core/script/function.c (grub_script_function_find): Use
12187 grub_getend.
12188 * grub-core/normal/completion.c (add_completion): Likewise.
12189
f3cb4a4e
VS
121902011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12191
12192 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
12193 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
12194 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
12195 (GRUB_UNICODE_TAG_END): Likewise.
12196 (GRUB_UNICODE_LAST_VALID): Likewise.
12197
5da8dbc5
VS
121982011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12199
12200 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
12201 len and make it smaller. All users updated.
12202 * util/import_unicode.py: Put length and not end character.
12203 Check length.
12204
8569f13d
VS
122052011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12206
12207 Make better Unicode-compliant and unify some UTF-8 code pathes.
12208
12209 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
12210 valid character.
12211 (grub_is_valid_utf8): Use grub_utf8_process.
12212 Check resulting code range.
12213 (grub_utf8_to_ucs4): Use grub_utf8_process.
12214 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
12215 valid character.
12216
cc4fddf5
VS
122172011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12218
12219 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
12220
bbc47747
VS
122212011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12222
12223 * docs/grub.texi (Filesystems): Mention AFS.
12224
f63d6bf4
VS
122252011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12226
12227 * docs/grub.texi (Filesystems): Clarify restrictions.
12228 (Regexp): Mention non-Unicode regexp behaviour.
12229 (Other): Mention non-Unicode matching behaviour.
12230
74bbf0db
VS
122312011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12232
f63d6bf4 12233 Make HFS implementation use MacRoman.
74bbf0db
VS
12234
12235 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
12236 (macroman): New const array.
12237 (macroman_to_utf8): New function.
12238 (utf8_to_macroman): Likewise.
12239 (grub_hfs_find_dir): Use utf8_to_macroman.
12240 (grub_hfs_dir): Use macroman_to_utf8.
12241 Set case_insensitive.
12242
4ea0316e
VS
122432011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12244
12245 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
12246
d3c13cbd
VS
122472011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12248
12249 Integrate hints into autogeneration scripts.
12250
12251 * docs/grub.texi (Filesystems): Add a hostdisk example.
12252 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
12253 (grub-probe): Add ofpath.
12254 * gentpl.py: Remove group nosparc64.
12255 * grub-core/commands/search.c (cache_entry): New struct.
12256 (cache): New var.
12257 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
12258 * grub-core/commands/search_wrap.c (options): Add platform-specific
12259 hint options.
12260 (grub_cmd_search): Handle platform-specific hints.
12261 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
12262 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
12263 (grub_util_biosdisk_data): Likewise.
12264 (grub_util_biosdisk_open): Set device_map.
12265 (read_device_map): Handle "" as indication of no map.
12266 Set device_map.
12267 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
12268 (grub_util_biosdisk_get_compatibility_hint): New function.
12269 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
12270 * include/grub/emu/hostdisk.h
12271 (grub_util_biosdisk_get_compatibility_hint): New proto.
12272 * util/grub-install.in: Don't call grub-mkdevicemap.
12273 Add platform-specific hint to load.cfg.
12274 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
12275 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
12276 hints. Set root preliminary to compatibility hint, not to OS name.
12277 * util/grub-probe.c (PRINT_*): Add hints.
12278 (print): Make static.
12279 (escape_of_path): New function.
12280 (guess_bios_drive): Likewise.
12281 (guess_efi_drive): Likewise.
12282 (guess_baremetal_drive): Likewise.
12283 (print_full_name): Likewise.
12284 (probe): Handle hints.
12285 (main): Likewise.
12286 * util/ieee1275/devicemap.c: Removed.
12287 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
12288 updated.
12289 (grub_util_devname_to_ofpath): Return NULL on failure.
12290
12291 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
12292 resource leak.
12293 * util/getroot.c (grub_util_pull_device): Fix memory leak.
12294
12295 * po/POTFILES.in: Regenerated.
12296
12297 Allow purely long options
12298
12299 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
12300 (SHORT_ARG_USAGE): Likewise.
12301 (grub_arg_show_help): Compare opt with help_options.
12302 (parse_option): Receive opt as argument. If makes big simplificatons.
12303 All users updated
12304
00ce2df3
VS
123052011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12306
12307 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
12308 Restructure to avoid warning.
12309
e77e325f
VS
123102011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12311
12312 * util/grub-install.in: Account for possible escaped comma in device
12313 name.
12314
165099ea
VS
123152011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12316
12317 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
12318 channel.
12319
ce4a999d
VS
123202011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12321
12322 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
12323 allocation and zero-setting.
12324 (grub_ieee1275_get_devname): Check that alias is complete.
12325
379586ad
VS
123262011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12327
12328 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
12329 unaligned segments.
12330
9197b0ad
VS
123312011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12332
12333 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
12334 prefix.
12335 (grub_ofdisk_open): Check and discard ieee1275 prefix.
12336 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
12337 Add ieee1275 prefix.
12338
edddb7f9
VS
123392011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12340
12341 * docs/grub.texi (Filesystems): Update.
12342
a1a8b1b9
VS
123432011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12344
12345 Support odc, newc and bigendian cpio formats.
12346
12347 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
12348 * grub-core/Makefile.core.def (newc): New module.
12349 (odc): Likewise.
12350 (cpio_be): Likewise.
12351 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
12352 (MAGIC): Likewise.
12353 (MAGIC2): Likewise.
12354 (head) [MODE_ODC]: Adapt for the format.
12355 (head) [MODE_NEWC]: Likewise.
12356 (head) [!MODE_*]: Write fields of interest as arrays.
12357 (MAGIC_USTAR): Removed.
12358 (read_number) [MODE_NEWC]: Change to hex.
12359 (read_number) [!MODE_*]: Parse binary arrays.
12360 (grub_cpio_find_file): Factor out the code for better structure and
12361 always use read_number.
12362 (grub_cpio_mount): Use MAGIC and MAGIC2.
12363 (grub_cpio_dir): Exit on first hook non-0 return.
12364 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
12365 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
12366 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
12367 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
12368 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
12369 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
12370 * grub-core/fs/newc.c: New file.
12371 * grub-core/fs/odc.c: Likewise.
12372 * grub-core/fs/cpio_be.c: Likewise.
12373
58eba9ee
VS
123742011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12375
12376 Fix handling of tar numbers occupying the whole field.
12377
12378 * grub-core/fs/cpio.c (read_number): New function.
12379 (grub_cpio_find_file): Use read_number instead of strtoull.
12380
a54a0e12
VS
123812011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12382
12383 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
12384 occupying the whole field size.
12385
a6120aca
LA
123862011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
12387
12388 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
12389
a93964ce
VS
123902011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12391
12392 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
12393
3ea1ca46
SG
123942011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
12395
12396 * grub-core/Makefile.core.def (lzma_decompress): Add missing
12397 TARGET_IMG_LDFLAGS.
12398
b87f7ef2
VS
123992011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12400
12401 * util/getroot.c (ESCAPED_PATH_MAX): New define.
12402 (mountinfo_entry): Increase the field size to take escaping into
12403 account.
12404 (find_root_device_from_libzfs): Add one byte to size of strings for
12405 security.
12406
62092395
VS
124072011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12408
12409 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
12410 an assert.
12411 * util/grub-setup.c (setup): Likewise.
12412
1f0b1a77
VS
124132011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12414
12415 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
12416 _LzmaDecodeA.
12417
8eba9997
VS
124182011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12419
12420 * docs/grub.texi (Internationalisation): New section.
12421
dd0c91e9
VS
124222011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12423
12424 * docs/grub.texi (Loopback booting): New section.
12425
124262011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
12427
12428 * util/grub-mkstandalone.in: Fix minor typo errors.
12429
198e150a
VS
124302011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
12431
12432 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
12433
12434 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
12435 net/icmp.c and net/icmp6.c.
12436 (http): New module.
12437 (priority_queue): Likewise.
12438 * grub-core/io/bufio.c: Rewritten.
12439 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
12440 TYPE_WITH_CONFIGFILE_OPTION.
12441 (legacy_commands): Add bootp and dhcp.
12442 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
12443 (grub_legacy_parse): Likewise.
12444 * grub-core/lib/priority_queue.c: New file.
12445 * grub-core/net/arp.c: Add missing license header.
12446 (arp_find_entry): Removed.
12447 (arp_find_entry): Likewise.
12448 (grub_net_arp_resolve): Rename to ...
12449 (grub_net_arp_send_request): ...this.
12450 (grub_net_arp_receive): New card argument.
12451 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
12452 Set router and DNS server.
12453 (grub_net_configure_by_dhcp_ack): Handle routing information.
12454 (grub_cmd_bootp): Set checksum.
12455 (grub_bootp_init): Remove net_dhcp.
12456 * grub-core/net/dns.c: New file.
12457 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
12458 completion.
12459 (get_card_packet): Handle allocation.
12460 (grub_efinet_findcards): Set mtu.
12461 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
12462 (get_card_packet): Handle allocation.
12463 (emucard): Set mtu.
12464 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
12465 (GRUB_MOD_INIT): Set mtu.
12466 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
12467 mtu.
12468 (get_card_packet): Handle allocation.
12469 (grub_ofnet_findcards): Set mtu.
12470 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
12471 assert.
12472 (grub_net_recv_ethernet_packet): Handle IPv6.
12473 * grub-core/net/http.c: New file.
12474 * grub-core/net/icmp.c: Likewise.
12475 * grub-core/net/icmp6.c: Likewise.
12476 * grub-core/net/ip.c (ip6addr): New type.
12477 (ip6hdr): Likewise.
12478 (reassemble): Likewise.
12479 (cmp): New function.
12480 (reassembles): New variable.
12481 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
12482 (id): New variable.
12483 (send_fragmented): New function.
12484 (grub_net_send_ip_packet): Rename to ...
12485 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
12486 Handle non-UDP.
12487 (grub_net_recv_ip_packets): Rename to ...
12488 (handle_dgram): ... this. Check checksum. Handle non-UDP.
12489 (free_rsm): New function.
12490 (free_old_fragments): Likewise.
12491 (grub_net_recv_ip4_packets): New function.
12492 (grub_net_send_ip6_packet): Likewise.
12493 (grub_net_send_ip_packet): Likewise.
12494 (grub_net_recv_ip6_packets): Likewise.
12495 (grub_net_recv_ip_packets): Likewise.
12496 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
12497 (LINK_LAYER_CACHE_SIZE): New const.
12498 (link_layer_find_entry): New function.
12499 (grub_net_link_layer_add_address): Likewise.
12500 (grub_net_link_layer_resolve_check): Likewise.
12501 (grub_net_link_layer_resolve): Likewise.
12502 (grub_net_ipv6_get_slaac): Likewise.
12503 (grub_net_ipv6_get_link_local): Likewise.
12504 (grub_cmd_ipv6_autoconf): Likewise.
12505 (parse_ip): Handle one number representation.
12506 (parse_ip6): New functoion.
12507 (match_net): Handle IPv6.
12508 (grub_net_resolve_address): Handle IPv6 and DNS.
12509 (grub_net_resolve_net_address): Handle IPv6.
12510 (route_cmp): New function.
12511 (grub_net_route_address): Find best route.
12512 (grub_net_addr_to_str): Handle IPv6.
12513 (grub_net_addr_cmp): New function.
12514 (grub_net_add_addr): Register local route.
12515 (print_net_address): Handle net address.
12516 (grub_net_poll_cards): Retransmit TCP.
12517 (grub_net_poll_cards_idle_real): Likewise.
12518 (have_ahead): New function.
12519 (grub_net_seek_real): Use underlying seek.
12520 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
12521 * grub-core/net/tcp.c: New file.
12522 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
12523 (cmp): New function.
12524 (ack): Likewise.
12525 (tftp_receive): Handle unordered input.
12526 (destroy_pq): New function.
12527 (tftp_close): Close pq.
12528 * grub-core/net/udp.c: Put missing license header.
12529 (grub_net_udp_socket): New function.
12530 (udp_socket_register): Likewise.
12531 (grub_net_udp_close): Likewise.
12532 (grub_net_recv_udp_packet): Check checksum.
12533 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
12534 * include/grub/misc.h (grub_memchr): New function.
12535 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
12536 (grub_net_card_driver): Return buf in recv.
12537 (grub_net_slaac_mac_list): New struct.
12538 (grub_network_level_protocol_id): Add ipv6.
12539 (grub_net_network_level_addr): Likewise.
12540 (grub_net_network_level_net_addr): Likewise.
12541 (grub_net_app_protocol): Add seek.
12542 (grub_net_socket): Removed.
12543 (grub_net_sockets): Likewise.
12544 (grub_net_socket_register): Likewise.
12545 (grub_net_socket_unregister): Likewise.
12546 (FOR_NET_SOCKETS): Likewise.
12547 (grub_net_add_addr): Add const.
12548 (GRUB_NET_BOOTP_*): New enum.
12549 (grub_net_addr_cmp): New proto.
12550 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
12551 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
12552 (grub_net_hwaddr_to_str): NEw proto.
12553 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
12554 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
12555 (grub_dns_init): New proto.
12556 (grub_dns_fini): Likewise.
12557 (grub_net_tcp_retransmit): Likewise.
12558 (grub_net_link_layer_add_address): Likewise.
12559 (grub_net_link_layer_resolve_check): Likewise.
12560 (grub_net_link_layer_resolve): Likewise.
12561 (grub_net_dns_lookup): Likewise.
12562 (grub_net_add_dns_server): Likewise.
12563 (grub_net_remove_dns_server): Likewise.
12564 (GRUB_NET_TRIES): New const.
12565 (GRUB_NET_INTERVAL): Likewise.
12566 * include/grub/net/arp.h: Mostly rewritten.
12567 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
12568 * include/grub/net/ip.h: Mostly rewritten.
12569 * include/grub/net/netbuff.h: Indent.
12570 * include/grub/net/tcp.h: New file.
12571 * include/grub/net/udp.h: Mostly rewritten.
12572 * include/grub/priority_queue.h: New file.
12573 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
12574 (grub_swap_bytes64_compile_time): Likewise.
12575 (grub_cpu_to_be16_compile_time): Likewise.
12576 (grub_cpu_to_be32_compile_time): Likewise.
12577 (grub_cpu_to_be64_compile_time): Likewise.
12578 (grub_be_to_cpu64_compile_time): Likewise.
12579
215c1800
VS
125802011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
12581
12582 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
12583 UINT_TO_PTR with cast.
12584
c17e546c
VS
125852011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12586
12587 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
12588 don't use them.
12589
ff6b18b6
VS
125902011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12591
12592 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
12593 already there.
12594
70ffcc93
VS
125952011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12596
12597 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
12598 confusing ipxe.
12599
e5f4d260
VS
126002011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12601
12602 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
12603 Add missing const attribute.
12604 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
12605 Likewise.
12606 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
12607 Likewise.
12608
8e54b4b7
VS
126092011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12610
12611 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
12612 misaligned access.
12613 (serpent_setkey): Likewise.
12614 (serpent_encrypt_internal): Likewise.
12615 (serpent_decrypt_internal): Likewise.
12616 (serpent_encrypt): Don't put an alignment-increasing cast.
12617 (serpent_decrypt): Likewise.
12618 (serpent_test): Likewise.
12619
813c0a2b
VS
126202011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12621
12622 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
12623
f2b60fbd
VS
126242011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12625
12626 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
12627
12628 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
12629 grub_addr_t casts.
12630 (PTR_TO_UINT64): Likewise.
12631 (PTR_TO_UINT32): Likewise.
12632
5ef5c511
VS
126332011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12634
12635 * util/grub-mkimage.c (generate_image): Decrease the higher limit
12636 because of stack.
12637 * util/grub-setup.c (setup): Don't add redundancy past the higher load
12638 limit.
12639
c476e6df
VS
126402011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12641
12642 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
12643 text_width > available width a bit more gracefully.
12644
384ad7cc
VS
126452011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12646
12647 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
12648 current address calculation.
12649
96f8caf8
VS
126502011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12651
12652 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
12653 stack.
12654 (encode_block): Likewise.
12655
276b7a8b
VS
126562011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12657
12658 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
12659 certainety.
12660
e3fd394a
VS
126612011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12662
12663 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
12664 non-RS part to avoid RS messing with GDT.
12665 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
12666 Increase to suit in realmode routines.
12667
126682011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12669
12670 * grub-core/kern/i386/realmode.S: Increase alignment.
12671 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
12672
ee9c2e7a
VS
126732011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12674
12675 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
12676 be deterministic.
12677 (syndroms): Compute 0 syndrom.
12678 (rs_recover): Use 0 syndrom.
12679
7a7f7cc9
VS
126802011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12681
12682 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
12683
a14b16d1
VS
126842011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12685
12686 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
12687 brackets.
12688
9f59e9fc
VS
126892011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12690
ca1b552c
VS
12691 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
12692 account.
12693 (get_top_pad): Likewise.
12694 (get_right_pad): Likewise.
12695 (get_bottom_pad): Likewise.
12696
126972011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12698
12699 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 12700
e739d698
VS
127012011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12702
12703 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
12704 attribute as the structure isn't guaranteed to be properly aligned.
12705 (grub_efi_pci_device_path): Likewise.
12706 (grub_efi_pccard_device_path): Likewise.
12707 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
12708 specify the size of `memory_type'.
12709 (grub_efi_vendor_device_path): Likewise.
12710 (grub_efi_controller_device_path): Likewise.
12711 (grub_efi_acpi_device_path): Likewise.
12712 (grub_efi_expanded_acpi_device_path): Likewise.
12713 (grub_efi_atapi_device_path): Likewise.
12714 (grub_efi_scsi_device_path): Likewise.
12715 (grub_efi_fibre_channel_device_path): Likewise.
12716 (grub_efi_1394_device_path): Likewise.
12717 (grub_efi_usb_device_path): Likewise.
12718 (grub_efi_usb_class_device_path): Likewise.
12719 (grub_efi_i2o_device_path): Likewise.
12720 (grub_efi_mac_address_device_path): Likewise.
12721 (grub_efi_ipv4_device_path): Likewise.
12722 (grub_efi_ipv6_device_path): Likewise.
12723 (grub_efi_infiniband_device_path): Likewise.
12724 (grub_efi_uart_device_path): Likewise.
12725 (grub_efi_vendor_messaging_device_path): Likewise.
12726 (grub_efi_hard_drive_device_path): Likewise.
12727 (grub_efi_cdrom_device_path): Likewise.
12728 (grub_efi_vendor_media_device_path): Likewise.
12729 (grub_efi_file_path_device_path): Likewise.
12730 (grub_efi_protocol_device_path): Likewise.
12731 (grub_efi_piwg_device_path): Likewise.
12732 (grub_efi_bios_device_path): Likewise.
12733
cb8f88ea
VS
127342011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12735
12736 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
12737 (grub_ucs4_to_utf8_alloc): Likewise.
12738 (grub_ucs4_to_utf8): Likewise.
12739 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
12740 (grub_ucs4_to_utf8_alloc): Likewise.
12741
309e5352
VS
127422011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12743
12744 AFFS never uses unicode.
12745
12746 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
12747 (grub_latin1_to_utf8): New inline function.
12748 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
12749
e7987e1b
VS
127502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12751
12752 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
12753 overflow.
12754
efc2616e
VS
127552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12756
12757 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
12758 (grub_squash_dirent_header): Likewise.
12759 (read_chunk): Don't double swap.
12760 (grub_squash_iterate_dir): Fix swap sizes.
12761
3c349f5a
VS
127622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12763
12764 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
12765
b453412d
VS
127662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12767
12768 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
12769 (grub_hfs_iterate_dir): Likewise.
12770
12e9d4d1
VS
127712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12772
12773 Fix video on platforms where unaligned access is forbidden.
12774 Make several optimisations while on it.
12775
12776 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
12777 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
12778 (grub_video_fbblit_replace_32bit_1bit): Likewise.
12779 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
12780 Disable.
12781 (grub_video_fbblit_replace_16bit_1bit):
12782 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
12783 (grub_video_fbblit_replace_8bit_1bit): Likewise.
12784 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
12785 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
12786 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
12787 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
12788 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
12789 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
12790 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
12791 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
12792 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
12793 (grub_video_fbblit_replace_index_RGB888): Likewise.
12794 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
12795 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
12796 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
12797 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
12798 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
12799 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
12800 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
12801 Disable.
12802 (grub_video_fbblit_blend_XXX565_1bit):
12803 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
12804 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
12805 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
12806 void *.
12807 * grub-core/video/fb/video_fb.c (common_blitter)
12808 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
12809 (grub_video_fb_create_render_target_from_pointer)
12810 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
12811 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
12812 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
12813 definition.
12814 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
12815
ace96609
VS
128162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12817
12818 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
12819 HH22 and HM10 relocations.
12820
fd261d73
VS
128212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12822
12823 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
12824
e59b7857
VS
128252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12826
12827 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
12828 allocation succeeded.
12829
9b4baaa4
VS
128302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12831
12832 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
12833 argument a u8 pointer. All users updated.
12834 Handle unaligned buffers.
12835
dc713193
VS
128362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12837
12838 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
12839 add_part to workaround compiler bug.
12840
30dd48c2
VS
128412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12842
12843 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
12844
0c6087a8
VS
128452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12846
12847 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
12848 Reserve alignment invariants.
12849 (grub_multiboot_load): Likewise.
12850 (retrieve_video_parameters): Likewise.
12851 (grub_multiboot_make_mbi): Likewise.
12852
c2e77777
VS
128532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12854
12855 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
12856 incorrect pointer.
12857
b70b6d11
VS
128582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12859
12860 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
12861 (grub_pata_pio_write): Likewise.
12862
02a2bf83
VS
128632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12864
12865 Add noreturn attributes and remove unreachable code.
12866
12867 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
12868 code.
12869 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
12870 code. Mark as noreturn.
12871 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
12872 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
12873 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
12874 unreachable code.
12875 * grub-core/kern/main.c (grub_main): Mark as noreturn.
12876 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
12877 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
12878 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
12879 * include/grub/kernel.h (grub_main): Mark as noreturn.
12880 * include/grub/reader.h (grub_rescue_run): Likewise.
12881
2019d09e
VS
128822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12883
12884 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
12885 redundant declaration.
12886
d1c501ee
VS
128872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12888
12889 * include/grub/net.h (grub_net_network_level_interfaces): Remove
12890 redundant declaration.
12891 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
12892
61664420
VS
128932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12894
12895 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
12896 to ensure alignment.
12897 (grub_hdparm_print_identify): Make argument uint16 * to ensure
12898 alignment. Ensure tmp alignment.
12899 (grub_cmd_hdparm): Ensure buf alignment.
12900 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
12901 to ensure alignment.
12902 (grub_ata_dumpinfo): Ensure text alignment.
12903 (grub_atapi_identify): Preserve alignment invariant.
12904 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
12905
0d51ee20
VS
129062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12907
12908 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
12909 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
12910 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
12911 * include/grub/misc.h (grub_reboot)
12912 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
12913 (grub_halt) [__mips__]: Likewise.
12914
753ef8c1
VS
129152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12916
12917 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
12918 Remove redundant declaration.
12919 (grub_mmap_get_post64): Likewise.
12920 (grub_mmap_get_upper): Likewise.
12921 (grub_mmap_get_lower): Likewise.
12922
85c85365
VS
129232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12924
12925 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
12926 uint32_t * to ensure alignment.
12927 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
12928
a23f2cc4
VS
129292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12930
93018f64
VS
12931 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
12932 uint16_t * to ensure alignment.
12933 (sun_pc_partition_map_iterate): Make `block' a union to ensure
12934 alignment.
12935
129362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12937
12938 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
12939 to ensure alignment.
12940 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
12941
58acccd6
VS
129422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12943
12944 * grub-core/fs/ntfs.c (u16at): Make into inline function.
12945 Handle unaligned pointers.
12946 (u32at): Likewise.
12947 (u64at): Likewise.
12948 (fixup): Use byte access instead of v16at.
12949 (find_attr): Fix imporper usage of v32at.
12950 (read_data): Likewise.
12951 (list_file): Handle byte-swapping and unaligned strings.
12952 (grub_ntfs_label): Likewise.
12953
9b05cad7
VS
129542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12955
12956 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
12957 as it's not necessarily aligned.
12958
b3950b84
VS
129592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12960
12961 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
12962 redundant declaration.
12963 (grub_serial_init): Likewise.
12964 (grub_terminfo_init): Likewise.
12965
fcd232b7
VS
129662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12967
12968 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
12969 function.
12970 (ZAP_HASH_IDX): Likewise.
12971 (ZAP_LEAF_HASH_SHIFT): Likewise.
12972 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
12973 (LEAF_HASH): Likewise.
12974 (ZAP_LEAF_NUMCHUNKS): Likewise.
12975 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
12976 alignment invariants. Return pointer. All users updated.
12977 (ZAP_LEAF_ENTRY): Make into inline function.
12978 (NBBY): Removed.
12979 (xor): LIkewise.
12980 (xor_out): Use grub_crypto_xor.
12981 (dnode_get_path): Use grub_get_unaligned.
12982 (nvlist_find_value): Likewise.
12983 (grub_zfs_nvlist_lookup_uint64): Likewise.
12984 (grub_zfs_nvlist_lookup_string): Likewise.
12985 (get_nvlist_size): Likewise.
12986 (grub_zfs_open): Likewise.
12987 (fill_fs_info): Likewise.
12988 (grub_zfs_dir): Likewise.
12989 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
12990 alignment invariants.
12991 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
12992 necessarily aligned.
12993
f138623a
VS
129942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12995
12996 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
12997
564840dc
VS
129982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12999
13000 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
13001 arithmetic to conserve alignment invariants.
13002
9b40df20
VS
130032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13004
13005 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
13006 redundant declaration.
13007 (grub_efiemu_mm_obtain_request): Likewise.
13008 (grub_efiemu_prepare): Likewise.
13009
d1c930f9
VS
130102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13011
13012 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
13013 to match types.
13014
4c5f3056
VS
130152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13016
13017 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
13018 case of aunaligned recptr.
13019 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
13020 alignment.
13021 (grub_hfsplus_btree_search): Handle unaligned index.
13022
728cba91
VS
130232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13024
13025 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
13026 to get freetag and skip.
13027
eb561f31
VS
130282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13029
13030 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
13031 array.
13032 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
13033 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
13034
20993fbb
VS
130352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13036
13037 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
13038 name for checksum and fix allocation algorithm.
13039
1f313b94
VS
130402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13041
13042 * include/grub/types.h (grub_properly_aligned_t): New type.
13043 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
13044 (grub_get_unaligned16): Add explicit casts.
13045 (grub_get_unaligned32): Likewise.
13046 (grub_get_unaligned64): Likewise.
13047 (grub_set_unaligned16): New function.
13048 (grub_set_unaligned32): Likewise.
13049
47ae27ec
VS
130502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13051
13052 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
13053
78c2cd1c
VS
130542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13055
13056 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
13057 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
13058 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
13059
53072f9b
VS
130602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13061
13062 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
13063 conditionals.
13064
055dc239
VS
130652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13066
13067 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
13068 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
13069
496bd074
VS
130702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13071
13072 Unify and improve RAID and crypto xor.
13073
13074 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
13075 changed to grub_crypto_xor
13076 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
13077 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
13078 Use bigger types when possible.
13079
ef6e4335
VS
130802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13081
13082 * grub-core/disk/raid.c (scan_devices): Fix condition.
13083
5d048bf2
VS
130842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13085
13086 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
13087 Make name a const ptr.
13088
ee533335
VS
130892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13090
13091 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
13092 first argument a const pointer.
13093 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
13094 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
13095 proto.
13096 (grub_children_iterate): Likewise.
13097 (grub_machine_mmap_iterate): Remove redundant declaration.
13098
cc8f3668
VS
130992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13100
13101 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
13102 (grub_cmd_acpi) [!x86]: Disable EBDA.
13103
c5fc563a
VS
131042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13105
13106 Enable UTF8 in gnulib regexp.
13107
13108 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
13109 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
13110 (isupper): Use grub_isupper.
13111 (isascii): New inline function.
13112 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
13113 * grub-core/lib/posix_wrap/wctype.h: Likewise.
13114 * grub-core/normal/charset.c (grub_utf8_process): New function.
13115 (grub_utf8_to_utf16): Use grub_utf8_process.
13116 (grub_encode_utf8_character): New function.
13117 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
13118 * include/grub/charset.h (grub_utf8_process): New declaration.
13119 (grub_encode_utf8_character): Likewise.
13120 * include/grub/misc.h (grub_islower): New inline function.
13121 (grub_isupper): Likewise.
13122 (grub_strchrsub): Moved down to fix the definitions.
13123
0af2346f
VS
131242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13125
13126 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
13127 specification.
13128
74dbd244
VS
131292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13130
13131 * include/grub/loader.h (grub_loader_register_preboot_hook):
13132 Use struct preboot * and not void * for handle. All users updated.
13133 (grub_loader_unregister_preboot_hook): Likewise.
13134
1bc8f60d
VS
131352011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
13136
13137 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
13138 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
13139 UTF-16-BE. All users updated.
13140 (grub_hfsplus_cmp_catkey): Fix unicode handling.
13141 (grub_hfsplus_iterate_dir): Likewise.
13142 (grub_hfsplus_label): Likewise.
13143
48d6e456
VS
131442011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
13145
13146 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
13147
bf3a3857
VS
131482011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
13149
13150 Add missing const qualifiers.
13151
13152 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
13153 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
13154 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
13155 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
13156 (grub_lvm_check_flag): Likewise.
13157 * grub-core/efiemu/i386/coredetect.c
13158 (grub_efiemu_get_default_core_name): Likewise
13159 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
13160 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
13161 * grub-core/fs/ntfs.c (fixup): Likewise.
13162 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
13163 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
13164 (fzap_lookup): Likewise.
13165 (zap_lookup): Likewise.
13166 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
13167 * grub-core/lib/legacy_parse.c (check_option): Likewise.
13168 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
13169 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
13170 (grub_freebsd_add_meta_module): Likewise.
13171 (grub_cmd_freebsd_module): Likewise.
13172 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
13173 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
13174 (grub_xnu_writetree_get_size): Likewise.
13175 (grub_xnu_writetree_toheap_real): Likewise.
13176 (grub_xnu_find_key): Likewise.
13177 (grub_xnu_create_key): Likewise.
13178 (grub_xnu_create_value): Likewise.
13179 (grub_xnu_register_memory): Likewise.
13180 (grub_xnu_check_os_bundle_required): Likewise.
13181 (grub_xnu_scan_dir_for_kexts): Likewise.
13182 (grub_xnu_load_kext_from_dir): Likewise.
13183 * grub-core/normal/color.c (color_list): Likewise.
13184 * grub-core/normal/completion.c (current_word): Likewise.
13185 * grub-core/normal/menu_entry.c (insert_string): Likewise.
13186 * grub-core/term/serial.c (grub_serial_find): Likewise.
13187 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
13188 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
13189 Likewise.
13190 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
13191 (grub_freebsd_add_meta_module): Likewise.
13192 * include/grub/lib/arg.h (grub_arg_option): Likewise.
13193 * include/grub/net.h (grub_net_card_driver): Likewise.
13194 (grub_net_card): Likewise.
13195 (grub_net_app_protocol): Likewise.
13196 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
13197 * include/grub/serial.h (grub_serial_find): Likewise.
13198 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
13199 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
13200 (grub_xnu_create_value): Likewise.
13201 (grub_xnu_find_key): Likewise.
13202 (grub_xnu_scan_dir_for_kexts): Likewise.
13203 (grub_xnu_load_kext_from_dir): Likewise.
13204
13205 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
13206 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
13207 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
13208 Moved from here ...
13209 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
13210
112b4837
CW
132112011-11-28 Colin Watson <cjwatson@ubuntu.com>
13212
13213 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
13214
49e891ac
VS
132152011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
13216
13217 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
13218 (read_device): Fix size calculation.
13219
fd258e5c
RM
132202011-11-25 Robert Millan <rmh@gnu.org>
13221
13222 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
13223 (find_root_device_from_libzfs): Add zpool output parser to be used
13224 as fallback when libzfs isn't available.
13225
78845dc2
SG
132262011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
13227
13228 * po/Makefile.in.in: Add missing escape-continuation.
13229
adac5211
VS
132302011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
13231
13232 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
13233
10b64f1c
VS
132342011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13235
13236 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
13237
bb416954
VS
132382011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13239
13240 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
13241
bdfe9eeb
VS
132422011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13243
13244 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
13245
581ffa8a
VS
132462011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13247
13248 * grub-core/lib/adler32.c: Add missing license specification.
13249 * grub-core/lib/crc64.c: Likewise.
13250 * grub-core/loader/i386/pc/plan9.c: Likewise.
13251 * grub-core/partmap/plan.c: Likewise.
13252
2536cf64
LK
132532011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
13254
13255 Add facility to debug GRUB with gdb under qemu.
13256
13257 * grub-core/gdb_grub.in: New file.
13258 * grub-core/gmodule.pl.in: Likewise.
13259 * grub-core/Makefile.core.def (gmodule.pl): New script.
13260 (gdb_grub): Likewise.
13261
bc108a4a
VS
132622011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13263
13264 * util/grub-mount.c (argp_parser): Accept relative pathes.
13265 * util/grub-fstest.c (argp_parser): Likewise.
13266
111c1778
VS
132672011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13268
13269 Plan9 support.
13270
13271 * Makefile.util.def (libgrubmods): Add
13272 grub-core/partmap/plan.c.
13273 * docs/grub.texi: Notice Plan9 support.
13274 * grub-core/Makefile.core.def (plan9): New module.
13275 (part_plan): Likewise.
13276 * grub-core/loader/i386/pc/plan9.c: New file.
13277 * grub-core/partmap/plan.c: Likewise.
13278 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
13279 define.
13280 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
13281 * include/grub/mm.h (grub_extend_alloc): New inline function.
13282
c30be3b6
VS
132832011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13284
13285 Make Reed-Solomon faster by using power of generator representation of
13286 GF(256)*.
13287
13288 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
13289 (gf_double_t): Likewise.
13290 (gf_invert): Removed.
13291 (gf_powx): New array.
13292 (gf_powx_inv): Likewise.
13293 (scratch): Move higher.
13294 (gf_reduce): Removed.
13295 (gf_mul): Use powx.
13296 (gf_invert): Likewise.
13297 (init_inverts): Replaced with ...
13298 (init_powx): ...this. All users updated.
13299 (pol_evaluate): Replace multiplications with additions.
13300 (rs_encode): Likewise.
13301 (gauss_eliminate): Call gf_invert.
13302 (grub_reed_solomon_add_redundancy): Call init_powx.
13303 (grub_reed_solomon_recover): Call init_powx unconditionally.
13304
fa5aeffc
VS
133052011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13306
13307 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
13308
a346b81c
VS
133092011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13310
13311 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
13312 disk->partiton for safety.
13313
d89ee414
VS
133142011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13315
13316 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
13317 Fix a memory leak.
13318 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
13319
91ee7b6d
VS
133202011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13321
13322 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
13323
91e5a33d
VS
133242011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13325
13326 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
13327
9edd7be2
VS
133282011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13329
13330 Fix spaces handling in proc/self/mountinfo.
13331
13332 * util/getroot.c (unescape): New function.
13333 (grub_find_root_device_from_mountinfo): Use unescape.
13334
ba102053
VS
133352011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13336
13337 Support ZFS embedding.
13338
13339 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
13340 (grub_zfs_fs): Register grub_zfs_embed.
13341
aa94b870
VS
133422011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13343
13344 Fix MIPS compilation.
13345
13346 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
13347 * include/grub/offsets.h: Rename decompressor fields from
13348 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
13349 * util/grub-mkimage.c (image_targets): Use new names.
13350
5fbdac14
VS
133512011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13352
13353 Defer multiboot device parsing until we're in compressed part.
13354
13355 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
13356 bsd_part. setdevice has fallen into disuse.
13357 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
13358 (bsd_part): Likewise.
13359 (boot_dev): New variable.
13360 (multiboot_trampoline): Don't parse multiboot device.
13361 Pass multiboot device in %edx.
13362 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
13363 grub_boot_device.
13364 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
13365 Likewise.
13366 * grub-core/kern/i386/pc/startup.S: Save edx.
13367 (grub_boot_drive): Removed.
13368 (grub_install_dos_part): Likewise.
13369 (grub_install_bsd_part): Likewise.
13370 (grub_boot_device): New variable.
13371 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
13372 (grub_install_bsd_part): Likewise.
13373 (grub_boot_drive): Likewise.
13374 (grub_boot_device): New variable.
13375 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
13376 Removed.
13377 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
13378 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
13379 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
13380 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
13381 * util/grub-install.in: Remove redundant condition.
13382
691cbb58
VS
133832011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13384
13385 Fix bug introduced by previous commit.
13386
13387 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
13388
60240b8b
VS
133892011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13390
13391 Use decompressors framework on i386-pc. It increases core size
13392 by 46 bytes but improves compatibility and maintainability.
13393
13394 * grub-core/Makefile.core.def (lzma_decompress): New image.
13395 (kernel): Add i386_pc_ldflags.
13396 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
13397 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
13398 to real_to_prot, prot_to_real and device info.
13399 * include/grub/offsets.h: Renamed decompressor offsets.
13400 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
13401 (image_target_desc): Remove raw_size and rename decompressor fields.
13402 (compress_kernel): Handle lzma.
13403 (generate_image): Handle decompressors on i386-pc.
13404
e9d3421c
VS
134052011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13406
13407 * configure.ac: Add -fno-asynchronous-unwind-tables.
13408
2b23074a
VS
134092011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13410
13411 Move assembly code to C by using intwrap. It increases core size
13412 by 88 bytes but improves compatibility and maintainability.
13413
13414 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
13415 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
13416 ... here. Translated to C.
13417 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
13418 * grub-core/term/i386/pc/console.c (grub_console_getkey):
13419 ... here. Translated to C.
13420 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
13421 * grub-core/term/i386/pc/console.c (grub_console_getxy):
13422 ... here. Translated to C.
13423 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
13424 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
13425 ... here. Translated to C.
13426 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
13427 * grub-core/term/i386/pc/console.c (grub_console_cls):
13428 ... here. Translated to C.
13429 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
13430 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
13431 ... here. Translated to C.
13432 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
13433 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
13434 Translated to C.
13435 * grub-core/term/i386/pc/console.c (int10_9): New function.
13436 (grub_console_putchar): Likewise.
13437 * include/grub/i386/pc/console.h: Removed the not anymore shared
13438 functions.
13439
678f4b67
VS
134402011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13441
13442 Move grub_chainloader_real_boot out of the kernel.
13443
13444 * grub-core/Makefile.am: Remove machine/loader.h.
13445 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
13446 Removed.
13447 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
13448 variable.
13449 (grub_relocator16_keep_a20_enabled): Likewise.
13450 (grub_relocator16_boot): Fill new variables.
13451 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
13452 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
13453 relocator.
13454 (grub_chainloader_unload): Likewise.
13455 (grub_chainloader_cmd): Likewise.
13456 * include/grub/i386/pc/loader.h: Removed.
13457 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
13458 and esi. All initialisers updated.
13459
4626edf6
VS
134602011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
134612011-11-12 Colin Watson <cjwatson@ubuntu.com>
13462
13463 * Makefile.util.def (grub-mount): New util.
13464 * .bzrignore: Add grub-mount.
13465 * configure.ac: Check for fuse and enable grub-mount if available.
13466 * docs/man/grub-mount.h2m: New file.
13467 * util/grub-mount.c: Likewise.
13468
10f0117b
VS
134692011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13470
13471 * grub-core/commands/efi/fixvideo.c: Gettextize.
13472 * grub-core/commands/hashsum.c: Likewise.
13473 * grub-core/commands/i386/cmostest.c: Likewise.
13474 * grub-core/commands/i386/pc/drivemap.c: Likewise.
13475 * grub-core/commands/i386/pc/lsapm.c: Likewise.
13476 * grub-core/commands/i386/pc/sendkey.c: Likewise.
13477 * grub-core/commands/lsmmap.c: Likewise.
13478 * grub-core/commands/menuentry.c: Likewise.
13479 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
13480 * grub-core/commands/setpci.c: Likewise.
13481 * grub-core/loader/i386/bsd.c: Likewise.
13482 * grub-core/loader/i386/linux.c: Likewise.
13483 * util/getroot.c: Likewise.
13484 * util/grub-editenv.c: Likewise.
13485 * util/grub-fstest.c: Likewise.
13486 * util/grub-mkfont.c: Likewise.
13487 * util/grub-mkimage.c: Likewise.
13488 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13489 * util/grub-pe2elf.c: Likewise.
13490 * util/grub-probe.c: Likewise.
13491 * util/grub-setup.c: Likewise.
13492 * util/ieee1275/ofpath.c: Likewise.
13493 * util/misc.c: Likewise.
13494 * util/raid.c: Likewise.
13495
566f779b
RM
134962011-11-11 Robert Millan <rmh@gnu.org>
13497
13498 * util/getroot.c (grub_util_get_geom_abstraction): Remove
13499 __attribute__((unused)) from `os_dev', which *is* being used.
13500
b50787de
VS
135012011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13502
13503 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
13504 forgotten define.
13505 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
13506 GRUB_IA64_DL_GOT_ALIGN.
13507 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
13508 GRUB_IA64_DL_TRAMP_ALIGN.
13509
119d11c8
VS
135102011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13511
13512 Replace grub_fatal with normal errors in i386 linux loader.
13513
13514 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
13515 (allocate_pages): Check find_efi_mmap_size return value.
13516 (grub_e820_add_region): Return error.
13517 (grub_linux_boot): Check mmap return value.
13518
6e0632e2
VS
135192011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13520
13521 * grub-core/commands/acpihalt.c: Gettextized.
13522 * grub-core/commands/cacheinfo.c: Likewise.
13523 * grub-core/commands/cmp.c: Likewise.
13524 * grub-core/commands/efi/loadbios.c: Likewise.
13525 * grub-core/commands/gptsync.c: Likewise.
13526 * grub-core/commands/ieee1275/suspend.c: Likewise.
13527 * grub-core/commands/legacycfg.c: Likewise.
13528 * grub-core/commands/memrw.c: Likewise.
13529 * grub-core/commands/minicmd.c: Likewise.
13530 * grub-core/commands/parttool.c: Likewise.
13531 * grub-core/commands/time.c: Likewise.
13532 * grub-core/commands/videoinfo.c: Likewise.
13533 * grub-core/disk/geli.c: Likewise.
13534 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
13535 * grub-core/disk/luks.c: Likewise.
13536 * grub-core/disk/lvm.c: Likewise.
13537 * grub-core/font/font_cmd.c: Likewise.
13538 * grub-core/fs/zfs/zfscrypt.c: Likewise.
13539 * grub-core/fs/zfs/zfsinfo.c: Likewise.
13540 * grub-core/gfxmenu/view.c: Likewise.
13541 * grub-core/kern/emu/hostdisk.c: Likewise.
13542 * grub-core/kern/emu/main.c: Likewise.
13543 * grub-core/kern/emu/misc.c: Likewise.
13544 * grub-core/kern/emu/mm.c: Likewise.
13545 * grub-core/kern/mips/arc/init.c: Likewise.
13546 * grub-core/kern/mips/loongson/init.c: Likewise.
13547 * grub-core/kern/partition.c: Likewise.
13548 * grub-core/lib/i386/halt.c: Likewise.
13549 * grub-core/lib/mips/arc/reboot.c: Likewise.
13550 * grub-core/lib/mips/loongson/reboot.c: Likewise.
13551 * grub-core/loader/i386/pc/chainloader.c: Likewise.
13552 * grub-core/loader/i386/xnu.c: Likewise.
13553 * grub-core/loader/multiboot.c: Likewise.
13554 * grub-core/net/bootp.c: Likewise.
13555 * grub-core/net/net.c: Likewise.
13556 * grub-core/normal/term.c: Likewise.
13557 * grub-core/partmap/bsdlabel.c: Likewise.
13558 * grub-core/parttool/msdospart.c: Likewise.
13559 * grub-core/term/gfxterm.c: Likewise.
13560 * grub-core/term/terminfo.c: Likewise.
13561 * grub-core/video/i386/pc/vbe.c: Likewise.
13562 * util/grub-menulst2cfg.c: Likewise.
13563 * util/grub-mkdevicemap.c: Likewise.
13564 * util/grub-mklayout.c: Likewise.
13565 * util/grub-mkrelpath.c: Likewise.
13566 * util/grub-script-check.c: Likewise.
13567 * util/ieee1275/grub-ofpathname.c: Likewise.
13568 * util/resolve.c: Likewise.
13569
073aa7a9
VS
135702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13571
13572 Support %1$d syntax.
13573
13574 * tests/printf_unit_test.c: New file.
13575 * Makefile.util.def (printf_test): New test.
13576 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
13577
c76b5417
VS
135782011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13579
13580 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
13581 fix.
13582
df067ad1
VS
135832011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13584
13585 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
13586 dprintf.
13587 * grub-core/font/font.c (grub_font_load): Likewise.
13588
5b289bc5
VS
135892011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13590
13591 * util/grub-macho2img.c: Add comment concerning gettext.
13592 * grub-core/lib/legacy_parse.c: Likewise.
13593
c1860f87
VS
135942011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13595
13596 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
13597 (grub_xvasprintf): Likewise.
13598
d35d0d37
VS
135992011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13600
13601 Add const keyword to grub_env_get and gettextize week days.
13602
13603 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
13604 (grub_read_hook_datetime): Return const char *.
13605 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
13606 updated.
13607 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
13608 Mark for gettext.
13609 (grub_get_weekday_name): Return const char *. Call gettext.
13610 * grub-core/script/argv.c (grub_script_argv_append): Receive const
13611 char * and len as the argument. All users updated.
13612 (grub_script_argv_split_append): Receive const char *.
13613 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
13614 * include/grub/env.h (grub_env_get): Likewise.
13615 (grub_env_read_hook_t): Return const char *.
13616 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
13617 (grub_script_argv_split_append): Likewise.
13618
9aed8a71
VS
136192011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13620
13621 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
13622
067fdf00
VS
136232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13624
13625 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
13626 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
13627
a8bd9d39
VS
136282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13629
13630 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
13631 Fix prototype.
13632
f7ce5baf
VS
136332011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13634
13635 Fix mips compilation.
13636
13637 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
13638 normal decoder.
13639 (hashes): Use in embed decoder as well (for sizes).
13640 (dec_stream_header): Fix embed decompressor logic.
13641 (dec_stream_footer): Likewise.
13642
9bb182f3
VS
136432011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13644
13645 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
13646 an error and not a fatal on unrecognised relocation types.
13647
63a9e6f6
VS
136482011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13649
13650 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
13651 Issue error rather than printf on unknown arguments.
13652
4c458569
VS
136532011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13654
13655 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
13656 Make buf a const.
13657
e2d22baf
VS
136582011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13659
13660 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
13661 Fix module name.
13662
53dc8590
VS
136632011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13664
13665 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
13666 leftover debug printf.
13667
6c189294
VS
136682011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13669
13670 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
13671
f7688369
VS
136722011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13673
13674 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
13675 A stylistic fix.
13676
11a775a3
VS
136772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13678
13679 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
13680
33f784e8
SL
136812011-11-10 Shea Levy <slevy@tieronedesign.com>
13682
13683 Allow all modules to perform serial IO
13684
13685 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
13686 * include/grub/serial.h (grub_serial_port_configure): New inline
13687 function.
13688 (grub_serial_port_fetch): Likewise.
13689 (grub_serial_port_put): Likewise.
13690 (grub_serial_port_fini): Likewise.
13691 (grub_serial_find): New proto.
13692
f6276525
VS
136932011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13694
13695 Put symlink at the end of the node and fix a potential
13696 memory corruption.
13697
13698 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
13699 Make symlink into an array.
13700 (set_rockridge): Set have_symlink and alloc_dirents.
13701 (grub_iso9660_read_symlink): Use new layout.
13702 (grub_iso9660_iterate_dir): Fix memory corruption.
13703 Use new layout.
13704 (grub_iso9660_dir): Set have_symlink.
13705 (grub_iso9660_open): Likewise.
13706
c3591189
VS
137072011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13708
13709 Remove local keyword.
13710
13711 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
13712 (version_test_gt): Likewise.
13713 (version_find_latest): Likewise.
13714 (gettext_printf): Likewise.
13715 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
13716
cb544caa
VS
137172011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13718
13719 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
13720
45bd824d
VS
137212011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13722
13723 Fix ZFS memory and resource leaks.
13724
13725 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
13726 All users updated.
13727 Free type on exit.
13728 (fill_vdev_info): New parameter inserted. All users updated.
13729 (check_pool_label): Likewise.
13730 (scan_disk): Likewise.
13731 (scan_devices): Close non-inserted disks.
13732 (fzap_iterate): Free l.
13733 (unmount_device): Free children descripto memory.
13734
ad9a2f44
VS
137352011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13736
13737 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
13738 argument (access out of bounds).
13739
6b68db81
VS
137402011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13741
13742 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
13743 >= 6 drives.
13744
28840fda
VS
137452011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13746
13747 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
13748 Fix declaration.
13749
8a5a3a5b
VS
137502011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13751
13752 Fix several memory leaks.
13753
13754 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
13755 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
13756 (grub_cpio_dir): Likewise.
13757 * grub-core/fs/fat.c (grub_fat_label): Likewise.
13758 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
13759 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
13760 (grub_romfs_label): Likewise.
13761 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
13762 (squash_unmount): New function.
13763 (grub_squash_dir): Fix memory leak.
13764 (grub_squash_open): Likewise.
13765 (grub_squash_read): Likewise.
13766 (grub_squash_mtime): Likewise.
13767 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
13768 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
13769 * util/grub-fstest.c (fstest): Likewise.
13770
57b01250
VS
137712011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13772
13773 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
13774 avoid accessing beyond the array.
13775
19e81ba7
VS
137762011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13777
13778 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
13779
52b656c0
VS
137802011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13781
13782 Several AFFS fixes.
13783
13784 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
13785 (GRUB_AFFS_FLAG_FFS): Removed.
13786 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
13787 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
13788 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
13789 (grub_fshelp_node): Make block 32-bit.
13790 Add block_cache and last_block_cache.
13791 (grub_affs_read_block): Fill and use block cache.
13792 (grub_affs_read_file): Removed.
13793 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
13794 boot block.
13795 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
13796 safety.
13797 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
13798 space.
13799 (grub_affs_close): Free block cache.
13800 (grub_affs_read): Use grub_fshelp_read_file directly.
13801
438a746a
VS
138022011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13803
13804 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
13805 with no error set.
13806
49a45021
VS
138072011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13808
13809 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
13810 used variable.
13811 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
13812 Likewise.
13813
3ae17eb8
VS
138142011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13815
13816 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
13817
13818 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
13819 byteswap when needed.
13820
27610c38
VS
138212011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13822
13823 Fix FreeBSD compilation.
13824
13825 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
13826 to avoid circular dependency.
13827 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
13828 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
13829 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
13830
4a19b601
VS
138312011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13832
13833 Fix ZFS crypto error types.
13834
13835 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
13836 (grub_gcm_decrypt): Likewise.
13837 (grub_zfs_load_key_real): Fix error code type. Handle possible error
13838 from PBKDF2.
13839
958ee221
VS
138402011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13841
13842 Illumos support.
13843
13844 * Makefile.util.def (10_illumos): New script.
13845 * configure.ac: Set COND_HOST_ILLUMOS.
13846 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
13847 Support Illumos calls.
13848 (find_partition_start) [__sun__]: Likewise.
13849 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
13850 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
13851 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
13852 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
13853 device.
13854 * util/grub-probe.c (probe) [__sun__]: Do character check.
13855 * util/grub.d/10_illumos.in: New file.
13856
cac14fb6
VS
138572011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13858
13859 Support escaped commas in hostdisk.
13860
13861 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
13862 (find_grub_drive): Use unescape_cmp.
13863 (make_device_name): Escape commas.
13864
78e08dc3
VS
138652011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13866
13867 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
13868
9f421dd1
VS
138692011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13870
13871 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
13872 variable.
13873
ed64e9e2
VS
138742011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13875
13876 Support trampoline jumps on powerpc.
13877
13878 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
13879 __ia64__ path.
13880 (grub_dl_load_segments): Set mod->sz.
13881 (grub_dl_flush_cache): Flush whole space occupied by module, not just
13882 segments.
13883 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
13884 (jump): Likewise.
13885 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
13886 function.
13887 (trampoline): New struct.
13888 (trampoline_template): New const.
13889 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
13890 * include/grub/dl.h (grub_dl): Add sz element.
13891 [__powerpc__]: Follow __ia64__.
13892 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
13893 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
13894 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
13895 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
13896
3084ede4
VS
138972011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13898
13899 ZFS crypto support.
13900
13901 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
13902 * grub-core/Makefile.core.def (zfscrypt): New module.
13903 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
13904 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
13905 it. All users updated.
13906 (grub_zfs_decrypt): New var.
13907 (grub_zfs_load_key): Likewise.
13908 (zio_checksum_functions): Add SHA256+MAC.
13909 (zio_checksum_verify): Handle incomplete comparison due to MAC.
13910 (zio_read): Handle encrypted blocks.
13911 (zap_verify): Remove incorrect check.
13912 (fzap_iterate): Handle non-standard fzap.
13913 (zap_iterate): Likewise.
13914 (zap_iterate_u64): New function.
13915 (dnode_get_fullpath): Load keys.
13916 * grub-core/fs/zfs/zfscrypt.c: New file.
13917 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
13918 (grub_crypto_ecb_encrypt): Make input const.
13919 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
13920 (grub_crypto_ecb_encrypt): Make input const.
13921 (GRUB_CIPHER_AES): New macro.
13922 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
13923 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
13924 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
13925 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
13926 prefix. All users updated.
13927 (grub_zfs_add_key): New proto.
13928 (grub_zfs_decrypt): Likewise.
13929 (grub_zfs_load_key): Likewise.
13930 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
13931 * util/grub-fstest.c (options): Add -K option.
13932 (argp_parser): Likewise.
13933
b632b404
VS
139342011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
13935
13936 Support zle compression on ZFS.
13937
13938 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
13939 (decomp_table): Add zle.
13940 * include/grub/zfs/zio.h (zio_compress): Add zle.
13941
c7ba4f69
VS
139422011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
13943
13944 Support BtrFS embedding.
13945
13946 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
13947 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
13948 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
13949 * util/grub-setup.c (setup): Use fs embedding if available.
13950 Add additional sanity check.
13951
455377d9
VS
139522011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
13953
13954 * util/grub-install.in: Fix condition for config_opt.
13955
c2fd16ca
VS
139562011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13957
13958 Support third redundancy strip on raidz3.
13959
13960 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
13961 Return error on singularity. All users updated.
13962 (read_device): Don't stop on 3rd failure on raidz3.
13963
8622923b
VS
139642011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13965
13966 Support case-insensitive ZFS subvolumes.
13967
13968 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
13969 All users updated.
13970 (zap_hash): Likewise.
13971 (name_cmp): New function.
13972 (zap_leaf_array_equal): New parameter case_insensitive.
13973 All users updated.
13974 (zap_leaf_lookup): Likewise.
13975 (fzap_lookup): Likewise.
13976 (zap_lookup): Likewise.
13977 (dnode_get_path): New parameter case_insensitive. Retrieve case
13978 sensitiviness of a volume. All users updated.
13979 (dnode_get_fullpath): New parameter case_insensitive.
13980 All users updated.
13981 (grub_zfs_dir): Set info.case_insensitiveness.
13982
95f2e860
VS
139832011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13984
13985 Support second redundancy strip on raidz(2,3).
13986
13987 * grub-core/fs/zfs/zfs.c (powx): New array.
13988 (powx_inv): Likewise.
13989 (poly): New const.
13990 (xor_out): New function.
13991 (gf_mul): Likewise.
13992 (recovery): Likewise.
13993 (read_device): Use second redundancy strip.
13994
11ee4389
VS
139952011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13996
13997 Use a power of generator representation of GF(256) multiplication group
13998 to save space time and complexity.
13999
14000 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
14001 (raid6_table2): Likewise.
14002 (powx): New array.
14003 (powx_inv): Likewise.
14004 (poly): New const.
14005 (grub_raid_block_mul): Replace with ...
14006 (grub_raid_block_mulx): ...this.
14007 (grub_raid6_init_table): Rewritten.
14008 (grub_raid6_recover): Use power of generator representation.
14009
09e2763f
VS
140102011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14011
14012 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
14013 for the right device.
14014
8bec9a28
VS
140152011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14016
14017 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
14018 expected by grub-mkimage and it's more clear since there is no implicit
14019 padding.
14020
dbd3a32e
VS
140212011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14022
14023 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
14024 disk.
14025 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
14026
182c872a
PMH
140272011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
14028
14029 * util/grub-mkrescue.in: Fix handling xorriso option.
14030
1e51cabd
VS
140312011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14032
14033 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
14034 NULL.
14035
9cc3581d 140362011-11-03 crocket <crockabiscuit@gmail.com>
14037
14038 * util/grub.d/10_linux.in: Add Slackware initrd naming.
14039
158dc1ea
VS
140402011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14041
14042 XZ CRC64 and SHA256 support.
14043
14044 * Makefile.util.def (libgrubmods): Add crc64.c.
14045 * grub-core/Makefile.core.def (crc64): New module.
14046 * grub-core/lib/crc64.c: New file.
14047 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
14048 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
14049 Fix the type.
14050 (MAX_HASH_SIZE): New define.
14051 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
14052 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
14053 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14054 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14055 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
14056 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
14057 Handle non-crc32 hashes.
14058 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
14059 (dec_stream_header): Handle non-crc32 hashes.
14060 (dec_stream_footer): Likewise.
14061 (dec_block_header): Likewise.
14062 (dec_main): Likewise.
14063 (xz_dec_init): Likewise.
14064 (xz_dec_reset): Likewise.
14065 (xz_dec_end): Likewise.
14066 * util/import_gcry.py: Add CRC64 line.
14067
9d9b3d2f
VS
140682011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14069
14070 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
14071 as well.
14072
7d0ac931
VS
140732011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14074
14075 Make reiserfs label retrieval similar to other *_label functions.
14076
14077 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
14078 (REISERFS_MAX_LABEL_LENGTH): Removed.
14079 (REISERFS_LABEL_OFFSET): Likewise.
14080 (grub_reiserfs_label): Rewritten.
14081
140822011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14083
14084 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
14085 field.
14086
cf5ba824
VS
140872011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14088
14089 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
14090
17744004
VS
140912011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
14092
14093 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
14094 drive failure on both raidz and raidz2.
14095
aca5aefc
VS
140962011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
14097
14098 Fix RAIDZ(2) for >= 5 devices.
14099
14100 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
14101 asize argument. All users updated.
14102
ce8ca56e
VS
141032011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14104
14105 Fix RAIDZ(2).
14106
14107 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
14108 (fill_vdev_info_real): Set ashift.
14109 (read_device): Rewrite RAIDZ part based on reverse engineering.
14110
7c01e783
VS
141112011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14112
14113 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
14114 don't report potentially unavialiable fields in debug output.
14115 (find_path): Fix double-free and memory leak.
14116
ce109e84
VS
141172011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14118
14119 Read label on UFS1.
14120
14121 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
14122 (grub_ufs_fs): Always set .label.
14123
87661123
VS
141242011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14125
14126 Use shifts in UFS.
14127
14128 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
14129 (grub_ufs_data): New field log2_blksz.
14130 (grub_ufs_read_file): Use shifts.
14131 (grub_ufs_mount): Check block size and logarithm it.
14132
46bc1dc2
VS
141332011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14134
14135 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
14136 long symlinks.
14137
19ee2987
VS
141382011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14139
14140 Handle symlinks and long names on tar and cpio.
14141
14142 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
14143 (ATTR_FILE): Likewise.
14144 (ATTR_DIR): Likewise.
14145 (ATTR_LNK): Likewise.
14146 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
14147 (grub_cpio_find_file): Fill mode, handle linkname field as well as
14148 L and K entries.
14149 (grub_cpio_mount): Zero-fill data.
14150 (handle_symlink): New function.
46bc1dc2
VS
14151 (grub_cpio_dir): Handle symlinks.
14152 (grub_cpio_open): Likewise.
14153 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 14154
c83a08d8
VS
141552011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14156
14157 Fix iso9660 filename limitations and fix memory leaks.
14158
14159 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
14160 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
14161
45cdd3ea
VS
141622011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14163
14164 Fix JFS file name length limitations.
14165
14166 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
14167 (grub_jfs_diropen): Fix maximum filename length.
14168 (grub_jfs_getent): Fix filename length.
14169 (grub_jfs_lookup_symlink): Fix size checks.
14170
94ef05c2
VS
141712011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14172
14173 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
14174 string.
14175
785ab8c7
VS
141762011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14177
eb0b6b45
VS
14178 Leverage BFS implementation to read AFS.
14179
14180 * Makefile.util.def (libgrubmods): Add afs.c.
14181 * grub-core/Makefile.core.def (afs): New module
14182 * grub-core/fs/afs.c: New file.
14183 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
14184
141852011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14186
14187 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 14188
c4a1628f
VS
141892011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14190
14191 * grub-core/fs/bfs.c: Run indent.
14192
5825b379
VS
141932011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14194
14195 BFS implementation based on the specification.
14196
14197 * grub-core/fs/bfs.c: New file.
14198 * Makefile.util.def (libgrubmods): Add bfs.c.
14199 * grub-core/Makefile.core.def (bfs): New module.
14200
42b2a706
VS
142012011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14202
14203 * util/grub-fstest.c (cmd_cp): Clarify error message.
14204 (cmd_cmp): Likewise.
14205
61b99bfc
YB
142062011-10-30 Yves Blusseau <blusseau@zetam.org>
14207
14208 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
14209 and befs_be.
14210
faba3d16
VS
142112011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
14212
14213 Remove afs and befs because of copyright problem.
14214
14215 * grub-core/fs/afs.c: Removed.
14216 * grub-core/fs/afs_be.c: Removed.
14217 * grub-core/fs/befs.c: Removed.
14218 * grub-core/fs/befs_be.c: Removed.
14219 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
14220 * grub-core/Makefile.core.def (afs): Removed.
14221 (afs_be): Likewise.
14222 (befs): Likewise.
14223 (befs_be): Likewise.
14224
c39224b0
VS
142252011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14226
14227 Prefer rockridge over Joliet.
14228
14229 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
14230 to ...
14231 (set_rockridge): ... here.
14232 (grub_iso9660_mount): Check rockridge on the primary label when
14233 discovering. Ignore Joliet if Rockridge is present.
14234
e551115a
VS
142352011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14236
14237 Use shifts in nilfs2.
14238
14239 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
14240 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
14241 (grub_nilfs2_palloc_entries_per_group): Replace with ...
14242 (grub_nilfs2_log_palloc_entries_per_group): ... this.
14243 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
14244 (grub_nilfs2_entries_per_block): Replaced with ...
14245 (grub_nilfs2_log_entries_per_block_log): ... this.
14246 (grub_nilfs2_blocks_per_group): Replaced with ...
14247 (grub_nilfs2_blocks_per_group_log): ... this.
14248 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
14249 (grub_nilfs2_blocks_per_desc_block_log): ... this.
14250 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
14251 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
14252 (grub_nilfs2_palloc_entry_offset): Replaced ...
14253 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
14254 (grub_nilfs2_dat_translate): Use shifts.
14255 (grub_nilfs2_read_inode): Likewise.
14256 (GRUB_MOD_INIT): Ensure that logs are correct.
14257
564dd58c
VS
142582011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14259
14260 Use shifts in minix filesystem.
14261
14262 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
14263 (GRUB_MINIX_ZONE2SECT): Likewise.
14264 (grub_minix_data): Replace block_size with log_block_size.
14265 (grub_minix_read_file): Use shifts.
14266 (grub_minix_mount): Check block size and take a logarithm.
14267
ed9ba06d
VS
142682011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14269
14270 Use shifts in squash4.
14271
14272 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
14273 (squash_mount): Check block size and take logarithm.
14274 (direct_read): Use shifts.
14275
ad03fe76
VS
142762011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14277
14278 Correct befs block counting logic.
14279
14280 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
14281 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
14282 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
14283 (grub_afs_read_inode): Use block_shift.
14284 (RANGE_SHIFT): New definition.
14285 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
14286 unexpected conditions, use shifts and appropriate types.
14287 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
14288
6563f63d
VS
142892011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14290
14291 * grub-core/disk/raid.c (scan_devices): Check partition.
14292 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
14293
5b1ae25f
VS
142942011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
14295
14296 Support BFS (befs) UUID.
14297
14298 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
14299 (grub_afs_small_data_element_header): New struct.
14300 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
14301 (grub_afs_read_attribute) [MODE_BFS]: New function.
14302 (grub_afs_iterate_dir): Allocate for complete inode.
14303 (grub_afs_mount): Likewise.
14304 (grub_afs_uuid) [MODE_BFS]: New function.
14305 (grub_afs_fs) [MODE_BFS]: Add .uuid.
14306
f8d82408
VS
143072011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
14308
14309 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
14310 (zfs_unmount): Fix memory leak.
14311
5773fb64
VS
143122011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14313
14314 Support NTFS reparse points.
14315
14316 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
14317 (symlink_descriptor): New struct.
14318 (grub_ntfs_read_symlink): New function.
14319 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
14320 (grub_ntfs_open): Likewise.
14321
91c3fdde
VS
143222011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14323
14324 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
14325
3be82e10
VS
143262011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14327
14328 fstest xnu_uuid subcommand.
14329
14330 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
14331 grub-core/commands/xnu_uuid.c.
14332 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
14333 (fstest): Handle xnu_uuid.
14334 (options): Document xnu_uuid.
14335 (argp_parser): Parse xnu_uuid.
14336
8e32442e
VS
143372011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14338
14339 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
14340 -l argument. Add newline at the end if printing.
14341 (GRUB_MOD_INIT): Document -l.
14342
52a05075
VS
143432011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14344
14345 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
14346
1869edb5
VS
143472011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14348
14349 ZFS multi-device and version 33 support.
14350
14351 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
14352 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
14353 (grub_zfs_data): Add multidev-ice-related fields.
14354 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
14355 (dva_get_offset): Make dva const.
14356 (zfs_fetch_nvlist): New function.
14357 (fill_vdev_info_real): Likewise.
14358 (fill_vdev_info): Likewise.
14359 (check_pool_label): Likewise.
14360 (scan_disk): Likewise.
14361 (scan_devices): Likewise.
14362 (read_device): Likewise.
14363 (read_dva): Likewise.
14364 (zio_read_gang): Use read_dva.
14365 (zio_read_data): Likewise.
14366 (zap_leaf_lookup): Add missing endian conversion.
14367 (zap_verify): Add missing endian conversion. All users updated.
14368 (fzap_lookup): Likewise.
14369 (fzap_iterate): Likewise.
14370 (dnode_get_path): Handle SA bonus.
14371 (nvlist_find_value): Make input const. All users updated.
14372 (unmount_device): New function.
14373 (zfs_unmount): Use unmount_device.
14374 (zfs_mount): Use scan_disk.
14375 (zfs_mtime): New function.
14376 (grub_zfs_open): Handle system attributes.
14377 (fill_fs_info): Likewise.
14378 (grub_zfs_dir): Likewise.
14379 (grub_zfs_fs): Add mtime.
14380 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
14381 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
14382 (SA_MTIME_OFFSET): Likewise.
14383 (SA_SYMLINK_OFFSET): Likewise.
14384 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
14385 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
14386 (fstest): Support zfsinfo.
14387 (argp_parser): Likewise.
14388
186b4028
VS
143892011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14390
14391 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
14392 error.
14393
143942011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
14395
14396 ZFS fixes.
14397
14398 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
14399 sharing the same block. Iterate over correct number of indices.
14400 (dnode_get_path): Handle symlinks correctly.
14401
c0584900
VS
144022011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14403
14404 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
14405
67e2bd71
VS
144062011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14407
14408 Read label on HFS+.
14409
14410 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
14411 (grub_hfsplus_btree_search): Fix types.
14412 (grub_hfsplus_label): Implement.
14413
e9cc6b7b
VS
144142011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14415
14416 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
14417
19832ddb
VS
144182011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14419
14420 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
14421
66b40850
VS
144222011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14423
14424 Fix symlink handling on iso9660.
14425
14426 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
14427 All users updated.
14428 (grub_iso9660_susp_iterate): Accept zero-size iterate.
14429 (grub_iso9660_read_symlink): Moved most of code ...
14430 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
14431
db821363
VS
144322011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14433
14434 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
14435 Use union to avoid breaking strict-aliasing rules.
14436
e1211949
VS
144372011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14438
14439 Support multi-extent iso files.
14440
14441 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
14442 Add node.
14443 (grub_fshelp_node): Revamp. All users updated.
14444 (FLAG_*): New enum.
14445 (read_node): New function.
14446 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
14447 All users updated.
14448 (grub_iso9660_mount): Don't attempt to read sua when there is none.
14449 (get_node_size): New function.
14450 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
14451 entries.
14452 Fix memory leak on . and ..
14453 (grub_iso9660_read): Use read_node.
14454 (grub_iso9660_close): Free node.
14455
d4888031
VS
144562011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14457
14458 Fix tar 4G limit and handle paths containing dot.
14459
14460 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
14461 (canonicalize): New function.
14462 (grub_cpio_find_file): Use canonicalize. Store offs in
14463 grub_disk_addr_t.
14464 (grub_cpio_dir): Use grub_disk_addr_t.
14465 (grub_cpio_open): Likewise.
14466
9f12e664
VS
144672011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14468
14469 Fix handling of uncompressed blocks on squashfs and break 4G limit.
14470
14471 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
14472 unused flags.
14473 (grub_squash_inode): Add long_file and block_size.
14474 (grub_squash_cache_inode): New struct.
14475 (grub_squash_dirent): Make types into enum.
14476 (SQUASH_TYPE_LONG_REGULAR): New type.
14477 (grub_squash_frag_desc): Add field size.
14478 (SQUASH_BLOCK_FLAGS): New enum.
14479 (grub_squash_data): Use grub_squash_cache_inode.
14480 (grub_fshelp_node): Make ino_chunk 64-bit.
14481 (read_chunk): Minor argument change. All users updated.
14482 (squash_mount): Use correct le_to_cpu.
14483 (grub_squash_open): Handle LONG_REGULAR.
14484 (direct_read): New function.
14485 (grub_squash_read_data): Handle blocks correctly.
14486
9f326fba
VS
144872011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14488
14489 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
14490
f4d9b64b
VS
144912011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14492
14493 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
14494
5bbd28b8
VS
144952011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
14496
14497 Fix 2G limit on ZFS.
14498
14499 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
14500 types.
14501 (uberblock_verify): Likewise.
14502 (dmu_read): Likewise.
14503 (grub_zfs_read): Likewise. Remove invalid cast.
14504
68c72069
VS
145052011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
14506
14507 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
14508 (grub_jfs_blkno): Fix incorrect shift.
14509 (grub_jfs_read_file): Use more appropriate types.
14510
6e536dc8
VS
145112011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
14512
14513 Support triple indirect on minix2 and minix3.
14514
14515 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
14516 Declare triple_indir_zone.
14517 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
14518 indirect.
14519
e0864e7a
VS
145202011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
14521
14522 Minix FS fixes.
14523
14524 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
14525 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
14526 Rename ctime to mtime. All users updated.
14527 (grub_minix_get_file_block): Fix types and double indirect computations.
14528
89481cab
VS
145292011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14530
14531 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
14532 if no label is found.
14533 (grub_fat_iterate_dir): Fix file size type.
14534 (grub_fat_iterate_dir): Likewise.
14535
f646e143
VS
145362011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14537
14538 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
14539 save some space.
14540 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
14541 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
14542
534d769e
VS
145432011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14544
14545 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
14546
e084ba18
VS
145472011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14548
14549 * util/import_gcry.py: Accept space between # and include.
14550
3471ecdf
VS
145512011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14552
14553 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
14554
124df5f6
VS
145552011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14556
14557 Fine grainely disable warnings on lexer. Remove Wno-error on it.
14558
14559 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
14560 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
14561 yylex_strncpy.
14562 * grub-core/script/yylex.l: Add fine-grained #pragma.
14563
4defb8d5
VS
145642011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14565
14566 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
14567 New inline function.
14568 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
14569 Likewise.
14570 (memset) [GRUB_UTIL]: Likewise.
14571 (memcmp) [GRUB_UTIL]: Likewise.
14572
4e94ae65
VS
145732011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14574
14575 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
14576 inline function rather than a define.
14577
18c575e5
VS
145782011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14579
14580 * util/grub-setup.c: Add missing include.
14581
f8bc22a8
VS
145822011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14583
14584 * util/ieee1275/grub-ofpathname.c: Add missing include.
14585
3ce69fc9
VS
145862011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14587
14588 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
14589 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
14590 Likewise.
14591
d1e293bb
VS
145922011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14593
14594 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
14595 grub_memcmp usage.
14596
7a5c54a4
VS
145972011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14598
14599 * util/grub-install.in: Add datarootdir as per automake manual
14600 suggestion.
14601 * util/grub-mknetdir.in: Likewise.
14602
146032011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
14604
14605 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
14606 suggestion.
14607 * util/grub.d/10_kfreebsd.in: Likewise.
14608 * util/grub.d/10_linux.in: Likewise.
14609 * util/grub.d/10_netbsd.in: Likewise.
14610 * util/grub.d/10_windows.in: Likewise.
14611 * util/grub.d/20_linux_xen.in: Likewise.
14612
766f7d08
VS
146132011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
14614
14615 Remove redundant grub_kernel_image_size.
14616
14617 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
14618 _edata and _start.
14619 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
14620 the small code. It moves it only by few bytes but simplifies the code.
14621 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
14622 _start.
14623 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
14624 (grub_kernel_image_size): Removed.
14625 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
14626 (grub_kernel_image_size): Removed.
14627 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
14628 compiled with Apple toolchain.
14629 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
14630 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
14631 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
14632 (grub_total_module_size): Likewise.
14633 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
14634 Removed.
14635 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
14636 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
14637 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
14638 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
14639 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
14640 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
14641 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
14642 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
14643 Removed.
14644 (grub_total_module_size): Removed.
14645 * util/grub-mkimage.c (image_target_desc): Remove image_size.
14646 (image_targets): Likewise.
14647 Set .compressed_size to no field on sparc.
14648 (generate_image): Remove kernel_image_size handling.
14649
fcf1d672
SJ
146502011-10-19 Szymon Janc <szymon@janc.net.pl>
14651
14652 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
14653 NULL pointer dereference.
14654
de9c615e
VS
146552011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14656
14657 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
14658 done with a dedicated section.
14659
14660 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
14661 Ensure the correct position of boot_path.
14662 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
14663 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
14664 other fields.
14665 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
14666 * include/grub/boot.h: Removed. All references removed.
14667 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
14668 Removed.
14669 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
14670
e55599dc
VS
146712011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14672
14673 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
14674 name.
14675
36dd20ad
VS
146762011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14677
14678 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
14679
f8f72eb8
VS
146802011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14681
14682 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
14683 Don't add the bogus brackets.
14684
a374751b
VS
146852011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14686
14687 ExFAT support.
14688
14689 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
14690 * grub-core/Makefile.core.def (exfat): New module.
14691 * grub-core/fs/exfat.c: New file.
14692 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
14693 (GRUB_FAT_ATTR_*): Make into an enum.
14694 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
14695 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
14696 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
14697 (GRUB_FAT_MAXFILE): Removed.
14698 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
14699 (grub_current_fat_bpb_t): New type.
14700 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
14701 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
14702 (grub_fat_dir_node_t): New type.
14703 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
14704 (fat_log2) [MODE_EXFAT]: Removed.
14705 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
14706 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
14707 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
14708 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
14709 (grub_fat_label) [MODE_EXFAT]: New function.
14710 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
14711 reserved_first_sector to 0.
14712
544c2487
VS
147132011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14714
14715 Move grub_reboot out of the kernel.
14716
14717 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
14718 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
14719 * grub-core/lib/efi/reboot.c: ... here.
14720 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
14721 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
14722 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
14723 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
14724 * grub-core/lib/i386/reboot_trampoline.S: ... here.
14725 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
14726 * grub-core/lib/ieee1275/reboot.c: ... here.
14727 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
14728 * grub-core/lib/mips/arc/reboot.c: ... here.
14729 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
14730 * grub-core/lib/mips/loongson/reboot.c: ...here.
14731 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
14732 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
14733 * include/grub/emu/misc.h (grub_reboot): New function declaration.
14734 * include/grub/i386/reboot.h: New file.
14735 * include/grub/mips/loongson/ec.h: Fix includes.
14736 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
14737 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
14738 * grub-core/lib/i386/reboot.c: New file.
14739
a97501d2
VS
147402011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
14741
14742 Make grub_prefix into module to fix the arbitrary limit and save
14743 some space.
14744
14745 * grub-core/kern/emu/main.c (grub_prefix): Removed.
14746 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
14747 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
14748 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
14749 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
14750 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
14751 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
14752 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
14753 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
14754 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
14755 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
14756 * include/grub/ia64/efi/kernel.h: Removed.
14757 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
14758 (grub_prefix): Removed.
14759 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
14760 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
14761 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
14762 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
14763 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
14764 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
14765 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
14766 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
14767 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
14768 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
14769 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
14770 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
14771 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
14772 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
14773 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
14774 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
14775 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
14776 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
14777 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
14778 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
14779 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
14780 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
14781 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
14782 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
14783 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
14784 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
14785 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
14786 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
14787 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
14788 from module.
14789 * util/grub-mkimage.c (image_target_desc): Removed prefix and
14790 prefix_end.
14791 (image_targets): Likewise.
14792 (generate_image): Put prefix as a module.
14793
39705fad
VS
147942011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14795
14796 Replace grub_module_iterate with FOR_MODULES.
14797
14798 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
14799 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
14800 (grub_efi_modules_addr): ...this.
14801 * grub-core/kern/efi/init.c (grub_modbase): New variable.
14802 (grub_efi_init): Set grub_modbase.
14803 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
14804 (grub_modbase): New variable.
14805 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
14806 (grub_modbase): New variable.
14807 (grub_machine_init): Set grub_modbase.
14808 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
14809 (grub_modbase): New variable.
14810 (grub_machine_init): Set grub_modbase.
14811 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
14812 (grub_modbase): New variable.
14813 (grub_machine_init): Set grub_modbase.
14814 * grub-core/kern/main.c (grub_module_iterate): Remove.
14815 (grub_modules_get_end): Use grub_modbase.
14816 (grub_load_modules): Use FOR_MODULES.
14817 (grub_load_config): Likewise.
14818 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
14819 (grub_modbase): New variable.
14820 (grub_machine_init): Set grub_modbase.
14821 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
14822 (grub_modbase): New variable.
14823 (grub_machine_init): Set grub_modbase.
14824 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
14825 Removed.
14826 (grub_modbase): New variable.
14827 (grub_machine_init): Set grub_modbase.
14828 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
14829 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
14830 (grub_module_iterate): Likewise.
14831 (grub_modbase): New variable declaration.
14832 (FOR_MODULES): New macro.
14833
2afb7f6c
VS
148342011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14835
14836 * configure.ac: Check for __ctzdi2 and __ctzsi2.
14837 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
14838
366e34fa
VS
148392011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14840
14841 Fix few obvious type discrepancies.
14842
14843 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
14844 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
14845 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
14846 variable.
14847 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
14848 and connected types.
14849 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
14850 offset.
14851 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
14852 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
14853 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
14854 and connected types.
14855
177b960e
VS
148562011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14857
14858 Fix python 3.x incompatibilities.
14859
14860 * gentpl.py: Put brackets around print strings.
14861 * util/import_gcry.py: Open explicitly as utf-8.
14862 Use in instead of has_key.
14863
3b619ae1
VS
148642011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14865
14866 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
14867 (GRUB_XFS_INO_AGBITS): Make into inline function.
14868 (GRUB_XFS_INO_INOINAG): Likewise.
14869 (GRUB_XFS_INO_AG): Likewise.
14870 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
14871 (GRUB_XFS_EXTENT_OFFSET): Likewise.
14872 (GRUB_XFS_EXTENT_BLOCK): Likewise.
14873 (GRUB_XFS_EXTENT_SIZE): Likewise.
14874 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
14875 (GRUB_XFS_NEXT_DIRENT): Likewise.
14876 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
14877 (grub_xfs_read_file): Fix offset type.
14878
8bcebcb8
RM
148792011-10-15 Robert Millan <rmh@gnu.org>
14880
14881 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
14882
0017e5ef
RM
148832011-10-15 Robert Millan <rmh@gnu.org>
14884
14885 Fix build problem on FreeBSD and GNU/kFreeBSD.
14886
14887 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
14888
d8919552
VS
148892011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14890
14891 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
14892
14893 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
14894 types.
14895 (grub_hfsplus_btree_recoffset): Likewise.
14896 (grub_hfsplus_btree_recptr): Likewise.
14897 (grub_hfsplus_find_block): Likewise.
14898 (grub_hfsplus_btree_search): Likewise.
14899 (grub_hfsplus_read_block): Likewise.
14900 (grub_hfsplus_read_file): Likewise.
14901 (grub_hfsplus_mount): Likewise.
14902 (grub_hfsplus_btree_iterate_node): Likewise.
14903 (grub_hfsplus_btree_search): Likewise.
14904 (grub_hfsplus_iterate_dir): Likewise.
14905 (grub_hfsplus_read): A small code simplification.
14906
c81296b6
VS
149072011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14908
14909 * grub-core/kern/emu/hostdisk.c
14910 (convert_system_partition_to_system_disk): Don't assume that children
14911 of mapper nodes are mapper nodes.
14912
0eb8ffb1
VS
149132011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14914
14915 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
14916 * include/grub/misc.h (grub_isxdigit): New function.
14917 * grub-core/video/colors.c (my_isxdigit): Removed. All users
14918 switched to grub_isxdigit.
14919 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
14920 number starting with a letter.
14921
a98f4a08
RM
149222011-10-09 Robert Millan <rmh@gnu.org>
14923
14924 LVM support for FreeBSD and GNU/kFreeBSD.
14925
14926 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
14927 GNU/kFreeBSD.
14928 (LVM_DEV_MAPPER_STRING): Move from here ...
14929 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
14930 * util/getroot.c: Include `<grub/util/lvm.h>'.
14931 (grub_util_get_dev_abstraction): Enable
14932 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
14933 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
14934 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
14935 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
14936 support it.
14937 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
14938 GNU/kFreeBSD.
14939 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
14940 when LVM abstraction is required for ${GRUB_DEVICE}.
14941
050e8e90
SJ
149422011-10-06 Szymon Janc <szymon@janc.net.pl>
14943
14944 Add support for LZO compression in GRUB:
14945 - import of minilzo library,
14946 - LZO decompression for btrfs,
14947 - lzop files decompression.
14948
14949 * grub-core/io/lzopio.c: New file.
14950 * grub-core/lib/adler32.c: Likewise.
14951 * grub-core/lib/minilzo/lzoconf.h: Likewise.
14952 * grub-core/lib/minilzo/lzodefs.h: Likewise.
14953 * grub-core/lib/minilzo/minilzo.c: Likewise.
14954 * grub-core/lib/minilzo/minilzo.h: Likewise.
14955 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
14956 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
14957 grub-core/lib/minilzo/minilzo.c to common.
14958 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
14959 cflags in cppflags.
14960 * grub-core/Makefile.core.def (btrfs): Likewise.
14961 * grub-core/Makefile.core.def (lzopio): New module.
14962 (adler32): Likewise.
14963 * grub-core/fs/btrfs.c: Include minilzo.h.
14964 (GRUB_BTRFS_COMPRESSION_LZO): New define.
14965 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
14966 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
14967 (grub_btrfs_lzo_decompress): New function.
14968 (grub_btrfs_extent_read): Add support for LZO compression type.
14969 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
14970 (GRUB_USHRT_MAX): Likewise.
14971 (GRUB_UINT_MAX): Likewise.
14972 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
14973 (UINT_MAX): Likewise.
14974 (CHAR_BIT): Likewise.
14975 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
14976 grub-core/lib/posix_wrap/limits.h
14977 (UCHAR_MAX): Likewise.
14978 * include/grub/file.h (grub_file_filter_id): New compression filter
14979 GRUB_FILE_FILTER_LZOPIO.
14980 * include/grub/file.h (grub_file_filter_id): Set
14981 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
14982 * include/grub/types.h (grub_get_unaligned16): New function.
14983 (grub_get_unaligned32): Likewise.
14984 (grub_get_unaligned64): Likewise.
14985 * util/import_gcry.py (cryptolist): Add adler32.
14986
0eb8ffb1
VS
149872011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
14988
14989 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
14990 in perspective decreases the complexity of build system and fixes
14991 compilation right now.
14992
ce79cc99 149932011-10-01 Ales Nesrsta <starous@volny.cz>
14994
14995 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
14996 (fixed problem related to using UHCI with coreboot).
14997
8667a314
BC
149982011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
14999
15000 * gentpl.py: Use Autogen macros so that the output template file
15001 (Makefile.tpl) size is reduced.
15002
fc5efcc0
MK
150032011-09-29 Mads Kiilerich <mads@kiilerich.com>
15004
15005 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
15006 extra_dist.
15007
d1ab689d
ML
150082011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15009
15010 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
15011 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
15012
c05de032
ML
150132011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15014
15015 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
15016 _fullpath.
15017
cca7ccd8
ML
150182011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15019
15020 Remove extra declaration of sleep for mingw32.
15021
15022 * util/misc.c (sleep) [__MINGW32__]: Removed.
15023 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
15024
e0b0dc83
GS
150252011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
15026
15027 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
15028 type and packname.
15029 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
15030 Resurrected.
15031 (NETBSD_BTINFO_BOOTWEDGE): New definition.
15032 (grub_netbsd_btinfo_bootwedge): New struct.
15033 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15034 New function.
15035 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
15036
91a1a164
TH
150372011-09-28 Thomas Haller <thomas.haller@fen-net.de>
15038
15039 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
15040 loader.
15041
2ded951e
AB
150422011-09-28 Andreas Born <futur.andy@googlemail.com>
15043
15044 Fix incorrect identifiers in bash-completion.
15045
15046 * util/bash-completion.d/grub-completion.bash.in
15047 (_grub_mkpasswd-pbkdf2): Rename to ...
15048 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
15049 (_grub_script-check): Rename to ...
15050 (_grub_script_check): ... this. All users updated.
15051
69915030
VS
150522011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
15053
15054 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
15055 Return 0 if disk isn't biosdisk.
15056
20fd15f9
GS
150572011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15058
15059 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
15060 on NetBSD.
15061 * Makefile.util.def (grub-fstest): Likewise.
15062
1a7d7db9
GS
150632011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15064
15065 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
15066 Get sector size from disk label.
15067
2221ab6c
CW
150682011-09-05 Colin Watson <cjwatson@ubuntu.com>
15069
15070 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
15071 */README* as well as README*.
15072 Reported by: Axel Beckert.
15073
ca51c4a0
VS
150742011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15075
15076 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
15077 case of less than 256 MiB of RAM.
15078
ab80f326
VS
150792011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15080
15081 * grub-core/commands/wildcard.c (make_regex): Handle @.
15082
4155e697
VS
150832011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15084
15085 * util/grub-install.in: Move cryptodisk logic to appropriate place.
15086
ab178c08
SJ
150872011-08-21 Szymon Janc <szymon@janc.net.pl>
15088
15089 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
15090 AC_LANG_CONFTEST macros.
15091
7dc3c686
SJ
150922011-08-20 Szymon Janc <szymon@janc.net.pl>
15093
15094 Add grub-fstest option to uncompress data for commands.
15095
15096 * util/grub-fstest.c (uncompress): New var.
15097 (options): New option -u.
15098
fe8d4a7b
SJ
150992011-08-20 Szymon Janc <szymon@janc.net.pl>
15100
15101 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
15102 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
15103
a5219af1
SJ
151042011-08-20 Szymon Janc <szymon@janc.net.pl>
15105
15106 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
15107 file type was not recognized correctly (not gzip or corrupted).
15108
f87abff5
VS
151092011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15110
15111 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
15112 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
15113
d94497ea
VS
151142011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15115
15116 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
15117 loongson.
15118 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
15119 video_radeon_fuloong2e.
15120 * grub-core/video/radeon_fuloong2e.c: New file.
15121 * include/grub/video.h (grub_video_id_t): Add new ID
15122 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
15123
0d1fd011
VS
151242011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15125
15126 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
15127 define.
15128 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
15129 that PRID matches the detected subplatform and reset the subplatform
15130 if it doesn't.
15131
84beb0ee
VS
151322011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15133
15134 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
15135
1227c133
VS
151362011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15137
15138 Fix PCI iterating on functions >= 4.
15139
15140 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
15141 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
15142 Removed.
15143 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
15144 (grub_pci_read): Fix bitmask.
15145 (grub_pci_read_word): Likewise.
15146 (grub_pci_read_byte): Likewise.
15147 (grub_pci_write): Likewise.
15148 (grub_pci_write_word): Likewise.
15149 (grub_pci_write_byte): Likewise.
15150
9594c689
VS
151512011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15152
15153 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
15154 can still be specified in TARGET_CFLAGS)
15155
14a2562c
VS
151562011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15157
15158 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
15159
15160 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
15161 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
15162 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
15163 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
15164 (FULOONG): Rename to ...
15165 (FULOONG2F): ... this. All users updated.
15166 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
15167 (machtype_fuloong2f_str): ... this.
15168 (machtype_fuloong2e_str): New string.
15169 Check for machtype_fuloong2e_str.
15170 * grub-core/loader/mips/linux.c (loongson_machtypes)
15171 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
15172 * grub-core/term/serial.c (loongson_defserial)
15173 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
15174 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
15175 loongson_defserial.
15176 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
15177 Rename to ...
15178 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
15179 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
15180 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
15181 to IMAGE_FULOONG2F_FLASH. All users updated.
15182 (image_targets): Rename images.
15183 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
15184
b526cbb6
SJ
151852011-08-19 Szymon Janc <szymon@janc.net.pl>
15186
15187 Make enable of disk cache statistics code configurable.
15188
15189 * configure.ac: --enable-cache-stats added.
15190 * config.h.in (DISK_CACHE_STATS): New define.
15191 * grub-core/Makefile.core.def (cacheinfo): New command.
15192 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
15193 * grub-core/commands/cacheinfo.c: New file.
15194 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
15195 moved to cacheinfo.c.
15196 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
15197 debug code.
15198 * include/grub/disk.h: Likewise.
15199
fb739ccd
SJ
152002011-08-19 Szymon Janc <szymon@janc.net.pl>
15201
15202 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
15203 * grub-core/Makefile.am: Likewise.
15204
2bba8cfd
VS
152052011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15206
15207 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
15208 non-zero pull.
15209
43526629
VS
152102011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15211
15212 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
15213 All users updated.
15214 (grub_jfs_lookup_symlink): Use correct starting inode.
15215
5c144cc8
VS
152162011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15217
15218 * util/grub-setup.c (main): Add missing gcry initialisation.
15219
b1257f65
VS
152202011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15221
15222 Don't accept text modes on EFI when booting Linux.
15223
15224 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
15225 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
15226
828bc390
ML
152272011-08-15 Mario Limonciello <mario_limonciello@dell.com>
152282011-08-15 Colin Watson <cjwatson@ubuntu.com>
15229
15230 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
15231 use of "/path/.." as in grub-install for EFI as well as handling
15232 symlinks correctly.
15233 Fixes Debian bug #637768.
15234
5f60ccac
CW
152352011-08-15 Colin Watson <cjwatson@ubuntu.com>
15236
15237 * util/grub-probe.c: Remove duplicate #include.
15238
6dc212f9
RM
152392011-08-10 Robert Millan <rmh@gnu.org>
15240
15241 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
15242
15243 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
15244 function.
15245 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
15246 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
15247
66816d85
RM
152482011-08-03 Robert Millan <rmh@gnu.org>
15249
15250 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
15251 la_array as packed.
15252 Reported by: Zachary Bedell
15253
20168fca
CW
152542011-07-26 Colin Watson <cjwatson@ubuntu.com>
15255
15256 * configure.ac: The Loongson port requires grub-mkfont due to its
15257 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
15258 be built.
15259
303b6246
CW
152602011-07-26 Colin Watson <cjwatson@ubuntu.com>
15261
15262 * util/grub-install.in: Don't source grub-mkconfig_lib until after
15263 processing arguments (otherwise help2man fails when GRUB has not yet
15264 been installed).
15265
6795300e
VS
152662011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15267
41aa28ea
VS
15268 New script grub-mkstandalone.
15269
15270 * Makefile.util.def (grub-mkstandalone): New script.
15271 * docs/man/grub-mkstandalone.h2m: New file.
15272 * util/grub-mkstandalone.in: Likewise.
15273
152742011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15275
15276 Support ATA disks with 4K sectors.
6795300e
VS
15277
15278 * include/grub/ata.h (grub_ata): New member log_sector_size.
15279 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
15280 (grub_ata_identify): Read sector size.
15281 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
15282
92227597
VS
152832011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15284
15285 * util/grub-install.in: Don't use uhci outside of x86.
15286
c77069f5
VS
152872011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15288
15289 * util/grub-mkrescue.in: Add missing quotes.
15290
152912011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
15292
15293 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
15294 dereference.
15295
583168a2
VS
152962011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15297
15298 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
15299
6be1c01f
VS
153002011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15301
15302 * include/grub/video.h: add missing EXPORT_FUND on
15303 grub_video_edid_checksum and grub_video_edid_preferred_mode.
15304
a1167439
VS
153052011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15306
15307 * include/grub/mips/kernel.h: Fix define conflict.
15308
bf66054f
VS
153092011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15310
15311 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
15312 all four ways.
15313
8fc4fa45
CW
153142011-07-21 Colin Watson <cjwatson@ubuntu.com>
15315
15316 Preferred resolution detection for VBE.
15317
15318 * grub-core/video/video.c (grub_video_edid_checksum): New function.
15319 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
15320 the Flat Panel extension, in line with the X.org VESA driver.
15321 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
15322 New function.
15323 (grub_vbe_bios_get_ddc_capabilities): Likewise.
15324 (grub_vbe_bios_read_edid): Likewise.
15325 (grub_vbe_get_preferred_mode): Likewise.
15326 (grub_video_vbe_setup): When the mode is "auto", try to get the
15327 preferred mode from VBE, and use the largest mode that is no larger
15328 than the preferred mode (some BIOSes expose a preferred mode that is
15329 not in their mode list!). If this fails, fall back to 640x480 as a
15330 safe conservative choice.
15331 (grub_video_vbe_get_edid): New function.
15332 (grub_video_vbe_adapter): Add get_edid.
15333 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
15334 (struct grub_video_adapter): Add get_edid.
15335 (grub_video_edid_checksum): Add prototype.
15336 (grub_video_edid_preferred_mode): Likewise.
15337 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
15338 structure.
15339
15340 * grub-core/commands/videoinfo.c (print_edid): New function.
15341 (grub_cmd_videoinfo): Print EDID if available.
15342
15343 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
15344 is more appropriate on a wider range of platforms than 640x480.
15345 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
15346 documentation.
15347
ca5572a9
VS
153482011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15349
15350 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
15351
e4bcf625
VS
153522011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15353
15354 * po/POTFILES.in: Regenerate.
15355
c4edd548
VS
153562011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15357
15358 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
15359 incorrect memory usage.
15360
16a2bab0
VS
153612011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15362
15363 * util/grub-install.in: Source grub-mkconfig_lib.
15364
2e418de6
VS
153652011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
15366
15367 Remove getroot.c from core on emu platform.
15368
15369 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
15370 kern/emu/raid.c.
15371 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
15372 useless.
15373 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
15374 * util/getroot.c (get_win32_path): ... here.
15375 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
15376 * util/getroot.c (fini_libzfs): ... here.
15377 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
15378 * util/getroot.c (grub_get_libzfs_handle): ... here.
15379 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
15380 Moved from here...
15381 * util/getroot.c (grub_find_zpool_from_dir): ... here.
15382 * grub-core/kern/emu/misc.c
15383 (grub_make_system_path_relative_to_its_root): Moved from here...
15384 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
15385 * grub-core/kern/emu/getroot.c: Moved from here ...
15386 * util/getroot.c: ... here. All users updated.
15387 * grub-core/kern/emu/raid.c: Moved from here ...
15388 * util/raid.c: ... here. All users updated.
15389
def9832a
VS
153902011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
15391
15392 * po/POTFILES.in: Regenerate.
15393
cd8fe79a
VS
153942011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
15395
15396 Fix compilation on GNU/Linux.
15397
15398 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
15399 Disable geli.
15400 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
15401 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
15402 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
15403
a251b719
VS
154042011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
154052011-07-07 Michael Gorven <michael@gorven.za.net>
154062011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
15407
15408 LUKS and GELI support.
15409
15410 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
15411 grub-core/disk/luks.c, grub-core/disk/geli.c,
15412 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
15413 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
15414 grub-core/lib/arg.c.
15415 (libgrubmods.a): Remove gcrypts cflags and cppflags.
15416 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
15417 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
15418 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
15419 (grub-bin2h): Add libgcry.a.
15420 (grub-mkimage): Likewise.
15421 (grub-mkrelpath): Likewise.
15422 (grub-script-check): Likewise.
15423 (grub-editenv): Likewise.
15424 (grub-mkpasswd-pbkdf2): Likewise.
15425 (grub-pe2elf): Likewise.
15426 (grub-fstest): Likewise.
15427 (grub-mkfont): Likewise.
15428 (grub-mkdevicemap): Likewise.
15429 (grub-probe): Likewise.
15430 (grub-ofpath): Likewise.
15431 (grub-mklayout): Likewise.
15432 (example_unit_test): Likewise.
15433 (grub-menulst2cfg): Likewise.
15434 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
15435 * grub-core/Makefile.core.def (cryptodisk): New module.
15436 (luks): Likewise.
15437 (geli): Likewise.
15438 * grub-core/disk/AFSplitter.c: New file.
15439 * grub-core/disk/cryptodisk.c: Likewise.
15440 * grub-core/disk/geli.c: Likewise.
15441 * grub-core/disk/luks.c: Likewise.
15442 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
15443 grub_util_is_lvm.
15444 (grub_util_get_dm_abstraction): New function.
15445 (grub_util_follow_gpart_up): Likewise.
15446 (grub_util_get_geom_abstraction): Likewise.
15447 (grub_util_get_dev_abstraction): Use new functions.
15448 (grub_util_pull_device): Pull GELI and LUKS.
15449 (grub_util_get_grub_dev): Handle LUKS and GELI.
15450 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
15451 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
15452 (follow_geom_up): Removed.
15453 (grub_util_fd_seek): New function.
15454 (open_device): Use grub_util_fd_seek.
15455 (nread): Rename to ..
15456 (grub_util_fd_read): ... this. All users updated.
15457 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
15458 (grub_crypto_cbc_decrypt): Likewise.
15459 (grub_crypto_hmac_write): Likewise.
15460 (grub_crypto_hmac_buffer): Likewise.
15461 (grub_password_get): Extend to util.
15462 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
15463 New member modname.
15464 (gcry_md_spec) [GRUB_UTIL]: Likewise.
15465 * include/grub/cryptodisk.h: New file.
15466 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
15467 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
15468 LUKS and GELI.
15469 (grub_util_follow_gpart_up): New proto.
15470 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
15471 (grub_util_fd_read): Likewise.
15472 (grub_cryptodisk_cheat_mount): Likewise.
15473 (grub_util_cryptodisk_print_uuid): Likewise.
15474 (grub_util_get_fd_sectors): Likewise.
15475 * util/grub-fstest.c (mount_crypt): New var.
15476 (fstest): Mount crypto if requested.
15477 (options): New option -C.
15478 (argp_parser): Parse -C.
15479 (main): Init and fini gcry.
15480 * util/grub-install.in: Support cryptodisk install.
15481 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
15482 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
15483 cryptodisk.
15484 (prepare_grub_to_access_device): Likewise.
15485 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
15486 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
15487 (probe_cryptodisk_uuid): New function.
15488 (probe_abstraction): Likewise.
15489 (probe): Use new functions.
15490 * util/import_gcry.py: Create Makefile.utilgcry.def.
15491 Add modname member.
15492
9bfdcbbc
VS
154932011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
15494
15495 Lazy device scanning.
15496
15497 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
15498 (grub-setup): Remove util/raid.c.
15499 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
15500 * grub-core/disk/lvm.c (scan_depth): New variable.
15501 (grub_lvm_iterate): Rescan if necessary.
15502 (find_lv): New function based on grub_lvm_open.
15503 (grub_lvm_open): Use find_lv. Rescan on error.
15504 (is_node_readable): New function.
15505 (is_lv_readable): Likewise.
15506 (grub_lvm_scan_device): Skip already found disks.
15507 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
15508 Stop if searched device is found and readable.
15509 * grub-core/disk/raid.c (inscnt): New variable.
15510 (scan_depth): Likewise.
15511 (scan_devices): New function based on grub_raid_register. Abort if
15512 looked for device is found.
15513 (grub_raid_iterate): Rescan if needed.
15514 (find_array): NEw function based on -grub_raid_open.
15515 (grub_raid_open): Use find_array and rescan.
15516 (insert_array): Set became_readable_at.
15517 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
15518 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
15519 New function.
15520 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
15521 (grub_util_pull_device): New function.
15522 (grub_util_get_grub_dev): Call grub_util_pull_device.
15523 * util/raid.c: Moved to ..
15524 * grub-core/kern/emu/raid.c: ... here.
15525 (grub_util_raid_getmembers): New parameter "bootable".
15526 All users updated. Support 1.x.
15527 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
15528 All users updated.
15529 * include/grub/disk.h (grub_disk_pull_t): New enum.
15530 (grub_disk_dev): Change iterate prototype.
15531 All users updated.
15532 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
15533 New proto.
15534 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
15535 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
15536 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
15537 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
15538 All users updated.
15539 * include/grub/util/raid.h: Removed.
15540
1c358e59
VS
155412011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
15542
15543 * po/POTFILES.in: Regenerate.
15544
abee94ed
VS
155452011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
15546
15547 Unify sparc init with other ieee1275.
15548
15549 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
15550 instead of kern/sparc64/ieee1275/init.c.
15551 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
15552 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
15553 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
15554 grub/machine/kernel.h.
15555 (grub_ieee1275_original_stack) [__sparc__]: New variable.
15556 (grub_claim_heap) [__sparc__]: Use sparc version.
15557 (grub_machine_init): Moved args parsing to
15558 (grub_parse_cmdline): ...this.
15559 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
15560 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
15561 New definition.
15562 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
15563
15564 Move BOOTP to separate file.
15565
15566 * grub-core/Makefile.core.def (net): Add net/bootp.c.
15567 * grub-core/net/net.c: Move all BOOTP functions to
15568 * grub-core/net/bootp.c: ... here.
15569
15570 Use frame interface on PXE.
15571
15572 * grub-core/Makefile.core.def (pxecmd): Removed.
15573 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
15574 * grub-core/commands/i386/pc/pxecmd.c: Removed.
15575 * grub-core/i386/pc/pxe.c: Moved from here ...
15576 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
15577 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
15578 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
15579
15580 EFI network support.
15581
15582 * grub-core/Makefile.core.def (efinet): New module.
15583 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
15584 here...
15585 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
15586 All users updated.
15587 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
15588 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
15589 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
15590 * grub-core/net/drivers/efi/efinet.c: New file.
15591 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
15592 (grub_efi_net_config): New extern var.
15593
15594 Various cleanups and bugfixes.
15595
15596 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
15597 error.
15598 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
15599 disk declared as partition.
15600 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
15601 leak on failure.
15602 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
15603 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
15604 (grub_debug_zalloc): Likewise.
15605 (grub_debug_realloc): Likewise.
15606 (grub_debug_memalign): Likewise.
15607 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
15608 Check that target is IPv4.
15609 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
15610 local-mac-address as fallback.
15611 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
15612 memory leak.
15613 * grub-core/net/ip.c (ipchksum): Rename to ...
15614 (grub_net_ip_chksum): ... this. All users updated.
15615 (grub_net_recv_ip_packets): Special handling for DHCP.
15616 * util/grub-mkimage.c (generate_image): Zero-out aout header.
15617
15618 Unify prefix handling
15619
15620 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
15621 (grub_machine_get_bootlocation): ... this.
15622 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
15623 (grub_machine_get_bootlocation): ... this.
15624 (grub_prefix): New variable.
15625 (prefix): Removed.
15626 (root_dev): New variable.
15627 (dir): Likewise.
15628 (main): Use new variables.
15629 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
15630 Revamped into ...
15631 (grub_machine_get_bootlocation): ... this.
15632 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
15633 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
15634 (grub_machine_get_bootlocation): ... this.
15635 (grub_machine_set_prefix): Removed.
15636 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
15637 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
15638 Revamped into ...
15639 (grub_machine_get_bootlocation): ... this.
15640 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
15641 (grub_set_prefix_and_root): ... this. All users updated.
15642 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
15643 Revamped into ...
15644 (grub_machine_get_bootlocation): ... this.
15645 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
15646 (grub_machine_get_bootlocation): New proto.
15647 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
15648
15649 Less intrusive and more reliable seek on network implementation.
15650
15651 * grub-core/kern/file.c (grub_file_net_seek): Removed.
15652 (grub_file_seek): Don't call grub_file_net_seek.
15653 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
15654 (grub_net_fs_read_real): .. this.
15655 (grub_net_seek_real): Use net->offset.
15656 (grub_net_fs_read): Seek if necessary.
15657
15658 Unify IEEE1275 netwotk config with the other platforms.
15659
15660 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
15661 New variable.
15662 (grub_machine_get_bootlocation): Support network.
15663 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
15664 Support type and device parsing.
15665 (grub_ieee1275_get_device_type): New function.
15666 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
15667 into ...
15668 (grub_ieee1275_net_config_real): ... this.
15669 (grub_ofnet_probecards): Removed.
15670 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
15671 * include/grub/ieee1275/ofnet.h: Removed.
15672 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
15673 extern var.
15674 (grub_ieee1275_get_device_type): New function.
15675
15676 Unify network device closing across platforms and make more robust.
15677
15678 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
15679 grub_grubnet_fini.
15680 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
15681 already.
15682 * grub-core/net/net.c (grub_net_network_level_interface_register):
15683 Update num_ifaces.
15684 (grub_net_card_unregister): Close all interfaces.
15685 (receive_packets): Don't poll if no iterfaces are registered.
15686 Open if necessary.
15687 (grub_net_fini_hw): New function.
15688 (grub_net_restore_hw): Likewise.
15689 (fini_hnd): New variable.
15690 (GRUB_MOD_INIT): Register preboot hook.
15691 (GRUB_MOD_FINI): Run and unregister preboot hook.
15692
15693 Poll network cards when idle.
15694
15695 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
15696 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
15697 * grub-core/net/net.c (receive_packets): Save last poll time.
15698 (grub_net_poll_cards_idle_real): New function.
15699 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
15700 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
15701 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
15702
15703 Rename ofnet interfaces.
15704
15705 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
15706 (grub_ofnet_findcards): Use ofnet_%s names.
15707
15708 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
15709
15710 Cleanup socket opening.
15711
15712 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
15713 (grub_net_fs_close): Likewise.
15714 (grub_net_fs_read_real): Use eof member.
15715 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
15716 (+grub_net_udp_close): New inline function.
15717
15718 * include/grub/net/tftp.h: Moved to the top of ...
15719 * grub-core/net/tftp.c: ... here.
15720 * include/grub/net/ip.h: Moved mostly to the top of ...
15721 * grub-core/net/ip.c: ... here.
15722 * include/grub/net/ethernet.h: Moved mostly to the top of ...
15723 * grub-core/net/ethernet.c: ... here.
15724
15725 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
15726
15727 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
15728 FS name.
15729
15730 * include/grub/net/ip.h (ipv4_ini): Removed.
15731 (ipv4_fini): Likewise.
15732
15733 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
15734 (grub_net_send_ip_packets): Likewise.
15735
cf1337aa
VS
157362011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15737
15738 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
15739 grub_read_cmos prototype.
15740
93c06ff9
VS
157412011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15742
15743 VGA text support in qemu-mips
15744
15745 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
15746 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
15747 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
15748 text.
15749 * grub-core/kern/i386/qemu/init.c: Renamed to ...
15750 * grub-core/kern/vga_init.c: ... this.
15751 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
15752 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
15753 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
15754 Adjust.
15755 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
15756 GRUB_MACHINE_PCI_IO_BASE.
15757
748ccabe
VS
157582011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15759
15760 MIPS qemu flash support.
15761
15762 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
15763 magic.
15764 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
15765 (grub_machine_init): Probe memory if its size isn't known.
15766 * util/grub-mkimage.c (image_targets): Add flash targets.
15767 (generate_image): Handle flash targets.
15768
d7345994
VS
157692011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15770
15771 MIPS qemu at_keyboard support.
15772
15773 * gentpl.py (videoinkernel): Add qemu-mips.
15774 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
15775 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
15776 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
15777 modules.
15778 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
15779 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
15780 * grub-core/term/serial.c (grub_serial_register)
15781 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
15782
a07a81b3
VS
157832011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15784
15785 CMOS support on sparc.
15786
15787 * gentpl.py (cmos): Add powerpc and sparc.
15788 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
15789 powerpc and sparc.
15790 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
15791 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
15792 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
15793 grub_set_datetime_cmos.
15794 * grub-core/lib/ieee1275/cmos.c: New file.
15795 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
15796 (find_rtc): Set no_ieee1275_rtc on error.
15797 (grub_get_datetime): Call grub_get_datetime_cmos on error.
15798 (grub_set_datetime): Call grub_set_datetime_cmos on error.
15799 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
15800 fail. Move value to argument. All users updated
15801 (grub_cmos_write): Likewise.
15802 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
15803 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
15804 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
15805 grub_get_datetime_cmos and grub_set_datetime_cmos.
15806
77546584
GS
158072011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
15808
15809 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
15810 sourcing grub-mkconfig_lib.
15811 * util/update-grub_lib.in: Likewise.
15812 * util/grub.d/00_header.in: Likewise.
15813 * util/grub.d/10_hurd.in: Likewise.
15814 * util/grub.d/10_kfreebsd.in: Likewise.
15815 * util/grub.d/10_linux.in: Likewise.
15816 * util/grub.d/10_netbsd.in: Likewise.
15817 * util/grub.d/10_windows.in: Likewise.
15818 * util/grub.d/20_linux_xen.in: Likewise.
15819 * util/grub.d/30_os-prober.in: Likewise.
15820
54894791
CW
158212011-06-28 Colin Watson <cjwatson@ubuntu.com>
15822
15823 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
15824 default_bg_color rather than black.
15825 (grub_gfxterm_fullscreen): Likewise.
15826 (grub_gfxterm_background_color_cmd): Save new background color in
15827 default_bg_color.
15828
8d5d8444
VS
158292011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15830
15831 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
15832
5afeb5bd
VS
158332011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15834
15835 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
15836 mismerge.
15837
ba7df45e
VS
158382011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15839
15840 Chainloading on coreboot support.
15841
15842 * grub-core/Makefile.core.def (chain): Add coreboot.
15843 * grub-core/loader/i386/coreboot/chainloader.c: New file.
15844
d0b526b2
VS
158452011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15846
15847 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
15848 if it happens.
15849
5ff1d945
VS
158502011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15851
15852 Implement time command.
15853
15854 * grub-core/Makefile.core.def (time): New module.
15855 * grub-core/commands/time.c: New file.
15856 * grub-core/script/parser.y: Remove "time" keyword.
15857 * grub-core/script/yylex.l: Likewise.
15858
5ebaad7e
VS
158592011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15860
15861 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
15862
bdea3798
VS
158632011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15864
15865 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
15866 when handling leftovers.
15867
b28c5655
VS
158682011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15869
15870 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
15871 so that help2man doesn't fail.
15872
b6f945dc
VS
158732011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15874
15875 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
15876 type in pointers on sparc64.
15877 (get_card_packet): Likewise.
15878
f9b75e8a
CW
158792011-06-27 Colin Watson <cjwatson@ubuntu.com>
15880
15881 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
15882 with `*'.
15883 (grub_cmd_videoinfo): Fetch current video mode.
15884
1e3d9b86
VS
158852011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15886
15887 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
15888 because of underlying system restrictions.
15889
efff4b1c
VS
158902011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15891
15892 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
15893 necessary.
15894
9fc9ce37
VS
158952011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15896
15897 Coreboot video support.
15898
15899 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
15900 (vbe): Likewise.
15901 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
15902 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
15903 here ...
15904 * grub-core/kern/i386/int.S: ... here.
15905 * grub-core/video/i386/pc/vbe.c: Updated includes.
15906 * grub-core/video/i386/pc/vga.c: Likewise.
15907 * include/grub/i386/coreboot/memory.h
15908 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
15909 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
15910 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
15911 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
15912 Disable interrupts.
15913 * include/grub/i386/pc/vga.h: Removed. All users updated.
15914
41bec7fe
VS
159152011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15916
15917 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
15918 definitions for dprintf.
15919 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
15920
ca80309d
VS
159212011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15922
15923 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
15924 prototype.
15925 (get_card_packet): Likewise.
15926
9e322ce8
YB
159272011-06-26 Yves Blusseau <blusseau@zetam.org>
15928
15929 Display the path of the file when file is not found
15930
15931 * grub-core/fs/fat.c: Display the filename when file is not found.
15932 * grub-core/fs/fshelp.c: Likewise.
15933 * grub-core/fs/hfs.c: Likewise.
15934 * grub-core/fs/jfs.c: Likewise.
15935 * grub-core/fs/minix.c: Likewise.
15936 * grub-core/fs/ufs.c: Likewise.
15937 * grub-core/fs/btrfs.c: Likewise.
15938 * grub-core/commands/i386/pc/play.c: Likewise.
15939
cbf597af
SJ
159402011-06-26 Szymon Janc <szymon@janc.net.pl>
15941
15942 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
15943 pointer checks before calling grub_free().
15944 * grub-core/commands/wildcard.c (match_devices): Likewise.
15945 * grub-core/commands/wildcard.c (match_files): Likewise.
15946 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
15947 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
15948 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
15949 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
15950 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
15951 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
15952 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
15953 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
15954 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
15955
6295b32f
P
159562011-06-25 Patrick <p55@mailinator.com>
15957
15958 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
15959
77c0840b
VS
159602011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
15961
15962 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
15963 (grub_pxe_send): Likewise.
15964 (GRUB_MOD_INIT): Fix types.
15965
40ea05de
SJ
159662011-06-24 Szymon Janc <szymon@janc.net.pl>
15967
15968 * grub-core/io/xzio.c: Fix code style issues
15969
90162423
MRA
159702011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
159712011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
15972
15973 Network infrastructure.
15974 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
15975
15976 * include/grub/net/arp.h: New file.
90162423
MRA
15977 * include/grub/net/device.h: Likewise.
15978 * include/grub/net/ethernet.h: Likewise.
15979 * include/grub/net/ip.h: Likewise.
15980 * include/grub/net/netbuff.h: Likewise.
15981 * include/grub/net/tftp.h: Likewise.
15982 * include/grub/net/udp.h: Likewise.
15983 * include/grub/ieee1275/ofnet.h: Likewise.
15984 * include/grub/emu/export.h: Likewise.
15985 * include/grub/net.h: Likewise.
15986 * grub-core/net/arp.c: Likewise.
15987 * grub-core/net/ethernet.c: Likewise.
15988 * grub-core/net/ip.c: Likewise.
15989 * grub-core/net/udp.c: Likewise.
15990 * grub-core/net/tftp.c: Likewise.
15991 * grub-core/net/netbuff.c: Likewise.
15992 * grub-core/net/net.c: Likewise.
15993 * grub-core/net/drivers/emu/emunet.c: Likewise.
15994 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
15995 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
15996 export.h.
15997 * grub-core/Makefile.core.def (net): New module.
15998 (tftp): Likewise.
15999 (ofnet): Likewise.
16000 (emunet): Likewise.
16001 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
16002 network protocols.
16003 * grub-core/kern/device.c (grub_net_open) : New variable.
16004 (grub_device_open): Handle network device.
16005 (grub_device_close): Likewise.
16006 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
16007 (grub_grubnet_fini): Likewise.
16008 (grub_file_seek): Seek in network device.
16009 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
16010 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
16011 network root.
16012 (grub_machine_fini): Call grub_grubnet_fini.
16013 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
16014 network.
16015 (grub_ieee1275_get_aliasdevname): New function.
16016 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16017 Add unofficial Solaris network info.
16018 (grub_multiboot_make_mbi): Likewise.
16019 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
16020 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
16021 * include/grub/device.h (grub_fs): Removed.
16022 * include/grub/err.h (grub_err_t): Add network-related values.
16023 * include/grub/i386/pc/pxe.h: Removed bootp parts.
16024 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
16025 (grub_ieee1275_get_aliasdevname): New proto.
16026 * include/grub/net.h: Rewritten.
423a1849 16027
031f22a0
VS
160282011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16029
16030 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
16031 names.
16032
4388ca72
VS
160332011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16034
16035 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
16036 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
16037 it truncates the output.
16038 Reported by: Ximin Luo.
16039
98e2f506
VS
160402011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16041
16042 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
16043
2a5e94d8
VS
160442011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16045
16046 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
16047 partmap before abstraction.
16048
535c1910
AK
160492011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
16050
16051 * util/grub-mkconfig_lib.in: Add missing quotes.
16052
bc09e1a2
VS
160532011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16054
16055 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
16056 old method if mountinfo would return /dev/root and /dev/root doesn't
16057 exist.
16058
290766fb
VS
160592011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16060
16061 ZFS zlib support
16062
16063 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
16064 (decomp_table): Add zlib entries.
16065 (zio_read): USe 8 bits for compression function rather than 3.
16066 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
16067
160682011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16069
16070 * grub-core/disk/ahci.c: Add missing license statements.
16071 * grub-core/fs/romfs.c: Likewise.
16072 * grub-core/lib/ia64/setjmp.S: Likewise.
16073 * grub-core/loader/i386/pc/freedos.c: Likewise.
16074 * grub-core/loader/ia64/efi/linux.c: Likewise.
16075 * grub-core/video/colors.c: Likewise.
16076 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
16077
5ab3f48a
VS
160782011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16079
16080 AHCI support.
16081
16082 * grub-core/Makefile.core.def (ata_pthru): Removed.
16083 (ahci): New module.
16084 (pata): Likewise.
16085 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
16086 on unload.
16087 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
16088 readwrite.
16089 (grub_hdparm_do_check_powermode_cmd): Likewise.
16090 (grub_hdparm_do_smart_cmd): Likewise.
16091 (grub_hdparm_set_val_cmd): Likewise.
16092 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
16093 * grub-core/disk/ahci.c: New file.
16094 * grub-core/disk/ata.c: Factor out the low-level part into ...
16095 * grub-core/disk/pata.c: ... here.
16096 * grub-core/disk/ata_pthru.c: Contents moved to ...
16097 * grub-core/disk/pata.c: ... here.
16098 * grub-core/disk/scsi.c (grub_scsi_names): New array.
16099 (grub_scsi_iterate): Use grub_scsi_names.
16100 (grub_scsi_open): Likewise.
16101 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
16102 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
16103 (grub_ata_regs_t): New struct.
16104 (grub_disk_ata_pass_through_parms): Likewise.
16105 (grub_ata_device): Renamed to ...
16106 (grub_ata): ... this.
16107 (grub_ata_dev): New struct.
16108 Removed all low-level inline functions.
16109 * include/grub/scsi.h: Add PATA and AHCI subsystems.
16110 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
16111 iterate hooks and open. All users updated.
16112 * util/grub-install.in: Handle AHCI disk module.
16113
c31dc5f5
SJ
161142011-06-23 Szymon Janc <szymon@janc.net.pl>
16115
16116 Add support for DRI and RSTn markers in JPEG files.
16117
16118 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
16119 (JPEG_MARKER_RST0): Likewise.
16120 (JPEG_MARKER_RST1): Likewise.
16121 (JPEG_MARKER_RST2): Likewise.
16122 (JPEG_MARKER_RST3): Likewise.
16123 (JPEG_MARKER_RST4): Likewise.
16124 (JPEG_MARKER_RST5): Likewise.
16125 (JPEG_MARKER_RST6): Likewise.
16126 (JPEG_MARKER_RST7): Likewise.
16127 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
16128 (grub_jpeg_decode_dri): New function.
16129 (grub_jpeg_decode_sos): Move image data related part into
16130 grub_jpeg_decode_data function.
16131 (grub_jpeg_decode_data): New function.
16132 (grub_jpeg_reset): New function.
16133 (grub_jpeg_decode_jpeg): Handle new markers.
16134
fe12fd5b
VS
161352011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16136
16137 * util/ieee1275/ofpath.c (check_sas): Close fd.
16138 (main): Free of_path.
16139 Reported by: David Volgyes <dvolgyes>.
16140
03147f46
VS
161412011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16142
16143 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
16144 Reported by: David Volgyes <dvolgyes>.
16145
cad3237f
VS
161462011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16147
16148 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
16149 file after stat.
16150 Reported by: David Volgyes <dvolgyes>.
16151
13548d26
VS
161522011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16153
16154 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
16155
16156 Reported by: David Volgyes <dvolgyes>.
16157
e061a1b5
VS
161582011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16159
16160 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
16161 Prevent memory leak.
16162
1abe47dc
VS
161632011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16164
16165 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
16166 (main): Close file.
e061a1b5 16167 Reported by: David Volgyes <dvolgyes>.
1abe47dc 16168
fbc62666
VS
161692011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16170
16171 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
16172 to continue if allocation is failed.
16173
16174 Reported by: David Volgyes <dvolgyes>.
16175
e98c83e9
DV
161762011-06-23 David Volgyes <dvolgyes>
16177
16178 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
16179 dereference.
16180
a199a8cd
VS
161812011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16182
16183 Fix spurious warning.
16184
16185 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
16186 (acorn_partition_map_find): Use .bin member.
16187
e2d1dba0
VS
161882011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16189
16190 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
16191 /dev/root as a valid device.
16192
8a5d6919
JM
161932011-06-23 Jim Meyering <meyering@redhat.com>
16194
e2d1dba0
VS
16195 Avoid NULL deref in grub_device_open.
16196
8a5d6919
JM
16197 * grub-core/kern/device.c (grub_device_open): Don't dereference
16198 a NULL pointer upon failed grub_env_get.
16199
f7db6f4a
VS
162002011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16201
16202 Support non-512B sectors and agglomerate reads.
16203
16204 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
16205 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
16206 (disk_io_guid): Removed.
16207 (make_devices): Locate solely by BlockIO.
16208 (grub_efidisk_open): Fill log_sector_size and total_sectors.
16209 (grub_efidisk_read): Use read_blocks.
16210 (grub_efidisk_write): Use write_blocks.
16211 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
16212 log_sector_size.
16213 (get_safe_sectors): Handle non-512B sectors.
16214 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
16215 sectors.
16216 (grub_biosdisk_write): Handle non-512B sectors.
16217 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
16218 (grub_scsi_read): Remove special non-512B block handling (now handled
16219 one level up).
16220 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
16221 and do sanity checks.
16222 (grub_disk_adjust_range): Handle non-512B sectors.
16223 (transform_sector): New function.
16224 (grub_disk_read_small): Likewise.
16225 (grub_disk_read): Rewritten.
16226 (grub_disk_write): Handle non-512B sectors.
16227 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
16228 log_sector_size.
16229 (open_device): Use log_sector_size.
16230 (grub_util_biosdisk_read): Likewise.
16231 (grub_util_biosdisk_write): Likewise.
16232 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
16233 non-512B sectors.
16234 (pc_partition_map_embed): Likewise.
16235 * include/grub/disk.h (grub_disk): New field log_sector_size.
16236 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
16237 (GRUB_DISK_CACHE_BITS): Increased to 6.
16238 * util/grub-fstest.c (fstest): New command testload.
16239 (argp_parser): Likewise.
16240
881ac815
RM
162412011-06-16 Robert Millan <rmh@gnu.org>
16242
16243 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
16244 `ata' driver on kernel of FreeBSD 9.
16245
16246 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
16247 (get_ataraid_disk_name): New functions.
16248 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
16249 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
16250 get_ataraid_disk_name() and get_ada_disk_name().
16251
1e9aef7d
CW
162522011-06-13 Colin Watson <cjwatson@ubuntu.com>
16253
16254 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
16255 input format.
16256
351c7c8a
CW
162572011-05-29 Colin Watson <cjwatson@ubuntu.com>
16258
16259 * docs/grub.texi (Obtaining and Building GRUB): Substitute
16260 `ftp.gnu.org' for `alpha.gnu.org'.
16261
6b4e6430
CW
162622011-05-27 Colin Watson <cjwatson@ubuntu.com>
16263
16264 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
16265 partitions under /dev/disk/by-id/.
16266
c64db050
CW
162672011-05-27 Colin Watson <cjwatson@ubuntu.com>
16268
16269 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
16270 after ten consecutive open failures. Scanning all the way up to
16271 10000 is excessive and can cause serious performance problems in
16272 some configurations.
16273 Fixes Ubuntu bug #787461.
16274
245f4aba
VS
162752011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16276
16277 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
16278 opening new one.
16279
f767c929
VS
162802011-05-21 Colin Watson <cjwatson@ubuntu.com>
162812011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16282
16283 Don't stat devices unless we have to.
16284
16285 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
16286 dir == /dev/mapper.
16287 (grub_guess_root_device): Use already known os_dev if possible.
16288 * grub-core/kern/emu/hostdisk.c
16289 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
16290 if device is known to be a dm one.
16291
f35fa3a6
CW
162922011-05-20 Colin Watson <cjwatson@ubuntu.com>
16293
16294 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
16295 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
16296 Reported by: Pawel Tecza.
16297
9a79fcf2
VS
162982011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
16299
16300 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
16301 (lsefisystab): Likewise.
16302 (lssal): Likewise.
16303 (lsefimmap): Likewise.
16304 (hdparm): Enable on qemu-mips.
16305 (setjmp): Add ia64 nodist.
16306 (serial): Simplify tags.
16307
63e3eea9
CW
163082011-05-18 Colin Watson <cjwatson@ubuntu.com>
16309
16310 * Makefile.util.def (grub-ofpathname): Install manual page.
16311
09728256
CW
163122011-05-18 Colin Watson <cjwatson@ubuntu.com>
16313
16314 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
16315
8b63a142
CW
163162011-05-18 Colin Watson <cjwatson@ubuntu.com>
16317
16318 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
16319
e775d8ed
VS
163202011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16321
16322 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
16323 into dprintf.
16324
bf947d36
VS
163252011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16326
16327 Use full 64-bit division.
16328
16329 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
16330 (grub_divmod64): ... this.
16331 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
16332 version.
16333
b84f26c5
CW
163342011-05-18 Colin Watson <cjwatson@ubuntu.com>
16335
16336 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
16337 `source'.
16338
5626056f
CW
163392011-05-18 Colin Watson <cjwatson@ubuntu.com>
16340
16341 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
16342 to avoid accidents when debugging with 'sh -x'.
16343 * grub-core/gensyminfo.sh.in: Likewise.
16344 * tests/example_scripted_test.in: Likewise.
16345 * tests/grub_cmd_regexp.in: Likewise.
16346 * tests/grub_script_blanklines.in: Likewise.
16347 * tests/grub_script_dollar.in: Likewise.
16348 * tests/grub_script_expansion.in: Likewise.
16349 * tests/grub_script_final_semicolon.in: Likewise.
16350 * tests/partmap_test.in: Likewise.
16351 * tests/util/grub-shell-tester.in: Likewise.
16352 * tests/util/grub-shell.in: Likewise.
16353
e2965f4a
CW
163542011-05-18 Colin Watson <cjwatson@ubuntu.com>
16355
16356 Move gfxmenu color handling to video, so that gfxterm can use it
16357 too.
16358
16359 * grub-core/gfxmenu/named_colors.c: Move to ...
16360 * grub-core/video/colors.c: ... here. Rename
16361 grub_gui_get_named_color to grub_video_get_named_color.
16362 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
16363 * grub-core/video/colors.c (my_isxdigit): ... here.
16364 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
16365 Move to ...
16366 * grub-core/video/colors.c (parse_hex_color_component): ... here.
16367 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
16368 to ...
16369 * grub-core/video/colors.c (grub_video_parse_color): ... here.
16370
16371 * include/grub/gui.h (grub_gui_color_t): Move to ...
16372 * include/grub/video.h (grub_video_rgba_color_t): ... here.
16373 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
16374 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
16375 * include/grub/gui.h (grub_gui_map_color): Move to ...
16376 * include/grub/video.h (grub_video_map_rgba_color): ... here.
16377 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
16378 to ...
16379 * include/grub/video.h (grub_video_get_named_color): ... here.
16380 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
16381 * include/grub/video.h (grub_video_parse_color): ... here.
16382
16383 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
16384 video/colors.c.
16385 (gfxmenu): Remove gfxmenu/named_colors.c.
16386 (video) [videomodules]: Add video/colors.c.
16387
16388 Add a background_color command.
16389
16390 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
16391 function.
16392 (GRUB_MOD_INIT): Register background_color command.
16393 (GRUB_MOD_FINI): Unregister background_color command.
16394 (redraw_screen_rect): Allow blend/replace of text layer to be
16395 controlled independently from whether there is a background bitmap.
16396 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
16397 changing bitmap.
16398
1e4b4390
VS
163992011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16400
26618ff0
VS
16401 Patch BPB in ntldr and chainloader --bpb.
16402
1e4b4390
VS
16403 * grub-core/fs/fat.c: Include grub/fat.h.
16404 (grub_fat_bpb): Moved to ...
16405 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
16406 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
16407 grub/ntfs.h.
16408 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
16409 Moved from here...
16410 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
16411 here.
16412 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
16413 New function.
16414 (grub_chainloader_cmd): Patch BPB if --bpb is given.
16415 (GRUB_MOD_INIT): Show --bpb.
16416 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
16417 * grub-core/normal/main.c (features): New variable.
16418 (GRUB_MOD_INIT): Set feature_* variables.
16419 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
16420 proto.
16421 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
16422
cf02731e
VS
164232011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16424
16425 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
16426 for cleanness.
16427
e3a1073f
VS
164282011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16429
16430 FreeDOS direct loading support.
16431
16432 * docs/grub.texi (Supported OS): Add FreeDOS.
16433 * grub-core/Makefile.core.def (freedos): New module.
16434 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
16435 variable.
16436 (grub_relocator16_boot): Handle %ebx.
16437 * grub-core/lib/i386/relocator16.S: Likewise.
16438 * grub-core/loader/i386/pc/freedos.c: New file.
16439
05caa461
VS
164402011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16441
16442 Long Linux command line support.
16443
16444 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
16445 (maximal_cmdline_size): New variable.
16446 (allocate_pages): Use maximal_cmdline_size.
16447 (grub_cmd_linux): Set and use maximal_cmdline_size.
16448 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
16449 (allocate_pages): Use maximal_cmdline_size.
16450 (grub_cmd_linux): Set and use maximal_cmdline_size.
16451 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
16452 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
16453 and cmdline_size.
16454
a2491e23
VS
164552011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
164562011-05-18 Colin Watson <cjwatson@ubuntu.com>
16457
16458 Improve devmapper support
16459
16460 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
16461 (grub_util_is_lvm): New function.
16462 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
16463 than lvm if not dmraid.
16464 Handle mapped md nodes.
16465 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
16466 (grub_util_device_is_mapped): ... this. Make always available. All users
16467 updated.
16468 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
16469 (convert_system_partition_to_system_disk): Handle lvm, mpath and
16470 dmraid nodes.
16471 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
16472
6ad6223e
VS
164732011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16474
16475 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
16476
16477 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
16478 * grub-core/modinfo.sh.in: New file.
16479 * grub-core/Makefile.core.def (modinfo.sh): New script.
16480 * util/grub-mknetdir.in: Use modinfo.sh.
16481 * util/grub-mkrescue.in: Likewise.
16482
543a8f6e
VS
164832011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16484
16485 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
16486 Fix potential usage of Elf32 instead of Elf64 when compiling on
16487 32-bit architecture. Add endianness macros while on it.
16488
4959e111
VS
164892011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16490
16491 Use mipsel- rather than mips- in directories involving mipsel ports to
16492 allow both endiannesses coexist.
16493
16494 * configure.ac: proparate target_cpu=mipsel rather than resetting to
16495 mips. All conditions adjusted.
16496 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
16497 variable.
16498 * util/grub-install.in: Adjust conditions to take renaming into account.
16499 * util/grub-mkimage.c (image_targets): Likewise. New target
16500 mips-qemu_mips-elf for bigendian mips.
16501
35341bbc
VS
165022011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16503
16504 Avoid unnecessary copying on MIPS.
16505
16506 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
16507 early if src == dest.
16508 * util/grub-mkimage.c (generate_image): Arange for src == dest if
16509 compression is none.
16510
b772baed
VS
165112011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16512
16513 Reduce memory footprint on SGI by putting modules before the kernel
16514 as opposed to after.
16515
16516 * grub-core/Makefile.core.def (kernel): Increase linking address.
16517 (none_decompress): Likewise.
16518 (xz_decompress): Likewise.
16519 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
16520 address.
16521 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
16522 layout change.
16523 (grub_arch_modules_addr): New function.
16524 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
16525 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
16526 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
16527 here.
16528 * grub-core/kern/mips/startup.S (total_size): Rename to ...
16529 (grub_total_modules_size): ... this. Make global.
16530 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
16531 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
16532 New definition.
16533 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
16534 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
16535 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
16536 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
16537 * util/grub-mkimage.c (image_target_desc): New flag
16538 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
16539 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
16540 (generate_image): Handle images with modules before kernel.
16541
566a1917
VS
165422011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16543
16544 Prevent potential loss of memory map by overwrite on qemu-mips.
16545
16546 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
16547 Save ram size in $s4.
16548 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
16549 All users changed to grub_arch_memsize.
16550 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
16551 Loongson.
16552 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
16553 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
16554 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
16555 external variable.
16556
5d420cd9
CW
165572011-05-17 Colin Watson <cjwatson@ubuntu.com>
16558
16559 * .bzrignore: Remove grub-dumpbios.
16560
d064b830
CW
165612011-05-17 Colin Watson <cjwatson@ubuntu.com>
16562
16563 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
16564 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
16565 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
16566 existing options which append).
16567 * docs/grub.texi (Simple configuration): Document new options.
16568 Reported by: Ian Jackson. Fixes Debian bug #617538.
16569
3ca2b466
CW
165702011-05-17 Colin Watson <cjwatson@ubuntu.com>
16571
16572 * util/grub-fstest.c (cmd_cat): New function.
16573 (fstest): Handle CMD_CAT.
16574 (options): Add cat.
16575 (argp_parser): Handle cat.
16576
24c9143a
CW
165772011-05-17 Colin Watson <cjwatson@ubuntu.com>
16578
16579 * Makefile.util.def (grub-bin2h): Don't install.
16580 * docs/man/grub-bin2h.h2m: Remove.
16581
90f7ac19
VS
165822011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16583
16584 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
16585 place.
16586
8d4a5178
VS
165872011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16588
16589 Reenable qemu-mips port.
16590
16591 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
16592 Fix small arc bug while on it.
16593 * gentpl.py: Handle qemu_mips.
16594 * grub-core/Makefile.am: Likewise.
16595 * grub-core/Makefile.core.def: Likewise.
16596 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
16597 inappropriate includes.
16598 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
16599 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
16600 * grub-core/kern/main.c (grub_modules_get_end)
16601 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
16602 * grub-core/kern/mips/qemu-mips: Moved to ..
16603 * grub-core/kern/mips/qemu_mips: ... this.
16604 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
16605 (grub_machine_init): Call terminfo_init and serial_init.
16606 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
16607 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
16608 New variable.
16609 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
16610 parameter passing.
16611 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
16612 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
16613 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
16614 * include/grub/mips/qemu_mips/cmos.h: New file.
16615 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
16616 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
16617 Removed.
16618 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
16619 Use correct mips-style address.
16620 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
16621 (GRUB_TICKS_PER_SECOND): Removed.
16622 (grub_get_rtc): Likewise.
16623 (grub_cpu_idle): Likewise.
16624 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
16625 New definition.
16626 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
16627 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
16628 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
16629 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
16630 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
16631 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
16632 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
16633 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
16634
400b9371
VS
166352011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16636
16637 SGI ARCS port.
16638
16639 * Makefile.util.def (libgrubmods.a): Add dvh.c.
16640 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
16641 platforms.
16642 * configure.ac: New target mips-arc.
16643 * gentpl.py: Likewise.
16644 * grub-core/Makefile.am: Likewise.
16645 * grub-core/Makefile.core.def: Likewise.
16646 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
16647 (none_decompress): Likewise.
16648 (lsdev): New module.
16649 (datetime): Use lib/arc/datetime.c on ARC.
16650 (part_dvh): New module.
16651 * grub-core/commands/arc/lsdev.c: New file.
16652 * grub-core/disk/arc/arcdisk.c: Likewise.
16653 * grub-core/kern/mips/arc/init.c: Likewise.
16654 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
16655 aligned addresses.
16656 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
16657 support.
16658 (grub_arch_dl_relocate_symbols): Likewise.
16659 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
16660 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
16661 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
16662 platforms.
16663 * grub-core/lib/arc/datetime.c: New file.
16664 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
16665 pci.h on non-loongson.
16666 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
16667 (grub_linux_boot): Set unused registers to 0.
16668 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
16669 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
16670 * grub-core/mmap/mips/uppermem.c: ...here.
16671 * grub-core/partmap/dvh.c: New file.
16672 * grub-core/term/arc/console.c: Likewise.
16673 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
16674 (grub_terminfo_set_current): Add terminal "arc".
16675 (grub_terminfo_readkey): Support ARC sequences.
16676 * include/grub/arc/arc.h: New file.
16677 * include/grub/arc/console.h: Likewise.
16678 * include/grub/disk.h (grub_disk_dev_id): Add
16679 GRUB_DISK_DEVICE_ARCDISK_ID.
16680 * include/grub/mips/arc/kernel.h: New file.
16681 * include/grub/mips/arc/memory.h: Likewise.
16682 * include/grub/mips/arc/time.h: Likewise.
16683 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
16684 * include/grub/mips/kernel.h (grub_halt): ... here.
16685 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
16686 here...
16687 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
16688 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
16689 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
16690 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
16691 proto.
16692 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
16693 from here ...
16694 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
16695 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
16696 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
16697 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
16698 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
16699 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
16700 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
16701 (grub_phys_addr_t): Moved from here ...
16702 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
16703 (grub_vtop): Moved from here ...
16704 * include/grub/mips/memory.h (grub_vtop): ... here.
16705 (grub_map_memory): Moved from here ...
16706 * include/grub/mips/memory.h (grub_map_memory): ... here.
16707 (grub_unmap_memory): Moved from here ...
16708 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
16709 (grub_machine_mmap_iterate): Moved from here ...
16710 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
16711 (grub_mmap_get_lower): Moved from here ...
16712 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
16713 (grub_mmap_get_upper): Moved from here ...
16714 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
16715 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
16716 here ...
16717 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
16718 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
16719 here ...
16720 * include/grub/mips/time.h (grub_get_rtc): ... 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_cpu_idle): Moved from
16725 here ...
16726 * include/grub/mips/time.h (grub_cpu_idle): ... here.
16727 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
16728 definition.
16729 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
16730 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
16731 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
16732 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
16733 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
16734 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
16735 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
16736 (GRUB_MACHINE_LINK_ADDR): Likewise.
16737 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
16738 to 6.
16739 * util/grub-install.in: Run dvhtool on ARC.
16740 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 16741 (generate_image): Handle ECOFF output for mips-arc.
400b9371 16742
c8ecc840
VS
167432011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
16744
16745 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
16746 blocks.
16747
153a4b55
VS
167482011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
16749
16750 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
16751 after enabling port.
16752
ff44d107
VS
167532011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
16754
16755 Skip incorrect USB devices.
16756
16757 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
16758 configcnt == 0.
16759 * include/grub/usb.h (grub_usb_err_t): New enum value
16760 GRUB_USB_ERR_BADDEVICE.
16761
638dbe4f
VS
167622011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
16763
16764 Fuloong video init support.
16765
16766 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
16767 well.
16768 (grub_vga_read_arx): New function.
16769 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
16770 definition.
16771 (framebuffer): New members io, mmioptr and mmiobase.
16772 (read_sis_cmd): New function.
16773 (write_sis_cmd): Likewise.
16774 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
16775 rather than 640x400.
16776 * grub-core/video/sis315_init.c: New file.
16777
c3fc520c
VS
167782011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16779
16780 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
16781 non-loongson.
16782 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
16783 to grub_dl_register_symbol.
16784
67b1e5c9
VS
167852011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16786
16787 Fix compilation errors.
16788
16789 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
16790 potentially unused.
16791 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
16792 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
16793 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
16794 to loongson machines.
16795
b756f75f
VS
167962011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16797
16798 Several FS mtime support.
16799
16800 * grub-core/fs/affs.c (grub_affs_time): New struct.
16801 (grub_affs_file): New field mtime.
16802 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
16803 type. Removed 'size'. New field 'di'. All users updated.
16804 (grub_affs_mount): Simplify checsum checking.
16805 (grub_affs_iterate_dir): New helper grub_affs_create_node.
16806 (grub_affs_dir): Handle mtime.
16807 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
16808 (grub_cpio_dir): Likewise.
16809 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
16810 (grub_hfs_filerec): New field mtime.
16811 (grub_hfs_dir): Handle mtime.
16812 (grub_hfs_mtime): New function.
16813 (grub_hfs_fs): Register grub_hfs_mtime.
16814 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
16815 (grub_iso9660_dir): New field mtime.
16816 (grub_fshelp_node): New field dirent.
16817 (iso9660_to_unixtime): New function.
16818 (iso9660_to_unixtime2): Likewise.
16819 (grub_iso9660_read_symlink): Use node->dirent.
16820 (grub_iso9660_iterate_dir): Likewise.
16821 (grub_iso9660_dir): Set mtime.
16822 (grub_iso9660_mtime): New function.
16823 (grub_iso9660_fs): Register grub_iso9660_mtime.
16824 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
16825 (grub_jfs_inode): New fields atime, ctime and mtime.
16826 (grub_jfs_dir): Set mtime.
16827 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
16828 * grub-core/fs/ntfs.c (list_file): Set mtime.
16829 (grub_ntfs_dir): Likewise.
16830 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
16831 (grub_reiserfs_iterate_dir): Set mtime.
16832 (grub_reiserfs_dir): Likewise.
16833 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
16834 (grub_fshelp_node): Likewise.
16835 (grub_sfs_iterate_dir): Set mtime.
16836 (grub_sfs_dir): Likewise.
16837 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
16838 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
16839 (grub_xfs_inode): New fields atime, mtime, ctime.
16840 (grub_xfs_dir): Set mtime.
16841 * include/grub/datetime.h (grub_datetime2unixtime): New function.
16842 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
16843 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
16844
16845 Support UDF symlinks.
16846
16847 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
16848 (grub_ufs_read_symlink): New function. All users updated.
16849
16850 Check amiga partmap checksum.
16851
16852 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
16853 (grub_amiga_partition): Likewise.
16854 (amiga_partition_map_checksum): New function.
16855 (amiga_partition_map_iterate): Check checksum.
16856
5470225d
VS
168572011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16858
16859 ROMFS support.
16860
16861 * Makefile.util.def (libgrubmods.a): Add romfs.
16862 * grub-core/Makefile.core.def (romfs): New module.
16863 * grub-core/fs/romfs.c: New file.
16864
d4680a35
VS
168652011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16866
16867 Squashfs v4 support.
16868
16869 * Makefile.util.def (libgrubmods.a): Add squash4.
16870 * grub-core/Makefile.core.def (squash4): New module.
16871 * grub-core/fs/squash4.c: New file.
16872 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
16873 disk_input_start, disk_input.
16874 (get_byte): Handle disk_input.
16875 (grub_zlib_disk_read): New function.
16876 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
16877
bcb18e74
FZ
168782011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
168792011-05-15 Feiran Zheng <famcool@gmail.com>
16880
16881 * Makefile.util.def (libgrubmods.a): Add minix3.
16882 * grub-core/Makefile.core.def (minix3): New module.
16883 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
16884 (GRUB_MINIX_BSIZE): Removed.
16885 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
16886 (grub_minix_ino_t): New type.
16887 (grub_minix_le_to_cpu_ino): New macro.
16888 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
16889 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
16890 (grub_minix_data): New field block_size.
16891 (grub_minix_read_file): Handle 64-bit correctly.
16892 * grub-core/fs/minix3.c: New file.
16893
32297d5f
TG
168942011-05-15 Tristan Gingold <gingold@free.fr>
168952011-05-15 Robert Millan <rmh.grub@aybabtu.com>
168962011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16897
16898 IA64 support.
16899
16900 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
16901 * configure.ac: Add ia64-efi target.
16902 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
16903 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
16904 * gentpl.py: Add ia64_efi platform.
16905 Rename x86_efi to efi and Add ia64-efi. All users updated.
16906 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
16907 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
16908 Remove kern/generic/rtc_get_time_ms.c on EFI.
16909 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
16910 kern/ia64/dl_helper.c on ia64-efi.
16911 Add kern/emu/cache.c on emu.
16912 (linux): Use on loader/ia64/efi/linux.c on ia64.
16913 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
16914 whether symbol is a function.
16915 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
16916 (grub_symbol): New field 'isfunc'.
16917 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
16918 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
16919 (grub_dl_load_segments): Place all sections into the same region.
16920 [__ia64__]: Create trampolines and got.
16921 [GRUB_MACHINE_EMU]: Call mprotect.
16922 (grub_dl_resolve_symbols): Resolve symbol type as well.
16923 [__ia64__]: Create function descriptors.
16924 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
16925 (grub_rtc_get_time_ms): ... this. Expressions simplified.
16926 (grub_get_rtc): New function.
16927 * grub-core/kern/emu/cache.c [__ia64__]: New file.
16928 * grub-core/kern/emu/cache.S: Renamed to ...
16929 * grub-core/kern/emu/cache_s.S: ... this.
16930 [__ia64__]: Add a nop.
16931 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
16932 [__ia64__]: New function.
16933 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
16934 * grub-core/kern/ia64/dl.c: New file.
16935 * grub-core/kern/ia64/dl_helper.c: Likewise.
16936 * grub-core/kern/ia64/efi/init.c: New file.
16937 * grub-core/kern/ia64/efi/startup.S: Likewise.
16938 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
16939 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
16940 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
16941 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
16942 * grub-core/loader/ia64/efi/linux.c: New file.
16943 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
16944 (GRUB_MOD_DEP): Likewise.
16945 (grub_dl) [__ia64__]: New fields got and tramp.
16946 (grub_dl): New field 'base'.
16947 (grub_dl_register_symbol): New argument isfunc. All users updated.
16948 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
16949 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
16950 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
16951 (grub_ia64_dl_get_tramp_got_size): New proto.
16952 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
16953 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
16954 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
16955 * include/grub/efi/api.h: Skip call wrappers on ia64.
16956 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
16957 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
16958 * include/grub/elf.h (ELF_ST_INFO): New definition.
16959 * include/grub/ia64/efi/kernel.h: New file.
16960 * include/grub/ia64/efi/memory.h: Likewise.
16961 * include/grub/ia64/efi/time.h: Likewise.
16962 * include/grub/ia64/kernel.h: Likewise.
16963 * include/grub/ia64/setjmp.h: Likewise (from glibc).
16964 * include/grub/ia64/time.h: New file.
16965 * include/grub/ia64/types.h: Likewise.
16966 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
16967 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
16968 New protos.
16969 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
16970 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
16971 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
16972 * util/grub-mkimage.c (image_target_desc): New field pe_target.
16973 All users updated.
16974 (EFI64_HEADER_SIZE): New definition. All users updated.
16975 (image_targets): Add ia64-efi.
16976 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
16977 jumpers_addr. All users updated.
16978 Create function descriptors.
16979 (count_funcs): New function.
16980 (unaligned_uint32): New struct.
16981 (MASK20): New definition.
16982 (MASK19): Likewise.
16983 (MASKF21): Likewise.
16984 (add_value_to_slot_20b): New function.
16985 (add_value_to_slot_21_real): Likewise.
16986 (add_value_to_slot_21): Likewise.
16987 (ia64_kernel_trampoline): New struct.
16988 (nopm): New variable.
16989 (jump): Likewise.
16990 (make_trampoline): New function.
16991 (relocate_addresses): Handle ia64.
16992 (make_reloc_section): Likewise.
16993 (load_image): Likewise.
16994
983b414d
VS
169952011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16996
16997 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
16998 warning. Move variables before code while on it.
16999
5d063cdc
VS
170002011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17001
17002 Fuloong support.
17003
17004 * configure.ac: Rename yeeloong platform to loongson. All users updated.
17005 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
17006 * grub-core/boot/mips/loongson/fuloong.S: New file.
17007 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
17008 Explicitly init CS5536.
17009 [FULOONG]: Don't use serial until CS5536 is available.
17010 Set GPIO based on dumps.
17011 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
17012 [FULOONG]: Handle GPIO and memory controller differences.
17013 Parse machine type in $a2.
17014 * grub-core/boot/mips/startup_raw.S: Determine and save the
17015 architecture.
17016 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
17017 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
17018 init on architecture type.
17019 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
17020 SIS315E. Don't init at_keyboard on fuloong.
17021 (grub_halt): Support Fuloong.
17022 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
17023 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
17024 (loongson_machtypes): New array.
17025 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
17026 type.
17027 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
17028 config. All users updated. Handle CS5536 serial.
17029 * grub-core/term/serial.c (grub_serial_register): Conditionalise
17030 default port on machine type. Register serial as inactive.
17031 * grub-core/video/sis315pro.c: New file.
17032 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
17033 definition.
17034 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
17035 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
17036 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
17037 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
17038 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
17039 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
17040 to ...
17041 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
17042 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
17043 definition.
17044 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
17045 (grub_arch_machine): New extern var.
17046 * include/grub/mips/loongson/serial.h
17047 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
17048 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
17049 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
17050 (GRUB_MACHINE_SERIAL_PORT0): ... this.
17051 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
17052 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
17053 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
17054 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
17055 * include/grub/term.h (grub_term_register_input_inactive): New inline
17056 function.
17057 (grub_term_register_output_inactive): Likewise.
17058 * include/grub/video.h (grub_video_driver_id): New value
17059 GRUB_VIDEO_DRIVER_SIS315PRO.
17060 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
17061 New field "names". All users updated.
17062 New field value IMAGE_FULOONG_FLASH.
17063 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
17064
6ada82d1
JU
170652011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
17066
17067 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
17068 and add some clarification.
17069
90c571a4
VS
170702011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17071
17072 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
17073 platforms if kernel is compressed.
17074
de04eecf
VS
170752011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17076
17077 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
17078 unused modules since currently referrence counter isn't reliable and
17079 there isn't much memory to recover there anyway.
17080
57688121
VS
170812011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17082
17083 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
17084 rather than resetting it to allow modules to reference themselves
17085 in init.
17086
3d2c7e35
VS
170872011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17088
17089 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
17090 counter on dependencies since grub_dl_unref already handles this.
17091
b25db218
VS
170922011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17093
17094 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
17095 on error if not already done.
17096
25a45338
VS
170972011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17098
17099 Fix few potential memory misusage.
17100
17101 * grub-core/font/font.c (load_font_index): Don't free char_index to
17102 avoid double free.
b25db218
VS
17103 (grub_font_load): Zero-fill font at alloc for safety.
17104 Close file on error.
17105 (free_font): Free bmp_idx.
25a45338 17106
0cac83df
VS
171072011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17108
17109 * docs/grub.texi (Installation): Fix several outdated claims.
17110
2217a143
VS
171112011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17112
17113 Handle module_license on windows.
17114
17115 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
17116 sections shifted.
17117 (insert_string): Make argument const char * instead of char *.
17118 (write_section_data): Handle long section names.
17119 Handle module_license.
17120
d4de6b01
VS
171212011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17122
17123 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
17124 handle class-free menuentries.
17125 (grub_normal_add_menu_entry): Add a check to be sure.
17126
4c2a3b43
VS
171272011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17128
17129 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
17130 PgUp and PgDown.
17131
85c6210f
VS
171322011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17133
17134 * configure.ac: Bump version to 1.99.
17135
36084912
VS
171362011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17137
17138 Give ATA device a bit more time on first try in order to allow disks
17139 to spin up.
17140
17141 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
17142 if dev->present is 1. Reset dev->present on failure.
17143 (grub_ata_device_initialize): Set dev->present to 1.
17144 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
17145 (grub_ata_device): New member 'present'.
17146
bda0e219
VS
171472011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17148
17149 * util/grub-mkimage.c (generate_image): Update hash.
17150
19e1c41b
VS
171512011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17152
17153 Flush caches on DMA memory.
17154
17155 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
17156 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
17157 (grub_dma_free): Likewise.
17158 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
17159
91bbcc0c
VS
171602011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17161
17162 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
17163 to avoid asm treating ld and sd as macros.
17164
60ddfad3
VS
171652011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17166
17167 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
17168 decompressor.
17169
a298aa04
VS
171702011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17171
17172 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
17173 grub_decompress_core since later would fail if grub_decompress_core
17174 is too far.
17175
9b44feca
VS
171762011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17177
17178 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
17179 R_MIPS_JALR since it's used by newer compiler.
17180
56dbe7b4
VS
171812011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
17182
17183 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
17184
52856af2
VS
171852011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17186
17187 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
17188 file_path to 0 for surety.
17189 (grub_chainloader_boot): Set exit_data to NULL.
17190 Unset the loader once done.
17191 (grub_cmd_chainloader): Fix confusing error message if file is empty.
17192
9c9bfc6d
VS
171932011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17194
17195 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
17196 unknown key into a dprintf.
17197
dd94a3df
VS
171982011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17199
17200 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
17201 on first non-existant partition.
17202
fa68d99c
VS
172032011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17204
17205 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
17206 openning fails.
17207 Reported by: Mark Korenberg.
17208
157effb7
VS
172092011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17210
17211 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
17212 overflow.
17213
ea75312f
VS
172142011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17215
17216 * util/grub-mkimage.c (main): Explicitely flush and sync the output
17217 before closing to ensure that it will be readable by grub-setup.
17218
072b5d31
VS
172192011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17220
17221 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
17222 (devpath_1): Use MAKE_PIWG_PATH.
17223 (devpath_2): Likewise.
17224 (devpath_3): Likewise.
17225 (devpath_4): Likewise.
17226 (devpath_5): Likewise.
17227 (devpath_6): Likewise.
17228
17229 The appleldr.mod was checked that to be binary identical to previous
17230 version.
17231
7fae0051
Z
172322011-05-05 Zach <mikezackles>
17233
17234 Support 2010 Macbooks.
17235
17236 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
17237 (devs): Add devpath_6.
17238
7c515bee
VS
172392011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17240
17241 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
17242 /dev/random. /dev/urandom is good enough for our purposes (salting).
17243
ed660bd8
VS
172442011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17245
17246 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
17247
ee5614b7
VS
172482011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17249
17250 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
17251 hexadecimal.
17252
664889a6
VS
172532011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17254
17255 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
17256 and not 0 on failure.
17257
bd405bbc
CW
172582011-05-03 Colin Watson <cjwatson@ubuntu.com>
17259
17260 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
17261 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
17262 disk; otherwise grub_fs_probe will not fall back to the next
17263 filesystem.
17264 (grub_pxefs_open): Likewise, for consistency.
17265 Reported and tested by: Ezekiel Grave.
17266
4ebff753
CW
172672011-05-03 Colin Watson <cjwatson@ubuntu.com>
17268
17269 * tests/partmap_test.in: Don't hardcode path to parted.
17270 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
17271
8f942553
CW
172722011-05-01 Colin Watson <cjwatson@ubuntu.com>
17273
17274 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
17275 of `ls' to find out which devices are available.
17276
3c62402d
VS
172772011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17278
17279 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
17280 than source address for efi mmap buffer.
17281
723f63f2
VS
172822011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17283
17284 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
17285 wrong action on non-detecting the magic.
17286
68797f92
VS
172872011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17288
17289 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
17290 already supplied by another part of the module (fixes compilation on
17291 FreeBSD).
17292
6be8715d
VS
172932011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17294
17295 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
17296 match the one used by mdadm.
17297
e91dba5b
CW
172982011-04-21 Colin Watson <cjwatson@ubuntu.com>
17299
17300 * po/README: Add instructions for creating po/LINGUAS.
17301
c85140b3
CW
173022011-04-21 Colin Watson <cjwatson@ubuntu.com>
17303
17304 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
17305 #551428.
17306
17307 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
17308 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
17309 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
17310 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
17311 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
17312 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
17313 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
17314 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
17315 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
17316 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
17317 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
17318 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
17319 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
17320 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
17321 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
17322 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
17323 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
17324 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
17325 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
17326 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
17327 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
17328 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
17329
92051871
CW
173302011-04-21 Colin Watson <cjwatson@ubuntu.com>
17331
17332 * grub-core/kern/emu/getroot.c
17333 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
17334 test that was incorrectly reintroduced in r3214.
17335 Reported by: Ian Dall. Fixes Savannah bug #33133.
17336
b13f79a4
CW
173372011-04-21 Colin Watson <cjwatson@ubuntu.com>
17338
17339 Fix stack pointer handling in 16-bit relocator.
17340
17341 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
17342 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
17343 Fixes Ubuntu bug #683904.
17344
9b710a88
VS
173452011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
17346
17347 * configure.ac: Bump version to 1.99~rc2.
17348
d97e7b59
VS
173492011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
17350
17351 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
17352 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
17353 * grub-core/lib/x86_64/setjmp.S: Likewise.
17354 * grub-core/lib/mips/setjmp.S: Likewise.
17355 * grub-core/lib/powerpc/setjmp.S: Likewise.
17356 * grub-core/lib/sparc64/setjmp.S: Likewise.
17357
0624551c
VS
173582011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
17359
17360 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
17361 * grub-core/lib/efi/datetime.c: Likewise.
17362
e8f28d4c
VS
173632011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17364
17365 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
17366 New function.
17367 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
17368 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
17369 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
17370
bba79a15
VS
173712011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17372
17373 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
17374 bitmap.
17375 (grub_gfxterm_term_init): Likewise.
17376
abc474ef
VS
173772011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17378
17379 Take into account the decorations the computing menu entry width.
17380
17381 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
17382 (grub_gfxmenu_create_box): Register get_border_width.
17383 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
17384 if available.
17385 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
17386 get_border_width.
17387
e74b3947
EP
173882011-04-18 Endres Puschner <code@e7p.de>
17389
17390 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
17391 Don't skip first class.
17392
34faa595
VS
173932011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17394
17395 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
17396 chunks.
17397 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
17398
93a777e3
VS
173992011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17400
17401 Complete 64-bit division support.
17402
17403 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
17404 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
17405 * include/grub/misc.h (grub_divmod64): Rename to ...
17406 (grub_divmod64_full): ... this.
17407 (grub_divmod64): New inline function.
17408
a5102d94
VS
174092011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17410
17411 * util/grub-mkimage.c (generate_image): Add forgotten comma.
17412
f3fb7b36
VS
174132011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17414
17415 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
17416 performing the necessary test.
17417
9ac718b0
VS
174182011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
17419
17420 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
17421 (kfreebsd.elf): Likewise.
17422 (pc-chainloader.elf): Likewise.
17423 (ntldr.elf): Likewise.
17424
50d2cc5a
VS
174252011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
17426
17427 Identify RAID by its UUID rather than (guessed) name.
17428
17429 * grub-core/disk/raid.c (ascii2hex): New function.
17430 (grub_raid_open): Accept mduuid/%s specification.
17431 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
17432 (get_mdadm_uuid): ... this.
17433 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
17434
e03f7bea
VS
174352011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
17436
17437 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
17438 to negative size.
17439
e74c3112
CW
174402011-04-13 Colin Watson <cjwatson@ubuntu.com>
17441
17442 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
17443 btrfs subvolume.
17444 * util/grub.d/20_linux_xen.in: Likewise.
17445
78fa584f
CW
174462011-04-13 Colin Watson <cjwatson@ubuntu.com>
17447
17448 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
17449 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
17450
17451 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
17452 Build a list of relevant visible mounts using the mnt_id and
17453 parent_mnt_id fields, and then scan that list at the end.
17454
9d5f8162
CW
174552011-04-12 Colin Watson <cjwatson@ubuntu.com>
17456
17457 * docs/grub.texi (normal): New section.
17458 (normal_exit): New section.
17459 (Embedded configuration): Add reference to normal.
17460 (GRUB only offers a rescue shell): Likewise.
17461 * docs/grub-dev.texi (Error Handling): Fix typo.
17462
09a9d66f
CW
174632011-04-12 Colin Watson <cjwatson@ubuntu.com>
17464
17465 * NEWS: Drop obsolete entry about probe-only btrfs support.
17466
0c676933
CW
174672011-04-12 Colin Watson <cjwatson@ubuntu.com>
17468
17469 * util/import_gcry.py: Fix typo.
17470
ec9f5e0d
VS
174712011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17472
17473 * NEWS: Add btrfs support.
17474
fe6b2cba
VS
174752011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
174762011-04-11 Colin Watson <cjwatson@ubuntu.com>
17477
17478 BtrFS support. Written by me (Vladimir) with important bugfixes and
17479 even more important testing by Colin.
17480
17481 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
17482 * grub-core/Makefile.core.def (btrfs): Add crc.c.
17483 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
17484 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
17485 mem_input_off and mem_input. All users updated to accept in-RAM input.
17486 (gzio_seek): New function.
17487 (test_zlib_header): Likewise.
17488 (grub_gzio_read): Likewise.
17489 (grub_zlib_decompress): Likewise.
17490 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
17491 Accept partial and non-virtual mounts.
17492 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
17493 avoid receiving /dev/dm-X as device.
17494 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
17495 Handle bind and partial mounts.
17496 * grub-core/lib/crc.c: New file.
17497 * include/grub/deflate.h: Likewise.
17498 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
17499 proto.
17500 * include/grub/lib/crc.h: New file.
17501
e745cf0c
VS
175022011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17503
17504 Implement automatic module license checking according to new GNU
17505 guidelines.
17506
17507 * grub-core/kern/dl.c (grub_dl_check_license): New function.
17508 (grub_dl_load_core): Use grub_dl_check_license.
17509 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
17510 (GRUB_MOD_LICENSE): Likewise.
17511 (GRUB_MOD_DUAL_LICENSE): Likewise.
17512 All modules updated.
17513
2a9bc016
CW
175142011-04-11 Colin Watson <cjwatson@ubuntu.com>
17515
17516 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
17517 reserved_first_sector to 1. btrfs reserves plenty of space for boot
17518 loaders.
17519 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
17520
8a3bc88e
VS
175212011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17522
17523 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
17524
af869a4a
VS
175252011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17526
17527 * util/grub-fstest.c (read_file): Report GRUB error if file opening
17528 failed.
17529
9ee8d94f
VS
175302011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17531
17532 * grub-core/kern/file.c (grub_file_open): Don't take into account the
17533 parenthesis in the middle of the filename.
17534
b01abe3e
VS
175352011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17536
17537 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
17538 rather than trying to put initrd way too high.
17539 Reported by: Ryan Lortie <desrt@desrt.ca>
17540
335bda1e
VS
175412011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17542
17543 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
17544 improperly removed string.
17545
5ca1a64d
VS
175462011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17547
17548 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
17549 is_disk.
17550 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
17551 (open_device) Likewise.
17552 (grub_util_biosdisk_close): Likewise.
d8ce9995 17553 Reported by: Mark Korenberg.
5ca1a64d 17554
cbac5b1e
AK
175552011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
17556
17557 * util/grub-mkconfig_lib.in: Add missing quotes.
17558
088cdb65
CW
175592011-04-10 Colin Watson <cjwatson@ubuntu.com>
17560
17561 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
17562 is NULL.
17563
8b8a81fa
VS
175642011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17565
17566 Dynamically count the number of lines for the lower banner.
17567
17568 * grub-core/normal/menu_entry.c (per_term_screen): New member
17569 num_entries.
17570 (print_down): Use num_entries.
17571 (update_screen): Likewise.
17572 (grub_menu_entry_run): Set num_entries.
17573 * grub-core/normal/menu_text.c (menu_viewer_data): New member
17574 num_entries.
17575 (grub_print_message_indented): Move real part to ...
17576 (grub_print_message_indented_real): ... here. Additional argument
17577 dry_run.
17578 (draw_border): Additional argument num_entries.
17579 (print_message): Additional argument dry_run.
17580 (print_entries): Receive menu viewer data.
17581 (grub_menu_init_page): New argment num_entries.
17582 (menu_text_set_chosen_entry): Use num_entries.
17583 (grub_menu_try_text): Likewise.
17584 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
17585 All users updated.
17586 (grub_ucs4_count_lines): New function.
17587 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
17588 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
17589 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
17590 (grub_term_border_height): Likewise.
17591 (grub_term_num_entries): Likewise.
17592
277f955b
VS
175932011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17594
17595 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
17596 Remove now unused string.
17597
536ce85a
CW
175982011-04-09 Colin Watson <cjwatson@ubuntu.com>
17599
17600 * docs/grub-dev.texi (Finding your way around): Update for 1.99
17601 build system.
17602 (Getting started): GRUB is developed in Bazaar now, not Subversion.
17603
17604 (Comment): Fix typo.
17605 (Getting started): General copy-editing.
17606 (Typical Development Experience): Likewise.
17607 (Error Handling): Likewise.
17608 (Video API): Likewise.
17609
2cf09e32
CW
176102011-04-09 Colin Watson <cjwatson@ubuntu.com>
17611
17612 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
17613 throughout.
17614
1ec652f4
VS
176152011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17616
17617 * util/grub-mkimage.c (main): Handle special naming of yeeloong
17618 directory.
17619
2c583728
CW
176202011-04-08 Colin Watson <cjwatson@ubuntu.com>
17621
17622 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
17623 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
17624 "development".
17625
d7a565e9
VS
176262011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17627
17628 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
17629 grub_strcpy since the lines aren't necessarily 0-terminated.
17630
7c2e4909
VS
176312011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17632
17633 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
17634 root on legacy.
17635
34c09785
VS
176362011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17637
17638 * grub-core/commands/probe.c (options): Argument to set isn't optional.
17639 (GRUB_MOD_INIT): DEVICE isn't optional.
17640
6a6f8058
VS
176412011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17642
17643 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
17644 word on new line if it's too long anyway. Fixes a hang.
17645
2e335e90
VS
176462011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17647
17648 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
17649 const.
17650 * util/grub-setup.c (main): Reuse md device name if available.
17651 * util/raid.c (grub_util_raid_getmembers): Receive device name and
17652 not GRUB name as argument.
17653 Based on patch by: Florian Wagner <fwagner>.
17654
10a7a867
VS
176552011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17656
17657 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17658 Place mbi on low memory for better compatibility.
17659
7a3d6cd9
VS
176602011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17661
17662 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
17663
18dd6b47
VS
176642011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
176652011-04-08 Colin Watson <cjwatson@ubuntu.com>
17666
17667 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 17668 * conf/Makefile.common: Likewise.
18dd6b47 17669
3c0e3f14
VS
176702011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17671
f7148863
VS
17672 * grub-core/normal/menu.c: Add missing include.
17673
176742011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17675
17676 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 17677
6d1fa41f
MZ
176782011-04-08 Martin Zuther <mzuther@mzuther.de>
17679
17680 * util/grub-mkconfig.in: Ignore emacsen backup.
17681
478182a8
VS
176822011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17683
17684 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
17685 on open.
17686 (grub_util_biosdisk_close): Likewise.
17687
72a89a54
VS
176882011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17689
17690 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
17691 const attribute and use grub_isdigit.
17692
b5ebecfa
A
176932011-04-06 Andrey <dev_null@ukr.net>
17694
17695 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
17696 gcc warning.
17697
7755f66e
VS
176982011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17699
17700 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
17701 useful grub_dprintf's.
17702
461121ff
VS
177032011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17704
17705 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
17706
2a961775
VS
177072011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17708
17709 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
17710
adf594cc
VS
177112011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17712
17713 Output errors if theme loading failed.
17714
17715 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
17716 grub_gfxterm_fullscreen on error paths to ...
17717 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
17718 theme loading error.
17719
665900a3
VS
177202011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17721
17722 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
17723 space for older compilers.
17724 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17725
a562b479
VS
177262011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17727
17728 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
17729 and report them as not RAID members since they are useless for GRUB.
17730 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17731
850e9373
VS
177322011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17733
17734 Increase LVM implementation robustness in order not to crash on
17735 configurations like pvmove. Previously code assumed that in some places
17736 only lvs or only pvs are used whereas it seems that they are used
17737 interchangeably.
17738
17739 * grub-core/disk/lvm.c (read_node): New function.
17740 (read_lv): Use read_node.
17741 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
17742 Match volumes only at the end when all lvs are found. Take both
17743 pvs (first) and lvs (second) into account.
17744 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
17745 mirror_* into node_*. All users updated.
17746 (grub_lvm_stripe): Merge this ...
17747 (grub_lvm_mirror): ... and this ...
17748 (grub_lvm_node): ... into this. All users updated.
17749
6f332153
VS
177502011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17751
17752 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
17753 of function to allow further scanning for LVMs.
17754
829ea451
VS
177552011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17756
17757 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
17758 on failed seek as it breaks open fd reusage.
17759
09ceb9a5
VS
177602011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17761
17762 * util/grub-install.in: Add a recommendation to use --recheck before
17763 reporting bugs.
17764
67e11623
VS
177652011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17766
17767 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
17768 are obtained.
17769
caee5efd
VS
177702011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17771
17772 GRUB developper manual based on existing Internals section and
17773 contributions by the various authors with active copyright assignment.
17774
17775 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
17776 * docs/font_char_metrics.png: New file.
17777 * docs/font_char_metrics.txt: Likewise.
17778 * docs/grub-dev.texi: Likewise.
17779 * docs/grub.texi (Internals): Move from here ...
17780 * docs/grub-dev.texi: ... here.
17781
2cccc747
CW
177822011-04-01 Colin Watson <cjwatson@ubuntu.com>
17783
17784 Store the loopback device as data on loopback grub_disk structures,
17785 rather than the file it points to. This fixes use of freed memory
17786 if an existing loopback device is replaced.
17787
17788 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
17789 disk->data, not dev->file.
17790 (grub_loopback_read): Adjust file assignment to match.
17791 Fixes Ubuntu bug #742967.
17792
186ae367
CW
177932011-04-01 Colin Watson <cjwatson@ubuntu.com>
17794
17795 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
17796 when replacing an existing device.
17797
cfed2ad0
VS
177982011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
17799
17800 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
17801 memory corruptions.
17802
17803 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
17804 unsigned.
17805 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
17806 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
17807 (grub_jfs_read_inode): Likewise.
17808 (grub_jfs_opendir): Likewise. Remove now useless casts.
17809 (grub_jfs_getent): Likewise.
17810 Make ino a grub_uint32_t rather than int.
17811 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
17812 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
17813 division and module with bit operations.
17814 (grub_jfs_find_file): Make ino a grub_uint32_t.
17815 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
17816
05d2ed32
CW
178172011-04-01 Colin Watson <cjwatson@ubuntu.com>
17818
17819 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
17820 warning. (This was in fact always initialised before use, but GCC
17821 wasn't smart enough to prove that.)
17822 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
17823
91dc6073
VS
178242011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
17825
17826 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
17827 stack alignment.
17828 (efi_wrap_1): Likewise.
17829 (efi_wrap_2): Likewise.
17830 (efi_wrap_3): Likewise.
17831 (efi_wrap_4): Likewise.
17832 (efi_wrap_5): Likewise.
17833 (efi_wrap_6): Likewise.
17834 (efi_wrap_10): Likewise.
17835 Based on information by: Red Hat/Peter Jones.
17836
a8afc1d1
CW
178372011-03-31 Colin Watson <cjwatson@ubuntu.com>
17838
17839 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
17840 set-but-not-used variable.
17841
a826cc7d
CW
178422011-03-31 Colin Watson <cjwatson@ubuntu.com>
17843
17844 * docs/grub.texi (Simple configuration): Be more explicit about
17845 GRUB_DEFAULT, and add an example.
17846 Reported by: Leslie Rhorer.
17847
875b67ba
CW
178482011-03-30 Colin Watson <cjwatson@ubuntu.com>
17849
17850 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
17851 shell".
17852
fd7cd914
AS
178532011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
17854
17855 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
17856 * util/grub.d/20_linux_xen.in: Likewise.
17857
090b1b6a
VS
178582011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17859
17860 * util/grub.d/10_linux.in: Try alternative config filenames where
17861 we parse config file.
17862 * util/grub.d/20_linux_xen.in: Likewise.
17863
baad885c
AS
178642011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
17865
17866 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
17867 * util/grub.d/20_linux_xen.in: Likewise.
17868
241e41f5
VS
178692011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17870
17871 * grub-core/disk/raid.c (insert_array): Add few potentially
17872 useful grub_util_info.
17873 (grub_raid_register): Likewise.
17874
56445fb2
VS
178752011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17876
17877 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
17878 Preserve partition number in mdadm code path.
17879
c871b1c6
VS
178802011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17881
17882 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
17883 few potentially useful grub_util_info.
17884
5e631b4f
CW
178852011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17886
17887 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
17888
2d5d0333
CW
178892011-03-30 Colin Watson <cjwatson@ubuntu.com>
17890
17891 * docs/grub.texi (default): Use @example rather than nested
17892 itemized lists to avoid breaking gendocs.
17893
3d7ed04e
CW
178942011-03-30 Colin Watson <cjwatson@ubuntu.com>
17895
17896 * docs/grub.texi (Future): Update.
17897
abf04200 178982011-03-30 Colin Watson <cjwatson@ubuntu.com>
17899
17900 * docs/grub.texi (Environment): New chapter.
17901 (Changes from GRUB Legacy): Link to "Environment block" section for
17902 details of limitations.
17903 (Simple configuration): Likewise. Link to documentation of gfxmode
17904 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
17905 respectively.
17906 (Shell-like scripting): Note that normal variables are stored in the
17907 environment.
17908 (gettext): Link to documentation of lang and locale_dir.
17909 (list_env): New section.
17910 (load_env): New section.
17911 (save_env): New section.
17912
17913 (Reporting bugs): Fix typo.
17914
e1ad0edd
VS
179152011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17916
17917 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
17918 the example.
17919
5d803174
VS
179202011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17921
17922 * grub-core/term/at_keyboard.c (set_scancodes)
17923 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
17924
2a2da1d0
CW
179252011-03-30 Colin Watson <cjwatson@ubuntu.com>
17926
17927 * docs/grub.texi (Menu-specific commands): Remove some semantics
17928 that were true in GRUB Legacy but not in GRUB 2.
17929 (submenu): New section.
17930 (false): New section.
17931 (read): New section.
17932 (true): New section.
17933
a7527639
CW
179342011-03-30 Colin Watson <cjwatson@ubuntu.com>
17935
17936 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
17937
179382011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
17939
17940 * docs/grub.texi (Simple configuration): Explain some of the
17941 current limitations of grub-mkconfig.
8a748df2 17942 Reported by: Leslie Rhorer.
e30af029 17943
fc858482
VS
179442011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17945
17946 Old macs search for boot.efi rather than for bootia32.efi.
17947
17948 * util/grub-install.in: Copy bootia32.efi to boot.efi.
17949 * util/grub-mkrescue.in: Likewise.
17950 Suggested by: Peter Jones.
17951
e1eb511d
VS
179522011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17953
17954 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
17955
70e75364
VS
179562011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17957
17958 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
17959 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
17960 (grub_lvm_mirror): New struct.
17961 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
17962 (grub_lvm_iterate): Iterate only visible volumes.
17963 (grub_lvm_read): Factor out to ..
17964 (read_lv): ... this. Support mirrors.
17965 (grub_lvm_read): New wrapper function.
17966 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
17967 stripped or mirrored.
17968
fc18f6a3
VS
179692011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17970
17971 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
17972
5c650f4c
CW
179732011-03-29 Colin Watson <cjwatson@ubuntu.com>
17974
17975 * docs/grub.texi (loopback): New section.
17976
61d7156b
CW
179772011-03-29 Colin Watson <cjwatson@ubuntu.com>
17978
17979 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
17980 removed -p option.
17981
994b8264
CW
179822011-03-29 Colin Watson <cjwatson@ubuntu.com>
17983
17984 * docs/grub.texi (BIOS installation): New section, partly based on
17985 previous text in other sections.
17986 (Installing GRUB using grub-install): Replace BIOS discussion with a
17987 cross-reference.
17988 (Images): Likewise.
17989
9e4d19e0
VS
179902011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17991
17992 * grub-core/kern/emu/hostdisk.c (find_partition_start)
17993 [HAVE_DIOCGDINFO]: Add safety checks.
17994
a307c0b2
VS
179952011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17996
17997 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
17998 per default compiled in kernel and prior to 8.0 isn't shipped at all.
17999
b4db4f39
CW
180002011-03-29 Colin Watson <cjwatson@ubuntu.com>
18001
18002 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
18003 real_sb->size is zero (e.g. RAID-0), get the disk size from
18004 real_sb->data_size instead.
18005 Fixes Ubuntu bug #743136.
18006
35e5f84c
VS
180072011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18008
18009 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
18010 printf clauses for printing size and start.
18011
d2e29d81
VS
180122011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18013
18014 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
18015 Reported and tested by: Timothy Nikkel.
18016
ed5587af
VS
180172011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18018
18019 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
18020 (dirty_region_add_real): ... this.
18021 (dirty_region_add): Don't discard margin refresh when performing
18022 scheduled repaint.
18023
a1dc717c
VS
180242011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18025
18026 * grub-core/lib/relocator.c (allocate_regstart)
18027 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
18028 terminals are capabple of malloc-free operation.
18029 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18030 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18031
9f3677d3
VS
180322011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
18033
18034 * util/grub-setup.c: Copy the partition table zone if floppy support
18035 is disabled, even if no partition table is found.
18036
18037 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
18038 during POST if an invalid partition table is contained in the PBR
18039 of the active partition when GRUB is installed to a partition.
18040
24148725
CW
180412011-03-28 Colin Watson <cjwatson@debian.org>
18042
18043 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
18044 comment.
18045
f329eda7
CW
180462011-03-28 Colin Watson <cjwatson@debian.org>
18047
18048 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
18049 to be specific about what kind of RAID device we're scanning for.
18050
c482ad98
SG
180512011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
18052
18053 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
18054 return freed string.
18055
5ee04984
VS
180562011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18057
18058 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
18059
f4727da9
VS
180602011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18061
18062 Use libgeom on FreeBSD to detect partitions.
18063
18064 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
18065 (grub-mkrelpath): Likewise.
18066 (grub-script-check): Likewise.
18067 (grub-editenv): Likewise.
18068 (grub-mkpasswd-pbkdf2): Likewise.
18069 (grub-fstest): Likewise.
18070 (grub-mkfont): Likewise.
18071 (grub-mkdevicemap): Likewise.
18072 (grub-probe): Likewise.
18073 (grub-setup): Likewise.
18074 (grub-ofpathname): Likewise.
18075 (grub-mklayout): Likewise.
18076 (example_unit_test): Likewise.
18077 (grub-menulst2cfg): Likewise.
18078 * grub-core/Makefile.core.def (grub-emu): Likewise.
18079 (grub-emu-lite): Likewise.
18080 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
18081 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
18082 define HAVE_DIOCGDINFO.
18083 (follow_geom_up) [FreeBSD]: New function.
18084 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
18085 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
18086 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
18087 unconditionally of HAVE_DIOCGDINFO.
18088
82fe6c75
VS
180892011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18090
18091 Fix FreeBSD compilation problem.
18092
18093 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
18094 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
18095
4c6c9431
CW
180962011-03-24 Colin Watson <cjwatson@ubuntu.com>
18097
18098 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
18099 Switch back to page zero before loading a kernel, since some kernel
18100 drivers expect that.
18101 Thanks to: Felix Kuehling.
18102
c7064d94
VS
181032011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18104
18105 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
18106 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
18107 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
18108
3f71cded
VS
181092011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18110
18111 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
18112 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
18113
ef6de21a
VS
181142011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18115
18116 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
18117 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
18118 malloc is disabled.
18119
8bc66a2c
VS
181202011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18121
18122 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
18123 for modules headers when counting the needed allocation size.
18124
5657722c
VS
181252011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18126
18127 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
18128 if no ASCII character is found to prevent crash.
18129
41a85f55
AK
181302011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
18131
18132 * grub-core/video/bitmap.c (match_extension): Ignore case.
18133
59e1e5f1
VS
181342011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18135
18136 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
18137
bd4d051a
VS
181382011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18139
18140 * grub-core/script/parser.y: Declare "time" as valid argument.
18141
bae7fcc1
PJ
181422011-03-23 Peter Jones <pjones@redhat.com>
18143
18144 Fix incorrect assert failure reporting.
18145
18146 * grub-core/tests/example_functional_test.c (example_test): Add
18147 a failure comment.
18148 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
18149 (failure_start): ...this. Check that malloc succeeded.
18150 Don't call xvasprintf. Return failure struct.
18151 (failure_append_vtext): New function.
18152 (failure_append_text): Likewise.
18153 (add_failure): Likewise.
18154 (grub_test_assert_helper): Likewise.
18155 * include/grub/test.h (grub_test_assert_helper): New declaration.
18156 (grub_test_assert): Macro rewritten.
18157
537dc9be
VS
181582011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18159
18160 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
18161
fa3e01bf
VS
181622011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18163
18164 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
18165
b1d28404
VS
181662011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18167
18168 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
18169 into GRUB-style one.
18170
2e3e2e09
VS
181712011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18172
18173 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
18174 error and not grub_errno.
18175 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
18176
ed57e557
VS
181772011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18178
18179 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
18180 GRUB_USB_SPEED_NONE in case of failure and not the error code.
18181
d1611f01
VS
181822011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18183
18184 * grub-core/efiemu/i386/pc/cfgtables.c
18185 (grub_machine_efiemu_init_tables): Make declaration a prototype.
18186 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
18187 (grub_xnu_unlock): Likewise.
18188 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
18189
7d4e39d6
VS
181902011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18191
18192 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
18193 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
18194 * grub-core/commands/hashsum.c (aliases): Likewise.
18195 * grub-core/commands/setpci.c (pci_registers): Likewise.
18196 * grub-core/disk/usbms.c (attach_hook): Likewise.
18197 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
18198 (zio_checksum_table): Likewise.
18199 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
18200 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
18201 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
18202 * grub-core/lib/relocator.c (leftovers): Likewise.
18203 (extra_blocks): Likewise.
18204 * grub-core/loader/i386/bsd.c (relocator): Likewise.
18205 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
18206 (modules_last): Likewise.
18207 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
18208 (devices): Likewise.
18209 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
18210 (modules_last): Likewise.
18211 * grub-core/normal/auth.c (users): Likewise.
18212 * grub-core/normal/context.c (initial_menu): Likewise.
18213 (current_menu): Likewise.
18214 * grub-core/normal/crypto.c (crypto_specs): Likewise.
18215 * grub-core/term/serial.c (grub_serial_ports): Likewise.
18216 (grub_serial_terminfo_input_template): Likewise.
18217 (grub_serial_terminfo_output_template): Likewise.
18218 (grub_serial_terminfo_input): Likewise.
18219 (grub_serial_terminfo_output): Likewise.
18220 (registered): Likewise.
18221 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
18222
40fc4659
VS
182232011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18224
18225 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
18226 grub_video_mode_type_t.
18227 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
18228 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
18229 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
18230
2da48d28
VS
182312011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18232
18233 * util/grub-install.in: Correct the x86-64 name as x86_64.
18234
9b43bf39
CW
182352011-03-11 Colin Watson <cjwatson@ubuntu.com>
18236
18237 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
18238 initial chunk read from the kernel always includes GRUB's multiboot
18239 header, which is now outside the first sector.
18240
be1a7ce0
CW
182412011-03-09 Colin Watson <cjwatson@ubuntu.com>
18242
18243 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
18244 cached mmap_size, so that this works correctly when called multiple
18245 times.
18246 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
18247
83a3c48d
CW
182482011-03-09 Colin Watson <cjwatson@ubuntu.com>
18249
18250 * docs/grub.texi (Simple configuration): Tidy up formatting.
18251
57d75699
SJ
182522011-03-07 Szymon Janc <szymon@janc.net.pl>
18253
18254 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
18255 Set-but-not-used variable removed.
18256
028501a0
VS
182572011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
18258
18259 Workaround yet another IEEE1275 bug.
18260
18261 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
18262 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
18263 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
18264 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
18265 is set.
18266 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18267 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
18268
d998657d
VS
182692011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
18270
18271 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
18272 error.
18273
fee7cdd4
CW
182742011-02-11 Colin Watson <cjwatson@ubuntu.com>
18275
18276 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
18277 empty, since in that case we can only generate either nothing or a
18278 syntactically invalid configuration file.
18279 Reported by: Michal Suchanek. Fixes Debian bug #612898.
18280
97286eb5
CW
182812011-02-09 Colin Watson <cjwatson@ubuntu.com>
18282
18283 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
18284 (Making a GRUB bootable CD-ROM): Likewise.
18285 (Invoking grub-mkrescue): New section.
18286 Reported by: Yann Dirson. Fixes Debian bug #612585.
18287
22b28eb3
CW
182882011-02-09 Colin Watson <cjwatson@ubuntu.com>
18289
18290 * util/grub-install.in: Remove unnecessary brackets from tr
18291 arguments.
18292 * util/grub.d/10_hurd.in: Likewise.
18293 * util/grub.d/10_kfreebsd.in: Likewise.
18294 * util/grub.d/10_linux.in: Likewise.
18295 * util/grub.d/20_linux_xen.in: Likewise.
18296 Reported by: Jamie Heilman. Fixes Debian bug #612564.
18297
7e735e43
CW
182982011-02-08 Colin Watson <cjwatson@ubuntu.com>
18299
18300 * include/grub/file.h (not_easly_seekable): Rename to ...
18301 (not_easily_seekable): ... this. Update all users.
18302
800f1881
CW
183032011-01-28 Colin Watson <cjwatson@ubuntu.com>
18304
18305 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
18306 grub-mkrescue.
18307
3281d3d6
VS
183082011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
18309
18310 * util/grub-mkimage.c (generate_image): Refuse to create the images
18311 bigger than the actual flash (512K) in Loongson machines. 512K is also
18312 the biggest chip supported by them.
18313
3533413c
VS
183142011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18315
18316 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
18317
73ae4f4f
VS
183182011-01-22 Anthony DeRobertis <anthony@derobert.net>
18319
18320 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
18321 super_offset field.
18322
37f4f608
VS
183232011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18324
18325 * util/grub-install.in: Ignore install device on platforms
18326 where it doesn't make sense. Always use UUIDs except on pc, efi and
18327 sparc64.
18328 Reported by: Daniel Kahn Gillmor.
18329
03a4ccb5
VS
183302011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18331
18332 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
18333
ffc8f4d8
VS
183342011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18335
18336 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
18337 (iterate_real): Don't rely on partition being non-NULL.
18338
80f23be7
VS
183392011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18340
18341 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
18342 supported platforms. Put a compile time assert for this rather than
18343 generate a warning with 32-bit shift.
18344
5d4f4dd5
VS
183452011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18346
18347 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
18348 logical expression more readable.
18349
e489601a
VS
183502011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18351
18352 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
18353 even if some elements have a name.
18354 Reported by: Alexander GQ Gerasiov.
18355
96e0a6ea
CW
183562011-01-22 Colin Watson <cjwatson@ubuntu.com>
18357
18358 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
18359 path unreadable if `grub-probe -t abstraction' fails, for example if
18360 memberlist fails on an LVM volume group.
18361 Reported by: Darius Jahandarie.
18362
81431e2b
CW
183632011-01-22 Colin Watson <cjwatson@ubuntu.com>
18364
18365 * docs/grub.texi (Simple configuration): Document
18366 GRUB_PRELOAD_MODULES.
18367
5e79d66a
CW
183682011-01-17 Colin Watson <cjwatson@ubuntu.com>
18369
18370 * .bzrignore: Remove nonexistent grub-pbkdf2.
18371
646ada34
VS
183722011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
18373
18374 * configure.ac: Bump version to 1.99~rc1.
18375
04360337
VS
183762011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
18377
18378 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
18379 for safety.
18380
46c9db88
VS
183812011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
18382
18383 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
18384 module.
18385
183862011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
18387
18388 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
18389
4fbf1852
VS
183902011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
18391
18392 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
18393 diskdevid.
18394
f1632d4d
VS
183952011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
18396
18397 Fix compilation on cygwin.
18398
18399 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
18400 -R .drectve on cygwin.
18401 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
18402 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
18403 (COND_CYGWIN): New condition.
18404 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
18405 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
18406 not @TARGET_OBJ2ELF@.
18407 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
18408 type to determine whether aux is to be used.
18409
0b5e127b
VS
184102011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18411
18412 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
18413 realpath'ed device string.
18414 Handle floppy (somewhat).
18415 Issue error in unknown case rather than garbage.
18416 Reported by: Axel Beckert.
18417
173b71e9
VS
184182011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18419
18420 * util/grub.d/00_header.in (load_video): Handle the case when no video
18421 drivers available.
18422 Thanks to: Axel Beckert.
18423
f8f479db
VS
184242011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18425
18426 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
18427 variable. Fixes problem on big endian platforms.
18428
8fc0a245
VS
184292011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18430
18431 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
18432 It doesn't work well there.
18433
b8494fbe
VS
184342011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18435
18436 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
18437 warning.
18438 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
18439 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
18440 counter.
18441
b44a558c
VS
184422011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18443
18444 Use alias->path rather than buggy "canon".
18445
18446 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
18447 (ofdisk_hash_add): New argument curcan. All users updated.
18448
51fa856c
CW
184492011-01-11 Colin Watson <cjwatson@ubuntu.com>
18450
18451 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
18452
9da068a5
VS
184532011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
18454
18455 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
18456 loadmask before doing any calculations. Use correct type for offset.
18457 (grub_linux_load64): Likewise.
18458
86205c94
CW
184592011-01-11 Colin Watson <cjwatson@ubuntu.com>
18460
18461 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
18462 with NULL.
18463 (console_grub_equivalences_unshift): Likewise.
18464 Reported by: Daniel Dehennin.
18465
4531a206
VS
184662011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
18467
18468 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
18469 (set_env_limn_ro): Likewise.
18470 (GRUB_MOD_INIT): Likewise.
18471 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
18472 ARRAY_SIZE while on it.
18473 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
18474 * grub-core/normal/context.c (grub_env_export): Move from here ...
18475 * grub-core/kern/env.c (grub_env_export): ... here.
18476 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
18477 prefix.
18478 * grub-core/kern/main.c (grub_main): Export root and prefix.
18479 * include/grub/env.h (grub_env_export): Export.
18480 Reported by: Seth Goldberg.
18481
45146057
VS
184822011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
18483
18484 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18485 Take into account space used by ELF sections and multiboot palette.
18486 Reported by: Grégoire Sutre.
18487
f093110b
VS
184882011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
18489
18490 * BUGS: New file.
18491
3395fe52
VS
184922011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18493
18494 Pass more appropriate video id to Linux.
18495
18496 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
18497 grub_video_get_driver_id and variable gfxpayloadforcelfb to
18498 fill have_vga.
18499 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
18500 shift params->lfb_size.
18501 * include/grub/i386/linux.h: Make an enume out of have_vga values.
18502
c2fa6cbb
VS
185032011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18504
18505 * util/grub-menulst2cfg.c: Add missing include of misc.h.
18506
b3ff6ff0
VS
185072011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18508
18509 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
18510 separator and pass bootpath/devid even if only one of them is available.
18511 Reported by: Seth Goldberg.
18512
ae67942e
VS
185132011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18514
18515 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
18516 implementations bug on them.
18517
18518 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
18519 memory.
18520 (filter_memory_map): Likewise.
18521
d570097a
VS
185222011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18523
18524 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
18525 Reported by: nebuchadnezzar.
18526
a508e776
VS
185272011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18528
18529 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
18530 Reported by: nebuchadnezzar.
18531
dcb883b1
VS
185322011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18533
18534 Submenu default support.
18535
18536 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
18537 auto_boot. All users updated.
18538 Declared static.
18539 Handle chosen and default with submenus.
18540 (grub_menu_execute_with_fallback): Declared static.
18541 Don't notify failure if autobooted. Upper level does it.
18542 (menuentry_eq): New function.
18543 (get_entry_number): Use menuentry_eq.
18544 (show_menu): New parameter "autobooted". All users updated.
18545 (grub_show_menu): Likewise.
18546 * include/grub/normal.h (grub_show_menu): Likewise.
18547 * include/grub/menu.h (grub_menu_execute_entry): Removed.
18548 (grub_menu_execute_with_fallback): Likewise.
18549
6fef99b4
VS
185502011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18551
18552 * util/grub-mklayout.c (usage): Update help text.
18553
47a77af5
VS
185542011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18555
18556 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
18557
ce6bb3ee
VS
185582011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18559
18560 * util/grub-menulst2cfg.c (main): Trim the line.
18561
db87be2a
VS
185622011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18563
18564 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
18565 (grub_machine_init): Don't check amount of low memory as reportedly
18566 INT 12h can be broken and if low memory is too low we wouldn't have
18567 gotten into grub_machine_init anyway.
18568
c49849cc
VS
185692011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18570
18571 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
18572 (grub_machine_mmap_iterate): Take low memory into account
18573
b1969b30
VS
185742011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18575
18576 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
18577 badfs.
18578 Reported by: TiCPU.
18579
cf0eaf13
VS
185802011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18581
18582 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
18583 members errors.
18584
1f060f39
GS
185852011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
18586
18587 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
18588 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
18589
a21e5672
GS
185902011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
18591
18592 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
18593 openbsd and netbsd types being in part_bsd module.
18594
c88172fa
VS
185952011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18596
18597 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
18598 (_FILE_OFFSET_BITS): Likewise.
18599 Reported by: Seth Goldberg.
18600
53798c4b
GS
186012011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18602
18603 * configure.ac: Check for libdevmapper header.
18604
e7121b69
VS
186052011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18606
18607 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
18608 avoid aliasing.
18609 (fzap_lookup): Likewise.
18610 (dnode_get): Likewise.
18611 (make_mdn): Likewise.
18612 (zfs_mount): Likewise.
18613 (fzap_iterate): Use temporary pointer to avoid aliasing.
18614 (grub_zfs_read): Likewise.
18615 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
18616 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
18617 pointers to avoid aliasing.
18618 (grub_cmd_xnu_kernel64): Likewise.
18619 (grub_xnu_load_driver): Likewise.
18620
fc836af9
VS
186212011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18622
18623 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
18624 aliasing warning.
18625 (grub_cmd_terminal_output): Likewise.
18626 Reported and tested by: Grégoire Sutre.
18627
f9f37648
VS
186282011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18629
18630 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
18631 warning.
18632 Reported and tested by: Grégoire Sutre.
18633
ec1dfd63
VS
186342011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18635
18636 * configure.ac: Do CPU substitution even if it's specified explicitly.
18637 Reported and tested by: Alain Greppin.
18638
9462775a
VS
186392011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18640
18641 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
18642 Reported and tested by: Alain Greppin.
18643
0fd48e35
VS
186442011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18645
18646 Satisfy some bison versions need for inttypes.h.
18647
18648 * grub-core/lib/posix_wrap/inttypes.h: New file.
18649 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
18650 (int16_t): Likewise.
18651 (int32_t): Likewise.
18652 (int64_t): Likewise.
18653 Reported and tested by: Alain Greppin.
18654
43f1bc83
VS
186552011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18656
18657 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
18658 Silence spurious warning.
18659 Reported and tested by: Alain Greppin.
18660
64d1f041
SJ
186612011-01-07 Szymon Janc <szymon@janc.net.pl>
18662
18663 * docs/grub.texi (Support automatic decompression): Update with xz
18664 decompression support.
18665
25953e10
SJ
186662011-01-07 Szymon Janc <szymon@janc.net.pl>
18667
18668 Improve loaders' kernel command line handling.
18669
18670 * grub-core/lib/cmdline.c: New file.
18671 * include/grub/lib/cmdline.h: Likewise.
18672 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
18673 grub_create_loader_cmdline to create kernel command line.
18674 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
18675 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
18676 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
18677 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
18678 (linux): Add lib/cmdline.c on common.
18679
e72d259f
VS
186802011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
18681
18682 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
18683 inopos might be unaligned.
18684
c0cf26da
VS
186852011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
18686
18687 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
18688 endian transformations.
18689 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18690 Based on report by: Doug Nazar.
18691
0ca09e6c
DN
186922011-01-07 Doug Nazar <nazard.michi@gmail.com>
18693
18694 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
18695 array->members[i].start_sector.
18696 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
18697
014b6806
VS
186982011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
18699
18700 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
18701 Reported and tested by: Grégoire Sutre.
18702
415502c2
CW
187032011-01-06 Colin Watson <cjwatson@ubuntu.com>
18704
18705 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
18706 avoid causing test failures by clearing the screen.
18707
71b6a2b7
CW
187082011-01-06 Colin Watson <cjwatson@ubuntu.com>
18709
18710 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
18711 Fix prefix check to handle the case where dir ends with a slash
18712 (most significantly, "/" itself).
18713 Reported by: Michael Vogt.
18714
b3f8d28a
VS
187152011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
18716
18717 Run terminfo_cls on initing terminfo output to clear the screen and
18718 move the cursor to (0,0).
18719
18720 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
18721 Call grub_terminfo_output_init.
18722 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
18723 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
18724 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
18725
4c3e4f37
VS
187262011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
18727
18728 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
18729 only when needed.
18730
488f71f1
VS
187312011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
18732
18733 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
18734 CTRL.
18735
18a38098
VS
187362011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
18737
18738 The E820 type 5 is BADRAM, not EXEC_CODE.
18739
18740 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
18741 (GRUB_E820_BADRAM): New define.
18742 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
18743 into reserved. Propagate BADRAM.
18744 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
18745 (GRUB_E820_BADRAM): New define.
18746
9eae2084
VS
187472011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18748
18749 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
18750 Ignore the memory post-4G.
18751 (grub_relocator_firmware_alloc_region): Additional debug statement.
18752
ebc71d28
VS
187532011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18754
18755 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
18756 names.
18757 Reported by: David Pravec.
18758
446fa400
VS
187592011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18760
18761 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
18762 BIOSes.
18763
a0159f37
VS
187642011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18765
18766 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
18767 Prevent overflow.
18768 (grub_reed_solomon_recover): Likewise.
18769
e5146ca1
VS
187702011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18771
18772 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
18773
187742011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
18775
18776 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
18777 variable.
18778
5b1bdf12
CW
187792011-01-04 Colin Watson <cjwatson@ubuntu.com>
18780
18781 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
18782 descriptions of extract_legacy_entries_source and
18783 extract_legacy_entries_configfile.
18784 Reported by: Seung Soo, Ha.
18785
99d925aa
CW
187862011-01-03 Colin Watson <cjwatson@ubuntu.com>
18787
18788 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
18789 on devices that do not implement function 0.
18790
4af0504b
DV
187912011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
18792
18793 * grub-core/fs/hfsplus.c: Make parent unsigned.
18794 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
18795 overflows.
18796 (grub_hfsplus_cmp_extkey): Likewise
18797
469ee10a
VS
187982011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
18799
18800 * util/grub-install.in: Correctly use bootloader_id and not
18801 GRUB_DISTRIBUTOR on efibootmgr line.
18802
323a8e9c
VS
188032011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
18804
18805 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
18806
1b394975
IC
188072010-12-31 Ian Campbell <ijc@hellion.org.uk>
18808
18809 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
18810 Xen and reorder menu item wording to make it clearer that this entry
18811 will launch Xen. Print separate messages when loading Xen and
18812 Linux.
18813
275bff5f
VS
188142010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
18815
18816 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
18817 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
18818 loop in case of incorrect amiga partmap.
18819
307806cb
VS
188202010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
18821
18822 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
18823 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
18824 Reported by:EHeM.
18825
b12b923e
VS
188262010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
18827
18828 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
18829 spurious warning.
18830 Reported by: crocket
18831
14b48a19
VS
188322010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18833
18834 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
18835 Preload EFIemu.
18836 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
18837
693db2df
VS
188382010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18839
18840 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
18841 is loaded
18842 (grub_cmd_xnu_kextdir): Likewise.
18843 (grub_cmd_xnu_splash): Likewise.
18844
c7638645
VS
188452010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18846
18847 Avoid using Reed-Solomon with 0 redundancy.
18848
18849 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
18850 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
18851 or 0 redundancy.
18852 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
18853 (grub_reed_solomon_recover): Likewise.
18854
25dd4780
VS
188552010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18856
18857 Don't use disk subsystem in freebsd_boot.
18858
18859 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
18860 (freebsd_biosdev): Likewise.
18861 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
18862 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
18863
0b2db943
VS
188642010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
18865
18866 Handling of files of unknown size is currently limited. They can't be
18867 used e.g. for initrd or modules. Moreover gzip handling of not
18868 easily seekable files is buggy. Disable unknown file size for now. May
18869 be inefficient but works.
18870
18871 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
18872 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
18873
5c408d0f
MP
188742010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
18875
18876 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
18877 floppy probe.
18878
190a011a
JD
188792010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
18880
18881 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
18882
022d01b8
SL
188832010-12-25 Shea Levy <shlevy>
18884
18885 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
18886
c4855fdc
VS
188872010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18888
18889 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
18890 Windows Server 2008.
18891 Reported by: Devin Giddings.
18892
0354b867
VS
188932010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18894
18895 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
18896 writing an error message because of async power management.
18897 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
18898 (grub_reboot): Likewise.
18899
ab66c69f
JU
189002010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
18901
18902 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
18903 keep unit tests from failing when they shouldn't.
18904
1426ef35
CW
189052010-12-21 Colin Watson <cjwatson@ubuntu.com>
18906
18907 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
18908 previous patch increased the size of the RS code by 20 bytes (at
18909 least with gcc-4.4), so increase this by 20 bytes to match.
18910 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
18911
20641b6b
CW
189122010-12-21 Colin Watson <cjwatson@ubuntu.com>
18913
18914 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
18915 scratch area. Make sure to initialise chosen in standalone mode as
18916 well as non-standalone.
18917 Reported by: Robert Hooker and Andy Whitcroft.
18918 Tested by: Andy Whitcroft.
18919
d060ad60
CW
189202010-12-21 Colin Watson <cjwatson@ubuntu.com>
18921
18922 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
18923 constructing a new unescaped string and passing it to grub_xputs in
18924 one go, rather than passing characters to grub_printf one at a time.
18925
b889cfad
CW
189262010-12-21 Colin Watson <cjwatson@ubuntu.com>
18927
18928 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
18929 initialising utf16.
18930
4e01b6c8
CW
189312010-12-21 Colin Watson <cjwatson@ubuntu.com>
18932
18933 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
18934 comment. Add an extra layer of quotation, requiring the output of
18935 this function to be used in a printf format string.
18936 (gettext_printf): New function.
18937 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
18938 Extract translatable strings from here-documents and use a temporary
18939 variable instead, so that xgettext can find them.
18940 * util/grub.d/10_kfreebsd.in: Likewise.
18941 * util/grub.d/10_linux.in: Likewise.
18942 * util/grub.d/20_linux_xen.in: Likewise.
18943
18944 * po/grub.d.sed: New file.
18945 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
18946 arguments. Set c-format flags on all strings extracted from
18947 util/grub.d/ (xgettext refuses to include these itself for strings
18948 it extracted from a shell file, but these really are c-format).
18949
5318fe98
VS
189502010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18951
18952 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
18953 Avoid next pointing to nowhere.
18954
6c85b743
VS
189552010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18956
18957 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
18958 rather than assuming than rootblock is exactly in the middle.
18959 (grub_affs_label): Likewise.
18960
a2a08a35
VS
189612010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18962
18963 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
18964 reserved_first_sector to 0.
18965 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
18966 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
18967 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
18968
7059d1ec
VS
189692010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18970
18971 Fix handling of UTF-16 UDF labels.
18972
18973 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
18974 (read_string): .. here.
18975 (grub_udf_label): Use read_string.
18976
30aff4cb
BC
189772010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
18978
18979 * grub-core/normal/menu_entry.c (run): Execute commands from menu
18980 editor under argument scope.
18981 Reported by: Jordan Uggla
18982
5cf86f4b
VS
189832010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18984
18985 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
18986
32570200
CW
189872010-12-18 Colin Watson <cjwatson@ubuntu.com>
18988
18989 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
18990 line, and other keys scroll an entire page (previous handling was
18991 for \r and \n to scroll a page and other keys to scroll two lines).
18992
e1dffcf2
VS
189932010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18994
18995 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18996 Set ptrdest to correct get_physical_target_address rather than
18997 incorrect get_virtual_current_address.
18998
b04298cf 189992010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
19000
19001 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
19002 correct cat to grub_uint8_t * rather than grub_uint32_t *.
19003
5367ecd3
CW
190042010-12-10 Colin Watson <cjwatson@ubuntu.com>
19005
19006 * .bzrignore: Ignore grub-core/rs_decoder.S.
19007
1fb430f8
CW
190082010-12-10 Colin Watson <cjwatson@ubuntu.com>
19009
19010 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
19011 .mo/.mo.gz opening sequence to ...
19012 (grub_mofile_open_lang): ... here.
19013 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
19014 * util/grub.d/00_header.in (grub_lang): Include country part of
19015 locale.
19016 Reported by: Mario Limonciello.
19017
a94a6671
RM
190182010-12-09 Robert Millan <rmh@gnu.org>
19019
19020 * NEWS: Document addition of ZFS support.
19021
24b7938b
CW
190222010-12-04 Colin Watson <cjwatson@ubuntu.com>
19023
19024 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
19025 rather than `/ 2', as the latter requires -Wa,--divide which would
19026 require bumping our minimum binutils version.
19027
bddc3ef6
BC
190282010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
19029
19030 * util/grub-script-check.c (main): Print script line number on
19031 error.
19032
bf78d5b2
RM
190332010-12-01 Robert Millan <rmh@gnu.org>
19034
19035 * grub-core/fs/zfs/zfs.c: New file.
19036 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
19037 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
19038 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
19039 * grub-core/fs/zfs/zfsinfo.c: Likewise.
19040
19041 * include/grub/zfs/dmu.h: Likewise.
19042 * include/grub/zfs/dmu_objset.h: Likewise.
19043 * include/grub/zfs/dnode.h: Likewise.
19044 * include/grub/zfs/dsl_dataset.h: Likewise.
19045 * include/grub/zfs/dsl_dir.h: Likewise.
19046 * include/grub/zfs/sa_impl.h: Likewise.
19047 * include/grub/zfs/spa.h: Likewise.
19048 * include/grub/zfs/uberblock_impl.h: Likewise.
19049 * include/grub/zfs/vdev_impl.h: Likewise.
19050 * include/grub/zfs/zap_impl.h: Likewise.
19051 * include/grub/zfs/zap_leaf.h: Likewise.
19052 * include/grub/zfs/zfs.h: Likewise.
19053 * include/grub/zfs/zfs_acl.h: Likewise.
19054 * include/grub/zfs/zfs_znode.h: Likewise.
19055 * include/grub/zfs/zil.h: Likewise.
19056 * include/grub/zfs/zio.h: Likewise.
19057 * include/grub/zfs/zio_checksum.h: Likewise.
19058
19059 * Makefile.util.def: Build ZFS into libgrubmods.
19060 * grub-core/Makefile.core.def: Build zfs.mod.
19061
3f0f3831
SJ
190622010-11-30 Szymon Janc <szymon@janc.net.pl>
19063
19064 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
19065 variable.
19066 * grub-core/commands/wildcard.c (match_files): Likewise.
19067
3a4253b2
RM
190682010-11-30 Robert Millan <rmh@gnu.org>
19069
19070 * grub-core/loader/i386/bsd.c
19071 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
19072 whether kernel is loaded using grub_loader_is_loaded(), rather
19073 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
19074 certain error conditions.
19075
8c317b27
RM
190762010-11-30 Robert Millan <rmh@gnu.org>
19077
c5c9cd3e
RM
19078 * grub-core/commands/echo.c: Include `<grub/term.h>'.
19079 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 19080
49d3ab46
VS
190812010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
19082
19083 Avoid using tricks for initialising endian variables.
19084
19085 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
19086 Make const.
19087 (GRUB_MOD_INIT): Don't byte-swap.
19088 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
19089 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
19090 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
19091 (grub_swap_bytes32_compile_time): Likewise.
19092 (grub_cpu_to_le32_compile_time): Likewise.
19093 (grub_cpu_to_le16_compile_time): Likewise.
19094
f420a804
VS
190952010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
19096
19097 * util/grub-setup.c (setup): Stop recommending --force. People who
19098 understand the dangers of blocklists are able to find this option
19099 anyway and the ones who don't shouldn't use it anyway.
19100
4e7db17b
RM
191012010-11-26 Robert Millan <rmh@gnu.org>
19102
19103 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
19104 Update all users.
19105
9be57a0d
CW
191062010-11-26 Colin Watson <cjwatson@ubuntu.com>
19107
19108 Fix LVM-on-RAID probing.
19109
19110 * util/grub-probe.c (probe): Remember which disk was detected as
19111 RAID (perhaps an LVM physical volume). Use that disk's raidname
19112 rather than that of the top-level disk.
19113
2c7859b3 191142010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 19115
d7647bb6
BC
19116 Fix cmdline argument quotes for setparams command of menuentry
19117 definitions.
7e623b0d
BC
19118
19119 * grub-core/commands/menuentry.c (setparams_prefix): Use single
19120 quotes for arguments.
f866fe80 19121 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 19122 grub_strchrsub function instead.
f866fe80 19123
7955bea0 19124 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 19125
74f72a64
CW
191262010-11-24 Colin Watson <cjwatson@ubuntu.com>
19127
19128 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
19129 effort by skipping "." and ".." entries up-front.
19130 Suggested by: Michael Lazarev.
19131
5a407278
CW
191322010-11-24 Colin Watson <cjwatson@ubuntu.com>
19133
19134 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
19135 ldflags to ldadd, to fix link line ordering.
19136 (none_decompress): Likewise.
19137
3030d8ec
CW
191382010-11-24 Colin Watson <cjwatson@ubuntu.com>
19139
19140 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
19141 platforms.
19142 (grub-emu-lite): Remove kern/emu/cache.S.
19143
b7fbac12
CW
191442010-11-23 Colin Watson <cjwatson@ubuntu.com>
19145
19146 * util/deviceiter.c (compare_devices): If the by-id link for a
19147 device couldn't be resolved, fall back to sorting by the by-id link
19148 rather than segfaulting.
19149 Reported and tested by: Daniel Mierswa.
19150
5225f328
CW
191512010-11-23 Colin Watson <cjwatson@ubuntu.com>
19152
19153 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
19154 ldflags, to fix link line ordering.
19155
038b3ce8
CW
191562010-11-23 Colin Watson <cjwatson@ubuntu.com>
19157
19158 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
19159 linkers are picky about this.
19160
bf16e98e
CW
191612010-11-23 Colin Watson <cjwatson@ubuntu.com>
19162
19163 * grub-core/Makefile.am (command.lst): Adjust sed expression
19164 ordering so that extended and priority commands aren't treated as
19165 ordinary commands.
19166
7242bab6
CW
191672010-11-23 Colin Watson <cjwatson@ubuntu.com>
19168
19169 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
19170 Remove byte-swapping function calls, which are not valid in
19171 structure initialisers.
19172 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
19173 non-const.
19174 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
19175 grub_gpt_partition_type_bios_boot.
19176
14e8b279
CW
191772010-11-22 Colin Watson <cjwatson@ubuntu.com>
19178
19179 Fix test program build on GNU/kFreeBSD.
19180
19181 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
19182 $(LIBNVPAIR)' library dependencies.
19183
e6f63338 191842010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
19185
19186 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
19187
cf8ffc38
CW
191882010-11-22 Colin Watson <cjwatson@ubuntu.com>
19189
19190 * util/grub-install.in: Remove excessive quoting that broke
19191 installations to RAID devices.
19192
7f8b0fd7
VS
191932010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19194
19195 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
19196 bootloader version instead of 0.
19197
dfd240b1
VS
191982010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19199
19200 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
19201 warning.
19202
7b61e609
VS
192032010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19204
19205 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
19206 retrieve the metadat sector if size isn't known.
19207 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19208
9dfe92d0
RM
192092010-11-18 Robert Millan <rmh@gnu.org>
19210
19211 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
19212 with grub_memcmp().
19213
41cc919e
VS
192142010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
19215
19216 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
19217 arrow.
19218 Reported by: Jordan Uggla.
19219
1afcc914
VS
192202010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19221
19222 Make better UTF compliant.
19223
19224 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
19225 sequences as incorrect.
19226 (grub_is_valid_utf8): Likewise.
19227 (grub_utf8_to_ucs4): Likewise.
19228 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
19229 (grub_ucs4_to_utf8_alloc): Likewise.
19230 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
19231
f1808884
VS
192322010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19233
19234 Make legacy_source behave like source.
19235
19236 * grub-core/commands/legacycfg.c (legacy_file): Don't call
19237 grub_show_menu.
19238 (grub_cmd_legacy_source): Call grub_show_menu if needed.
19239
24ec575b
CW
192402010-11-16 Colin Watson <cjwatson@debian.org>
19241
19242 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
19243 (-Wunused implies -Wunused-parameter, but not vice versa).
19244
72b7c7aa
CW
192452010-11-16 Colin Watson <cjwatson@ubuntu.com>
19246
19247 * configure.ac: Make error messages less confusing by testing for
19248 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
19249 accepted, but produces a diagnostic if something else is wrong).
19250
e98937aa
VS
192512010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
19252
19253 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
19254 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
19255 (now unused).
19256 (grub_keyboard_controller_init)
19257 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
19258 read the initial state since controller isn't inited yet.
19259
f6bbabc3
VS
192602010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
19261
19262 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
19263 allocate_regbeg may need to create new chunk header.
19264
22e7dbb2
VS
192652010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19266
19267 Fix quoting in legacy parser.
19268
19269 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
19270 single quotes.
19271 (grub_legacy_parse): Likewise.
19272 Reported by: Jordan Uggla.
19273 Tested by: Jordan Uggla.
19274
03f80960
VS
192752010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19276
19277 Don't add -lgcc on i386 and x86_64.
19278
19279 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
19280 * conf/Makefile.common (LDADD_KERNEL): Likewise.
19281 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
19282
779dc15b
VS
192832010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19284
19285 * configure.ac: Add -Wno-trampolines when supported.
19286
d20a3b37
MV
192872010-11-14 Modestas Vainius <modax@debian.org>
19288
19289 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
19290 fakeraid.
19291
e5360933
GC
192922010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19293
19294 Add generic logical block size support for UDF.
19295
19296 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
19297 (GRUB_UDF_BLKSZ): Removed.
19298 (struct grub_udf_data): New field "lbshift" to hold the logical block
19299 size of the file system in log2 format. All users updated.
19300 (sblocklist): Change type to unsigned.
19301 (grub_udf_mount): Change type of "sblklist" to unsigned.
19302 Move AVDP search before VRS recognition, because the latter requires
19303 knowledge of the logical block size, which is detected during the
19304 former.
19305 Detect and validate logical block size during AVDP search, adding
19306 support for block sizes 512, 1024 and 4096.
19307 Make VRS recognition independent of block size.
19308
cb0229c5
GC
193092010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19310
19311 Properly handle deleted files on UDF.
19312
19313 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
19314 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
19315 set.
19316
406858a8
GC
193172010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19318
19319 Support reading files larger than 2 GiB.
19320
19321 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
19322 "offset" to grub_off_t.
19323 (grub_udf_read_file): Likewise for parameter "pos".
19324
130da6a7
VS
193252010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19326
19327 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
19328 unavailable.
19329 (Simple configuration): Refer to Changes from GRUB Legacy about
19330 save_env availability.
19331
65e93f6b
VS
193322010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19333
19334 * util/grub-install.in: Ignore empty partition table detection
19335 instead of trying to include part_ module.
19336
1fd08bf1
VS
193372010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19338
19339 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
19340 LVM on RAID support.
19341
de1a024f
VS
193422010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19343
19344 Properly define WORDS_BIGENDIAN in wrapped environments.
19345
19346 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
19347 definition.
19348 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
19349
19350 Reported by: Manoel Rebelo Abranches.
19351 Tested by: Manoel Rebelo Abranches.
19352
bc5dd0b9
VS
193532010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19354
19355 * util/grub-mkconfig.in: Fix quoting.
19356
58c184be
VS
193572010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19358
19359 Support big ext2 files.
19360
19361 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
19362 (grub_ext2_read_block): Support triple indirect blocks.
19363 (grub_ext2_read_file): Use 64-bit types and read size_high.
19364 (grub_ext2_open): Read size_high.
19365 Reported by: Ximin Luo.
19366 Tested by: Manoel Rebelo Abranches.
19367
5f0c02b3
VS
193682010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19369
19370 * util/grub-install.in: Handle filenames containing spaces.
19371 Reported by: Jordan Uggla.
19372 Tested by: Jordan Uggla.
19373
4417aae6
VS
193742010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19375
19376 * util/grub-mkconfig.in (grub_script_check): New variable.
19377 Use grub_script_check instead of grub-script-check.
19378 Reported by: Barry Jackson.
19379
7625a68e
VS
193802010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19381
19382 * docs/grub.texi (menu): Correct the order.
19383 Reported by: D. Hugh Redelmeier.
19384
10001ac5
VS
193852010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
19386
19387 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
19388 jump.
19389
9c4cf53b
MRA
193902010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
19391
10001ac5
VS
19392 * include/grub/elfload.h (grub_elf32_size): New parameter.
19393 All users updated.
9c4cf53b
MRA
19394 Return maximum segments alignment.
19395 (grub_elf64_size): Likewise.
19396 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
19397 Return maximum segments alignment.
19398 (grub_elf64_size): Likewise.
19399 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
19400 (grub_linux_claimmap_iterate): New function. Uses the
19401 "available" property in the "memory" node for memory allocation
19402 for kernel in the PowerPC loader.
9c4cf53b
MRA
19403 (grub_linux_load32): Correctly find linux entry point offset.
19404 (grub_linux_load64): Likewise.
19405
d2bf06bf
RM
194062010-11-07 Robert Millan <rmh@gnu.org>
19407
19408 On mips-yeeloong, build with -march=loongson2f when this flag is
19409 available (GCC >= 4.4).
19410 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
19411 `-march=mips3'.
19412 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
19413 or otherwise add -march=mips3.
19414
898c99a2
BC
194152010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
19416
87220a68
BC
19417 Suppress shell expansion on echo '*' and echo "*" like cases.
19418 Reported by: Jordan Uggla.
898c99a2
BC
19419
19420 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
19421 string arguments before shell expansion.
19422 * tests/grub_cmd_echo.in: New testcases.
19423
4f9b406a
RM
194242010-11-07 Robert Millan <rmh@gnu.org>
19425
19426 * conf/mips-qemu-mips.rmk: Remove stale file from previous
19427 transition.
19428
80c6d25e
VS
194292010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
19430
19431 * grub-core/kern/emu/hostdisk.c
19432 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
19433
4a1a0153
VS
194342010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
19435
19436 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
19437 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
19438 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
19439
34706ddc
VS
194402010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
19441
19442 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
19443
6972dea9
VS
194442010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
19445
19446 * util/grub-install.in: Replace useless recomendation to pass
19447 --modules with a recomendation to report a bug.
19448
9c693bd6
VS
194492010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
19450
19451 Properly register serial terminfo.
19452 Reported by: Jordan Uggla
19453
19454 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
19455 const.
19456 (grub_serial_terminfo_output_template): Likewise.
19457 (grub_cmd_serial): Register "serial" with terminfo.
19458 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
19459 grub_serial_terminfo_output.
19460
6c9e4c0c
RM
194612010-11-05 Robert Millan <rmh@gnu.org>
19462
19463 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
19464 needed).
19465
b9b3839f
RM
194662010-11-05 Robert Millan <rmh@gnu.org>
19467
19468 On Yeeloong, pass machine type information to Linux.
19469
19470 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
19471 (LOONGSON_MACHTYPE): New macro, set to
19472 "machtype=lemote-yeeloong-2f-8.9inches".
19473 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
19474 additional argument to Linux.
19475
1a3aaff4
RM
194762010-11-04 Robert Millan <rmh@gnu.org>
19477
19478 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
19479 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
19480 (its SATA disks are detected as slaveless IDE master drives on
19481 kFreeBSD).
19482 Reported by Carsten Aulbert.
19483
a75f4f62
CW
194842010-11-02 Colin Watson <cjwatson@ubuntu.com>
19485
19486 * util/bin2h.c (main): Fix spelling error in generated output.
19487
33b4b0c6
GS
194882010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
19489
19490 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
19491
2b36fbf4
VS
194922010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19493
19494 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
19495 vga= option is supplied.
19496
74aaf558
VS
194972010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19498
19499 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
19500 * util/grub.d/10_kfreebsd.in: Likewise.
19501 * util/grub.d/10_linux.in: Likewise.
19502 * util/grub.d/20_linux_xen.in: Likewise.
19503
6428dec3
VS
195042010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19505
19506 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
19507 argument as an argument to no-argument option.
19508
f8729d98
VS
195092010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19510
19511 * util/grub.d/10_linux.in: Add missing load_video with explicit
19512 GRUB_GFXPAYLOAD_LINUX.
19513
89d68fa6
VS
195142010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19515
19516 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
19517
3a1197cd
VS
195182010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19519
19520 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
19521 elements with invlid index.
19522 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19523 * grub-core/disk/raid.c (insert_array): Automatically reallocate
19524 members.
19525 * include/grub/raid.h (grub_raid_member): New struct.
19526 (grub_raid_array): Transform devices and start_sector into usage of
19527 grub_raid_member. All users updated
19528 (allocated_devs): New member.
19529
71574288
VS
195302010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19531
19532 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
19533 is modified
19534
8d40ec65
BC
195352010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
19536
19537 NetBSD build fix for getline function conflict from gnulib.
19538
19539 * Makefile.util.def (libgrubkern.a): New library for grub kernel
19540 components that depend on gnulib headers.
19541 (libgrubmods.a): Renamed from earlier libgrub.a.
19542 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
19543
95b9257e
VS
195442010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
19545
19546 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
19547 install rather than creating a broken install.
19548
26c53dc6
VS
195492010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
19550
19551 * util/grub-setup.c (argp): Remove misleading example of installing to
19552 a partition.
19553
4171b3c5
VS
195542010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
19555
19556 * util/grub-setup.c (setup): Clarify the error message.
19557
18568d18
VS
195582010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
19559
19560 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
19561
4f6a2e21
VS
195622010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
19563
19564 * grub-core/kern/emu/misc.c
19565 (grub_make_system_path_relative_to_its_root)
19566 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
19567
195682010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
19569
19570 * grub-core/kern/emu/misc.c
19571 (grub_make_system_path_relative_to_its_root): Revert r2882.
19572
e138c458
VS
195732010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
19574
19575 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
19576 useless field head. All users updated.
19577 (free_subchunk): Correct handling of IN_REGION subchunk.
19578
0cbcdf0e
CW
195792010-10-22 Colin Watson <cjwatson@ubuntu.com>
19580
19581 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
19582 (Supported kernels): Likewise.
19583
b65ea155
GS
195842010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
19585
19586 Make mktemp invocations portable.
19587
19588 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
19589 exit if mktemp fails.
19590 * tests/grub_script_blockarg.in: Likewise.
19591 * tests/partmap_test.in: Likewise.
19592 * tests/util/grub-shell-tester.in: Likewise.
19593 * tests/util/grub-shell.in: Likewise.
19594 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19595 * Makefile.am: Likewise, and chain shell commands with `&&'
19596 instead of ';'.
19597 * util/grub-mkrescue.in: Use the same explicit template as above, and
19598 exit if mktemp fails.
19599
05f43cdd
BC
196002010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
19601
19602 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
19603 Linux kernel, reported by Dennis Schridde.
19604
800e6a9b
SJ
196052010-10-17 Szymon Janc <szymon@janc.net.pl>
19606
19607 * grub-core/normal/auth.c (grub_auth_check_authentication):
19608 Set-but-not-used variable removed.
19609
d82df574
VS
196102010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19611
19612 * docs/grub.texi (GNU/Linux): Document APM unavailability with
19613 32-bit linux protocol.
19614
7bced458
VS
196152010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19616
19617 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
19618 cursor shape for sanity.
19619
5b027690
VS
196202010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19621
19622 * docs/grub.texi (Installation): Document buggy BIOS install.
19623
ba5f65cf
VS
196242010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19625
19626 * docs/grub.texi (Installation): Indent.
19627
fdf2ec9c
VS
196282010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19629
19630 * util/grub-setup.c (setup): New parameter allow_floppy.
19631 (arguments): New member allow_floppy.
19632 (argp_parser): Handle --allow-floppy.
19633 (main): Pass allow_floppy.
19634 * util/grub-install.in: New option --allow-floppy passed though to
19635 grub-setup.
19636
861dfd4c
VS
196372010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19638
19639 * util/grub-install.in: Handle partitionless disks.
19640
f77a8c24
VS
196412010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19642
19643 * util/grub-setup.c (setup): Don't clean blocklists before readability
19644 verfification.
19645
27d9ee32
VS
196462010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19647
19648 * docs/grub.texi (Installation): Document embedding zone. Remove
19649 obsolete grub-install example.
19650
6bdda8f8
SJ
196512010-10-16 Szymon Janc <szymon@janc.net.pl>
19652
19653 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
19654 Set-but-not-used variable ifdef'ed.
19655 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
19656 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
19657 variable removed.
19658 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
19659 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
19660 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
19661 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
19662 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
19663 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
19664 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
19665 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
19666 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
19667 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
19668 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
19669 Likewise.
19670
e19b016b
VS
196712010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19672
19673 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
19674 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
19675 enum value.
19676
6c8d3002
VS
196772010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19678
19679 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
19680 synonym to _S5_. Needed for some DSDTs.
19681
c32b51c9
VS
196822010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19683
19684 Userspace ACPI parser debugging.
19685
19686 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
19687 headers and add relevant defines. Don't include standard headers.
19688 (main) [GRUB_DSDT_TEST]: New function.
19689 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
19690 Don't declare functions.
19691
fbfbeb39
VS
196922010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19693
19694 Remove dead grub_efi_mm_fini.
19695
19696 * grub-core/kern/efi/mm.c (allocated_page): Removed.
19697 (ALLOCATED_PAGES_SIZE): Likewise.
19698 (MAX_ALLOCATED_PAGES): Likewise.
19699 (allocated_pages): Likewise.
19700 (grub_efi_allocate_pages): Don't record allocated pages.
19701 (grub_efi_free_pages): Likewise.
19702 (grub_efi_mm_init): Likewise.
19703 (grub_efi_mm_fini): Removed.
19704
65f7ed7c
VS
197052010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19706
19707 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
19708 (grub_efi_mm_init): Take into account the memory map size increase.
19709
24977b44
VS
197102010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19711
19712 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
19713 (serial_hw_put): Wait based on real time rather than port reads. Don't
19714 roken ports.
19715 * include/grub/serial.h (grub_serial_port): New field broken.
19716
1eb01cd2
RM
197172010-10-16 Robert Millan <rmh@gnu.org>
19718
19719 * grub-core/kern/emu/misc.c
19720 (grub_make_system_path_relative_to_its_root): Fix premature return
19721 when processing non-root ZFS filesystems.
5f8b440b 19722 Reported by Sergio Talens-Oliag.
1eb01cd2 19723
2d5fed60
RM
197242010-10-15 Robert Millan <rmh@gnu.org>
19725
19726 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
19727 guarantee compressed ones are processed first.
19728
d0f4c1ea
VS
197292010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
19730
19731 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
19732 grub_efiemu_autocore.
19733
d87c681f
VS
197342010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
19735
19736 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
19737 rather than 0x1b.
19738 (grub_console_getkey): Use correct jae opcode rather than ja.
19739
219b3564
RM
197402010-10-12 Robert Millan <rmh@gnu.org>
19741
19742 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
19743 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
19744 variable. All references updated.
19745
19746 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
19747
20c6bb7e
VS
197482010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
19749
19750 Correctly distinguish mdraid flavours.
19751
19752 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
19753 (insert_array): New argument raid.
19754 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
19755 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
19756 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
19757
74baff84
VS
197582010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
19759
19760 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
19761 handling of special keys.
19762
3ef068df 197632010-10-02 Aleš Nesrsta <starous@volny.cz>
19764
c7980ad9
VS
19765 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
19766 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 19767
a9455194 197682010-10-02 Aleš Nesrsta <starous@volny.cz>
19769
c7980ad9
VS
19770 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
19771 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
19772 users updated.
a9455194 19773 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 19774 Use right endpoint when querying descriptor.
a9455194 19775
441cfe65
VS
197762010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
19777
19778 Clear out 0x80 color bit on EFI.
19779 Tested by: decoder
19780 Reported by: decoder and meta tech.
19781
19782 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
19783 (grub_console_setcolorstate): Clear out 0x80 bit.
19784 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
19785 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
19786 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
19787
bf26bcc4
VS
197882010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
19789
19790 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
19791 Set to "auto".
19792
6e3c515d
VS
197932010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19794
19795 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
19796 mo_file after freeing.
19797
e6d983ba
VS
197982010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19799
19800 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
19801
74ccb5b5
VS
198022010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19803
19804 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
19805 flags.
19806
17821956
VS
198072010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19808
19809 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
19810 usage.
19811
ee74fa48
VS
198122010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19813
19814 Put terminfo into core on ieee1275 and yeeloong (needed for console).
19815
19816 * gentpl.py: New groups terminfoinkernel and terminfomodule.
19817 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
19818 and terminfo.h when needed.
19819 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
19820 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
19821 (terminfo): Enable only on terminfokernel.
19822 (extcmd): Likewise.
19823 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
19824 * include/grub/lib/arg.h: Likewise.
19825 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
19826 incorrect usage of ->.
19827
aa438e68
VS
198282010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19829
19830 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
19831 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
19832
57994012
VS
198332010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19834
19835 Fix coreboot compilation.
19836
19837 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
19838 Take VBE info into account even if only text is supported.
19839 (fill_vbe_info): Take into account the case when only VGA text
19840 is supported.
19841 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
19842 on coreboot, multiboot and qemu.
19843
2a406611
VS
198442010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19845
19846 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
19847 debug messages.
19848 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
19849
d33613fc
VS
198502010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19851
19852 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
19853 parameters.
19854
44a1b432
VS
198552010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19856
19857 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
19858 if they were BSD-style.
19859
edde54e6
VS
198602010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19861
19862 * grub-core/boot/i386/pc/lnxboot.S: Replace
19863 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
19864 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
19865
b65830fa
VS
198662010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19867
19868 Write embedding zone using Reed-Solomon.
19869
19870 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
19871 * grub-core/Makefile.am (rs_decoder.S): New target.
19872 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
19873 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
19874 (multiboot): Move to RS part.
19875 (post_reed_solomon): New label.
19876 (grub_boot_drive): Move to non-RS part since it's modified in memory
19877 on boot.
19878 Include rs_decoder.S.
19879 * grub-core/lib/reed_solomon.c: New file.
19880 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
19881 New definition.
19882 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
19883 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
19884 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
19885 * include/grub/partition.h (grub_partition_map): Change prototype of
19886 embed to allow returning additional sectors.
19887 * include/grub/reed_solomon.h: New file.
19888 * util/grub-setup.c (setup): Handle Reed-Solomon.
19889
0b4b227f
CW
198902010-09-28 Colin Watson <cjwatson@ubuntu.com>
19891
19892 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
19893 i386 and x86-64 definedness tests.
19894
f772623b
YB
198952010-09-27 Yves Blusseau <blusseau@zetam.org>
19896
19897 Fix generation of kernel_syms.lst
19898
19899 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
19900 ASM_PREFIX
19901
8e57a6ca
RM
199022010-09-26 Robert Millan <rmh@gnu.org>
19903
19904 Support degraded ZFS arrays in "grub-probe -t device" resolution.
19905
19906 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
19907 the pool is an array of devices, iterate through it and return the
19908 first device that passes a stat() test (instead of blindly returning
19909 the first one).
19910
f9130836
RM
199112010-09-26 Robert Millan <rmh@gnu.org>
19912
19913 Build fixes for GNU/kFreeBSD.
19914
19915 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
19916 to programs that require ZFS conversion.
19917 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
19918 kernels that don't have FLOPPY_MAJOR.
19919
96510faf
BC
199202010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
19921
19922 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
19923
449333eb
BC
199242010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
19925
19926 Fix grub-emu build.
19927
19928 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
19929 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
19930 mdraid09 and mdraid1x.
19931
e1fd1939
CW
199322010-09-24 Colin Watson <cjwatson@ubuntu.com>
19933
19934 Re-enable grub-extras.
19935
19936 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
19937 avoid confusing Automake. Run autogen only twice, once for the top
19938 level and once for grub-core. Add Makefile.util.def and
19939 Makefile.core.def from extra modules to the appropriate autogen
19940 invocations. If Makefile.common exists in an extra module, include
19941 it in both Makefile.util.am and grub-core/Makefile.core.am;
19942 similarly, include any Makefile.util.common file in Makefile.util.am
19943 and any Makefile.core.common file in grub-core/Makefile.core.am.
19944 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
19945 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
19946 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
19947 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
19948
19949 * gentpl.py (gvar_add): Turn GVARS into a set.
19950 (global_variable_initializers): Sort global variables on output.
19951 (vars_init): New function.
19952 (first_time): Likewise.
19953 (library): Ensure that non-global variable initialisations are
19954 emitted before the first time we emit code for a library block.
19955 Append to variables rather than setting them. Only emit
19956 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
19957 each conditional path.
19958 (program): installdir() emits an Autogen macro, so must be passed to
19959 var_add rather than gvar_add.
19960 (data): Likewise.
19961 (script): Likewise.
19962 (rules): New function, centralising handling for different target
19963 types. Set up Guile association lists for first_time and vars_init,
19964 and send most output to a diversion so that variable initialisations
19965 can be emitted first.
19966 (module_rules): Use new rules function.
19967 (kernel_rules): Likewise.
19968 (image_rules): Likewise.
19969 (library_rules): Likewise.
19970 (program_rules): Likewise.
19971 (script_rules): Likewise.
19972 (data_rules): Likewise.
19973
19974 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
19975
19976 * .bzrignore: Add contrib and grub-core/contrib. Remove
19977 grub-core/Makefile.gcry.am.
19978
1d12cf29
YB
199792010-09-24 Yves Blusseau <blusseau@zetam.org>
19980
19981 * grub-core/lib/LzFind.c: Add missing include.
19982 * grub-core/lib/LzmaEnc.c: Likewise.
19983 * grub-core/script/lexer.c: Likewise.
19984 * grub-core/script/yylex.l: Likewise.
19985 * util/grub-macho2img.c: Likewise.
19986 * util/grub-menulst2cfg.c: Likewise.
19987 * util/grub-mklayout.c: Likewise.
19988 * util/grub-mkpasswd-pbkdf2.c
19989 * util/grub-mkrelpath.c: Likewise.
19990 * util/resolve.c: Likewise.
19991
dd363028
BC
199922010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
19993
19994 * Makefile.util.def (example_unit_test): Add
19995 grub-core/gnulib/libgnu.a.
19996
f5a109e2
GS
199972010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
19998
19999 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
20000
6d0fa83c
VS
200012010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
20002
20003 Support xz compression on yeeloong.
20004
20005 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
20006 * configure.ac: Check for LZMA.
20007 * grub-core/Makefile.core.def (xz_decompress): New target.
20008 (none_decompress): Likewise.
20009 * grub-core/boot/decompressor/minilib.c: New file.
20010 * grub-core/boot/decompressor/none.c: Likewise.
20011 * grub-core/boot/decompressor/xz.c: Likewise.
20012 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
20013 * grub-core/kern/mips/cache_flush.S: Likewise.
20014 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
20015 * grub-core/kern/mips/startup.S: Move first stage to ...
20016 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
20017 nomacro.
20018 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
20019 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
20020 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
20021 Allocate statically.
20022 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
20023 Allocate statically or use scratch. Don't check CRC32.
20024 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
20025 Allocate statically. Don't check CRC32.
20026 * include/grub/decompressor.h: New file.
20027 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
20028 Removed.
20029 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
20030 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
20031 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
20032 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
20033 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
20034 * util/grub-mkimage.c (grub_compression_t): New type.
20035 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
20036 (image_target_desc): New field default_compression.
20037 (image_targets): Adjust yeeloong targets.
20038 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
20039 (compress_kernel): New parameter comp.
20040 (generate_image): Likewise. Handle new compression case.
20041 (options): New option --compression
20042 (help): Likewise.
20043 (main): Handle new option.
20044
1b655af6
GS
200452010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
20046
20047 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
20048
8f03f0b5
CW
200492010-09-22 Colin Watson <cjwatson@ubuntu.com>
20050
20051 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20052 typo in __i386__ conditional.
20053
7835dfd3
VS
200542010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20055
20056 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
20057 include.
20058
e255597e
VS
200592010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20060
6d0fa83c 20061 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
20062
20063 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
20064 new tags as supported.
20065 (acpiv2_size): New function.
20066 (grub_multiboot_get_mbi_size): Take new tags into account.
20067 (grub_multiboot_make_mbi): Add new tags.
20068 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 20069
6cc14051 200702010-09-21 Aleš Nesrsta <starous@volny.cz>
20071
20072 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
20073 Added missing configuration of USB device.
20074
df7769d8
CW
200752010-09-21 Colin Watson <cjwatson@ubuntu.com>
20076
20077 * grub-core/normal/menu_entry.c (run): Make sure we always return
20078 a value.
20079
b031012d
CW
200802010-09-21 Colin Watson <cjwatson@ubuntu.com>
20081
20082 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
20083 NumberOfPages is UINT64 according to the UEFI specification, not
20084 UINTN. Fix printf format.
20085
174de8f3
CW
200862010-09-21 Colin Watson <cjwatson@ubuntu.com>
20087
20088 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
20089 `err' to grub_usb_err_t.
20090 Reported and tested by: KESHAV P.R.
20091
d7dbe923
CW
200922010-09-21 Colin Watson <cjwatson@ubuntu.com>
20093
20094 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
20095 tpart non-const, so that we can assign to it. (Since this is a
20096 typedef, the constness refers to the pointer rather than what it
20097 points to.)
20098
8d5e2af3
CW
200992010-09-21 Colin Watson <cjwatson@ubuntu.com>
20100
20101 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
20102 $(top_srcdir)/grub-core/gnulib as well as
20103 $(top_builddir)/grub-core/gnulib.
20104 Reported by: KESHAV P.R.
20105
5c527783
CW
201062010-09-21 Colin Watson <cjwatson@ubuntu.com>
20107
20108 * util/grub-install.in: Fix the bootloader ID option to be
20109 consistently --bootloader-id, not --bootloader_id.
20110 Reported by: KESHAV P.R.
20111
d309a16e
CW
201122010-09-21 Colin Watson <cjwatson@ubuntu.com>
20113
20114 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
20115 check hash checksum." consistently translatable.
20116
b830cd16
YB
201172010-09-21 Yves Blusseau <blusseau@zetam.org>
20118
20119 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
20120 $(top_builddir).
20121
c4fe27a8
CW
201222010-09-21 Colin Watson <cjwatson@ubuntu.com>
20123
20124 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
20125 (GRUB_MOD_INIT): Register sha1sum command.
20126 (GRUB_MOD_FINI): Unregister sha1sum command.
20127
a4c1d277
YB
201282010-09-21 Yves Blusseau <blusseau@zetam.org>
20129
20130 Keep boot and grub directory names in sync with utils scripts
20131
20132 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
20133 * config.h.in: Add previous macros.
20134 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
20135 * util/grub-install.in: Use $bootdir and $grubdir variables.
20136
4eff79d2
CW
201372010-09-21 Colin Watson <cjwatson@ubuntu.com>
20138
20139 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
20140 convert partition names to disk names if the new `convert' parameter
20141 is set.
20142 (grub_util_biosdisk_get_grub_dev): If opening the disk device
20143 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
20144 disk in its own right. This can happen with Xen disk images.
20145
934d7e44
YB
201462010-09-21 Yves Blusseau <blusseau@zetam.org>
20147
20148 * util/grub-editenv.c: Update strings to avoid warnings when generating
20149 grub.pot file.
20150 * util/grub-setup.c: Likewise.
934d7e44 20151
df3367cc
VS
201522010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
20153
20154 * configure.ac: Change version to 1.99~beta0.
20155
77a94e98
VS
201562010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
20157
20158 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
20159 Add BADRAM.
20160 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
20161 Likewise.
20162 * include/multiboot.h: Resynced with specification.
20163 * include/multiboot2.h: Likewise.
20164
269004c1
CW
201652010-09-21 Colin Watson <cjwatson@ubuntu.com>
20166
20167 Fix po directory handling.
20168
20169 * configure.ac: Create po/Makefile.in rather than po/Makefile.
20170 * grub-core/gnulib/Makefile.am: Import gettext module.
20171 * m4/gnulib-cache.m4: Likewise.
20172 * m4/gnulib-comp.m4: Likewise.
20173 * m4/gettext.m4: New file, from gnulib.
20174 * m4/glibc2.m4: Likewise.
20175 * m4/iconv.m4: Likewise.
20176 * m4/intdiv0.m4: Likewise.
20177 * m4/intl.m4: Likewise.
20178 * m4/intldir.m4: Likewise.
20179 * m4/intlmacosx.m4: Likewise.
20180 * m4/intmax.m4: Likewise.
20181 * m4/inttypes-pri.m4: Likewise.
20182 * m4/lcmessage.m4: Likewise.
20183 * m4/lib-ld.m4: Likewise.
20184 * m4/lib-link.m4: Likewise.
20185 * m4/lib-prefix.m4: Likewise.
20186 * m4/lock.m4: Likewise.
20187 * m4/nls.m4: Likewise.
20188 * m4/po.m4: Likewise.
20189 * m4/printf-posix.m4: Likewise.
20190 * m4/progtest.m4: Likewise.
20191 * m4/threadlib.m4: Likewise.
20192 * m4/uintmax_t.m4: Likewise.
20193 * m4/visibility.m4: Likewise.
20194 * po/Makefile.am: Remove.
20195 * po/Makefile.in.in: New file, from gettext.
20196 ($(DOMAIN).pot-update): Support POTFILES-shell.
20197 * po/Makevars: New file.
20198 * po/POTFILES-shell: Rename to ...
20199 * po/POTFILES-shell.in: ... this. Update.
20200 * po/POTFILES: Rename to ...
20201 * po/POTFILES.in: ... this. Update.
20202 * po/Rules-quot: New file, from gettext.
20203 * po/boldquot.sed: Likewise.
20204 * po/en@boldquot.header: Likewise.
20205 * po/en@quot.header: Likewise.
20206 * po/insert-header.sin: Likewise.
20207 * po/quot.sed: Likewise.
20208 * po/remove-potcdate.sin: Likewise.
20209
3e0fa5d0
VS
202102010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20211
20212 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
20213
ade9bd66
VS
202142010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20215
20216 * util/grub.d/20_linux_xen.in: Use submenus.
20217
fc55cc4c
VS
202182010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20219
20220 Support submenus.
20221
20222 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
20223 parameter submenu. All users updated.
20224 * grub-core/normal/main.c (free_menu): Rename to ...
20225 (grub_normal_free_menu): ... this. Made global.
20226 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
20227 if requested.
20228 * grub-core/normal/menu_entry.c (screen): New field submenu.
20229 (make_screen): Set submenu.
20230 (run): Open new context if requested.
20231 * include/grub/menu.h (grub_menu_entry): New field submenu.
20232 * include/grub/normal.h (grub_normal_free_menu): New proto.
20233
600cedf7
VS
202342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20235
20236 Menu entries extractor.
20237
20238 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
20239 variants.
20240 (GRUB_MOD_INIT): Register new variants.
20241 (GRUB_MOD_FINI): Unregister new variants.
20242 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
20243 into grub_cmd_legacy_source.
20244 (grub_cmd_legacy_source): Implement extractor variants.
20245 (GRUB_MOD_INIT): Register new variants.
20246 (GRUB_MOD_FINI): Unregister new variants.
20247 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
20248 as an extractor.
20249 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
20250 search as an extractor.
20251 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
20252 test as an extractor.
20253 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
20254 as an extractor.
20255 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
20256 (grub_env_new_context): New function.
20257 (grub_env_context_open): Likewise.
20258 (grub_env_extractor_open): Likewise.
20259 (grub_env_extractor_close): Likewise.
20260 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
20261 grub_extractor_level.
20262 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
20263 * include/grub/env.h (grub_env_extractor_open): New proto.
20264 (grub_env_extractor_close): Likewise.
20265 * include/grub/normal.h (grub_extractor_level): New external variable.
20266
7bda3a87
VS
202672010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20268
20269 Make cutmem accept a region specification.
20270 Suggested by: Samuel Thibault
20271
20272 * grub-core/mmap/mmap.c (parsemem): New function.
20273 (grub_cmd_cutmem): Handle new arguments.
20274
2ea57f88
VS
202752010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20276
20277 New command cutmem.
20278
20279 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
20280 (GRUB_MOD_INIT): Register new command.
20281 (GRUB_MOD_FINI): Unregister new command.
20282
74342e31
VS
202832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20284
20285 Support some annoying BSD and Minix subpartitions.
20286
20287 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
20288 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
20289 Properly handle concatenation.
20290 * grub-core/kern/device.c (grub_device_iterate): Likewise.
20291 * grub-core/normal/completion.c (iterate_partition): Likewise.
20292 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
20293 contain partition. All users updated.
20294 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
20295 struct.
20296 (grub_openbsdlabel_partition_map): Likewise.
20297 (bsdlabel_partition_map_iterate): Rename to ..
20298 (iterate_real): ... this. New arguments sector, freebsd and pmap.
20299 (bsdlabel_partition_map_iterate): New function.
20300 (netopenbsdlabel_partition_map_iterate): Likewise.
20301 (netbsdlabel_partition_map_iterate): Likewise.
20302 (openbsdlabel_partition_map_iterate): Likewise.
20303 (GRUB_MOD_INIT): Register new partmaps.
20304 (GRUB_MOD_FINI): Unregister new partmaps.
20305 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
20306 (grub_partition_msdos_iterate): ... this. All users updated.
20307 Don't support embedding other than in a minix partition.
20308 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
20309 proto.
20310 * include/grub/partition.h (grub_partition): New field msdostype.
20311 * util/grub-install.in: Handle openbsd and netbsd types being in
20312 part_bsd module.
20313
1e8d555b
VS
203142010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20315
20316 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
20317
20318 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
20319 * grub-core/Makefile.core.def (mdraid): Renamed to ...
20320 (mdraid09): ... this.
20321 (mdraid1x): New module.
20322 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
20323 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
20324
899d8af4
VS
203252010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20326
20327 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
20328 vsprintf.
20329
40901acd
CW
203302010-09-20 Colin Watson <cjwatson@ubuntu.com>
20331
20332 * grub-core/commands/efi/lsefimmap.c: Correct header.
20333 * NEWS: Update.
20334
dfe3b247
CW
203352010-09-20 Colin Watson <cjwatson@ubuntu.com>
20336
20337 * util/grub-editenv.c (argp_parser): Don't pass translated strings
20338 as printf format strings; the translations might contain '%' which
20339 could cause a crash.
20340 (main): Likewise.
20341 * util/grub-fstest.c (argp_parser): Likewise.
20342 * util/grub-setup.c (argp_parser): Likewise.
20343 (main): Likewise.
20344
3286a4b4
VS
203452010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20346
20347 Use argp in grub-fstest.
20348
20349 * util/grub-fstest.c: Don't include getopt.h.
20350 Include argp.h.
20351 (root): New variable.
20352 (args_count): Likewise.
20353 (nparm): Likewise.
20354 (num_disks): Likewise.
20355 (images): Likewise.
20356 (cmd): Likewise.
20357 (debug_str): Likewise.
20358 (args): Likewise.
20359 (options): Transformed to argp.
20360 (usage): Removed.
20361 (main): Split argument parsing into ...
20362 (argp_parser): ... this. Changed to argp format.
20363 (argp): New variable.
20364 (main): Use argp_parse.
20365
3dccbe4b
TG
203662010-09-20 Tristan Gingold <gingold@free.fr>
203672010-09-20 Robert Millan <rmh.grub@aybabtu.com>
203682010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20369
20370 * grub-core/commands/efi/lsefimmap.c: New file.
20371 * grub-core/Makefile.core.def (lsefimmap): New module.
20372 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
20373
38c259a7
VS
203742010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20375
20376 Pause the execution (10s max) if any errors are displayed so the user
20377 has a chance to see them.
20378
20379 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
20380 (grub_print_error): Increment grub_err_printed_errors.
20381 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
20382 execution if any errors were displayed.
20383 (show_menu): Remove old code for pause.
20384 * grub-core/normal/menu_entry.c (run): Likewise.
20385 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
20386 users updated.
20387 (grub_normal_get_char_counter): Likewise.
20388 * include/grub/err.h (grub_err_printed_errors): New external variable.
20389 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
20390
f218b09c
VS
203912010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20392
20393 Support multiboot VBE info.
20394
20395 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
20396 Take VBE info into account.
20397 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
20398 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
20399 Call fill_vbe_info when appropriate.
20400 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
20401 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
20402 as supported.
20403 (grub_multiboot_get_mbi_size): Take new tags into account.
20404 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
20405 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
20406 Call fill_vbe_tag when appropriate.
20407 (grub_multiboot_make_mbi): Properly align tags.
20408 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
20409 function.
20410 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
20411 proto.
20412 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
20413
a9cc5438
VS
204142010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20415
20416 Suport manual terminal geometry specification.
20417
20418 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
20419 Save state in grub_ofconsole_terminfo_output.
20420 (grub_ofconsole_term): Use grub_terminfo_getwh.
20421 (grub_ofconsole_getwh): Removed.
20422 * grub-core/term/serial.c (grub_serial_getwh): Removed.
20423 (grub_serial_term): Use grub_terminfo_getwh.
20424 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
20425 (options): New struct.
20426 (OPTION_*): New enum.
20427 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
20428 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
20429 width and height.
20430 (grub_terminfo_getwh): New proto.
20431 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
20432
1a8fed20
VS
204332010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20434
20435 Handle legacy "terminal" command.
20436
20437 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
20438 and FLAG_TERMINAL.
20439 (legacy_commands): Add terminal and title.
20440 (grub_legacy_parse): Handle terminal. Simplify title handling.
20441
41e9c57d
VS
204422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20443
20444 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
20445 parameters overflow.
20446
61c874c5
CW
204472010-09-20 Colin Watson <cjwatson@ubuntu.com>
20448
20449 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
20450 widthspec.h.
20451
20452 * docs/grub.texi (Shell-like scripting): Document `!'.
20453 (Network): Simplify using new i386-pc-pxe format. Mention
20454 grub-mknetdir.
20455
20456 * NEWS: Update.
20457
943682b4
CW
204582010-09-20 Colin Watson <cjwatson@ubuntu.com>
20459
20460 * Makefile.am (SUBDIRS): Restore "."; it's important to force
20461 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
20462 when needed.
20463
6d3d698d
CW
204642010-09-20 Colin Watson <cjwatson@ubuntu.com>
20465
20466 * grub-core/commands/efi/lsefisystab.c: Correct header.
20467 * grub-core/commands/efi/lssal.c: Likewise.
20468 * grub-core/commands/testload.c: Likewise.
20469
c982589f
CW
204702010-09-20 Colin Watson <cjwatson@ubuntu.com>
20471
20472 * util/grub-mkrescue.in: Add explicit root argument to --set to
20473 prevent the UUID being interpreted as an argument to --set (matches
20474 previous change to prepare_grub_to_access_device).
20475
a63c31b6
CW
204762010-09-20 Colin Watson <cjwatson@ubuntu.com>
20477
20478 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
20479 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
20480 the verbosity of later #ifs.
20481 (find_partition_start): Define this function on FreeBSD too.
20482 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
20483 function.
20484 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
20485 on FreeBSD.
20486
6439b8ee
YB
204872010-09-20 Yves Blusseau <blusseau@zetam.org>
20488
20489 * util/grub-editenv.c: Use argp instead of getopt.
20490
c5930ec8
YB
204912010-09-20 Yves Blusseau <blusseau@zetam.org>
20492
20493 * util/grub-setup.c: Use argp instead of getopt.
20494
15c69261
YB
204952010-09-20 Yves Blusseau <blusseau@zetam.org>
20496
20497 Use gnulib-tool to create gnulib source files.
20498
20499 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
20500 grub-core/gnulib directories
20501 * .bzignore: Add **/.deps and autogenerated gnulib files
20502 * configure.ac: Assign auxiliary directory to build-aux, add invocation
20503 of gnulib macros, add grub-core/gnulib/Makefile
20504 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
20505 include m4 directory to aclocal.
20506 * Makefile.util.def: Remove direct compilation of gnulib source files
20507 and use the new grub-core/gnulib/libgnu.a.
20508 * build-aux/config.rpath: move config.rpath from top directory to
20509 build-aux
20510 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
20511 in gnulib headers
20512 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
20513 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
20514 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
20515 header.
20516 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
20517 string.
20518
e511c9f5
YB
205192010-09-20 Yves Blusseau <blusseau@zetam.org>
20520
20521 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
20522 grub-core/genmod.sh and grub-core/gensyminfo.sh
20523
c2dede05
BC
205242010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
20525
20526 Add a test for echo command options.
20527
20528 * tests/grub_cmd_echo.in: New test.
20529 * Makefile.util.def: Rules for new test.
20530
c55f5018
SJ
205312010-09-20 Szymon Janc <szymon@janc.net.pl>
20532
20533 Remove crc.mod and move crc command to hashsum.mod.
20534 Remove lib/crc.c - users updated to use gcrypt implementation.
20535
20536 * grub-core/commands/crc.c: Removed.
20537 * grub-core/Makefile.core.def (crc): Module removed.
20538 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
20539 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
20540 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
20541 * grub-core/lib/crc.c: Removed.
20542 * include/grub/lib/crc.h: Removed.
20543 * Makefile.util.def (crc): Remove lib/crc.c
20544 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
20545 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
20546 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
20547 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
20548 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
20549 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
20550
e0337366
VS
205512010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20552
20553 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
20554
742f9232
VS
205552010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20556
20557 Split config.h for util and core.
20558
20559 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
20560 (ADDR32): Likewise.
20561 (DATA32): Likewise.
20562 (BSS_START_SYMBOL): Likewise.
20563 (END_SYMBOL): Likewise.
20564 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
20565 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
20566 * config.h.in: New file.
20567 * configure.ac: Use config-util.h as config define file.
20568 Rename MACHINE into GRUB_MACHINE. All users updated.
20569 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
20570 updated.
20571 (NESTED_FUNC_ATTR): Likewise.
20572 Substitue new variables.
20573 (COND_HAVE_ASM_USCORE): New conditional.
20574 * grub-core/Makefile.am (ASM_PREFIX): New variable.
20575 (kernel_syms.lst): Use ASM_PREFIX.
20576 * grub-core/kern/emu/console.c: Include config-util.h.
20577 * grub-core/kern/emu/misc.c: Likewise.
20578 * grub-core/kern/emu/mm.c: Likewise.
20579 * include/grub/emu/misc.h: Likewise.
20580 * include/grub/libgcc.h: Likewise.
20581
39feb0e8
VS
205822010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20583
20584 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
20585 constants usage.
20586 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
20587 Fix GRUB_TERM_KEY_* constants usage.
20588 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
20589
9af6dac3
VS
205902010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20591
20592 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
20593 print pointer.
20594 * grub-core/bus/usb/uhci.c: Remove empty define.
20595 (grub_uhci_check_transfer): Add missing cast.
20596 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
20597 print pointer.
20598 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
20599 PRIuGRUB_SIZE.
20600 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
20601
d6d94820
VS
206022010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20603
20604 * grub-core/Makefile.core.def (legacycfg): Add
20605 lib/i386/pc/vesa_modes_table.c on emu.
20606
3572f2b6
BC
206072010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
20608
20609 Reduce number of temporary files generated by build system.
20610
20611 * grub-core/gencmdlist.sh: Removed.
20612 * grub-core/genfslist.sh: Removed.
20613 * grub-core/genhandlerlist.sh: Removed.
20614 * grub-core/genmodsrc.sh: Removed.
20615 * grub-core/genpartmaplist.sh: Removed.
20616 * grub-core/genparttoollist.sh: Removed.
20617 * grub-core/gentermiinallist.sh: Removed.
20618 * grub-core/genvideolist.sh: Removed.
20619
20620 * grub-core/genmod.sh.in: New file.
20621 * grub-core/gensyminfo.sh.in: New file.
20622
20623 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
20624 * conf/Makefile.extra-dist: Update with new files.
20625 * gentpl.py: Remove rules related to unnecessary temporary files.
20626 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
20627 and und-* files.
20628 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
20629 genmod.sh scripts.
20630 * grub-core/bus/usb/uhci.c: Remove empty #define.
20631 * grub-core/genmoddep.awk: Updated with new syminfo format.
20632 * util/bash-completion.d/Makefile.am: Add config.log to
20633 CLEANFILES.
20634
c836b030
YB
206352010-09-19 Yves Blusseau <blusseau@zetam.org>
20636
20637 * Makefile.util.def: Add forgotten $(LIBINTL) library.
20638
2f4e8053
BC
206392010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
20640
20641 * util/grub-mkconfig.in: Check the config script for syntax errors
20642 before saving.
20643
75831c34
CW
206442010-09-19 Colin Watson <cjwatson@ubuntu.com>
206452010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20646
20647 * Makefile.util.def (grub-install): Use util/grub-install.in on all
20648 platforms.
20649 * util/grub-install.in: Add EFI and IEEE1275 support.
20650 * util/i386/efi/grub-install.in: Removed.
20651 * util/ieee1275/grub-install.in: Likewise.
20652
eaf41b25
VS
206532010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20654
20655 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
20656 (grub_cmd_cmosclean): Likewise.
20657 (GRUB_MOD_INIT): Register command cmosclean.
20658 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
20659 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
20660
1a9130dd
CPE
206612010-09-18 Carles Pina i Estany <carles@pina.cat>
206622010-09-18 Aleš Nesrsta <starous@volny.cz>
206632010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
20664
20665 Add keyboard layouts support.
20666
20667 * Makefile.util.def (grub-mklayout): New file.
20668 (grub-kbdcomp): New script.
20669 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
20670 Add keyboard_layouts.h.
20671 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
20672 commands/boot.c on yeeloong.
20673 (keylayouts): New module.
20674 * grub-core/bus/usb/ohci.c
20675 * grub-core/bus/usb/uhci.c
20676 * grub-core/bus/usb/usbhub.c (rescan): New variable.
20677 (grub_usb_add_hub): Poll interrupt pipe for device handling.
20678 (attach_root_port): Likewise.
20679 (poll_nonroot_hub): Likewise.
20680 (grub_usb_poll_devices): Likewise.
20681 (detach_device): Close transfer.
20682 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
20683 function.
20684 (grub_usb_bulk_setup_readwrite): Likewise.
20685 (grub_usb_bulk_finish_readwrite): Likewise.
20686 * grub-core/commands/keylayouts.c: New file.
20687 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
20688 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
20689 aliases.
20690 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
20691 support scancode 2.
20692 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
20693 * include/grub/keyboard_layouts.h: New file.
20694 * util/grub-mklayout.c: New file.
20695 * util/grub-kbdcomp.in: Likewise.
20696
a1d84a5e
VS
206972010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
20698
20699 Unify memory types.
20700
20701 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
20702 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
20703 types.
20704 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
20705 (grub_upper_mem): Likewise.
20706 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
20707 * include/grub/memory.h (grub_memory_type_t): New enum.
20708 All users updated.
20709
9696382e
VS
207102010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
20711
20712 * grub-core/Makefile.core.def (lsapm): New module.
20713 * grub-core/commands/i386/pc/lsapm.c: New file.
20714 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
20715 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
20716 Likewise.
20717 * include/grub/i386/pc/apm.h: New file.
20718 * include/multiboot.h (multiboot_apm_info): New struct.
20719
207202010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
20721
20722 GRUB-legacy configuration file support.
20723
20724 * Makefile.util.def (grub-menulst2cfg): New util.
20725 * docs/man/grub-menulst2cfg.h2m: New file.
20726 * grub-core/Makefile.core.def (legacycfg): New module.
20727 * grub-core/commands/legacycfg.c: New file.
20728 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
20729 (grub_normal_add_menu_entry): ... this.
20730 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
20731 (grub_normal_set_password): ...this.
20732 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
20733 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
20734 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
20735 * grub-core/lib/legacy_parse.c: New file.
20736 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
20737 * include/grub/i386/pc/vesa_modes_table.h: New file.
20738 * include/grub/legacy_parse.h: Likewise.
20739 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
20740 * util/grub-menulst2cfg.c: New file.
20741
bf8d1338
CW
207422010-09-17 Colin Watson <cjwatson@ubuntu.com>
20743
20744 * grub-core/kern/emu/hostdisk.c
20745 (convert_system_partition_to_system_disk): Initialise node.
20746
9c0bad2e
CW
207472010-09-17 Colin Watson <cjwatson@ubuntu.com>
20748
20749 * grub-core/kern/emu/hostdisk.c
20750 (convert_system_partition_to_system_disk): Fix devmapper memory pool
20751 leak.
20752 Reported and based on patch by: Modestas Vainius.
20753
a939d135
CW
207542010-09-17 Colin Watson <cjwatson@ubuntu.com>
20755
20756 Fix DM-RAID probing with recent versions of device-mapper udev
20757 rules.
20758
20759 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
20760 canonicalise device paths under /dev/mapper/.
20761 (convert_system_partition_to_system_disk): Compare the
20762 uncanonicalised path to /dev/mapper/ rather than the canonicalised
20763 path, since device nodes under /dev/mapper/ are often symlinks.
20764
0f7ee3c9
YB
207652010-09-17 Yves Blusseau <blusseau@zetam.org>
20766
20767 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
20768
10854d0d
YB
207692010-09-16 Yves Blusseau <blusseau@zetam.org>
20770
20771 * configure.ac: Avoid some annoying error messages if freetype-config
20772 program is not found.
20773
108538d8
CW
207742010-09-16 Colin Watson <cjwatson@ubuntu.com>
20775
20776 Support RAID on virtio devices, and others.
20777
20778 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
20779 Rename to ...
20780 [__MINGW32__] (grub_find_device): ... this.
20781 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
20782 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
20783 reasonable default if dir is NULL.
20784 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
20785 ...
20786 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
20787 (grub_guess_root_device): Update callers.
20788 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
20789
20790 * util/raid.c (grub_util_getdiskname): Remove.
20791 (grub_util_raid_getmembers): Use grub_find_device rather than
20792 grub_util_getdiskname.
20793
e5bfc130
CW
207942010-09-16 Colin Watson <cjwatson@ubuntu.com>
20795
20796 * docs/grub.texi (serial): Remove obsolete comment about GRUB
20797 needing to be compiled with serial support.
20798 (ls): Indicate that multiple files are accepted.
20799 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
20800 indicate that multiple files are accepted.
20801
be458ae2
CW
208022010-09-16 Colin Watson <cjwatson@ubuntu.com>
20803
20804 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
20805 libgrub_a_init.c, and util/bash-completion.d/grub.
20806
cb731b5e
VS
208072010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20808
20809 * util/grub-setup.c (setup): Fix incorrect container semantics.
20810
35139e8a
VS
208112010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20812
20813 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
20814 misusage.
20815 Reported by: J. Nick Terry
20816
e50fca4a
VS
208172010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20818
20819 Move embedding routines to partmap sources files.
20820
20821 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
20822 [GRUB_UTIL]: New variable.
20823 (gpt_partition_map_iterate): Set part.parent.
20824 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
20825 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
20826 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
20827 New function.
20828 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
20829 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
20830 (grub_partition_map) [GRUB_UTIL]: New field embed.
20831 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
20832 (setup): Use ->embed.
20833
f00478b7
VS
208342010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20835
20836 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
20837 function.
20838 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
20839 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
20840
2b94e3ff
YB
208412010-09-15 Yves Blusseau <blusseau@zetam.org>
20842
20843 Add function to get completions from usage.
20844
20845 * util/bash-completion.d/grub-completion.bash.in: Add function to get
20846 completions from usage. Use LC_ALL=C to get options properly.
20847
2e04a006
VS
208482010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20849
20850 * grub-core/gnulib/basename-lgpl.c: Imported.
20851 * grub-core/gnulib/basename.c: Likewise.
20852 * grub-core/gnulib/dirname-lgpl.c: Likewise.
20853 * grub-core/gnulib/dirname.c: Likewise.
20854 * grub-core/gnulib/dirname.h: Likewise.
20855 * grub-core/gnulib/stripslash.c: Likewise.
20856
5dcdf93a
VS
208572010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20858
20859 * grub-core/gnulib/error.c: Resynced.
20860 * grub-core/gnulib/getopt.c: Likewise.
20861 * grub-core/gnulib/getopt_int.h: Likewise.
20862 * grub-core/gnulib/regex.h: Likewise.
20863 * grub-core/gnulib/regex_internal.c: Likewise.
20864 * grub-core/gnulib/regex_internal.h: Likewise.
20865
014f47b7
SJ
208662010-09-15 Szymon Janc <szymon@janc.net.pl>
20867
20868 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
20869 CRC calculations and validity checks.
20870 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
20871 calculations.
20872
dd521a4a
SJ
208732010-09-15 Szymon Janc <szymon@janc.net.pl>
20874
20875 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
20876
79c4eeb9
VS
208772010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20878
20879 Fix incorrect echo options handling.
20880 Reported by: Yves Blusseau.
20881
20882 * include/grub/command.h (grub_command_flags_t): New flags
20883 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
20884 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
20885 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
20886
ed80f7d5
VS
208872010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20888
20889 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
20890 users updated.
20891 (GRUB_COMMAND_FLAG_MENU): Likewise.
20892 (GRUB_COMMAND_FLAG_BOTH): Likewise.
20893 (GRUB_COMMAND_FLAG_TITLE): Removed.
20894 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
20895 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
20896 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
20897 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
20898 (grub_command_flags_t): New enum. All users updated.
20899
5fe7620a
SG
209002010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
20901
20902 Fix solaris compilation.
20903
20904 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
20905 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
20906 (grub-emu-list): Likewise.
20907
545b752f
VS
209082010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20909
20910 Remove deprecated root command.
20911
20912 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
20913 updated.
20914
6c1a338c
VS
209152010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20916
20917 * util/i386/pc/grub-setup.c: Merge this ...
20918 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
20919 * util/grub-setup.c: ... into this.
20920 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
20921 New struct.
20922
209232010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20924
20925 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
20926 possible.
20927
d2ea4551
VS
209282010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20929
20930 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
20931 allocate p.
20932
3c3b5040
VS
209332010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20934
20935 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
20936 explicit root argument to set to prevent UUID to be interpreted as
20937 argument to set.
20938
b71c3fae
VS
209392010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20940
20941 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
20942
275433e6
VS
209432010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20944
20945 Don't export grub_gate_a20.
20946
20947 * grub-core/kern/i386/pc/init.c: Remove leftovers.
20948 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
20949 to ...
20950 (grub_gate_a20): ... this. All users updated.
20951 * include/grub/i386/pc/init.h: Removed. All users updated.
20952
a5dbb1f1
VS
209532010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20954
20955 Create euro.pf2 which supports most European languages.
20956
20957 * Makefile.am (grubdata_DATA): Add euro.pf2.
20958 (euro.pf2): New target.
20959 (CLEANFILES): Add euro.pf2.
20960
62a747cb
VS
209612010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20962
20963 * configure.ac: Disable emu-usb by default to prevent inadvertent
20964 device takeover.
20965
608e43b1
VS
209662010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20967
20968 Disable usbserial on grub-emu since our libusb code isn't good enough
20969 yet.
20970
20971 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
20972 (usbserial_pl2303): Likewise.
20973 (usbserial_ftdi): Likewise.
20974
94564f81
VS
209752010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20976
20977 * include/grub/disk.h (grub_disk): Remove has_partitions.
20978 All users updated.
20979 * disk/loopback.c (grub_loopback): Remove has_partitions.
20980 All users updated.
20981 (options): Remove partitions. All users updated.
20982 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
20983 * util/i386/pc/grub-setup.c (setup): copy partition table only when
20984 actual partition table is found.
20985
3352800b
VS
209862010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20987
20988 Remove readability checks (too many false negatives).
20989
20990 * util/grub-install.in: Remove readability checks.
20991 * util/grub-mkconfig.in: Likewise.
20992 * util/grub.d/10_hurd.in: Likewise.
20993 * util/grub.d/10_kfreebsd.in: Likewise.
20994 * util/grub.d/10_linux.in: Likewise.
20995 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
20996 way.
20997
2419f17a
VS
209982010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20999
21000 Enable acpi shutdown on all ACPI platforms.
21001
21002 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
21003 on coreboo, multiboot and EFI.
21004 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
21005 (grub_acpi_halt): Likewise.
21006 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
21007 (grub_cmd_halt): Don't call grub_acpi_halt directly.
21008 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
21009 * grub-core/lib/i386/halt.c (grub_halt)
21010 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
21011
0575c7c3
VS
210122010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21013
21014 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
21015 context.
21016
54ac3cd1
VS
210172010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21018
21019 * grub-core/video/efi_gop.c: Fix over-80-chars line.
21020 * grub-core/video/efi_uga.c: Likewise.
21021
b2a30ac5
VS
210222010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21023
21024 Filter devaliases and never open same device twice.
21025
21026 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
21027 (last_ihandle): Likewise.
21028 (ofdisk_hash_ent): New member shortest.
21029 (ofdisk_hash_add): Add canonical path too.
21030 (scan): New function.
21031 (grub_ofdisk_iterate): Iterate over hashed entries.
21032 (compute_dev_path): Don't add :0.
21033 (grub_ofdisk_open): Don't really open the disk.
21034 (grub_ofdisk_close): Avoid closing unrelated disk.
21035 (grub_ofdisk_read): Implement reopen logic.
21036 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
21037 New function.
21038 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
21039 New proto.
21040
fb53b340
VS
210412010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21042
21043 Fix sparc64.
21044
21045 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
21046 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
21047 right address. Add sparc64_ieee1275_ldflags.
21048 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
21049 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
21050 to grub_host_to_target_addr
21051 (load_image): Likewise.
21052
f452b040
VS
210532010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21054
21055 * grub-core/normal/completion.c (complete_file): Handle device
21056 containing slash.
21057 Fix based on patch by Doug Nazar.
21058
9b5b2541
VS
210592010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21060
21061 grub-mknetdir script.
21062
21063 * Makefile.util.def (grub-mknetdir): New module.
21064 * tests/util/grub-shell.in: Support boot=net
21065 * util/grub-mknetdir.in: New file.
21066
9d2be652
VS
210672010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21068
21069 videoinfo on non-vbe.
21070
21071 * grub-core/Makefile.core.def (vbeinfo): Removed.
21072 (vbetest): Removed.
21073 (videoinfo): New module.
21074 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
21075 * grub-core/commands/i386/pc/vbetest.c: Removed.
21076 * grub-core/commands/videoinfo.c: New file.
21077 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
21078 specification.
21079 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
21080 as vbetest.
21081 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
21082 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
21083 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
21084 mode_number. New parameter mode. All users updated.
21085 (grub_video_gop_iterate): New function.
21086 (grub_video_efi_gop): New member iterate.
21087 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
21088 (grub_vbe_set_video_mode): Remove setting useless fields.
21089 (vbe2videoinfo): New function.
21090 (grub_video_vbe_iterate): Likewise.
21091 (grub_video_vbe_setup): Use vbe2videoinfo.
21092 (grub_video_vbe_print_adapter_specific_info): New function.
21093 (grub_video_vbe_adapter): New fields iterate and
21094 print_adapter_specific_info.
21095 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
21096 All users updated.
21097 (grub_video_mode_info): New field mode_number.
21098 (grub_video_adapter): New fields iterate and
21099 print_adapter_specific_info.
21100
179503f5
TG
211012010-09-13 Tristan Gingold <gingold@free.fr>
211022010-09-13 Robert Millan <rmh.grub@aybabtu.com>
211032010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21104
21105 * grub-core/commands/efi/lsefisystab.c: New file.
21106 * grub-core/commands/efi/lssal.c: Likewise.
21107 * grub-core/Makefile.core.def (lsacpi): New module.
21108 (lsefisystab): Likewise.
21109 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
21110 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
21111 (grub_efi_sal_system_table): New struct.
21112 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
21113 (grub_efi_sal_system_table_memory_descriptor): Likewise.
21114 (grub_efi_sal_system_table_platform_features): Likewise.
21115 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
21116 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
21117 (grub_efi_sal_system_table_ap_wakeup): Likewise.
21118 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
21119
cf9827de
VS
211202010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21121
21122 Support explicit user claim that a device is BIOS-visible.
21123
21124 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
21125 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
21126 * grub-core/kern/emu/hostdisk.c
21127 (convert_system_partition_to_system_disk): Support mdX.
21128 (find_system_device): New parameter add. All users updated.
21129 (grub_util_biosdisk_is_present): New function.
21130 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
21131 proto.
21132
53f0eb1f
VS
211332010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21134
21135 Search hints support.
21136
21137 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
21138 All users updated.
21139
b23ffd70
YB
211402010-09-13 Yves Blusseau <blusseau@zetam.org>
21141
21142 Bash completion script for util commands
21143
21144 * Makefile.am: Add util/bash-completion.d directory
21145 * configure.ac: Likewise.
21146 * util/bash-completion.d/Makefile.am: New file.
21147 * util/bash-completion.d/grub-completion.bash.in: Likewise.
21148
d547dc28
VS
211492010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21150
21151 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
21152 (print_backlog): set backlog_ucs4 and backlog_glyphs.
21153 Reported by: Yves Blusseau.
21154
2fc8ccb9
VS
211552010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21156
21157 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
21158 partition size and offset.
21159
d8a84076
VS
211602010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21161
21162 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
21163
84fb3b3d
VS
211642010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21165
21166 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
21167
768ec2e2
VS
211682010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21169
21170 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
21171 (grub_xvasprintf): Likewise.
21172
4870900f
VS
211732010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21174
21175 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
21176
faca6bec
VS
211772010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21178
21179 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
21180 args ending with NULL.
21181
211822010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
21183
21184 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
21185 pointer.
21186
3c70f225
SJ
211872010-09-11 Szymon Janc <szymon@janc.net.pl>
21188
21189 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
21190
4df7996d
VS
211912010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21192
21193 Shutdown using ACPI.
21194
21195 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
21196 * grub-core/commands/acpihalt.c: New file.
21197 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
21198 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
21199 (grub_acpi_halt): New proto.
21200 (GRUB_ACPI_SLP_EN): New const.
21201 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
21202 (GRUB_ACPI_OPCODE_*): New enum.
21203 (GRUB_ACPI_EXTOPCODE_*): Likewise.
21204
126b4c32
TG
212052010-09-11 Tristan Gingold <gingold@free.fr>
212062010-09-11 Robert Millan <rmh.grub@aybabtu.com>
212072010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21208
21209 * commands/lsacpi.c: New file.
21210 * grub-core/Makefile.core.def (lsacpi): New module.
21211 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
21212 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
21213 (grub_acpi_madt_entry_header): New struct.
21214 (grub_acpi_madt): Likewise.
21215 (grub_acpi_madt_entry_interrupt_override): Likewise.
21216 (grub_acpi_madt_entry_sapic): Likewise.
21217 (grub_acpi_madt_entry_lsapic): Likewise.
21218 (grub_acpi_madt_entry_platform_int_source): Likewise.
21219 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
21220 (PRIuGRUB_UINT32_T): Likewise.
21221 (PRIxGRUB_UINT64_T): Likewise.
21222
1aa4fe88
VS
212232010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21224
21225 Implement loading palette on ieee1275_fb.
21226
21227 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
21228 (have_setcolors): Likewise.
21229 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
21230 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
21231 (grub_video_ieee1275_set_palette): Implement.
21232
25761e13
VS
212332010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
212342010-09-11 Colin Watson <cjwatson@ubuntu.com>
21235
21236 * util/grub-install.in (grub_partition): New variable.
21237 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
21238 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
21239 Fixes a bug reported by Yves Blusseau.
21240
050abaea
VS
212412010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21242
21243 Fix emu on mipsel.
21244
21245 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
21246 =grub_cpu_flush_cache on all mips and not only yeeloong.
21247 * configure.ac (COND_mips): New conditional.
21248 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
21249 platforms.
21250 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
21251 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
21252 [GRUB_LINKER_HAVE_INIT]: New function.
21253 (grub_emu_post_init): Likewise.
21254 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
21255 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
21256 * include/grub/cache.h (_mips): Include mips/cache.h.
21257 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
21258 LVM and RAID prototypes.
21259 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
21260 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
21261 function.
21262
5ed7d816
CW
212632010-09-10 Colin Watson <cjwatson@ubuntu.com>
21264
21265 * util/grub-install.in: Don't try to verify core.img until after
21266 running grub-mkimage to create it.
21267
90367e04
RM
212682010-09-10 Robert Millan <rmh@gnu.org>
21269
21270 * util/grub.d/10_hurd.in: Add misc readability checks.
21271 * util/grub.d/10_kfreebsd.in: Likewise.
21272 * util/grub.d/10_linux.in: Likewise.
21273
c452fa66
CW
212742010-09-10 Colin Watson <cjwatson@ubuntu.com>
21275
21276 * util/grub-install.in: ${imgext} won't be defined here until the
21277 install branch is merged. For the meantime, only verify core.img on
21278 i386-pc and sparc64-ieee1275 platforms.
21279
c38fe9f4
RM
212802010-09-10 Robert Millan <rmh@gnu.org>
21281
21282 Solaris support in grub_find_zpool_from_dir(). Thanks
21283 Seth Goldberg for referring to getextmntent() facility.
21284
21285 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
21286 `sys/mkdev.h'.
21287 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
21288 `<sys/mnttab.h>'.
21289 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
21290 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
21291 method for finding zpool name.
21292
905f7773
CW
212932010-09-10 Colin Watson <cjwatson@ubuntu.com>
21294
21295 grub-fstest needs the host and hostfs modules while other utilities
21296 actively require those modules to be absent, so grub-fstest needs
21297 its own initialisation and finalisation code.
21298
21299 * Makefile.am (grub_fstest.pp): New target.
21300 (grub_fstest_init.lst): Likewise.
21301 (grub_fstest_init.c): Likewise.
21302 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
21303
fb90b546
RM
213042010-09-10 Robert Millan <rmh@gnu.org>
21305
21306 * configure.ac: Check for `struct statfs.f_fstypename' and
21307 `struct statfs.f_mntfromname'.
21308
21309 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
21310 kFreeBSD-specific code.
21311
66d4bea5
RM
213122010-09-10 Robert Millan <rmh@gnu.org>
21313
21314 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
21315 on ZFS. Now non-main filesystems are supported as / too.
21316
b6a690ee
CW
213172010-09-09 Colin Watson <cjwatson@ubuntu.com>
21318
21319 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
21320 and grub-core/disk/host.c to ...
21321 (grub-fstest): ... here. Having the host disk implementation
21322 present confuses grub-probe and other utility programs.
21323
21324 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
21325 when writing to a file, not when writing to stdout.
21326
8901b00c 213272010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
21328
21329 * tests/partmap_test.in: New test for partitions.
21330 * Makefile.util.def: Rules for new test.
21331
7bf45fdd
RM
213322010-09-09 Robert Millan <rmh@gnu.org>
21333
21334 * util/grub-probe.c (probe): Fix a pair of unhandled error
21335 conditions.
21336
4dfbc574
RM
213372010-09-09 Robert Millan <rmh@gnu.org>
21338
21339 Basic Btrfs support (detection and UUID).
21340
21341 * grub-core/fs/btrfs.c: New file.
21342 * Makefile.util.def (library): Register btrfs.c.
21343 * grub-core/Makefile.core.def: Likewise.
21344
6b8e78ae
RM
213452010-09-08 Robert Millan <rmh@gnu.org>
21346
21347 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
21348 with (optional) parameters to specify device and relative path.
21349 * util/grub-install.in: Use is_path_readable_by_grub() to
21350 verify readability of a few critical files.
21351 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
21352 verify readability of grub.cfg.new.
21353
27f21a8b
VS
213542010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
21355
21356 Split minix.mod into minix.mod and minix2.mod.
21357
21358 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
21359 * grub-core/Makefile.core.def (minix2): New module.
21360 * grub-core/fs/minix.c: Use definitions instead of runtime version
21361 checking.
21362 * grub-core/fs/minix2.c: New file.
21363
c0e53ea5
YB
213642010-09-08 Yves Blusseau <blusseau@zetam.org>
21365
21366 Add new --boot-directory option to replace --root-directory
21367
21368 * util/grub-install.in: Add new --boot-directory option
21369 * util/grub-reboot.in: Likewise.
21370 * util/grub-set-default.in: Likewise.
21371
b9fe6ea2
YB
213722010-09-08 Yves Blusseau <blusseau@zetam.org>
21373
21374 * util/grub-mkconfig.in: Use new variable.
21375
d87aedff
YB
213762010-09-08 Yves Blusseau <blusseau@zetam.org>
21377
21378 * configure.ac: Define some useful variables.
21379
e55e8495
VS
213802010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
21381
21382 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21383 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
21384 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
21385 Use terminfo and don't use cursor-on/cursor-off unless it's known
21386 to work.
21387 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
21388 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
21389
6fa6d675
CW
213902010-09-08 Colin Watson <cjwatson@ubuntu.com>
21391
21392 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
21393 starts with "(,", fill the drive containing the loaded image in
21394 between those two characters, but expect that a full partition
21395 specification including partition map names will follow.
21396
92f2aef0
RM
213972010-09-08 Robert Millan <rmh@gnu.org>
21398
21399 * configure.ac: Remove `--enable-grub-fstest' option.
21400 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
21401
21402 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
21403 `grub-fstest' instead of `grub-probe' for readability verification.
21404 * util/grub-probe.c (probe): Remove readability verification kludge.
21405
99fd620d
RM
214062010-09-08 Robert Millan <rmh@gnu.org>
21407
21408 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
21409 initializing `GRUB_FS'.
21410
058e30ac 214112010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
21412
21413 Not command (!) support to GRUB script.
21414
21415 * tests/grub_script_not.in: New test.
21416 * Makefile.util.def: Rules for new test.
21417
21418 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
21419 ! command as a special case.
21420 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
21421
b61d05ed 214222010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
21423
058e30ac 21424 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
21425 grub_free.
b61d05ed 21426
4d69c786 214272010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
21428
21429 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
21430
aa3119c4 214312010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
21432
21433 * docs/grub.texi (Shell-like scripting): Documentation for break,
21434 continue, shift and return commands.
21435
db0f7e3d
VS
214362010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
21437
21438 Rename CD-ROM to cd on BIOS.
21439
21440 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
21441 "cd".
21442 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
21443
88b87c93
VS
214442010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21445
21446 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
21447 * util/grub-probe.c (main): Likewise.
21448 * util/i386/pc/grub-setup.c (main): Likewise.
21449 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
21450 Reported and debugged by: alexxy
21451
294f324d
VS
214522010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21453
21454 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
21455 diagnostic info.
21456
d7ee3441
JS
214572010-09-05 Jo Shields <directhex@apebox.org>
21458
21459 * util/grub.d/30_os-prober.in: Add missing classes.
21460
d7e06c1f
VS
214612010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21462
21463 * docs/grub.texi (Theme file format): Document new position format.
21464
fc157e53
VS
214652010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21466
21467 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
21468 a table. Use @code instead of @verbatim.
21469
506e9a1c
CB
214702010-09-05 Colin D Bennett <colin@gibibit.com>
21471
21472 Gfxmenu documentation.
21473
21474 * docs/grub.texi (Theme file format): New chapter.
21475
f0aff67c
SJ
214762010-09-05 Szymon Janc <szymon@janc.net.pl>
21477
21478 * grub-core/Makefile.core.def (xzio): New module.
21479 * grub-core/io/xzio.c: New file.
21480 * grub-core/lib/xzembed/xz.h: New file (from xembed).
21481 * grub-core/lib/xzembed/xz_config.h: Likewise.
21482 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
21483 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
21484 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
21485 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
21486 * grub-core/lib/xzembed/xz_private.h: Likewise.
21487 * grub-core/lib/xzembed/xz_stream.h: Likewise.
21488 * include/grub/file.h (grub_file_filter_id): New compression filter
21489 GRUB_FILE_FILTER_XZIO.
21490
82a85062
VS
214912010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21492
21493 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
21494 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
21495 size.
21496
3579415d
VS
214972010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21498
21499 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
21500 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
21501
5124ae6d
VS
215022010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21503
21504 Uncompressed checksum support.
21505
21506 * grub-core/commands/hashsum.c (options): Add option --uncompress.
21507 (check_list): New parameter uncompress.
21508 (grub_cmd_hashsum): Handle --uncompress.
21509
9aadb3d1
VS
215102010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21511
21512 Reintroduce testload.
21513
21514 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
21515 from here ...
21516 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
21517 (GRUB_MOD_INIT): New function.
21518 (GRUB_MOD_FINI): Likewise.
21519 * grub-core/Makefile.core.def (testload): New module.
21520
a17792c3
SJ
215212010-09-05 Szymon Janc <szymon@janc.net.pl>
21522
21523 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
21524 (uint8_t): New type.
21525 (uint16_t): Likewise.
21526 (uint32_t): Likewise.
21527 (uint64_t): Likewise.
21528
b81e40a3
SJ
215292010-09-05 Szymon Janc <szymon@janc.net.pl>
21530
21531 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
21532
fc2ef117
VS
215332010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21534
21535 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
21536 Made static.
21537 (grub_gzfile_open): Removed. All users updated.
21538 (GRUB_MOD_INIT): New function.
21539 (GRUB_MOD_FINI): Likewise.
21540 * grub-core/kern/file.c (grub_file_filters_all): New variable.
21541 (grub_file_filters_enabled): Likewise.
21542 (grub_file_open): Handle filters.
21543 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
21544 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
21545 * include/grub/file.h (grub_file_filter_id_t): New type.
21546 (grub_file_filter_t): Likewise.
21547 (grub_file_filters_all): New extern variable.
21548 (grub_file_filters_enabled): Likewise.
21549 (grub_file_filter_register): New inline function.
21550 (grub_file_filter_unregister): Likewise.
21551 (grub_file_filter_disable): Likewise.
21552 (grub_file_filter_disable_compression): Likewise.
21553 * include/grub/gzio.h: Removed.
21554
35ee15e0
BC
215552010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21556
21557 Filename expansion support for wildcards in GRUB script.
21558
21559 * tests/grub_script_expansion.in: New test.
21560 * Makefile.util.def: Rule for new test.
21561
21562 * grub-core/commands/wildcard.c: New file, implements filename
21563 expansion support for GRUB script.
21564 * grub-core/Makefile.core.def: Rule update for regexp.mod.
21565 * grub-core/script/argv.c: Cosmetic changes.
21566 * grub-core/script/execute.c (grub_script_arglist_to_argv):
21567 Refactored to perform wildcard expansion on arguments.
21568 * include/grub/script_sh.h (grub_script_wildcard_translator): New
21569 struct.
21570
21571 * tests/util/grub-shell.in: Fix quoting for read input.
21572
5f0c4aca
BC
215732010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21574
21575 Support for updating environment variables with matched substrings
21576 of regexp.
21577
21578 * tests/grub_cmd_regexp.in: New test.
21579 * Makefile.util.def: Rule for new test.
21580
21581 * grub-core/commands/regexp.c: New option -s to update environment
21582 variables with regexp matches.
21583
3759a35f
SJ
215842010-09-04 Szymon Janc <szymon@janc.net.pl>
21585
21586 * include/grub/file.h (grub_file): New member not_easly_seekable.
21587 (grub_file_seekable): New inline function.
21588 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
21589 easily seekable.
21590 (grub_gzio_open): Set not_easly_seekable.
21591 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
21592 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
21593
ed8c6dec
BC
215942010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21595
21596 Support for options to appear multiple times on cmdline.
21597
21598 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
21599 * grub-core/commands/extcmd.c: Support for repeatable option.
21600 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
21601 repeatable option support.
21602
21603 Refactor menuentry into a regular command.
21604
21605 * grub-core/commands/menuentry.c: New file, menuentry command
21606 implementation.
21607 * grub-core/Makefile.core.def: Rule update for normal.mod.
21608 * grub-core/normal/main.c: Moved menuentry creation to
21609 grub-core/commands/menuentry.c.
21610 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
21611 (grub_menu_execute_entry_real): Removed.
21612 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
21613 function.
21614 (grub_script_execute_menuentry): Removed.
21615 * grub-core/script/parser.y (menuentry): Removed.
21616 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
21617 * grub-core/script/yylex.l (menuentry): Removed.
21618 * include/grub/menu.h (grub_menu_init): New prototype.
21619 (grub_menu_fini): New prototype.
21620 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
21621 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
21622 (grub_script_execute_sourcecode): New prototype.
21623
dacd0cf0
BC
216242010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21625
21626 "return" command for GRUB script functions.
21627
21628 * tests/grub_script_return.in: New test.
21629 * Makefile.util.def: Rules for new test.
21630
21631 * grub-core/script/execute.c (grub_script_return): New function.
21632 * grub-core/script/main.c: Register/unregister return commaond.
21633 * include/grub/script_sh.h (grub_script_return): New prototype.
21634
52e72f9d
BC
216352010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21636
21637 "setparams" command to update positional parameters.
21638
21639 * tests/grub_script_setparams.in: New test.
21640 * Makefile.util.def: Rules for new test.
21641
21642 * grub-core/script/argv.c (grub_script_argv_make): New function.
21643 * grub-core/script/execute.c (replace_scope): New function.
21644 (grub_script_setparams): New function.
21645 * grub-core/script/lexer.c: Remove unused variables.
21646 * grub-core/script/main.c: Register/unregister setparams command.
21647 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
21648 (grub_script_setparams): New prototype.
21649
25b60c91
BC
216502010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21651
21652 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
21653 grub_free order.
21654
37e7bf68
BC
216552010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21656
21657 Support for passing block of commands as an argument to extcmds.
21658
21659 * Makefile.util.def: Rules for new test.
21660 * tests/grub_script_blockarg.in: New test.
21661 * grub-core/tests/test_blockarg.c: New file, block argument
21662 command used in the test.
21663
21664 * include/grub/extcmd.h (grub_extcmd_context): New struct.
21665 (grub_register_extcmd_prio): New function prototype.
21666 (grub_extcmd_dispatcher): New function prototype.
21667 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
21668 type.
21669 * include/grub/script_sh.h (struct grub_script): New members
21670 `children', `next_siblings' and `refcnt' for block arguments and
21671 reference counting.
21672 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
21673 (grub_script_arg): New member `script' for block argument.
21674 (grub_script_argv): New member `script' for block argument.
21675 (grub_parser_param): New member `scripts' for block argument.
21676 (grub_script_mem_free): New extern function prototype.
21677 (grub_script_ref): New function prototype.
21678 (grub_script_unref): New function prototype.
21679
21680 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
21681 extcmd form to support block arguments.
21682 * grub-core/script/argv.c: Block arguments support.
21683 * grub-core/script/execute.c: Likewise.
21684 * grub-core/script/lexer.c: Likewise.
21685 * grub-core/script/main.c: Likewise.
21686 * grub-core/script/script.c: Likewise.
21687 * grub-core/script/parser.y: Likewise. New `block' and `block0'
21688 non-terminals.
21689
21690 * grub-core/commands/acpi.c: Update extcmd implementations with
21691 grub_extcmd_context_t.
21692 * grub-core/commands/cat.c: Likewise.
21693 * grub-core/commands/echo.c: Likewise.
21694 * grub-core/commands/extcmd.c: Likewise.
21695 * grub-core/commands/hashsum.c: Likewise.
21696 * grub-core/commands/hdparm.c: Likewise.
21697 * grub-core/commands/help.c: Likewise.
21698 * grub-core/commands/hexdump.c: Likewise.
21699 * grub-core/commands/i386/cpuid.c: Likewise.
21700 * grub-core/commands/i386/pc/drivemap.c: Likewise.
21701 * grub-core/commands/i386/pc/halt.c: Likewise.
21702 * grub-core/commands/i386/pc/sendkey.c: Likewise.
21703 * grub-core/commands/iorw.c: Likewise.
21704 * grub-core/commands/keystatus.c: Likewise.
21705 * grub-core/commands/loadenv.c: Likewise.
21706 * grub-core/commands/ls.c: Likewise.
21707 * grub-core/commands/lspci.c: Likewise.
21708 * grub-core/commands/memrw.c: Likewise.
21709 * grub-core/commands/probe.c: Likewise.
21710 * grub-core/commands/search_wrap.c: Likewise.
21711 * grub-core/commands/setpci.c: Likewise.
21712 * grub-core/commands/sleep.c: Likewise.
21713 * grub-core/disk/loopback.c: Likewise.
21714 * grub-core/hello/hello.c: Likewise.
21715 * grub-core/loader/i386/bsd.c: Likewise.
21716 * grub-core/loader/xnu.c: Likewise.
21717 * grub-core/term/gfxterm.c: Likewise.
21718 * grub-core/term/serial.c: Likewise.
21719 * grub-core/tests/lib/functional_test.c: Likewise.
21720
888d1500
BC
217212010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21722
21723 Multi-line quoted strings support.
21724
21725 * grub-core/script/lexer.c (append_newline): Removed.
21726 (grub_script_lexer_yywrap): Refactored.
21727 (grub_script_lexer_init): Refactored.
21728 * grub-core/script/yylex.l (yywrap): New function.
21729 (grub_lexer_resplit): New function.
21730 (grub_lexer_unput): New function.
21731 * include/grub/script_sh.h (grub_lexer_param): New members, unput
21732 and resplit.
21733 * tests/grub_script_echo1.in: Added few more testcases.
21734
dda060dd
VS
217352010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
21736
21737 * grub-core/kern/misc.c: Don't add abort alias in utils.
21738 Reported by: echoline.
21739
6556eba9
BC
217402010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
21741
21742 Add missing files into "make dist" tarball for other platforms.
21743
21744 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
21745 * conf/Makefile.common (dist_noinst_DATA): New variable.
21746 * conf/Makefile.extra-dist: Added missing make dist files.
21747 * grub-core/Makefile.core.def: Likewise.
21748
c8e7bf5f
VS
217492010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
21750
21751 Compress grub_prefix.
21752
21753 * grub-core/boot/i386/pc/lnxboot.S: Use
21754 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
21755 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
21756 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
21757 GRUB_MACHINE_PREFIX_END. All users updated.
21758 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
21759 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
21760 + 0x40.
21761 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
21762 * util/grub-mkimage.c (image_target_desc): Change data_end to
21763 prefix_end. All users updated.
21764
a7c00cdb
VS
217652010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
21766
21767 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
21768 value.
21769 (grub_openbsd_boot): Likewise.
21770 (grub_netbsd_boot): Likewise.
21771 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
21772 (grub_xnu_boot): Likewise.
21773
9f915872
VS
217742010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21775
21776 * configure.ac: Clean LIBS variable after tests.
21777
efa1bee7
CW
217782010-09-02 Colin Watson <cjwatson@ubuntu.com>
21779
21780 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
21781
61d720e5
VS
217822010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21783
21784 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
21785 echo if libdevmapper will be used.
21786
ef8e0ec8
IT
217872010-09-02 Ian Turner <Ian.Turner@deshaw.com>
21788
21789 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
21790 constant for the same file.
21791
03e261d8
VS
217922010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21793
21794 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
21795
c2a4eba6
CW
217962010-09-02 Colin Watson <cjwatson@ubuntu.com>
21797
21798 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
21799 grub-core/*.pp.
21800
9056cbf3
CW
218012010-09-02 Colin Watson <cjwatson@ubuntu.com>
21802
21803 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
21804 required by the boot protocol.
21805
21806 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
21807 ebp and edi members.
21808 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
21809 state.ebp and state.edi.
21810 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
21811 %ebp and %edi according to grub_relocator32_ebp and
21812 grub_relocator32_edi respectively.
21813 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
21814 and state.edi.
21815
529cc99a
VS
218162010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21817
21818 Add i386-pc-pxe image target.
21819
21820 * util/grub-mkimage.c (image_target_desc): New enum value
21821 IMAGE_I386_PC_PXE.
21822 (image_targets): New target i386-pc-pxe.
21823 (generate_image): Handle i386-pc-pxe image.
21824
9a093920
VS
218252010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21826
21827 Fix grub_pxe_scan.
21828
21829 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
21830 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
21831 All users updated.
21832 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
21833 (grub_pxe_pxenv): Correct type.
21834
f9cefc4e
CW
218352010-09-01 Colin Watson <cjwatson@ubuntu.com>
21836
21837 * NEWS: Document most of the important changes since 1.98.
21838
4066f57f
CW
218392010-09-01 Colin Watson <cjwatson@ubuntu.com>
21840
21841 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
21842 generated manual page) a little.
21843
da2891f9
CW
218442010-09-01 Colin Watson <cjwatson@ubuntu.com>
21845
21846 * docs/grub.texi: Add myself as an author.
21847
ad717fae
VS
218482010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
21849
21850 * Makefile.util.def (libgrub.a): Add missing sunpc.
21851 Reported by: Seth Goldberg.
21852
eefe8abd
VS
218532010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21854
21855 Interrupt wrapping and code simplifications.
21856
9494ef9a
VS
21857 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
21858 x86_noieee1275 which are functionaly equivalent in this case.
21859 (grub-install): Make source on each platform explicit. Enable on
21860 all noemu.
21861 * gentpl.py (x86_efi_pc): Removed group.
21862 (x86_noefi): Likewise.
21863 (i386_noefi): Likewise.
21864 (x86_noieee1275): Likewise.
21865 (i386_noieee1275): Likewise.
21866 (i386_noefi_noieee1275): Likewise.
21867 (i386_pc_qemu_coreboot): Likewise.
21868 (i386_coreboot_multiboot): Likewise.
21869 (i386_pc_coreboot_multiboot_qemu): Likewise.
21870 (x86_noefi_mips): Likewise.
21871 (noieee1275): Likewise.
21872 (ieee1275_mips): Likewise.
21873 (noemu_noieee1275): Likewise.
21874 (cmos): New group.
21875 (usb): Likewise.
21876 (videoinkernel): Likewise.
21877 (videomodules): Likewise.
eefe8abd 21878 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
21879 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
21880 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
21881 include/grub/loader.h, include/grub/msdos_partition.h,
21882 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
21883 include/grub/machine/console.h, include/grub/machine/vga.h,
21884 include/grub/machine/vbe.h, include/grub/machine/init.h,
21885 include/grub/machine/kernel.h, include/grub/cpu/time.h,
21886 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 21887 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
21888 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
21889 * grub-core/Makefile.core.def (kernel): Explicit the source for
21890 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
21891 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
21892 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
21893 Use videoinkernel tag.
21894 (usb): Enable on all usb.
21895 (usbserial_common): Likewise.
21896 (usbserial_pl2303): Likewise.
21897 (usbserial_ftdi): Likewise.
21898 (uhci): Enable on all x86.
21899 (ohci): Enable on all pci.
21900 (cmostest): Enable on all CMOS.
21901 (acpi): Include commands/acpi.c on all platforms.
21902 (halt): Add relevant lib/*/halt.c.
21903 (hdparm): Enable on all pci.
21904 (lspci): Likewise.
21905 (usbtest): Enable on all usb.
21906 (ata): Enable on all pci.
21907 (ata_pthru): Likewise.
21908 (usbms): Enable on all usb.
21909 (usb_keyboard): Likewise.
21910 (font): Use tag videomodules.
21911 (bufio): Likewise.
21912 (datetime): Use tag cmos. Enable on all noemu.
21913 (mmap): Use tags common and x86.
21914 (gfxterm): Use tag videomodules.
21915 (bitmap): Likewise.
21916 (bitmap_scale): Likewise.
21917 (video_fb): Likewise.
21918 (video): Likewise.
21919 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
21920 adjust padding accordingly. All users updated.
21921 (grub_ohci_transaction): Fix bad format specification.
21922 (GRUB_MOD_INIT): Add asserts for struct size.
21923 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
21924 (grub_alloc_td): Likewise.
21925 (grub_free_queue): Likewise.
21926 (grub_uhci_transfer): Likewise.
21927 (grub_uhci_transaction): Fix bad format specification.
21928 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
21929 (grub_usb_bulk_readwrite): Likewise.
21930 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
21931 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
21932 Made static.
21933 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
21934 Made static.
21935 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
21936 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
21937 Transformed into C.
21938 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
21939 Moved from here ...
21940 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
21941 ... here. Transformed into C. Made static.
21942 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
21943 Moved from here ...
21944 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
21945 ... here. Transformed into C. Made static.
21946 * grub-core/kern/i386/pc/startup.S
21947 (grub_biosdisk_check_int13_extensions): Moved from here ...
21948 * grub-core/disk/i386/pc/biosdisk.c
21949 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
21950 Made static.
21951 * grub-core/kern/i386/pc/startup.S
21952 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
21953 * grub-core/disk/i386/pc/biosdisk.c
21954 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
21955 Transformed into C. Made static.
21956 * grub-core/kern/i386/pc/startup.S
21957 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
21958 * grub-core/disk/i386/pc/biosdisk.c
21959 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
21960 Transformed into C. Made static.
21961 * grub-core/kern/i386/pc/startup.S
21962 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
21963 * grub-core/disk/i386/pc/biosdisk.c
21964 (grub_biosdisk_get_diskinfo_standard): ... here.
21965 Transformed into C. Made static.
21966 * grub-core/kern/i386/pc/startup.S
21967 (grub_biosdisk_get_num_floppies): Moved from here ...
21968 * grub-core/disk/i386/pc/biosdisk.c
21969 (grub_biosdisk_get_num_floppies): ... here.
21970 Transformed into C. Made static.
21971 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
21972 New function.
21973 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
21974 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
21975 Transformed into C. Made static.
21976 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
21977 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
21978 Transformed into C. Made static.
21979 * grub-core/kern/i386/ieee1275/init.c: Removed.
21980 * grub-core/kern/i386/misc.S: Likewise.
21981 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
21982 Splitted from here ...
21983 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
21984 Transformed into C. Made static. All users updated.
21985 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
21986 Transformed into C. Made static. All users updated.
21987 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
21988 Moved from here...
21989 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
21990 Transformed into C. Made static. All users updated.
21991 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
21992 Moved from here...
21993 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
21994 Transformed into C. Made static. All users updated.
21995 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
21996 Removed (replaced by C version).
21997 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
21998 Moved from here...
21999 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
22000 Transformed into C. Made static.
22001 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
22002 Moved from here...
22003 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
22004 ... here. Transformed into C.
22005 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
22006 Moved from here...
22007 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
22008 ... here. Transformed into C.
22009 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
22010 Moved from here...
22011 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
22012 ... here. Transformed into C. Made static.
22013 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
22014 Moved from here...
22015 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
22016 ... here. Transformed into C.
21ed554b
VS
22017 * grub-core/kern/i386/pc/startup.S
22018 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
22019 * grub-core/video/i386/pc/vbe.c
22020 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
22021 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
22022 Moved from here...
22023 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
22024 ... here. Transformed into C.
22025 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
22026 Moved from here...
22027 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
22028 ... here. Transformed into C.
22029 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
22030 Moved from here...
22031 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
22032 ... here. Transformed into C.
22033 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
22034 Moved from here...
22035 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
22036 ... here. Transformed into C.
22037 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
22038 Moved from here...
22039 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
22040 ... here. Transformed into C. Made static.
22041 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
22042 Moved from here...
22043 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
22044 ... here. Transformed into C. Made static.
22045 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
22046 Moved from here...
22047 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
22048 ... here. Transformed into C. Made static.
22049 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
22050 pxe_rm_entry as third argument.
22051 (grub_bios_interrupt): New function.
22052 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
22053 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
22054 of calling grub_stop.
22055 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
22056 * grub-core/lib/efi/halt.c (grub_halt): ...here.
22057 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
22058 * grub-core/lib/emu/halt.c (grub_halt): ... here.
22059 * grub-core/lib/i386/halt.c: Moved from here ...
22060 * grub-core/lib/i386/halt.c: ... here.
22061 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
22062 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
22063 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
22064 grub_stop_floppy.
22065 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
22066 * include/grub/i386/coreboot/init.h: Removed.
22067 * include/grub/i386/multiboot/init.h: Likewise.
22068 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
22069 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
22070 * include/grub/i386/pc/int.h: New file.
22071 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
22072 (grub_pxe_scan): Removed.
22073 (grub_pxe_call): Update prototype.
22074 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
22075 prototypes.
22076 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
22077 * include/grub/i386/qemu/init.h: Removed.
22078 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
22079 noreturn.
22080 (grub_halt): Likewise.
22081 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
22082 (grub_reboot): Likewise.
22083 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
22084 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
22085 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
22086
215dd471
RM
220872010-08-30 Robert Millan <rmh@gnu.org>
22088
22089 * NEWS: Document addition of ZFS support in `grub-install' and
22090 `grub-mkconfig'.
22091
ebd65b82
BC
220922010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
22093
22094 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
22095 dprintf output.
22096
11721d19
VS
220972010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22098
22099 Remove leftover embedding of font objects.
22100
22101 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
22102 * util/grub-install.in (font): Removed.
22103 * util/grub-mkimage.c (generate_image): Remove font support. All users
22104 updated.
22105
37837d4e
VS
221062010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22107
22108 Remove leftover embedding of font objects.
22109
22110 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
22111 * util/grub-install.in (font): Removed.
22112 * util/grub-mkimage.c (generate_image): Remove font support. All users
22113 updated.
22114
b4c1aae0
VS
221152010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22116
22117 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 22118 Reported by: Ian Turner
b4c1aae0 22119
8920a08d
VS
221202010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22121
22122 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
22123 timeout to avoid indefinite boot stalling.
22124
f21db033
VS
221252010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22126
22127 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
22128 (grub_env_write_color_highlight): Likewise.
22129
9a9de209
VS
221302010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22131
22132 * grub-core/normal/term.c (print_more): Return to normal and not
22133 to standard state after printing "---MORE---".
22134
3dca01d7
VS
221352010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22136
22137 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
22138 Mask out the bit 0x80 since it has other meaning that specifiing color.
22139
0b986c40
VS
221402010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22141
22142 New relocator. Allows for more kernel support and more straightforward
22143 loader writing.
22144
22145 * Makefile.am (BOOTTARGET): New variable.
22146 (QEMU32): Likewise.
22147 (linux.init.x86_64): New target.
22148 (linux.init.i386): Likewise.
22149 (multiboot.elf): Likewise.
22150 (kfreebsd.elf): Likewise.
22151 (kfreebsd.aout): Likewise.
22152 (pc-chainloader.elf): Likewise.
22153 (pc-chainloader.bin): Likewise.
22154 (ntldr.elf): Likewise.
22155 (ntldr.bin): Likewise.
22156 (multiboot2.elf): Likewise.
22157 (kfreebsd.init.x86_64): Likewise.
22158 (kfreebsd.init.i386): Likewise.
22159 (knetbsd.init.i386): Likewise.
22160 (kopenbsd.init.i386): Likewise.
22161 (knetbsd.init.x86_64): Likewise.
22162 (kopenbsd.init.x86_64): Likewise.
22163 (linux-initramfs.i386): Likewise.
22164 (linux-initramfs.x86_64): Likewise.
22165 (kfreebsd-mfsroot.i386.img): Likewise.
22166 (knetbsd.image.i386): Likewise.
22167 (kopenbsd.image.i386): Likewise.
22168 (kopenbsd.image.x86_64): Likewise.
22169 (knetbsd.miniroot-image.i386.img): Likewise.
22170 (kfreebsd-mfsroot.x86_64.img): Likewise.
22171 (knetbsd.image.x86_64): Likewise.
22172 (knetbsd.miniroot-image.x86_64.img): Likewise.
22173 (kfreebsd-mfsroot.i386.gz): Likewise.
22174 (bootcheck-kfreebsd-i386): Likewise.
22175 (kfreebsd-mfsroot.x86_64.gz): Likewise.
22176 (bootcheck-kfreebsd-x86_64): Likewise.
22177 (knetbsd.miniroot-image.i386.gz): Likewise.
22178 (bootcheck-knetbsd-i386): Likewise.
22179 (bootcheck-kopenbsd-i386): Likewise.
22180 (bootcheck-kopenbsd-x86_64): Likewise.
22181 (knetbsd.miniroot-image.x86_64.gz): Likewise.
22182 (bootcheck-knetbsd-x86_64): Likewise.
22183 (bootcheck-linux-i386): Likewise.
22184 (bootcheck-linux-x86_64): Likewise.
22185 (bootcheck-linux16-i386): Likewise.
22186 (bootcheck-linux16-x86_64): Likewise.
22187 (bootcheck-multiboot): Likewise.
22188 (bootcheck-multiboot2): Likewise.
22189 (bootcheck-kfreebsd-aout): Likewise.
22190 (bootcheck-pc-chainloader): Likewise.
22191 (bootcheck-ntldr): Likewise.
22192 (CLEANFILES): Add new targets.
22193 (BOOTCHECKS): New variable.
22194 (.PHONY): Add bootchecks.
22195 (SUCCESSFUL_BOOT_STRING): New variable.
22196 (BOOTCHECK_TIMEOUT): Likewise.
22197 (bootcheck): New target
22198 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
22199 * configure.ac: Correct efiemu excuse.
22200 * docs/grub.texi (Supported kernels): New chapter.
22201 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
22202 include/grub/mm_private.h. Simplify inclusion of
22203 include/grub/boot.h, include/grub/loader.h
22204 and include/grub/msdos_partition.h
22205 (KERNEL_HEADER_FILES) [i386_coreboot]:
22206 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
22207 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
22208 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
22209 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
22210 include/grub/machine/loader.h.
22211 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
22212 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
22213 extra_dist.
22214 (pci.mod): Enable on i386-multiboot.
22215 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
22216 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
22217 i386-qemu.
22218 (relocator.mod): Rewritten.
22219 (aout.mod): Enable on all x86.
22220 (bsd.mod): Likewise.
22221 (ntldr.mod): New module.
22222 (linux.mod): Use loader/i386/linux.c on all x86.
22223 (xnu.mod): Enable on all x86.
22224 (vga_text.mod): disable on EFI and QEMU.
22225 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
22226 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
22227 * grub-core/efiemu/loadcore.c: Likewise.
22228 * grub-core/efiemu/main.c: Likewise.
22229 (grub_efiemu_exit_boot_services): Removed.
22230 (grub_efiemu_finish_boot_services): Likewise.
22231 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
22232 function.
22233 * grub-core/efiemu/i386/nocfgtables.c: New file.
22234 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
22235 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
22236 (grub_efi_finish_boot_services): Moved from here ...
22237 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
22238 Fille finish memory map and related data.
22239 (finish_mmap_buf): New variable.
22240 (grub_efi_uintn_t finish_mmap_size): Likewise.
22241 (grub_efi_uintn_t finish_key): Likewise.
22242 (grub_efi_uintn_t finish_desc_size): Likewise.
22243 (grub_efi_uint32_t finish_desc_version): Likewise.
22244 (grub_efi_is_finished): Likewise.
22245 (grub_efi_get_memory_map): Use saved memory map if EFI is already
22246 finished.
22247 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
22248 (grub_elf64_phdr_iterate): Likewise.
22249 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
22250 (grub_os_area_size): Likewise.
22251 (grub_machine_init): Don't reserve os area.
22252 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
22253 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
22254 * grub-core/kern/i386/loader.S: Removed.
22255 * grub-core/kern/i386/pc/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/pc/startup.S (grub_chainloader_real_boot):
22259 Don't call grub_dl_unload_all.
22260 Don't include loader.S.
22261 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
22262 Declare the memory after _end as available.
22263 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 22264 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 22265 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
22266 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
22267 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
22268 * include/grub/mm_private.h (grub_mm_header): ... here.
22269 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
22270 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
22271 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
22272 (grub_mm_region): ..here. Removed addr. Added pre_size.
22273 All users updated.
22274 * grub-core/kern/mm.c (base): Renamed to ...
22275 (grub_mm_base): ... this. Made global.
22276 (grub_real_malloc): Alloc from end of region.
22277 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
22278 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
22279 * grub-core/kern/powerpc/cache_flush.S: ... here.
22280 * grub-core/lib/efi/relocator.c: New file.
22281 * grub-core/lib/i386/relocator.c: Rewritten.
22282 * grub-core/lib/i386/relocator16.S: New file.
22283 * grub-core/lib/i386/relocator32.S: Likewise.
22284 * grub-core/lib/i386/relocator64.S: Likewise.
22285 * grub-core/lib/i386/relocator_asm.S: Rewritten.
22286 * grub-core/lib/i386/relocator_common.S: New file.
22287 * grub-core/lib/ieee1275/relocator.c: Likewise.
22288 * grub-core/lib/mips/relocator.c: Rewritten.
22289 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
22290 stylistic adjustments.
22291 * grub-core/lib/powerpc/relocator.c: New file.
22292 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
22293 * grub-core/lib/relocator.c: Rewritten.
22294 * grub-core/lib/x86_64/relocator_asm.S: New file.
22295 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
22296 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
22297 (bsd_tag): New struct.
22298 (tags): New variable.
22299 (tags_last): Likewise.
22300 (netbsd_module): New struct.
22301 (netbsd_mods): New variable.
22302 (netbsd_mods_last): Likewise.
22303 (openbsd_opts): New parameter "serial".
22304 (OPENBSD_SERIAL_ARG): New definition.
22305 (netbsd_opts): New parameter "serial".
22306 (NETBSD_SERIAL_ARG): New definition.
22307 (grub_freebsd_add_meta): Reorganised into ...
22308 (grub_bsd_add_meta): ...this. All users updated.
22309 (grub_freebsd_add_mmap): Reorganised into ...
22310 (generate_e820_mmap): ...this...
22311 (grub_bsd_add_mmap): ...and this. All users updated.
22312 (grub_freebsd_list_modules): Use tags.
22313 (grub_netbsd_add_meta_module): New function.
22314 (grub_netbsd_list_modules): Likewise.
22315 (grub_freebsd_boot): Use relocator and finish EFI.
22316 (grub_openbsd_boot): Likewise.
22317 (grub_netbsd_setup_video): New function.
22318 (grub_netbsd_add_modules): Likewise.
22319 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
22320 and finish EFI.
22321 (grub_bsd_unload): Unload tags.
22322 (grub_bsd_load_aout): Use relocator.
22323 (grub_bsd_elf32_size_hook): New function.
22324 (grub_bsd_elf32_hook): Use relocator.
22325 (grub_bsd_elf64_size_hook): New function.
22326 (grub_bsd_elf64_hook): Use relocator.
22327 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
22328 (grub_bsd_load): Zero-out openbsd_ramdisk.
22329 (grub_bsd_load): Use relocator.
22330 (grub_cmd_openbsd): Support serial.
22331 (grub_cmd_netbsd): Support modules.
22332 (grub_cmd_freebsd_module): Use relocator.
22333 (grub_netbsd_module_load): New function.
22334 (grub_cmd_netbsd_module): Likewise.
22335 (grub_cmd_openbsd_ramdisk): Likewise.
22336 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
22337 kopenbsd_ramdisk.
22338 (GRUB_MOD_FINI): Unregister new commands.
22339 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
22340 (grub_freebsd_load_elfmodule_obj): Use relocator.
22341 (grub_freebsd_load_elfmodule): Likewise.
22342 (grub_freebsd_load_elf_meta): Likewise.
22343 (grub_netbsd_load_elf_meta): New function.
22344 (grub_openbsd_find_ramdisk): Likewise.
22345 * grub-core/loader/i386/bsd_helper.S: Removed.
22346 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
22347 * grub-core/loader/i386/bsd_trampoline.S: Removed.
22348 * grub-core/loader/i386/efi/linux.c: Likewise.
22349 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
22350 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
22351 (DEFAULT_VIDEO_MODE): Likewise.
22352 (real_mode_target): New variable.
22353 (prot_mode_target): Likewise.
22354 (initrd_mem_target): Likewise.
22355 (relocator): Likewise.
22356 (efi_mmap_buf): Likewise.
22357 (efi_mmap_size): Likewise.
22358 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
22359 (free_pages): Use relocator.
22360 (allocate_pages): Account for efi_mmap and use relocator. Return error.
22361 (grub_linux_setup_video): Return error.
22362 (grub_linux_trampoline_start): Removed.
22363 (grub_linux_trampoline_end): Likewise.
22364 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
22365 andd video parameters depending on firmware.
22366 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
22367 [GRUB_MACHINE_EFI]: Pass EFI parameters.
22368 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
22369 (grub_cmd_initrd): Use relocator.
22370 * grub-core/loader/i386/linux_trampoline.S: Removed.
22371 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
22372 (elf_sec_entsize): Likewise.
22373 (elf_sec_shstrndx): Likewise.
22374 (elf_sections): Likewise.
22375 (grub_multiboot_load): Use relocator.
22376 (grub_multiboot_get_mbi_size): Account for sections.
22377 (grub_multiboot_make_mbi): Use relocator and support sections.
22378 (grub_multiboot_add_elfsyms): New function.
22379 (grub_multiboot_free_mbi): Free sections.
22380 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
22381 (grub_linux_real_target): Likewise.
22382 (grub_linux_real_chunk): Likewise.
22383 (grub_linux16_prot_size): Likewise.
22384 (grub_linux16_boot): Use relocator.
22385 (grub_linux_unload): Unload relocator.
22386 (grub_cmd_linux): Use relocator.
22387 (grub_cmd_initrd): Likewise.
22388 * grub-core/loader/i386/pc/ntldr.c: New file.
22389 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
22390 Don't try to guess CPU frequency.
22391 (grub_xnu_set_video): Stretch bitmap.
22392 (grub_xnu_boot): Use relocator.
22393 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
22394 (grub_linux_unload): Free relocator.
22395 (grub_linux_load32): Use relocator.
22396 (grub_linux_load64): Likewise.
22397 (grub_cmd_initrd): Likewise.
22398 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
22399 (grub_multiboot_unload): Unload relocator.
22400 (grub_cmd_multiboot): Use relocator.
22401 (grub_cmd_module): Likewise.
22402 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
22403 Use relocator and support sections.
22404 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
22405 (elf_sec_entsize): Likewise.
22406 (elf_sec_shstrndx): Likewise.
22407 (elf_sections): Likewise.
22408 (grub_multiboot_load): Use relocator.
22409 (grub_multiboot_get_mbi_size): Account for sections.
22410 (grub_multiboot_make_mbi): Use relocator and support sections.
22411 (grub_multiboot_add_elfsyms): New function.
22412 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
22413 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
22414 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
22415 Prototype changed. All users updated.
22416 (grub_xnu_align_heap): Simplified.
22417 (grub_xnu_writetree_toheap): Likewise.
22418 (grub_xnu_unload): Unload relocator.
22419 (grub_cmd_xnu_kernel): Use relocator.
22420 (grub_cmd_xnu_kernel64): Likewise.
22421 (grub_xnu_register_memory): Simplified.
22422 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
22423 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
22424 EFI is finished.
22425 (grub_console_checkkey): Likewise.
22426 (grub_console_getkey): Likewise.
22427 (grub_console_getwh): Likewise.
22428 (grub_console_getxy): Likewise.
22429 (grub_console_gotoxy): Likewise.
22430 (grub_console_cls): Likewise.
22431 (grub_console_setcolorstate): Likewise.
22432 (grub_console_setcursor): Likewise.
22433 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
22434 * grub-core/tests/boot/kbsd.init-i386.S: New file.
22435 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
22436 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
22437 * grub-core/tests/boot/kernel-8086.S: Likewise.
22438 * grub-core/tests/boot/kernel-i386.S: Likewise.
22439 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
22440 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
22441 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
22442 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
22443 * grub-core/tests/boot/knetbsd.cfg: Likewise.
22444 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
22445 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
22446 * grub-core/tests/boot/linux.cfg: Likewise.
22447 * grub-core/tests/boot/linux.init-i386.S: Likewise.
22448 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
22449 * grub-core/tests/boot/linux16.cfg: Likewise.
22450 * grub-core/tests/boot/multiboot.cfg: Likewise.
22451 * grub-core/tests/boot/multiboot2.cfg: Likewise.
22452 * grub-core/tests/boot/ntldr.cfg: Likewise.
22453 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
22454 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
22455 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
22456 New definition.
22457 * include/grub/dl.h (grub_dl_unload_all): Removed.
22458 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
22459 (grub_efi_finish_boot_services): Change prototype.
22460 (grub_efi_is_finished): New variable.
22461 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
22462 Changed prototype.
22463 (grub_efiemu_finish_boot_services): Removed.
22464 (grub_machine_efiemu_init_tables): New prototype.
22465 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
22466 (grub_elf64_phdr_iterate): Likewise.
22467 * include/grub/i386/bsd.h: Include relocator.h.
22468 (freebsd_tag_header): New struct.
22469 (grub_openbsd_bios_mmap): Removed.
22470 (grub_unix_real_boot): Removed.
22471 (grub_freebsd_load_elfmodule32): Changed prototype.
22472 (grub_freebsd_load_elfmodule_obj64): Likewise.
22473 (grub_freebsd_load_elf_meta32): Likewise.
22474 (grub_freebsd_load_elf_meta64): Likewise.
22475 (grub_freebsd_add_meta): Removed.
22476 (grub_netbsd_load_elf_meta32): New prototype.
22477 (grub_netbsd_load_elf_meta64): Likewise.
22478 (grub_bsd_add_meta): Likewise.
22479 (grub_openbsd_ramdisk_descriptor): New struct.
22480 (grub_openbsd_find_ramdisk32): New prototype.
22481 (grub_openbsd_find_ramdisk64): Likewise.
22482 * include/grub/i386/coreboot/loader.h: Removed.
22483 * include/grub/i386/efi/loader.h: Likewise.
22484 * include/grub/i386/ieee1275/loader.h: Likewise.
22485 * include/grub/i386/linux.h (linux_kernel_header): Change void *
22486 to grub_uint32_t.
22487 * include/grub/i386/loader.h: Removed.
22488 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
22489 value.
22490 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
22491 (grub_phys_addr_t): New type.
22492 (grub_vtop): New inline function.
22493 (grub_map_memory): Likewise.
22494 (grub_unmap_memory): Likewise.
22495 * include/grub/i386/multiboot/loader.h: Removed.
22496 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
22497 (NETBSD_BTINFO_CONSOLE): New definition.
22498 (NETBSD_BTINFO_SYMTAB): Likewise.
22499 (NETBSD_BTINFO_MODULES): Likewise.
22500 (NETBSD_BTINFO_FRAMEBUF): Likewise.
22501 (grub_netbsd_bootinfo): New struct.
22502 (grub_netbsd_btinfo_common): Use explicit bitsize.
22503 (grub_netbsd_btinfo_mmap_entry): Removed.
22504 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
22505 (grub_netbsd_btinfo_bootdisk): New struct.
22506 (grub_netbsd_btinfo_symtab): Likewise.
22507 (grub_netbsd_btinfo_serial): Likewise.
22508 (grub_netbsd_btinfo_modules): Likewise.
22509 (grub_netbsd_btinfo_framebuf): Likewise.
22510 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
22511 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
22512 Likewise.
22513 (grub_openbsd_bootargs): Use explicit bitsize.
22514 (grub_openbsd_bootarg_console): New struct.
22515 (GRUB_OPENBSD_COM_MAJOR): New definition.
22516 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
22517 * include/grub/i386/pc/efiemu.h: Removed.
22518 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
22519 * include/grub/i386/qemu/loader.h: Removed.
22520 * include/grub/i386/relocator.h: Rewritten.
22521 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
22522 * include/grub/mips/memory.h: New file.
22523 * include/grub/mips/multiboot.h: Rewritten.
22524 * include/grub/mips/relocator.h: Rewritten.
22525 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
22526 (grub_vtop): New function.
22527 (grub_map_memory): Likewise.
22528 (grub_unmap_memory): Likewise.
22529 * include/grub/misc.h (ALIGN_DOWN): New definition.
22530 * include/grub/mm.h (grub_mm_check_real): New proto.
22531 (GRUB_MM_CHECK): New definition.
22532 * include/grub/mm_private.h: New file.
22533 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
22534 (grub_multiboot_get_mbi_size): Removed.
22535 (grub_multiboot_make_mbi): Change prottype.
22536 (grub_multiboot_set_accepts_video): New proto.
22537 (grub_multiboot_add_elfsyms): Likewise.
22538 (grub_multiboot_payload_eip): New variable.
22539 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
22540 New prototype.
22541 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
22542 New definition.
22543 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
22544 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
22545 * include/grub/powerpc/ieee1275/loader.h: Removed.
22546 * include/grub/powerpc/memory.h: New file.
22547 * include/grub/powerpc/relocator.h: Likewise.
22548 * include/grub/relocator.h: Likewise.
22549 * include/grub/relocator_private.h: Likewise.
22550 * include/grub/sparc64/ieee1275/loader.h: Removed.
22551 * include/grub/x86_64/memory.h: New file.
22552 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
22553 (grub_xnu_heap_malloc): Likewise.
22554 (grub_xnu_heap_real_start): Removed.
22555 (grub_xnu_heap_start): Likewise.
22556 (grub_xnu_relocator): New variable.
22557 (grub_xnu_heap_target_start): Likewise.
22558 * tests/util/grub-shell.in: Support non-pc.
22559 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 22560
5303b85d
VS
225612010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22562
22563 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
22564 on malloc error.
22565 (grub_bidi_logical_to_visual): Check that malloc succeded.
22566 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
22567 puts.
22568 (grub_xputs_normal): Likewise.
22569
d768d159
VS
225702010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22571
22572 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
22573 extra_dist.
22574
225752010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22576
22577 * grub-core/efiemu/runtime/efiemu.sh: Removed.
22578
5bf84df4
VS
225792010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22580
22581 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
22582
3626810e
VS
225832010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22584
22585 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
22586 dprintf.
22587
a7363f53
BC
225882010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
22589
22590 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
22591
902f75f6
VS
225922010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22593
22594 * grub-core/normal/term.c (print_more): Fix a memory leak.
22595 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
22596 (grub_xputs_normal): Likewise.
22597
3c707967
VS
225982010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22599
22600 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
22601 the begining of the string
22602
2053cc07
VS
226032010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22604
22605 * grub-core/script/script.c (grub_script_parse): Free parsed on
22606 failure.
22607
46422ebf
VS
226082010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22609
22610 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
22611 on failure.
22612
9e0fa3f6
VS
226132010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22614
22615 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
22616 return.
22617
3393cf16
VS
226182010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22619
22620 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
22621 (scroll_up): Fix a memory leak.
22622
b17540cb
VS
226232010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22624
22625 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
22626 errors.
22627
67140446
VS
226282010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
22629
22630 Handle USB pendrives exposed as floppies.
22631
22632 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
22633 floppy.
22634 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
22635 Check for partitions on all devices.
22636
e35e46fc
VS
226372010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22638
22639 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
22640 (readkey): Likewise.
22641
d24c6190
BC
226422010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
22643
22644 Multiple variable names support to "export" command.
22645
22646 * normal/context.c (grub_cmd_export): "export" command supports
22647 multiple variable names.
22648
04ddcc6a
ST
226492010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
22650
22651 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
22652 --target=drive output to Mach device name.
22653
0c8b61d8
BC
226542010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
22655
22656 New Automake based build system for GRUB.
22657
22658 * ABOUT-NLS: New file.
22659 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
22660 in Makefile.util.def file.
22661 * Makefile.util.def: New file. Autogen build definitions file for
22662 GRUB host utils.
22663 * conf/Makefile.common: New file. Common variables for GRUB host
22664 utils and target modules.
22665 * conf/Makefile.extra-dist: New file. Extra files for make dist.
22666 * docs/Makefile.am: New file. Automake file for docs.
22667 * gentpl.py: New file. Python script to generate Autogen
22668 template.
22669 * grub-core/Makefile.am: New file. GRUB target modules' rules
22670 that doesn't fit in Makefile.core.def file.
22671 * grub-core/Makefile.core.def: New file. Autogen build
22672 definitions file for GRUB target modules.
22673 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
22674 specific setjmp.S file.
22675 * po/Makefile.am: New file.
22676
22677 * .bzrignore: New ignores.
22678 * INSTALL: New requirements, without Ruby.
22679 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
22680 * autogen.sh: Updated to invoke autogen as necessary.
22681 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
22682 and defines for Automake conditionals.
22683 * geninit.sh: Refactoring.
22684
22685 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
22686 necessary.
22687 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
22688 New prototype.
22689
22690 * include/grub/test.h: Fix functional test modules' naming.
22691 * grub-core/tests/example_functional_test.c: Fix test module name.
22692
22693 * util/misc.c: Hosted versions' of grub functions for libgrub.a
22694 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
22695 * util/grub-editenv.c: Likewise.
22696 * util/grub-fstest.c: Likewise.
22697 * util/grub-mkdevicemap.c: Likewise.
22698 * util/grub-mkfont.c: Likewise.
22699 * util/grub-mkimage.c: Likewise.
22700 * util/grub-mkpasswd-pbkdf2.c: Likewise.
22701 * util/grub-probe.c: Likewise.
22702 * util/grub-script-check.c: Likewise.
22703 * util/i386/pc/grub-setup.c: Likewise.
22704 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22705
22706 * tests/util/grub-shell.in: Fix override directory path.
22707 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
22708 * util/import_gcry.py: Create Makefile.gcry.def file instead.
22709
22710 * util/lvm.c: Update #includes.
22711 * util/raid.c: Likewise.
22712 * util/resolve.c: Likewise.
22713 * grub-core/bus/emu/pci.c: Likewise.
22714 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
22715 * grub-core/lib/posix_wrap/string.h: Likewise.
22716 * grub-core/kern/emu/main.c: Likewise.
22717
22718 * grub-core/gensymlist.sh: New file. Script for generating kernel
22719 symbols file.
22720 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
22721
22722 * grub-core/gentrigtables.c: Fix unused variable warnings.
22723
22724 * Makefile.in: Removed.
22725 * conf/any-emu.rmk: Removed.
22726 * conf/common.rmk: Removed.
22727 * conf/i386-coreboot.rmk: Removed.
22728 * conf/i386-efi.rmk: Removed.
22729 * conf/i386-ieee1275.rmk: Removed.
22730 * conf/i386-multiboot.rmk: Removed.
22731 * conf/i386-pc.rmk: Removed.
22732 * conf/i386-qemu.rmk: Removed.
22733 * conf/i386.rmk: Removed.
22734 * conf/mips-yeeloong.rmk: Removed.
22735 * conf/mips.rmk: Removed.
22736 * conf/powerpc-ieee1275.rmk: Removed.
22737 * conf/sparc64-ieee1275.rmk: Removed.
22738 * conf/tests.rmk: Removed.
22739 * conf/x86-efi.rmk: Removed.
22740 * conf/x86_64-efi.rmk: Removed.
22741 * gendistlist.sh: Removed.
22742 * geninitheader.sh: Removed.
22743 * genkernsyms.sh.in: Removed.
22744 * genmk.rb: Removed.
22745 * gensymlist.sh.in: Removed.
22746 * mkinstalldirs: Removed.
22747 * boot: Moved ...
22748 * grub-core/boot: ... to here.
22749 * bus: Moved ...
22750 * grub-core/bus: ... to here.
22751 * commands: Moved ...
22752 * grub-core/commands: ... to here.
22753 * disk: Moved ...
22754 * grub-core/disk: ... to here.
22755 * efiemu: Moved ...
22756 * grub-core/efiemu: ... to here.
22757 * font: Moved ...
22758 * grub-core/font: ... to here.
22759 * fs: Moved ...
22760 * grub-core/fs: ... to here.
22761 * gencmdlist.sh: Moved ...
22762 * grub-core/gencmdlist.sh: ... to here.
22763 * genemuinit.sh: Moved ...
22764 * grub-core/genemuinit.sh: ... to here.
22765 * genemuinitheader.sh: Moved ...
22766 * grub-core/genemuinitheader.sh: ... to here.
22767 * genfslist.sh: Moved ...
22768 * grub-core/genfslist.sh: ... to here.
22769 * genhandlerlist.sh: Moved ...
22770 * grub-core/genhandlerlist.sh: ... to here.
22771 * genmoddep.awk: Moved ...
22772 * grub-core/genmoddep.awk: ... to here.
22773 * genmodsrc.sh: Moved ...
22774 * grub-core/genmodsrc.sh: ... to here.
22775 * genpartmaplist.sh: Moved ...
22776 * grub-core/genpartmaplist.sh: ... to here.
22777 * genparttoollist.sh: Moved ...
22778 * grub-core/genparttoollist.sh: ... to here.
22779 * genterminallist.sh: Moved ...
22780 * grub-core/genterminallist.sh: ... to here.
22781 * gentrigtables.c: Moved ...
22782 * grub-core/gentrigtables.c: ... to here.
22783 * genvideolist.sh: Moved ...
22784 * grub-core/genvideolist.sh: ... to here.
22785 * gettext: Moved ...
22786 * grub-core/gettext: ... to here.
22787 * gfxmenu: Moved ...
22788 * grub-core/gfxmenu: ... to here.
22789 * gnulib: Moved ...
22790 * grub-core/gnulib: ... to here.
22791 * hello: Moved ...
22792 * grub-core/hello: ... to here.
22793 * hook: Moved ...
22794 * grub-core/hook: ... to here.
22795 * io: Moved ...
22796 * grub-core/io: ... to here.
22797 * kern: Moved ...
22798 * grub-core/kern: ... to here.
22799 * lib: Moved ...
22800 * grub-core/lib: ... to here.
22801 * loader: Moved ...
22802 * grub-core/loader: ... to here.
22803 * mmap: Moved ...
22804 * grub-core/mmap: ... to here.
22805 * normal: Moved ...
22806 * grub-core/normal: ... to here.
22807 * partmap: Moved ...
22808 * grub-core/partmap: ... to here.
22809 * parttool: Moved ...
22810 * grub-core/parttool: ... to here.
22811 * script: Moved ...
22812 * grub-core/script: ... to here.
22813 * term: Moved ...
22814 * grub-core/term: ... to here
22815 * tests/example_functional_test.c: Moved ...
22816 * grub-core/tests/example_functional_test.c: ... to here.
22817 * tests/lib/functional_test.c: Moved ...
22818 * grub-core/tests/lib/functional_test.c: ... to here.
22819 * tests/lib/test.c: Moved ...
22820 * grub-core/tests/lib/test.c: ... to here.
22821 * video: Moved ...
22822 * grub-core/video: ... to here.
22823
645586e6
BC
228242010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
22825
22826 Replace --enable-grub-emu-modules with grub-emu-lite.
22827
22828 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
22829 cache.S.
22830
22831 * include/grub/emu/misc.h (grub_emu_init): New prototype.
22832 * kern/emu/full.c: New file. For grub-emu specific initialization.
22833 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
22834 * kern/emu/main.c: Call initialization function grub_emu_init.
22835
22836 * Makefile.in: Include grub-emu-lite in install.
22837 * commands/parttool.c: Use grub_no_autoload to differentiate
22838 between grub-emu and grub-emu-lite.
22839 * include/grub/misc.h: New variable grub_no_autoload.
22840
22841 * conf/any-emu.rmk: New rules for grub-emu-lite.
22842 * configure.ac: Remove --enable-grub-emu-modules.
22843 * genmk.rb: Cleanup unnecessary rules.
22844 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
22845
22846 * normal/main.c: Don't load list files on grub-emu-lite.
22847 * util/misc.c (grub_arch_sync_caches): Removed.
22848
f86a4030
CW
228492010-08-23 Colin Watson <cjwatson@ubuntu.com>
22850
22851 * kern/mips/startup.S (grub_prefix): Update comment to refer to
22852 grub-mkimage rather than grub-mkelfimage.
22853 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
22854
06776944
VS
228552010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
22856
22857 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
22858 a key after CapsLock or NumLock. It's just a qemu bug.
22859
df262419
VS
228602010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
22861
22862 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
22863 needed by libusb wrapper.
22864
b40ea81b
ST
228652010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
22866
22867 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
22868
dee50575
VS
228692010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
22870
22871 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
22872 --nounzip is passed.
22873
fb1d7b79
VS
228742010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
22875
22876 USB hotunplugging and USB serial support.
22877
22878 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
22879 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
22880 (grub_uhci_transfer): Respect timeout and set *actual.
22881 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
22882 non-standard length.
22883 (grub_usb_device_attach): Autoload modules.
22884 (GRUB_MOD_INIT): Set grub_term_poll_usb.
22885 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
22886 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
22887 users updated.
22888 (grub_usb_add_hub): Fill nports and children.
22889 (attach_root_port): Receive hub instead of controller.
22890 All users updated. Fill hub->devices.
22891 (grub_usb_root_hub): Allocate hub->devices.
22892 (detach_device): New function.
22893 (poll_nonroot_hub): Fill children and detach devices.
22894 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
22895 actual arguments. All users updated.
22896 (grub_usb_bulk_read_extended): New function.
22897 * bus/usb/serial/common.c: New file.
22898 * bus/usb/serial/ftdi.c: Likewise.
22899 * bus/usb/serial/pl2303.c: Likewise.
22900 * commands/terminal.c (handle_command): Support wildcard.
22901 * commands/usbtest.c: Output "Unknown" instead of empty string.
22902 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
22903 (usbserial_common_mod_SOURCES): New variable.
22904 (usbserial_common_mod_CFLAGS): Likewise.
22905 (usbserial_common_mod_LDFLAGS): Likewise.
22906 (pkglib_MODULES): Add usbserial_pl2303.mod.
22907 (usbserial_pl2303_mod_SOURCES): New variable.
22908 (usbserial_pl2303_mod_CFLAGS): Likewise.
22909 (usbserial_pl2303_mod_LDFLAGS): Likewise.
22910 (pkglib_MODULES): Add usbserial_ftdi.mod.
22911 (usbserial_ftdi_mod_SOURCES): New variable.
22912 (usbserial_ftdi_mod_CFLAGS): Likewise.
22913 (usbserial_ftdi_mod_LDFLAGS): Likewise.
22914 (pkglib_MODULES): Add serial.mod.
22915 (serial_mod_SOURCES): New variable.
22916 (serial_mod_CFLAGS): Likewise.
22917 (serial_mod_LDFLAGS): Likewise.
22918 * conf/i386-pc.rmk: Likewise.
22919 * conf/mips-yeeloong.rmk: Likewise.
22920 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
22921 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
22922 * disk/usbms.c (first_available_slot): New variable.
22923 (grub_usbms_attach): Don't reuse free slots due to potential cache
22924 problems.
22925 * include/grub/serial.h: Moved to ..
22926 * include/grub/ns8250.h: ...this.
22927 * include/grub/serial.h: New file.
22928 * include/grub/term.h (grub_term_poll_usb): New variable.
22929 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
22930 readkey. All users updated.
22931 (grub_terminfo_output_state): Pass term to put.
22932 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
22933 (grub_usb_controller_dev): Add timeout and actual arguments to
22934 transfer. All users updated.
22935 (grub_usb_interface): New field detach_data.
22936 (grub_usb_device): New fields children and nports.
22937 (grub_usb_ep_type_t): New type.
22938 (grub_usb_get_ep_type): New function.
22939 (grub_usb_bulk_read_extended): Likewise.
22940 * include/grub/usbdesc.h (grub_usb_desc): New type.
22941 * include/grub/usbserial.h: New file.
22942 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
22943 * kern/term.c (grub_term_poll_usb): New variable.
22944 (grub_getkey): Call grub_term_poll_usb if set.
22945 (grub_checkkey): Likewise.
22946 (grub_getkeystatus): Likewise.
22947 * term/serial.c: Moved controller-specific parts to ...
22948 * term/ns8250.c: ... here.
22949 * term/serial.c: Mostly rewritten.
22950 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
22951 according to spec.
22952
21a313de
RM
229532010-08-20 Robert Millan <rmh@gnu.org>
22954
22955 Make kFreeBSD code more generic to support ext2fs as root, ufs as
22956 a separate module and maybe other interesting combinations.
22957
22958 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
22959 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
22960 (kfreebsd_entry): Add generic filesystem module load routine.
22961 Map GRUB `ext2' to kFreeBSD `ext2fs'.
22962
63c734a6
CW
229632010-08-20 Colin Watson <cjwatson@ubuntu.com>
22964
22965 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
22966 "numcenter" (I misunderstood the purpose of this entry).
22967 * docs/grub.texi (sendkey): Likewise.
22968
c4d16542
CW
229692010-08-20 Colin Watson <cjwatson@ubuntu.com>
22970
22971 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
22972 status flag options; simply omitting the option is equivalent and
22973 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
22974 (keysym_table): Rename "num5numlock" to "numlock".
22975 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
22976 can uniformly say that only the last of multiple `sendkey'
22977 invocations has any effect.
22978 * docs/grub.texi (sendkey): New section.
22979
93541d66
CW
229802010-08-19 Colin Watson <cjwatson@ubuntu.com>
22981
22982 * commands/i386/pc/sendkey.c (options): Fix three typos.
22983
b4ece5e1
VS
229842010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
22985
22986 Implement sendkey support.
22987
22988 * commands/i386/pc/sendkey.c: New file.
22989 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
22990 (sendkey_mod_SOURCES): New variable.
22991 (sendkey_mod_CFLAGS): Likewise.
22992 (sendkey_mod_LDFLAGS): Likewise.
22993
51f1f5af
CW
229942010-08-18 Colin Watson <cjwatson@ubuntu.com>
22995
22996 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
22997 fix warnings from Autoconf.
22998
9da94e05
CW
229992010-08-18 Colin Watson <cjwatson@ubuntu.com>
23000
23001 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
23002 to avoid false positives with some assemblers that output things
23003 like "someprefix_func" as part of their output.
23004
729a0f2e
RM
230052010-08-15 Robert Millan <rmh@gnu.org>
23006
23007 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
23008 errors.
23009 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
23010 grub_get_libzfs_handle() errors.
23011
f3710e08
RM
230122010-08-14 Robert Millan <rmh@gnu.org>
23013
23014 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
23015 filesystem is not ZFS.
23016
7a3c13de
BC
230172010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23018
23019 Fix for misspelled color names defaulting to black/black (bug
23020 reported by Doug Nazar)
23021
23022 * include/grub/normal.h (grub_parse_color_name_pair): Add return
23023 status to prototype.
23024 * normal/color.c (grub_parse_color_name_pair): Return failure
23025 status.
23026 (grub_env_write_color_normal): Ignore bad color names.
23027 (grub_env_write_color_highlight): Likewise.
23028 * normal/main.c (GRUB_MOD_INIT): Set default color names.
23029
ab8ba50d
BC
230302010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23031
23032 "shift" command support to GRUB script.
23033
23034 * include/grub/script_sh.h (grub_script_shift): New prototype.
23035 * script/execute.c (grub_script_shift): New function.
23036 * script/main.c (grub_script_init): Register shift command.
23037 (grub_script_fini): Unregister shift command.
23038 * util/grub-script-check.c (grub_script_cmd_shift): New function.
23039
23040 * tests/grub_script_shift.in: New testcase.
23041 * conf/tests.rmk: Rules for new testcase.
23042
4d61999e
BC
230432010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23044
23045 "continue" command support to GRUB script.
23046
23047 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
23048 (grub_script_break): Continue support.
23049 * script/main.c (grub_script_init): Register continue command.
23050 (grub_script_fini): Unregister continue command.
23051
23052 * tests/grub_script_continue.in: New testcase.
23053 * conf/tests.rmk: Rules for new testcase.
23054
4df51e00
BC
230552010-08-12 BVK Chaitanya <bvk@dbook>
23056
23057 "break" command support to GRUB script.
23058
23059 * conf/common.rmk: Rule updates to grub-script-check.
23060 * include/grub/misc.h (grub_min): New function.
23061 * include/grub/script_sh.h (grub_script_init): New prototype.
23062 (grub_script_fini): New prototype.
23063 (grub_script_break): New prototype.
23064 * script/main.c (grub_script_init): New function.
23065 (grub_script_fini): New function.
23066 * script/execute.c (grub_script_break): New function.
23067 * normal/main.c: Calls to grub_script_{init,fini}.
23068 * util/grub-script-check.c (grub_script_break): New function.
23069
23070 * tests/grub_script_break.in: New testcase.
23071 * conf/tests.rmk: Rules for new test case.
23072
f12c8420
BC
230732010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23074
23075 Function parameters support to GRUB script.
23076
23077 * script/yylex.l (VARIABLE): Regular expression update.
23078 * script/function.c (grub_script_function_call): Moved ...
23079 * script/execute.c (grub_script_function_call): ... to here.
23080 (grub_script_execute_arglist_to_argv): Removed.
23081 (grub_script_arglist_to_argv): New function.
23082 * script/argv.c: New file.
23083 (grub_script_argv_free): New function.
23084 (grub_script_argv_next): Likewise.
23085 (grub_script_argv_append): Likewise.
23086 (grub_script_argv_split_append): Likewise.
23087 * include/grub/script_sh.h (grub_script_argv): New struct.
23088 (grub_script_argv_free): New function.
23089 (grub_script_argv_next): Likewise.
23090 (grub_script_argv_append): Likewise.
23091 (grub_script_argv_split_append): Likewise.
23092
23093 * conf/common.rmk (normal.mod): New source script/argv.c.
23094
23095 * tests/grub_script_echo1.in: More tests.
23096 * tests/grub_script_vars1.in: Likewise.
23097 * tests/grub_script_functions.in: New test case.
23098 * conf/tests.rmk: Rules for new testcase.
23099
8022b748
BC
231002010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23101
23102 Remove grub_script_cmdblock struct.
23103
23104 * include/grub/script_sh.h: Remove grub_script_cmdblock.
23105 * script/parser.y: Likewise.
23106 * script/execute.c: Rename cmdblock suffix to cmdlist.
23107 * script/script.c: Likewise.
23108 * util/grub-script-check.c: Likewise.
23109
79a6ba61
YB
231102010-08-11 Yves Blusseau <blusseau@zetam.org>
23111
23112 * .bzrignore: add grub-macho2img
23113
d04b9414
VS
231142010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
23115
23116 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
23117
f947ab49
VS
231182010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
23119
23120 Remove the dump of sm712 initialisation sequence.
23121
23122 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
23123 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
23124 (GRUB_VGA_IO_MISC_WRITE): Likewise.
23125 (GRUB_VGA_CR_*): Added many registers.
23126 (GRUB_VGA_SR_*): Likewise.
23127 (GRUB_VGA_GR_*): Likewise.
23128 (grub_vga_write_arx): New function.
23129 (grub_video_hw_config): New struct.
23130 (grub_vga_set_geometry): New function.
23131 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
23132 GRUB_PCI_CLASS_SUBCLASS_VGA.
23133 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
23134 * video/sm712.c (grub_sm712_write_reg): New function
23135 (grub_sm712_read_reg): Likewise.
23136 (grub_sm712_sr_write): Likewise.
23137 (grub_sm712_gr_write): Likewise.
23138 (grub_sm712_cr_write): Likewise.
23139 (grub_sm712_write_arx): Likewise.
23140 (grub_sm712_cr_shadow_write): Likewise.
23141 (grub_sm712_write_dda_lookup): Likewise.
23142 (grub_video_sm712_setup): Initialise the video rather then
23143 blindly replay the dump.
23144 (main) [TEST]: Add a routine to be able to compile as standalone for
23145 tests.
23146 * video/sm712_init.c (sm712_init): Removed.
23147 (sm712_sr_seq1): New array.
23148 (sm712_sr_seq2): Likewise.
23149
f0206638
VS
231502010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
23151
23152 * include/grub/vga.h: Add missing grub/pci.h include.
23153
2764da3b
YB
231542010-08-10 Yves Blusseau <blusseau@zetam.org>
23155
23156 * util/grub-macho2img.c (main): fix typo
23157
cf0c775e
VS
231582010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
23159
23160 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
23161 (grub_vga_gr_read): Likewise.
23162 (grub_vga_cr_write): Likewise.
23163 (grub_vga_cr_read): Likewise.
23164 (grub_vga_sr_write): Likewise.
23165 (grub_vga_sr_read): Likewise.
23166 (grub_vga_palette_read): Likewise.
23167 (grub_vga_palette_write): Likewise.
23168 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
23169 (grub_sm712_sr_read): New function.
23170 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
23171 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
23172
07f360e9
RM
231732010-08-09 Robert Millan <rmh@gnu.org>
23174
23175 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
23176 out unused variables on non-ZFS build.
23177
346c2072
RM
231782010-08-08 Robert Millan <rmh@gnu.org>
23179
23180 Fix path generation for sub-filesystems in ZFS.
23181
23182 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
23183 missing slash.
23184
71175420
RM
231852010-08-08 Robert Millan <rmh@gnu.org>
23186
23187 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
23188
0d8286f3
RM
231892010-08-08 Robert Millan <rmh@gnu.org>
23190
23191 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
23192 exist, issue a proper error message (rely on `ls' for translated
23193 strings).
23194
55dd2924
RM
231952010-08-08 Robert Millan <rmh@gnu.org>
23196
23197 Fix grub-probe invocation.
23198
23199 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
23200
d3dd9e80
RM
232012010-08-04 Robert Millan <rmh@gnu.org>
23202
23203 * configure.ac: Remove checks for getfsstat() and getmntany().
23204 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
23205 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
23206 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
23207 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
23208 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
23209 function.
23210 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
23211 via find_mount_point_from_dir() and getfsstat() / getmntany().
23212
0de22aa9
RM
232132010-08-04 Robert Millan <rmh@gnu.org>
23214
23215 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23216 (grub_find_zpool_from_mount_point): Merge into ...
23217 (grub_find_zpool_from_dir): ... this.
23218 * kern/emu/misc.c: Likewise.
23219
23220 * kern/emu/misc.c
23221 (grub_make_system_path_relative_to_its_root): Replace
23222 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
23223 with grub_find_zpool_from_dir().
23224 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
23225
62858144
RM
232262010-08-04 Robert Millan <rmh@gnu.org>
23227
23228 Support OpenSolaris in ZFS device resolution.
23229
23230 * configure.ac: Check for getmntany().
23231 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
23232 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
23233 support.
23234
9dd6fd50
RM
232352010-08-03 Robert Millan <rmh@gnu.org>
23236
23237 Fix grub-emu build.
23238
23239 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
23240 * include/grub/emu/misc.h: ... here.
23241
23242 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
23243 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
23244
23245 * util/misc.c: Remove `<grub/util/libzfs.h>'.
23246 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
23247 (grub_get_libzfs_handle): Move to ...
23248 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
23249 (grub_get_libzfs_handle): ... here.
23250
c9f7ff97
BC
232512010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
23252
23253 * script/execute.c (grub_script_execute_cmdline): Check for NULL
23254 as command name case.
23255
a870a783
CW
232562010-08-02 Colin Watson <cjwatson@ubuntu.com>
23257
23258 * disk/raid.c (insert_array): Select unique numbers for named arrays
23259 as well, for use as keys in the disk cache.
23260
c7db243b
RM
232612010-08-01 Robert Millan <rmh@gnu.org>
23262
23263 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
23264 kFreeBSD device name, except on ZFS where the filesystem label is
23265 used.
23266 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
23267 `/boot/zfs/zpool.cache'.
23268 Set mountfrom kernel variable using ${kfreebsd_device}.
23269
f7abdefb
RM
232702010-08-01 Robert Millan <rmh@gnu.org>
23271
23272 Make it even harder to use uninitialized `libzfs_handle' (and
23273 make the interface a bit simpler).
23274
23275 * include/grub/util/misc.h (grub_util_init_libzfs)
23276 (libzfs_handle): Remove.
23277 (grub_get_libzfs_handle): New prototype.
23278
23279 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
23280 attribute.
23281 (grub_util_init_libzfs): Remove.
23282 (grub_get_libzfs_handle): New function.
23283
23284 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
23285 grub_get_libzfs_handle() to obtain a libzfs handle instead of
23286 accessing `libzfs_handle' directly.
23287
c882acc0
RM
232882010-08-01 Robert Millan <rmh@gnu.org>
23289
23290 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23291 (grub_find_zpool_from_mount_point): New function prototypes.
23292
23293 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
23294 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
23295
23296 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
23297 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
23298 `static' attribute.
23299
23300 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
23301 finding zpool from mount point into ...
23302 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
23303
23304 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
23305 requested path is part of a ZFS pool, use
23306 grub_find_zpool_from_mount_point() to detect its filesystem name,
23307 and generate a path with `/fsname@path' syntax.
23308
8bfe31d8
CW
233092010-08-01 Colin Watson <cjwatson@ubuntu.com>
23310
23311 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
23312 (void) rather than () so that this is a proper prototype.
23313
553df63d
VS
233142010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23315
23316 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
23317
8687cf07
VS
233182010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23319
23320 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
23321 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
23322
ea9be8ea
CW
233232010-08-01 Colin Watson <cjwatson@ubuntu.com>
23324
23325 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
23326
6eea041a
CW
233272010-08-01 Colin Watson <cjwatson@ubuntu.com>
23328
23329 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
23330
2cfb45df
CW
233312010-08-01 Colin Watson <cjwatson@ubuntu.com>
23332
23333 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
23334 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
23335 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
23336 disable gfxpayload.
23337 (Shell-like scripting): Add real content.
23338 (Serial terminal): Suggest `terminal_input serial; terminal_output
23339 serial' rather than putting the two commands on separate lines,
23340 since console input will be inoperative after the first command.
23341 (menuentry): Document --class, --users, and --hotkey options.
23342 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
23343 Vladimir Serbinenko).
23344
7decd202
VS
233452010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
233462010-08-01 Colin Watson <cjwatson@ubuntu.com>
23347
23348 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
23349
c882acc0
RM
233502010-08-01 Robert Millan <rmh@gnu.org>
23351
23352 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23353 (grub_find_zpool_from_mount_point): New function prototypes.
23354
23355 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
23356 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
23357
23358 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
23359 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
23360 `static' attribute.
23361
23362 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
23363 finding zpool from mount point into ...
23364 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
23365
23366 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
23367 requested path is part of a ZFS pool, use
23368 grub_find_zpool_from_mount_point() to detect its filesystem name,
23369 and generate a path with `/fsname@path' syntax.
23370
deb0caa3
RM
233712010-08-01 Robert Millan <rmh@gnu.org>
23372
23373 Prevent accidental use of uninitialized libzfs_handle.
23374
23375 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
23376 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
23377 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
23378
ce04ef47
CW
233792010-08-01 Colin Watson <cjwatson@ubuntu.com>
23380
23381 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
23382 util/grub.d/10_linux.in). Fixes Debian bug #591093.
23383
ebf53056
RM
233842010-08-01 Robert Millan <rmh@gnu.org>
23385
23386 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 23387
3710bb6b
RM
233882010-07-31 Robert Millan <rmh@gnu.org>
23389
23390 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
23391
8072efeb
RM
233922010-07-31 Robert Millan <rmh@gnu.org>
23393
23394 * kern/emu/misc.c: Add missing license header.
23395
3169f4c7
RM
233962010-07-31 Robert Millan <rmh@gnu.org>
23397
23398 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
23399
23400 * include/grub/util/libnvpair.h: Include `<config.h>'.
23401 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
23402 declaring libnvpair prototypes ourselves.
23403 * include/grub/util/libzfs.h: Include `<config.h>'.
23404 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
23405 declaring libzfs prototypes ourselves.
23406
23407 (libzfs_handle): Moved to ...
23408 * include/grub/util/misc.h (libzfs_handle): ... here.
23409 Include `<grub/util/libzfs.h>'.
23410
c9a00aee
RM
234112010-07-30 Robert Millan <rmh@gnu.org>
23412
23413 * include/grub/emu/misc.h: Add missing license header.
23414
a184f9c8
RM
234152010-07-30 Robert Millan <rmh@gnu.org>
23416
23417 Enable `grub-probe -t device' resolution on ZFS.
23418
23419 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
23420 * include/grub/util/libnvpair.h: New file.
23421 * include/grub/util/libzfs.h: New file.
23422
23423 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
23424 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
23425 `<grub/util/libnvpair.h>'.
23426 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
23427
23428 (find_mount_point_from_dir): New static function.
23429 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
23430 function.
23431 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
23432 find_root_device_from_libzfs() before ressorting to find_root_device().
23433
23434 * include/grub/util/misc.h (grub_util_init_libzfs): New function
23435 prototype.
23436 * util/misc.c: Include `<grub/util/libzfs.h>'.
23437 (grub_util_init_libzfs): New function.
23438 [HAVE_LIBZFS] (libzfs_handle): New global variable.
23439 [HAVE_LIBZFS] (fini_libzfs): New static function.
23440 (grub_util_init_libzfs): New function.
23441 * util/grub-probe.c (main): Call grub_util_init_libzfs().
23442
f7790cdd
RM
234432010-07-30 Robert Millan <rmh@gnu.org>
23444
23445 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
23446 (xmalloc, xrealloc, xstrdup, xasprintf): Add
23447 `warn_unused_result' attribute.
23448 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
23449 (grub_xasprintf, grub_xvasprintf): Likewise.
23450 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
23451
0806b63c
RM
234522010-07-29 Robert Millan <rmh@gnu.org>
23453
23454 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
23455 (probe): Handle `PRINT_FS_LABEL'.
23456 (main): Handle `-t fs_label'.
23457
9f841f5c
RM
234582010-07-29 Robert Millan <rmh@gnu.org>
23459
23460 * configure.ac: Remove grub-mkisofs checks.
23461
46371121
VS
234622010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
23463
23464 * util/ieee1275/grub-install.in: Don't use empty grub_device.
23465 Reported by: Lennart Sorensen.
23466
234672010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23468
23469 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
23470 prior to terminal_input/terminal_output separation. It's been over 1.5
23471 years and those versions weren't widely deployed.
23472
a9600892
CW
234732010-07-22 Colin Watson <cjwatson@ubuntu.com>
23474
23475 * disk/raid.c (insert_array): Don't count named arrays when looking
23476 for unused array numbers.
697e053c 23477 Reported and tested by: Michael Guntsche.
a9600892 23478
c03507df
CW
234792010-07-20 Colin Watson <cjwatson@ubuntu.com>
23480
23481 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
23482 implementation of this so that grub-emu links again, with a note
23483 that this should support hotplugging in the future.
23484
b26f1c11
CW
234852010-07-20 Colin Watson <cjwatson@ubuntu.com>
23486
23487 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
23488
efc9d7f1
CW
234892010-07-20 Colin Watson <cjwatson@ubuntu.com>
23490
23491 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
23492 handle on failure.
23493 (grub_loopback_close): Remove empty function.
23494 (grub_loopback_dev): Remove close method.
23495
dd8ff5c9
CW
234962010-07-20 Colin Watson <cjwatson@ubuntu.com>
23497
23498 Disable EFI cursor when the EFI console becomes inactive.
23499
23500 * term/efi/console.c (grub_efi_console_init): New function.
23501 (grub_efi_console_fini): New function.
23502 (grub_console_term_output): Register init and fini methods.
23503
5e3bec67
VS
235042010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23505
23506 * tests/util/grub-shell-tester.in: Remove bashism and declare as
23507 sh script.
23508
afaec079
VS
235092010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23510
23511 * disk/loopback.c (grub_loopback): Replace filename with file.
23512 (delete_loopback): Handle new semantics.
23513 (grub_cmd_loopback): Likewise.
23514 (grub_loopback_iterate): Likewise.
23515 (grub_loopback_close): Likewise.
23516
a6a11f3c
VS
235172010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23518
23519 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
23520 with -p "".
23521 Reported by: Tito Keitel.
23522
64a638b0
VS
235232010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23524
23525 * docs/grub.texi (Naming convention): Document new naming convention.
23526
ab8ba957
VS
235272010-07-20 Vadim Solomin <vadic052@gmail.com>
235282010-07-20 Colin Watson <cjwatson@ubuntu.com>
23529
23530 Generate device.map in something closer to the old ordering.
23531
23532 * util/deviceiter.c (struct device): New declaration.
23533 (compare_file_names): Rename to ...
23534 (compare_devices): ... this. Sort by kernel name in preference to
23535 the stable by-id name, but keep the latter as a fallback comparison.
23536 Update header comment.
23537 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
23538 of `struct device' rather than of plain file names.
23539
a29d6a4b
TF
235402010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
23541
23542 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
23543 on i386.
23544
39d824e8
VS
235452010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23546
23547 * commands/acpi.c (setup_common_tables): Use sizeof instead of
23548 hardcoding size.
23549 (setv1table): Likewise.
23550
f058276b
FZ
235512010-07-20 Colin Watson <cjwatson@ubuntu.com>
23552
23553 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
23554 removing the homehost if present.
23555 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
23556 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
23557 removing the homehost if present.
23558 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
23559 if possible.
23560 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
23561
23562 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
23563 parameter. Set its pointer target to 0.
23564 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
23565 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
23566 `data_offset' value from the superblock for 1.x metadata.
23567 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
23568 data on the device.
23569 (insert_array): Record the start sector of data on the device.
23570 (grub_raid_register): Pass start_sector parameters to
23571 grub_raid_list->detect and insert_array.
23572 * include/grub/raid.h (struct grub_raid_array): Add start_sector
23573 member.
23574 (struct grub_raid): Add start_sector parameter to `detect'.
23575
23576 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
23577 __attribute__ ((packed)), leaving a comment.
23578 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
23579 (grub_mdraid_detect_09): ... here and ...
23580 (grub_mdraid_detect_1x): ... here.
23581
235822010-07-20 Peter Henn <peter.henn@web.de>
23583
23584 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
23585 chunk size and disk size, which are already given as sector counts
23586 as distinct from the 0.90 units. Fetch the correct device number
23587 from the role table instead of using the table index.
23588
235892010-07-20 Felix Zielcke <fzielcke@z-51.de>
23590
23591 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
23592 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
23593 (WriteMostly1): New macro.
23594 Set array->name to NULL for metadata format 0.90. Add support for
23595 metadata 1.x. Fix some comments.
23596 * disk/raid.c (): Add support for name based RAID arrays. Fix a
23597 few comments.
23598 * util/getroot.c (grub_util_get_grub_dev): Add support for
23599 /dev/md/name style devices.
23600
4b761da9
CW
236012010-07-20 Colin Watson <cjwatson@ubuntu.com>
23602
23603 * .bzrignore: Ignore 20_linux_xen.
23604
5771289a
CW
236052010-07-17 Colin Watson <cjwatson@ubuntu.com>
23606
23607 * util/import_unicode.py: Remove unnecessary imports.
23608
5dab68df
AN
236092010-07-17 Aleš Nesrsta <starous@volny.cz>
23610
23611 Hotplugging and USB hub support.
23612
23613 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
23614 (grub_ohci): Likewise.
23615 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
23616 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
23617 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
23618 (GRUB_OHCI_CTRL_EDS): Likewise.
23619 (GRUB_OHCI_BULK_EDS): Likewise.
23620 (GRUB_OHCI_TDS): Likewise.
23621 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
23622 (grub_ohci_ed_phys2virt): New function.
23623 (grub_ohci_virt_to_phys): Likewise.
23624 (grub_ohci_td_phys2virt): Likewise.
23625 (grub_ohci_td_virt2phys): Likewise.
23626 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
23627 attachment.
23628 (grub_ohci_find_ed): New function.
23629 (grub_ohci_alloc_td): Likewise.
23630 (grub_ohci_free_td): Likewise.
23631 (grub_ohci_free_tds): Likewise.
23632 (grub_ohci_transfer): Use previously allocated memory.
23633 (grub_ohci_portstatus): Reset status changed bit.
23634 (grub_ohci_detect_dev): Supply status changed.
23635 (grub_ohci_fini_hw): Free memory.
23636 (grub_ohci_restore_hw): Reallocate memory.
23637 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
23638 Reset status change.
23639 (grub_uhci_detect_dev): Supply status_change.
23640 * bus/usb/usb.c (attach_hooks): New var.
23641 (grub_usb_device_attach): New function.
23642 (grub_usb_register_attach_hook_class): Likewise.
23643 (grub_usb_unregister_attach_hook_class): Likewise.
23644 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
23645 (grub_usb_add_hub): Reset connection changed bit.
23646 (attach_root_port): New function.
23647 (grub_usb_root_hub): Likewise.
23648 (poll_nonroot_hub): Likewise.
23649 (grub_usb_poll_devices): Likewise.
23650 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
23651 * disk/usbms.c (grub_usbms_open): Use device hooks.
23652 (grub_usbms_iterate) :Poll devices.
23653 (grub_usbms_finddevs): Split into ...
23654 (grub_usbms_attach): ... this ...
23655 (grub_usbms_attach): ... and this.
23656 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
23657 in detect_dev.
23658 (grub_usb_interface): New fields attached and detach_hook.
23659 (grub_usb_attach_hook_class): New type.
23660 (grub_usb_attach_desc): New struct.
23661 (grub_usb_register_attach_hook_class): New function.
23662 (grub_usb_unregister_attach_hook_class): Likewise.
23663 (grub_usb_poll_devices): Likewise.
23664 (grub_usb_device_attach): Likewise.
23665 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
23666 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
23667
3222efaf
VS
236682010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
23669
23670 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
23671 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
23672 delta determination style. Works with most NetBSD partitions too.
23673
139b714a
VS
236742010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
23675
23676 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
23677 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
23678
986aad56
VS
236792010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
23680
23681 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
23682
99be513c
AB
236832010-07-14 Anton Blanchard <anton@samba.org>
23684
23685 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
23686 ET_DYN files.
23687
18075f62
GS
236882010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23689
23690 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
23691
8d9a5b15
GS
236922010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23693
23694 * kern/partition.c (grub_partition_check_containment): New function to
23695 check that a partition is physically contained in a parent. Since
23696 offsets are relative (and non-negative), this reduces to checking that
23697 the partition ends before its parent.
23698 (grub_partition_map_probe): Discard out-of-range sub-partitions.
23699 (grub_partition_iterate): Likewise.
23700 * include/grub/partition.h (grub_partition_map): Slightly more detailed
23701 comments.
23702 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
23703 partitions that start before their parent, and add debug printfs.
23704
19563c25
CW
237052010-07-13 Colin Watson <cjwatson@ubuntu.com>
23706
23707 * Makefile.in (.SUFFIX): Spell correctly, as ...
23708 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
23709 bare module name without `.mod', e.g. `test') tried to invoke a
23710 Modula-2 compiler.
23711
1a1f1e67
CW
237122010-07-13 Colin Watson <cjwatson@ubuntu.com>
23713
23714 * README: Point to the Info manual.
23715
811b0dca
JS
237162010-07-13 Jiro SEKIBA <jir@unicus.jp>
23717
23718 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
23719 2nd superblock position from partition size.
23720
e4f4eafc
CW
237212010-07-10 Colin Watson <cjwatson@ubuntu.com>
23722
23723 * Makefile.in (MAINTAINER_CLEANFILES): Remove
23724 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
23725 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
23726 outputs.
23727
4274c30f
VS
237282010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
23729
23730 Restructure SCSI .id handling.
23731 Reported and tested by: Aleš Nesrsta.
23732
23733 * disk/ata.c (grub_atapi_close): Removed. All users updated.
23734 (grub_atapi_dev): Changed .name to "ata". New field .id.
23735 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
23736 (grub_usbms_dev): New field .id.
23737 * disk/scsi.c (grub_scsi_iterate): Generate name.
23738 (grub_scsi_open): Parse name.
23739 * include/grub/scsi.h (grub_make_scsi_id): New function.
23740 (grub_scsi_dev): Change iterate and open to number instead of naming
23741 busses. All users updated.
23742 (grub_scsi): Remove name. Add .bus.
23743
5bc24388
VS
237442010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
23745
23746 * commands/help.c (grub_cmd_help): Fix a typo.
23747
249975ba
VS
237482010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
23749
23750 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
23751 Reported and tested by: Colin Watson.
23752
3eaac1a1
VS
237532010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
23754
23755 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
23756 in this context.
23757
becce1b1
VS
237582010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
23759
23760 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
23761
f7bf0918
CW
237622010-07-07 Colin Watson <cjwatson@ubuntu.com>
23763
23764 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
23765 indentation.
23766
0b0f9620
CW
237672010-07-06 Colin Watson <cjwatson@ubuntu.com>
23768
23769 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
23770 and disk/raid6_recover.c.
23771 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23772 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
23773
1e545469
CW
237742010-07-06 Colin Watson <cjwatson@ubuntu.com>
23775
23776 * term/gfxterm.c (repaint_schedulded): Rename to ...
23777 (repaint_scheduled): ... this. Update all callers.
23778 (repaint_was_schedulded): Rename to ...
23779 (repaint_was_scheduled): ... this. Update all callers.
23780
5357687a
CW
237812010-07-06 Colin Watson <cjwatson@ubuntu.com>
23782
23783 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
23784 which we expect to be handled by upper layers.
23785
29d7e783
BC
237862010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
23787
23788 * bus/usb/usbhub.c: #include time.h header.
23789
37582066
CW
237902010-07-06 Colin Watson <cjwatson@ubuntu.com>
23791
23792 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
23793 entry_name also for entries without stat blocks (e.g. ".."); fixes
23794 corruption of the first entry in a directory.
23795
c8c06953
CW
237962010-07-06 Colin Watson <cjwatson@ubuntu.com>
23797
23798 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
23799 after setting gfxterm as the active terminal. GRUB_BACKGROUND
23800 doesn't work otherwise.
23801
e75056f1
CW
238022010-07-05 Colin Watson <cjwatson@ubuntu.com>
23803
23804 * docs/grub.texi (Features): Update list of supported file systems.
23805 (GNU/Linux): Update for GRUB 2.
23806 (Serial terminal): Remove mention of --disable-serial, which was a
23807 GRUB Legacy configure option. Update instructions to use
23808 `terminal_input' and `terminal_output' rather than `terminal'.
23809 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
23810 configuration' and `Installing GRUB using grub-install'.
23811 (Menu entry editor): Update for GRUB 2.
23812 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
23813 Document new -a, -u, and -v options.
23814 (initrd): New section.
23815 (initrd16): New section.
23816 (linux): New section.
23817 (linux16): New section.
23818 (search): The `var' argument to `--set' is optional.
23819 (GRUB only offers a rescue shell): Go into a little more detail on
23820 drive ordering.
23821
5cf69151
CW
238222010-07-05 Colin Watson <cjwatson@ubuntu.com>
23823
23824 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
23825
e3f90044
CW
238262010-07-05 Colin Watson <cjwatson@ubuntu.com>
23827
23828 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
23829 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
23830
38d8f4f3
CW
238312010-07-05 Colin Watson <cjwatson@ubuntu.com>
23832
23833 * util/i386/pc/grub-setup.c (setup): Rename prefix to
23834 install_prefix, in line with install_dos_part and install_bsd_part.
23835 Add new prefix variable, which is copied to install_prefix after
23836 comparing core.img in memory with the one read from disk in the
23837 no-embedding case, and use that rather than overwriting
23838 install_prefix immediately when installing to a partition.
23839 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
23840 Bicakci.
23841
57ebd41e
GS
238422010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
23843
23844 * configure.ac: Avoid == in test command, it's not portable.
23845 * util/grub.d/30_os-prober.in: Likewise.
23846
cb7f64b2
CW
238472010-07-04 Colin Watson <cjwatson@ubuntu.com>
23848
23849 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
23850
6b654bb0
GS
238512010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
23852
23853 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
23854 multiple (top-level) partmaps.
23855
72a2026d
VS
238562010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23857
23858 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 23859 Reported by: Tino Keitel.
72a2026d 23860
df3eb88f
VS
238612010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23862
23863 Bidi and diacritics support.
23864
23865 * Makefile.in (widthspec.bin): New target.
23866 (widthspec.h): Likewise.
23867 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
23868 * autogen.sh: Generate unidata.c.
23869 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
23870 * commands/ls.c (grub_ls_list_devices): Likewise.
23871 (grub_ls_list_files): Likewise.
23872 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
23873 (grub_mini_cmd_lsmod): Likewise.
23874 * commands/read.c: Likewise.
23875 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
23876 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
23877 * lib/arg.c (grub_arg_show_help): Likewise.
23878 * lib/crypto.c (grub_password_get): Likewise.
23879 * normal/auth.c (grub_username_get): Likewise.
23880 * normal/misc.c (grub_normal_print_device_info): Likewise.
23881 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
23882 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
23883 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
23884 (normal/charset.c_DEPENDENCIES): New variable.
23885 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
23886 (pkglib_MODULES): Remove charset.mod.
23887 (charset_mod_SOURCES): Removed.
23888 (charset_mod_CFLAGS): Likewise.
23889 (charset_mod_LDFLAGS): Likewise.
23890 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
23891 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
23892 and term/tparm.c.
23893 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23894 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23895 (kernel_img_HEADERS): Add terminfo.h.
23896 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
23897 Fill ->font. Reverse ascii bitmaps.
23898 (grub_font_get_xheight): New function.
23899 * font/font.c (grub_font_get_string_width): Moved from here ...
23900 * gfxmenu/font.c (grub_font_get_string_width): ... here.
23901 * font/font.c (grub_font_draw_string): Moved from here ...
23902 * gfxmenu/font.c (grub_font_draw_string): ... here.
23903 * font/font.c (grub_font_dup_glyph): New function.
23904 (grub_font_blit_glyph): Likewise.
23905 (grub_font_blit_glyph_mirror): Likewise.
23906 (blit_comb): Likewise.
23907 (grub_font_construct_dry_run): Likewise.
23908 (grub_font_get_constructed_device_width): Likewise.
23909 (grub_font_construct_glyph): Likewise.
23910 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
23911 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
23912 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
23913 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
23914 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
23915 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
23916 (grub_font_get_xheight): New proto.
23917 (grub_font_get_constructed_device_width): Likewise.
23918 (grub_font_construct_glyph): Likewise.
23919 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
23920 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
23921 * include/grub/font.h (grub_font_draw_string): Moved from here ...
23922 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
23923 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
23924 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
23925 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
23926 (grub_console_getcharwidth): Likewise.
23927 * include/grub/misc.h (grub_xputs): New proto.
23928 (grub_puts): Inlined.
23929 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
23930 (grub_normal_get_line_counter): Removed.
23931 (grub_install_newline_hook): Likewise.
23932 (grub_normal_get_char_counter): New proto.
23933 (grub_normal_reset_more): Likewise.
23934 (grub_xputs_normal): Likewise.
23935 * include/grub/powerpc/ieee1275/console.h: Removed.
23936 * include/grub/sparc64/ieee1275/console.h: Likewise.
23937 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
23938 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
23939 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
23940 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
23941 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
23942 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
23943 (grub_term_input): Pass reference to self. All users updated.
23944 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
23945 Pass reference to self. New fields normal_color, highlight_color and
23946 data. All users updated.
23947 (grub_putchar): Removed.
23948 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
23949 (grub_unicode_estimate_width): New function.
23950 (grub_term_getcharwidth): Add defaults.
23951 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
23952 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
23953 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
23954 (grub_cls): Remove EXPORT_FUNC.
23955 (grub_setcolorstate): Inline.
23956 (grub_newline_hook): Removed.
23957 * include/grub/terminfo.h: Rewritten. All users updated.
23958 * include/grub/unicode.h: New file.
23959 * include/grub/video.h (grub_video_signed_rect): New type.
23960 * kern/emu/console.c (grub_console_highlight_color): Removed.
23961 (grub_console_normal_color): Likewise.
23962 (grub_console_standard_color): Made static.
23963 (grub_ncurses_putchar): Remove mapping.
23964 (grub_ncurses_getcharwidth): Removed.
23965 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
23966 (grub_ncurses_setcolor): Removed.
23967 (grub_ncurses_getcolor): Likewise.
23968 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
23969 (grub_console_putchar): ... this.
23970 (grub_console_putchar): Handle argument difference.
23971 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
23972 console_init_early and console_init_lately.
23973 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
23974 * kern/misc.c (grub_puts): Removed.
23975 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
23976 (grub_vsnprintf_real): Remove str = NULL support.
23977 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
23978 * normal/charset.c (grub_utf8_to_ucs4): ... here.
23979 * kern/term.c (grub_putcode): Renamed to ...
23980 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
23981 (grub_putchar): Removed.
23982 (grub_xputs_dumb): New function.
23983 (grub_xputs): New variable.
23984 * lib/charset.c: Move from here ...
23985 * normal/charset.c: ... to here.
23986 (grub_ucs4_to_utf8): New function.
23987 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
23988 (join_types): New variable.
23989 (unpack_join): New function.
23990 (bidi_types): New variable.
23991 (unpack_bidi): New function.
23992 (get_bidi_type): Likewise.
23993 (get_join_type): Likewise.
23994 (is_mirrored): Likewise.
23995 (grub_unicode_get_comb_type): Likewise.
23996 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
23997 (is_type_after): Likewise.
23998 (grub_unicode_aglomerate_comb): Likewise.
23999 (bidi_line_wrap): Likewise.
24000 (grub_bidi_line_logical_to_visual): Likewise.
24001 (grub_bidi_logical_to_visual): Likewise.
24002 (grub_unicode_mirror_code): Likewise.
24003 (grub_unicode_shape_code): Likewise.
24004 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
24005 Don't use grub_putchar.
24006 * normal/main.c (grub_normal_init_page): Use grub_putcode.
24007 (grub_normal_reader_init): Likewise.
24008 (grub_xputs_saved): New variable.
24009 (GRUB_MOD_INIT): Set grub_xputs.
24010 (GRUB_MOD_FINI): Restore grub_xputs.
24011 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
24012 (menu_init): Avoid printing gfxmenu error.
24013 (show_menu): Use grub_normal_get_char_counter.
24014 * normal/menu_entry.c (update_screen): Fix out-of-array.
24015 (complete): Avoid NULL dereferencing.
24016 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
24017 * normal/menu_text.c (print_spaces): Removed.
24018 (grub_print_ucs4): Likewise.
24019 (grub_print_message_indented): Use grub_print_ucs4.
24020 (print_message): Use grub_putcode.
24021 (print_entry): Hanlde diacritics.
24022 * normal/term.c (term_state): New type.
24023 (grub_more_lines): Removed.
24024 (term_states): New variable.
24025 (grub_normal_line_counter): Renamed to ..
24026 (grub_normal_char_counter): ...this. All users updated.
24027 (grub_normal_get_line_counter): Renamed to ...
24028 (grub_normal_get_char_counter): ... this.
24029 (grub_normal_reset_more): New function.
24030 (process_newline): Removed.
24031 (print_more): New function.
24032 (grub_install_newline_hook): Removed.
24033 (map_code): New function.
24034 (grub_puts_terminal): Use grub_print_ucs4.
24035 (putglyph): New function.
24036 (putcode_real): Likewise.
24037 (grub_putcode): Use putcode_real.
24038 (get_maxwidth): New function.
24039 (get_startwidth): Likewise.
24040 (print_ucs4_terminal): Likewise.
24041 (find_term_state): Likewise.
24042 (put_glyphs_terminal): Likewise.
24043 (print_backlog): Likewise.
24044 (print_ucs4_real): Likewise.
24045 (grub_print_ucs4): Likewise.
24046 (grub_xputs_normal): Likewise.
24047 * term/efi/console.c (grub_console_putchar): Output diacritics.
24048 (grub_console_getcharwidth): Removed.
24049 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24050 * term/gfxterm.c (clear_char): Free chars.
24051 (scroll_up): Avoid leaking memory.
24052 (grub_gfxterm_putchar): Support diacritics.
24053 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24054 * term/i386/pc/console.c (grub_console_term_output): Declare as
24055 GRUB_TERM_CODE_TYPE_VGA.
24056 * term/i386/pc/vga.c (grub_vga_term): Declare as
24057 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
24058 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
24059 GRUB_TERM_CODE_TYPE_VGA.
24060 * term/i386/vga_common.c (map_char): Removed.
24061 (grub_console_putchar): Likewise.
24062 (grub_console_getcharwidth): Likewise.
24063 * term/ieee1275/ofconsole.c: Simplify using terminfo.
24064 (colors): Reordered to match terminfo.
24065 (grub_ofconsole_normal_color): Removed.
24066 (grub_ofconsole_writeesc): Likewise.
24067 (grub_ofconsole_highlight_color): Likewise.
24068 (grub_ofconsole_getcharwidth): Likewise.
24069 (grub_ofconsole_setcolorstate): Likewise.
24070 (grub_ofconsole_setcolor): Likewise.
24071 (grub_ofconsole_getcolor): Likewise.
24072 (grub_ofconsole_readkey): Renamed to ...
24073 (readkey): ... this. Remove escape sequence handling. Return -1 on no
24074 key.
24075 (grub_ofconsole_checkkey): Removed.
24076 (grub_ofconsole_getkey): Likewise.
24077 (grub_ofconsole_getxy): Likewise.
24078 (grub_ofconsole_gotoxy): Likewise.
24079 (grub_ofconsole_cls): Likewise.
24080 (grub_ofconsole_refresh): Likewise.
24081 (grub_ofconsole_terminfo_input): New struct.
24082 (grub_ofconsole_terminfo_output): Likewise.
24083 (grub_ofconsole_term_input): Use terminfo.
24084 (grub_ofconsole_term_output): Likewise.
24085 (grub_console_init): Split into ...
24086 (grub_console_init_early): ...this and ...
24087 (grub_console_init_lately): ...this. Use terminfo.
24088 (grub_ofconsole_putchar): Renamed to ...
24089 (put): ... this. Remove mapping.
24090 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
24091 * term/serial.c: Simplify using terminfo.
24092 (xpos): Removed.
24093 (ypos): Likewise.
24094 (keep_track): Likewise.
24095 (registered): Likewise.
24096 (input_buf): Likewise.
24097 (npending): Likewise.
24098 (serial_translate_key_sequence): Likewise.
24099 (fill_input_buf): Likewise.
24100 (grub_serial_checkkey): Likewise.
24101 (grub_serial_getkey): Likewise.
24102 (grub_serial_getxy): Likewise.
24103 (grub_serial_gotoxy): Likewise.
24104 (grub_serial_putchar): Likewise.
24105 (grub_serial_cls): Likewise.
24106 (grub_serial_setcolorstate): Likewise.
24107 (grub_serial_setcursor): Likewise.
24108 (serial_hw_init): Use serial_hw_fetch.
24109 (grub_serial_terminfo_input): New variable.
24110 (grub_serial_terminfo_output): Likewise.
24111 (grub_serial_term_input): Use terminfo.
24112 (grub_serial_term_output): Likewise.
24113 * term/terminfo.c (putstr): Use put.
24114 (grub_terminfo_all_free): New function
24115 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
24116 (grub_terminfo_output_register): New function.
24117 (grub_terminfo_output_unregister): Likewise.
24118 (grub_terminfo_getxy): Likewise.
24119 (grub_terminfo_readkey): Likewise.
24120 (grub_terminfo_checkkey): Likewise.
24121 (grub_terminfo_getkey): Likewise.
24122 (grub_terminfo_input_init): Likewise.
24123 (print_terminfo): Likewise.
24124 (grub_cmd_terminfo): Handle encoding.
24125 (grub_terminfo_gotoxy): Track position.
24126 (grub_terminfo_cls): Likewise.
24127 (grub_terminfo_putchar): Likewise.
24128 (grub_terminfo_setcolorstate): Handle colors
24129 (grub_terminfo_cursor_on): This ...
24130 (grub_terminfo_cursor_off): ... and this merged into ...
24131 (grub_terminfo_setcursor): ... this.
24132 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
24133 * unicode/ArabicShaping.txt: New file (imported from Unicode).
24134 * unicode/BidiMirroring.txt: Likewise.
24135 * unicode/UnicodeData.txt: Likewise.
24136 * unicode/COPYING: Likewise.
24137 * util/grub-editenv.c (grub_putchar): Removed.
24138 (grub_xputs_real): New function.
24139 (grub_xputs): New variable.
24140 * util/grub-fstest.c (grub_putchar): Removed.
24141 (grub_xputs_real): New function.
24142 (grub_xputs): New variable.
24143 * util/grub-mkdevicemap.c (grub_putchar): Removed.
24144 (grub_xputs_real): New function.
24145 (grub_xputs): New variable.
24146 * util/grub-probe.c (grub_putchar): Removed.
24147 (grub_xputs_real): New function.
24148 (grub_xputs): New variable.
24149 * util/grub-script-check.c (grub_putchar): Removed.
24150 (grub_xputs_real): New function.
24151 (grub_xputs): New variable.
24152 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
24153 (grub_xputs_real): New function.
24154 (grub_xputs): New variable.
24155 * util/import_unicode.py: New file.
24156 * util/grub-mkfont.c (ft_errmsgs): New array.
24157 (grub_glyph_info): Make bitmap a pointer.
24158 (file_formats): New type WIDTH_SPEC.
24159 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
24160 (options): Add width-spec.
24161 (help): Likewise.
24162 (add_char): Renamed to ...
24163 (add_glyph): ... this.
24164 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
24165 (glyph_replace): New type.
24166 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
24167 (add_char): New function.
24168 (add_subst): Likewise.
24169 (process_cursive): Likewise.
24170 (add_font): Handle GSUB.
24171 (write_font_width_spec): New function.
24172 (main): Sort glyphs.
24173 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
24174 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
24175 * kern/term.c (grub_cls): Moved from here...
24176 * normal/term.c (grub_cls): ... here.
24177
50f0bcda
CW
241782010-07-02 Colin Watson <cjwatson@ubuntu.com>
24179
24180 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
24181 suitable for using within the format argument of printf when
24182 converting grub_size_t.
24183 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
24184 "x" to convert grub_size_t arguments.
24185
40372103
VS
241862010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24187
24188 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
24189 too long captions.
24190 (list_get_minimal_size): Take selection box into account.
24191
942a10c7
VS
241922010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24193
24194 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
24195 NULL font.
24196
2bdb2892
CW
241972010-07-02 Colin Watson <cjwatson@ubuntu.com>
24198
24199 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
24200 devices when iterating over /dev/disk/by-id; they will be handled
24201 later if appropriate, which they aren't always (e.g. LVM).
24202
e03ed6c1
CW
242032010-07-02 Colin Watson <cjwatson@ubuntu.com>
24204
24205 * include/grub/misc.h (grub_reboot): Declare as noreturn.
24206 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
24207 fails.
24208 (grub_halt): Likewise.
24209 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
24210 reset-all fails.
24211 (grub_halt): Don't return, even if all of shut-down, power-off, and
24212 poweroff fail.
24213
47695765
CW
242142010-07-02 Colin Watson <cjwatson@ubuntu.com>
24215
24216 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
24217 arguments, not three.
24218
507736c8
CW
242192010-07-02 Colin Watson <cjwatson@ubuntu.com>
24220
24221 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
24222 * util/grub.d/10_linux.in: Use it to check for LVM, so that
24223 LVM-on-RAID is handled correctly.
24224
e3c8cd37
CW
242252010-07-02 Colin Watson <cjwatson@ubuntu.com>
24226
24227 * docs/grub.texi (Changes from GRUB Legacy): New section.
24228 (Future): Fix typo.
24229
8d4a2fec
CW
242302010-07-02 Colin Watson <cjwatson@ubuntu.com>
24231
24232 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
24233 grub.d/README accidentally ends up executable for one reason or
24234 another. Ignore it.
24235
1c4827be
VS
242362010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24237
24238 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
24239 (gpt_partition_map_iterate): Support non-512B sectors.
24240
d9a0c941
VS
242412010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24242
24243 * kern/efi/init.c (grub_efi_init): Disable watchdog.
24244 Tested by: Seth Goldberg.
24245
48f27e87
VS
242462010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24247
24248 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
24249 Properly align mbi.
24250 Reported by: Seth Goldberg.
24251
b0c4f956
VS
242522010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24253
24254 * util/grub-mkrescue.in: Avoid module duplication.
24255
105a2e8c
SF
242562010-07-01 Sean Finney <seanius@seanius.net>
24257
24258 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
24259
5944958c
SF
242602010-07-01 Sean Finney <seanius@seanius.net>
24261
24262 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
24263
242642010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24265
24266 * disk/lvm.c (grub_lvm_checkvalue): New function.
24267 (grub_lvm_check_flag): Likewise.
24268
b79889ba
RM
242692010-07-01 Robert Millan <rmh@gnu.org>
24270
24271 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
24272 Support 'p' as partition separator on kernel of FreeBSD (used
24273 with GPT labels).
24274 (grub_util_biosdisk_get_grub_dev): Likewise.
24275
ec1d04f1
VS
242762010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24277
24278 Yeeloong firmware port.
24279
24280 * boot/mips/yeeloong/fwstart.S: New file.
24281 * bus/cs5536.c (gpiodump): New const.
24282 (set_io_space): New function.
24283 (set_iod): Likewise.
24284 (set_p2d): Likewise.
24285 (grub_cs5536_init_geode): Likewise.
24286 * commands/mips/yeeloong/lsspd.c: New file.
24287 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
24288 (serial_mod_SOURCES): New variable.
24289 (serial_mod_CFLAGS): Likewise.
24290 (serial_mod_LDFLAGS): Likewise.
24291 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
24292 term/terminfo.c and term/tparm.c.
24293 (pkglib_IMAGES): Add fwstart.img.
24294 (fwstart_img_SOURCES): New variable.
24295 (fwstart_img_CFLAGS): Likewise.
24296 (fwstart_img_ASFLAGS): Likewise.
24297 (fwstart_img_LDFLAGS): Likewise.
24298 (fwstart_img_FORMAT): Likewise.
24299 (pkglib_MODULES): Add lsspd.mod.
24300 (lsspd_mod_SOURCES): New variable.
24301 (lsspd_mod_CFLAGS): Likewise.
24302 (lsspd_mod_LDFLAGS): Likewise.
24303 (pkglib_MODULES): Add halt.mod.
24304 (halt_mod_SOURCES): New variable.
24305 (halt_mod_CFLAGS): Likewise.
24306 (halt_mod_LDFLAGS): Likewise.
24307 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
24308 (serial_mod_SOURCES): Removed.
24309 (serial_mod_CFLAGS): Likewise.
24310 (serial_mod_LDFLAGS): Likewise.
24311 * disk/ata.c (check_device): New function.
24312 (grub_ata_device_initialize): Use check_device.
24313 (grub_ata_iterate): Recheck devices.
24314 (grub_ata_open): Likewise.
24315 (grub_atapi_iterate): Likewise.
24316 (grub_atapi_open): Likewise.
24317 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
24318 (GRUB_ATA_CH1_PORT1): Likewise.
24319 (GRUB_ATA_CH0_PORT2): Likewise.
24320 (GRUB_ATA_CH1_PORT2): Likewise.
24321 * include/grub/mips/loongson.h: New file.
24322 * include/grub/mips/yeeloong/ec.h: Likewise.
24323 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
24324 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
24325 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
24326 * include/grub/misc.h (grub_halt): Declare as noreturn.
24327 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
24328 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
24329 (UART_ENABLE_FIFO_TRIGGER1): New definition.
24330 (UART_ENABLE_DTRRTS): Likewise.
24331 (UART_ENABLE_MODEM): Removed.
24332 (UART_ENABLE_OUT2): New const.
24333 * include/grub/term.h (grub_term_register_input_active): New function.
24334 (grub_term_register_output_active): Likewise.
24335 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
24336 argument.
24337 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
24338 (init_pci): New function.
24339 (grub_machine_init): Execute platform init when firmware. Init serial.
24340 (grub_halt): Implement.
24341 (grub_exit): Likewise.
24342 (grub_reboot): Likewise.
24343 * term/serial.c (serial_hw_init): Update macros.
24344 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
24345 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
24346 (image_targets): New target mipsel-yeeloong-flash.
24347 (generate_image): Support IMAGE_YEELOONG_FLASH.
24348 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
24349 (grub_video_sm712_setup): Init card.
24350 (grub_video_sm712_set_palette): Removed.
24351 * video/sm712_init.c: New file.
24352
ff4a70d2
CW
243532010-06-30 Colin Watson <cjwatson@ubuntu.com>
24354
24355 * Makefile.in (install-local): Temporarily prepend $(builddir) to
24356 PATH when running help2man and then run it on the unadorned
24357 executable names, rather than passing $(builddir)/* paths to
24358 help2man. This avoids the build directory ending up in generated
24359 manual pages.
24360
1246efeb
CW
243612010-06-29 Colin Watson <cjwatson@ubuntu.com>
24362
24363 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
24364 to avoid accidents when debugging with 'sh -x'.
24365 * util/grub-mkrescue.in: Likewise.
24366 * util/grub.d/00_header.in: Likewise.
24367 * util/grub.d/10_hurd.in: Likewise.
24368 * util/grub.d/10_kfreebsd.in: Likewise.
24369 * util/grub.d/10_linux.in: Likewise.
24370 * util/grub.d/10_netbsd.in: Likewise.
24371 * util/grub.d/10_windows.in: Likewise.
24372 * util/grub.d/20_linux_xen.in: Likewise.
24373 * util/grub.d/30_os-prober.in: Likewise.
24374 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
24375
1ba9b889
CW
243762010-06-29 Colin Watson <cjwatson@ubuntu.com>
24377
24378 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
24379 last character in the buffer.
24380 Reported by: Vladimir Serbinenko.
24381
dccaf99d
RM
243822010-06-29 Robert Millan <rmh@gnu.org>
24383
24384 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
24385 (Command-line and menu entry commands): Document `badram' command.
24386
d500ed12
RM
243872010-06-28 Robert Millan <rmh@gnu.org>
24388
24389 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
24390 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
24391 command using ${GRUB_BADRAM} as parameter.
24392
20bc84a6
CW
243932010-06-28 Colin Watson <cjwatson@ubuntu.com>
24394
24395 * docs/grub.texi (Device map): New section.
24396 (Themes): New section (stub).
24397 * Makefile.in (docs/grub.info): The info documentation now builds
24398 without errors. Make sure it stays that way.
24399
4045dee1
VS
244002010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
24401
24402 Use normal parser for menu entries.
24403 Reported by: Thomas Frauendorfer
24404
24405 * include/grub/parser.h (grub_parser_execute): Don't export.
24406 * normal/menu.c (grub_menu_execute_entry_real): New function.
24407 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
24408
bca58c7b
CW
244092010-06-28 Colin Watson <cjwatson@ubuntu.com>
24410
24411 * docs/grub.texi (Embedded configuration): New section (replacing
24412 old "Preset Menu" stub).
24413 (Images): New section.
24414 (configfile): Note that any menu entries defined in `file' are shown
24415 immediately.
24416
dec53e63
JT
244172010-06-28 Josh Triplett <josh@joshtriplett.org>
24418
24419 * mmap/i386/pc/mmap_helper.S: Set CF on return.
24420
c06e40f7
CW
244212010-06-28 Colin Watson <cjwatson@ubuntu.com>
24422
24423 * util/grub-install.in: Add --debug-image= option.
24424
cb88052b
CW
244252010-06-28 Colin Watson <cjwatson@ubuntu.com>
24426
24427 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
24428 possible on Linux.
24429
24430 * util/deviceiter.c (check_device): Rename to ...
24431 (check_device_readable_unique): ... this. Update all callers.
24432 Maintain and check a list of which devices (by canonicalized name)
24433 have already been seen.
24434 (clear_seen_devices): New function.
24435 (compare_file_names) [__linux__]: New function.
24436 (grub_util_iterate_devices): Clear the list of seen devices on exit
24437 and (just in case) on entry.
24438 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
24439 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
24440 seen-devices list, superseded by general code in check_device.
24441
bbe34652
CW
244422010-06-28 Colin Watson <cjwatson@ubuntu.com>
24443
24444 * commands/cat.c (options): New variable.
24445 (grub_cmd_cat): Parse options. If the --dos option is given, print
24446 DOS-style "\r\n" line endings as simple newlines (Debian bug
24447 #586358).
24448 (GRUB_MOD_INIT): Use extcmd.
24449 (GRUB_MOD_FINI): Likewise.
24450 * docs/grub.texi (cat): Document --dos.
24451
412e09f3
VS
244522010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
24453
24454 XEN with Linux grub-mkconfig support.
24455
24456 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
24457 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
24458 GRUB_CMDLINE_XEN_DEFAULT.
24459 * util/grub.d/20_linux_xen.in: New file.
24460
53f3ef38 244612010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
24462
24463 Initialise VGA video on qemu ourselves.
24464
24465 * boot/i386/qemu/boot.S: Don't call 0xc000.
24466 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
24467 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
24468 (kernel_img_HEADERS): Add pci.h.
24469 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
24470 * configure.ac: Force unifont on qemu and yeeloong.
24471 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
24472 (grub_vga_palette_write): Use correct register.
24473 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
24474 Call grub_qemu_init_cirrus.
24475 * kern/i386/qemu/init.c: New file.
24476 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
24477
24478 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
24479
c75be4fb
PR
244802010-06-26 Pavel Roskin <proski@gnu.org>
24481
24482 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
24483 13.
24484
d8034603
CW
244852010-06-26 Colin Watson <cjwatson@ubuntu.com>
24486
24487 * docs/grub.texi (Simple configuration): Explain that
24488 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
24489 set to `true' to disable their respective recovery entries, not
24490 merely set.
24491
3fa06487
CW
244922010-06-26 Colin Watson <cjwatson@ubuntu.com>
24493
24494 Make the `source' command slightly faster.
24495
24496 * normal/main.c (grub_normal_execute): Don't re-read list files when
24497 nested.
24498
e9b29642
CW
244992010-06-23 Colin Watson <cjwatson@ubuntu.com>
24500
24501 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
24502 field position and mask size to red fields from mode_info, not
24503 green.
24504 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
24505 Remove redundant tag->common.framebuffer_type assignment.
24506 Reported by: Seth Goldberg.
24507
e726542f
CW
245082010-06-23 Colin Watson <cjwatson@ubuntu.com>
24509
24510 Sync up other versions of the Linux loader with Robert Millan's
24511 change of 2010-01-09, "Make loader output a bit more user-friendly".
24512
24513 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
24514 grub_dprintf().
24515 (grub_cmd_linux): Likewise.
24516 (grub_cmd_initrd): Likewise.
24517 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
24518 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
24519
d6e98a17
CW
245202010-06-21 Colin Watson <cjwatson@ubuntu.com>
24521
24522 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
24523 larger than MEMORY_MAP_SIZE.
24524
14d3f08e
BC
245252010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
24526
24527 Fix parallel build.
24528
24529 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
24530 dependency.
24531 * script/parser.y: #include grub_script.tab.h header.
24532
4f9613a3
VS
245332010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24534
24535 Support >3GiB and <16MiB RAM in i386-qemu.
24536
24537 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
24538 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
24539 (grub_lower_mem): Removed.
24540 (grub_upper_mem): Likewise.
24541 (mem_size): Made static.
24542 (above_4g): New variable.
24543 (grub_machine_mmap_init): Detect small mem_size and above_4g.
24544 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
24545 support.
24546
05e51879
VS
245472010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24548
24549 Cirrus 5446 and Bochs video cards support.
24550
24551 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
24552 video_bochs.mod
24553 (video_cirrus_mod_SOURCES): New variable.
24554 (video_cirrus_mod_CFLAGS): Likewise.
24555 (video_cirrus_mod_LDFLAGS): Likewise.
24556 (video_bochs_mod_SOURCES): Likewise.
24557 (video_bochs_mod_CFLAGS): Likewise.
24558 (video_bochs_mod_LDFLAGS): Likewise.
24559 * include/grub/vga.h: New file.
24560 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
24561 (grub_video_fb_set_page_t): New type.
24562 (grub_video_fb_setup): New prototype.
24563 (grub_video_fb_swap_buffers): Likewise.
24564 (grub_video_fb_get_info_and_fini): Likewise.
24565 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
24566 (CRTC_DATA_PORT): Likewise.
24567 (CRTC_CURSOR): Likewise.
24568 (CRTC_CURSOR_ADDR_HIGH): Likewise.
24569 (CRTC_CURSOR_ADDR_LOW): Likewise.
24570 (CRTC_CURSOR_DISABLE): Likewise.
24571 (update_cursor): Use grub_vga_cr_write.
24572 (grub_vga_text_setcursor): Likewise.
24573 * video/bochs.c: New file.
24574 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
24575 (palette): Likewise.
24576 (palette_size): Likewise.
24577 (framebuffer): New variable.
24578 (grub_video_fb_init): Use 'framebuffer'.
24579 (grub_video_fb_fini): Likewise.
24580 (grub_video_fb_get_info): Likewise.
24581 (grub_video_fb_get_palette): Likewise.
24582 (grub_video_fb_set_palette): Likewise.
24583 (grub_video_fb_set_viewport): Likewise.
24584 (grub_video_fb_get_viewport): Likewise.
24585 (grub_video_fb_map_color): Likewise.
24586 (grub_video_fb_map_rgb): Likewise.
24587 (grub_video_fb_map_rgba): Likewise.
24588 (grub_video_fb_unmap_color): Likewise.
24589 (grub_video_fb_unmap_color_int): Likewise.
24590 (grub_video_fb_fill_rect): Likewise.
24591 (grub_video_fb_blit_bitmap): Likewise.
24592 (grub_video_fb_blit_render_target): Likewise.
24593 (grub_video_fb_scroll): Likewise.
24594 (grub_video_fb_create_render_target): Likewise.
24595 (grub_video_fb_doublebuf_blit_init): Likewise.
24596 (grub_video_fb_set_active_render_target): Handle doublebuffering.
24597 (doublebuf_pageflipping_update_screen): New function.
24598 (doublebuf_pageflipping_init): Likewise.
24599 (grub_video_fb_setup): Likewise.
24600 (grub_video_fb_swap_buffers): Likewise.
24601 (grub_video_fb_get_info_and_fini): Likewise.
24602 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
24603 All users updated.
24604 (doublebuf_pageflipping_commit): Restructured into ...
24605 (doublebuf_pageflipping_set_page): ... this.
24606 (doublebuf_pageflipping_update_screen): Removed.
24607 (doublebuf_pageflipping_init): Likewise.
24608 (double_buffering_init): Likewise.
24609 (grub_video_vbe_setup): Use grub_video_fb_setup.
24610 (grub_video_vbe_swap_buffers): Removed.
24611 (grub_video_vbe_set_active_render_target): Likewise.
24612 (grub_video_vbe_get_active_render_target): Likewise.
24613 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
24614 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
24615 grub_video_fb_set_active_render_target and
24616 grub_video_fb_get_active_render_target.
24617 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
24618 (SEQUENCER_DATA_PORT): Likewise.
24619 (MAP_MASK_REGISTER): Likewise.
24620 (CRTC_ADDR_PORT): Likewise.
24621 (CRTC_DATA_PORT): Likewise.
24622 (START_ADDR_HIGH_REGISTER): Likewise.
24623 (START_ADDR_LOW_REGISTER): Likewise.
24624 (GRAPHICS_ADDR_PORT): Likewise.
24625 (GRAPHICS_DATA_PORT): Likewise.
24626 (READ_MAP_REGISTER): Likewise.
24627 (INPUT_STATUS1_REGISTER): Likewise.
24628 (INPUT_STATUS1_VERTR_BIT): Likewise.
24629 (get_map_mask): Use grub_vga_sr_read.
24630 (set_map_mask): Use grub_vga_sr_write.
24631 (set_read_map): Use grub_vga_gr_write.
24632 (set_start_address): Use grub_vga_cr_write.
24633 * video/sm712.c (framebuffer): Remove leftover fields.
24634
4321c64a
CW
246352010-06-20 Colin Watson <cjwatson@ubuntu.com>
24636
24637 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
24638 setting GRUB_VIDEO_BACKEND. Make it available as a user override
24639 instead. Replace the gfxterm backend check with a check that
24640 ${GRUB_PREFIX}/video.lst is non-empty.
24641 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
24642 again.
24643 (load_video): New generated function. Call it before loading
24644 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
24645 * util/grub.d/10_linux.in (linux_entry): Call load_video.
24646 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
24647 * docs/grub.texi (Simple configuration): Document
24648 GRUB_VIDEO_BACKEND.
24649
246502010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24651
24652 Use video functions in linux and xnu loaders.
24653
24654 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
24655 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
24656 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
24657 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
24658 loader/i386/pc/linux.c.
24659 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
24660 (find_line_len): Removed.
24661 (find_framebuf): Likewise.
24662 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
24663 * loader/i386/efi/xnu.c: Removed.
24664 * loader/i386/pc/xnu.c: Moved from here...
24665 * loader/i386/xnu.c: ...here.
24666
24667 Enable priorities in video drivers.
24668
24669 * include/grub/video.h (grub_video_adapter_prio_t): New type.
24670 (grub_video_adapter): New field prio.
24671 (grub_video_register): Respect prio when inserting.
24672 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
24673 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
24674 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
24675 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
24676 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
24677 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
24678 * video/sm712.c (grub_video_sm712_adapter): Likewise.
24679
24680 Fix SDL driver ID.
24681
24682 * include/grub/video.h (grub_video_driver_id_t): New value
24683 GRUB_VIDEO_DRIVER_SDL.
24684 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
24685
7d24e434
CW
246862010-06-17 Colin Watson <cjwatson@ubuntu.com>
24687
24688 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
24689 argument to printf.
24690 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
24691
c88a83f6
CW
246922010-06-17 Colin Watson <cjwatson@ubuntu.com>
24693
24694 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
24695 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
24696
094dfb69
CW
246972010-06-17 Colin Watson <cjwatson@ubuntu.com>
24698
24699 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
24700 directly, and recommend grub-install instead.
24701 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
24702
2164da6b
CW
247032010-06-17 Colin Watson <cjwatson@ubuntu.com>
24704
24705 Fix i386-pc prefix handling with nested partitions (Debian bug
24706 #585068). Note that the case where the core image is booted using
24707 multiboot and relocated from its original location still requires
24708 more work.
24709
24710 * kern/i386/pc/init.c (make_install_device): If the prefix starts
24711 with "(,", fill the boot drive in between those two characters, but
24712 expect that a full partition specification including partition map
24713 names will follow.
24714 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
24715 specified, write a prefix without the drive name but including a
24716 full partition specification.
24717
044e2e60
CW
247182010-06-16 Colin Watson <cjwatson@ubuntu.com>
24719
24720 * util/grub-mkconfig.in: Ignore non-option arguments, for
24721 compatibility with older versions (before 2010-06-12) which did the
24722 same. In particular, this makes it easier to ship an update-grub
24723 wrapper which is compatible with that used with GRUB Legacy (Debian
24724 bug #586056).
24725
5591324f
GS
247262010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24727
24728 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
24729 for manual page generation.
24730
662e24d5
GS
247312010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24732
24733 * po/POTFILES: Remove leftover commands/handler.c.
24734
8d70754e
CW
247352010-06-14 Colin Watson <cjwatson@ubuntu.com>
24736
24737 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
24738 left this script non-functional.
24739
41160e2e
CW
247402010-06-14 Colin Watson <cjwatson@ubuntu.com>
24741
24742 * docs/man/grub-emu.h2m: New file.
24743
b5309cc1
CW
247442010-06-13 Colin Watson <cjwatson@ubuntu.com>
24745
24746 * docs/grub.texi (Commands): Document reduced command set in rescue
24747 mode.
24748 (cpuid): New section.
24749
fcb2d090
GS
247502010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
24751
24752 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
24753 new partition naming style.
24754 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
24755
96e5c556
BC
247562010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
24757
24758 Add "-o grub.iso" like cmdline options support.
24759
24760 * util/grub-install.in: Improve cmdline option parsing.
24761 * util/grub-mkconfig.in: Likewise.
24762 * util/grub-mkrescue.in: Likewise.
24763 * util/grub-reboot.in: Likewise.
24764 * util/grub-set-default.in: Likewise.
24765 * util/i386/efi/grub-install.in: Likewise.
24766 * util/ieee1275/grub-install.in: Likewise.
24767 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
24768
c16be99b
CW
247692010-06-12 Colin Watson <cjwatson@ubuntu.com>
24770
24771 * .bzrignore: Ignore 41_custom.
24772
ce08a9fb
TS
247732010-06-12 Thomas Schmitt <scdbackup@gmx.net>
24774
24775 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
24776
7beac90c
CW
247772010-06-12 Colin Watson <cjwatson@ubuntu.com>
24778
24779 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
24780 prototype declarations.
24781
24782 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
24783 generating fs, partmap, and video lists.
24784 * include/grub/fs.h (grub_fs_register): Omit prototype if
24785 GRUB_LST_GENERATOR is defined.
24786 * include/grub/partition.h (grub_partition_map_register): Likewise.
24787 * include/grub/video.h (grub_video_register): Likewise.
24788
1c8f0f8d
JM
247892010-06-12 Javier Martín <lordhabbit@gmail.com>
24790
24791 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
24792
a6085973
TS
247932010-06-12 Thomas Schmitt <scdbackup@gmx.net>
24794
24795 * util/grub-mkrescue.in: Support --xorriso argument.
24796
25c56d29
VS
247972010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
24798
24799 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
24800 Suggested by: Thomas Schmitt.
24801
e03e4b24
VS
248022010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
24803
24804 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
24805 Suggested by: Thomas Schmitt.
24806
57711df6
VS
248072010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
24808
24809 custom.cfg support.
24810
24811 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
24812 * util/grub.d/41_custom.in: New file.
24813
ee62c427
CW
248142010-06-12 Colin Watson <cjwatson@ubuntu.com>
24815
24816 * util/grub-mkrescue.in (make_image): Remove sh module, which has
24817 been merged back into normal.
24818
283af07a
CW
248192010-06-11 Colin Watson <cjwatson@ubuntu.com>
24820
24821 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
24822 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
24823
56a0d956
CW
248242010-06-11 Colin Watson <cjwatson@ubuntu.com>
24825
24826 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
24827 when generating manual pages.
24828 * docs/man/grub-bin2h.h2m: New file.
24829 * docs/man/grub-editenv.h2m: New file.
24830 * docs/man/grub-fstest.h2m: New file.
24831 * docs/man/grub-install.h2m: New file.
24832 * docs/man/grub-macho2img.h2m: New file.
24833 * docs/man/grub-mkconfig.h2m: New file.
24834 * docs/man/grub-mkdevicemap.h2m: New file.
24835 * docs/man/grub-mkfont.h2m: New file.
24836 * docs/man/grub-mkimage.h2m: New file.
24837 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
24838 * docs/man/grub-mkrelpath.h2m: New file.
24839 * docs/man/grub-mkrescue.h2m: New file.
24840 * docs/man/grub-ofpathname.h2m: New file.
24841 * docs/man/grub-pe2elf.h2m: New file.
24842 * docs/man/grub-probe.h2m: New file.
24843 * docs/man/grub-reboot.h2m: New file.
24844 * docs/man/grub-script-check.h2m: New file.
24845 * docs/man/grub-set-default.h2m: New file.
24846 * docs/man/grub-setup.h2m: New file.
24847
3a37e322
VS
248482010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
24849
24850 Use FOR_* macros instead of *_iterate whenever possible.
24851
24852 * commands/handler.c: Removed.
24853 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
24854 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
24855 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
24856 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
24857 (grub_probe_SOURCES): Remove kern/parser.c.
24858 (util/grub-script-check.c_DEPENDENCIES): Removed.
24859 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
24860 and grub_script_check_init.c.
24861 (grub_script_check_init.lst): Removed.
24862 (grub_script_check_init.h): Likewise.
24863 (grub_script_check_init.c): Likewise.
24864 (pkglib_MODULES): Remove handler.mod and sh.mod.
24865 (handler_mod_SOURCES): Removed.
24866 (handler_mod_CFLAGS): Likewise.
24867 (handler_mod_LDFLAGS): Likewise.
24868 (normal_mod_SOURCES): Remove normal/handler.c.
24869 Add script/main.c, script/script.c, script/execute.c,
24870 script/function.c, script/lexer.c, grub_script.tab.c
24871 and grub_script.yy.c.
24872 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
24873 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24874 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
24875 (grub_setup_SOURCES): Remove kern/parser.c.
24876 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
24877 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
24878 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
24879 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24880 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24881 (grub_setup_SOURCES): Remove kern/parser.c.
24882 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
24883 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
24884 * include/grub/command.h (grub_command_iterate): Removed.
24885 (FOR_COMMANDS): New macro.
24886 * include/grub/dl.h (grub_dl): New member next.
24887 (grub_dl_iterate): Removed.
24888 (grub_dl_head): New variable declaration.
24889 (FOR_DL_MODULES): New macro.
24890 * include/grub/fs.h: Include list.h.
24891 (grub_fs): Make next first element.
24892 (grub_fs_list): New variable declaration.
24893 (grub_fs_register): Make inline.
24894 (grub_fs_unregister): Likewise.
24895 (grub_fs_iterate): Removed.
24896 (FOR_FILESYSTEMS): New macro.
24897 * include/grub/handler.h: Removed.
24898 * include/grub/list.h (grub_list_hook_t): Removed.
24899 (grub_list_test_t): Likewise.
24900 (grub_list_pop): Likewise.
24901 (grub_list_iterate): Likewise.
24902 (grub_list_insert): Likewise.
24903 (FOR_LIST_ELEMENTS): New macro.
24904 * include/grub/parser.h (grub_parser_class): Removed.
24905 (grub_parser_register): Likewise.
24906 (grub_parser_unregister): Likewise.
24907 (grub_parser_get_current): Likewise.
24908 (grub_parser_set_current): Likewise.
24909 (grub_register_rescue_parser): Likewise.
24910 (grub_rescue_parse_line): New function.
24911 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
24912 * include/grub/script_sh.h (grub_script_function_list): New variable
24913 declaration.
24914 (FOR_SCRIPT_FUNCTIONS): New macro.
24915 (grub_script_function_iterate): Removed.
24916 (grub_normal_parse_line): New prototype.
24917 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
24918 (FOR_DISABLED_TERM_INPUTS): Likewise.
24919 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
24920 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
24921 * include/grub/video.h (grub_video_adapter): Move 'next' to first
24922 element.
24923 (grub_video_register): Inline.
24924 (grub_video_unregister): Likewise.
24925 (grub_video_adapter_list): New variable declaration.
24926 (grub_video_iterate): Removed.
24927 (FOR_VIDEO_ADAPTERS): New macro.
24928 * kern/dl.c (grub_dl_list): Removed. All users updated.
24929 (grub_dl_iterate): Removed.
24930 * kern/fs.c (grub_fs_list): Make global.
24931 (grub_fs_register): Removed.
24932 (grub_fs_unregister): Likewise.
24933 (grub_fs_iterate): Likewise.
24934 * kern/handler.c: Removed.
24935 * kern/list.c (grub_list_pop): Removed.
24936 (grub_list_iterate): Likewise.
24937 (grub_list_insert): Likewise.
24938 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
24939 (grub_prio_list_insert): Don't use grub_list_insert.
24940 * kern/main.c (grub_register_rescue_parser): Don't call
24941 grub_register_rescue_parser.
24942 * kern/parser.c (grub_parser_class): Removed.
24943 (grub_parser_execute): Use grub_rescue_parse_line.
24944 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
24945 (grub_rescue_parser): Removed.
24946 (grub_register_rescue_parser): Likewise.
24947 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
24948 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
24949 (grub_auth_check_authentication): Likewise.
24950 * normal/completion.c (iterate_command): Removed.
24951 (grub_normal_do_completion): Use FOR_COMMANDS.
24952 * normal/handler.c: Removed.
24953 * normal/main.c (read_config_file): Remove parser changing.
24954 (grub_normal_execute): Don't call read_handler_list.
24955 (grub_normal_read_line_real): Statically allocate prompt.
24956 (grub_cmdline_run): Use grub_normal_parse_line.
24957 (GRUB_MOD_FINI): Don't call free_handler_list.
24958 * normal/menu_entry.c (run): Likewise.
24959 * script/function.c (grub_script_function_list): Make global.
24960 (grub_script_function_iterate): Removed.
24961 * script/main.c (grub_normal_parse_line): Make global.
24962 (grub_sh_parser): Removed.
24963 (GRUB_MOD_INIT): Likewise.
24964 (GRUB_MOD_FINI): Likewise.
24965 * tests/lib/functional_test.c (grub_functional_test): Use
24966 FOR_LIST_ELEMENTS.
24967 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
24968 (grub_test_run): Use FOR_LIST_ELEMENTS.
24969 * tests/lib/unit_test.c (main): Likewise.
24970 * util/deviceiter.c (grub_util_iterate_devices): Don't use
24971 grub_list_pop.
24972 * util/grub-fstest.c (grub_term_input_class): Removed.
24973 (grub_term_output_class): Likewise.
24974 * util/grub-probe.c: Likewise.
24975 * util/i386/pc/grub-setup.c: Likewise.
24976 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24977 * util/grub-script-check.c (main): Don't call grub_init_all and
24978 grub_fini_all.
24979 * video/video.c (grub_video_adapter_list): Make global.
24980 (grub_video_register): Removed.
24981 (grub_video_unregister): Likewise.
24982 (grub_video_iterate): Likewise.
24983
6289c3a7
VS
249842010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
24985
24986 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
24987 reported by Henrique Ferreiro.
24988
91460247
RM
249892010-06-09 Robert Millan <rmh@gnu.org>
24990
24991 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
24992 ones, when both are available.
24993
0ea7c4f9
GS
249942010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
24995
24996 Make --version uniform and avoid hard-coded program name.
24997
24998 * util/grub-mkimage.c (main): Use `program_name' instead of
24999 hard-coded string.
25000 * util/i386/pc/grub-setup.c (main): Likewise.
25001 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
25002 * util/grub-install.in: Save the basename of $0 in $self, and use the
25003 latter in informational messages. Use the same format for --version
25004 as the binary programs.
25005 * util/grub-mkconfig.in: Likewise.
25006 * util/grub-mkrescue.in: Likewise.
25007 * util/grub-reboot.in: Likewise.
25008 * util/grub-set-default.in: Likewise.
25009 * util/i386/efi/grub-install.in: Likewise.
25010 * util/ieee1275/grub-install.in: Likewise.
25011 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25012
e8a6f3b6
GS
250132010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25014
25015 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
25016 embedding area. Use <= instead of == when checking for non-emptiness.
25017
f4d095d7
GS
250182010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25019
25020 * configure.ac: Add `.' to the directories searched for unifont.
25021
50e532ca
CW
250222010-06-08 Colin Watson <cjwatson@ubuntu.com>
25023
25024 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
25025 grub_script.yy.h.
25026
d39f3dec
CW
250272010-06-08 Colin Watson <cjwatson@ubuntu.com>
25028
25029 * docs/grub.texi (History): Expand to cover GRUB 2.
25030 (Serial terminal): Refer to `terminal_input' and `terminal_output'
25031 commands, not `terminal'.
25032 (serial): Likewise.
25033 (terminal_input): New section.
25034 (terminal_output): New section.
25035 (uppermem): New section (stub).
25036 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
25037
6ef0ddb4
CW
250382010-06-08 Colin Watson <cjwatson@ubuntu.com>
25039
25040 * docs/grub.texi (Security): Menu entries are unrestricted by
25041 default, not restricted to superusers as I had previously thought.
25042 Reword to account for this.
25043
e0f4c438
CW
250442010-06-07 Colin Watson <cjwatson@ubuntu.com>
25045
25046 * kern/emu/misc.c (device_mapper_null_log): New function.
25047 (grub_device_mapper_supported): New function.
25048 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
25049 prototype.
25050 * kern/emu/hostdisk.c (find_partition_start): Check whether
25051 device-mapper is supported before trying to use it.
25052 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
25053
da908200
CW
250542010-06-07 Colin Watson <cjwatson@ubuntu.com>
25055
25056 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
25057 (File name syntax): Likewise.
25058 (help): --all is no longer supported in GRUB 2. Be more precise
25059 about pattern matching.
25060
fb55c3ac
CW
250612010-06-07 Colin Watson <cjwatson@ubuntu.com>
25062
25063 * normal/completion.c (grub_normal_do_completion): When completing
25064 arguments to "set" and the current word contains an equals sign,
25065 skip to after the equals sign before starting completion.
25066
258c2573
CW
250672010-06-07 Colin Watson <cjwatson@ubuntu.com>
25068
25069 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
25070
ee75515e
CW
250712010-06-07 Colin Watson <cjwatson@ubuntu.com>
25072
25073 * docs/grub.texi (Network): New section.
25074 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
25075 `(nd)' as in GRUB Legacy.
25076 (pxe_unload): New section.
25077
a6a700aa
CW
250782010-06-07 Colin Watson <cjwatson@ubuntu.com>
25079
25080 * docs/grub.texi (Troubleshooting): `echo' is not usually available
25081 in the rescue shell, so recommend using `set' instead. Thanks,
25082 Jordan Uggla.
25083
4003dd38
CW
250842010-06-07 Colin Watson <cjwatson@ubuntu.com>
25085
25086 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
25087 (password): New section.
25088 (password_pbkdf2): New section.
25089 (search): New section.
25090 (Security): New section.
25091 (Troubleshooting): New section, currently very incomplete.
25092 (Invoking grub-mkpasswd-pbkdf2): New section.
25093 (Internals): New section, currently very incomplete.
25094
e1cbcc40
CW
250952010-06-07 Colin Watson <cjwatson@ubuntu.com>
25096
25097 * util/grub.d/00_header.in: Add some more quoting (of
25098 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
25099 work again.
25100 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
25101
db8fa1ad
CW
251022010-06-07 Colin Watson <cjwatson@ubuntu.com>
25103
25104 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
25105 to `count', fixing variable shadowing that broke the -c option.
25106
251072010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
25108
25109 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
25110 in case they contain spaces.
25111
f28a9212
CW
251122010-06-04 Colin Watson <cjwatson@ubuntu.com>
25113
25114 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
25115 "part_" to partmap module names, in line with grub-install.
25116 Reported by: Jindřich Makovička (Debian bug #584426).
25117
9cdfe32f
CW
251182010-06-04 Colin Watson <cjwatson@ubuntu.com>
25119
25120 * util/grub-mkimage.c: Make target-related error messages slightly
25121 more helpful; -O talks about "format". Explicitly point to the use
25122 of -O if no target is specified.
25123 Reported by: Didier Raboud (Debian bug #584415).
25124
795b593a
CW
251252010-06-03 Colin Watson <cjwatson@ubuntu.com>
25126
25127 * INSTALL: Document several build requirements for optional features
25128 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
25129
9d9b5833
GS
251302010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
25131
25132 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
25133 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
25134 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
25135
0819fec8
CW
251362010-06-02 Colin Watson <cjwatson@ubuntu.com>
25137
25138 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
25139 Thanks to Jordan Uggla for spotting this.
25140
49396b4f
VS
251412010-06-02 Aleš Nesrsta <starous@volny.cz>
25142
25143 Finally make USB usable.
25144
25145 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
25146 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
25147 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
25148 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
25149 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
25150 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
25151 (GRUB_OHCI_FSMPS): Likewise.
25152 (GRUB_OHCI_PERIODIC_START): Likewise.
25153 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
25154 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
25155 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
25156 (GRUB_OHCI_SET_PORT_RESET): Likewise.
25157 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
25158 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
25159 (grub_ohci_transaction): Likewise.
25160 (grub_ohci_transfer): Improve condition detection algorithms.
25161 Handle toggle property. Program the transactions correctly.
25162 Improve error handling. Various important fixups.
25163 (grub_ohci_portstatus): Put register writes in right order.
25164 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
25165 (grub_uhci_transfer): Don't show "failed" message on success.
25166 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
25167 array.
25168 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
25169 determine its size.
25170 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
25171 before initialization is completed. Use IN direction for empty
25172 transfers. Use last_trans and compute toggle.
25173 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
25174 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
25175 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
25176 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
25177 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
25178 (grub_usb_device): Increase toggle to 256.
25179 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
25180 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
25181 GRUB_USBMS_SUBCLASS_SFF8070.
25182 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
25183 (grub_scsi_inquiry): New member page and alloc_length.
25184 (grub_scsi_request_sense): New structure.
25185 (grub_scsi_request_sense_data): Likewise.
25186 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
25187 control.
25188 * disk/scsi.c (grub_scsi_request_sense): New function.
25189 (grub_scsi_test_unit_ready): Likewise.
25190 (grub_scsi_inquiry): Fill new fields.
25191 (grub_scsi_read_capacity): Likewise.
25192 (grub_scsi_read10): Add request sense at the end.
25193 (grub_scsi_read12): Likewise.
25194 (grub_scsi_write10): Likewise.
25195 (grub_scsi_write12): Likewise.
25196 (grub_scsi_open): Add Test Unit Ready.
25197 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
25198 Support additional subclasses. Con't clear halt yet. Activate the
25199 proper config. Calculate LUNs correctly.
25200 (grub_usbms_transfer): Various important fixups.
25201
252022010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25203
25204 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
25205 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
25206 (grub_ohci_fini_hw): New function.
25207 (grub_ohci_restore_hw): Likewise.
25208 (GRUB_MOD_INIT(ohci)): Register preboot hook.
25209 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
25210 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
25211
252122010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25213
25214 Dedicated DMA allocations.
25215
25216 * bus/pci.c (grub_memalign_dma32): New function
25217 (grub_dma_free): Likewise.
25218 (grub_dma_get_virt): Likewise.
25219 (grub_dma_get_phys): Likewise.
25220 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
25221 (grub_ohci_pci_iter): Use dma32_alloc.
25222 (grub_ohci_transfer): Likewise.
25223 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
25224 (grub_usb_bulk_readwrite): Likewise.
25225 * include/grub/pci.h: Add declarations.
25226
252272010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25228
25229 CS5536 support.
25230
25231 * bus/cs5536.c: New file.
25232 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
25233 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
25234 (cs5536_mod_SOURCES): New variable.
25235 (cs5536_mod_CFLAGS): Likewise.
25236 (cs5536_mod_LDFLAGS): Likewise.
25237 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
25238 machine/pci.h.
25239 (kernel_img_SOURCES): Add bus/cs5536.c.
25240 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
25241 usb_keyboard.mod.
25242 (usb_mod_SOURCES): New variable.
25243 (usb_mod_CFLAGS): New variable.
25244 (usb_mod_LDFLAGS): New variable.
25245 (usbtest_mod_SOURCES): New variable.
25246 (usbtest_mod_CFLAGS): New variable.
25247 (usbtest_mod_LDFLAGS): New variable.
25248 (ohci_mod_SOURCES): New variable.
25249 (ohci_mod_CFLAGS): New variable.
25250 (ohci_mod_LDFLAGS): New variable.
25251 (usbms_mod_SOURCES): New variable.
25252 (usbms_mod_CFLAGS): New variable.
25253 (usbms_mod_LDFLAGS): New variable.
25254 (usb_keyboard_mod_SOURCES): New variable.
25255 (usb_keyboard_mod_CFLAGS): New variable.
25256 (usb_keyboard_mod_LDFLAGS): New variable.
25257 * include/grub/smbus.h: New file.
25258 * include/grub/cs5536.h: New file.
25259
0b35b2a9
CW
252602010-06-02 Colin Watson <cjwatson@ubuntu.com>
25261
25262 * util/grub.d/00_header.in: Add safety check to make sure that
25263 ${locale_dir} exists before trying to probe it.
25264
ca0afd5b
CW
252652010-06-02 Colin Watson <cjwatson@ubuntu.com>
25266
25267 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
25268 per the GNU Coding Standards; this is now too obscure to be worth
25269 documenting.
25270 (QNX): Likewise.
25271 (chainloader): Remove cross-reference to `SCO UnixWare'.
25272
1c41aa78
CW
252732010-06-02 Colin Watson <cjwatson@ubuntu.com>
25274
25275 * docs/grub.texi (Chain-loading): New section.
25276 (DOS/Windows): New section, borrowed from GRUB Legacy with details
25277 adjusted for GRUB 2.
25278 (SCO UnixWare): Likewise.
25279 (QNX): Likewise.
25280 (chainloader): Add reference to `Block list syntax'.
25281 (drivemap): New section.
25282 (parttool): New section.
25283
bb8ea0f5
CW
252842010-06-02 Colin Watson <cjwatson@ubuntu.com>
25285
25286 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
25287 the grub shell'.
25288 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
25289 (Installing GRUB using grub-install): Remove reference to the grub
25290 shell; mention `grub-mkimage' and `grub-setup' instead.
25291 (Invoking grub-install): Likewise.
25292 (Interface): Add reference to `Menu entry editor'.
25293 (serial): Remove `--device' option.
25294
288dd6ed
CW
252952010-06-02 Colin Watson <cjwatson@ubuntu.com>
25296
25297 * docs/grub.texi (Configuration): New section, documenting
25298 configuration file generation using grub-mkconfig. I've left a slot
25299 for documenting the full shell scripting format but have not yet
25300 started on writing that up.
25301 (Invoking grub-mkconfig): New section.
25302
34c9f0e9
CW
253032010-06-02 Colin Watson <cjwatson@ubuntu.com>
25304
25305 * docs/grub.texi (direntry): Remove grub-terminfo reference.
25306 (GNU GRUB manual): Likewise.
25307 (General commands): Update description of `terminfo' for GRUB 2.
25308
9121567e
CW
253092010-06-02 Colin Watson <cjwatson@ubuntu.com>
25310
25311 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
25312 (GRUB_MOD_INIT): Fix capitalisation.
25313 * docs/grub.texi (Command-line and menu entry commands): Document
25314 gettext and gptsync commands.
25315
ab631611
CW
253162010-06-02 Colin Watson <cjwatson@ubuntu.com>
25317
25318 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
25319 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
25320
bde4a9ac
CW
253212010-06-01 Colin Watson <cjwatson@ubuntu.com>
25322
25323 Add btrfs probing support, currently only in the single-device case.
25324
25325 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
25326 function.
25327 (grub_guess_root_device): Call find_root_device_from_mountinfo
25328 before looking in /dev.
25329
b1d17e10
VS
253302010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25331
25332 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
25333 GRUB_DISK_SIZE_UNKNOWN.
25334 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
25335
dfbfe004
JS
253362010-05-31 Jiro SEKIBA <jir@unicus.jp>
25337
25338 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
25339 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
25340 corrupted or not synced properly.
25341
c2ffc8e9
VS
253422010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25343
25344 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
25345 Reported by: Seth Goldberg.
25346
56293166
VS
253472010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25348
25349 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
25350 addition of dest.
25351 Reported by: Seth Goldberg.
25352
7620e7de
VS
253532010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25354
25355 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
25356 Reported by: Seth Goldberg.
25357
c837af3f
VS
253582010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25359
25360 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
25361 64-bit address as signed on MIPS.
25362
c7c75cf4
CW
253632010-05-28 Colin Watson <cjwatson@ubuntu.com>
25364
25365 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
25366 to the empty string.
25367
fa4b8490
BC
253682010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
25369
25370 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
25371
25372 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
25373 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
25374 * kern/misc.c (__enable_execute_stack): Disable on
25375 GRUB_MACHINE_EMU.
25376
a33075b9
CW
253772010-05-28 Colin Watson <cjwatson@ubuntu.com>
25378
25379 Make grub-probe work with symbolic links under /dev/mapper as well
25380 as with real block devices. The Linux world seems to be (at best)
25381 in transition here, and GRUB shouldn't get caught in the middle.
25382
25383 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
25384 /dev/mapper.
25385
d8708134
CW
253862010-05-27 Colin Watson <cjwatson@ubuntu.com>
25387
25388 * util/grub-script-check.c (main): Ensure defined behaviour on empty
25389 input files (in which case exit zero).
25390
db2102a0
CW
253912010-05-27 Colin Watson <cjwatson@ubuntu.com>
25392
25393 * kern/emu/misc.c (canonicalize_file_name): realpath can still
25394 return NULL for various reasons even if it has a maximum-length
25395 buffer: for example, there might be a symlink loop, or the path
25396 might exceed PATH_MAX. If this happens, return NULL.
25397
5fdba519
RM
253982010-05-27 Robert Millan <rmh@gnu.org>
25399
25400 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
25401 partmap module to handle cross-partmap setups.
25402 Reported by Orestes Mas. Gràcies!
25403
d1d368e4
CW
254042010-05-27 Colin Watson <cjwatson@ubuntu.com>
25405
25406 * util/grub-mkrescue.in: Initialise override_dir rather than
25407 assuming that it's unset or empty in the environment.
25408
95ac3c73
GS
254092010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
25410
25411 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
25412 variable index into p_index to suppress a warning with -Wshadow.
25413
7d8c0213
BC
254142010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
25415
25416 * INSTALL: Added flex >= 2.5.35 requirement.
25417
db4d5813
VS
254182010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
25419
25420 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
25421
f24f4300
VS
254222010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
25423
25424 cmostest support.
25425
25426 * commands/i386/cmostest.c: New file.
25427 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
25428 (cmostest_mod_SOURCES): New variable.
25429 (cmostest_mod_CFLAGS): Likewise.
25430 (cmostest_mod_LDFLAGS): Likewise.
25431 * conf/i386-pc.rmk: Likewise.
25432 * docs/grub.texi (Vendor power-on keys): New section.
25433 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
25434 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
25435 and GRUB_BUTTON_CMOS_ADDRESS.
25436 * util/grub.d/00_header.in: Handle powering-on by separate button.
25437
ad603f61
VS
254382010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
25439
25440 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
25441 Removed drawing_scrollbar argument. All users updated
25442 Fixes #29792.
25443 Reported by Jo Shields
25444
3ecb080a
VS
254452010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
25446
25447 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
25448 buffer since gfxterm handles double repaint.
25449
5f2316c1
VS
254502010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
25451
25452 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
25453 * term/gfxterm.c (real_scroll): Likewise.
25454
9a25f885
VS
254552010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
25456
25457 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
25458 before calling BIOS.
25459
39fbb79a
VS
254602010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
25461
25462 * include/grub/i18n.h: Always enable grub_gettext.
25463
228cfa97
VS
254642010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
25465
25466 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
25467 partition naming style.
25468
21717c8f
CW
254692010-05-21 Colin Watson <cjwatson@ubuntu.com>
25470
25471 * util/grub-mkconfig.in: Fix handling of -o so that it works when
25472 not the first option.
25473
c0f48e65
CW
254742010-05-20 Colin Watson <cjwatson@ubuntu.com>
25475
25476 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
25477
96779aec
CW
254782010-05-20 Colin Watson <cjwatson@ubuntu.com>
25479
25480 * util/misc.c: Move inclusion of <limits.h> to ...
25481 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
25482
fa9d256e
GS
254832010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
25484
25485 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
25486 Fix merge error in NetBSD code.
25487 (find_partition_start) [__NetBSD__]: Likewise.
25488
123b7a85
BC
254892010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
25490
25491 Fix grub-mkrescue usage unit testing.
25492
25493 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
25494
74276c0d
CF
254952010-05-18 Christian Franke <franke@computer.org>
25496
25497 * util/grub.d/10_windows.in: Use path names instead of
25498 drive letters to prevent warning from Cygwin 1.7.
25499 Add drivemap command to menuentry if needed.
25500
c4f7b523
ST
255012010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
25502
25503 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
25504 gnumach and gnumach.gz.
25505
95b97950
VS
255062010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25507
25508 * include/grub/i18n.h (gettext): Inline instead of using #define.
25509 (grub_gettext): Likewise.
25510 (_): Likewise.
25511
01b8d2d7
VS
255122010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25513
25514 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
25515 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
25516 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
25517 (main): Add a slash after pkglibdirroot.
25518
654e1d1e
VS
255192010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25520
25521 * util/grub-install.in: Add missing "in" keyword.
25522
26966aeb
VS
255232010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25524
25525 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
25526 Reported by: Seth Goldberg.
25527
75006747
VS
255282010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25529
25530 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
25531
74cbf5bd
CW
255322010-05-18 Colin Watson <cjwatson@ubuntu.com>
25533
25534 * configure.ac: Check for Linux device-mapper support.
25535
25536 * util/hostdisk.c (device_is_mapped): New function.
25537 (find_partition_start): New function, partly broken out from
25538 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
25539 device-mapper support added.
25540 (linux_find_partition): Use find_partition_start.
25541 (convert_system_partition_to_system_disk): Add `st' argument.
25542 Support Linux /dev/mapper/* devices if device-mapper support is
25543 available; only DM-RAID devices are understood at present.
25544 (find_system_device): Add `st' argument. Pass it to
25545 convert_system_partition_to_system_disk.
25546 (grub_util_biosdisk_get_grub_dev): Pass stat result to
25547 find_system_device and convert_system_partition_to_system_disk. Use
25548 find_partition_start.
25549
25550 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
25551 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
25552 * util/deviceiter.c [__linux__]: Define MINOR.
25553 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
25554 * util/mkdevicemap.c (grub_putchar): New function.
25555 (grub_getkey): New function.
25556 (grub_refresh): New function.
25557 (main): Set debug=all if -v -v is used.
25558
355b51e9
CW
255592010-05-18 Colin Watson <cjwatson@ubuntu.com>
25560
25561 Fix build with non-GNU libcs.
25562
25563 * util/misc.c (canonicalize_file_name): Move to ...
25564 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
25565 grub_make_system_path_relative_to_its_root.
25566
7fb5c25f
CW
255672010-05-18 Colin Watson <cjwatson@ubuntu.com>
25568
25569 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
25570 we handle finding grub-mkimage. Default to finding grub-mkimage in
25571 ${bindir} with program_transform_name applied, and provide a
25572 --grub-mkimage option to override this.
25573
1d3293d6
VS
255742010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25575
25576 Remove grub-mkisofs.
25577
25578 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
25579 (grub_mkisofs_SOURCES): Removed.
25580 (grub_mkisofs_CFLAGS): Removed.
25581 * util/mkisofs/defaults.h: Removed.
25582 * util/mkisofs/eltorito.c: Likewise.
25583 * util/mkisofs/exclude.h: Likewise.
25584 * util/mkisofs/hash.c: Likewise.
25585 * util/mkisofs/include/: Likewise.
25586 * util/mkisofs/include/fctldefs.h: Likewise.
25587 * util/mkisofs/include/mconfig.h: Likewise.
25588 * util/mkisofs/include/prototyp.h: Likewise.
25589 * util/mkisofs/include/statdefs.h: Likewise.
25590 * util/mkisofs/iso9660.h: Likewise.
25591 * util/mkisofs/joliet.c: Likewise.
25592 * util/mkisofs/match.c: Likewise.
25593 * util/mkisofs/match.h: Likewise.
25594 * util/mkisofs/mkisofs.c: Likewise.
25595 * util/mkisofs/mkisofs.h: Likewise.
25596 * util/mkisofs/msdos_partition.h: Likewise.
25597 * util/mkisofs/multi.c: Likewise.
25598 * util/mkisofs/name.c: Likewise.
25599 * util/mkisofs/rock.c: Likewise.
25600 * util/mkisofs/tree.c: Likewise.
25601 * util/mkisofs/write.c: Likewise.
25602
5dde9afe
VS
256032010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25604
25605 Unify grub-mkimage accross platforms.
25606
25607 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
25608 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
25609 (grub_mkelfimage_SOURCES): Removed.
25610 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
25611 (util/grub-mkimage.c_DEPENDENCIES): .. this.
25612 (bin_UTILITIES): Add grub-mkimage.
25613 (grub_mkimage_SOURCES): New variable.
25614 (kernel_img_HEADERS): Remove machine/kernel.h.
25615 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
25616 (pkglib_PROGRAMS): Add kernel.img.
25617 (kernel_img_HEADERS): Add machine/kernel.h.
25618 (kernel_img_FORMAT): Removed.
25619 (bin_UTILITIES): Remove grub-mkimage.
25620 (grub_mkimage_SOURCES): Removed.
25621 (grub_mkimage_CFLAGS): Likewise.
25622 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
25623 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
25624 (pkglib_PROGRAMS): Add kernel.img.
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/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
25630 (pkglib_PROGRAMS): Add kernel.img.
25631 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
25632 (pkglib_PROGRAMS): Add kernel.img.
25633 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
25634 (grub_mkimage_SOURCES): Removed.
25635 (grub_mkimage_CFLAGS): Likewise.
25636 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
25637 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
25638 (pkglib_PROGRAMS): Add kernel.img.
25639 (bin_UTILITIES): Remove grub-mkimage.
25640 (grub_mkimage_SOURCES): Removed.
25641 (grub_mkimage_CFLAGS): Likewise.
25642 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
25643 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
25644 (grub_mkimage_SOURCES): Removed.
25645 (grub_mkimage_CFLAGS): Likewise.
25646 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
25647 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
25648 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
25649 (grub_pe32_optional_header): ... this.
25650 (grub_pe64_optional_header): ... and this. All users updated.
25651 (GRUB_PE32_PE32_MAGIC): Split into ..
25652 (GRUB_PE32_PE32_MAGIC): .. this.
25653 (GRUB_PE32_PE64_MAGIC): .. and this.
25654 (GRUB_PE32_SIGNATURE_SIZE): New definition.
25655 * include/grub/elf.h (PT_GNU_STACK): New definition.
25656 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
25657 * include/grub/i386/efi/kernel.h: Likewise.
25658 * include/grub/i386/kernel.h: Likewise.
25659 * include/grub/i386/pc/kernel.h: Likewise.
25660 * include/grub/i386/qemu/boot.h: Likewise.
25661 * include/grub/mips/kernel.h: Likewise.
25662 * include/grub/mips/qemu-mips/kernel.h: Likewise.
25663 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
25664 * include/grub/powerpc/kernel.h: Likewise.
25665 * include/grub/sparc64/ieee1275/boot.h: Likewise.
25666 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25667 * include/grub/sparc64/kernel.h: Likewise.
25668 * include/grub/x86_64/efi/kernel.h: Likewise.
25669 * include/grub/x86_64/kernel.h: Likewise.
25670 * include/grub/offsets.h: New file.
25671 * include/grub/kernel.h (grub_module_info): Split into ...
25672 (grub_module_info32): ... this.
25673 (grub_module_info64): ... and this.
25674 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
25675 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
25676 (grub_boot_blocklist): Moved from here ...
25677 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
25678 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
25679 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
25680 * include/grub/types.h (grub_target_to_host16): Removed.
25681 (grub_target_to_host32): Likewise.
25682 (grub_target_to_host64): Likewise.
25683 (grub_host_to_target16): Likewise.
25684 (grub_host_to_target32): Likewise.
25685 (grub_host_to_target64): Likewise.
25686 (grub_host_to_target_addr): Likewise.
25687
25688 Support grub-mkrescue for efi, coreboot and qemu.
25689
25690 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
25691 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
25692 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
25693 * util/grub-mkrawimage.c: Moved from here ...
25694 * util/grub-mkimage.c: ... here. All users updated.
25695 (ALIGN_ADDR): Use image_target.
25696 (TARGET_NO_FIELD): New const.
25697 (image_target_desc): New type.
25698 (image_targets): New array.
25699 (grub_target_to_host64): Use image_target.
25700 (grub_target_to_host32): Likewise.
25701 (grub_target_to_host16): Likewise.
25702 (grub_host_to_target64): Likewise.
25703 (grub_host_to_target32): Likewise.
25704 (grub_host_to_target16): Likewise.
25705 (grub_host_to_target_addr): Likewise.
25706 (generate_image): Handle multiimage.
25707 (main): Require -O parameter. All users updated.
25708 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
25709 util/efi/grub-mkimage.c
25710 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
25711 New option --rom-directory.
25712 Use xorriso.
25713 * util/i386/efi/grub-mkimage.c: Removed.
25714 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
25715 (grub_target_to_host32): Likewise.
25716 (grub_target_to_host64): Likewise.
25717 (grub_host_to_target16): Likewise.
25718 (grub_host_to_target32): Likewise.
25719 (grub_host_to_target64): Likewise.
25720 * util/sparc64/ieee1275/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
f4fc97d0
BC
257272010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
25728
25729 Source tree is reorganized for emu build.
25730
25731 * include/grub/util/console.h: Move from here...
25732 * include/grub/emu/console.h: ...to here.
25733 * include/grub/util/getroot.h: Move from here...
25734 * include/grub/emu/getroot.h: ...to here.
25735 * include/grub/util/hostdisk.h: Move from here...
25736 * include/grub/emu/hostdisk.h: ...to here.
25737 * util/console.c: Move from here...
25738 * kern/emu/console.c: ...to here.
25739 * util/getroot.c: Move from here...
25740 * kern/emu/getroot.c: ...to here.
25741 * util/grub-emu.c: Move from here...
25742 * kern/emu/main.c: ...to here.
25743 * util/hostdisk.c: Move from here...
25744 * kern/emu/hostdisk.c: ...to here.
25745 * util/hostfs.c: Move from here...
25746 * kern/emu/hostfs.c: ...to here.
25747 * util/mm.c: Move from here...
25748 * kern/emu/mm.c: ...to here.
25749 * util/pci.c: Move from here...
25750 * bus/emu/pci.c: ...to here.
25751 * util/sdl.c: Move from here...
25752 * video/emu/sdl.c: ...to here.
25753 * util/time.c: Move from here...
25754 * kern/emu/time.c: ...to here.
25755 * util/usb.c: Move from here...
25756 * bus/usb/emu/usb.c: ...to here.
25757
25758 * include/grub/emu/misc.h: New header for grub-emu functions.
25759 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
25760
25761 * conf/any-emu.rmk: Rule updates for above renames.
25762 * conf/common.rmk: Likewise.
25763 * conf/i386-pc.rmk: Likewise.
25764 * conf/i386-qemu.rmk: Likewise.
25765 * conf/mips.rmk: Likewise.
25766 * conf/sparc64-ieee1275.rmk: Likewise.
25767 * conf/x86-efi.rmk: Likewise.
25768
25769 * disk/lvm.h: #include updates for above renames.
25770 * util/grub-mkrelpath.c: Likewise.
25771 * util/grub-probe.c: Likewise.
25772 * util/i386/pc/grub-setup.c: Likewise.
25773 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25774 * kern/emu/console.c: Likewise.
25775 * kern/emu/getroot.c: Likewise.
25776 * kern/emu/hostdisk.c: Likewise.
25777 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
25778
25779 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
25780 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
25781 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
25782 * util/misc.c: Remove grub-emu functions.
25783
cced9145
VS
257842010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
25785
25786 Fix gfxmenu crash.
25787 Reported by: Thorsten Grützmacher.
25788
25789 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
25790 timeout hook.
25791 (circprog_set_property): Register and unregister timeout hook.
25792 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
25793 (label_destroy): Free template. and unregister hook.
25794 (label_set_state): New function.
25795 (label_set_property): Handle templates and hooks.
25796 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
25797 timeout hook.
25798 (progress_bar_set_property): Register and unregister timeout hook.
25799 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
25800 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
25801 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
25802 (update_timeout_visit): Removed.
25803 (update_timeouts): New function.
25804 (redraw_timeouts): Likewise.
25805 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
25806 (grub_gfxmenu_clear_timeout): Likewise.
25807 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
25808 (grub_gfxmenu_timeout_notify): Likewise.
25809 (grub_gfxmenu_timeout_notifications): New external variable.
25810 (grub_gfxmenu_timeout_register): New function.
25811 (grub_gfxmenu_timeout_unregister): Likewise.
25812
c6e5caab
VS
258132010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
25814
25815 Transform (broken) vga terminal into (working) vga video driver.
25816
25817 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
25818 video/i386/pc/vga.c.
25819 * include/grub/video.h (grub_video_driver_id):
25820 Add GRUB_VIDEO_DRIVER_VGA.
25821 * term/i386/pc/vga.c: Renamed to ...
25822 * video/i386/pc/vga.c: ...this
25823 (DEBUG_VGA): Removed.
25824 (CHAR_WIDTH): Likewise.
25825 (CHAR_HEIGHT): Likewise.
25826 (TEXT_WIDTH): Likewise.
25827 (TEXT_HEIGHT): Likewise.
25828 (DEFAULT_FG_COLOR): Likewise.
25829 (DEFAULT_BG_COLOR): Likewise.
25830 (colored_char): Likewise.
25831 (xpos): Likewise.
25832 (ypos): Likewise.
25833 (cursor_state): Likewise.
25834 (fg_color): Likewise.
25835 (bg_color): Likewise.
25836 (text_buf): Likewise.
25837 (page): Likewise.
25838 (font): Likewise.
25839 (framebuffer): New variable.
25840 (set_read_map): Disabled.
25841 (setup): New variable.
25842 (is_target): Likewise.
25843 (grub_vga_mod_init): Likewise.
25844 (grub_vga_mod_fini): Likewise.
25845 (check_vga_mem): Likewise.
25846 (write_char): Likewise.
25847 (write_cursor): Likewise.
25848 (scroll_up): Likewise.
25849 (grub_vga_putchar): Likewise.
25850 (grub_vga_getcharwidth): Likewise.
25851 (grub_vga_getwh): Likewise.
25852 (grub_vga_getxy): Likewise.
25853 (grub_vga_gotoxy): Likewise.
25854 (grub_vga_cls): Likewise.
25855 (grub_vga_setcolorstate): Likewise.
25856 (grub_vga_setcursor): Likewise.
25857 (grub_video_vga_init): New function.
25858 (grub_video_vga_setup): Likewise.
25859 (grub_video_vga_fini): Likewise.
25860 (update_target): Likewise.
25861 (grub_video_vga_blit_bitmap): Likewise.
25862 (grub_video_vga_blit_render_target): Likewise.
25863 (grub_video_vga_set_active_render_target): Likewise.
25864 (grub_video_vga_get_active_render_target): Likewise.
25865 (grub_video_vga_swap_buffers): Likewise.
25866 (grub_video_vga_set_palette): Likewise.
25867 (grub_video_vga_get_info_and_fini): Likewise.
25868 (grub_vga_term): Removed.
25869 (grub_video_vga_adapter): New variable.
25870 (GRUB_MOD_INIT): Register a video driver instead of terminal.
25871 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
25872
2bf61a98
VS
258732010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25874
25875 * video/readers/jpeg.c: Indented.
25876
09ddcd11
VS
258772010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25878
25879 Various jpeg cleanups.
25880
25881 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
25882 (grub_jpeg_decode_quan_table): Use sizeof.
25883 (grub_jpeg_decode_du): Use ARRAY_SIZE.
25884
e5507505
PH
258852010-05-05 Peter Hurley <No e-mail available> (tiny change)
25886
25887 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
25888 tables. Ignore non-last ac bit.
25889 (grub_jpeg_decode_quan_table): Likewise.
25890
7e720a9b
VS
258912010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25892
25893 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
25894 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
25895 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
25896 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
25897 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
25898 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
25899
a7fc080b
VS
259002010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25901
25902 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
25903 error.
25904
2bf6012d
VS
259052010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25906
25907 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
25908
265d68cd
VS
259092010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25910
25911 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
25912 condition.
25913
259142010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
25915
25916 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
25917 part.
25918
265d68cd 259192010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
25920
25921 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
25922 pointers.
25923
265d68cd 259242010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
25925
25926 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
25927
d1b61374
CF
259282010-05-01 Christian Franke <franke@computer.org>
25929
25930 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
25931 Remove broken Cygwin path conversion.
25932 * util/misc.c: [__CYGWIN__] Add include and define.
25933 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
25934 for Cygwin 1.7.
25935 (make_system_path_relative_to_its_root): Simplify loop, replace early
25936 return by break.
25937 [__CYGWIN__] Add conversion to win32 path.
25938 Include "/" case in trailing slash removal.
25939
3558c6e9
VS
259402010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25941
25942 * kern/main.c (grub_load_config): Fix copy-pasted comment.
25943 Reported by: Seth Goldberg
25944
f5f3ff93
VS
259452010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25946
25947 * commands/help.c (grub_cmd_help): Fix a typo.
25948 Reported by: Seth Goldberg
25949
d8b5cd40
VS
259502010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25951
25952 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
25953 name and add N_.
25954 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
25955 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
25956 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
25957 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
25958 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
25959 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
25960 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
25961 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
25962 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
25963 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
25964 * normal/context.c (GRUB_MOD_INIT): Likewise.
25965 * normal/main.c (GRUB_MOD_INIT): Likewise.
25966 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
25967 * term/serial.c (GRUB_MOD_INIT): Likewise.
25968 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
25969
88c14915
VS
259702010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25971
25972 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
25973 extra == 0.
25974
165134bc
VS
259752010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25976
25977 * commands/iorw.c: New file.
25978 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
25979 (iorw_mod_SOURCES): New variable.
25980 (iorw_mod_CFLAGS): Likewise.
25981 (iorw_mod_LDFLAGS): Likewise.
25982
c5ac9b32
VS
259832010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25984
25985 Hotkey support
25986
25987 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
25988 * normal/main.c (hotkey_aliases): New variable.
25989 (grub_normal_add_menu_entry): Parse "--hotkey".
25990 * normal/menu_text.c (run_menu): Handle hotkeys.
25991
ce60689c
VS
259922010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25993
25994 * kern/i386/coreboot/init.c (grub_machine_init): Call
25995 grub_machine_mmap_init on qemu.
25996
0359d006
VS
259972010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25998
25999 * boot/i386/qemu/boot.S: Add a missing .code16.
26000
7819a456
VS
260012010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26002
26003 Use LBIO on coreboot.
26004
26005 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
26006 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
26007 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
26008 New declaration.
26009 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
26010 grub_machine_mmap_init on coreboot.
26011 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
26012 GRUB_LINUXBIOS_MEMBER_LINK.
26013 (grub_machine_mmap_iterate): Fix declaration.
26014 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
26015
7210dca9
VS
260162010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26017
26018 Split coreboot and multiboot ports.
26019
26020 * conf/i386-multiboot.rmk: New file.
26021 * configure.ac: Add multiboot port.
26022 * include/grub/i386/multiboot/boot.h: New file.
26023 * include/grub/i386/multiboot/console.h: Likewise.
26024 * include/grub/i386/multiboot/init.h: Likewise.
26025 * include/grub/i386/multiboot/kernel.h: Likewise.
26026 * include/grub/i386/multiboot/loader.h: Likewise.
26027 * include/grub/i386/multiboot/memory.h: Likewise.
26028 * include/grub/i386/multiboot/serial.h: Likewise.
26029 * include/grub/i386/multiboot/time.h: Likewise.
26030 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
26031 * loader/multiboot.c: Likewise.
26032 * loader/multiboot_mbi2.c: Likewise.
26033 * util/grub-mkrescue.in: Generate multiboot rescue.
26034
6f8aaf68
VS
260352010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26036
3080f7a7
VS
26037 * kern/parser.c (grub_parser_execute): Cope with read-only config.
26038
260392010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26040
26041 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
26042
26043 * commands/terminal.c (abstract_terminal): New struct.
26044 (handle_command): New function. Based on grub_cmd_terminal_input.
26045 (grub_cmd_terminal_input): Use handle_command.
26046 (grub_cmd_terminal_output): Use handle_command.
26047
a8ebb841
BC
260482010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
26049
26050 Fix comment handling.
26051
26052 * tests/grub_script_comments.in: New testcase.
26053 * conf/tests.rmk: Rules for new testcase.
26054 * script/yylex.l: Updated flex rules.
26055
bb06ba08
ST
260562010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
26057
26058 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
26059 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
26060 if argc is 1.
bb06ba08 26061
cc9d2425
VS
260622010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26063
26064 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
26065 autogen issues.
26066
460d8402
CF
260672010-04-26 Christian Franke <franke@computer.org>
26068
26069 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
26070 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
26071 (grub_get_prefix): Remove function.
26072 * util/grub-emu.c (main): Replace grub_get_prefix () call by
26073 make_system_path_relative_to_its_root ().
26074 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
26075
553c01f9
CF
260762010-04-24 Christian Franke <franke@computer.org>
26077
26078 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
26079 (kernel_img_LDFLAGS): Remove -static-libgcc.
26080
2aec1692
CF
260812010-04-24 Christian Franke <franke@computer.org>
26082
26083 * configure.ac: Do not CHECK_BSS_START_SYMBOL
26084 and CHECK_END_SYMBOL if grub-emu is built.
26085 Unset TARGET_OBJ2ELF if grub-emu is built
26086 without module support.
26087
f67dc308
JS
260882010-04-24 Jiro SEKIBA <jir@unicus.jp>
26089
26090 Nilfs2 support.
26091
26092 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
26093 (grub_fstest_SOURCES): Likewise.
26094 (pkglib_MODULES): Add nilfs2.mod.
26095 (nilfs2_mod_SOURCES): New variable.
26096 (nilfs2_mod_CFLAGS): Likewise.
26097 (nilfs2_mod_LDFLAGS): Likewise.
26098 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
26099 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
26100 * fs/nilfs2.c: New file.
26101
4ba8d354
VS
261022010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
26103
26104 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
26105 is not supported.
26106
0d2c20c6
GS
261072010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
26108
26109 Add grub-mkconfig support for NetBSD.
26110
26111 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
26112 * util/grub-mkconfig.in: export new NetBSD specific variables.
26113 * po/POTFILES-shell: added 10_netbsd.in.
26114 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
26115
bc4a2d83
BC
261162010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
26117
26118 Fix emu build with grub-emu-pci and grub-emu-modules.
26119
26120 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
26121 functions.
26122 * include/grub/libpciaccess.h: New file.
26123 * conf/any-emu.rmk: Update kernel headers for emu build.
26124
f48c87aa
VS
261252010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
26126
26127 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
26128
18959385
VS
261292010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
26130
26131 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
26132
0037de3f
VS
261332010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26134
26135 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
26136 Retrieve chosen/bootpath if bootpath isn't hardcoded.
26137 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
26138 util/ieee1275/ofpath.c.
26139 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
26140 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
26141 * include/grub/sparc64/ieee1275/boot.h
26142 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
26143 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
26144 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
26145 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
26146 const char *.
26147 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
26148 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
26149 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
26150 install.
26151
38e55e90
GS
261522010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
26153
26154 * util/grub-mkconfig.in: Corrected two == equality tests.
26155 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
26156 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
26157 expect a number appended to it.
26158 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
26159 expects a number appended to it.
26160
a9e6ff28
VS
261612010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26162
26163 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
26164
0b830b8f
VS
261652010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26166
26167 * util/hostdisk.c (make_device_name): Change to new partition naming.
26168
0973daeb
VS
261692010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
26170
26171 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
26172
460d8402 261732010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
26174
26175 * Makefile.in: Add missing localedir setting.
26176
0b456309
CW
261772010-04-14 Colin Watson <cjwatson@ubuntu.com>
26178
26179 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
26180 mistake in r2156. Noticed by Anthony Fok.
26181
26182 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
26183 @localedir@.
26184 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
26185
08f46d62
BC
261862010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
26187
26188 Fix a spurious, uninitialized variable warning.
26189
26190 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
26191 Initialize variable, shdr.
26192 (grub_freebsd_load_elfmodule): Likewise.
26193 (grub_freebsd_load_elf_meta): Likewise.
26194
8c4a72d4
BC
261952010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
26196
26197 Fix for escaped dollar in double quoted strings.
26198
26199 * script/yylex.l: Updated flex rules.
26200 * conf/tests.rmk: Rule for new testcase.
26201 * tests/grub_script_dollar.in: New testcase.
26202
ce44826e
CPE
262032010-04-13 Carles Pina i Estany <carles@pina.cat>
262042010-04-13 Colin Watson <cjwatson@ubuntu.com>
26205
26206 Enclose all translated strings in grub.cfg in single quotes, and
26207 escape them appropriately (Ubuntu bug #552921).
26208
26209 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
26210 * util/grub.d/10_hurd.in: Use it.
26211 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26212 * util/grub.d/10_linux.in (linux_entry): Likewise.
26213
4b0cd8f8
VS
262142010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26215
26216 Fix cygwin compilation.
26217
26218 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
26219 * include/grub/misc.h (__register_frame_info)
26220 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
26221 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
26222 * kern/misc.c (__register_frame_info)
26223 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
26224 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
26225
01fcf061
VS
262262010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26227
26228 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
26229
5d04b11e
VS
262302010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26231
26232 Unify libgcc processing.
26233
26234 * Makefile.in (kernel_img_LDFLAGS): New variable.
26235 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
26236 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
26237 overwriting.
26238 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
26239 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
26240 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
26241 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
26242 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
26243 overwriting. Remove -lgcc and -static-libgcc
26244 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
26245 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
26246 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
26247 (kernel_img_LDFLAGS): Append instead of overwriting.
26248 Remove -lgcc and -static-libgcc
26249 * conf/sparc64-ieee1275.rmk: Likewise.
26250 * include/grub/powerpc/libgcc.h: Move to ...
26251 * include/grub/libgcc.h: .. this.
26252 * include/grub/libgcc.h: Don't export most of the function on x86.
26253 (__bswapsi2): New export.
26254 (__bswapdi2): Likewise.
26255 * include/grub/mips/libgcc.h: Removed.
26256 * include/grub/sparc64/libgcc.h: Likewise.
26257
b7f3ac29
VS
262582010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26259
26260 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
26261 disk_info_msg (conflicts with gettexting into languages with cases).
26262
2c7031b1
GS
262632010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
26264
26265 Add grub-probe support for NetBSD.
26266
26267 * util/getroot.c (find_root_device): Convert block device to
26268 character device on NetBSD.
26269 * util/probe.c (probe): Require character device on NetBSD.
26270 * util/hostdisk.c: NetBSD specific headers.
26271 (configure_device_driver): new function to tune device driver
26272 parameters (currently only for NetBSD floppy driver).
26273 (grub_util_biosdisk_open): NetBSD specific code (get disk size
26274 via disklabel ioctl).
26275 (open_device): call configure_device_driver on NetBSD.
26276 (convert_system_partition_to_system_disk): NetBSD specific code.
26277 (device_is_wholedisk): Likewise.
26278 (grub_util_biosdisk_get_grub_dev): Likewise.
26279 (make_device_name): Fixed a typo in bsd_part_str.
26280 * configure.ac: check for opendisk() and getrawpartition() on
26281 NetBSD and set LIBUTIL.
26282 * Makefile.in: add LIBUTIL to LIBS.
26283
f516290c
BC
262842010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
26285
26286 Documentation fix.
26287
26288 * util/grub-script-check.c: Better help message.
26289
d8dcc0df
BC
262902010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
26291
26292 Fix FreeBSD build.
26293
26294 * configure.ac: Flex version check.
26295 * conf/common.rmk: Add -Wno-error to sh.mod.
26296 * script/yylex.l: Remove all #pragma.
26297
6734334a
VS
262982010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26299
26300 * include/grub/util/misc.h (canonicalise_file_name): Add missing
26301 prototype.
26302 Reported by: Seth Goldberg.
26303
daea6abd
VS
263042010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26305
26306 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
26307 Rename "module" to "module2".
26308 Reported by: Seth Goldberg.
26309
f2fd9d2b
VS
263102010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26311
26312 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
26313 EXPORT_FUNC.
26314 Reported by: Seth Goldberg.
26315
be124579
VS
263162010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26317
26318 * lib/posix_wrap/locale.h: Add missing file.
26319 Reported by: Seth Goldberg.
26320
ef5da797
VS
263212010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26322
26323 grub-emu module load support.
26324
26325 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
26326 NO_DYNAMIC_MODULES switched to this.
26327 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
26328 (CFLAGS): Likewise.
26329 * conf/any-emu.rmk: Generate symlist.
26330 (kernel_img_HEADERS): Add util/datetime.h.
26331 (kernel_img_HEADERS) [sdl]: Add sdl.h.
26332 (kernel_img_HEADERS) [libusb]: Add libusb.h.
26333 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
26334 kern/$(target_cpu)/cache.S.
26335 * configure.ac (grub-emu-modules): New option.
26336 * genmk.rb: Handle multiple source lists.
26337 * include/grub/sdl.h: New file.
26338 * include/grub/libusb.h: Likewise.
26339 * util/grub-emu.c (main): Hanle (host) root.
26340 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
26341 GRUB_ERR_UNKNOWN_DEVICE.
26342 * util/misc.c: Move mm functions to ...
26343 * util/mm.c: ... here. All users updated.
26344
47822096
VS
263452010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26346
26347 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
26348 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
26349 missing files.
26350 (maintainer-clean): Remove libgcrypt-grub.
26351
5d7e7445
VS
263522010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26353
26354 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
26355
25f4e252
EC
263562010-04-09 EFI Coder <eficoder@hotmail.com>
26357
26358 * normal/menu_text.c (print_message): Clean up the message and show
26359 the Fn information when on EFI
26360 * term/efi/console.c (grub_console_checkkey): Add F4 support.
26361
027de555
VS
263622010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26363
26364 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
26365 All users updated.
26366 * normal/crypto.c (read_crypto_list): Likewise.
26367 * normal/dyncmd.c (read_command_list): Likewise.
26368 * normal/term.c (read_terminal_list): Likewise.
26369 * normal/main.c (read_lists): Use explicit prefix.
26370 (read_lists_hook): Use read_lists.
26371 (grub_normal_execute): Likewise.
26372
47779711
VS
263732010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26374
26375 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
26376 Reported by: Thomas Schmitt.
26377 Add -no-emul-boot to grub-mkisofs parameters.
26378
1118c32e
VS
263792010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26380
26381 * font/font.c: Indented.
26382
7d652447
BC
263832010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
26384
26385 Elif support to GRUB script (by Deepak Vankadaru).
26386
26387 * tests/grub_script_if.in: New testcase.
26388 * conf/tests.rmk: Rule for new testcase.
26389 * script/parser.y: Grammar rules for elif.
26390
34bb22df
BC
263912010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
26392
26393 While and until loops support to GRUB script.
26394
26395 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
26396 (grub_script_create_cmdwhile): New function prototype.
26397 (grub_script_execute_cmdwhile): New function prototype.
26398 * script/execute.c (grub_script_execute_cmdwhile): New function.
26399 * script/parser.y (command): New commands.
26400 (whilecmd): New grammar rule.
26401 (untilcmd): New grammar rule.
26402 * script/script.c (grub_script_create_cmdwhile): New function.
26403 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
26404 function.
26405
26406 * tests/grub_script_while1.in: New testcase.
26407 * conf/tests.rmk: Rule for new testcase.
26408
e215d8e0
VS
264092010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26410
26411 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
26412 as *.jpg.
26413
d7c43ba1
MV
264142010-04-09 Mario Vazquez <mariovazq@gmail.com>
26415
26416 GRUB_BACKGROUND support.
26417
26418 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
26419 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
26420
d64795c0
VS
264212010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26422
26423 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 26424 Idea by: Mario Vazquez
d64795c0
VS
26425
26426 * util/grub.d/00_header.in: Load pf2 and image modules.
26427
f267f83a
VS
264282010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26429
26430 grub-mkconfig multiple terminal support.
26431
26432 * util/grub-mkconfig.in: Handle multiple terminals correctly.
26433 * util/grub.d/00_header.in: Likewise.
26434
b7841ceb
VS
264352010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26436
26437 * Makefile.in: Specify files explicitly instead of using $< and $@ since
26438 we use cd $(srcdir).
26439
df60998c
CW
264402010-04-08 Colin Watson <cjwatson@ubuntu.com>
26441
26442 * util/grub.d/10_linux.in: Only use the first word of
26443 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
26444 spaces in GRUB_DISTRIBUTOR.
26445 * util/grub.d/10_kfreebsd.in: Likewise.
26446 * util/grub.d/10_hurd.in: Likewise.
26447
fa09c82e
BC
264482010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
26449
14e18ae3 26450 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
26451
26452 * tests/util/grub-shell.in: Remove -serial stdio option.
26453
daf892b3
BC
264542010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
26455
26456 POSIX header file wrappers.
26457
26458 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
26459 equivalents.
26460 * lib/posix_wrap/ctype.h: Likewise.
26461 * lib/posix_wrap/errno.h: Likewise.
26462 * lib/posix_wrap/langinfo.h: Likewise.
26463 * lib/posix_wrap/limits.h: Likewise.
26464 * lib/posix_wrap/localcharset.h: Likewise.
26465 * lib/posix_wrap/stdint.h: Likewise.
26466 * lib/posix_wrap/stdio.h: Likewise.
26467 * lib/posix_wrap/stdlib.h: Likewise.
26468 * lib/posix_wrap/string.h: Likewise.
26469 * lib/posix_wrap/sys/types.h: Likewise.
26470 * lib/posix_wrap/unistd.h: Likewise.
26471 * lib/posix_wrap/wchar.h: Likewise.
26472 * lib/posix_wrap/wctype.h: Likewise.
26473 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
26474 (grub_script.yy.h): Likewise.
26475 * script/yylex.l: Remove POSIX emulation #defines.
26476 * Makefile.in (POSIX_CFLAGS): New variable.
26477 (GNULIB_UTIL_CFLAGS): Likewise.
26478
26479 Regexp support.
26480
26481 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
26482 (regexp_mod_SOURCES): New variable.
26483 (regexp_mod_CFLAGS): Likewise.
26484 (regexp_mod_LDFLAGS): Likewise.
26485 * commands/regexp.c: New file.
26486 * gnulib/regcomp.c: New file. Imported from gnulib.
26487 * gnulib/regex.c: Likewise.
26488 * gnulib/regex_internal.c: Likewise.
26489 * gnulib/regex_internal.h: Likewise.
26490 * gnulib/regexec.c: Likewise.
26491 * gnulib/regex.h: Likewise.
26492
974ac4f7
VS
264932010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26494
26495 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
26496 unsupported video mode types.
26497
2622c3ff
VS
264982010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26499
26500 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
26501
064cb524
VS
265022010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26503
26504 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
26505 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
26506
a8c3b552
VS
265072010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
26508
26509 Remove unused grub_vga_get_font.
26510
26511 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
26512 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
26513
187bbe3d
GS
265142010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26515
26516 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
26517 * include/grub/misc.h: Likewise.
26518
b9396631
GS
265192010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26520
26521 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
26522 for which failure is fatal.
26523
50479feb
GS
265242010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26525
26526 * util/grub-install.in: Use mkdir -p to create grub directory.
26527 * util/i386/efi/grub-install.in: Likewise.
26528 * util/ieee1275/grub-install.in: Likewise.
26529
b1654fdf
GS
265302010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26531
26532 * Makefile.in (LEX): new variable.
26533
bd5a6415
GS
265342010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26535
26536 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
26537 `=' and added double quotes on operands of this equality test.
26538
3db3a82b
VS
265392010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
26540
26541 * Makefile.in (uninstall): Remove a leftover debug echo.
26542 Reported by: Grégoire Sutre
26543
38023412
VS
265442010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
26545
26546 MIPS multiboot2 support.
26547
26548 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
26549 (multiboot2_mod_SOURCES): New variable.
26550 (multiboot2_mod_CFLAGS): Likewise.
26551 (multiboot2_mod_LDFLAGS): Likewise.
26552 (multiboot2_mod_ASFLAGS): Likewise.
26553 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
26554 definition.
26555 (MULTIBOOT_ENTRY_REGISTER): Likewise.
26556 (MULTIBOOT_MBI_REGISTER): Likewise.
26557 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
26558 (MULTIBOOT_ELF32_MACHINE): Likewise.
26559 (MULTIBOOT_ELF64_MACHINE): Likewise.
26560 * include/grub/mips/multiboot.h: New file.
26561 * include/grub/video.h (grub_video_driver_id): New type
26562 GRUB_VIDEO_DRIVER_SM712.
26563 (grub_video_get_info_and_fini): Export.
26564 (grub_video_get_palette): Likewise.
26565 (grub_video_get_driver_id): Likewise.
26566 * include/multiboot2.h: Resynced with spec.
26567 * loader/i386/multiboot.c: Moved from here ...
26568 * loader/multiboot.c: ... here. All users updated.
26569 (grub_multiboot_boot): Use platform-specific macros.
26570 * loader/i386/multiboot_elfxx.c: Moved from here ...
26571 * loader/multiboot_elfxx.c: ... here. All users updated.
26572 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
26573 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
26574 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
26575
47674667
VS
265762010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
26577
26578 Import gnulib argp module.
26579
26580 * gnulib/argp-ba.c: New file.
26581 * gnulib/argp-eexst.c: Likewise.
26582 * gnulib/argp-fmtstream.c: Likewise.
26583 * gnulib/argp-fmtstream.h: Likewise.
26584 * gnulib/argp-fs-xinl.c: Likewise.
26585 * gnulib/argp-help.c: Likewise.
26586 * gnulib/argp-namefrob.h: Likewise.
26587 * gnulib/argp-parse.c: Likewise.
26588 * gnulib/argp-pin.c: Likewise.
26589 * gnulib/argp-pv.c: Likewise.
26590 * gnulib/argp-pvh.c: Likewise.
26591 * gnulib/argp-version-etc.c: Likewise.
26592 * gnulib/argp-version-etc.h: Likewise.
26593 * gnulib/argp-xinl.c: Likewise.
26594 * gnulib/argp.h: Likewise.
26595
495442ed
VS
265962010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
26597
26598 * kern/device.c (grub_device_iterate): Clear errors after failed
26599 opening device.
26600
f9fd65df
VS
266012010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
26602
26603 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
26604 returned by firmware.
26605
af09641e
VS
266062010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
26607
26608 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
26609 compilation on coreboot and qemu
26610
016883a5
VS
266112010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
26612
26613 * include/multiboot2.h: Resync with spec.
26614
f97e1f7d
VS
266152010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
26616
26617 Multiboot2 tag support
26618
26619 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
26620 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
26621 Remove loader/multiboot_loader.c.
26622 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
26623 (grub_multiboot2_real_boot): Likewise.
26624 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
26625 (grub_get_multiboot_mmap_count): New proto.
26626 (grub_fill_multiboot_mmap): Likewise.
26627 (grub_multiboot_set_video_mode): Likewise.
26628 (grub_multiboot_set_console): Likewise.
26629 (grub_multiboot_load): Likewise.
26630 (grub_multiboot_load_elf): Likewise.
26631 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
26632 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
26633 * include/multiboot.h: Resynced with specification.
26634 * include/multiboot2.h: Resynced with specification.
26635 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
26636 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
26637 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
26638 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
26639 users updated.
26640 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
26641 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
26642 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
26643 Removed.
26644 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
26645 Moved from here...
26646 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
26647 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
26648 Moved from here...
26649 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
26650 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
26651 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
26652 All users updated.
26653 * loader/i386/multiboot_mbi2.c: New file.
26654
3506b90b
VS
266552010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
26656
26657 Resync with gnulib.
26658
26659 * Makefile.in (GNULIB_CFLAGS): New variable.
26660 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
26661 (grub_script_check_CFLAGS): New variable.
26662 * gnulib/alloca.h: Resync with gnulib.
26663 * gnulib/error.c: Likewise.
26664 * gnulib/error.h: Likewise.
26665 * gnulib/fnmatch.c: Likewise.
26666 * gnulib/fnmatch_loop.c: Likewise.
26667 * gnulib/getdelim.c: Likewise.
26668 * gnulib/getline.c: Likewise.
26669 * gnulib/getopt.c: Likewise.
26670 * gnulib/getopt1.c: Likewise.
26671 * gnulib/getopt_int.h: Likewise.
26672 * gnulib/gettext.h: Likewise.
26673 * gnulib/progname.c: Likewise.
26674 * gnulib/progname.h: Likewise.
26675
394a3120
GS
266762010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
26677
26678 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
26679 which is the case with --disabled-nls.
26680
26681 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
26682 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
26683 * util/misc.c: Likewise.
26684 * util/mkisofs/mkisofs.c: Likewise.
26685 * util/mkisofs/mkisofs.h: Likewise.
26686
969d1c78
VS
266872010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
26688
26689 Simplify Apple CC support.
26690
26691 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
26692 Add 0 byte at the end not to have a symbol with empty target.
26693 * mmap/i386/pc/mmap_helper.S: Likewise.
26694 * genmk.rb: Ignore errors 2030 and 2050.
26695 * kern/i386/pc/startup.S: Use LOCAL when possible.
26696
8d2977bb
BC
266972010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
26698
26699 Testcase and the fix for final semicolon on cmdline.
26700
26701 * tests/grub_script_final_semicolon.in: New testcase.
26702 * conf/tests.rmk: Rules for the new testcase.
26703 * script/parser.y: Grammar fix.
26704
a7bd6915
BC
267052010-03-26 BVK Chaitanya <bvk@localhost>
26706
26707 Blank lines testcase for GRUB script.
26708
26709 * tests/grub_script_blanklines.in: New testcase.
26710 * conf/tests.rmk: Rules for the new testcase.
26711
e4ff6628
VS
267122010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
26713
26714 Don't use __FILE__.
26715
26716 * genmk.rb: Add -DGRUB_FILE to all C targets.
26717 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
26718 * include/grub/list.h: Likewise.
26719 * include/grub/misc.h: Likewise.
26720 * include/grub/mm.h: Likewise.
26721 * include/grub/test.h: Likewise.
26722 * kern/mm.c: Likewise.
26723 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
26724
6a5cf6b6
VS
267252010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
26726
26727 Sunpc partitions support.
26728
26729 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
26730 (grub_fstest_SOURCES): Likewise.
26731 (pkglib_MODULES): Add part_sunpc.mod.
26732 (part_sunpc_mod_SOURCES): New variable.
26733 (part_sunpc_mod_CFLAGS): Likewise.
26734 (part_sunpc_mod_LDFLAGS): Likewise.
26735 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
26736 * partmap/sunpc.c: New file.
26737
746d9045
BC
267382010-03-26 BVK Chaitanya <bvk@localhost>
26739
26740 For loop support to GRUB script.
26741
26742 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
26743 (grub_script_create_cmdfor): New function prototype.
26744 (grub_script_execute_cmdfor): New function prototype.
26745 * script/execute.c (grub_script_execute_cmdfor): New function.
26746 * script/parser.y (command): New for command.
26747 (forcmd): New grammar rule.
26748 * script/script.c (grub_script_create_cmdfor): New function.
26749 * util/grub-script-check.c (grub_script_execute_cmdfor): New
26750 function.
26751 * tests/grub_script_for1.in: New testcase.
26752 * conf/tests.rmk: Rules for new testcase.
26753
18486b18
VS
267542010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
26755
26756 Nested partitions
26757
26758 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
26759 'partition' is NULL, grub_partition_get_start already does that.
26760 * commands/loadenv.c (check_blocklists): Likewise.
26761 (write_blocklists): Likewise.
26762 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
26763 (grub_fstest_SOURCES): Likewise.
26764 (pkglib_MODULES): Add part_bsd.mod.
26765 (part_bsd_mod_SOURCES): New variable.
26766 (part_bsd_mod_CFLAGS): Likewise.
26767 (part_bsd_mod_LDFLAGS): Likewise.
26768 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
26769 (grub_emu_SOURCES): Likewise.
26770 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26771 * include/grub/bsdlabel.h: New file.
26772 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
26773 'get_name'.
26774 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
26775 (grub_partition_map_list): New variable.
26776 (grub_partition_map_register): Inline.
26777 (grub_partition_map_unregister): Likewise.
26778 (FOR_PARTITION_MAPS): New macro.
26779 (grub_partition_map_iterate): Removed.
26780 (grub_partition_get_start): Handle nested partitions.
26781 * include/grub/msdos_partition.h: Remove bsd-related entries.
26782 (grub_pc_partition): Remove.
26783 * kern/disk.c (grub_disk_close): Free partition data.
26784 (grub_disk_adjust_range): Handle nested partitions.
26785 * kern/partition.c (grub_partition_map_probe): New function.
26786 (grub_partition_probe): Parse name to number, handle subpartitions.
26787 (get_partmap): New function.
26788 (grub_partition_iterate): Handle subpartitions.
26789 (grub_partition_get_name): Likewise.
26790 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
26791 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
26792 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
26793 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
26794 Set 'number'.
26795 (acorn_partition_map_probe): Remove.
26796 (acorn_partition_map_get_name): Likewise.
26797 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
26798 Set 'number'.
26799 Set 'index' to 0 since there can be only one partition entry per sector.
26800 (amiga_partition_map_probe): Remove.
26801 (amiga_partition_map_get_name): Likewise.
26802 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
26803 Set 'number'.
26804 Set 'offset' and 'index' to real positions of partitions.
26805 (apple_partition_map_probe): Remove.
26806 (apple_partition_map_get_name): Likewise.
26807 * partmap/bsdlabel.c: New file.
26808 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
26809 Set 'number'.
26810 Allocate 'data' so it can be correctly freed.
26811 Set 'index' to offset inside sector.
26812 (gpt_partition_map_probe): Remove.
26813 (gpt_partition_map_get_name): Likewise.
26814 * partmap/msdos.c (grub_partition_parse): Remove.
26815 (pc_partition_map_iterate): Don't force raw access.
26816 Set 'number'.
26817 Make 'ext_offset' a local variable.
26818 (pc_partition_map_probe): Remove.
26819 (pc_partition_map_get_name): Remove.
26820 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
26821 Set 'number'.
26822 (sun_partition_map_probe): Remove.
26823 (sun_partition_map_get_name): Likewise.
26824 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
26825 (grub_pcpart_type): Likewise.
26826 * util/hostdisk.c (open_device): Handle new numbering scheme.
26827 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
26828 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
26829 * util/grub-probe.c (probe_partmap): Handle nested paritions.
26830 * util/grub-install.in: Insert all subpartition modules.
26831 * util/ieee1275/grub-install.in: Likewise.
26832
a3940f88
AG
268332010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
26834
26835 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
26836 grammar.
26837
21b99926 268382010-03-24 Colin Watson <cjwatson@ubuntu.com>
26839
26840 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
26841
bed1d352
CW
268422010-03-21 Colin Watson <cjwatson@ubuntu.com>
26843
26844 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
26845 match where 'make install' puts them.
26846 * util/i386/efi/grub-install.in: Likewise.
26847
c9f58427
CW
268482010-03-19 Colin Watson <cjwatson@ubuntu.com>
26849
26850 * .bzrignore: Add gentrigtables, grub-script-check,
26851 grub_script_check_init.c, grub_script_check_init.h, and
26852 trigtables.c.
26853
f84afb27
VS
268542010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
26855
26856 * kern/parser.c: Indented.
26857
ed0e3d30
VS
268582010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
26859
26860 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
26861
0ea81d98
VS
268622010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
26863
26864 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
26865 alpha_mask_size == 0 case.
26866
0cdc2a09
BC
268672010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
26868
26869 GRUB shell lexer and parser improvements.
26870
26871 * conf/any-emu.rmk: Build rule updates.
26872 * conf/common.rmk: Likewise.
26873 * conf/i386-coreboot.rmk: Likewise.
26874 * conf/i386-efi.rmk: Likewise.
26875 * conf/i386-ieee1275.rmk: Likewise.
26876 * conf/i386-pc.rmk: Likewise.
26877 * conf/powerpc-ieee1275.rmk: Likewise.
26878 * conf/x86_64-efi.rmk: Likewise.
26879
26880 * configure.ac: Configure check for flex.
26881
26882 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
26883 types.
26884 (grub_lexer_param): Struct member updates.
26885 (grub_parser_param): Likewise.
26886 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
26887 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
26888 (grub_script_lexer_init): Prototype update.
26889 (grub_script_lexer_record_start): Likewise.
26890 (grub_script_lexer_record_stop): Likewise.
26891 (grub_script_lexer_yywrap): New function prototype.
26892 (grub_script_lexer_fini): Likewise.
26893 (grub_script_execute_argument_to_string): Removed by...
26894 (grub_script_execute_argument_to_argv): ...better version.
26895
26896 * script/execute.c (ROUND_UPTO): New macro.
26897 (grub_script_execute_cmdline): Out of memory fixes.
26898 (grub_script_execute_menuentry): Likewise.
26899 (grub_script_execute_argument_to_string): Removed. Update all
26900 users by...
26901 (grub_script_execute_argument_to_argv): ...better version.
26902 * script/function.c (grub_script_function_create): Use
26903 grub_script_execute_argument_to_argv instead of
26904 grub_script_execute_argument_to_string.
26905
26906 * script/lexer.c (check_varstate): Removed.
26907 (check_textstate): Removed.
26908 (grub_script_lexer_record_start): Likewise.
26909 (grub_script_lexer_record_stop): Likewise.
26910 (recordchar): Replaced with...
26911 (grub_script_lexer_record): ...new function.
26912 (nextchar): Removed.
26913 (grub_script_lexer_init): Rewritten.
26914 (grub_script_yylex): Rewritten.
26915 (append_newline): New function.
26916 (grub_script_lexer_yywrap): New function.
26917 (grub_script_lexer_fini): New function.
26918 (grub_script_yyerror): Sets error flag.
26919
26920 * script/yylex.l: New file.
26921 (grub_lexer_yyfree): Wrapper for flex yyffre.
26922 (grub_lexer_yyalloc): Likewise.
26923 (grub_lexer_yyrealloc): Likewise.
26924 * script/parser.y: Refactored.
26925
26926 * script/script.c (grub_script_arg_add): Out of memory fixes.
26927 (grub_script_add_arglist): Likewise.
26928 (grub_script_create_cmdline): Likewise.
26929 (grub_script_create_cmdmenu): Likewise.
26930 (grub_script_add_cmd): Likewise.
26931 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
26932 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
26933 unnecessary code.
26934
26935 * tests/grub_script_echo1.in: New testcase.
26936 * tests/grub_script_vars1.in: New testcase.
26937 * tests/grub_script_echo_keywords.in: New testcase.
26938
1d63a066
VS
269392010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26940
26941 Remove some redundancy in build system.
26942
26943 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
26944 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
26945 (TARGET_LDFLAGS): Add -nostdlib.
26946 (TARGET_IMG_LDFLAGS): Likewise.
26947 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
26948 anything since mmap isn't available.
26949 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
26950 Add util/time.c.
26951 (pkglib_MODULES): Remove reboot.mod.
26952 (reboot_mod_SOURCES): Removed.
26953 (reboot_mod_CFLAGS): Likewise.
26954 (reboot_mod_LDFLAGS): Likewise.
26955 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
26956 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
26957 (DEFSYMFILES): Add kernel_syms.lst.
26958 (kernel_img_HEADERS): Add common headers.
26959 (symlist.c): New target.
26960 (kernel_syms.lst): Likewise.
26961 (pkglib_MODULES): Add memdisk.mod.
26962 (memdisk_mod_SOURCES): New variable.
26963 (memdisk_mod_CFLAGS): Likewise.
26964 (memdisk_mod_LDFLAGS): Likewise.
26965 (pkglib_MODULES): Add reboot.mod.
26966 (reboot_mod_SOURCES): New variable.
26967 (reboot_mod_CFLAGS): Likewise.
26968 (reboot_mod_LDFLAGS): Likewise.
26969 (pkglib_MODULES): Add date.mod.
26970 (date_mod_SOURCES): New variable.
26971 (date_mod_CFLAGS): Likewise.
26972 (date_mod_LDFLAGS): Likewise.
26973 (pkglib_MODULES): Add datehook.mod.
26974 (datehook_mod_SOURCES): New variable.
26975 (datehook_mod_CFLAGS): Likewise.
26976 (datehook_mod_LDFLAGS): Likewise.
26977 (pkglib_MODULES): Add lsmmap.mod.
26978 (lsmmap_mod_SOURCES): New variable.
26979 (lsmmap_mod_CFLAGS): Likewise.
26980 (lsmmap_mod_LDFLAGS): Likewise.
26981 (pkglib_MODULES): Add boot.mod.
26982 (boot_mod_SOURCES): New variable.
26983 (boot_mod_CFLAGS): Likewise.
26984 (boot_mod_LDFLAGS): Likewise.
26985 * conf/i386-coreboot.rmk: Removed redundant parts.
26986 * conf/i386-ieee1275.rmk: Likewise.
26987 * conf/i386-pc.rmk: Likewise.
26988 * conf/mips-yeeloong.rmk: Likewise.
26989 * conf/mips.rmk: Likewise.
26990 * conf/powerpc-ieee1275.rmk: Likewise.
26991 * conf/sparc64-ieee1275.rmk: Likewise.
26992 * conf/x86_64-efi.rmk: Likewise.
26993 * conf/i386-coreboot.rmk: Moved qemu parts ..
26994 * conf/i386-qemu.rmk: ... here
26995 * conf/i386-efi.rmk: Moved common parts to...
26996 * conf/x86-efi.rmk: ... here.
26997 * conf/i386.rmk: Added modules common to all x86 variants.
26998 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
26999 * disk/memdisk.c: Remove grub/machine/kernel.h.
27000 * gensymlist.sh.in: Include symbol.h.
27001 * hook/datehook.c: Correct module name.
27002 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
27003 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
27004 * include/grub/i386/efi/serial.h: New file.
27005 * include/grub/x86_64/efi/serial.h: Likewise.
27006 * util/time.c: Likewise.
27007 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
27008
463ac55f
CK
270092010-03-14 Colin King <colin.king@ubuntu.com>
270102010-03-14 Colin Watson <cjwatson@ubuntu.com>
27011
27012 Shrink the pre-partition-table part of boot.img by eight bytes.
27013
27014 * boot/i386/pc/boot.S (ERR): New macro.
27015 (chs_mode): Use ERR.
27016 (geometry_error): Likewise.
27017 (hd_probe_error): Remove. This is only used once, so we wrwite
27018 it inline instead.
27019 (read_error): Instead of printing read_error_string, just set up
27020 %si and fall through to ...
27021 (error_message): ... this new function, also used by ERR.
27022
08e46ede
CW
270232010-03-14 Colin Watson <cjwatson@ubuntu.com>
27024
27025 Speed up consecutive hostdisk operations on the same device.
27026
27027 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
27028 (grub_util_biosdisk_open): Initialise disk->data.
27029 (struct linux_partition_cache): New structure.
27030 (linux_find_partition): Cache partition start positions; these are
27031 expensive to compute on every read and write.
27032 (open_device): Cache open file descriptor in disk->data, so that we
27033 don't have to reopen it and flush the buffer cache for consecutive
27034 operations on the same device.
27035 (grub_util_biosdisk_close): New function.
27036 (grub_util_biosdisk_dev): Set `close' member.
27037
27038 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
27039 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
27040 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27041 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
27042 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
27043
4a6d2d06
VS
270442010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27045
27046 Compile parts of grub-emu as modules.
27047
27048 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
27049 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
27050 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
27051 (all-local): Add $(GRUB_EMU).
27052 (install-local): Install $(GRUB_EMU).
27053 (uninstall): Uninstall $(GRUB_EMU).
27054 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
27055 * kern/dl.c: Likewise.
27056 * commands/sleep.c: Not include machine/time.h.
27057 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
27058 (COMMON_CFLAGS): Likewise.
27059 (sbin_UTILITIES): Remove grub-emu.
27060 (grub_emu_SOURCES): Removed.
27061 (kernel_img_RELOCATABLE): New variable.
27062 (pkglib_PROGRAMS): Add kernel.img.
27063 (kernel_img_SOURCES): New variable
27064 (kernel_img_CFLAGS): Likewise.
27065 (kernel_img_LDFLAGS): Likewise.
27066 (TARGET_NO_STRIP): Likewise.
27067 (TARGET_NO_DYNAMIC_MODULES): Likewise.
27068 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
27069 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
27070 (grub-emu): New target.
27071 (GRUB_EMU): New variable.
27072 * configure.ac: Whitelist -emu as possible x86_64 architecture.
27073 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
27074 * loader/xnu.c: Likewise.
27075 * include/grub/pci.h: Likewise.
27076 * genemuinit.sh: New file.
27077 * genemuinitheader.sh: Likewise.
27078 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
27079 Support TARGET_NO_DYNAMIC_MODULES.
27080 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
27081 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
27082 * disk/loopback.c: Likewise.
27083 * font/font_cmd.c: Likewise.
27084 * partmap/acorn.c: Likewise.
27085 * partmap/amiga.c: Likewise.
27086 * partmap/apple.c: Likewise.
27087 * partmap/gpt.c: Likewise.
27088 * partmap/msdos.c: Likewise.
27089 * partmap/sun.c: Likewise.
27090 * parttool/msdospart.c: Likewise.
27091 * term/gfxterm.c: Likewise.
27092 * video/bitmap.c: Likewise.
27093 * video/readers/jpeg.c: Likewise.
27094 * video/readers/png.c: Likewise.
27095 * video/readers/tga.c: Likewise.
27096 * video/video.c: Likewise.
27097 * util/grub-emu.c (read_command_list): Removed.
27098 (main): Don't call util_init_nls.
27099 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
27100 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
27101
91fdd2ed
VS
271022010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27103
27104 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
27105 date.mod, datehook.mod.
27106 (datetime_mod_SOURCES): New variable.
27107 (datetime_mod_CFLAGS): Likewise.
27108 (datetime_mod_LDFLAGS): Likewise.
27109 (date_mod_SOURCES): Likewise.
27110 (date_mod_CFLAGS): Likewise.
27111 (date_mod_LDFLAGS): Likewise.
27112 (datehook_mod_SOURCES): Likewise.
27113 (datehook_mod_CFLAGS): Likewise.
27114 (datehook_mod_LDFLAGS): Likewise.
27115 * conf/sparc64-ieee1275.rmk: Likewise.
27116 * lib/ieee1275/datetime.c: New file.
27117
873ccae6
VS
271182010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27119
27120 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
27121 (ieee1275_fb_mod_SOURCES): New variable.
27122 (ieee1275_fb_mod_CFLAGS): Likewise.
27123 (ieee1275_fb_mod_LDFLAGS): Likewise.
27124 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
27125 New proto.
27126 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
27127 (HEAP_MAX_ADDR): Likewise.
27128 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
27129 type.
27130 Correct stop condition.
27131 (grub_ieee1275_devices_iterate): New function.
27132 * video/ieee1275.c: New file.
27133
601c97c0
VS
271342010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27135
27136 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
27137
27138 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
27139 as scratch.
27140 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
27141 SCRATCH_PAD_DISKBOOT as scratch.
27142 (bootit): Pass Openfirmware pointer in %o4.
27143 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
27144 of 0x200000.
27145 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
27146 with util/grub-mkrawimage.c.
27147 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
27148 * include/grub/aout.h (AOUT_MID_SUN): New definition.
27149 (grub_aout_get_type) [GRUB_UTIL]: Removed.
27150 (grub_aout_load) [GRUB_UTIL]: Likewise.
27151 * include/grub/kernel.h (grub_modules_get_end): New proto.
27152 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
27153 (SCRATCH_PAD_BOOT): New definition.
27154 (SCRATCH_PAD_DISKBOOT): Likewise.
27155 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
27156 * include/grub/sparc64/ieee1275/ieee1275.h
27157 (grub_ieee1275_original_stack): New variable
27158 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
27159 New definition
27160 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
27161 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
27162 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
27163 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
27164 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
27165 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
27166 (grub_platform_image_format_t): New type.
27167 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
27168 * kern/main.c (grub_modules_get_end)
27169 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
27170 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
27171 (codestart): Switch stacks.
27172 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
27173 variable.
27174 (grub_heap_init): Use grub_modules_get_end.
27175 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
27176 stack.
27177 * util/grub-mkrawimage.c (generate_image): Support sparc64.
27178 (main): Likewise.
27179 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
27180
d68b491e
TG
271812010-03-14 Thorsten Glaser <tg@mirbsd.org>
27182
27183 * util/grub-mkrescue.in: Base ISO UUID on UTC.
27184
4e02ed50
MK
271852010-03-08 Matt Kraai <kraai@ftbfs.org>
27186
27187 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
27188 bug #559005).
27189
1f15fc1e
VS
271902010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
27191
27192 * genmoddep.awk: Output all missing symbols and not only first.
27193
fce5d8ff
VS
271942010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27195
27196 * NEWS: Put the date of 1.98 release.
27197
d1e8a02f
VS
271982010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27199
27200 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
27201 ft2build.h.
27202
696fd607
VS
272032010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27204
27205 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
27206 completition in the middle of string.
27207
33e2e6f3
VS
272082010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27209
27210 * util/grub-mkrescue.in: Use mktemp with explicit template.
27211
b1f6d291
VS
272122010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27213
27214 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
27215
2ac227c7
VS
272162010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27217
27218 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
27219 right pointer.
27220
8f9a632b
VS
272212010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
27222
27223 Fix FreeBSD compilation.
27224
27225 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
27226 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
27227
60b03859
VS
272282010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
27229
27230 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
27231
48a5a769
VS
272322010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27233
27234 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
27235
3ab4bd77
VS
272362010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27237
27238 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
27239
d116e0d8
RM
272402010-03-04 Robert Millan <rmh.grub@aybabtu.com>
27241
27242 Support relative image path in theme file.
27243
27244 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
27245 (image_set_property): Handle theme_dir and relative path.
27246
c7ef54aa
VS
272472010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27248
27249 * configure.ac: Alias amd64 to x86_64.
27250
fcee14ed
VS
272512010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27252
27253 * NEWS: mention multiboot on EFI.
27254
d0780363
VS
272552010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27256
27257 * kern/main.c (grub_load_modules): Handle errors from init functions of
27258 embeded modules.
27259
41168ea4
VS
272602010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27261
27262 * normal/autofs.c (autoload_fs_module): Handle errors.
27263
b54d93ac
VS
272642010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27265
27266 Disable linux.mod on qemu-mips since it's not functional and leads
27267 to compilation failure.
27268
27269 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
27270 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
27271 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
27272 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
27273 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
27274 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
27275 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
27276 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
27277 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
27278 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
27279 Reported by: BVK Chaitanya
27280
fc8345da
JU
272812010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
27282
27283 * INSTALL: Add gettext as a dependency and add qemu to a new section
27284 "Prerequisites for make-check".
27285
4760f979
CF
272862010-03-04 Christian Franke <franke@computer.org>
27287
27288 * util/grub-pe2elf.c: Add missing include "progname.h".
27289
f209b5b2
VS
272902010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27291
27292 * normal/crypto.c (read_crypto_list): Fix a typo.
27293 Reported by: Seth Goldberg.
27294
b4b7be98
VS
272952010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27296
27297 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 27298 Reported by: Seth Goldberg.
b4b7be98 27299
c0ee0385
VS
273002010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27301
27302 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
27303 ascii.bitmaps.
27304
a8efbf64
VS
273052010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27306
27307 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 27308 Reported by: Seth Goldberg.
a8efbf64 27309
08dcd913
VS
273102010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27311
27312 * util/i386/efi/grub-install.in: Copy gettext files.
27313
c4d0b332
VS
273142010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27315
27316 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
27317
c6f2fe52
VS
273182010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27319
27320 Wait for user entry basing on presence of output rather than on errors.
27321
27322 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
27323 (grub_install_newline_hook): Likewise.
27324 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
27325 * normal/menu.c (show_menu): Check line_counter to determine presence
27326 of output.
27327 * normal/term.c (grub_normal_line_counter): New variable.
27328 (grub_normal_get_line_counter): New function.
27329 (grub_install_newline_hook): Likewise.
27330
5382b1e4
VS
273312010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27332
27333 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
27334
5519963b
VS
273352010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27336
27337 * configure.ac: Update version to 1.98.
27338
72b28631
VS
273392010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
27340
27341 * util/grub.d/10_linux.in (linux_entry): Don't default to
27342 gfxpayload=keep if Linux doesn't support video handover.
27343
c140a180
VS
273442010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
27345
27346 Don't compile video modules on yeeloong since video subsystem is part
27347 of kernel.
27348
27349 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
27350 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
27351 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
27352 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
27353 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
27354 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
27355 * include/grub/bitmap_scale.h: Likewise.
27356 * include/grub/bufio.h: Likewise.
27357 * include/grub/font.h: Likewise.
27358 * include/grub/gfxterm.h: Likewise.
27359 * include/grub/video.h: Likewise.
27360 * include/grub/vbe.h: Don't include video_fb.h.
27361 * video/i386/pc/vbe.c: Include video_fb.h.
27362 * commands/i386/pc/vbetest.c: Include video.h.
27363
a0ca21c2
CW
273642010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
27365
27366 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
27367 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
27368 default entry if GRUB_SAVEDEFAULT=true. This allows using
27369 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
27370 saving a new default on every boot.
27371
4a8a763c
VS
273722010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
27373
27374 * normal/crypto.c (read_crypto_list): Fix a memory leak.
27375 * normal/term.c (read_terminal_list): Likewise.
27376 * normal/main.c (grub_normal_init_page): Likewise.
27377 (grub_normal_read_line_real): Likewise.
27378
607ffde2
VS
273792010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
27380
27381 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
27382 memory leak.
27383 Reported by: Seth Goldberg.
27384
2b8fa975
CW
273852010-02-24 Joey Korkames <joey+lists@kidfixit.com>
27386
27387 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
27388 duplicate declaration of `start'.
27389
618307dd
VS
273902010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
27391
27392 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
27393 filename.
27394 Reported by: Georgy Buranov
27395
7dd05b96 273962010-02-20 Carles Pina i Estany <carles@pina.cat>
27397
27398 * util/grub-mkrawimage.c (usage): Change string formatting to
27399 improve gettext.
27400
d1484a42
MRA
274012010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
27402
27403 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
27404 backspace keys.
27405
42b1d186
VS
274062010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
27407
27408 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
27409 Reported by: Michael Suchanek.
27410
274112010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
27412
27413 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
27414 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
27415
d9f31a41
VS
274162010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
27417
27418 Remove any reference to non-free fonts.
27419
27420 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
27421 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
27422 uses non-free components.
27423 * font/font.c (grub_font_get_name): Remove example name.
27424 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
27425 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
27426 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
27427 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
27428
2793c71e
GB
274292010-02-16 Georgy Buranov <gburanov@gmail.com>
27430
27431 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
27432
402e3779
VS
274332010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
27434
27435 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
27436 Double divisor.
27437 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
27438 features.
27439 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
27440
0dd1e0dd
VS
274412010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
27442
27443 * gensymlist.sh.in: Use TARGET_CC instead of CC.
27444
6fa7cfce
ST
274452010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
27446
27447 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
27448 * docs/grub.texi (Command-line and menu entry commands): Document play
27449 command.
27450
37c8483b
ST
274512010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
27452
27453 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
27454 parse arguments as inline tempo and notes. Move code for playing notes
27455 to...
27456 (play): ... new function.
27457
14da0fb7
ST
274582010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
27459
27460 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
27461 grub_uint16_t instead of short.
27462 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
27463 disk from little endian to cpu endianness.
27464
04459e70
ST
274652010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
27466
27467 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
27468 GRUB_TICKS_PER_SECOND instead of 120.
27469
a0876943
VS
274702010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27471
27472 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
27473 escape sequence after \e.
27474
e29f95dc
VS
274752010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27476
27477 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
27478 non-ASCII characters.
27479
d27859b2
VS
274802010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27481
27482 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
27483 set root in single quotes to prevent \, from being unescaped.
27484
bc028f2f
VS
274852010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27486
27487 Prevent unknown commands from stopping menuentry execution.
27488
27489 * script/execute.c (grub_script_execute_cmdline): Print error after
27490 unknown command.
27491
095f5f82
VS
274922010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27493
27494 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
27495 Reported by: Pavel Pisa.
27496
8c717950
VS
274972010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27498
27499 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
27500
904935c3
VS
275012010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27502
27503 Merge grub_ieee1275_map_physical into grub_map and rename to
27504 grub_ieee1275_map
27505
27506 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
27507 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
27508 Remove.
27509 * kern/ieee1275/openfw.c (grub_map): Rename to ...
27510 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
27511 necessary.
27512 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
27513
5b59a4e3
VS
275142010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27515
27516 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
27517 opening and not after.
27518
69e137e8
VS
275192010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27520
27521 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
27522 constants.
27523
2c0fcc36
VS
275242010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27525
27526 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
27527 (alloc_phys): Use ALIGN_UP instead of align_addr.
27528
8c6052ce
VS
275292010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27530
27531 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
27532
17cec782
VS
275332010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27534
27535 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
27536
e0128bbd
VS
275372010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27538
27539 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
27540 verbose dprintf.
27541
ca62070b
VS
275422010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27543
27544 Fix over-4GiB seek on sparc64.
27545
27546 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
27547 Replace pos_i and pos_lo with pos. All users updated.
27548 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
27549 New constant.
27550 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
27551 Likewise.
27552 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
27553 and pos_lo.
27554
bdca2607
VS
275552010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27556
27557 * util/grub-mkrawimage.c (main): Call set_program_name.
27558
da278c4d
VS
275592010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27560
27561 Properly align 64-bit targets.
27562
27563 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
27564 (generate_image): Use ALIGN_ADDR.
27565
b274d734
VS
275662010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27567
27568 Properly create cross-endian images.
27569
27570 * include/grub/types.h (grub_host_to_target_addr): New macro
27571 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
27572
82da2062
VS
275732010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27574
27575 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
27576
7cae4377
VS
275772010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
27578
27579 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
27580
27581 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
27582 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
27583 (grub_linux_boot): Divide by 64K when on VESA.
27584
65a533e7
VS
275852010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
27586
27587 Support GRUB_GFXPAYLOAD_LINUX.
27588
27589 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
27590 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
27591
dd01d397
VS
275922010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
27593
27594 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
27595 to show messages instead of discarding them.
27596 Process errors after executing command and not before. Keep old method
27597 too as precaution.
27598
660960d6
VS
275992010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
27600
27601 * configure.ac: Check for ft2build.h.
27602
62509f04
VS
276032010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27604
27605 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
27606
473df63d
VS
276072010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27608
27609 * genkernsyms.sh.in: Use TARGET_CC.
27610
c98d2a13
CW
276112010-02-07 Colin Watson <cjwatson@ubuntu.com>
27612
27613 * NEWS: Update.
27614
6e14234c
VS
276152010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27616
27617 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
27618 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
27619 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 27620
b255e9cf
YB
276212010-02-07 Yves Blusseau <blusseau@zetam.org>
27622
6e14234c 27623 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 27624
98e6959d
VS
276252010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27626
27627 Fix warnings in grub-emu when compiling with maximum warning options.
27628
27629 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
27630 (grub_arch_modules_addr): Return 0 and not NULL.
27631 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 27632 (xstrdup): Use newstr instead of dup.
f88d801b
VS
27633 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
27634 of disk to dsk to avoid shadowing.
74e4934e
VS
27635 (find_free_slot): Fix prototype.
27636 * util/getroot.c (grub_util_is_dmraid): Make static.
27637 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
27638 Add missing prototype.
27639 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 27640
74e31b5c
VS
276412010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27642
27643 * loader/i386/linux.c (grub_linux_setup_video): Handle error
27644 appropriately.
27645
6b2ad14b
VS
276462010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27647
27648 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
27649 code out.
27650
8f891adc
VS
276512010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27652
27653 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
27654 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
27655 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
27656 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
27657 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
27658 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
27659
74b45184
VS
276602010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27661
27662 * include/grub/err.h (grub_err_printf): Don't export.
27663
a4bced77
VS
276642010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27665
27666 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
27667
007d0695
VS
276682010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27669
27670 * include/grub/i18n.h (grub_gettext_dummy): Removed.
27671 * kern/misc.c (grub_gettext_dummy): Make static.
27672
b6c0d9c2
VS
276732010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27674
27675 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
27676 by non-valid ones.
27677 * kern/term.c (grub_putchar): Likewise.
27678
f51a90d0
VS
276792010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27680
27681 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
27682 buggy hook call and memory leak.
27683
6846cec5
VS
276842010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27685
27686 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
27687
468d69fe
VS
276882010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27689
27690 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
27691
51906b8c
VS
276922010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27693
27694 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
27695 modevar.
27696 Return grub_errno on allocation error.
27697
09706ce5
VS
276982010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27699
27700 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
27701
911df80c
YB
277022010-02-06 Yves Blusseau <blusseau@zetam.org>
27703
27704 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
27705 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
27706
3746a6bc
VS
277072010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27708
27709 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
27710 non-pxe disk.
27711 (grub_pxefs_open): Likewise.
27712
09706ce5
VS
277132010-02-06 Robert Millan <rmh.grub@aybabtu.com>
27714
27715 * util/grub.d/10_hurd.in: Add --class information to menuentries.
27716 * util/grub.d/10_kfreebsd.in: Likewise.
27717 * util/grub.d/10_linux.in: Likewise.
27718
7cc192d9
VS
277192010-02-06 Colin D Bennett <colin@gibibit.com>
27720
27721 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
27722 (gfxmenu_mod_SOURCES): New variable.
27723 (gfxmenu_mod_CFLAGS): Likewise.
27724 (gfxmenu_mod_LDFLAGS): Likewise.
27725 * include/grub/term.h (grub_term_set_current_output): Declare
27726 argument as const.
27727 * docs/gfxmenu-theme-example.txt: New file.
27728 * gfxmenu/gfxmenu.c: Likewise.
27729 * gfxmenu/gui_box.c: Likewise.
27730 * gfxmenu/gui_canvas.c: Likewise.
27731 * gfxmenu/gui_circular_progress.c: Likewise.
27732 * gfxmenu/gui_image.c: Likewise.
27733 * gfxmenu/gui_label.c: Likewise.
27734 * gfxmenu/gui_list.c: Likewise.
27735 * gfxmenu/gui_progress_bar.c: Likewise.
27736 * gfxmenu/gui_string_util.c: Likewise.
27737 * gfxmenu/gui_util.c: Likewise.
27738 * gfxmenu/icon_manager.c: Likewise.
27739 * gfxmenu/model.c: Likewise.
27740 * gfxmenu/named_colors.c: Likewise.
27741 * gfxmenu/theme_loader.c: Likewise.
27742 * gfxmenu/view.c: Likewise.
27743 * gfxmenu/widget-box.c: Likewise.
27744 * include/grub/gfxmenu_model.h: Likewise.
27745 * include/grub/gfxmenu_view.h: Likewise.
27746 * include/grub/gfxwidgets.h: Likewise.
27747 * include/grub/gui.h: Likewise.
27748 * include/grub/gui_string_util.h: Likewise.
27749 * include/grub/icon_manager.h: Likewise.
27750
277512010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27752
27753 Agglomerate scrolling in gfxterm.
27754
27755 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
27756 (grub_virtual_screen_setup): Initialise 'total_screen'.
27757 (write_char): Split to ...
27758 (paint_char): ... this ...
27759 (write_char): ... and this.
27760 (paint_char): Handle delayed scrolling.
27761 (draw_cursor): Likewise.
27762 (scroll_up): Split to ...
27763 (real_scroll): ... this ...
27764 (scroll_up): ... and this.
27765 (real_scroll): Handle multi-line scroll and draw below-the-bottom
27766 characters.
27767 (grub_gfxterm_refresh): Call real_scroll.
27768
277692010-02-06 Colin D Bennett <colin@gibibit.com>
27770
27771 * include/grub/misc.h (grub_iscntrl): New inline function.
27772 (grub_isalnum): Likewise.
27773 (grub_strtol): Likewise.
27774
277752010-02-06 Colin D Bennett <colin@gibibit.com>
27776
27777 * normal/menu_text.c (get_entry_number): Move from here ...
27778 * normal/menu.c (get_entry_number): ... moved here.
27779 * include/grub/menu.h (grub_menu_get_default_entry_index):
27780 New prototype.
27781 * normal/menu.c (grub_menu_get_default_entry_index): New function.
27782 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
27783 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
27784 (grub_menu_viewer_should_return): Likewise.
27785 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
27786 * normal/menu_text.c (run_menu): Enable menu switching.
27787 * normal/menu_viewer.c (should_return): New variable.
27788 (menu_viewer_changed): Likewise.
27789 (grub_menu_viewer_show_menu): Handle menu viewer changes.
27790 (grub_menu_viewer_should_return): New function.
27791 (menuviewer_write_hook): Likewise.
27792 (grub_menu_viewer_init): Likewise.
27793
277942010-02-06 Colin D Bennet <colin@gibibit.com>
277952010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27796
27797 Support for gfxterm in a window.
27798
27799 * include/grub/gfxterm.h: New file.
27800 * include/grub/video.h (struct grub_video_rect): New declaration.
27801 (grub_video_rect_t): Likewise.
27802 * term/gfxterm.c (struct grub_gfxterm_window): New type.
27803 (refcount): New variable.
27804 (render_target): Likewise.
27805 (window): Likewise.
27806 (repaint_callback): Likewise.
27807 (grub_virtual_screen_setup): Use 'render_target'.
27808 (init_window): New function.
27809 (grub_gfxterm_init_window): Likewise.
27810 (grub_gfxterm_init): Check reference counter.
27811 Use init_window.
27812 (destroy_window): New function.
27813 (grub_gfxterm_destroy_window): Likewise.
27814 (grub_gfxterm_fini): Check reference counter.
27815 Use destroy_window.
27816 (redraw_screen_rect): Restore viewport.
27817 Use 'render_target' and 'window'.
27818 Call 'repaint_callback'.
27819 (write_char): Use 'render_target'.
27820 (draw_cursor): Likewise.
27821 (scroll_up): Restore viewport.
27822 Use 'render_target' and 'window'.
27823 Call 'repaint_callback'.
27824 (grub_gfxterm_cls): Likewise.
27825 (grub_gfxterm_refresh): Use 'window'.
27826 (grub_gfxterm_set_repaint_callback): New function.
27827 (grub_gfxterm_background_image_cmd): Use 'window'.
27828 (grub_gfxterm_get_term): New function.
27829 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
27830
278312010-02-06 Colin D Bennett <colin@gibibit.com>
27832
27833 Bitmap scaling support.
27834
27835 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
27836 (bitmap_scale_mod_SOURCES): New variable.
27837 (bitmap_scale_mod_CFLAGS): Likewise.
27838 (bitmap_scale_mod_LDFLAGS): Likewise.
27839 * include/grub/bitmap_scale.h: New file.
27840 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
27841 (background_image_cmd_options): New variable.
27842 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
27843 (cmd): Rename and change type to ...
27844 (background_image_cmd_handle): ... this. All users updated.
27845 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
27846 * video/bitmap_scale.c: New file.
27847
278482010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27849
27850 SDL support.
27851
27852 * Makefile.in (LIBSDL): New variable.
27853 (enable_grub_emu_sdl): Likewise.
27854 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
27855 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
27856 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
27857 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
27858 * util/sdl.c: New file.
27859
278602010-02-06 Colin D Bennett <colin@gibibit.com>
278612010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27862
27863 Double buffering support.
27864
27865 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
27866 * include/grub/video.h: Update comment.
27867 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
27868 New type.
27869 (grub_video_fb_doublebuf_blit_init): New prototype.
27870 * term/gfxterm.c (scroll_up): Support double buffering.
27871 (grub_gfxterm_refresh): Likewise.
27872 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
27873 (grub_video_fb_doublebuf_blit_init): Likewise.
27874 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
27875 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
27876 'displayed_page', 'render_page' and 'update_screen'.
27877 (grub_video_vbe_fini): Free offscreen buffer.
27878 (doublebuf_pageflipping_commit): New function.
27879 (doublebuf_pageflipping_update_screen): Likewise.
27880 (doublebuf_pageflipping_init): Likewise.
27881 (double_buffering_init): Likewise.
27882 (grub_video_vbe_setup): Enable doublebuffering.
27883 (grub_video_vbe_swap_buffers): Implement.
27884 (grub_video_vbe_set_active_render_target): Handle double buffering.
27885 (grub_video_vbe_get_active_render_target): Likewise.
27886 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
27887 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
27888 (grub_video_vbe_enable_double_buffering): Likewise.
27889 (grub_video_vbe_swap_buffers): Use update_screen.
27890 (grub_video_set_mode): Use double buffering.
27891
278922010-02-06 Robert Millan <rmh.grub@aybabtu.com>
27893
27894 * maintainance/gentrigtables.py: Remove.
27895 * lib/trig.c: Likewise.
27896
27897 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
27898
27899 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
27900 `trigtables.c'.
27901 (trigtables.c): New rule.
27902 (gentrigtables): Likewise.
27903 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
27904
279052010-02-06 Robert Millan <rmh.grub@aybabtu.com>
27906
27907 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
27908 integer constants.
27909
279102010-02-06 Colin D Bennet <colin@gibibit.com>
27911
27912 Trigonometry support.
27913
27914 * include/grub/trig.h: New file.
27915 * lib/trig.c: Likewise.
27916 * maintainance/gentrigtables.py: Likewise.
27917 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
27918 (trig_mod_SOURCES): New variable.
27919 (trig_mod_CFLAGS): Likewise.
27920 (trig_mod_LDFLAGS): Likewise.
27921
5562834e
VS
279222010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27923
27924 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
27925 disk devices.
27926
4f8528fc
VS
279272010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27928
27929 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
27930 error.
27931
2b4068e9
VS
279322010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
27933
27934 * util/hostdisk.c (open_device): Don't use partition device when reading
27935 before the partition.
27936 (grub_util_biosdisk_read): Don't read from partition and before the
27937 partition in single operation.
27938 (grub_util_biosdisk_write): Don't write to partition and before the
27939 partition in single operation.
27940
399f6e4d
TL
279412010-02-03 Torsten Landschoff <torsten@debian.org>
27942
27943 * kern/disk.c (grub_disk_read): Fix offset computation when reading
27944 last sectors.
27945
996649b0
VS
279462010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
27947
27948 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
27949 CDROM reads.
27950 (grub_biosdisk_write): Refuse to write to CDROM.
27951
3b205d4d
VS
279522010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
27953
27954 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
27955
61e89d9d
VS
279562010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
27957
27958 * font/font.c (find_glyph): Check that bmp_idx is available before
27959 using it.
27960 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
27961 with (font == NULL).
27962
bf7fcba2
CS
279632010-01-28 Christian Schmitt <chris@ilovelinux.de>
27964
27965 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
27966
f45d2663
BC
279672010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
27968
27969 * include/grub/script_sh.h (sourcecode): Add const qualifier.
27970 * util/grub-script-check.c (getline): Fix empty lines case.
27971
ec1444e6
RM
279722010-01-28 Robert Millan <rmh.grub@aybabtu.com>
27973
27974 * Makefile.in (check): Exit with fail status when one of the tests
27975 fails.
27976 * tests/example_functional_test.c (example_test): Fix reversed assert.
27977 * tests/example_unit_test.c (example_test): Likewise.
27978
2e1cb9bb
CW
279792010-01-28 Colin Watson <cjwatson@ubuntu.com>
27980
27981 * util/grub.d/10_linux.in: This script does not use any of the
27982 contents of gettext.sh, only the external command `gettext', so stop
27983 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
27984 the same prefix as GRUB.)
27985 * util/grub.d/10_kfreebsd.in: Likewise.
27986
63533ab0
VS
279872010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
27988
27989 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
27990 of the line.
27991
989e1f93
VS
279922010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
27993
27994 * kern/disk.c (grub_disk_read): Fix offset computation when reading
27995 last sectors.
27996
e709ebe2
VS
279972010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
27998
27999 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
28000 having a 4KiB and not 32KiB buffer size.
28001
27dea7ed
RM
280022010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28003
28004 * util/hostfs.c: Include `<errno.h>'.
28005 (grub_hostfs_read): Handle errors from fseeko() and fread().
28006
67667b9c
RM
280072010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28008
28009 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
28010 loop when using read hooks on files whose size isn't sector-aligned.
28011
c294d9d8
RM
280122010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28013
28014 Remove unused parameter.
28015
28016 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
28017 (grub_iso9660_open): Remove initialization of `data->length'.
28018
af75a9f1
RM
280192010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28020
28021 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
28022 memleak conditions.
28023
254e2ce5 280242010-01-27 Carles Pina i Estany <carles@pina.cat>
28025
28026 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
28027 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
28028
b510928c 280292010-01-26 Carles Pina i Estany <carles@pina.cat>
28030
28031 * util/bin2h.c (usage): Fix warning (space after backslash).
28032
aa2f9dd2 280332010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 28034
28035 * font/font.c: Include `grub/fontformat.h.
28036 Remove font file format constants.
28037 (grub_font_load): Use the new macros.
28038 * include/grub/fontformat.h: New file.
28039 * util/grub-mkfont.c: Include `grub/fontformat.c'.
28040 (write_font_pf2): Use the new macros.
28041
94e7e712
RM
280422010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28043
28044 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
28045 does.
28046
3973a59a
RM
280472010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28048
28049 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
28050
28051 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
28052 (_start): Macroify `0x7F'.
28053
28054 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
28055 (make_install_device): Use "(pxe)" as fallback prefix when booting
28056 via PXE.
28057
42e0cba3
GS
280582010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
28059
28060 * configure.ac: Reset LIBS after check for libgcc symbols.
28061
847effd8
CW
280622010-01-25 Colin Watson <cjwatson@ubuntu.com>
28063
28064 * util/hostdisk.c (open_device): Add trailing newline to debug
28065 message.
28066
ea4a7e35
GS
280672010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
28068
28069 * configure.ac: Check for `limits.h'.
28070 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
28071
67951a53
RM
280722010-01-24 Robert Millan <rmh.grub@aybabtu.com>
28073
28074 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
28075 capitalize error strings.
28076
c273d4ce
ST
280772010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
28078
28079 * util/grub.d/10_hurd.in: Add a recovery mode.
28080
69be5b74
VS
280812010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
28082
28083 * configure.ac: Check for libgcc symbols with -nostdlib.
28084
fc9e5810
BC
280852010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
28086
28087 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
28088
4b358c0a
VS
280892010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28090
28091 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
28092 stack since heap may be unavailable at that point.
28093 (grub_ofconsole_gotoxy): Likewise.
28094
454fcd1c
VS
280952010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28096
28097 * configure.ac: Check for _restgpr_14_x.
28098 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
28099 and _savegpr_* prototypes.
28100
566863ca
RM
281012010-01-22 Robert Millan <rmh.grub@aybabtu.com>
28102
28103 Use generic grub_reboot() for i386-efi.
28104
28105 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
28106 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
28107 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
28108
bf86e59a
VS
281092010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28110
28111 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
28112 presence of "prefix" variable as it breaks when normal.mod is
28113 embedded.
28114
d645e0f8
VS
281152010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28116
28117 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
28118 stack since heap is unavailable at that point.
28119
f9ab2e25
VS
281202010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28121
28122 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
28123 (grub_freebsd_bootinfo): Rewritten.
28124 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
28125
01fc7054
VS
281262010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28127
28128 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
28129
caab4fd6
RM
281302010-01-21 Robert Millan <rmh.grub@aybabtu.com>
28131
28132 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
28133 domain now.
28134
67eb1427
FZ
281352010-01-20 Felix Zielcke <fzielcke@z-51.de>
28136
28137 * util/misc.c (make_system_path_relative_to_its_root): Change the work
28138 around for handling "/" to the correct fix. Fix a memory leak. Use
28139 xstrdup instead of strdup.
28140
a9ed4ff3
VS
281412010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28142
28143 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
28144
281452010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
28146
28147 Optimise glyph lookup by Basic Multilingual Plane lookup array.
28148
28149 * font/font.c (struct grub_font): New member 'bmp_idx'.
28150 (font_init): Initialise 'bmp_idx'.
28151 (load_font_index): Fill 'bmp_idx'.
28152 (find_glyph): Make inline. Use bmp_idx for BMP characters.
28153
48209f4f
VS
281542010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28155
28156 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
28157 unnecessary calls.
28158
9f0a4bb7
VS
281592010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28160
28161 Move context handling out of the kernel.
28162
28163 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
28164 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
28165 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
28166 * conf/i386-efi.rmk: Likewise.
28167 * conf/i386-ieee1275.rmk: Likewise.
28168 * conf/i386-pc.rmk: Likewise.
28169 * conf/powerpc-ieee1275.rmk: Likewise.
28170 * conf/sparc64-ieee1275.rmk: Likewise.
28171 * conf/x86_64-efi.rmk: Likewise.
28172 * include/grub/env.h: Include grub/menu.h.
28173 (grub_env_var_type): Removed.
28174 (grub_env_var): Replaced field 'type' with 'global'.
28175 (grub_env_find): New prototype.
28176 (grub_env_context_open): Remove EXPORT_FUNC.
28177 (grub_env_context_close): Likewise.
28178 (grub_env_export): Likewise.
28179 (grub_env_set_data_slot): Removed.
28180 (grub_env_get_data_slot): Likewise.
28181 (grub_env_unset_data_slot): Likewise.
28182 (grub_env_unset_menu): New prototype.
28183 (grub_env_set_menu): Likewise.
28184 (grub_env_get_menu): Likewise.
28185 * include/grub/env_private.h: New file.
28186 * include/grub/normal.h (grub_context_init): New prototype.
28187 (grub_context_fini): Likewise.
28188 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
28189 * normal/context.c (grub_cmd_export): ... to here.
28190 * kern/env.c: Include env_private.h.
28191 (HASHSZ): Moved to include/grub/env_private.h.
28192 (grub_env_context): Likewise.
28193 (grub_env_sorted_var): Likewise.
28194 (current_context): Renamed from this ...
28195 (grub_current_context): ...to this. 'static' removed. All users updated.
28196 (grub_env_find): Removed 'static'.
28197 (grub_env_context_open): Moved to normal/context.c.
28198 (grub_env_context_close): Likewise.
28199 (grub_env_export): Likewise.
28200 (mangle_data_slot_name): Removed.
28201 (grub_env_set_data_slot): Likewise.
28202 (grub_env_get_data_slot): Likewise.
28203 (grub_env_unset_data_slot): Likewise.
28204 * kern/main.c (grub_set_root_dev): Don't export root.
28205 It will be done later.
28206 (grub_main): Don't export prefix.
28207 It will be done later.
28208 * normal/context.c: New file.
28209 * normal/main.c (free_menu): Use grub_env_unset_menu.
28210 (grub_normal_add_menu_entry): Use grub_env_get_menu.
28211 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
28212 (GRUB_MOD_INIT(normal)): Call grub_context_init.
28213 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
28214
8dd35b8c
VS
282152010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28216
28217 setpci support.
28218
28219 * commands/setpci.c: New file.
28220 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
28221 (setpci_mod_SOURCES): New variable.
28222 (setpci_mod_CFLAGS): Likewise.
28223 (setpci_mod_LDFLAGS): Likewise.
28224
449193d5
VS
282252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28226
28227 Byte-addressable PCI configuration space.
28228
28229 * bus/pci.c (grub_pci_make_address): Use byte address instead of
28230 dword address.
28231 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
28232 GRUB_PCI_REG_CACHELINE.
28233 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
28234 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
28235 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
28236 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
28237 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
28238 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
28239 grub_pci_make_address.
28240 (lock_rom_area): Likewise.
28241 * commands/lspci.c (grub_lspci_iter): Use macroses
28242 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
28243 of grub_pci_make_address.
28244 * disk/ata.c (grub_ata_pciinit): Likewise.
28245 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
28246 (GRUB_PCI_REG_VENDOR): Likewise.
28247 (GRUB_PCI_REG_DEVICE): Likewise.
28248 (GRUB_PCI_REG_COMMAND): Likewise.
28249 (GRUB_PCI_REG_STATUS): Likewise.
28250 (GRUB_PCI_REG_REVISION): Likewise.
28251 (GRUB_PCI_REG_CLASS): Likewise.
28252 (GRUB_PCI_REG_CACHELINE): Likewise.
28253 (GRUB_PCI_REG_LAT_TIMER): Likewise.
28254 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
28255 (GRUB_PCI_REG_BIST): Likewise.
28256 (GRUB_PCI_REG_ADDRESSES): Likewise.
28257 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28258 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28259 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28260 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28261 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28262 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28263 (GRUB_PCI_REG_CIS_POINTER): Likewise.
28264 (GRUB_PCI_REG_SUBVENDOR): Likewise.
28265 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
28266 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
28267 (GRUB_PCI_REG_CAP_POINTER): Likewise.
28268 (GRUB_PCI_REG_IRQ_LINE): Likewise.
28269 (GRUB_PCI_REG_IRQ_PIN): Likewise.
28270 (GRUB_PCI_REG_MIN_GNT): Likewise.
28271 (GRUB_PCI_REG_MAX_LAT): Likewise.
28272 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
28273 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
28274 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 28275 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
28276 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
28277 space.
28278
96d73208
RM
282792010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28280
28281 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
28282 can be reliably determined to be supported.
28283
d4484482
RM
282842010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28285
28286 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
28287 that VESA is supported.
28288 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
28289 supported.
28290
00308ecf
VS
282912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28292
28293 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
28294
f66924a4
RM
282952010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28296
28297 * util/misc.c (make_system_path_relative_to_its_root): Work around
28298 special-casing of "/", as previous incarnation of this routine did.
28299
cbca0ada
VS
283002010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28301
28302 Fix any-emu compilation.
28303
28304 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
28305 * grub_bin2h_SOURCES: New variable.
28306
34a66d99
RM
283072010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28308
28309 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
28310
94fabf58
RM
283112010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28312
28313 * util/grub.d/00_header.in: Fix handling of locale_dir.
28314
02cf98ca
VS
283152010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28316
28317 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
28318 as possible unifont location (Gentoo).
28319 Reported by: Alexander Brüning
28320
327dbcd7
VS
283212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28322
28323 Don't try to generate lists for kernel.img.
28324
28325 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
28326 (pkglib_MODULES): Remove kernel.img.
28327 (kernel_img_EXPORTS): Removed.
28328 (kernel_img_RELOCATABLE): New variable.
28329 * conf/x86_64-efi.rmk: Likewise.
28330 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
28331
ca467290
VS
283322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28333
28334 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
28335 grub_xasprintf or grub_snprintf.
28336 (grub_vsprintf): Likewise.
28337 (grub_snprintf): New proto.
28338 (grub_vsnprintf): Likewise.
28339 (grub_xasprintf): Likewise.
28340 (grub_xvasprintf): Likewise.
28341 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
28342 (grub_sprintf): Removed.
28343 (grub_vsnprintf): New function.
28344 (grub_snprintf): Likewise.
28345 (grub_xvasprintf): Likewise.
28346 (grub_xasprintf): Likewise.
28347 (grub_vsprintf): Renamed to ...
28348 (grub_vsnprintf_real): ...this. New argument max_len.
28349
aca655fd
BC
283502010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
28351
28352 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
28353 fix grub-script-check warning.
28354
7ee92c32
VS
283552010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28356
28357 * include/grub/font.h (grub_font_load): Fix prototype.
28358
f80927ca
VS
283592010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28360
28361 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
28362
119c50ea
VS
283632010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28364
28365 * include/grub/x86_64/at_keyboard.h: New file.
28366
47d5f3c1
VS
283672010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28368
28369 * loader/mips/linux.c: Include missing grub/i18n.h.
28370
55ff5266
RM
283712009-12-20 Robert Millan <rmh.grub@aybabtu.com>
28372
28373 * normal/menu.c (notify_execution_failure): Clarify error message.
28374
c893cc87
RM
283752009-12-20 Robert Millan <rmh.grub@aybabtu.com>
28376
28377 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
28378 return value (and revert all return statements). Update users.
28379
917dd370
CW
283802010-01-20 Dan Merillat <debian@dan.merillat.org>
28381
28382 * kern/device.c (grub_device_iterate): Allocate new part_ent
28383 structure based on sizeof (*p) rather than sizeof (p->next), to
28384 account for structure padding.
28385
28386 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
28387 disk is NULL, which might happen for LVM physical volumes with no
28388 LVM signature.
28389
d4a4ee57
RM
283902009-12-20 Robert Millan <rmh.grub@aybabtu.com>
28391
28392 * loader/mips/linux.c (grub_cmd_initrd)
28393 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
28394
283952009-12-20 Robert Millan <rmh.grub@aybabtu.com>
28396
28397 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
28398 (grub_video_video_init, grub_video_bitmap_init)
28399 (grub_font_manager_init, grub_term_gfxterm_init)
28400 (grub_at_keyboard_init): New extern declarations.
28401 (grub_machine_init): Initialize gfxterm and at_keyboard.
28402
28403 * kern/main.c (grub_main): Revert grub_printf delay kludge.
28404
28405 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
28406 `gfxterm.mod' into core image.
28407
28408 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
28409 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28410 (kernel_img_FORMAT): Copy to ...
28411
28412 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
28413 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28414 (kernel_img_FORMAT): ... here, and ...
28415
28416 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
28417 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28418 (kernel_img_FORMAT): ... here.
28419
28420 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
28421 and input (at_keyboard) terminals in kernel.
28422 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
28423
28424 (pkglib_MODULES): Remove `pci.mod'.
28425 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
28426 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
28427 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
28428 (at_keyboard_mod_LDFLAGS): Remove variables.
28429
284302010-01-11 Felix Zielcke <fzielcke@z-51.de>
28431
28432 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
28433
284342009-12-10 Robert Millan <rmh.grub@aybabtu.com>
28435
28436 * include/grub/mips/libgcc.h: Only export symbols for functions
28437 that libgcc provides.
28438
284392009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
28440
28441 MIPS support.
28442
28443 * bus/bonito.c: New file.
28444 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
28445 GRUB_PCI_NUM_DEVICES.
28446 * term/i386/pc/serial.c: Move to ...
28447 * term/serial.c: ... here. All users updated.
28448 * util/i386/pc/grub-mkimage.c: Move to ...
28449 * util/grub-mkrawimage.c: ... here. All users updated.
28450 * term/i386/pc/at_keyboard.c: Move to ...
28451 * term/at_keyboard.c: ... here. All users updated.
28452 * conf/mips-qemu-mips.rmk: New file.
28453 * conf/mips-yeeloong.rmk: Likewise.
28454 * conf/mips.rmk: Likewise.
28455 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
28456 mipsel-qemu-mips.
28457 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
28458 to port addresses.
28459 (grub_ata_pciinit): Support CS5536.
28460 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
28461 * font/font_cmd.c (loadfont_command): Open file before passing it to
28462 grub_font_load.
28463 (pseudo_file_read): New function.
28464 (pseudo_file_close): Likewise.
28465 (pseudo_fs): New structure.
28466 (load_font_module): New function.
28467 (GRUB_MOD_INIT(font_manager)): Load embedded font.
28468 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
28469 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
28470 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
28471 * include/grub/i386/at_keyboard.h: Split into ...
28472 * include/grub/at_keyboard.h: ... this ...
28473 * include/grub/i386/at_keyboard.h: ... and this.
28474 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
28475 New prototype.
28476 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
28477 updated.
28478 (grub_elf64_size): Likewise.
28479 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
28480 filename.
28481 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
28482 * include/grub/i386/coreboot/serial.h: Rewritten.
28483 * include/grub/i386/ieee1275/serial.h: Include
28484 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
28485 * include/grub/i386/pc/serial.h: Moved from here ...
28486 * include/grub/serial.h: ... to here. All users updated.
28487 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
28488 (GRUB_PCI_NUM_BUS): Likewise.
28489 (GRUB_PCI_NUM_DEVICES): Likewise.
28490 (grub_pci_device_map_range): Add missing volatile keyword.
28491 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
28492 * include/grub/mips/at_keyboard.h: New file.
28493 * include/grub/mips/cache.h: Likewise.
28494 * include/grub/mips/io.h: Likewise.
28495 * include/grub/mips/kernel.h: Likewise.
28496 * include/grub/mips/libgcc.h: Likewise.
28497 * include/grub/mips/pci.h: Likewise.
28498 * include/grub/mips/qemu-mips/boot.h: Likewise.
28499 * include/grub/mips/qemu-mips/kernel.h: Likewise.
28500 * include/grub/mips/qemu-mips/loader.h: Likewise.
28501 * include/grub/mips/qemu-mips/memory.h: Likewise.
28502 * include/grub/mips/qemu-mips/serial.h: Likewise.
28503 * include/grub/mips/qemu-mips/time.h: Likewise.
28504 * include/grub/mips/relocator.h: Likewise.
28505 * include/grub/mips/time.h: Likewise.
28506 * include/grub/mips/types.h: Likewise.
28507 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
28508 * include/grub/mips/yeeloong/boot.h: Likewise.
28509 * include/grub/mips/yeeloong/kernel.h: Likewise.
28510 * include/grub/mips/yeeloong/loader.h: Likewise.
28511 * include/grub/mips/yeeloong/memory.h: Likewise.
28512 * include/grub/mips/yeeloong/pci.h: Likewise.
28513 * include/grub/mips/yeeloong/serial.h: Likewise.
28514 * include/grub/mips/yeeloong/time.h: Likewise.
28515 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
28516 * kern/elf.c (grub_elf32_size): New parameter. All users
28517 updated.
28518 (grub_elf64_size): Likewise.
28519 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
28520 Load modules before saying "Welcome to GRUB!".
28521 Call grub_refresh after saying "Welcome to GRUB!".
28522 * kern/mips/cache.S: New file.
28523 * kern/mips/cache_flush.S: Likewise.
28524 * kern/mips/dl.c: Likewise.
28525 * kern/mips/init.c: Likewise.
28526 * kern/mips/qemu-mips/init.c: Likewise.
28527 * kern/mips/startup.S: Likewise.
28528 * kern/mips/yeeloong/init.c: Likewise.
28529 * kern/term.c (grub_putcode): Handle NULL terminal.
28530 (grub_getcharwidth): Likewise.
28531 (grub_getkey): Likewise.
28532 (grub_checkkey): Likewise.
28533 (grub_getkeystatus): Likewise.
28534 (grub_getxy): Likewise.
28535 (grub_getwh): Likewise.
28536 (grub_gotoxy): Likewise.
28537 (grub_cls): Likewise.
28538 (grub_setcolorstate): Likewise.
28539 (grub_setcolor): Likewise.
28540 (grub_getcolor): Likewise.
28541 (grub_refresh): Likewise.
28542 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
28543 (write_jump): Add hatch nop.
28544 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
28545 * lib/mips/setjmp.S: New file.
28546 * loader/mips/linux.c: Likewise.
28547 * term/i386/pc/at_keyboard.c: Move from here ...
28548 * term/at_keyboard.c: ... to here.
28549 * term/i386/pc/serial.c: Moved from here ...
28550 * term/serial.c: ... to here. All users updated.
28551 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
28552 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
28553 (serial_translate_key_sequence): Avoid deadlock.
28554 (grub_serial_getkey): Handle backspace.
28555 (grub_serial_putchar): Fix newline handling.
28556 * util/i386/pc/grub-mkimage.c: Move from here ...
28557 * util/grub-mkrawimage.c: ... to here. All users updated.
28558 (generate_image): New parameters 'font_path' and 'format'.
28559 Support embedding font.
28560 Use grub_host_to_target* instead of grub_cpu_to_le*.
28561 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
28562 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
28563 (options): New option "--font".
28564 (usage): Likewise.
28565 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
28566 (main): Handle "--font".
28567 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
28568 (grub_virtual_screen_setup): Set bg_color_display.
28569 (redraw_screen_rect): Use bg_color_display instead of incorrect
28570 bg_color.
28571 (grub_gfxterm_cls): Likewise.
28572 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
28573 Support embedding config file.
28574 (add_segments): Likewise.
28575 (options): New option "--config".
28576 (main): Handle "--config".
28577 * video/sm712.c: New file.
28578
25c2b5b3
RM
285792010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28580
28581 Fix parallel builds.
28582
28583 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
28584 font.c depend on ascii.h).
28585
285862010-01-12 Carles Pina i Estany <carles@pina.cat>
28587
28588 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
28589
285902010-01-11 Carles Pina i Estany <carles@pina.cat>
28591
28592 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
28593 By default: disabled.
28594 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
28595 parameter.
28596
285972010-01-10 Carles Pina i Estany <carles@pina.cat>
28598
28599 * font/font.c: Update copyright years.
28600 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
28601
286022010-01-10 Carles Pina i Estany <carles@pina.cat>
28603
28604 * font/font.c: Include `ascii.h'.
28605 (ASCII_BITMAP_SIZE): New macro.
28606 (ascii_font_glyph): Define.
28607 (ascii_glyph_lookup): New function.
28608 (grub_font_get_string_width): Change comment. If glyph not found, use
28609 ascii_glyph_lookup.
28610 (grub_font_get_glyph_with_fallback): If glyph not available returns
28611 ascii_glyph_lookup.
28612 * util/grub-mkfont.c (file_formats): New enum.
28613 (options): Add `ascii-bitmaps' new option.
28614 (usage): Add `asii-bitmaps' new option.
28615 (write_font_ascii_bitmap): New function.
28616 (write_font): Rename to ...
28617 (write_font_p2): ... this. Remove print_glyphs call.
28618 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
28619 used. Call print_glyphs.
28620 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
28621
286222010-01-14 Robert Millan <rmh.grub@aybabtu.com>
28623
28624 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
28625 (grub_bin2h_SOURCES): New variable.
28626 * util/bin2h.c: New file.
28627
915fc1b8
VS
286282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28629
28630 * include/multiboot.h: Resynced with spec.
28631 * include/multiboot2.h: Likewise.
28632 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
28633 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
28634
9444b678
RM
286352010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28636
28637 * include/grub/term.h (grub_term_register_input,
28638 grub_term_register_output): Check return of terminal init()
28639 routines, and abort if errors are raised.
28640
28641 * commands/terminal.c: Update copyright year.
28642
cba98e8d
RM
286432010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28644
28645 * commands/terminal.c (grub_cmd_terminal_input)
28646 (grub_cmd_terminal_output): Check return of terminal init()
28647 routines, and abort if errors are raised.
28648
6f7db5d6
VS
286492010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
28650
28651 * include/grub/i386/bsd.h: Fix include pathes.
28652
262bff8d
VS
286532010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
28654
28655 Add missing *BSD copyright headers.
28656
28657 * include/grub/aout.h: Add BSD licence.
28658 * include/grub/i386/bsd.h: Parts under different licences moved to ...
28659 * include/grub/i386/freebsd_linker.h: ... here,
28660 * include/grub/i386/freebsd_reboot.h: ... here,
28661 * include/grub/i386/netbsd_bootinfo.h: ... here,
28662 * include/grub/i386/netbsd_reboot.h: ... here,
28663 * include/grub/i386/openbsd_bootarg.h: ... here,
28664 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
28665 licence to each file.
28666
b2cab848
RM
286672010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28668
28669 * acinclude.m4: Remove `nop' assembly instruction; it's not
28670 implemented by all architectures.
28671
2cb6be4b
RM
286722010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28673
28674 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
28675 ELILO. This is no longer necessary.
28676
a2eaee15
BC
286772010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
28678
28679 Added new tool, grub-scrit-check to verify grub.cfg syntax.
28680
28681 * util/grub-script-check.c: grub-script-check tool.
28682 * conf/common.rmk: Make rules for grub-script-check.
28683
88d17012
RM
286842010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28685
28686 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
28687 spotting it back in 2008. Shame on me for forgetting he did.
28688
28689 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
28690
8040619d
RM
286912010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28692
28693 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
28694 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
28695 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
28696 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
28697 (GRUB_VIDEO_TYPE_EFI): Rename to ...
28698 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
28699
a0c2a0f6
RM
287002010-01-17 Robert Millan <rmh.grub@aybabtu.com>
28701
28702 * include/grub/test.h: Add license header.
28703 * tests/example_functional_test.c: Likewise.
28704 * tests/example_unit_test.c: Likewise.
28705 * tests/lib/functional_test.c: Likewise.
28706 * tests/lib/test.c: Likewise.
28707 * tests/lib/unit_test.c: Likewise.
28708
b0b13907
VS
287092010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
28710
28711 Use flag-based instead of hook-based video mode selection and "auto"
28712 keyword.
28713
28714 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
28715 (grub_video_set_mode): Changed prototype. All users updated.
28716 (grub_video_check_mode_flag): New inline function.
28717 * video/video.c (parse_modespec): New function.
28718 (grub_video_set_mode): Parse flags and keywords.
28719
ea379330 287202010-01-17 Carles Pina i Estany <carles@pina.cat>
28721
28722 * util/misc.c (grub_util_info): Fix the order of the parameters in a
28723 fprintf call.
28724
e15c215e
FZ
287252010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
28726
28727 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
28728
409ae1c9 287292010-01-16 Carles Pina i Estany <carles@pina.cat>
28730
28731 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
28732 string.
28733 * util/grub-emu.c (usage): Likewise.
28734 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
28735 * util/i386/efi/grub-mkimage.c (usage): Likewise.
28736 * util/i386/pc/grub-mkimage.c (usage): Likewise.
28737 * util/i386/pc/grub-setup.c (usage): Likewise.
28738
70a14d3d 287392010-01-16 Carles Pina i Estany <carles@pina.cat>
28740
28741 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
28742 the message.
28743 (grub_util_info): Likewise.
28744 (grub_util_error): Likewise.
28745 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
28746 and/or new lines in `grub_util_warna', `grub_util_info',
28747 `grub_util_error' calls.
28748 * util/getroot.c: Likewise.
28749 * util/grub-editenv.c: Likewise.
28750 * util/grub-emu.c: Likewise.
28751 * util/grub-fstest.c: Likewise.
28752 * util/grub-mkdevicemap.c: Likewise.
28753 * util/grub-mkfont.c: Likewise.
28754 * util/grub-mkpasswd-pbkdf2.c: Likewise.
28755 * util/grub-mkrelpath.c: Likewise.
28756 * util/grub-pe2elf.c: Likewise.
28757 * util/grub-probe.c: Likewise.
28758 * util/hostdisk.c: Likewise.
28759 * util/i386/efi/grub-mkimage.c: Likewise.
28760 * util/i386/pc/grub-mkimage.c: Likewise.
28761 * util/i386/pc/grub-setup.c: Likewise.
28762 * util/ieee1275/ofpath.c: Likewise.
28763 * util/mkisofs/eltorito.c: Likewise.
28764 * util/mkisofs/rock.c: Likewise.
28765 * util/mkisofs/write.c: Likewise.
28766 * util/raid.c: Likewise.
28767 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
28768 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28769
a0b766fc
VS
287702010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
28771
28772 Enable multiboot on non-pc.
28773
28774 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
28775 multiboot.mod and multiboot2.mod to ...
28776 * conf/i386.rmk (pkglib_MODULES): ... here.
28777 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
28778 Moved to ...
28779 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
28780 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
28781 Moved to ...
28782 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
28783 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
28784 Moved to ...
28785 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
28786 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
28787 Moved to ...
28788 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
28789 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
28790 relocator.mod.
28791 (ata_mod_SOURCES): Removed.
28792 (ata_mod_CFLAGS): Likewise.
28793 (ata_mod_LDFLAGS): Likewise.
28794 (relocator_mod_SOURCES): Removed.
28795 (relocator_mod_CFLAGS): Likewise.
28796 (relocator_mod_ASFLAGS): Likewise.
28797 (relocator_mod_LDFLAGS): Likewise.
28798 Include i386.mk.
28799 * include/grub/x86_64/multiboot.h: New file.
28800 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
28801 Terminate EFI.
28802
884ade56
VS
288032010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
28804
28805 Video multiboot support.
28806
28807 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
28808 New prototype.
28809 * include/multiboot.h: Resynced with multiboot specification.
28810 * include/multiboot2.h: Likewise.
28811 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
28812 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
28813 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
28814 (HAS_VGA_TEXT): Likewise.
28815 (accepts_video): New variable.
28816 (grub_multiboot_set_accepts_video): New function.
28817 (grub_multiboot_get_mbi_size): Account for video structures.
28818 (set_video_mode): New function.
28819 (retrieve_video_parameters): Likewise.
28820 (grub_multiboot_make_mbi): Fill video fields.
28821
0d90e8a6
VS
288222010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
28823
28824 Video driver ids.
28825
28826 * include/grub/video.h (grub_video_driver_id): New type.
28827 (grub_video_adapter): New member 'id'. All users updated.
28828 (grub_video_get_driver_id): New proto.
28829 * video/video.c (grub_video_get_driver_id): New function.
28830
5c71db1b 288312010-01-14 Carles Pina i Estany <carles@pina.cat>
28832
28833 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
28834 `var=val'.
28835
cca15b52 288362010-01-14 Carles Pina i Estany <carles@pina.cat>
28837
28838 * normal/cmdline.c (print_completion): Gettextizze.
28839
c586fbb2 288402001-01-14 Carles Pina i Estany <carles@pina.cat>
28841
28842 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
28843
ba2f6848 288442010-01-14 Carles Pina i Estany <carles@pina.cat>
28845
28846 * gettext/gettext.c (grub_gettext_translate): Push and pop
28847 grub_errno.
28848 (grub_gettext_delete_list): Change comment style.
28849 * kern/err.c (grub_error): Gettextizze.
28850 (grub_fatal): Gettextizze.
28851
0a46429a
RM
288522010-01-14 Robert Millan <rmh.grub@aybabtu.com>
28853
28854 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
28855 (grub_linux16_real_boot): ... this.
28856 * kern/i386/loader.S: Likewise.
28857 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
28858 (grub_linux16_boot): New function. Switches to text mode and calls
28859 grub_linux16_real_boot().
28860
28861 * loader/i386/bsd.c: Include `<grub/video.h>'.
28862 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
28863 text mode before calling grub_unix_real_boot().
28864
28865 * loader/i386/multiboot.c: Include `<grub/video.h>'.
28866 (grub_multiboot_boot): Switch to text mode before calling
28867 grub_relocator32_boot().
28868
28869 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
28870 (grub_chainloader_boot): Switch to text mode before calling
28871 grub_chainloader_real_boot().
28872
d6f93a66
RM
288732010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
288742010-01-05 Colin Watson <cjwatson@ubuntu.com>
28875
28876 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
28877 non-empty value.
28878
288792010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
288802010-01-05 Colin Watson <cjwatson@ubuntu.com>
28881
28882 * util/grub.d/00_header.in: Define a "savedefault" function for use
28883 in menu entries.
28884 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
28885
288862010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
288872010-01-05 Colin Watson <cjwatson@ubuntu.com>
28888
28889 * util/grub-mkconfig_lib.in (save_default_entry): Only set
28890 saved_entry if boot_once is unset.
28891 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
28892 previous saved entry (i.e. grub-reboot).
28893
288942009-12-08 Colin Watson <cjwatson@ubuntu.com>
28895
28896 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
28897
288982009-12-08 Colin Watson <cjwatson@ubuntu.com>
28899
28900 * util/grub.d/00_header.in: Use `set var=val' rather than plain
28901 `var=val'.
28902 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
28903
289042009-12-08 Colin Watson <cjwatson@ubuntu.com>
28905
28906 * util/grub-reboot.in: Fix --version output.
28907 * util/grub-set-default.in: Likewise.
28908
289092009-12-08 Colin Watson <cjwatson@ubuntu.com>
28910
28911 * util/grub.d/00_header.in: Silently ignore zero-sized environment
28912 blocks.
28913
289142009-12-08 Colin Watson <cjwatson@ubuntu.com>
28915
28916 * util/grub.d/00_header.in: Quote the value assigned to `default',
28917 in case it contains spaces.
28918
289192009-12-08 Colin Watson <cjwatson@ubuntu.com>
28920
28921 * util/grub.d/30_os-prober.in: Fix merge error that moved a
28922 `save_default_entry' call from the macosx case to the linux case.
28923
289242009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
289252009-10-25 Colin Watson <cjwatson@ubuntu.com>
28926
28927 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
28928 in `chosen' environment variable.
28929 * normal/menu_text.c (get_entry_number): Check if the variable
28930 matches the title of a menu entry.
28931 (run_menu): Pass menu to get_entry_number.
28932
28933 * util/grub-reboot.in: New file.
28934 * util/grub-set-default.in: New file.
28935 * conf/common.rmk (grub-reboot): New utility.
28936 (grub-set-default): New utility.
28937
28938 * util/grub-mkconfig_lib.in (save_default_entry): New function.
28939 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
28940 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
28941 move it to `saved_entry' for the next boot. Load environment on
28942 initialisation.
28943 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
28944 * util/grub.d/10_hurd.in: Likewise.
28945 * util/grub.d/10_linux.in (linux_entry): Likewise.
28946 * util/grub.d/10_windows.in: Likewise.
28947 * util/grub.d/30_os-prober.in: Likewise.
28948
28949 * util/grub-install.in: Create environment block.
28950 * util/i386/efi/grub-install.in: Likewise.
28951 * util/ieee1275/grub-install.in: Likewise.
28952 * util/sparc64/ieee1275/grub-install.in: Likewise.
28953
0934d184
BC
289542010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
28955
28956 Unit testing framework for GRUB.
28957
28958 * Makefile.in: Test framework build rules for 'make check'.
28959 * conf/tests.rmk: Build rules for individual tests and framework.
28960
28961 * include/grub/test.h: Header file for whitebox tests.
28962 * tests/lib/functional_test.c: Framework support for whitebox
28963 functional tests.
28964 * tests/lib/test.c: Common whitebox testing code for unit and
28965 functional tests.
28966 * tests/lib/unit_test.c: Framework support for whitebox unit
28967 tests.
28968
28969 * tests/util/grub-shell-tester.in: Support utility for grub-script
28970 tests.
28971 * tests/util/grub-shell.in: Utility to execute grub-script
28972 commands in a Qemu instance.
28973
28974 * tests/example_functional_test.c: Example whitebox functional
28975 test.
28976 * tests/example_grub_script_test.in: Example grub-script test.
28977 * tests/example_scripted_test.in: Example scripted test.
28978 * tests/example_unit_test.c: Example whitebox unit test.
28979
9c4ffeeb
VS
289802010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
28981
28982 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
28983 Add loader/i386/multiboot_mbi.c.
28984 (multiboot2_mod_SOURCES): Likewise.
28985 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
28986 (multiboot2_mod_SOURCES): Likewise.
28987 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
28988 (grub_multiboot_make_mbi): Likewise.
28989 (grub_multiboot_free_mbi): Likewise.
28990 (grub_multiboot_init_mbi): Likewise.
28991 (grub_multiboot_add_module): Likewise.
28992 (grub_multiboot_set_bootdev): Likewise.
28993 * loader/i386/multiboot.c (mbi): Removed.
28994 (mbi_dest): Likewise.
28995 (alloc_mbi): New variable.
28996 (grub_multiboot_payload_size): Removed. All users updated.
28997 (grub_multiboot_pure_size): New variable.
28998 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
28999 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
29000 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
29001 (grub_fill_multiboot_mmap): Likewise.
29002 (grub_multiboot_get_bootdev): Likewise.
29003 (grub_multiboot): Use multiboot_mbi functions.
29004 * loader/i386/multiboot_mbi.c: New file.
29005
17383dfe
VS
290062010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29007
29008 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
29009 it would result in module crash.
29010
c1f28820
VS
290112010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29012
29013 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
29014 (grub_ofconsole_getwh): Split to ...
29015 (grub_ofconsole_getwh): ... this.
29016 (grub_ofconsole_dimensions): ...and this.
29017 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
29018
58655a16
RM
290192010-01-13 Robert Millan <rmh.grub@aybabtu.com>
29020
29021 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
29022
10891398
VS
290232010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29024
29025 * loader/i386/pc/multiboot2.c: Removed stalled file.
29026
0b8a223c
VS
290272010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29028
29029 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
29030 Reported by: Grégoire Sutre
29031
92ab12b0
RM
290322010-01-11 Robert Millan <rmh.grub@aybabtu.com>
29033
29034 * util/misc.c (canonicalize_file_name): New function.
29035 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
29036 instead of realpath().
29037
a788afb6
CW
290382010-01-11 Colin Watson <cjwatson@ubuntu.com>
29039
29040 * util/grub-install.in (usage): Clarify meaning of --root-directory,
29041 and make it clearer that it's optional. Based on confusion
29042 witnessed on IRC.
29043
ffa8e3d2
VS
290442010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29045
29046 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
29047 in premature implicit newline.
29048
e9060a9d
VS
290492010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29050
29051 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
29052 which resulted in garbled command line at the end of screen.
29053
f0d0c0b7
RM
290542010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29055
29056 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
29057 initialization with similar approach as with other Linux loaders.
29058
0e60bae7
RM
290592010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29060
29061 Fix i386-ieee1275 build.
29062
29063 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
29064 and grub_term_height() for video_{width,height} initialization.
29065
290662010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
29067
29068 Fix grub-emu build.
29069
29070 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
29071
cdb3f378
RM
290722010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
290732010-01-09 Robert Millan <rmh.grub@aybabtu.com>
29074
29075 Support for multiple terminals.
29076
29077 * Makefile.in (pkglib_DATA): terminal.lst.
29078 (terminal.lst): New target.
29079 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
29080 (GRUB_MOD_INIT(handler)): Likewise.
29081 (GRUB_MOD_FINI(handler)): Likewise.
29082 * commands/help.c (grub_cmd_help): Handle multiple terminals.
29083 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
29084 * commands/sleep.c (do_print): Use grub_term_restore_pos.
29085 (grub_cmd_sleep): Use grub_term_save_pos.
29086 * commands/terminal.c: New file.
29087 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
29088 commands/terminal.c and lib/charset.c.
29089 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
29090 (pkglib_MODULES): Add terminal.mod.
29091 (terminal_mod_SOURCES): New variable.
29092 (terminal_mod_CFLAGS): Likewise.
29093 (terminal_mod_LDFLAGS): Likewise.
29094 * genhandlerlist.sh: Don't handle terminals.
29095 * genmk.rb: Generate terminal-*.lst.
29096 * genterminallist.sh: New file.
29097 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
29098 (grub_is_valid_utf8): Likewise.
29099 (grub_utf8_to_ucs4_alloc): Likewise.
29100 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
29101 (grub_menu_register_viewer): Changed argument.
29102 (grub_menu_try_text): New proto.
29103 (grub_gfxmenu_try_hook): New declaration.
29104 * include/grub/normal.h (grub_normal_exit_level): New declaration.
29105 (grub_menu_init_page): Additional argument term.
29106 (grub_normal_init_page): Likewise.
29107 (grub_cmdline_get): Arguments simplified.
29108 (grub_utf8_to_ucs4_alloc): Removed.
29109 (grub_print_ucs4): Additional argument term.
29110 (grub_getstringwidth): Likewise.
29111 (grub_print_message_indented): Likewise.
29112 (grub_menu_text_register_instances): New proto.
29113 (grub_show_menu): Likewise.
29114 (read_terminal_list): Likewise.
29115 (grub_set_more): Likewise.
29116 * include/grub/parser.h: Include handler.h.
29117 * include/grub/reader.h: Rewritten.
29118 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
29119 (GRUB_TERM_WIDTH): Changed to function.
29120 (GRUB_TERM_HEIGHT): Likewise.
29121 (GRUB_TERM_BORDER_WIDTH): Likewise.
29122 (GRUB_TERM_BORDER_HEIGHT): Likewise.
29123 (GRUB_TERM_NUM_ENTRIES): Likewise.
29124 (GRUB_TERM_ENTRY_WIDTH): Likewise.
29125 (GRUB_TERM_CURSOR_X): Likewise.
29126 (grub_term_input_class): Likewise.
29127 (grub_term_output_class): Likewise.
29128 (grub_term_outputs_disabled): New declaration.
29129 (grub_term_inputs_disabled): Likewise.
29130 (grub_term_outputs): Likewise.
29131 (grub_term_inputs): Likewise.
29132 (grub_term_register_input): Rewritten.
29133 (grub_term_register_output): Likewise.
29134 (grub_term_unregister_input): Likewise.
29135 (grub_term_unregister_output): Likewise.
29136 (FOR_ACTIVE_TERM_INPUTS): New macro.
29137 (FOR_DISABLED_TERM_INPUTS): Likewise.
29138 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
29139 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
29140 * include/grub/terminfo.h: Add oterm argument to all protypes.
29141 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
29142 Use grub_rescue_run.
29143 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
29144 All users updated.
29145 * kern/reader.c: Removed. All users updated.
29146 * kern/rescue_reader.c (grub_rescue_init): Removed.
29147 (grub_rescue_reader): Likewise.
29148 (grub_register_rescue_reader): Likewise.
29149 (grub_rescue_run): New function based on kern/reader.c.
29150 * kern/term.c: Adapted for multiterm.
29151 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
29152 (grub_is_valid_utf8): Likewise.
29153 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
29154 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
29155 right terminal.
29156 * loader/i386/linux.c (grub_linux_boot): Likewise.
29157 * normal/auth.c (grub_username_get): New function.
29158 (grub_auth_check_authentication): Use grub_username_get.
29159 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
29160 * normal/color.c: Adapt for multiterm.
29161 * normal/main.c (read_config_file): Don't use grub_reader_loop.
29162 (grub_normal_init_page): Additional argument term.
29163 (read_lists): Call read_terminal_lists.
29164 (grub_enter_normal_mode): Call grub_cmdline_run.
29165 Handle grub_normal_exit_level.
29166 (grub_cmd_normal): Make reentrant.
29167 (grub_cmd_normal_exit): New function.
29168 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
29169 * normal/menu.c: Adapt for multiterm.
29170 * normal/menu_entry.c: Likewise.
29171 * normal/menu_text.c: Likewise.
29172 * normal/menu_viewer.c: Removed. All users updated.
29173 * normal/term.c: New file.
29174 * util/console.c: Change order of includes to workaround a bug in
29175 ncurses headers.
29176 * term/terminfo.c: New argument oterm on all exported functions.
29177 All users updated.
29178 * util/grub-editenv.c (grub_term_input_class): Removed.
29179 (grub_term_output_class): Likewise.
29180
1a064917
RM
291812010-01-09 Robert Millan <rmh.grub@aybabtu.com>
29182
29183 Make loader output a bit more user-friendly.
29184
29185 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
29186 is being loaded. Likewise for the Hurd.
29187
29188 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
29189 that kernel of FreeBSD ${version} is being loaded.
29190
29191 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
29192 grub_dprintf().
29193 (grub_cmd_initrd): Likewise.
29194 * util/grub.d/10_linux.in (linux_entry): Print message indicating
29195 that Linux ${version} is being loaded. Likewise for initrd.
29196
5ce0a83a 291972010-01-09 Carles Pina i Estany <carles@pina.cat>
29198
29199 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
29200
809bbfeb 292012010-01-08 Carles Pina i Estany <carles@pina.cat>
29202
29203 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
29204 (GRUB_MOD_INIT): Gettextizze.
29205 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
29206 (GRUB_MOD_INIT): Gettextizze.
29207 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
29208 (grub_cmd_linux): Capitalise Linux.
29209 (GRUB_MOD_INIT): Gettextizze.
29210 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
29211 (grub_cmd_linux): Capitalise Linux.
29212 (GRUB_MOD_INIT): Gettextizze.
29213 * loader/i386/linux.c: Include `<grub/i18n.h>'.
29214 (grub_cmd_linux): Capitalise Linux.
29215 (GRUB_MOD_INIT): Gettextizze.
29216 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
29217 (GRUB_MOD_INIT): Gettextizze.
29218 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
29219 (grub_cmd_linux): Capitalise Linux.
29220 (GRUB_MOD_INIT): Gettextizze.
29221 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
29222 (grub_cpu_xnu_init): Gettextizze.
29223 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
29224 (GRUB_MOD_INIT): Gettextizze.
29225 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
29226 (GRUB_MOD_INIT): Gettextizze.
29227 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
29228 (grub_linux_load64): Capitalise Linux.
29229 (GRUB_MOD_INIT): Gettextizze.
29230 * loader/xnu.c: Include `<grub/i18n.h>'.
29231 (GRUB_MOD_INIT): Gettextizze.
29232 * po/POTFILES: Add `loader/efi/appleloader.c',
29233 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
29234 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
29235 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
29236 `loader/i386/xnu.c', `loader/multiboot_loader.c',
29237 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
29238 and `loader/xnu.c'.
29239
b394b2ca
RM
292402010-01-08 Robert Millan <rmh.grub@aybabtu.com>
29241
29242 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
29243
292442010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
29245
29246 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
29247 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
29248 * util/mkisofs/mkisofs.c (main): Readjust --version output.
29249
bc8b32b3
RM
292502010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29251
29252 Reset Multiboot 2 support. New loader implements the draft in
29253 /branches/multiboot2 and shares as much code as possible with the
29254 production Multiboot 1 implementation.
29255
29256 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
29257 * loader/multiboot2.c: Likewise.
29258 * loader/i386/multiboot_helper.S: Likewise.
29259 * include/multiboot2.h: Replace with latest version from the draft
29260 in /branches/multiboot2.
29261
29262 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
29263 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
29264 and `loader/multiboot2.c'.
29265 (pkglib_MODULES): Add `multiboot2.mod'.
29266 (multiboot2_mod_SOURCES): New variable.
29267 (multiboot2_mod_LDFLAGS): Likewise.
29268 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
29269
29270 * conf/i386-pc.rmk: Likewise.
29271
29272 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
29273 (multiboot_mod_SOURCES): Remove variable.
29274 (multiboot_mod_LDFLAGS): Likewise.
29275 (multiboot_mod_CFLAGS): Likewise.
29276
29277 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
29278 `<multiboot2.h>' instead of `<multiboot.h>'.
29279 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
29280 (MULTIBOOT_HEADER_MAGIC): New macros.
29281
29282 * loader/multiboot_loader.c (module_version_status): Remove variable.
29283 (find_multi_boot2_header): Remove function.
29284 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
29285 logic. Always check for the Multiboot version we're compiling for.
29286 (grub_cmd_module_loader): Likewise.
29287 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
29288 command instead of `multiboot'.
29289
5d2c52b8
RM
292902010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29291
29292 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
29293 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
29294 all users.
29295
53108d92
RM
292962010-01-07 Robert Millan <rmh.grub@aybabtu.com>
292972010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
29298
29299 Fix breakage introduced with previous commit.
29300
29301 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
29302 commands.
29303 * normal/handler.c (read_handler_list): Revert part of previous commit
29304 affecting this file.
29305 * normal/main.c (read_lists): Move read_handler_list() call back to ...
29306 (grub_normal_execute): ... here.
29307
e2e936b2
RM
293082010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29309
29310 Merge prefix-redefinition-fix branch.
29311
29312 * normal/autofs.c (read_fs_list): Make function capable of being
29313 run multiple times, gracefuly replacing the previous data
29314 structures.
29315 * normal/dyncmd.c (read_command_list): Likewise.
29316 * normal/handler.c (read_handler_list): Likewise.
29317 * normal/main.c (read_lists): New function. Calls all the
29318 list reading functions.
29319 (grub_normal_execute): Use read_lists() instead of calling all
29320 list reading functions explicitly. Register read_lists() as a
29321 variable hook attached to ${prefix}.
29322
607a3701
VS
293232010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
29324
29325 Merge crypto branch.
29326
29327 * Makefile.in (pkglib_DATA): Add crypto.lst.
29328 (crypto.lst): New target.
29329 * commands/hashsum.c: New file.
29330 * commands/password.c (check_password): Use grub_crypto_memcmp.
29331 * commands/password_pbkdf2.c: New file.
29332 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
29333 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
29334 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
29335 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
29336 -I$(srcdir)/lib/libgcrypt_wrap.
29337 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
29338 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
29339 password_pbkdf2.mod.
29340 (crypto_mod_SOURCES): New variable.
29341 (crypto_mod_CFLAGS): Likewise.
29342 (crypto_mod_LDFLAGS): Likewise.
29343 (hashsum_mod_SOURCES): New variable.
29344 (hashsum_mod_CFLAGS): Likewise.
29345 (hashsum_mod_LDFLAGS): Likewise.
29346 (pbkdf2_mod_SOURCES): New variable.
29347 (pbkdf2_mod_CFLAGS): Likewise.
29348 (pbkdf2_mod_LDFLAGS): Likewise.
29349 (password_pbkdf2_mod_SOURCES): New variable.
29350 (password_pbkdf2_mod_CFLAGS): Likewise.
29351 (password_pbkdf2_mod_LDFLAGS): Likewise.
29352 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
29353 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
29354 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
29355 Include conf/gcry.rmk.
29356 * include/grub/auth.h: Rewritten.
29357 * include/grub/crypto.h: New file.
29358 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
29359 * include/grub/normal.h (read_crypto_list): New prototype.
29360 * lib/crypto.c: New file.
29361 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
29362 * lib/pbkdf2.c: Likewise.
29363 * normal/auth.c (grub_auth_strcmp): Removed.
29364 (grub_iswordseparator): Likewise.
29365 (grub_auth_strword): Likewise.
29366 (is_authenticated): Use grub_strword.
29367 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
29368 and grub_strword. Pass entered password to authentication callback.
29369 * normal/crypto.c: New file.
29370 * normal/main.c: Call read_crypto_list.
29371 * util/grub-mkpasswd-pbkdf2.c: New file.
29372 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
29373
42841caa
VS
293742010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
29375
29376 Fix descent and ascent calculation.
29377
29378 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
29379 (options): New option "asce".
29380 (usage): Likewise.
29381 (add_char): Ignore invalid glyphs for descent calculation.
29382 Calculate ascent from actual content.
29383 (print_glyphs): Use 'asce'.
29384 (write_font): Likewise. Allow ascent override.
29385 (main): Handle "asce" option.
29386
e7730de7 293872010-01-06 Carles Pina i Estany <carles@pina.cat>
29388
29389 * kern/err.c: Include `<grub/i18n.h>'.
29390 (grub_print_error): Add full stop. Gettextizze.
29391 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
29392 (grub_bsd_load_elf): Capitalise ELF.
29393 (grub_cmd_freebsd_loadenv): Add `s' in error string.
29394 (grub_cmd_freebsd_module): Likewise.
29395 (grub_cmd_freebsd_module_elf): Likewise.
29396 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
29397
40e3a41f 293982010-01-06 Carles Pina i Estany <carles@pina.cat>
29399
29400 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
29401 * commands/search_file.c (HELP_MESSAGE): New macro.
29402 * commands/search_label.c (HELP_MESSAGE): Likewise.
29403 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
29404 * po/POTFILES: Add `commands/search_file.c',
29405 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
29406 `commands/search.c'.
29407
83507e68
RM
294082010-01-05 Robert Millan <rmh.grub@aybabtu.com>
29409
29410 * config.rpath: Update from Gnulib.
29411
465c787b
YB
294122010-01-05 Yves Blusseau <blusseau@zetam.org>
29413
29414 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
29415
6581dd3a
YB
294162010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
29417
29418 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
29419
3bff18c5
CW
294202010-01-05 Colin Watson <cjwatson@ubuntu.com>
29421
29422 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
29423 arguments to fread so that we get a return value in bytes, rather
29424 than something that will normally be rounded down to 0.
29425 Adjust error handling to avoid producing garbage when size_t is not
29426 the same size as long long.
29427
a1368118
CW
294282010-01-05 Colin Watson <cjwatson@ubuntu.com>
29429
29430 * util/mkisofs/write.c (padblock_write): Check return value of
29431 fread.
29432
7c302978
RM
294332010-01-05 Robert Millan <rmh.grub@aybabtu.com>
29434
29435 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
29436 floppy images now.
29437
29438 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
29439
e33ace06
RM
294402010-01-04 Robert Millan <rmh.grub@aybabtu.com>
29441
29442 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
29443 instead of manual alignment.
29444 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
29445 verbose). Avoid attempts to read past end of the device
29446 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
29447 but GRUB_DISK_CACHE_SIZE may exceed that).
29448
4b856776
RM
294492010-01-04 Robert Millan <rmh.grub@aybabtu.com>
29450
29451 * commands/crc.c (grub_cmd_crc): Abort on read errors.
29452 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
29453 it to upper layer.
29454
52c2d97f
VS
294552010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
29456
29457 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
29458 New constant.
29459 (grub_efi_piwg_device_path): New structure
29460 (grub_efi_piwg_device_path_t): New type.
29461 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
29462 (devpath_1): Transform to a structure. All users updated.
29463 (devpath_2): Likewise.
29464 (devpath_3): Likewise.
29465 (devpath_4): Likewise.
29466 (devpath_5): Likewise.
29467
98ff6a54
VS
294682010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
29469
29470 * loader/efi/appleloader.c: Restored. Update all users.
29471
3a73dcb6
RM
294722010-01-03 Robert Millan <rmh.grub@aybabtu.com>
29473
29474 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
29475
29476 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
29477 (struct boot_blocklist): Move from here ...
29478 * include/grub/i386/pc/boot.h [ASM_FILE]
29479 (struct grub_boot_blocklist): ... to here. Update all users.
29480 (setup): Only initialize `start' member of `first_block'
29481 structure. Add assert() calls to verify the other members.
29482
29483 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
29484 (generate_image): Fix broken blocklist length initialization.
29485 Add assert() call to verify blocklist `segment' field.
29486
ab0eeb0c
RM
294872010-01-03 Robert Millan <rmh.grub@aybabtu.com>
29488
29489 * loader/efi/appleloader.c: Remove. Update all users.
29490
58bc8bd5
RM
294912010-01-03 Robert Millan <rmh.grub@aybabtu.com>
29492
29493 * boot/i386/pc/boot.S: Update copyright year.
29494 * boot/i386/pc/cdboot.S: Likewise.
29495 * boot/i386/pc/diskboot.S: Likewise.
29496 * boot/i386/pc/lnxboot.S: Likewise.
29497 * boot/i386/pc/pxeboot.S: Likewise.
29498 * bus/pci.c: Likewise.
29499 * commands/cmp.c: Likewise.
29500 * commands/help.c: Likewise.
29501 * commands/hexdump.c: Likewise.
29502 * commands/i386/pc/halt.c: Likewise.
29503 * commands/i386/pc/play.c: Likewise.
29504 * commands/i386/pc/vbeinfo.c: Likewise.
29505 * commands/ls.c: Likewise.
29506 * commands/test.c: Likewise.
29507 * disk/dmraid_nvidia.c: Likewise.
29508 * disk/i386/pc/biosdisk.c: Likewise.
29509 * disk/ieee1275/nand.c: Likewise.
29510 * disk/ieee1275/ofdisk.c: Likewise.
29511 * disk/lvm.c: Likewise.
29512 * disk/raid.c: Likewise.
29513 * disk/raid6_recover.c: Likewise.
29514 * disk/scsi.c: Likewise.
29515 * fs/affs.c: Likewise.
29516 * fs/cpio.c: Likewise.
29517 * fs/ext2.c: Likewise.
29518 * fs/hfs.c: Likewise.
29519 * fs/iso9660.c: Likewise.
29520 * fs/ntfs.c: Likewise.
29521 * fs/sfs.c: Likewise.
29522 * fs/udf.c: Likewise.
29523 * fs/ufs.c: Likewise.
29524 * fs/xfs.c: Likewise.
29525 * gencmdlist.sh: Likewise.
29526 * genmk.rb: Likewise.
29527 * include/grub/disk.h: Likewise.
29528 * include/grub/efi/api.h: Likewise.
29529 * include/grub/efi/efi.h: Likewise.
29530 * include/grub/efi/pe32.h: Likewise.
29531 * include/grub/elf.h: Likewise.
29532 * include/grub/fs.h: Likewise.
29533 * include/grub/i386/at_keyboard.h: Likewise.
29534 * include/grub/i386/pc/memory.h: Likewise.
29535 * include/grub/i386/pc/vbe.h: Likewise.
29536 * include/grub/i386/pci.h: Likewise.
29537 * include/grub/i386/tsc.h: Likewise.
29538 * include/grub/ieee1275/ieee1275.h: Likewise.
29539 * include/grub/ntfs.h: Likewise.
29540 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
29541 * include/grub/sparc64/libgcc.h: Likewise.
29542 * include/grub/symbol.h: Likewise.
29543 * include/grub/types.h: Likewise.
29544 * include/multiboot2.h: Likewise.
29545 * io/gzio.c: Likewise.
29546 * kern/device.c: Likewise.
29547 * kern/disk.c: Likewise.
29548 * kern/efi/efi.c: Likewise.
29549 * kern/efi/mm.c: Likewise.
29550 * kern/elf.c: Likewise.
29551 * kern/file.c: Likewise.
29552 * kern/i386/dl.c: Likewise.
29553 * kern/i386/pc/init.c: Likewise.
29554 * kern/i386/pc/startup.S: Likewise.
29555 * kern/ieee1275/ieee1275.c: Likewise.
29556 * kern/ieee1275/init.c: Likewise.
29557 * kern/main.c: Likewise.
29558 * kern/mm.c: Likewise.
29559 * kern/powerpc/dl.c: Likewise.
29560 * kern/sparc64/dl.c: Likewise.
29561 * kern/x86_64/dl.c: Likewise.
29562 * lib/hexdump.c: Likewise.
29563 * loader/efi/appleloader.c: Likewise.
29564 * loader/i386/ieee1275/linux.c: Likewise.
29565 * loader/i386/pc/chainloader.c: Likewise.
29566 * loader/i386/pc/linux.c: Likewise.
29567 * loader/i386/pc/multiboot2.c: Likewise.
29568 * loader/ieee1275/multiboot2.c: Likewise.
29569 * loader/multiboot2.c: Likewise.
29570 * loader/multiboot_loader.c: Likewise.
29571 * loader/powerpc/ieee1275/linux.c: Likewise.
29572 * normal/completion.c: Likewise.
29573 * normal/menu_entry.c: Likewise.
29574 * partmap/apple.c: Likewise.
29575 * util/grub.d/10_hurd.in: Likewise.
29576 * util/hostfs.c: Likewise.
29577 * video/readers/png.c: Likewise.
29578
e2d70b5c
CW
295792010-01-03 Colin Watson <cjwatson@ubuntu.com>
29580
29581 * include/grub/misc.h (GNUC_PREREQ): New macro.
29582 (ATTRIBUTE_ERROR): New macro.
29583 * include/grub/list.h (grub_bad_type_cast_real): Use
29584 ATTRIBUTE_ERROR.
29585
a173283f 295862010-01-03 Carles Pina i Estany <carles@pina.cat>
29587
29588 * normal/menu_text.c (print_message): Change messages.
29589
7fa7ff74 295902010-01-03 Carles Pina i Estany <carles@pina.cat>
29591
29592 * normal/menu_entry.c (store_completion): Gettextizze.
29593
136d24f6 295942010-01-03 Carles Pina i Estany <carles@pina.cat>
29595
29596 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
29597
f936862e 295982010-01-03 Carles Pina i Estany <carles@pina.cat>
29599
29600 * po/POTFILES: Sort correctly.
29601
29c44ad1 296022010-01-03 Carles Pina i Estany <carles@pina.cat>
29603
29604 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
29605 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
29606 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
29607 full stop.
29608 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
29609 summary. Gettextizze the strings.
29610 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
29611 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
29612 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
29613 full stop.
29614 (GRUB_MOD_INIT): Remove command name from summary.
29615 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
29616 summary.
29617 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
29618 * term/i386/pc/serial.c (options): Add full stops.
29619 (GRUB_MOD_INIT): Remove command name from the summary.
29620
77a79592 296212010-01-03 Carles Pina i Estany <carles@pina.cat>
29622
29623 * commands/acpi.c: Gettextizze help strings and/or options. Include
29624 `grub/i18n.h' if needed.
29625 * commands/blocklist.c: Likewise.
29626 * commands/boot.c: Likewise.
29627 * commands/cat.c: Likewise.
29628 * commands/cmp.c: Likewise.
29629 * commands/configfile.c: Likewise.
29630 * commands/crc.c: Likewise.
29631 * commands/date.c: Likewise.
29632 * commands/echo.c: Likewise.
29633 * commands/efi/fixvideo.c: Likewise.
29634 * commands/efi/loadbios.c: Likewise.
29635 * commands/gptsync.c: Likewise.
29636 * commands/halt.c: Likewise.
29637 * commands/handler.c: Likewise.
29638 * commands/hdparm.c: Likewise.
29639 * commands/hexdump.c: Likewise.
29640 * commands/i386/cpuid.c: Likewise.
29641 * commands/i386/pc/drivemap.c: Likewise.
29642 * commands/i386/pc/halt.c: Likewise.
29643 * commands/i386/pc/pxecmd.c: Likewise.
29644 * commands/i386/pc/vbeinfo.c: Likewise.
29645 * commands/i386/pc/vbetest.c: Likewise.
29646 * commands/ieee1275/suspend.c: Likewise.
29647 * commands/keystatus.c: Likewise.
29648 * commands/loadenv.c: Likewise.
29649 * commands/ls.c: Likewise.
29650 * commands/lsmmap.c: Likewise.
29651 * commands/lspci.c: Likewise.
29652 * commands/memrw.c: Likewise.
29653 * commands/minicmd.c: Likewise.
29654 * commands/parttool.c: Likewise.
29655 * commands/password.c: Likewise.
29656 * commands/probe.c: Likewise.
29657 * commands/read.c: Likewise.
29658 * commands/reboot.c: Likewise.
29659 * commands/search.c: Likewise.
29660 * commands/sleep.c: Likewise.
29661 * commands/test.c: Likewise.
29662 * commands/true.c: Likewise.
29663 * commands/usbtest.c: Likewise.
29664 * commands/videotest.c: Likewise.
29665 * commands/xnu_uuid.c: Likewise.
29666 * disk/loopback.c: Likewise.
29667 * hello/hello.c: Likewise.
29668 * loader/i386/bsd.c: Likewise.
29669 * term/i386/pc/serial.c: Likewise.
29670 * po/POTFILES: Add new files.
29671
da8d5c53
CW
296722010-01-02 Colin Watson <cjwatson@ubuntu.com>
29673
29674 * term/i386/pc/at_keyboard.c
29675 (keyboard_controller_wait_untill_ready): Rename to ...
29676 (keyboard_controller_wait_until_ready): ... this. Update all users.
29677
33937904 296782010-01-01 Carles Pina i Estany <carles@pina.cat>
29679
29680 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
29681 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
29682 string using string width.
29683 * normal/menu_text.c (grub_print_message_indented): Use
29684 grub_print_spaces and not print_spaces.
29685 (print_timeout): Likewise.
29686 (print_spaces): Move to...
29687 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
29688
3fd3b8d8
RM
296892010-01-01 Robert Millan <rmh.grub@aybabtu.com>
29690
29691 Import from Gnulib.
29692
29693 * gnulib/getdelim.c: New file.
29694 * gnulib/getline.c: Likewise.
29695
33433555
VS
296962009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
29697
29698 * include/grub/list.h (grub_assert_fail): Removed.
29699 (grub_bad_type_cast_real): New function.
29700 (grub_bad_type_cast): New macro.
29701 (GRUB_AS_LIST): Use grub_bad_type_cast.
29702 (GRUB_AS_LIST_P): Likewise.
e44721e8 29703 (GRUB_AS_NAMED_LIST): Likewise.
33433555 29704 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 29705 (GRUB_AS_PRIO_LIST): Likewise.
33433555 29706 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 29707 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 29708
f5a51306
VS
297092009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
29710
29711 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
29712 Fix syntax error.
29713
90d1e879
RM
297142009-12-29 Robert Millan <rmh.grub@aybabtu.com>
29715
29716 * configure.ac: Check for TARGET_CFLAGS initialization before we
29717 initialize it ourselves (sigh).
29718 Move a few modifications to TARGET_CFLAGS to be unconditional
29719 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
29720 eh_frame)
29721
29722 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
29723 * term/i386/pc/at_keyboard.c
29724 (keyboard_controller_wait_untill_ready): Likewise.
29725 (keyboard_controller_led): Rename `led_status' paramter to avoid
29726 name conflict.
29727
465b5a81 297282009-12-28 Carles Pina i Estany <carles@pina.cat>
29729
29730 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
29731 quotes.
29732
c181849b
VS
297332009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
29734
29735 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
29736
9c8739a4
VS
297372009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
29738
29739 * normal/menu_text.c (grub_print_message_indented): Prevent
29740 past-the-end-of-array dereference.
29741
3e74249c
VS
297422009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
29743
29744 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
29745 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
29746
64fd18ed 297472009-12-27 Carles Pina i Estany <carles@pina.cat>
29748
29749 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
29750 * normal/main.c (grub_normal_read_line): Remove a space from the
29751 default prompt.
29752
714af9b9 297532009-12-27 Carles Pina i Estany <carles@pina.cat>
29754
29755 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
29756 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29757 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
29758 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
29759 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29760 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29761 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
29762
82f3e412 297632009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 29764
29765 * video/readers/jpeg.c (cmd): Declare.
29766 (grub_cmd_jpegtest): Use `grub_command_t' type.
29767 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
29768 Assign to `cmd'.
29769 (GRUB_MOD_FINI): Use `cmd' to unregister.
29770 * video/readers/png.c (cmd): Declare.
29771 (grub_cmd_pngtest): Use `grub_command_t' type.
29772 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
29773 Assign to `cmd'.
29774 (GRUB_MOD_FINI): Use `cmd' to unregister.
29775 * video/readers/tga.c (cmd): Declare.
29776 (grub_cmd_tgatest): Use `grub_command_t' type.
29777 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
29778 Assign to `cmd'.
29779 (GRUB_MOD_FINI): Use `cmd' to unregister.
29780
82f3e412 297812009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 29782
29783 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
29784 stops.
29785 * kern/corecmd.c (grub_register_core_commands): Likewise.
29786 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
29787 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
29788 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
29789 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29790 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
29791 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
29792 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
29793 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
29794 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29795 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29796 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
29797 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
29798 * normal/handler.c (insert_handler): Likewise.
29799 * normal/main.c (GRUB_MOD_INIT): Likewise.
29800 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
29801
fdcdbb66 298022009-12-26 Carles Pina i Estany <carles@pina.cat>
29803
29804 * commands/help.c (grub_cmd_help): Print the command name before the
29805 summary.
29806 (GRUB_MOD_INIT): Remove command name from the summary.
29807 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 29808 string as summary.
fdcdbb66 29809 * lib/arg.c (find_long): Print the command name before the summary.
29810 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
29811 summary.
29812 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
29813 * commands/cat.c (GRUB_MOD_INIT): Likewise.
29814 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
29815 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
29816 * commands/crc.c (GRUB_MOD_INIT): Likewise.
29817 * commands/date.c (GRUB_MOD_INIT): Likewise.
29818 * commands/echo.c (GRUB_MOD_INIT): Likewise.
29819 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
29820 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
29821 * commands/handler.c (GRUB_MOD_INIT): Likewise.
29822 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
29823 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
29824 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
29825 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
29826 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
29827 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
29828 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
29829 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
29830 * commands/ls.c (GRUB_MOD_INIT): Likewise.
29831 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
29832 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
29833 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
29834 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
29835 * commands/password.c (GRUB_MOD_INIT): Likewise.
29836 * commands/probe.c (GRUB_MOD_INIT): Likewise.
29837 * commands/read.c (GRUB_MOD_INIT): Likewise.
29838 * commands/search.c (GRUB_MOD_INIT): Likewise.
29839 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
29840 * commands/test.c (GRUB_MOD_INIT): Likewise.
29841 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
29842 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
29843 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
29844 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
29845 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
29846 * lib/arg.c (GRUB_MOD_INIT): Likewise.
29847 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
29848 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
29849 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
29850 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
29851 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
29852 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
29853 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
29854 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
29855
9c288be2
VS
298562009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
29857
29858 Use search command for preliminar UUID search.
29859
29860 * commands/search.c: Split into ...
29861 * commands/search_wrap.c: ...this
29862 * commands/search.c: ...and this.
29863 * commands/search_file.c: New file.
29864 * commands/search_label.c: New file.
29865 * commands/search_uuid.c: New file.
29866 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
29867 Add commands/search_wrap.c, commands/search_file.c,
29868 commands/search_label.c and commands/search_uuid.c.
29869 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
29870 (search_mod_SOURCES): Set to commands/search_wrap.c.
29871 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
29872 search_label.mod.
29873 (search_fs_file_mod_SOURCES): New variable.
29874 (search_fs_file_mod_CFLAGS): Likewise.
29875 (search_fs_file_mod_LDFLAGS): Likewise.
29876 (search_label_mod_SOURCES): Likewise.
29877 (search_label_mod_CFLAGS): Likewise.
29878 (search_label_mod_LDFLAGS): Likewise.
29879 (search_fs_uuid_mod_SOURCES): New variable.
29880 (search_fs_uuid_mod_CFLAGS): Likewise.
29881 (search_fs_uuid_mod_LDFLAGS): Likewise.
29882 (fs_file_mod_SOURCES): Removed.
29883 (fs_file_mod_CFLAGS): Likewise.
29884 (fs_file_mod_LDFLAGS): Likewise.
29885 (fs_uuid_mod_SOURCES): Removed.
29886 (fs_uuid_mod_CFLAGS): Likewise.
29887 (fs_uuid_mod_LDFLAGS): Likewise.
29888 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
29889 Set to util/grub-install.in.
29890 * disk/fs_file.c: Removed.
29891 * disk/fs_uuid.c: Likewise.
29892 * include/grub/search.h: New file.
29893 * util/grub-install.in: Handle sparc64.
29894 Create and use load.cfg.
29895 * util/sparc64/ieee1275/grub-install.in: Removed.
29896
db943399
VS
298972009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
29898
29899 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
29900 Ignore return status if CF is cleared.
29901 (grub_biosdisk_get_diskinfo_standard): Likewise.
29902
3fdae612
RM
299032009-12-25 Robert Millan <rmh.grub@aybabtu.com>
29904
29905 * term/i386/pc/at_keyboard.c
29906 (keyboard_controller_wait_untill_ready): New function.
29907 (grub_keyboard_controller_write, grub_keyboard_controller_read)
29908 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
29909 for keyboard polling, rather than duplicate the same loop. This
29910 saves a few bytes in code size.
29911
7ebaa2b4
VS
299122009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
29913
29914 Support for (pxe[:server[:gateway]]) syntax and
29915 use environment variable for PXE.
29916
29917 * commands/i386/pc/pxecmd.c (options): Removed.
29918 (print_ip): Removed.
29919 (grub_cmd_pxe): Removed
29920 (grub_cmd_pxe_unload): New function.
29921 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
29922 (grub_pxe_your_ip): Made static.
29923 (grub_pxe_default_server_ip): Likewise.
29924 (grub_pxe_default_gateway_ip): Likewise.
29925 (grub_pxe_blksize): Likewise.
29926 (parse_ip): New function.
29927 (grub_pxe_open): Support server and gateway specification.
29928 (grub_pxe_close): Free disk->data.
29929 (grub_pxefs_open): Use disk->data.
29930 (grub_pxefs_read): Likewise.
29931 (grub_env_write_readonly): New function.
29932 (set_mac_env): Likewise.
29933 (set_env_limn_ro): Likewise.
29934 (parse_dhcp_vendor): Likewise.
29935 (grub_pxe_detect): Set the environment variables.
29936 (set_ip_env): New function.
29937 (write_ip_env): Likewise.
29938 (grub_env_write_pxe_default_server): Likewise.
29939 (grub_env_write_pxe_default_gateway): Likewise.
29940 (grub_env_write_pxe_blocksize): Likewise.
29941 (GRUB_MOD_INIT(pxe)): Set environment variables.
29942 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
29943 (grub_pxe_mac_addr_t): ... this. All users updated.
29944 (grub_pxe_your_ip): Removed.
29945 (grub_pxe_server_ip): Likewise.
29946 (grub_pxe_gateway_ip): Likewise.
29947 (grub_pxe_blksize): Likewise.
29948
ec5f98ab 299492009-12-25 Carles Pina i Estany <carles@pina.cat>
29950
29951 * commands/help.c: Include `<grub/i18n.h>'.
29952 (grub_cmd_help): Gettextizze.
29953 (GRUB_MOD_INIT): Likewise.
29954 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
29955 (GRUB_MOD_INIT): Gettextizze.
29956 * commands/search.c: Include `<grub/i18n.h>'.
29957 (options): Gettextizze.
29958 (GRUB_MOD_INIT): Gettextizze.
29959 * lib/arg.c: Include `<grub/i18n.h>'.
29960 (help_options): Gettextizze.
29961 (find_long): Likewise.
29962 (grub_arg_show_help): Likewise.
29963 * normal/dyncmd.c: Include `<grub/i18n.h>'.
29964 (read_command_list): Gettextizze.
29965 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 29966 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 29967
22815526
RM
299682009-12-25 Robert Millan <rmh.grub@aybabtu.com>
29969
29970 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
29971 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
29972 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
29973 (led_status): New variable.
29974 (keyboard_controller_led): New function.
29975 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
29976 update led status for caps lock, num lock and scroll lock.
29977
0ad46fd7
FZ
299782009-12-25 Felix Zielcke <fzielcke@z-51.de>
29979
29980 * util/hostdisk.c (open_device): Fix a comment.
29981
d0e158c2
RM
299822009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29983
29984 * util/grub-install.in (host_os): New variable.
29985 * util/i386/efi/grub-install.in (host_os): Likewise.
29986
401c0ad6
RM
299872009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29988
29989 * util/mkisofs/write.c (padblock_write): Abort when given an
29990 excedingly large embed image, instead of silently truncating it.
29991
d14d3370
RM
299922009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29993
29994 * include/multiboot.h: Indentation fixes.
29995
eeed10b4
RM
299962009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29997
29998 * include/multiboot.h (struct multiboot_aout_symbol_table)
29999 (struct multiboot_elf_section_header_table): New structure
30000 declarations (stolen from GRUB Legacy).
30001 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
30002 table information.
30003
30004 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
30005 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
30006 type aliases.
30007
681c70ab
RM
300082009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30009
30010 * include/multiboot.h: Make comments src2texi-friendly.
30011
e4d47d8d
RM
300122009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30013
30014 For consistency with [multiboot]/docs/boot.S.
30015
30016 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
30017 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
30018 (MULTIBOOT_MAGIC2): Rename from this ...
30019 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
30020
a0b70bda
RM
300212009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30022
30023 * include/multiboot.h: Remove `<grub/types.h>'.
30024 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
30025 types. Update all users.
30026
61ba42be 300272009-12-25 Carles Pina i Estany <carles@pina.cat>
30028
30029 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
30030 `couldn't' and `can not' by `cannot'.
30031 * commands/i386/pc/drivemap.c: Likewise.
30032 * disk/ata.c: Likewise.
30033 * disk/ieee1275/nand.c: Likewise.
30034 * fs/affs.c: Likewise.
30035 * fs/fat.c: Likewise.
30036 * fs/hfs.c: Likewise.
30037 * fs/hfsplus.c: Likewise.
30038 * fs/iso9660.c: Likewise.
30039 * fs/jfs.c: Likewise.
30040 * fs/minix.c: Likewise.
30041 * fs/reiserfs.c: Likewise.
30042 * fs/sfs.c: Likewise.
30043 * fs/udf.c: Likewise.
30044 * fs/ufs.c: Likewise.
30045 * fs/xfs.c: Likewise.
30046 * loader/powerpc/ieee1275/linux.c: Likewise.
30047 * loader/sparc64/ieee1275/linux.c: Likewise.
30048 * util/grub-probe.c: Likewise.
30049 * util/misc.c: Likewise.
30050
7fd0baee 300512009-12-24 Carles Pina i Estany <carles@pina.cat>
30052
30053 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
30054 grub_errno calls.
30055 * commands/acpi.c: Likewise.
30056 * commands/blocklist.c: Likewise.
30057 * commands/efi/loadbios.c: Likewise.
30058 * commands/i386/pc/drivemap.c: Likewise.
30059 * commands/loadenv.c: Likewise.
30060 * commands/memrw.c: Likewise.
30061 * commands/password.c: Likewise.
30062 * commands/videotest.c: Likewise.
30063 * disk/ata.c: Likewise.
30064 * disk/ata_pthru.c: Likewise.
30065 * disk/dmraid_nvidia.c: Likewise.
30066 * disk/ieee1275/nand.c: Likewise.
30067 * disk/ieee1275/ofdisk.c: Likewise.
30068 * disk/loopback.c: Likewise.
30069 * disk/lvm.c: Likewise.
30070 * disk/mdraid_linux.c: Likewise.
30071 * disk/raid.c: Likewise.
30072 * disk/raid6_recover.c: Likewise.
30073 * disk/scsi.c: Likewise.
30074 * efiemu/main.c: Likewise.
30075 * efiemu/mm.c: Likewise.
30076 * efiemu/pnvram.c: Likewise.
30077 * efiemu/symbols.c: Likewise.
30078 * font/font.c: Likewise.
30079 * fs/cpio.c: Likewise.
30080 * fs/hfsplus.c: Likewise.
30081 * fs/iso9660.c: Likewise.
30082 * fs/jfs.c: Likewise.
30083 * fs/minix.c: Likewise.
30084 * fs/ntfs.c: Likewise.
30085 * fs/ntfscomp.c: Likewise.
30086 * fs/reiserfs.c: Likewise.
30087 * fs/ufs.c: Likewise.
30088 * fs/xfs.c: Likewise.
30089 * gettext/gettext.c: Likewise.
30090 * include/grub/auth.h: Likewise.
30091 * kern/elf.c: Likewise.
30092 * kern/file.c: Likewise.
30093 * kern/ieee1275/init.c: Likewise.
30094 * kern/ieee1275/mmap.c: Likewise.
30095 * kern/ieee1275/openfw.c: Likewise.
30096 * kern/powerpc/dl.c: Likewise.
30097 * kern/sparc64/dl.c: Likewise.
30098 * lib/arg.c: Likewise.
30099 * loader/i386/bsd.c: Likewise.
30100 * loader/i386/bsdXX.c: Likewise.
30101 * loader/i386/efi/linux.c: Likewise.
30102 * loader/i386/efi/xnu.c: Likewise.
30103 * loader/i386/ieee1275/linux.c: Likewise.
30104 * loader/i386/linux.c: Likewise.
30105 * loader/i386/multiboot.c: Likewise.
30106 * loader/i386/pc/linux.c: Likewise.
30107 * loader/i386/pc/multiboot2.c: Likewise.
30108 * loader/i386/xnu.c: Likewise.
30109 * loader/ieee1275/multiboot2.c: Likewise.
30110 * loader/macho.c: Likewise.
30111 * loader/machoXX.c: Likewise.
30112 * loader/multiboot2.c: Likewise.
30113 * loader/multiboot_loader.c: Likewise.
30114 * loader/powerpc/ieee1275/linux.c: Likewise.
30115 * loader/sparc64/ieee1275/linux.c: Likewise.
30116 * loader/xnu.c: Likewise.
30117 * loader/xnu_resume.c: Likewise.
30118 * mmap/i386/pc/mmap.c: Likewise.
30119 * normal/menu_viewer.c: Likewise.
30120 * partmap/acorn.c: Likewise.
30121 * partmap/amiga.c: Likewise.
30122 * partmap/apple.c: Likewise.
30123 * script/lexer.c: Likewise.
30124 * term/gfxterm.c: Likewise.
30125 * term/i386/pc/serial.c: Likewise.
30126 * term/i386/pc/vga.c: Likewise.
30127 * term/ieee1275/ofconsole.c: Likewise.
30128 * term/terminfo.c: Likewise.
30129 * video/bitmap.c: Likewise.
30130 * video/efi_gop.c: Likewise.
30131 * video/efi_uga.c: Likewise.
30132 * video/fb/video_fb.c: Likewise.
30133 * video/i386/pc/vbe.c: Likewise.
30134 * video/readers/tga.c: Likewise.
30135 * video/video.c: Likewise.
30136
0ad46fd7 301372009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
30138
30139 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
30140 * commands/lspci.c: Likewise.
30141 * commands/probe.c: Likewise.
30142 * commands/xnu_uuid.c: Likewise.
30143 * conf/i386-coreboot.rmk: Likewise.
30144 * conf/i386-efi.rmk: Likewise.
30145 * conf/i386-ieee1275.rmk: Likewise.
30146 * conf/i386-pc.rmk: Likewise.
30147 * conf/powerpc-ieee1275.rmk: Likewise.
30148 * conf/sparc64-ieee1275.rmk: Likewise.
30149 * conf/x86_64-efi.rmk: Likewise.
30150 * fs/i386/pc/pxe.c: Likewise.
30151 * gettext/gettext.c: Likewise.
30152 * include/grub/efi/graphics_output.h: Likewise.
30153 * include/grub/i386/pc/memory.h: Likewise.
30154 * kern/env.c: Likewise.
30155 * kern/i386/qemu/startup.S: Likewise.
30156 * lib/i386/pc/biosnum.c: Likewise.
30157 * lib/i386/relocator.c: Likewise.
30158 * lib/i386/relocator_asm.S: Likewise.
30159 * lib/relocator.c: Likewise.
30160 * loader/i386/bsd.c: Likewise.
30161 * loader/i386/multiboot.c: Likewise.
30162 * loader/i386/pc/chainloader.c: Likewise.
30163 * loader/i386/xnu.c: Likewise.
30164 * loader/xnu.c: Likewise.
30165 * normal/main.c: Likewise.
30166 * normal/menu_text.c: Likewise.
30167 * util/getroot.c: Likewise.
30168 * util/grub-mkconfig_lib.in: Likewise.
30169 * util/grub.d/00_header.in: Likewise.
30170 * util/i386/pc/grub-mkimage.c: Likewise.
30171 * util/mkisofs/eltorito.c: Likewise.
30172 * util/mkisofs/exclude.h: Likewise.
30173 * util/mkisofs/hash.c: Likewise.
30174 * util/mkisofs/iso9660.h: Likewise.
30175 * util/mkisofs/joliet.c: Likewise.
30176 * util/mkisofs/mkisofs.c: Likewise.
30177 * util/mkisofs/mkisofs.h: Likewise.
30178 * util/mkisofs/multi.c: Likewise.
30179 * util/mkisofs/name.c: Likewise.
30180 * util/mkisofs/rock.c: Likewise.
30181 * util/mkisofs/tree.c: Likewise.
30182 * util/mkisofs/write.c: Likewise.
30183 * video/efi_gop.c: Likewise.
30184
009ec743
VS
301852009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
30186
30187 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
30188 size counting.
30189
0ad46fd7 301902009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
30191
30192 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
30193 * genmk.rb (class SCRIPT): Modify the target file instead of source.
30194
d3d30ea0
VS
301952009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30196
30197 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
30198 (GRUB_MOD_INIT(memrw)): Update help line.
30199
a34f5c70
VS
302002009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30201
30202 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
30203 Use grub_extcmd_t. All users updated.
30204 (options): New variable.
30205 (grub_cmd_read): Restructure for readability. Support "-v" option.
30206 (grub_cmd_write): Restructure for readability.
30207
0ad46fd7 302082009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
30209
30210 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
30211
0ad46fd7 302122009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
30213
30214 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
30215 with the actual contents of the correspondending make variable.
30216 * util/grub-mkrescue.in (pkglib_DATA): New variable.
30217 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
30218 specifying `*.lst' and `efiemu??.o'
30219
0ad46fd7 302202009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
30221
30222 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
30223 after function name.
30224 Noticed by Rene Engelhard <rene@debian.org>.
30225
dc77a799
VS
302262009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30227
30228 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
30229 (options): New variable.
30230 (iospace): Likewise.
30231 (grub_lspci_iter): List IO spaces if "-i" was given.
30232 (grub_cmd_lspci): Parse options.
30233 (GRUB_MOD_INIT(lspci)): Use extcmd.
30234 (GRUB_MOD_FINI(lspci)): Likewise.
30235
0ad46fd7 302362009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
30237
30238 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
30239 `function' keyword.
30240 Patch by Tony Mancill <tmancill@debian.org>.
30241
b5d5993b
VS
302422009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30243
30244 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
30245 (grub_uhci_portstatus): Likewise.
30246 (grub_uhci_portstatus): Add necessary delay.
11d18281 30247 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 30248
941903f2 302492009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 30250
941903f2 30251 * commands/acpi.c (options): Fix capitalizations and/or full stops.
30252 (GRUB_MOD_INIT): Likewise.
30253 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 30254 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
30255 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 30256 * commands/efi/loadbios.c (enable_rom_area): Likewise.
30257 (enable_rom_area): Likewise.
30258 (GRUB_MOD_INIT): Likewise.
30259 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
30260 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
30261 * commands/handler.c (GRUB_MOD_INIT): Likewise.
30262 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
30263 * commands/hexdump.c (options): Likewise.
30264 * commands/i386/cpuid.c (options): Likewise.
30265 (GRUB_MOD_INIT): Likewise.
30266 * commands/i386/pc/drivemap.c (options): Likewise.
30267 (GRUB_MOD_INIT): Likewise.
30268 * commands/i386/pc/halt (options): Likewise.
30269 (GRUB_MOD_INIT): Likewise.
30270 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
30271 * commands/i386/pc/pxecmd.c (options): Likewise.
30272 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
30273 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
30274 * commands/keystatus.c (options): Likewise.
30275 (GRUB_MOD_INIT): Likewise.
30276 * commands/loadenv.c (options): Likewise.
30277 * commands/ls.c (options): Likewise.
30278 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
30279 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
30280 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
30281 * commands/parttool.c (helpmsg): Likewise.
30282 * commands/probe.c (options): Likewise.
30283 * commands/read.c (GRUB_MOD_INIT): Likewise.
30284 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
30285 * commands/search.c (options): Likewise.
30286 * commands/sleep.c (options): Likewise.
30287 * commands/test.c (GRUB_MOD_INIT): Likewise.
30288 * commands/true.c (GRUB_MOD_INIT): Likewise.
30289 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
30290 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
30291 * lib/arg.c (help_options): Likewise.
e9bbb4e7 30292 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
30293 `$(XGETTEXT)'.
98a50553 30294 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 30295
0ad46fd7 302962009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 30297
ef3c2c3a 30298 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
30299 instead of specifying them explicit.
30300
7922f68b
RM
303012009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30302
30303 * NEWS: Add grub-probe support for GNU/Hurd.
30304
537ce47f
RM
303052009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30306
30307 * NEWS: gettext was added after 1.97.
30308
9b214e3a
RM
303092009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30310
30311 * util/mkisofs/msdos_partition.h: New file (based on
30312 include/grub/msdos_partition.h).
30313 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
30314 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
30315 (ld_options, main): Recognize --protective-msdos-label.
30316 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
30317 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
30318 (padblock_write): If `use_protective_msdos_label' is set, patch a
30319 protective DOS-style label in the output image.
30320
30321 * util/grub-mkrescue.in: Use --protective-msdos-label.
30322
e9309813
RM
303232009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30324
30325 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
30326 boot.
30327
0ae56929
RM
303282009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30329
30330 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
30331 variables.
30332 (ld_options, main): Recognize `--embedded-boot'.
30333 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
30334 declarations.
30335 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
30336 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
30337 (padblock_write): Likewise. Rewrite to support embedded boot image.
30338
30339 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
30340 for BIOS-based disk boot instead of only ElTorito.
30341
b15937b1
RM
303422009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30343
30344 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
30345 build (not needed for bootstrap).
30346
52cc3ce0
RM
303472009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30348
30349 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
30350 from i386-pc build (not needed for bootstrap).
30351 Rewrite a pair of strings.
30352
36f5ff04
RM
303532009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30354
30355 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
30356
973c6c85 303572009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
30358
30359 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
30360
05d21547
AB
303612009-12-21 Andreas Born <futur.andy@googlemail.com>
30362
30363 * kern/env.c (grub_env_context_open): Mark exported variable for
30364 reexport.
30365
0175d51f
AB
303662009-12-21 Andreas Born <futur.andy@googlemail.com>
30367
30368 * kern/env.c (grub_env_export): Create nonexistent variables before
30369 exporting.
30370
7f39d92f 303712009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 30372
7f39d92f 30373 * include/grub/auth.h: Include `<grub/i18n.h>'.
30374 (GRUB_GET_PASSWORD): Gettextizze string.
30375 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
30376 menu_text.c.
30377 (grub_utf8_to_ucs4_alloc): Fix indentation.
30378 (grub_print_ucs4): Likewise.
30379 (grub_getstringwidth): Likewise.
30380 (print_message_indented): New declaration.
30381 * normal/auth.c: Include `<grub/i18n.h>'.
30382 (grub_auth_check_authentication): Gettexttize string.
30383 * normal/cmdline.c: Include `<grub/i18n.h>'.
30384 (grub_cmdline_get): Gettextizze.
30385 * normal/color.c: Include `<grub/i18n.h>'.
30386 (grub_parse_color_name_pair): Gettexttize strings.
30387 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
30388 string (use `print_message_indented').
30389 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
30390 `include/grub/normal.h'.
30391 (print_message_indented): Renamed to ...
30392 (grub_print_message_indented): ... this. Remove `static' qualifer (now
30393 used in normal/main.c).
30394 (print_message): Use `grub_print_message_indented' instead of
30395 `print_message_indented'.
30396 (print_timeout): Likewise.
30397 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
30398 (grub_normal_print_device_info): Gettexttize strings.
30399 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
30400
3041d898
VS
304012009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
30402
30403 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
30404 of arguments. Return number of tokens and not arguments. All users
30405 updated.
30406
de15bf8e
VS
304072009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
30408
30409 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
30410 non-MSDOS paritions.
30411
e0a6ca52
VS
304122009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
30413
30414 * include/grub/types.h (UNUSED): Removed since it conflicts with
30415 NetBSD headers. All users changed to direct __attribute__ ((unused)).
30416 Reported by Grégoire Sutre.
30417
b99518d1 304182009-12-19 Carles Pina i Estany <carles@pina.cat>
30419
30420 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
30421 (grub_print_ucs4_alloc): Likewise.
30422 (grub_getstringwidth): Likewise.
30423 * normal/main.c (grub_normal_init_page): Gettextize version string.
30424 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
30425 (getstringwidth): Renamed to ...
30426 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
30427 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
30428 (grub_print_ucs4): Remove `static' qualifer (now used in
30429 normal/main.c).
30430 * po/POTFILES: Add normal/main.c.
30431
bfd5e52b 304322009-12-19 Carles Pina i Estany <carles@pina.cat>
30433
30434 * normal/menu_text.c (STANDARD_MARGIN): New macro.
30435 (print_message_indented): Add `margin_left' and `margin_right'
30436 parameters.
30437 (print_message): Update `print_message_indented' calls. Adds '\n' to the
30438 strings.
30439 (print_timeout): Use `print_message_indented' to print the message.
30440 Deletes `second_stage' parameter.
30441 (run_menu): Update `print_timeout' calls.
30442
5a1ad2b9
VS
304432009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
30444
30445 Fix console palette on OpenFirmware.
30446
30447 * term/ieee1275/ofconsole.c (MAX): Removed.
30448 (colors): Redone based on VGA palette.
30449 (grub_ofconsole_setcolor): Discard brightness bit since only 8
30450 colors are supported.
30451 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
30452
b045f00a
VS
304532009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
30454
30455 Fix potential EfiEmu double prepare.
30456
30457 * efiemu/main.c (prepared): New variable
30458 (grub_efiemu_unload): Set prepare to '0'.
30459 (grub_efiemu_prepare): Return if already prepared. Set prepared.
30460
30461 set_virtual_address_map support.
30462
30463 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
30464 prototype.
30465 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
30466 prototype.
30467 (grub_efiemu_crc32): Likewise.
30468 (grub_efiemu_crc64): Likewise.
30469 (grub_efiemu_set_virtual_address_map): Likewise.
30470 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
30471 New definition.
30472 (grub_autoefi_set_virtual_address_map): Likewise.
30473 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
30474 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
30475 Restructure flow to accomodate it.
30476 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
30477 (grub_efiemu_crc): Recompute CRC32.
30478 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
30479 (efiemu_ptv_relocated): ... this. Made global. All users updated.
30480 * efiemu/symbols.c (relocated_handle): New variable.
30481 (grub_efiemu_free_syms): Free relocated_handle.
30482 (grub_efiemu_alloc_syms): Allocate relocated_handle.
30483 (grub_efiemu_write_sym_markers): New function.
30484 (grub_efiemu_set_virtual_address_map): Likewise.
30485
30486 Newer XNU parameters.
30487
30488 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
30489 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
30490 (grub_xnu_fill_devicetree): New prototype.
30491 (grub_xnu_heap_real_start): New variable.
30492 * loader/xnu.c (get_name_ptr): New function.
30493 (grub_xnu_load_driver): Fill namelen and name.
30494
30495 64-bit xnu support.
30496
30497 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
30498 and 'loader/macho64.c'.
30499 * conf/i386-pc.rmk: Likewise.
30500 * conf/x86_64-efi.rmk: Likewise.
30501 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
30502 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
30503 * include/grub/macho.h (grub_macho_segment64): New structure.
30504 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
30505 (grub_macho_size32): ... to this.
30506 (grub_macho32_get_entry_point): Renamed from ...
30507 (grub_macho_get_entry_point32): ... to this.
30508 (grub_macho_contains_macho64): New prototype.
30509 (grub_macho_size64): Likewise.
30510 (grub_macho_get_entry_point64): Likewise.
30511 (grub_macho32_load): Renamed from ...
30512 (grub_macho_load32): ... to this.
30513 (grub_macho32_filesize): Renamed from ...
30514 (grub_macho_filesize32): ... to this.
30515 (grub_macho32_readfile): Renamed from ...
30516 (grub_macho_readfile32): ... to this.
30517 (grub_macho_filesize64): New prototype.
30518 (grub_macho_readfile64): Likewise.
30519 (grub_macho_parse32): Likewise.
30520 (grub_macho_parse64): Likewise.
30521 * loader/macho.c: Split into ...
30522 * loader/machoXX.c: ... and this. Replace 32 with XX.
30523 * loader/macho32.c: New file.
30524 * loader/macho64.c: Likewise.
30525 * loader/xnu.c (grub_xnu_is_64bit): New variable.
30526 (grub_cmd_xnu_kernel): Make 32-bit only.
30527 (grub_cmd_xnu_kernel64): New function.
30528 (grub_xnu_load_driver): Support Mach-O 64.
30529 (grub_cmd_xnu_mkext): Likewise.
30530 * util/grub.d/30_os-prober.in (osx_entry): New function.
30531 Generate entries for 64-bit boot too.
30532
30533 Eliminate ad-hoc tree format in XNU and EfiEmu.
30534
30535 * efiemu/main.c (grub_efiemu_prepare): Update comment.
30536 * efiemu/pnvram.c: Rewritten to use environment variables.
30537 All users updated.
30538
30539 Inline utf16_to_utf8.
30540
30541 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
30542 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
30543 All users updated.
30544 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
30545
30546 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
30547 * commands/usbtest.c (grub_usb_get_string): ... move here.
30548 (usb_print_str): Fix error handling.
30549 * include/grub/usb.h (grub_usb_get_string): Remove.
30550
30551 UTF-8 to UTF-16 transformation.
30552
30553 * conf/common.rmk (pkglib_MODULES): Add charset.mod
30554 (charset_mod_SOURCES): New variable.
30555 (charset_mod_CFLAGS): Likewise.
30556 (charset_mod_LDFLAGS): Likewise.
30557 * include/grub/utf.h: New file.
30558 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
30559
30560 Support for device properties.
30561
30562 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
30563 (grub_xnu_devprop_device_header): Likewise.
30564 (grub_xnu_devprop_device_descriptor): Likewise.
30565 (grub_xnu_devprop_add_device): New prototype.
30566 (grub_xnu_devprop_remove_device): Likewise.
30567 (grub_xnu_devprop_remove_property): Likewise.
30568 (grub_xnu_devprop_add_property_utf8): Likewise.
30569 (grub_xnu_devprop_add_property_utf16): Likewise.
30570 (grub_cpu_xnu_init): Likewise.
30571 (grub_cpu_xnu_fini): Likewise.
30572 (grub_cpu_xnu_unload): Likewise.
30573 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
30574 (property_descriptor): Likewise.
30575 (devices): New variable.
30576 (grub_xnu_devprop_remove_property): New function.
30577 (grub_xnu_devprop_add_device): Likewise.
30578 (grub_xnu_devprop_remove_device): Likewise.
30579 (grub_xnu_devprop_add_property): Likewise.
30580 (grub_xnu_devprop_add_property_utf8): Likewise.
30581 (grub_xnu_devprop_add_property_utf16): Likewise.
30582 (hextoval): Likewise.
30583 (grub_cpu_xnu_fill_devprop): Likewise.
30584 (grub_cmd_devprop_load): Likewise.
30585 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
30586 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
30587 (cmd_devprop_load): New variable.
30588 (grub_cpu_xnu_init): New function.
30589 (grub_cpu_xnu_fini): Likewise.
30590 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
30591 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
30592 (grub_cmd_xnu_devtree): Likewise.
30593 (hextoval): New function.
30594 (unescape): Likewise.
30595 (grub_xnu_fill_devicetree): Likewise.
30596
30597 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
30598 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
30599
0945f181
VS
306002009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
30601
30602 Workaround for broken ATI VBE.
30603
30604 * video/i386/pc/vbe.c (last_set_mode): New variable.
30605 (grub_vbe_set_video_mode): Set 'last_set_mode'.
30606 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
30607 (grub_video_vbe_setup): Don't check for reserved flag.
30608
0ad46fd7 306092009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
30610
30611 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
30612 the `find' command.
30613
c179ebe4
VS
306142009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
30615
30616 UUID support for HFS.
30617
30618 * fs/hfs.c (grub_hfs_uuid): New function.
30619 (grub_hfs_fs): New value .uuid.
30620 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
30621
0ad46fd7 306222009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
30623
30624 Fix a segfault with parsing unknown long options.
30625
30626 * util/grub-mkrelpath.c (options): Zero terminate it.
30627
c4a3e41a
CPE
306282009-12-13 Carles Pina i Estany <carles@pina.cat>
30629
30630 * include/grub/misc.h (grub_puts): New declaration.
30631 (grub_puts_): Likewise.
a22008a6 30632 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
30633 (grub_puts_): Likewise.
30634
2e8a7602
RM
306352009-12-13 Robert Millan <rmh.grub@aybabtu.com>
30636
30637 * util/grub-probe.c (probe): Improve error message.
30638
b50b77b9
RM
306392009-12-13 Robert Millan <rmh.grub@aybabtu.com>
30640
30641 * loader/i386/multiboot_elfxx.c
30642 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
30643 initialization.
30644
306452009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
30646
30647 Relocator framework
30648
30649 * loader/i386/xnu_helper.S: Removed. All users updated.
30650 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
30651 (relocator_mod_SOURCES): New variable.
30652 (relocator_mod_CFLAGS): Likewise.
30653 (relocator_mod_LDFLAGS): Likewise.
30654 (relocator_mod_ASFLAGS): Likewise.
30655 * conf/x86_64.rmk: Likewise.
30656 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
30657 (grub_multiboot_payload_entry_offset): Likewise.
30658 (grub_multiboot_forward_relocator): Likewise.
30659 (grub_multiboot_forward_relocator_end): Likewise.
30660 (grub_multiboot_backward_relocator): Likewise.
30661 (grub_multiboot_backward_relocator_end): Likewise.
30662 (grub_multiboot_payload_eip): New variable.
30663 (grub_multiboot_payload_orig): Likewise.
30664 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
30665 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
30666 * include/grub/i386/memory.h
30667 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
30668 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
30669 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
30670 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
30671 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
30672 * include/grub/i386/relocator.h: New file.
30673 * include/grub/x86_64/relocator.h: Likewise.
30674 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
30675 (XNU_RELOCATOR): New macro.
30676 (grub_xnu_launcher_start): Remove.
30677 (grub_xnu_launcher_end): Likewise.
30678 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
30679 (grub_xnu_heap_real_start): Remove.
30680 (grub_xnu_heap_start): Change to void *. All users updated.
30681 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
30682 * lib/i386/relocator.c: New file.
30683 * lib/i386/relocator_asm.S: Likewise.
30684 * lib/i386/relocator_backward.S: Likewise.
30685 * lib/mips/relocator.c: Likewise.
30686 * lib/mips/relocator_asm.S: Likewise.
30687 * lib/relocator.c: Likewise.
30688 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
30689 (entry): Removed.
30690 (playground): Likewise.
30691 (grub_multiboot_payload_orig): New variable.
30692 (grub_multiboot_payload_dest): Likewise.
30693 (grub_multiboot_payload_size): Likewise.
30694 (grub_multiboot_payload_eip): Likewise.
30695 (grub_multiboot_payload_esp): Likewise.
30696 (grub_multiboot_boot): Use grub_relocator32_boot.
30697 (grub_multiboot_unload): Free relocators.
30698 (grub_multiboot): Setup stack. Use relocators.
30699 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
30700 (grub_multiboot_load_elfXX): Use relocators.
30701 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
30702 (grub_multiboot_payload_size): Likewise.
30703 (grub_multiboot_payload_dest): Likewise.
30704 (grub_multiboot_payload_entry_offset): Likewise.
30705 (grub_multiboot_forward_relocator): Likewise.
30706 (grub_multiboot_backward_relocator): Likewise.
30707 (grub_multiboot_real_boot): Likewise.
30708 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
30709 (grub_xnu_entry_point): Likewise.
30710 (grub_xnu_arg1): Likewise.
30711 (grub_xnu_stack): Likewise.
30712 (grub_xnu_launch): Removed.
30713 (grub_xnu_boot_resume): New function.
30714 (grub_xnu_boot): Use relocators.
30715 * loader/i386/xnu_helper.S: Removed.
30716 * loader/xnu.c (grub_xnu_heap_start): New variable.
30717 (grub_xnu_heap_size): Likewise.
30718 (grub_xnu_heap_malloc): Use relocators.
30719 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
30720
29eb90c6
VS
307212009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
30722
30723 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
30724 anything.
30725
31027430
CPE
307262009-12-13 Carles Pina i Estany <carles@pina.cat>
30727
30728 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
30729 GRUB_ERR_NONE before calling grub_env_set.
30730
dc0c71d9
RM
307312009-12-12 Robert Millan <rmh@aybabtu.com>
30732
30733 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
30734 * genmk.rb (video): New variable.
30735 (CLEANFILES, VIDEOFILES): Add #{video}.
30736 (#{video}): New target rule.
30737 * genvideolist.sh: New file.
30738 * Makefile.in (pkglib_DATA): Add video.lst.
30739 (video.lst): New target rule.
30740 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
30741 `video.lst'.
30742 * util/grub.d/30_os-prober.in: Replace `vbe' with
30743 ${GRUB_VIDEO_BACKEND}.
30744
2a4bfcf0
RM
307452009-12-11 Robert Millan <rmh.grub@aybabtu.com>
30746
30747 * THANKS: Add David Miller.
30748
2a3aa4d5
RM
307492009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
30750
30751 libpciaccess support.
30752
30753 * Makefile.in (LIBPCIACCESS): New variable.
30754 (enable_grub_emu_pci): Likewise.
30755 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
30756 util/pci.c and commands/lspci.c.
30757 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
30758 * configure.ac (grub-emu-pci): New option.
30759 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
30760 (grub_pci_device_unmap_range): Likewise.
30761 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
30762 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
30763 (grub_pci_address_t) [!GRUB_UTIL]: New type.
30764 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
30765 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
30766 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
30767 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
30768 * include/grub/pciutils.h: New file.
30769 * util/pci.c: Likewise.
30770
0ad46fd7 307712009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
30772
30773 * util/misc.c: Don't include <errno.h> twice.
30774
0ad46fd7 307752009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
30776
30777 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
30778 name in an error message.
30779 (grub_biosdisk_rw): Likewise.
30780
2e59983c
VS
307812009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
30782
30783 Eliminate NTFS 4Gib barrier.
30784
30785 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
30786 (read_run_data): Likewise.
30787 (grub_ntfs_read_run_list): Likewise.
30788 (grub_ntfs_read_block): Likewise.
30789 (grub_ntfs_iterate_dir): Likewise.
30790 (read_mft): Likewise.
30791 (read_data): Likewise.
30792 Use COM_LOG_LEN.
30793 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
30794 to avoid 64-bit division
30795 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
30796 (grub_ntfs_rlst): Use grub_disk_addr_t.
30797
71ee178a
VS
307982009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
30799
30800 Eliminate grub-fstest 4Gib barrier.
30801
30802 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
30803 (read_file): Fix error reporting.
30804
2520d4b8
VS
308052009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
30806
30807 Eliminate hexdump 4Gib barrier.
30808
30809 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
30810 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
30811
e1f27065
VS
308122009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
30813
30814 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
30815 Fixes amarsh bug.
30816
1a0f7f45
RM
308172009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
30818
30819 Remove miscellaneous files in distclean target.
30820
30821 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
30822
c631d9fb
CW
308232009-12-09 Colin Watson <cjwatson@ubuntu.com>
30824
30825 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
30826 if they're already set. This resolves the conflict between my
30827 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
30828 fixing the --grub-probe option again.
30829 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
30830 change on 2009-10-06, so that we now once again source
30831 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
30832
7c7b6106
RM
308332009-12-08 Robert Millan <rmh.grub@aybabtu.com>
30834
30835 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
30836 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
30837 `util/devicemap.c'.
30838
e3069ec1
CPE
308392009-12-08 Carles Pina i Estany <carles@pina.cat>
30840
30841 * include/grub/misc.h (grub_printf_): New declaration.
30842 * kern/misc.c (grub_printf_): New definition.
30843 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
30844 instead of `grub_printf' and `_'.
30845 * normal/menu_entry.c (store_completion): Likewise.
30846 (run): Likewise.
30847 (grub_menu_entry_run): Likewise.
30848 * normal/menu_text.c (grub_wait_after_message): Likewise.
30849 (notify_booting): Likewise.
30850 (notify_fallback): Likewise.
30851 (notify_execution_failure): Likewise.
30852
d6ceebf1
CW
308532009-12-07 Colin Watson <cjwatson@ubuntu.com>
30854
30855 * configure.ac: Check for vasprintf.
30856 * util/misc.c (asprintf): Move allocation from here ...
30857 (vasprintf): ... to here. New function.
30858 (xasprintf): New function.
30859 * include/grub/util/misc.h (vasprintf, xasprintf): Add
30860 prototypes.
30861 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
30862 * util/grub-mkfont.c (write_font): Likewise.
30863 * util/grub-probe.c (probe): Likewise.
30864 * util/hostdisk.c (make_device_name): Likewise.
30865
de6daa8b
DM
308662009-12-06 David S. Miller <davem@sunset.davemloft.net>
30867
30868 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
30869 anything even prefixed with 'cdrom' as a cdrom.
30870
0ad46fd7 308712009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
30872
30873 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
30874 mount points.
30875
98d3dc02
CPE
308762009-12-05 Carles Pina i Estany <carles@pina.cat>
30877
30878 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
30879 grub_gettext_msg_list.
30880 (grub_gettext_gettranslation_from_position): Return const char *
30881 and not char *.
a2c1332b 30882 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
30883 returns from the list if existing there.
30884 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
30885 (grub_gettext_delete_list): Delete the list.
30886 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
30887 lang environment variable is changed.
30888 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
30889
b283f108
VS
308902009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
30891
30892 Rename kernel.mod to kernel.img.
30893
30894 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
30895 (kernel_mod_EXPORTS): Rename to ...
30896 (kernel_img_EXPORTS): ... this.
30897 (kernel_mod_SOURCES): Rename to ...
30898 (kernel_img_SOURCES): ... this.
30899 (kernel_mod_HEADERS): Rename to ...
30900 (kernel_img_HEADERS): ... this. All users updated.
30901 (kernel_mod_CFLAGS): Rename to ...
30902 (kernel_img_CFLAGS): ... this.
30903 (kernel_mod_ASFLAGS): Rename to ...
30904 (kernel_img_ASFLAGS): ... this.
30905 (kernel_mod_LDFLAGS): Rename to ...
30906 (kernel_img_LDFLAGS): ... this.
30907 * conf/x86_64-efi.rmk: Likewise.
30908 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
30909 (read_kernel_image): ... this. All users updated.
30910 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
30911
69055f8a
CPE
309122009-12-05 Carles Pina i Estany <carles@pina.cat>
30913
30914 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
30915 (print_spaces): New function.
30916 (grub_print_ucs4): New function.
30917 (getstringwidth): New function.
30918 (print_message_indented): New function.
30919 (print_message): Gettexttize strings using print_message_indented.
30920 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
30921 width.
30922 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 30923 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
30924 Gettextize.
30925 * normal/menu_entry.c (store_completion): Cleanup the gettextized
30926 string.
30927 (run): Likewise.
30928 (grub_menu_entry_run): Likewise.
30929 * PO/POTFILES: Add normal/menu_entry.c.
30930
f616f51c
VS
309312009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
30932
30933 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
30934
57bbe3be
CPE
309352009-12-05 Carles Pina i Estany <carles@pina.cat>
30936
30937 * util/grub-install.in: Install gettext .mo files.
30938 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
30939
013d67a1
CPE
309402009-12-05 Carles Pina i Estany <carles@pina.cat>
30941
30942 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
30943 grub_dprintf.
30944
fb954db0
RM
309452009-12-05 Robert Millan <rmh.grub@aybabtu.com>
30946
30947 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
30948 non-firmware-dependant one in realmode.S takes precedence.
30949
6b8474f8
RM
309502009-12-04 Robert Millan <rmh.grub@aybabtu.com>
30951
30952 * commands/halt.c: Replace misc arch-specific headers with
30953 `<grub/misc.h>'.
30954 * commands/reboot.c: Likewise.
30955 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
30956 `<grub/misc.h>'.
30957 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
30958 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
30959 (kernel_img_SOURCES): ... to here.
30960
30961 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
30962 * include/grub/i386/pc/init.h: Likewise.
30963 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
30964 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
30965
30966 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
30967
30968 * include/grub/i386/halt.h: Remove.
30969 * include/grub/i386/reboot.h: Likewise.
30970
30971 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
30972
4b2e6ca2
DM
309732009-12-03 David S. Miller <davem@sunset.davemloft.net>
30974
30975 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
30976 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
30977 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
30978 "progname.h"
30979 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
30980 * util/sparc64/ieee1275/grub-setup.c: Likewise.
30981 (usage): Add missing comma in printf.
30982
5239348f
RM
309832009-12-02 Robert Millan <rmh.grub@aybabtu.com>
30984
30985 Use the same reboot approach on i386 coreboot and qemu as we do on
30986 BIOS.
30987
30988 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
30989 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
30990 * kern/i386/reboot.c: Remove.
30991 * include/grub/i386/reboot.h (grub_reboot): Export function.
30992 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
30993 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
30994 0xf000:0xfff0 instead of 0xffff:0x0000.
30995 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
30996 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
30997
ef34cbd4
RM
309982009-11-30 Robert Millan <rmh.grub@aybabtu.com>
30999
31000 Fix $srcdir != $objdir build.
31001
31002 * Makefile.in (po/%.po): Rewrite as ...
31003 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
31004
dc9837ea
ST
310052009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
31006
31007 Fix GNU/Hurd grub-install crash.
31008 * util/grub-probe.c (probe): Try to access `path' only when it is not
31009 NULL.
31010
2f857f98
VS
310112009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31012
31013 Correct module naming.
31014
31015 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31016 (GRUB_MOD_INIT(efi_uga)): ... to this
31017 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31018 (GRUB_MOD_FINI(efi_uga)): ... to this
31019 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31020 (GRUB_MOD_INIT(efi_gop)): ... to this
31021 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31022 (GRUB_MOD_FINI(efi_gop)): ... to this
31023
c5448046
RM
310242009-11-28 Robert Millan <rmh.grub@aybabtu.com>
31025
31026 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
31027 translatable.
31028 (usage): Translate `arg' strings using gettext().
31029 Thanks to Jordi Mallach for the suggestion.
31030
c85184ad
VS
310312009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31032
31033 GOP support. Based on patch from Bean
31034 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
31035
31036 * video/efi_gop.c: New file.
31037 * include/grub/efi/graphics_output.h: Likewise.
31038 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
31039 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
31040 variables.
31041 * conf/x86_64-efi.rmk: Likewise.
31042
8a4c48d8
VS
310432009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31044
31045 Rename efi_fb to efi_uga.
31046
31047 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31048 'efi_uga.mod'.
31049 (efi_fb_mod_SOURCES): Rename this ...
31050 (efi_uga_mod_SOURCES): ... to this.
31051 (efi_fb_mod_CFLAGS): Rename this ...
31052 (efi_uga_mod_CFLAGS): ... to this.
31053 (efi_fb_mod_LDFLAGS): Rename this ...
31054 (efi_uga_mod_LDFLAGS): ... to this.
31055 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31056 'efi_uga.mod'.
31057 (efi_fb_mod_SOURCES): Rename this ...
31058 (efi_uga_mod_SOURCES): ... to this.
31059 (efi_fb_mod_CFLAGS): Rename this ...
31060 (efi_uga_mod_CFLAGS): ... to this.
31061 (efi_fb_mod_LDFLAGS): Rename this ...
31062 (efi_uga_mod_LDFLAGS): ... to this.
31063 * video/efi_fb.c: Move this ...
31064 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
31065
fb6c1a7b
RM
310662009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31067
31068 * po/README: New file. Explain our PO file workflow.
31069
3bc7896c
RM
310702009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31071
31072 * po/ChangeLog: Remove. Move relevant entries back to ...
31073 * ChangeLog: ... here.
31074 * po/ca.po: Remove (now handled by TLP).
31075 * po/id.po: Likewise.
31076 * po/zh_CN.po: Likewise.
31077 * Makefile.in (LINGUAS): Initialize in a way that supports
31078 empty set.
31079
9ed4841d
RM
310802009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31081
31082 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
31083 reliing on po/LINGUAS.
31084 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
31085 (po/%.po): ... this.
31086
0ad46fd7 310872009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
31088
31089 * util/i386/efi/grub-mkimage.c: Include "progname.h".
31090 (main): Use `program_name' instead of nonexistent `progname'.
31091
e30dd392
FZ
310922009-11-26 Felix Zielcke <fzielcke@z-51.de>
31093
31094 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31095 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
31096
7656de4f
RM
310972009-11-26 Robert Millan <rmh.grub@aybabtu.com>
31098
31099 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
31100 commit.
31101 * conf/i386-efi.rmk: Likewise.
31102 * conf/i386-ieee1275.rmk: Likewise.
31103 * conf/powerpc-ieee1275.rmk: Likewise.
31104 * conf/sparc64-ieee1275.rmk: Likewise.
31105 * conf/x86_64-efi.rmk: Likewise.
31106
db77c4d4
FZ
311072009-11-26 Felix Zielcke <fzielcke@z-51.de>
31108
31109 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
31110
a755bb04
FZ
311112009-11-26 Felix Zielcke <fzielcke@z-51.de>
31112
31113 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
31114
8a4c07fd
RM
311152009-11-26 Robert Millan <rmh.grub@aybabtu.com>
31116
31117 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
31118 (grub_mkdevicemap_SOURCES): New variable.
31119 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
31120 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
31121 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
31122 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
31123 (grub_mkdevicemap_SOURCES): Remove.
31124 * conf/i386-efi.rmk: Likewise.
31125 * conf/i386-ieee1275.rmk: Likewise.
31126 * conf/i386-pc.rmk: Likewise.
31127 * conf/powerpc-ieee1275.rmk: Likewise.
31128 * conf/sparc64-ieee1275.rmk: Likewise.
31129 * conf/x86_64-efi.rmk: Likewise.
31130 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
31131 (usage): Fix strings to use `program_name'.
31132 (main): Initialize gettext.
31133 * util/grub-editenv.c: Likewise.
31134 * util/grub-emu.c: Likewise.
31135 * util/grub-fstest.c: Likewise.
31136 * util/grub-mkdevicemap.c: Likewise.
31137 * util/grub-mkfont.c: Likewise.
31138 * util/grub-mkrelpath.c: Likewise.
31139 * util/grub-pe2elf.c: Likewise.
31140 * util/grub-probe.c: Likewise.
31141 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
31142 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
31143 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31144
31145 * util/misc.c: Include `"progname.h"'.
31146 (progname): Remove variable.
31147 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
31148
6f61ed55
FZ
311492009-11-25 Felix Zielcke <fzielcke@z-51.de>
31150
31151 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
31152 printf and print a newline after the menuentry header line.
31153 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
31154
f022876b
FZ
311552009-11-25 Felix Zielcke <fzielcke@z-51.de>
31156
31157 autoconf >= 2.60 support $(localedir).
31158
31159 * INSTALL: Note that autoconf 2.60 is required.
31160 * configure.ac (AC_PREREQ): Bump to 2.60.
31161 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
31162 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
31163
6717926e
YB
311642009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
31165
31166 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
31167 aclocal is run.
31168
08806a54
RM
311692009-11-25 Robert Millan <rmh.grub@aybabtu.com>
31170
31171 * normal/main.c (grub_normal_read_line): Fix off-by-one
31172 buffer overflow.
31173
13b33fba
RM
311742009-11-25 Robert Millan <rmh.grub@aybabtu.com>
31175
31176 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
31177 "parser.grub" in grub_command_execute() call.
31178
4a8572e9
CPE
311792009-11-24 Carles Pina i Estany <carles@pina.cat>
31180
31181 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
31182 * conf/i386-efi.rmk: Likewise.
31183 * conf/i386-ieee1275.rmk: Likewise.
31184 * conf/i386-pc.rmk: Likewise.
31185 * conf/powerpc-ieee1275.rmk: Likewise.
31186 * conf/sparc64-ieee1275.rmk: Likewise.
31187 * conf/x86_64-efi.rmk: Likewise.
31188 * gettext/gettex.c: Include <grub/i18n.h>.
31189 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
31190 here ...
31191 * include/grub/i18n.h: ... to here
31192 * include/grub/i18n.h: ... to here.
31193 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 31194 (grub_gettext_dummy): Move above user.
4a8572e9 31195
bee48093
FZ
311962009-11-24 Felix Zielcke <fzielcke@z-51.de>
31197
31198 * util/Makefile.in (install-local): Convert a `for' into a normal
31199 shell expansion.
31200
a031e91c
RM
312012009-11-24 Robert Millan <rmh.grub@aybabtu.com>
31202
31203 * autogen.sh: Add automake call.
31204 * config.guess: Remove.
31205 * config.sub: Likewise.
31206 * install-sh: Likewise.
31207
26bec39d
FZ
312082009-11-24 Felix Zielcke <fzielcke@z-51.de>
31209
31210 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
31211
8e2532fd
FZ
312122009-11-24 Felix Zielcke <fzielcke@z-51.de>
31213
31214 * util/Makefile.in (install-local): Convert a make `$(foreach)'
31215 function to a normal shell `for'.
31216
fefa1b7d
FZ
312172009-11-24 Felix Zielcke <fzielcke@z-51.de>
31218
31219 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31220
4501250b
FZ
312212009-11-24 Felix Zielcke <fzielcke@z-51.de>
31222
31223 * util/grub-mkrelpath.c: New file.
31224 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
31225 (grub_mkrelpath_SOURCES): New variable.
31226 * include/grub/util/misc.h: New function prototype.
31227 * util/misc.c (make_system_path_relative_to_its_root): New function.
31228
31229 * util/grub-mkconfig_lib.in (bindir): New variable.
31230 (grub_mkrelpath): Likewise.
31231 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
31232
31233 * util/probe.c (probe): Make the file path relative to its root.
31234 Change a info message to use the GRUB path. Enable again the
31235 check if we can read the file with GRUB facilities.
31236
31237 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
31238 to its root.
31239
11d9778b
FZ
312402009-11-24 Felix Zielcke <fzielcke@z-51.de>
31241
31242 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
31243 platform.
31244
4465287d
FZ
312452009-11-24 Felix Zielcke <fzielcke@z-51.de>
31246
31247 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
31248 strncmp().
31249
62b47f22
FZ
312502009-11-24 Felix Zielcke <fzielcke@z-51.de>
31251
31252 * util/getroot.c (grub_util_is_dmraid): New function.
31253 (grub_util_get_dev_abstraction): Treat dmraid and multipath
31254 devices as normal ones, not as LVM.
31255
1eafb9b9 312562009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
31257
31258 * conf/common.rmk: Add grub-gettext_lib target and updates
31259 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
31260 LDFLAGS.
31261 * gettext/gettext.c: New file. (Reads mo files).
31262 * include/grub/file.h (grub_file_pread): New prototype.
31263 * include/grub/i18n.h (_): New prototype.
31264 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
31265 prototypes.
31266 * kern/misc.c (grub_gettext_dummy): New function.
31267 * normal/menu_text.c: Include <grub/i18n.h>.
31268 * normal/menu_text.c (print_timeout): Gettexttize string.
31269 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
31270 * po/POTFILES: Add `normal/menu_text.c'.
31271 * po/ca.po: Add new translations.
c3ea6bd4
CPE
31272 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
31273 gettext module and defines locale_dir and lang in grub.cfg.
31274 * NEWS: Add gettext support.
31275
0fdb2568
RM
312762009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31277
31278 * util/hostdisk.c: Include `<grub/i18n.h>'.
31279 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
31280 (make_device_name): Rewrite using asprintf.
31281 (convert_system_partition_to_system_disk): Replace 0 with NULL.
31282 (find_system_device): If a device is not found, generate one just
31283 by reusing the OS path name.
31284 (read_device_map): Make it permissible for device.map not to exist.
31285
f515aa62
RM
312862009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31287
31288 * script/sh/execute.c: Move from here ...
31289 * script/execute.c: ... to here. Update all users.
31290 * script/sh/function.c: Move from here ...
31291 * script/function.c: ... to here. Update all users.
31292 * script/sh/lexer.c: Move from here ...
31293 * script/lexer.c: ... to here. Update all users.
31294 * script/sh/main.c: Move from here ...
31295 * script/main.c: ... to here. Update all users.
31296 * script/sh/parser.y: Move from here ...
31297 * script/parser.y: ... to here. Update all users.
31298 * script/sh/script.c: Move from here ...
31299 * script/script.c: ... to here. Update all users.
31300
f84b481b
RM
313012009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31302
31303 * configure.ac: Detect all `emu' platforms. Define
31304 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
31305 --enable-grub-emu logic. Disable include/grub/machine
31306 symlink on `emu' platforms.
31307
31308 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
31309 * gensymlist.sh.in: Likewise.
31310
31311 * include/grub/i386/coreboot/machine.h: Remove file.
31312 * include/grub/i386/efi/machine.h: Likewise.
31313 * include/grub/i386/ieee1275/machine.h: Likewise.
31314 * include/grub/i386/pc/machine.h: Likewise.
31315 * include/grub/i386/qemu/machine.h: Likewise.
31316 * include/grub/powerpc/ieee1275/machine.h: Likewise.
31317 * include/grub/sparc64/ieee1275/machine.h: Likewise.
31318 * include/grub/x86_64/efi/machine.h: Likewise.
31319
31320 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
31321 * commands/halt.c: Likewise.
31322 * commands/reboot.c: Likewise.
31323 * include/grub/autoefi.h: Likewise.
31324 * include/grub/i386/at_keyboard.h: Likewise.
31325 * include/grub/i386/kernel.h: Likewise.
31326 * include/grub/i386/loader.h: Likewise.
31327 * include/grub/i386/pc/memory.h: Likewise.
31328 * kern/dl.c: Likewise.
31329 * kern/i386/coreboot/init.c: Likewise.
31330 * loader/i386/bsd.c: Likewise.
31331 * loader/i386/linux.c: Likewise.
31332 * loader/multiboot_loader.c: Likewise.
31333 * term/i386/pc/serial.c: Likewise.
31334 * term/usb_keyboard.c: Likewise.
31335
31336 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
31337 `<grub/machine/machine.h>'
31338 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
31339 * util/misc.c: Remove `<grub/machine/machine.h>' and
31340 `<grub/machine/time.h>'.
31341
31342 * Makefile.in (enable_grub_emu): Remove variable.
31343 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
31344
31345 * conf/any-emu.rmk: New file.
31346 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
31347 (grub_emu_init.c): Move from here ...
31348 * conf/any-emu.rmk: ... to here.
31349
31350 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
31351 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
31352 * conf/any-emu.rmk: ... to here.
31353
4efeab03
RM
313542009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31355
31356 * include/grub/parser.h (grub_parser_register): Document need
31357 of `name' parameter.
31358 * normal/main.c (grub_normal_read_line): Simplify prompt string.
31359 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
31360 "sh" to "grub".
31361
ea1dd8bf
RM
313622009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31363
31364 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
31365 `$(XGETTEXT)'.
31366 * include/grub/i18n.h (N_): New macro.
31367 * util/mkisofs/mkisofs.h: Likewise.
31368 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
31369 around N_().
31370 (usage): Use gettext() to translate help strings when printing them.
31371
0c140626
RM
313722009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31373
31374 Based on patch from Bean
31375 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
31376
31377 * video/efi_fb.c: New file.
31378 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
31379 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
31380 variables.
31381 * conf/x86_64-efi.rmk: Likewise.
31382
87d58298
RM
313832009-11-22 Robert Millan <rmh.grub@aybabtu.com>
31384
31385 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
31386 * util/i386/pc/grub-setup.c: Likewise.
31387
994cc3a3
ST
313882009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
31389
31390 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
31391 <hurd/fs.h>
31392 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
31393 file_get_storage_info to implement grub_guess_root_device.
31394
26a61d6a
FZ
313952009-11-21 Felix Zielcke <fzielcke@z-51.de>
31396
31397 * Makefile.in (target): Use make's builtin $(shell) function
31398 instead of calling directly $(SHELL) to create the locale directories,
31399 inside the $(foreach) function.
31400
74ff1dd5
FZ
314012009-11-21 Felix Zielcke <fzielcke@z-51.de>
31402
31403 * util/grub-mkrescue.in: Print an error and usage if output option
31404 has not been given.
31405
0b787d0e
FZ
314062009-11-21 Felix Zielcke <fzielcke@z-51.de>
31407
31408 Patch from Loïc Minier <loic.minier@ubuntu.com>.
31409 * util/grub.d/30_os-prober.in: Cope with Linux entries where
31410 root and /boot are on different devices.
31411
1164b270
RM
314122009-11-21 Robert Millan <rmh.grub@aybabtu.com>
31413
31414 Fix build for srcdir != objdir.
31415
31416 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
31417 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
31418 $(srcdir).
31419 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
31420 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
31421 reference for input.
31422
13774a2f
RM
314232009-11-21 Robert Millan <rmh.grub@aybabtu.com>
31424
31425 * util/grub-mkrescue.in: Use source directory direcly (without copiing
31426 or hardlinking it). Remove -J option, Joliet is not compatible with
31427 multiple source directories.
31428
efda854e
RM
314292009-11-21 Carles Pina i Estany <carles@pina.cat>
314302009-11-21 Robert Millan <rmh.grub@aybabtu.com>
31431
31432 * util/grub-mkrescue.in: Recognize `--override-directory' option.
31433 (process_input_dir): New function. Process an arbitrary input
31434 directory.
31435 Misc adjustments to support both "override mode" and system-wide mode.
31436
6c09890c
FZ
314372009-11-20 Felix Zielcke <fzielcke@z-51.de>
31438
31439 * configure.ac (UNIFONT_BDF): Rename to ...
31440 (FONT_SOURCE): ... this. Update all users.
31441
a797824f
FZ
314422009-11-20 Felix Zielcke <fzielcke@z-51.de>
31443
31444 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
31445 to the list of unifont files to look for.
31446
cd4f42b0
RM
314472009-11-19 Robert Millan <rmh.grub@aybabtu.com>
31448
31449 Patch from Joe Auricchio <jauricchio@gmail.com>
31450 * commands/minicmd.c (grub_mini_cmd_clear): New function.
31451 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
31452 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
31453
393c783d
FZ
314542009-11-19 Felix Zielcke <fzielcke@z-51.de>
31455
31456 * Makefile.in (install-local): Add a missing backslash.
31457
b2f1e327
FZ
314582009-11-19 Felix Zielcke <fzielcke@z-51.de>
31459
31460 * include/grub/x86_64/io.h: New file.
31461
f577f7a0
RM
314622009-11-19 Robert Millan <rmh.grub@aybabtu.com>
31463
31464 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
31465 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
31466 Include `"progname.h"'.
31467 (main): Initialize gettext.
31468 * util/i386/pc/grub-setup.c: Gettexttize.
31469 * util/i386/pc/grub-mkimage.c: Likewise.
31470
31471 * Makefile.in (po/*.po): Redefine as ...
31472 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
31473
3bc7896c
RM
31474 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
31475
c37943b6
RM
314762009-11-19 Robert Millan <rmh.grub@aybabtu.com>
31477
31478 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
31479 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
31480 (program_name): Remove.
31481 (main): Initialize gettext support.
6323f705
RM
31482 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
31483 Include `<libintl.h>'.
31484 (_): New macro.
c37943b6
RM
31485
31486 * util/mkisofs/eltorito.c: Gettexttize.
31487 * util/mkisofs/joliet.c: Likewise.
31488 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
31489 * util/mkisofs/multi.c: Likewise.
31490 * util/mkisofs/rock.c: Likewise.
31491 * util/mkisofs/tree.c: Likewise.
31492 * util/mkisofs/write.c: Likewise.
31493
3bc7896c
RM
31494 * po/POTFILES: Update with new files.
31495
5ce77c6e
RM
314962009-11-18 Robert Millan <rmh.grub@aybabtu.com>
31497
31498 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
31499 * util/mkisofs/iso9660.h: Likewise.
31500 * util/mkisofs/joliet.c: Likewise.
31501 * util/mkisofs/mkisofs.c: Likewise.
31502 * util/mkisofs/mkisofs.h: Likewise.
31503 * util/mkisofs/rock.c: Likewise.
31504 * util/mkisofs/tree.c: Likewise.
31505 * util/mkisofs/write.c: Likewise.
31506
31507 * util/mkisofs/eltorito.c (rcsid): Remove.
31508 * util/mkisofs/hash.c: Likewise.
31509 * util/mkisofs/joliet.c: Likewise.
31510 * util/mkisofs/name.c: Likewise.
31511 * util/mkisofs/rock.c: Likewise.
31512 * util/mkisofs/tree.c: Likewise.
31513 * util/mkisofs/write.c: Likewise.
31514
1dabbc77
RM
315152009-11-18 Robert Millan <rmh.grub@aybabtu.com>
31516
31517 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
31518 instead of static allocation.
31519 * util/mkisofs/match.h: Likewise.
31520
633877cb
RM
315212009-11-18 Robert Millan <rmh.grub@aybabtu.com>
31522
3bc7896c
RM
31523 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
31524 and `util/grub.d/10_linux.in'.
633877cb
RM
31525 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
31526 translatable Shell files.
31527
af1c0c85
RM
315282009-11-18 Robert Millan <rmh.grub@aybabtu.com>
31529
31530 * Makefile.in ($(srcdir)/aclocal.m4): New target.
31531
769ae37b
RM
315322009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31533
31534 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 31535 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
31536 * util/grub.d/10_kfreebsd.in (bindir): New variable.
31537 Add gettext initialization.
31538 (kfreebsd_entry): Make menuentry output translatable.
31539
315402009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31541
31542 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
31543 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
31544 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
31545 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
31546 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 31547 * po/LINGUAS: New file.
769ae37b
RM
31548
315492009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31550
31551 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
31552 other things).
31553 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
31554 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
31555 bindtextdomain() calls for gettext initialization.
31556
315572009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31558
31559 * gnulib/progname.c: New file (imported from Gnulib).
31560 * gnulib/progname.h: Likewise.
31561 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31562 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
31563 (usage): Replace `progname' with `program_name'.
31564 (main): Use set_program_name() for program name initialization.
31565
315662009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31567
31568 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
31569 from here ...
31570 * Makefile.in (CPPFLAGS): ... to here.
31571
315722009-11-16 Robert Millan <rmh.grub@aybabtu.com>
31573
31574 * aclocal.m4: Move from here ...
31575 * acinclude.m4: ... to here.
31576 * autogen.sh: Add call to `aclocal'.
31577 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
31578
315792009-11-16 Robert Millan <rmh.grub@aybabtu.com>
31580
31581 * Makefile.in (CLEANFILES): Add `po/*.mo'.
31582 (LINGUAS): New variable.
31583 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
31584 (install-local): Install MO files.
31585 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
31586 * include/grub/i18n.h: New file.
3bc7896c
RM
31587 * po/POTFILES: New file.
31588 * po/ca.po: New file.
769ae37b
RM
31589 * util/grub.d/10_linux.in (bindir): New variable.
31590 Add gettext initialization.
31591 (linux_entry): Make menuentry output translatable.
31592 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
31593 (usage): Make --help output translatable.
31594 (main): Initialize gettext.
31595
02c0a6ad
RM
315962009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31597
31598 * import_gcry.py: New file (written by Vladimir with minor
31599 adjustments).
31600 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
31601 ciphers.
31602 * INSTALL: Document that Python is required for bootstrap.
31603
316042009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31605
31606 Import ciphers from libgcrypt 1.4.4.
31607
31608 * lib/libgcrypt/cipher/ChangeLog
31609 * lib/libgcrypt/cipher/ac.c
31610 * lib/libgcrypt/cipher/arcfour.c
31611 * lib/libgcrypt/cipher/bithelp.h
31612 * lib/libgcrypt/cipher/blowfish.c
31613 * lib/libgcrypt/cipher/camellia-glue.c
31614 * lib/libgcrypt/cipher/camellia.c
31615 * lib/libgcrypt/cipher/camellia.h
31616 * lib/libgcrypt/cipher/cast5.c
31617 * lib/libgcrypt/cipher/cipher.c
31618 * lib/libgcrypt/cipher/crc.c
31619 * lib/libgcrypt/cipher/des.c
31620 * lib/libgcrypt/cipher/dsa.c
31621 * lib/libgcrypt/cipher/ecc.c
31622 * lib/libgcrypt/cipher/elgamal.c
31623 * lib/libgcrypt/cipher/hash-common.c
31624 * lib/libgcrypt/cipher/hash-common.h
31625 * lib/libgcrypt/cipher/hmac-tests.c
31626 * lib/libgcrypt/cipher/md.c
31627 * lib/libgcrypt/cipher/md4.c
31628 * lib/libgcrypt/cipher/md5.c
31629 * lib/libgcrypt/cipher/primegen.c
31630 * lib/libgcrypt/cipher/pubkey.c
31631 * lib/libgcrypt/cipher/rfc2268.c
31632 * lib/libgcrypt/cipher/rijndael-tables.h
31633 * lib/libgcrypt/cipher/rijndael.c
31634 * lib/libgcrypt/cipher/rmd.h
31635 * lib/libgcrypt/cipher/rmd160.c
31636 * lib/libgcrypt/cipher/rsa.c
31637 * lib/libgcrypt/cipher/seed.c
31638 * lib/libgcrypt/cipher/serpent.c
31639 * lib/libgcrypt/cipher/sha1.c
31640 * lib/libgcrypt/cipher/sha256.c
31641 * lib/libgcrypt/cipher/sha512.c
31642 * lib/libgcrypt/cipher/tiger.c
31643 * lib/libgcrypt/cipher/twofish.c
31644 * lib/libgcrypt/cipher/whirlpool.c
31645
af2f93ac
RM
316462009-11-16 Robert Millan <rmh.grub@aybabtu.com>
31647
31648 Fix build for systems without error().
31649
31650 * gnulib/error.c: New file (imported from Gnulib).
31651 * gnulib/error.h: Likewise.
31652 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
31653 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
31654 (this variable is now used by error()).
31655
73fb3dd5
FZ
316562009-11-16 Felix Zielcke <fzielcke@z-51.de>
31657
814f5e96
FZ
31658 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
31659 instead of relying that char is signed.
73fb3dd5 31660
a691ca33
VS
316612009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
31662
31663 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
31664 blocksize different from specified.
31665 (grub_pxefs_read): Likewise.
31666
2af8f0f4
FZ
316672009-11-16 Felix Zielcke <fzielcke@z-51.de>
31668
31669 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
31670
31671 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
31672 (grub_ata_readwrite): Likewise. Update 2 format strings.
31673 (grub_atapi_read): Likewise.
31674
31675 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
31676 * conf/i386.rmk (pkglib_MODULES): ... to here ...
31677 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
31678 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
31679 (ata_mod_LDFLAGS): Move from here ...
31680 * conf/i386.rmk: ... to here ...
31681 * conf/x86_64-efi.rmk: ... and here.
31682 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
31683 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
31684
83bdecaf
RM
316852009-11-16 Robert Millan <rmh.grub@aybabtu.com>
31686
31687 Relicense multiboot.h, with RMS' blessing.
31688
31689 * include/multiboot.h: Change to X11 license.
31690
fd6fd3d7
RM
316912009-11-15 Robert Millan <rmh.grub@aybabtu.com>
31692
31693 Support --version in grub-mkisofs.
31694
31695 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
31696 (OPTION_VERSION): New macro.
31697 (ld_options): Recognize --version.
31698 (usage): Move `program_name' from here ...
31699 (program_name): ... to here. Add `static' qualifier.
31700 (main): Recognize `OPTION_VERSION'.
31701
16a88c49
FZ
317022009-11-15 Felix Zielcke <fzielcke@z-51.de>
31703
31704 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
31705 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
31706
a4158476
RM
317072009-11-14 Robert Millan <rmh.grub@aybabtu.com>
31708
31709 Fix help2man generation for mkisofs.
31710
31711 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
31712 (usage): Send output to stdout (rather than stderr).
31713
fc2208b0
RM
317142009-11-14 Robert Millan <rmh.grub@aybabtu.com>
31715
31716 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
31717 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
31718 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
31719 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
31720 (bin_SCRIPTS): Add `grub-mkfloppy'.
31721 (grub_mkfloppy_SOURCES): New variable.
31722
31723 * util/grub-mkrescue.in: New file.
31724 * util/i386/pc/grub-mkfloppy.in: New file.
31725
31726 * util/i386/coreboot/grub-mkrescue.in: Remove.
31727 * util/i386/pc/grub-mkrescue.in: Remove.
31728
8d0edf4a
RM
317292009-11-13 Robert Millan <rmh.grub@aybabtu.com>
31730
31731 * include/grub/multiboot.h (struct grub_multiboot_header): Move
31732 from here ...
31733 * include/multiboot.h (struct multiboot_header): ... to here. Update
31734 all users.
31735 * include/grub/multiboot.h (struct grub_multiboot_info): Move
31736 from here ...
31737 * include/multiboot.h (struct multiboot_info): ... to here. Update
31738 all users.
31739 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
31740 from here ...
31741 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
31742 Update all users.
31743 * include/grub/multiboot.h (struct grub_mod_list): Move
31744 from here ...
31745 * include/multiboot.h (struct multiboot_mod_list): ... to here.
31746 Update all users.
31747
a73f5969
RM
317482009-11-13 Robert Millan <rmh.grub@aybabtu.com>
31749
31750 * include/multiboot2.h (multiboot_word): Rename from this ...
31751 (multiboot2_word): ... to this. Update all users.
31752 (multiboot_header): Rename from this ...
31753 (multiboot2_header): ... to this. Update all users.
31754 (multiboot_tag_header): Rename from this ...
31755 (multiboot2_tag_header): ... to this. Update all users.
31756 (multiboot_tag_start): Rename from this ...
31757 (multiboot2_tag_start): ... to this. Update all users.
31758 (multiboot_tag_name): Rename from this ...
31759 (multiboot2_tag_name): ... to this. Update all users.
31760 (multiboot_tag_module): Rename from this ...
31761 (multiboot2_tag_module): ... to this. Update all users.
31762 (multiboot_tag_memory): Rename from this ...
31763 (multiboot2_tag_memory): ... to this. Update all users.
31764 (multiboot_tag_unused): Rename from this ...
31765 (multiboot2_tag_unused): ... to this. Update all users.
31766 (multiboot_tag_end): Rename from this ...
31767 (multiboot2_tag_end): ... to this. Update all users.
31768
1c8927f0
RM
317692009-11-13 Robert Millan <rmh.grub@aybabtu.com>
31770
31771 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
31772 this platform we should support Multiboot1 first.
31773
31774 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
31775 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
31776 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
31777
6e1e0d89
RM
317782009-11-12 Robert Millan <rmh.grub@aybabtu.com>
31779
31780 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
31781 of write calls (converting them to fwrite() if they aren't already).
31782 (get_torito_desc): Likewise.
31783 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
31784
7f2b34d8
RM
317852009-11-12 Robert Millan <rmh.grub@aybabtu.com>
31786
31787 * util/i386/pc/grub-install.in: Move from here ...
31788 * util/grub-install.in: ... to here. Update all users.
31789
c0ef3311
CW
317902009-11-11 Colin Watson <cjwatson@ubuntu.com>
31791
31792 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
31793
e1f240ff
RM
317942009-11-11 Robert Millan <rmh.grub@aybabtu.com>
31795
31796 Support for El Torito without floppy emulation.
31797
31798 * util/mkisofs/eltorito.c: Include `<errno.h>'.
31799 (init_boot_catalog): Improve error handling.
31800 (get_torito_desc): Don't use floppy emulation unless requested by
31801 user. Patch boot information table when requested via
31802 `-boot-info-table'.
31803 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
31804 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
31805 (use_boot_info_table): New variables.
31806 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
31807 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
31808 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
31809 `--eltorito-emul-floppy'.
31810 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
31811 and `OPTION_ELTORITO_EMUL_FLOPPY'.
31812 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
31813 (use_boot_info_table, get_731): New prototypes.
31814 * util/mkisofs/write.c (get_731): New function.
31815
af7d4de5
FZ
318162009-11-11 Felix Zielcke <fzielcke@z-51.de>
31817
31818 Fix the generation of the man page.
31819
31820 * util/pc/i386/grub-install.in: Source
31821 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
31822
2c55dbc0
RM
318232009-11-11 Robert Millan <rmh.grub@aybabtu.com>
31824
31825 Large file support for grub-mkisofs.
31826
31827 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
31828 * util/mkisofs/mkisofs.c (next_extent, last_extent)
31829 (session_start): Upgrade type to `uint64_t'. Update all users.
31830 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
31831 (struct directory_entry): Upgrade type of `starting_block' and
31832 `size' to `uint64_t'. Update all users.
31833 (struct deferred): Remove unused structure.
31834 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
31835 Update all users.
31836 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
31837 file is larger than `UINT32_MAX'.
31838 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
31839 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
31840 return value.
31841 (struct deferred_write): Upgrade type of `extent' and `size' to
31842 `uint64_t'. Update all users.
31843 (last_extent_written): Upgrade type to `uint64_t'. Update all
31844 users.
31845 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
31846 Update all users. Upgrade type of `remain' to `int64_t' and
31847 `use' to `size_t'. Use error() to handle fread() errors.
31848 (write_files): Rely on write_one_file() rather than calling
31849 xfwrite() directly.
31850
6a9cead5
FZ
318512009-11-09 Felix Zielcke <fzielcke@z-51.de>
31852
31853 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
31854
4825d790
RM
318552009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31856
31857 * util/mkisofs/fnmatch.c: Remove.
31858 * util/mkisofs/getopt1.c: Likewise.
31859 * util/mkisofs/getopt.c: Likewise.
31860 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
31861 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
31862 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
31863 `gnulib/getopt1.c' and `gnulib/getopt.c'.
31864 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
31865
31866 * configure.ac: Detect `mingw32msvc' host_os.
31867 Check for lstat(), getuid() and getgid().
31868
31869 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
31870 instances of `u_char' with `uint8_t'.
31871
31872 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
31873 [!HAVE_GETUID] (getuid): New function (stub).
31874 [!HAVE_GETGID] (getgid): Likewise.
31875 [!HAVE_LSTAT] (lstat): Likewise.
31876 [!S_IROTH] (S_IROTH): New macro (dummy).
31877 [!S_IRGRP] (S_IRGRP): Likewise.
31878
84b860d8
RM
318792009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31880
31881 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
31882 conditional expression).
31883
66e9b712
RM
318842009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31885
31886 Import from Gnulib.
31887
31888 * gnulib/fnmatch.c: New file.
31889 * gnulib/fnmatch.h: Likewise.
31890 * gnulib/fnmatch_loop.c: Likewise.
31891 * gnulib/getopt.c: Likewise.
31892 * gnulib/getopt.h: Likewise.
31893 * gnulib/getopt1.c: Likewise.
31894 * gnulib/getopt_int.h: Likewise.
31895 * gnulib/gettext.h: Likewise.
31896
34f4a5b0
RM
318972009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31898
31899 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
31900 * normal/handler.c (read_handler_list): Likewise.
31901
ac451143
RM
319022009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31903
31904 Misc cleanup.
31905
31906 * kern/command.c (grub_register_command_prio): Use
31907 grub_zalloc() instead of explicitly zeroing data.
31908 * kern/list.c: Include `<grub/mm.h>'.
31909 (grub_named_list_find): Replace `0' with `NULL'.
31910 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
31911 (fs_module_list): Change type to `grub_named_list_t'. Update all
31912 users.
31913 * normal/dyncmd.c (read_command_list): Add space between function
31914 call and parenthesis.
31915 * normal/handler.c (read_handler_list): Likewise.
31916
4089b167
RM
319172009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31918
31919 * normal/auth.c (punishment_delay): Moved from here ...
31920 (grub_auth_strcmp): ... to here (inside function).
31921
325f5037
RM
319222009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31923
31924 * include/grub/list.h (struct grub_named_list): Remove `const'
31925 qualifier from `name'.
31926 (struct grub_prio_list): Likewise.
31927
7aea29a3
RM
319282009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31929
31930 * normal/auth.c: Include `<grub/time.h>'.
31931 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
31932
3fd6f044
RM
319332009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31934
31935 * normal/auth.c (punishment_delay): New variable.
31936 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
31937 (grub_auth_check_authentication): Punish failed login attempts with
31938 an incremental (2^N) delay.
31939
a4cd68e4
RM
319402009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31941
31942 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
31943 path with $(srcdir).
31944
7ad12f43
VS
319452009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
31946
31947 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
31948
c1129f03
RM
319492009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31950
31951 * util/i386/coreboot/grub-mkrescue.in: New file.
31952 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
31953 variables.
31954
31955 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
31956 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
31957 * configure.ac: Add header and function checks to satisfy grub-mkisofs
31958 requirements.
31959 * util/mkisofs/defaults.h: New file.
31960 * util/mkisofs/eltorito.c: Likewise.
31961 * util/mkisofs/exclude.h: Likewise.
31962 * util/mkisofs/fnmatch.c: Likewise.
31963 * util/mkisofs/getopt.c: Likewise.
31964 * util/mkisofs/getopt1.c: Likewise.
31965 * util/mkisofs/hash.c: Likewise.
31966 * util/mkisofs/include/fctldefs.h: Likewise.
31967 * util/mkisofs/include/mconfig.h: Likewise.
31968 * util/mkisofs/include/prototyp.h: Likewise.
31969 * util/mkisofs/include/statdefs.h: Likewise.
31970 * util/mkisofs/iso9660.h: Likewise.
31971 * util/mkisofs/joliet.c: Likewise.
31972 * util/mkisofs/match.c: Likewise.
31973 * util/mkisofs/match.h: Likewise.
31974 * util/mkisofs/mkisofs.c: Likewise.
31975 * util/mkisofs/mkisofs.h: Likewise.
31976 * util/mkisofs/multi.c: Likewise.
31977 * util/mkisofs/name.c: Likewise.
31978 * util/mkisofs/rock.c: Likewise.
31979 * util/mkisofs/tree.c: Likewise.
31980 * util/mkisofs/write.c: Likewise.
31981
ec8bb77d
VS
319822009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
31983
31984 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
31985 being insecure.
31986
3716b12c
RM
319872009-11-08 Robert Millan <rmh.grub@aybabtu.com>
31988
31989 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
31990 `grub-mkimage' (and use $0 when possible).
31991
b97b7b91
RM
319922009-11-08 Robert Millan <rmh.grub@aybabtu.com>
31993
31994 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
31995 error message for excessively large memory map.
31996
04114812
RM
319972009-11-08 Robert Millan <rmh.grub@aybabtu.com>
31998
31999 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
32000 executable bit.
32001
e4eb2373
RM
320022009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32003
32004 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
32005 message for coreboot users.
32006
c926e1d5 320072009-11-07 Robert Millan <rmh.grub@aybabtu.com>
32008
32009 Fix build with GNU gold.
32010
32011 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
32012 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
32013 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
32014 link addresses.
32015 * aclocal.m4: Likewise.
32016
86e5b1db 320172009-11-04 Felix Zielcke <fzielcke@z-51.de>
32018
32019 * configure.ac (AC_PREREQ): Bump to 2.59d.
32020 * INSTALL: Make it more clear when Autoconf and Ruby are
32021 needed and when to run `./autogen.sh'.
32022
246cd78f 320232009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
32024
32025 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
32026 OSes.
32027
4f9dfb37 320282009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32029
32030 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
32031
b82bd5e1 320322009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32033
32034 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
32035 giving it to GNU Mach.
32036
ff1a9bca 320372009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32038
32039 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
32040 GNU partition number to get internal GRUB partition number.
32041
61697d9c 320422009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32043
32044 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
32045 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
32046
a50569e1 320472009-11-01 Robert Millan <rmh.grub@aybabtu.com>
32048
32049 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
32050 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
32051 case.
32052
5b153867 320532009-11-01 Felix Zielcke <fzielcke@z-51.de>
32054
32055 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
32056
d9e2cd70 320572009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32058
32059 Fix build problem.
32060
32061 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
32062 `-isystem=$(srcdir)/include'.
32063
805111a4 320642009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32065
32066 * util/i386/pc/grub-install.in: Remove hint that device.map should be
32067 checked (grub-install doesn't currently rely on it).
32068
fa6e945f 320692009-10-29 Robert Millan <rmh.grub@aybabtu.com>
32070
32071 Revert SVN r2660.
32072
32073 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
32074 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
32075 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
32076 * conf/i386-ieee1275.rmk: Likewise.
32077 * conf/i386-pc.rmk: Likewise.
32078 * conf/powerpc-ieee1275.rmk: Likewise.
32079 * conf/sparc64-ieee1275.rmk: Likewise.
32080 * conf/x86_64-efi.rmk: Likewise.
32081
cee15086 320822009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32083
32084 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
32085
95b9239e 320862009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32087
32088 * include/grub/misc.h: Stop checking for APPLE_CC.
32089
2ed19dfd 320902009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32091
32092 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
32093 doesn't cause an infinite call loop.
32094
fdcdde19 320952009-10-28 Felix Zielcke <fzielcke@z-51.de>
32096
32097 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
32098 strings.
32099
cefabfe1 321002009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32101
32102 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
32103 variable.
32104 * Makefile.in: Likewise.
32105
ed96ab6d 321062009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32107
32108 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
32109
0579b753 321102009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32111
32112 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
32113
478df409 321142009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32115
32116 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
32117
083d1679 321182009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32119
32120 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
32121 from here ...
32122 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
32123
5947ae32 321242009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32125
32126 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
32127 in $(MAKEINFO) invocation. This makes it clear in output that
32128 errors are being ignored.
32129
94180ff6 321302009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32131
32132 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
32133 from here ...
32134 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
32135 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
32136 * conf/i386-ieee1275.rmk: Likewise.
32137 * conf/i386-pc.rmk: Likewise.
32138 * conf/powerpc-ieee1275.rmk: Likewise.
32139 * conf/sparc64-ieee1275.rmk: Likewise.
32140 * conf/x86_64-efi.rmk: Likewise.
32141
9031b03a 321422009-10-26 Colin Watson <cjwatson@ubuntu.com>
32143
32144 * util/grub-editenv.c (main): If only a command is given, use
32145 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
32146 (usage): FILENAME is now optional and has a default.
32147
e4f6809b 321482009-10-26 Colin Watson <cjwatson@ubuntu.com>
32149
32150 Improve grub-mkconfig performance when there are several menu
32151 entries on a single filesystem.
32152
32153 * util/grub.d/10_linux.in (linux_entry): Cache the output of
32154 prepare_grub_to_access_device.
32155 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
32156 * util/grub.d/30_os-prober.in: Likewise.
32157
67937d4d 321582009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32159
32160 * util/grub.d/10_freebsd.in: Remove.
32161 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
32162 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
32163
ee3756cc 321642009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32165
5c35048e 32166 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 32167
4dea1c6f 321682009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32169
32170 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
32171 grub_util_error() call.
32172
042484d7 321732009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32174
32175 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
32176 `reserved_first_sector' member.
32177 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
32178 `reserved_first_sector' to 1.
32179 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
32180 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
32181 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
32182 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
32183 filesystems which begin at first sector.
32184 (options): New option --skip-fs-probe.
32185 (main): Handle --skip-fs-probe and pass it to setup().
32186
d64448a7 321872009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32188
32189 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
32190 (memset): Fix function prototype.
32191
508d42ec 321922009-10-25 Robert Millan <rmh.grub@aybabtu.com>
321932009-10-25 Vasily Averin <vvs@parallels.com>
32194
32195 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
32196 `dirent.direntlen == 0'.
32197
b240e30c 321982009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32199
32200 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
32201 `cpio'.
32202 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
32203
346e7fbe 322042009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32205
32206 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
32207 `__trampoline_setup' and `__ucmpdi2'.
32208 * include/grub/powerpc/libgcc.h: Only export symbols for functions
32209 that libgcc provides.
32210
cdb308b0 322112009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32212
32213 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
32214 * include/grub/sparc64/libgcc.h (memset): Likewise.
32215 * include/grub/misc.h (memset, memcmp): New function prototypes.
32216
fb26abc2 322172009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32218
32219 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
32220 `cpio'.
32221 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
32222
f6693890 322232009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32224
32225 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
32226 * docs/grub.cfg: Compensate for recent change in multiboot
32227 loader (since 2009-08-14 it won't pass filename to payload).
32228 * util/grub.d/10_hurd.in: Likewise.
32229
0933cdc0 322302009-10-21 Felix Zielcke <fzielcke@z-51.de>
32231
32232 * config.guess: Update to latest version from config git
32233 repository.
32234 * config.sub: Likewise.
32235
3b2fe8c2 322362009-10-20 Robert Millan <rmh.grub@aybabtu.com>
32237
32238 Fix build on sparc64.
32239
32240 * configure.ac: Perform checks for libgcc symbols before
32241 adding `-nostdlib' to LDFLAGS.
32242
46695a62 322432009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
32244
32245 Let user specify OpenBSD root device.
32246
32247 * loader/i386/bsd.c (openbsd_root): New variable.
32248 (openbsd_opts): New option 'root'.
32249 (OPENBSD_ROOT_ARG): New macro.
32250 (grub_openbsd_boot): Use 'openbsd_root'.
32251 (grub_cmd_openbsd): Fill 'openbsd_root'.
32252
d2b6b7fc 322532009-10-16 Robert Millan <rmh.grub@aybabtu.com>
32254
32255 * NEWS: Misc adjustments.
32256
421bd7ac 322572009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
32258
32259 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
32260
f1d29d87 322612009-10-16 Robert Millan <rmh.grub@aybabtu.com>
32262
32263 * configure.ac: Bump version to 1.97.
32264
6f3cd880 322652009-10-16 Colin Watson <cjwatson@ubuntu.com>
32266
32267 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
32268 -mno-3dnow on x86 architectures. Some toolchains enable these
32269 features by default, but they rely on registers that aren't enabled
32270 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
32271
035f7122 322722009-10-15 Robert Millan <rmh.grub@aybabtu.com>
32273
32274 Make entry text a bit more readable.
32275
32276 * util/grub.d/10_linux.in: Add `with' before `Linux'.
32277
44998e58 322782009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32279
32280 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
32281
cd2851b3 322822009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32283
32284 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
32285 operations.
32286
c6f3b249 322872009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32288
32289 * configure.ac: Add missing dollar.
32290
6b5886ba 322912009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32292
32293 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
32294
32295 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
32296 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
32297 exports.
32298 * include/grub/sparc64/libgcc.h: Likewise. Use
32299 preprocessor conditionals.
32300
e9d66f6d 323012009-10-14 Robert Millan <rmh.grub@aybabtu.com>
32302
32303 * conf/common.rmk (grub-dumpbios): Remove rule.
32304 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
32305 * util/grub-dumpbios.in: Remove file.
32306
9155bc17 323072009-10-14 Robert Millan <rmh.grub@aybabtu.com>
32308
32309 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
32310 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
32311
32312 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
32313 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
32314 users.
32315
32316 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
32317 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
32318 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
32319 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
32320 users.
32321
bf7f7a18 323222009-10-12 Robert Millan <rmh.grub@aybabtu.com>
32323
32324 * term/tparm.c: Switch to GPLv3.
32325
86564c26 323262009-10-09 Robert Millan <rmh.grub@aybabtu.com>
32327
32328 * include/grub/i386/cpuid.h: Add header protection.
32329
5c936493 323302009-10-09 Robert Millan <rmh.grub@aybabtu.com>
32331
32332 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
32333
32334 * include/grub/i386/cpuid.h: New file.
32335 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
32336 (has_longmode): Rename to ...
32337 (grub_cpuid_has_longmode): ... this. Update all users. Remove
32338 `static' attribute.
32339 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
32340 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
32341 on a CPU that doesn't implement AMD64 instruction set.
32342
186e7cf2 323432009-10-06 Colin Watson <cjwatson@ubuntu.com>
32344
32345 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
32346 that version.texi is rebuilt on version number changes.
32347
83b65c4a 323482009-10-06 Colin Watson <cjwatson@ubuntu.com>
32349
32350 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
32351 Fixes bug #27602.
32352
d244281c 323532009-10-06 Colin Watson <cjwatson@ubuntu.com>
32354
32355 * util/i386/pc/grub-install.in: Source
32356 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
32357 that the --grub-probe option will work.
32358 * util/sparc64/ieee1275/grub-install.in: Likewise.
32359
da25306d 323602009-10-05 Robert Millan <rmh.grub@aybabtu.com>
32361
32362 * configure.ac: Bump version to 1.97~beta4.
32363
e8ee83c0 323642009-10-03 Robert Millan <rmh.grub@aybabtu.com>
32365
32366 Resync grub-mkdevicemap in x86_64-efi.
32367
32368 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
32369 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
32370 `util/devicemap.c'.
32371
50dcabcf 323722009-10-01 Colin Watson <cjwatson@ubuntu.com>
32373
32374 * util/grub-editenv.c (create_envblk_file): Write new block with a
32375 .new suffix and then rename it into place, to ensure atomic
32376 creation.
32377
0e51c3a7 323782009-09-28 Robert Millan <rmh.grub@aybabtu.com>
32379
32380 Do not automatically install headers.
32381
32382 * Makefile.in (include_DATA): Remove. Update all users.
32383
31299a95 323842009-09-26 Robert Millan <rmh.grub@aybabtu.com>
32385
32386 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
32387 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
32388
32389 * util/osdetect.lua: Remove.
32390 * script/lua/lauxlib.c: Likewise.
32391 * script/lua/ldebug.c: Likewise.
32392 * script/lua/grub_main.c: Likewise.
32393 * script/lua/lauxlib.h: Likewise.
32394 * script/lua/ldebug.h: Likewise.
32395 * script/lua/ltablib.c: Likewise.
32396 * script/lua/liolib.c: Likewise.
32397 * script/lua/lstrlib.c: Likewise.
32398 * script/lua/lualib.h: Likewise.
32399 * script/lua/ldo.c: Likewise.
32400 * script/lua/ldump.c: Likewise.
32401 * script/lua/ldo.h: Likewise.
32402 * script/lua/loslib.c: Likewise.
32403 * script/lua/lundump.c: Likewise.
32404 * script/lua/grub_lib.c: Likewise.
32405 * script/lua/ldblib.c: Likewise.
32406 * script/lua/lundump.h: Likewise.
32407 * script/lua/lmem.c: Likewise.
32408 * script/lua/grub_lib.h: Likewise.
32409 * script/lua/lmathlib.c: Likewise.
32410 * script/lua/lstate.c: Likewise.
32411 * script/lua/ltm.c: Likewise.
32412 * script/lua/lvm.c: Likewise.
32413 * script/lua/lmem.h: Likewise.
32414 * script/lua/lstate.h: Likewise.
32415 * script/lua/ltm.h: Likewise.
32416 * script/lua/ltable.c: Likewise.
32417 * script/lua/lvm.h: Likewise.
32418 * script/lua/llex.c: Likewise.
32419 * script/lua/lgc.c: Likewise.
32420 * script/lua/grub_lua.h: Likewise.
32421 * script/lua/loadlib.c: Likewise.
32422 * script/lua/lfunc.c: Likewise.
32423 * script/lua/lopcodes.c: Likewise.
32424 * script/lua/lparser.c: Likewise.
32425 * script/lua/ltable.h: Likewise.
32426 * script/lua/llex.h: Likewise.
32427 * script/lua/lgc.h: Likewise.
32428 * script/lua/lfunc.h: Likewise.
32429 * script/lua/lbaselib.c: Likewise.
32430 * script/lua/lopcodes.h: Likewise.
32431 * script/lua/lparser.h: Likewise.
32432 * script/lua/lzio.c: Likewise.
32433 * script/lua/linit.c: Likewise.
32434 * script/lua/lobject.c: Likewise.
32435 * script/lua/llimits.h: Likewise.
32436 * script/lua/lstring.c: Likewise.
32437 * script/lua/lzio.h: Likewise.
32438 * script/lua/lapi.c: Likewise.
32439 * script/lua/lcode.c: Likewise.
32440 * script/lua/lua.h: Likewise.
32441 * script/lua/lobject.h: Likewise.
32442 * script/lua/lstring.h: Likewise.
32443 * script/lua/lapi.h: Likewise.
32444 * script/lua/lcode.h: Likewise.
32445 * script/lua/luaconf.h: Likewise.
32446
cb8a2c38 324472009-09-26 Colin Watson <cjwatson@ubuntu.com>
32448
32449 * docs/grub.texi (Command-line and menu entry commands): Document
32450 date and echo commands.
32451
6b9b6276 324522009-09-24 Pavel Roskin <proski@gnu.org>
32453
32454 * include/grub/kernel.h (struct grub_module_header): Remove
32455 `grub_module_header_types'. Make `type' unsigned. Make `size'
32456 32-bit on all platforms.
32457 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
32458 8-bit field. Use grub_host_to_target32() for `size'.
32459 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
32460 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
32461 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
32462
4e5a02a7 324632009-09-24 Robert Millan <rmh.grub@aybabtu.com>
32464
32465 Fix "lost keypress" bug in at_keyboard.
32466
32467 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
32468 Checks for readyness of input buffer (without flushing it).
32469 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
32470 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
32471
c6dcedf6 324722009-09-24 Robert Millan <rmh.grub@aybabtu.com>
32473
32474 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
32475 size check within GRUB_MACHINE_PCBIOS section.
32476
74c958b1 324772009-09-24 Robert Millan <rmh.grub@aybabtu.com>
32478
32479 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
32480 return value.
32481 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
32482 KEYBOARD_ISREADY check.
32483 (grub_at_keyboard_checkkey): Rename to ...
32484 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
32485 Remove gratuitous cast.
32486
ff420223 324872009-09-23 Colin Watson <cjwatson@ubuntu.com>
32488
32489 * configure.ac: Call AC_PROG_MKDIR_P.
32490 * Makefile.in (docs/stamp-vti): Create docs directory. Create
32491 version.texi in $(builddir) rather than $(srcdir).
32492 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
32493 to makeinfo's @include search path.
32494
d96875df 324952009-09-23 Felix Zielcke <fzielcke@z-51.de>
32496
32497 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
32498
9b3f8365 324992009-09-23 Felix Zielcke <fzielcke@z-51.de>
32500
32501 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
32502 for `*.dpkg-new'.
32503
c44c90db 325042009-09-21 Colin Watson <cjwatson@ubuntu.com>
32505
32506 Build info documentation. Some code borrowed from Automake.
32507
32508 * configure.ac: Check for makeinfo.
32509 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
32510 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
32511 docs/version.texi.
32512 (MOSTLYCLEANFILES): Add vti.tmp.
32513 (docs/version.texi, docs/stamp-vti): Update automatically.
32514 (docs/grub.info): Build info documentation. Use --force and ignore
32515 errors for now.
32516 (all-local): Add $(INFOS).
32517 (install-local): Install info files.
32518 (uninstall): Uninstall info files.
32519 * docs/version.texi: Remove from revision control. This file is
32520 automatically generated on build now.
32521 * gendistlist.sh: Add `*.info'.
32522
e0b37bb5 325232009-09-21 Felix Zielcke <fzielcke@z-51.de>
32524
32525 * kern/term.c: Fix indentation.
32526
5a78865b 325272009-09-21 Felix Zielcke <fzielcke@z-51.de>
32528
32529 * util/hostdisk.c: Fix a comment.
32530
dace7e8a 325312009-09-20 Robert Millan <rmh.grub@aybabtu.com>
32532
32533 Fix regression introduced in r2539.
32534
32535 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
32536 to 0xA1.
32537
a83d079b 325382009-09-19 Colin Watson <cjwatson@ubuntu.com>
32539
32540 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 32541 os-prober. Under normal operation, it does not print anything to
32542 stderr; if it does, we need to debug it, and throwing away stderr
32543 makes that excessively difficult.
a83d079b 32544
be94a509 325452009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
32546
32547 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
32548
63f745e8 325492009-09-16 Robert Millan <rmh.grub@aybabtu.com>
32550
32551 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
32552 AC_LANG_PROGRAM from autoconf.
32553 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
32554 prototypes (fixes warning).
32555
32556 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
32557 `--disable-werror' was used.
32558
bbb2a70f 325592009-09-16 Robert Millan <rmh.grub@aybabtu.com>
32560
32561 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
32562 uninitialized `lastaddr'.
32563
77c24f1d 325642009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
32565
0f0b8c87 32566 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 32567
07197f23 325682009-09-14 Colin Watson <cjwatson@ubuntu.com>
32569
32570 * commands/test.c (get_fileinfo): Return immediately if
32571 grub_fs_probe fails.
32572
dabf1798 325732009-09-14 José Martínez <xosemp@gmail.com>
32574
32575 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
32576
d52109a7 325772009-09-14 Colin Watson <cjwatson@ubuntu.com>
32578
32579 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
32580 output.
32581
56532179 325822009-09-13 Robert Millan <rmh.grub@aybabtu.com>
32583
32584 * configure.ac: Remove --enable-grub-pe2elf. Only build
32585 grub-pe2elf when needed by the build system itself.
32586 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
32587
8ef070f5 325882009-09-12 Robert Millan <rmh.grub@aybabtu.com>
32589
32590 * configure.ac: Bump version to 1.97~beta3.
32591 * docs/version.texi: Likewise.
32592
61229557 325932009-09-12 Robert Millan <rmh.grub@aybabtu.com>
32594
32595 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
32596 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
32597 from here ...
32598 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
32599 (grub_linux_setup_video): ... to here (with some adjustments).
32600
5c9f8d84 326012009-09-12 Robert Millan <rmh.grub@aybabtu.com>
32602
32603 Fix memory corruption issue (spotted by Colin Watson).
32604
32605 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
32606 causing returned size to be stored in an incorrect memory location.
32607 Fix use of uninitialized value when storing the returned size.
32608
e8f5d6e9 326092009-09-12 Yves Blusseau <blusseau@zetam.org>
32610
32611 Change clean rules to properly remove files
32612
32613 * genmk.rb: add new clean rules
32614 * Makefile.in (clean): add the new targets
32615 (mostlyclean): likewise
32616
cda2a409 326172009-09-11 Colin Watson <cjwatson@ubuntu.com>
32618
32619 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
32620 to grub_uint64_t.
32621 * fs/ntfs.c (init_file): Understand 64-bit sizes for
32622 non-resident files.
32623
86695375 326242009-09-11 Colin Watson <cjwatson@ubuntu.com>
32625
32626 * configure.ac: Don't look for help2man when cross-compiling. Fixes
32627 part of bug #27349.
32628
8aa1541a 326292009-09-10 Felix Zielcke <fzielcke@z-51.de>
32630
32631 * util/grub-mkconfig.in: Make the created config mode 400 and
32632 print a warning if it fails.
32633
48d9bb0a 326342009-09-10 Robert Millan <rmh.grub@aybabtu.com>
32635
32636 * util/grub.d/40_custom.in: Ask user to type custom entries below
32637 comment, rather than below 'exec tail' line.
32638
3b0521be 326392009-09-10 Colin Watson <cjwatson@ubuntu.com>
32640
32641 * util/grub.d/40_custom.in: Make sure that the explanatory text is
32642 visible in grub.cfg.
32643
50051d55 326442009-09-10 Colin Watson <cjwatson@ubuntu.com>
32645
32646 * util/grub.d/40_custom.in: Make it a little clearer how to use this
32647 file.
32648
c0d34387 326492009-09-10 Felix Zielcke <fzielcke@z-51.de>
32650
32651 * docs/grub.cfg: Add an example menu entry for memtest86+.
32652
80a608f3 326532009-09-09 Felix Zielcke <fzielcke@z-51.de>
32654
a2094832 32655 * config.guess: Update to latest version from config git.
80a608f3 32656 * config.sub: Likewise.
32657
99423078 326582009-09-08 Colin Watson <cjwatson@ubuntu.com>
32659
32660 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
32661 unknown-command case. Fixes bug #27320.
32662
44454e4c 326632009-09-08 Felix Zielcke <fzielcke@z-51.de>
32664
32665 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
32666 `help' if the command exists.
32667
e30d87ad 326682009-09-06 Robert Millan <rmh.grub@aybabtu.com>
32669
32670 * INSTALL: Require GCC 4.1.3 or later.
32671
9a86f1ec 326722009-09-06 Yves Blusseau <blusseau@zetam.org>
32673
32674 * Makefile.in (RMKFILES): add i386-qemu.rmk
32675 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
32676 $(srcdir)/stamp-h.in
32677
7f26d466 326782009-09-05 Robert Millan <rmh.grub@aybabtu.com>
32679
32680 * util/grub-probe.c (probe): Comment out buggy codepath, which
32681 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
32682 should be re-enabled after 1.97.
32683
3a613259 326842009-09-05 Felix Zielcke <fzielcke@z-51.de>
32685
32686 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
32687 find searches for.
32688
197f76c7 326892009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
32690
32691 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
32692 unnecessary calls to grub_error.
32693
70ba68ce 326942009-09-04 Colin Watson <cjwatson@ubuntu.com>
32695
32696 * NEWS: Mention `keystatus' and Unicode fonts.
32697
4ff0d7a4 326982009-09-04 Robert Millan <rmh.grub@aybabtu.com>
32699
32700 * configure.ac: Bump version to 1.97~beta2.
32701 * docs/version.texi: Likewise.
32702
77c55a87 327032009-09-03 Colin Watson <cjwatson@ubuntu.com>
32704
32705 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
32706 containing unwind information in some cases where it previously did
32707 not. Use -fno-dwarf2-cfi-asm if available to restore the old
32708 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
32709 discussion.
32710
f79572cd 327112009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
32712
32713 Embedding loadenv module into grub-emu
32714
32715 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
32716 commands/loadenv.c
32717 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
32718 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
32719 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
32720 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
32721 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
32722 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
32723
93a81088 327242009-09-03 Magnus Granberg <zorry@ume.nu>
32725
32726 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
32727 include -fPIE in the default specs.
32728 * configure.ac: Check if pie_possible is yes and add -fno-PIE
32729 to TARGET_CFLAGS.
32730
160034b2 327312009-09-03 Felix Zielcke <fzielcke@z-51.de>
32732
32733 * INSTALL: Note that GNU Bison 2.3 or later is required.
32734
087c07c4 327352009-09-03 Colin Watson <cjwatson@ubuntu.com>
32736
32737 * kern/i386/pc/startup.S: Fix typo.
32738
cbf978c0 327392009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
32740
32741 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
32742 according to GCS.
32743
327442009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 32745
32746 * docs/grub.texi (Naming convention): Describe one-based partition
32747 numbering.
32748 (Device syntax): Likewise.
32749 (File name syntax): Likewise.
32750 (Block list syntax): Likewise.
32751 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
32752 menu.lst.
32753 (File name syntax): Likewise.
32754 (Command-line and menu entry commands): Document acpi, blocklist,
32755 crc, export, insmod, keystatus, ls, set, and unset commands.
32756
f3e8cdfd 327572009-09-02 Colin Watson <cjwatson@ubuntu.com>
32758
32759 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
32760 to avoid implying that only one of --shift, --ctrl, or --alt may be
32761 used.
32762
c0bc232b 327632009-09-02 Colin Watson <cjwatson@ubuntu.com>
32764
32765 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
32766 rather than comparing against S_IFREG, which will almost never work.
32767
aa0f752d 327682009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
32769
32770 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
32771 (write_blocklists): Likewise.
32772
ecb3166a 327732009-09-01 Colin Watson <cjwatson@ubuntu.com>
32774
32775 * script/lua/grub_lua.h (fputs): Supply a format string as the first
32776 argument to grub_printf.
32777
c403a125 327782009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 32779
32780 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 32781 non GNU test.
31aba781 32782
b5e7312c 327832009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
32784
32785 * kern/file.c (grub_file_read): Spelling fix
32786
fe00f472 327872009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
32788
32789 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
32790 loading of headers in some cases.
32791
cc55302e 327922009-08-30 Robert Millan <rmh.grub@aybabtu.com>
32793
32794 * configure.ac: Bump version to 1.97~beta1.
32795 * docs/version.texi: Likewise.
32796
5c90cdd2 327972009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 32798
32799 * include/grub/i386/xnu.h: Add license header.
32800 include grub/err.h explicitly.
32801
c90edae4 328022009-08-29 Robert Millan <rmh.grub@aybabtu.com>
32803
32804 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
32805 to `ufs' in the vfs.root.mountfrom kernel parameter.
32806
d8888b5c 328072009-08-29 Robert Millan <rmh.grub@aybabtu.com>
32808
32809 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
32810
32811 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
32812 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
32813
32814 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
32815 `ARRAY_SIZE' macro.
32816
6f07b921 328172009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
32818
32819 * kern/file.c (grub_file_read): Check offset.
32820 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
32821 * fs/jfs.c (grub_jfs_read_file): Likewise.
32822 * fs/ntfs.c (grub_ntfs_read): Likewise.
32823 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
32824 * fs/minix.c (grub_minix_read_file): Correct offset check.
32825 * fs/ufs.c (grub_ufs_read_file): Likewise.
32826
b4f34077 328272009-08-28 Colin Watson <cjwatson@ubuntu.com>
32828
32829 * term/i386/pc/console.c (bios_data_area): Cast
32830 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
32831
e7c69859 328322009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
32833
32834 1-bit optimised blitters.
32835
32836 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
32837 prototype.
32838 (grub_video_fbblit_replace_24bit_1bit): Likewise.
32839 (grub_video_fbblit_replace_16bit_1bit): Likewise.
32840 (grub_video_fbblit_replace_8bit_1bit): Likewise.
32841 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
32842 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
32843 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
32844 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
32845 function.
32846 (grub_video_fbblit_replace_24bit_1bit): Likewise.
32847 (grub_video_fbblit_replace_16bit_1bit): Likewise.
32848 (grub_video_fbblit_replace_8bit_1bit): Likewise.
32849 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
32850 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
32851 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
32852 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
32853 when possible.
32854 * video/video.c (grub_video_get_blit_format): Return
32855 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
32856
a57da43f 328572009-08-28 Colin Watson <cjwatson@ubuntu.com>
32858
32859 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
32860 the first argument to grub_printf.
32861
4cbe67e5 328622009-08-28 Colin Watson <cjwatson@ubuntu.com>
328632009-08-28 Robert Millan <rmh.grub@aybabtu.com>
32864
32865 Add `getkeystatus' terminal method. Add a new `keystatus' command
32866 to query it.
32867
32868 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
32869 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
32870 modifier key bitmasks.
32871 (struct grub_term_input): Add `getkeystatus' member.
32872 (grub_getkeystatus): Add prototype.
32873 * kern/term.c (grub_getkeystatus): New function.
32874
32875 * include/grub/i386/pc/memory.h
32876 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
32877 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
32878 Data Area layout.
32879 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
32880 (grub_console_term_input): Set `getkeystatus' member.
32881 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
32882 constants.
32883 (grub_usb_keyboard_getreport): Likewise.
32884 (grub_usb_keyboard_checkkey): Likewise.
32885 (grub_usb_keyboard_getkeystatus): New function.
32886 (grub_usb_keyboard_term): Set `getkeystatus' member.
32887
32888 * commands/keystatus.c: New file.
32889 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
32890 (keystatus_mod_SOURCES): New variable.
32891 (keystatus_mod_CFLAGS): Likewise.
32892 (keystatus_mod_LDFLAGS): Likewise.
32893 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
32894 commands/keystatus.c.
32895 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32896 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32897 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32898 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32899 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32900 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 32901
6e2a9085 329022009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
32903
32904 Split befs.mod and afs.mod into *_be.mod and *.mod
32905
32906 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
32907 (grub_fstest_SOURCES): Likewise.
32908 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
32909 (afs_be_mod_SOURCES): New variable.
32910 (afs_be_mod_CFLAGS): Likewise.
32911 (afs_be_mod_LDFLAGS): Likewise.
32912 (befs_be_mod_SOURCES): Likewise.
32913 (befs_be_mod_CFLAGS): Likewise.
32914 (befs_be_mod_LDFLAGS): Likewise.
32915 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
32916 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32917 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32918 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
32919 (grub_emu_SOURCES): Likewise.
32920 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32921 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32922 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32923 * fs/afs_be.c: New file.
32924 * fs/befs_be.c: New file.
32925 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
32926 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
32927 (U16): Replaced with ...
32928 (grub_afs_to_cpu16): ...this. All users updated.
32929 (U32): Replaced with ...
32930 (grub_afs_to_cpu32): ...this. All users updated.
32931 (U64): Replaced with ...
32932 (grub_afs_to_cpu64): ...this. All users updated.
32933 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
32934 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 32935 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 32936 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
32937 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
32938 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
32939 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
32940 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
32941 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
32942 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
32943 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
32944
32a71655 329452009-08-26 Bean <bean123ch@gmail.com>
32946
32947 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
32948 64-bit number.
32949 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
32950 (grub_xfs_inode_block): Change return type to grub_uint64_t.
32951 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
32952
552bf6c5 329532009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32954
32955 NetBSD memory map support.
32956
32957 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
32958 (grub_netbsd_btinfo_mmap_header): New structure.
32959 (grub_netbsd_btinfo_mmap_entry): Likewise.
32960 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
32961
1ae2078c 329622009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32963
32964 Enable bsd.mod on coreboot.
32965
32966 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
32967 (bsd_mod_SOURCES): New variable.
32968 (bsd_mod_CFLAGS): Likewise.
32969 (bsd_mod_LDFLAGS): Likewise.
32970 (bsd_mod_ASFLAGS): Likewise.
32971 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
32972 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
32973
beefc598 329742009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32975
32976 Cleanup NetBSD root support.
32977
32978 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
32979 grub_bsd_get_device.
32980 Fix typo.
32981
3b76e68b 329822009-08-25 Felix Zielcke <fzielcke@z-51.de>
32983
32984 * util/grub.d/00_header.in: Move check for the video backend of
32985 gfxterm from here ...
32986 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
32987 a suitable video backend.
32988
aea664ea 329892009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32990
32991 Fix breakage in grub-setup.
32992
32993 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
32994 "msdos_partition_map".
32995
ff747d50 329962009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32997
32998 Fix breakage in normal/auth.c.
32999
33000 * normal/auth.c (grub_iswordseparator): New function.
33001
e7e1f93f 330022009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33003
33004 Authentication support.
33005
33006 * commands/password.c: New file.
33007 * conf/common.rmk (pkglib_MODULES): Add password.mod.
33008 (password_mod_SOURCES): New variable.
33009 (password_mod_CFLAGS): Likewise.
33010 (password_mod_LDFLAGS): Likewise.
33011 (normal_mod_SOURCES): Add normal/auth.c.
33012 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
33013 normal/auth.c.
33014 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33015 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33016 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33017 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33018 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33019 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33020 * include/grub/auth.h: New file.
33021 * include/grub/err.h (grub_err_t): New enum value
33022 GRUB_ERR_ACCESS_DENIED.
33023 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
33024 'users'.
33025 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
33026 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
33027 users updated.
33028 * normal/auth.c: New file.
33029 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
33030 (grub_cmdline_run): Don't allow to go to command line without
33031 authentication.
33032 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
33033 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
33034 menuentry without superuser rights.
33035 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
33036 user isn't a superuser.
33037
70f1161d 330382009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33039
33040 Save space by inlining misc.c functions.
33041
33042 * kern/misc.c (grub_iswordseparator): Made static.
33043 * kern/misc.c (grub_strcat): Moved from here ...
33044 * include/grub/misc.h (grub_strcat): ... here. Inlined.
33045 * kern/misc.c (grub_strncat): Moved from here ...
33046 * include/grub/misc.h (grub_strncat): ... here. Inlined.
33047 * kern/misc.c (grub_strcasecmp): Moved from here ...
33048 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
33049 * kern/misc.c (grub_strncasecmp): Moved from here ...
33050 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
33051 * kern/misc.c (grub_isalpha): Moved from here ...
33052 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
33053 * kern/misc.c (grub_isdigit): Moved from here ...
33054 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
33055 * kern/misc.c (grub_isgraph): Moved from here ...
33056 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
33057 * kern/misc.c (grub_tolower): Moved from here ...
33058 * include/grub/misc.h (grub_tolower): ... here. Inlined.
33059
48e40bff 330602009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33061
33062 * script/sh/function.c (grub_script_function_find): Cut error message
33063 not to flood terminal.
33064 * script/sh/lexer.c (grub_script_yylex): Remove command line length
33065 limit.
33066 * script/sh/script.c (grub_script_arg_add): Duplicate string.
33067
c385bfc3 330682009-08-24 Colin Watson <cjwatson@ubuntu.com>
33069
33070 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
33071 `report' grub_uint8_t *.
33072 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
33073 Use a 50-millisecond timeout rather than just repeating
33074 grub_usb_keyboard_getreport 50 times.
33075 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
33076
2d21e3e8 330772009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33078
33079 Rename *_partition_map to part_*
33080
33081 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
33082 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
33083 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
33084 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
33085 All users updated.
33086 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
33087 All users updated.
33088 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
33089 * util/grub-probe.c (probe_partmap): Don't transform partition name
33090 to get module name.
33091
dd103c4e 330922009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33093
33094 Fix OpenBSD and NetBSD support.
33095
33096 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
33097 memory address conflict.
33098 (OPENBSD_MMAP_ACPI): New definition.
33099 (OPENBSD_MMAP_NVS): Likewise.
33100 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
33101 and OPENBSD_MMAP_NVS.
33102 Add memory map terminator
33103 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 33104 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 33105
16c84d74 331062009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33107
33108 Let user specify NetBSD root device.
33109
33110 * loader/i386/bsd.c (netbsd_root): New variable.
33111 (netbsd_opts): New option 'root'.
33112 (NETBSD_ROOT_ARG): New macro.
33113 (grub_netbsd_boot): Use 'netbsd_root'.
33114 (grub_bsd_unload): Free 'netbsd_root'.
33115 (grub_cmd_netbsd): Fill 'netbsd_root'.
33116
adb29902 331172009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33118
33119 Support for 64-bit NetBSD.
33120
33121 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
33122 point when booting non-FreeBSD.
33123
f5ae9f74 331242009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33125
33126 Support --no-smp and --no-acpi for NetBSD.
33127
33128 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
33129 (NETBSD_AB_NOACPI): Likewise.
33130 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
33131 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
33132
de74f136 331332009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33134
33135 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
33136 errors.
33137 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
33138 errors. Call grub_error when needed.
33139
e9a925da 331402009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33141
33142 * commands/search.c (search_fs): Try searching without autoload first.
33143 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
33144 filesystem module explicitly for faster booting.
33145
5174302b 331462009-08-23 Colin Watson <cjwatson@ubuntu.com>
33147
33148 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
33149
c8c80635 331502009-08-23 Colin Watson <cjwatson@ubuntu.com>
33151
33152 * util/grub.d/30_os-prober.in: Disable os-prober if
33153 `GRUB_DISABLE_OS_PROBER' was set to true.
33154
71acf5e5 331552009-08-23 Robert Millan <rmh.grub@aybabtu.com>
33156
33157 * partmap/pc.c: Rename to ...
33158 * partmap/msdos.c: ... this. Update all users.
33159 (grub_pc_partition_map): Rename to ...
33160 (grub_msdos_partition_map): ... this. Update all users.
33161
33162 * parttool/pcpart.c: Rename to ...
33163 * parttool/msdospart.c: ... this. Update all users.
33164
33165 * include/grub/pc_partition.h: Rename to ...
33166 * include/grub/msdos_partition.h: ... this. Update all users.
33167 (grub_pc_partition_bsd_entry): Rename to ...
33168 (grub_msdos_partition_bsd_entry): ... this. Update all users.
33169 (grub_pc_partition_disk_label): Rename to ...
33170 (grub_msdos_partition_disk_label): ... this. Update all users.
33171 (grub_pc_partition_entry): Rename to ...
33172 (grub_msdos_partition_entry): ... this. Update all users.
33173 (grub_pc_partition_mbr): Rename to ...
33174 (grub_msdos_partition_mbr): ... this. Update all users.
33175 (grub_pc_partition): Rename to ...
33176 (grub_msdos_partition): ... this. Update all users.
33177 (grub_pc_partition_is_empty): Rename to ...
33178 (grub_msdos_partition_is_empty): ... this. Update all users.
33179 (grub_pc_partition_is_extended): Rename to ...
33180 (grub_msdos_partition_is_extended): ... this. Update all users.
33181 (grub_pc_partition_is_bsd): Rename to ...
33182 (grub_msdos_partition_is_bsd): ... this. Update all users.
33183
33184 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
33185 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
33186 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
33187 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
33188 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
33189 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
33190 (gpt_mod_LDFLAGS): Rename to ...
33191 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
33192 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
33193 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
33194 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
33195 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
33196 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
33197 (part_gpt_mod_LDFLAGS): ... this.
33198 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
33199 `pcpart.mod' to `msdospart.mod'.
33200 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
33201 to ...
33202 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
33203 (msdospart_mod_LDFLAGS): ... this.
33204
c11fded5 332052009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33206
33207 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
33208 (openbsd_opts): Likewise.
33209 (netbsd_opts): Likewise.
33210 (freebsd_flags): Added 0 terminator.
33211 (openbsd_flags): Likewise.
33212 (netbsd_flags): Likewise.
33213 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
33214 (grub_cmd_freebsd): Transformed into extended command.
33215 (grub_cmd_openbsd): Likewise.
33216 (grub_cmd_netbsd): Likewise.
33217 (cmd_freebsd): Changed type to grub_extcmd_t.
33218 (cmd_openbsd): Likewise.
33219 (cmd_netbsd): Likewise.
33220 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
33221 grub_cmd_openbsd as extended commands.
33222 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
33223 cmd_netbsd and cmd_openbsd
33224
11d1c769 332252009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
33226
33227 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
33228
7a9094e5 332292009-08-21 Pavel Roskin <proski@gnu.org>
33230
5496c37e 33231 * Makefile.in (install-local): When checking if a file is in the
33232 build directory, use "test -e" to detect symlinks.
33233
7a9094e5 33234 * Makefile.in (install-local): Remove all files in
33235 $(DESTDIR)$(pkglibdir) before installing new files there.
33236
e53cea11 332372009-08-18 Felix Zielcke <fzielcke@z-51.de>
33238
33239 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
33240 grub-mkelfimage.
33241
9aced544 332422009-08-18 Felix Zielcke <fzielcke@z-51.de>
33243
33244 * util/grub-mkconfig.in: Don't use gfxterm by default if not
33245 explicitly specified by the user.
33246
b7da6bab 332472009-08-18 Pavel Roskin <proski@gnu.org>
33248
33249 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
33250 grub_uint8_t pointer for data.
33251 * include/grub/fbutil.h (struct grub_video_fbblit_info):
33252 Likewise.
33253 * video/fb/fbutil.c: Remove unnecessary casts.
33254
19f1b335 332552009-08-17 Michal Suchanek <hramrach@centrum.cz>
33256
33257 VBE cleanup.
33258
33259 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
33260 (grub_vbe_set_video_mode): Save active mode info
33261 only after setting the mode.
33262 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
33263 second argument.
33264
2f467aa9 332652009-08-17 Michal Suchanek <hramrach@centrum.cz>
33266
33267 Rename variables for clarity.
33268
33269 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
33270 (active_vbe_mode_info): ... this. All users updated.
33271 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
33272 All users updated.
33273 (initial_mode): Rename to ...
33274 (initial_vbe_mode): ... this. All users updated.
33275 (mode_in_use): Rename to ..
33276 (vbe_mode_in_use): ... this. All users updated.
33277 (mode_list): Rename to ..
33278 (vbe_mode_list): ... this. All users updated.
33279 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
33280 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
33281 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
33282 'mode_list_size' to 'vbe_mode_list_size'.
33283 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
33284 'best_mode_info' to 'best_vbe_mode_info' and
33285 'best_mode' to 'best_vbe_mode'
33286
6025fcd7 332872009-08-17 Michal Suchanek <hramrach@centrum.cz>
33288
33289 Remove duplicate grub_video_fb_get_video_ptr.
33290
33291 * include/grub/fbutil.h (get_data_ptr): Rename to ...
33292 (grub_video_fb_get_video_ptr): ... this.
33293 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
33294 * video/fb/fbutil.c: Add comment about addressing.
33295 (get_data_ptr): Rename to ...
33296 (grub_video_fb_get_video_ptr): ... this. All users updated.
33297 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
33298
cc8c6faf 332992009-08-17 Robert Millan <rmh.grub@aybabtu.com>
33300
33301 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
33302 grub_dprintf() that was just added.
33303
08aa61f0 333042009-08-17 Robert Millan <rmh.grub@aybabtu.com>
33305
33306 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
33307 (DEFAULT_VIDEO_MODE): Remove macros.
33308 (grub_linux_boot): Remove assumption that Linux has FB support,
33309 and use "text" as default video mode.
33310
7cef4f75 333112009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
33312
33313 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
33314 grub_dprintf.
33315 * fs/fat.c (grub_fat_read_data): Likewise.
33316
e1f39873 333172009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33318
33319 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
33320 payload.
33321 (grub_module): Likewise.
33322
c166d79e 333232009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33324
33325 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
33326 mbi->cmdline but free playground.
33327
c60cee8e 333282009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33329
33330 Handle group offset on UFS1.
33331
33332 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
33333 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
33334
c0d8b5d4 333352009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33336
33337 Split ufs.mod into ufs1.mod and ufs2.mod.
33338
33339 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
33340 (grub_fstest_SOURCES): Likewise.
33341 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
33342 (ufs_mod_SOURCES): Remove.
33343 (ufs_mod_CFLAGS): Likewise.
33344 (ufs_mod_LDFLAGS): Likewise.
33345 (ufs1_mod_SOURCES): New variable.
33346 (ufs1_mod_CFLAGS): Likewise.
33347 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 33348 (ufs2_mod_SOURCES): New variable.
33349 (ufs2_mod_CFLAGS): Likewise.
33350 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 33351 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
33352 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
33353 Likewise.
33354 (grub_emu_SOURCES): Likewise.
33355 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33356 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33357 (grub_setup_SOURCES): Likewise.
33358 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33359 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
33360 (grub_setup_SOURCES): Likewise.
33361 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
33362 Likewise.
33363 * fs/ufs2.c: New file.
33364 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
33365
d3539132 333662009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33367
33368 Framebuffer split.
33369
33370 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
33371 subsystem at the end.
33372 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
33373 (video_fb_mod_SOURCES): New variable.
33374 (video_fb_mod_CFLAGS): Likewise.
33375 (video_fb_mod_LDFLAGS): Likewise.
33376 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
33377 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
33378 * video/i386/pc/vbeblit.c: Moved from here ...
33379 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
33380 * video/i386/pc/vbefill.c: Moved from here ...
33381 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
33382 * video/i386/pc/vbeutil.c: Moved from here ...
33383 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
33384 * include/grub/i386/pc/vbeblit.h: Moved from here ...
33385 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
33386 * include/grub/i386/pc/vbefill.h: Moved from here ...
33387 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
33388 * include/grub/i386/pc/vbeutil.h: Moved from here ...
33389 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
33390 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
33391 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
33392 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
33393 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
33394 (grub_video_adapter): Added 'get_info_and_fini'.
33395 (grub_video_get_info_and_fini): New prototype.
33396 (grub_video_set_mode): make modestring const char *.
33397 * loader/i386/linux.c (grub_linux_setup_video): Use
33398 grub_video_get_info_and_fini.
33399 (grub_linux_boot): Move modesetting just before booting.
33400 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
33401 grub_video_get_info_and_fini.
33402 * video/i386/pc/vbe.c: Moved framebuffer part ...
33403 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
33404 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
33405 grub_video_fbstd_colors and grub_video_fb_set_palette.
33406 (grub_video_vbe_init): Clear 'framebuffer' variable and use
33407 grub_video_fb_init.
33408 (grub_video_vbe_fini): Use grub_video_fb_fini.
33409 (grub_video_vbe_setup): Use framebuffer.render_target instead of
33410 render_target and use grub_video_fb_set_active_render_target and
33411 grub_video_fb_set_palette.
33412 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
33413 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
33414 (grub_video_vbe_adapter): Use framebuffer.
33415 * video/video.c (grub_video_get_info_and_fini): New function.
33416 (grub_video_set_mode): Make modestring const char *.
33417 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
33418 values are already initialised.
33419
d404ee56 334202009-08-14 Pavel Roskin <proski@gnu.org>
33421
33422 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
33423 ABS and APPLE_CC.
33424 * boot/i386/pc/diskboot.S: Likewise.
33425 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
33426 sectors allow compilation on MacOSX.
33427 * conf/i386-pc.rmk: Enable unconditional compilation of
33428 lnxboot.img.
33429
9a10df16 334302009-08-13 Colin Watson <cjwatson@ubuntu.com>
33431
33432 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
33433 * util/grub.d/00_header.in: Enter interruptible sleep if
33434 GRUB_HIDDEN_TIMEOUT is set.
33435
be3c9ca7 334362009-08-13 Yves Blusseau <blusseau@zetam.org>
33437
33438 * include/grub/symbol.h: Add the LOCAL macro.
33439 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
33440 starting with "L_".
33441
1f9e557e 334422009-08-13 Pavel Roskin <proski@gnu.org>
33443
9ca62843 33444 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
33445 any modern compilers we support.
33446
1f9e557e 33447 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
33448 Use local labels starting with "L_" so that Apple assembler
33449 knows they are local.
33450
81623db6 334512009-08-10 Robert Millan <rmh.grub@aybabtu.com>
33452
33453 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
33454 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
33455 (bsd_kernel_types): ... this enum.
33456
33457 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
33458 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
33459 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
33460
33461 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
33462 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
33463 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
33464 messages.
33465
f5d35e7a 334662009-08-08 Robert Millan <rmh.grub@aybabtu.com>
33467
33468 * util/grub-dumpdevtree: Moved from here ...
33469 * util/i386/efi/grub-dumpdevtree: ... to here.
33470 (hexify): New function. Converts a string to its hex version.
33471 Generate hex versions of "efi" and "device-properties" by calling
33472 hexify() on the ASCII strings rather than by hardcoding numbers.
33473
d1e1d527 334742009-08-08 Robert Millan <rmh.grub@aybabtu.com>
33475
33476 * fs/jfs.c: Update copyright year.
33477
1ebbe064 334782009-08-08 Felix Zielcke <fzielcke@z-51.de>
33479
33480 * util/grub.d/00_header.in: Fix a comment.
33481 * util/grub.d/10_linux.in: Likewise.
33482 * util/grub.d/10_windows.in: Likewise.
33483 * util/grub.d/10_hurd.in: Likewise.
33484
a78c8d24 334852009-08-08 Felix Zielcke <fzielcke@z-51.de>
33486
33487 * util/grub-mkconfig.in: Allow the user to specify the used font
33488 with GRUB_FONT.
33489
29a6b9e8 334902009-08-08 Pavel Roskin <proski@gnu.org>
33491
b5f16cc4 33492 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
33493 available, xfs.mod needs it now.
33494
2f5cb827 33495 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
33496 the "g" modifier in sed when the intention is to strip something
33497 once. This fixes comparison of kernels with multiple dashes.
33498
29a6b9e8 33499 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
33500 on it. Add missing space before closing bracket. Fix
33501 misleading formatting.
33502
892a3d98 335032009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33504
33505 * docs/grub.texi: Major overhaul. Remove all sections that are
33506 specific to GRUB Legacy, or mostly composed of Legacy-specific
33507 information.
33508
ed94253f 335092009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33510
33511 * docs/version.texi: New file. Provides version information for
33512 grub.texi.
33513
126d6628 335142009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33515
33516 * docs/grub.texi: Update CVS information to SVN.
33517 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
33518
998b5aa9 335192009-08-07 Felix Zielcke <fzielcke@z-51.de>
33520
33521 * util/grub-mkconfig.in: Remove a wrong `fi'.
33522
818e094a 335232009-08-07 Felix Zielcke <fzielcke@z-51.de>
33524
33525 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
33526 (grub_jfs_uuid): New function.
33527 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
33528
b969c52f 335292009-08-07 Felix Zielcke <fzielcke@z-51.de>
33530
33531 * util/grub-mkconfig_lib.in (font_path): Move the functionality
33532 of it to ...
33533 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
33534 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
33535
7a4894cc 335362009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33537
33538 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
33539 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
33540 Update all users.
33541
33542 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
33543 not just "vmlinu[zx]".
33544 Moved from here ...
33545 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
33546 all users.
33547
33548 * util/grub.d/10_linux.in (find_latest): Moved from here ...
33549 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
33550 all users.
33551
4e2171f8 335522009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33553
33554 * util/grub.d/10_freebsd.in: Use an absolute device path for
33555 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
33556
6dcfcb32 335572009-08-06 Felix Zielcke <fzielcke@z-51.de>
33558
33559 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
33560 handling of multiple abstraction modules.
33561
f56a8756 335622009-08-04 Robert Millan <rmh.grub@aybabtu.com>
33563
33564 Fix a bug resulting in black screen when loading Linux using a
33565 packed video mode.
33566
33567 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
33568 function.
33569
33570 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
33571 (grub_vbe_bios_getset_dac_palette_width): New function.
33572 (grub_vbe_bios_get_dac_palette_width)
33573 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
33574 grub_vbe_bios_getset_dac_palette_width()).
33575
33576 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
33577 check for return status.
33578 (grub_vbe_get_video_mode_info): When getting information for a packed
33579 mode (<= 8 bpp), obtain DAC palette width using
33580 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
33581 {red,green,blue}_mark_size.
33582
222671b2 335832009-08-04 Felix Zielcke <fzielcke@z-51.de>
33584
ecb1a6d9 33585 * commands/search.c (options): Fix help output to match actual code.
222671b2 33586
f84114f5 335872009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
33588
33589 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
33590 of homegrown code.
33591
bd288a20 335922009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 33593
33594 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
33595 on XFS or ReiserFS.
33596
8aab5e25 335972009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
33598
33599 Support Apple partition map with sector size different from 512 bytes.
33600
33601 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
33602 (apple_partition_map_iterate): Respect 'aheader.blocksize'
33603 and 'apart.partmap_size'.
33604
6ad6258a 336052009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
336062009-08-01 Robert Millan <rmh.grub@aybabtu.com>
33607
33608 Fix cpuid command.
33609
33610 * commands/i386/cpuid.c (options): New variable.
33611 (grub_cmd_cpuid): Return real error.
33612 (GRUB_MOD_INIT(cpuid)): Declare options.
33613
67459bc6 336142009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
33615
33616 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
33617 valid.
33618
fbc6ab54 336192009-07-31 Bean <bean123ch@gmail.com>
33620
33621 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
33622 log2_inode.
33623 (grub_fshelp_node): Move inode field to the end.
33624 (grub_xfs_data): Remove inode field.
33625 (grub_xfs_inode_block): Calculate inode size using sblock.
33626 (grub_xfs_inode_offset): Likewise.
33627 (grub_xfs_read_inode): Calculate inode size using sblock.
33628 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
33629 (grub_xfs_iterate_dir): Calculate inode size using sblock.
33630 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
33631 to match inode size.
33632 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
33633 not accessible when data is null.
33634 (grub_xfs_open): Likewise.
33635
f45d6cfc 336362009-07-31 Bean <bean123ch@gmail.com>
33637
33638 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
33639 Don't change pv->disk if it's already set.
33640
33641 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
33642 (grub_raid_register): ... here.
33643 (grub_raid_rescan): Removed.
33644
33645 * include/grub/raid.h (grub_raid_rescan): Removed.
33646
33647 * util/grub-fstest.c: Remove include file <grub/raid.h>.
33648 (fstest): Replace grub_raid_rescan with module fini function followed
33649 by init function.
33650
33651 * util/grub-probe.c: Add include file <grub/raid.h>.
33652 (probe_raid_level): New function.
33653 (probe): Detect abstraction by walking the disk device, support two
33654 level of abstraction (LVM on RAID) when detecting partition map.
33655
24443b5a 336562009-07-31 Pavel Roskin <proski@gnu.org>
33657
33658 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
33659 to grub_zalloc(), it was erroneous.
33660 Reported by Bean <bean123ch@gmail.com>
33661
a275d9e7 336622009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
33663
33664 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 33665 embedding zone, not only the first one.
a275d9e7 33666
56c5a47f 336672009-07-29 Joe Auricchio <jauricchio@gmail.com>
33668
33669 * term/gfxterm.c (clear_char): New function.
33670 (grub_virtual_screen_setup): Use clear_char.
33671 (scroll_up): Likewise.
33672 (grub_virtual_screen_cls): Likewise.
33673
67bb323a 336742009-07-29 Felix Zielcke <fzielcke@z-51.de>
33675
33676 * util/deviceiter.c (get_acceleraid_disk_name): New static
33677 function.
33678 (grub_util_iterate_devices): Handle Accelraid devices.
33679 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
33680
388a7c75 336812009-07-28 Robert Millan <rmh.grub@aybabtu.com>
33682
33683 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
33684 separator for the suggested gfxpayload string (';' collides with the
33685 parser and needs escaping).
33686
3bb7abcf 336872009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
33688
33689 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
33690 Clear direction flag before jumping to OS.
33691 (grub_multiboot2_real_boot): Likewise.
33692
2ddd36d7 336932009-07-28 Felix Zielcke <fzielcke@z-51.de>
33694
33695 * util/i386/pc/grub-install: Fix parsing of --disk-module
33696 option.
33697
c521b62b 336982009-07-28 Felix Zielcke <fzielcke@z-51.de>
33699
33700 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
33701 when embedding.
33702
880e0a0c 337032009-07-26 Felix Zielcke <fzielcke@z-51.de>
33704
33705 * util/grub-mkconfig.in (package_version): New variable.
33706 Use it do display the version.
33707
2366e356 337082009-07-25 Felix Zielcke <fzielcke@z-51.de>
33709
33710 * kern/file.c (grub_file_open): Revert to previous check with
33711 grub_errno.
33712
7ad8c80e 337132009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
33714
33715 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
33716 from help line. It's out of sync with code.
33717
72b9658b 337182009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
33719
33720 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
33721 entries on failed boot.
33722
77435277 337232009-07-25 Felix Zielcke <fzielcke@z-51.de>
33724
33725 * kern/file.c (grub_file_open): Fix an error check.
33726
fcaa8b21 337272009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
33728
35d16c74 33729 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
33730 partition map couldn't be identified.
fcaa8b21 33731
48904cd1 337322009-07-23 Pavel Roskin <proski@gnu.org>
33733
ef3c317f 33734 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
33735 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
33736 case of little endian words becomes just an optimization.
33737 Respect const modifier.
ad8ea1f4 33738 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 33739
48904cd1 33740 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
33741 to avoid loss of upper bits if align is unsigned and shorter
33742 than addr.
33743
260c9a89 337442009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
33745
33746 UUID support for UFS
33747
33748 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
33749 (grub_ufs_uuid): New function.
33750 (grub_ufs_fs): add .uuid
33751
f76ce889 337522009-07-21 Pavel Roskin <proski@gnu.org>
33753
33754 * kern/dl.c (grub_dl_check_header): Make static.
33755
6a6cbcaf 337562009-07-21 Felix Zielcke <fzielcke@z-51.de>
33757
33758 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
33759 add drivemap for Vista. It breaks Windows 7.
33760
cffcddb2 337612009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
33762
33763 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
33764 128 bytes
33765
1ef44b80 337662009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
33767
33768 Add BFS support
33769
33770 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
33771 (grub_fstest_SOURCES): Likewise.
33772 (pkglib_MODULES): Add befs.mod.
33773 (befs_mod_SOURCES): New variable.
33774 (befs_mod_CFLAGS): Likewise.
33775 (befs_mod_LDFLAGS): Likewise.
33776 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33777 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33778 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33779 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33780 (grub_setup_SOURCES): Likewise.
33781 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33782 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33783 (grub_setup_SOURCES): Likewise.
33784 * fs/befs.c: New file.
33785 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
33786 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
33787 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
33788 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
33789 (B_KEY_INDEX_ALIGN): New declaration.
33790 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
33791 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
33792 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
33793 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
33794 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
33795 (grub_afs_mount) [MODE_BFS]: Likewise.
33796 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
33797 (grub_afs_fs): Use GRUB_AFS_FSNAME
33798 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
33799 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
33800 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
33801 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
33802
4f253044 338032009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
33804
33805 * util/getroot.c (find_root_device): Add support for MacOSX.
33806 * util/hostdisk.c: Likewise.
33807
57a55913 338082009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
33809
33810 * font/font.c (find_glyph): Check whether a font is present to avoid
33811 segmentation fault.
75421ca9 33812
338132009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 33814
33815 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
33816
e98cd0c2 338172009-07-20 Pavel Roskin <proski@gnu.org>
33818
33819 * configure.ac: Trim excessively wordy excuses.
33820
1d2d169a 338212009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
33822
33823 Add symlink, mtime and label support to AtheFS.
33824
33825 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
33826 (grub_afs_iterate_dir): Handle symlinks.
33827 (grub_afs_open): Use grub_afs_read_symlink.
33828 (grub_afs_dir): Likewise.
33829 Pass mtime.
33830 (grub_afs_label): New function.
33831 (grub_afs_fs): Add grub_afs_label.
33832 (grub_afs_read_symlink): New function.
33833
186f3189 338342009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
33835
33836 Fix AtheFS support.
33837
33838 * fs/afs.c: Fix comments style.
33839 (grub_afs_blockrun): Declare as packed.
33840 (grub_afs_datastream): Likewise.
33841 (grub_afs_bnode): Likewise.
33842 (grub_afs_btree): Likewise.
33843 (grub_afs_sblock): Likewise.
33844 Declare `name' as char.
33845 (grub_afs_inode): Declare as packed.
33846 Change void *vnode to grub_uint32_t unused.
33847 (grub_afs_iterate_dir): Check that key_size is positive.
33848 (grub_afs_mount): Don't read superblock twice.
75421ca9 33849 (grub_afs_dir): Don't free node in case of error,
186f3189 33850 grub_fshelp_find_file already handles this.
33851 (grub_afs_open): Likewise.
33852
5680109e 338532009-07-19 Pavel Roskin <proski@gnu.org>
33854
33855 * Makefile.in: Remove LIBLZO and enable_lzo.
33856 * conf/i386-pc.rmk: Remove lzo support.
33857 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
33858 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
33859 support.
33860 * kern/i386/pc/lzo1x.S: Remove.
33861 * kern/i386/pc/startup.S: Remove lzo support.
33862 * util/i386/pc/grub-mkimage.c: Likewise.
33863
ac70fa32 338642009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
33865
33866 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
33867 * fs/xfs.c (grub_xfs_dir): Likewise.
33868 * fs/afs.c (grub_afs_dir): Likewise.
33869 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
33870 (grub_iso9660_open): Likewise.
33871 * fs/jfs.c (grub_jfs_open): Likewise.
33872 * fs/ext2.c (grub_ext2_dir): Likewise.
33873 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
33874 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 33875
eab58da2 338762009-07-16 Pavel Roskin <proski@gnu.org>
33877
d2838156 33878 * configure.ac: Never add "-c" to CFLAGS.
33879
55c70904 33880 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
33881
43e6200c 33882 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
33883 grub_cv_cc_efiemu should be used.
33884
ce7a733d 33885 * configure.ac: Typo fixes.
33886
eab58da2 33887 * kern/mm.c (grub_zalloc): New function.
33888 (grub_debug_zalloc): Likewise.
33889 * include/grub/mm.h: Declare grub_zalloc() and
33890 grub_debug_zalloc().
33891 * util/misc.c (grub_zalloc): New function.
33892 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
33893 instead of grub_malloc(), remove unneeded initializations.
33894 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
33895 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
33896 * commands/parttool.c (grub_cmd_parttool): Likewise.
33897 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
33898 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
33899 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
33900 * disk/usbms.c (grub_usbms_finddevs): Likewise.
33901 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
33902 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
33903 (grub_cmd_efiemu_pnvram): Likewise.
33904 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
33905 * fs/iso9660.c (grub_iso9660_mount): Likewise.
33906 (grub_iso9660_iterate_dir): Likewise.
33907 * fs/jfs.c (grub_jfs_opendir): Likewise.
33908 * fs/ntfs.c (list_file): Likewise.
33909 (grub_ntfs_mount): Likewise.
33910 * kern/disk.c (grub_disk_open): Likewise.
33911 * kern/dl.c (grub_dl_load_core): Likewise.
33912 * kern/elf.c (grub_elf_file): Likewise.
33913 * kern/env.c (grub_env_context_open): Likewise.
33914 (grub_env_set): Likewise.
33915 (grub_env_set_data_slot): Likewise.
33916 * kern/file.c (grub_file_open): Likewise.
33917 * kern/fs.c (grub_fs_blocklist_open): Likewise.
33918 * loader/i386/multiboot.c (grub_module): Likewise.
33919 * loader/xnu.c (grub_xnu_create_key): Likewise.
33920 (grub_xnu_create_value): Likewise.
33921 * normal/main.c (grub_normal_add_menu_entry): Likewise.
33922 (read_config_file): Likewise.
33923 * normal/menu_entry.c (make_screen): Likewise.
33924 * partmap/sun.c (sun_partition_map_iterate): Likewise.
33925 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
33926 * script/sh/script.c (grub_script_parse): Likewise.
33927 * video/bitmap.c (grub_video_bitmap_create): Likewise.
33928 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
33929 * video/readers/png.c (grub_png_output_byte): Likewise.
33930 (grub_video_reader_png): Likewise.
33931
830afef7 339322009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 33933
33934 Enable all targets that can be built by default
33935
830afef7 33936 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 33937 grub-mkfont and grub-fstest if they can be built
33938
ee293aee 339392009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33940
33941 Fix hang and segmentation fault in grub-emu-usb
33942
33943 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
33944 * util/usb.c (grub_libusb_devices): likewise
33945 (grub_libusb_init): rename to ...
33946 (GRUB_MOD_INIT (libusb)):...this
33947 (grub_libusb_fini): rename to ..
33948 (GRUB_MOD_FINI (libusb)):...this
33949 * disk/usbms.c (grub_usbms_transfer): fix retry logic
33950 * include/grub/disk.h (grub_raid_init): removed, it's useless
33951 (grub_raid_fini): likewise
33952 (grub_lvm_init): likewise
33953 (grub_lvm_fini): likewise
33954 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
33955 by grub_init_all
33956
94414221 339572009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33958
33959 Fix libusb
33960
33961 * Makefile.in (LIBUSB): new macro
33962 * genmk.rb (Utility/print_tail): new method
33963 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
33964 (top level): call util.print_tail at the end.
33965
59ade63d 339662009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33967
33968 Make FreeBSD accept zpool.cache
33969
33970 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
33971 type is /boot/zfs/zpool.cache
33972
a58da8c7 339732009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33974
33975 Fix 64-bit efiemu
33976
33977 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
33978 correct wrong typedef
33979 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
33980
20591577 339812009-07-15 Pavel Roskin <proski@gnu.org>
33982
560ca572 33983 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
33984 * kern/disk.c (struct grub_disk_cache): Likewise.
33985
e8e8e4fd 33986 * commands/probe.c (options): Typo fix.
33987
fde24e10 33988 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
33989 Increase to 0x5a to accommodate FAT32. Adjust other offsets
33990 accordingly.
33991 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
33992
379c54c1 33993 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
33994 the end of "Error" to make the message more readable.
33995
7bd8f5bf 33996 * boot/i386/pc/boot.S (kernel_segment): Remove.
33997 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
33998 for destination.
33999
40b132c5 34000 * boot/i386/pc/boot.S (boot_version): Remove.
34001 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
34002 Remove.
34003
20591577 34004 * include/grub/i386/pc/boot.h: Sort all offsets.
34005 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
34006 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
34007 * boot/i386/pc/boot.S: Assert location of every offset listed in
34008 include/grub/i386/pc/boot.h.
34009
2df32b2c 340102009-07-13 Pavel Roskin <proski@gnu.org>
34011
44b5d879 34012 * include/grub/i386/coreboot/machine.h: Rename
34013 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
34014 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
34015 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
34016
17dc3751 34017 * kern/dl.c: Force native word size to suppress warnings when
34018 compiling grub-emu.
34019
2df32b2c 34020 * kern/device.c (grub_device_iterate): Change struct part_ent to
34021 hold the name, not a pointer to it. Use one grub_malloc() per
34022 partition, not two. Free partition_name if grub_malloc() fails.
34023 Set ents to NULL only before grub_partition_iterate() is called.
34024
75c59f59 340252009-07-11 Bean <bean123ch@gmail.com>
34026
34027 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
34028 childname.
34029
0ae1bf88 340302009-07-10 Bean <bean123ch@gmail.com>
340312009-07-10 Robert Millan <rmh.grub@aybabtu.com>
34032
34033 * kern/ieee1275/openfw.c (grub_children_iterate)
34034 (grub_devalias_iterate): Fix size evaluation for property or path
34035 strings, which was broken since r2132.
34036
8279cade 340372009-07-07 Pavel Roskin <proski@gnu.org>
34038
7d8a52d3 34039 * commands/search.c (search_file): Merge into ...
34040 (search_fs): ... this. Accept search type as argument.
34041 (grub_cmd_search): Pass search type to search_fs().
34042
25f9a05a 34043 * include/grub/util/console.h: New file.
34044 * util/console.c: Use it instead of grub/machine/console.h.
34045 * util/grub-emu.c: Likewise.
34046
8279cade 34047 * lib/arg.c (find_long_option): Remove.
34048 (find_long): Add `len' argument, make `s' const char *.
34049 (grub_arg_parse): Parse long options in place, not in a
34050 temporary buffer.
34051
4a11b60f 340522009-07-06 Pavel Roskin <proski@gnu.org>
34053
99f68041 34054 * commands/search.c (search_fs): Fix potential NULL pointer
34055 dereference.
34056
4a11b60f 34057 * commands/search.c (search_fs): Replace QUID macro with quid_fn
34058 function pointer.
34059
e110f4de 340602009-07-06 Daniel Mierswa <impulze@impulze.org>
34061
34062 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
34063 comparison.
34064
46eeb6a2 340652009-07-05 Pavel Roskin <proski@gnu.org>
34066
bab74958 34067 * include/grub/i386/linux.h (struct linux_kernel_params):
34068 Restore padding3, it's still needed.
34069
46eeb6a2 34070 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
34071 FreeBSD.
34072 * util/osdetect.lua: Likewise.
34073
b4a1dc79 340742009-07-05 Bean <bean123ch@gmail.com>
34075
34076 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
34077
34078 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
34079 (grub_lua_getenv): Likewise.
34080 (grub_lua_setenv): Likewise.
34081 (save_errno): New function.
34082 (push_result): Likewise.
34083 (grub_lua_enum_device): Likewise.
34084 (grub_lua_enum_file): Likewise.
34085 (grub_lua_file_open): Likewise.
34086 (grub_lua_file_close): Likewise.
34087 (grub_lua_file_seek): Likewise.
34088 (grub_lua_file_read): Likewise.
34089 (grub_lua_file_getline): Likewise.
34090 (grub_lua_file_getsize): Likewise.
34091 (grub_lua_file_getpos): Likewise.
34092 (grub_lua_file_eof): Likewise.
34093 (grub_lua_file_exist): Likewise.
34094 (grub_lua_add_menu): Likewise.
34095
34096 * script/lua/grub_lua.h (isupper): New inline function.
34097 (islower): Likewise.
34098 (ispunct): Likewise.
34099 (isxdigit): Likewise.
34100 (strcspn): Change to normal function.
34101 (strpbkr): New function declaration.
34102 (memchr): Likewise.
34103
34104 * script/lua/grub_main.c (scan_str): New function.
34105 (strcspn): Likewise.
34106 (strpbrk): Likewise.
34107 (memchr): Likewise.
34108
34109 * script/lua/linit.c (lualibs): Enable the string library.
34110
34111 * util/osdetect.lua: New file.
34112
2da92295 341132009-07-04 Robert Millan <rmh.grub@aybabtu.com>
34114
34115 * include/grub/i386/linux.h (struct linux_kernel_params): Add
34116 `capabilities' member.
34117
b2582ec9 341182009-07-02 Pavel Roskin <proski@gnu.org>
34119
34120 * genparttoollist.sh: Add missing newline at the end.
34121
32622956 341222009-07-01 Pavel Roskin <proski@gnu.org>
34123
87a7339e 34124 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
34125
d23af54e 34126 * util/hostdisk.c (open_device): Remove `const' from
34127 `sysctl_size', as sysctlbyname() can change it (in this case it
34128 doesn't actually happen).
34129
c94b18a9 34130 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
34131 using signed long int constants.
34132
c6cd3ef0 34133 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
34134 constant to avoid a warning on FreeBSD.
34135
0df63420 34136 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
34137 where it's needed.
34138
999577f1 34139 * Makefile.in: Install include/grub/machine symlink.
34140
6f41557f 34141 * Makefile.in: When installing symlinks, use "cp -fR", which
34142 works on FreeBSD and MacOSX.
34143 From Yves Blusseau <cl7m42e02@sneakemail.com>
34144
c8d22988 34145 * kern/dl.c (grub_dl_resolve_symbol): Make static.
34146 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
34147
1b96e952 34148 * util/misc.c: Move grub_reboot() and grub_halt() ...
34149 * util/grub-emu.c: ... here. Make main_env static.
34150 * include/grub/util/misc.h: Remove main_env.
34151
2ef0084d 34152 * kern/mm.c: Use correct format to print size_t.
34153
32622956 34154 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
34155 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
34156 * kern/powerpc/dl.c: Likewise.
34157 * kern/sparc64/dl.c: Likewise.
34158 * kern/x86_64/dl.c: Likewise.
34159
3f7f0cd0 341602009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34161
34162 Fix grub-emu build on sparc64-ieee1275.
34163
75421ca9 34164 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 34165 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
34166
211d06b5 341672009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34168
34169 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
34170 (grub_reboot, grub_halt): New functions.
34171
34172 * util/i386/pc/misc.c: Delete. Update all users.
34173 * util/sparc64/ieee1275/misc.c: Likewise.
34174 * util/powerpc/ieee1275/misc.c: Likewise.
34175
aaf53e3c 341762009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34177
34178 * conf/i386.rmk (setjmp_mod_SOURCES)
34179 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
34180 * conf/common.rmk (setjmp_mod_SOURCES)
34181 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
34182 to use $(target_cpu).
34183 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
34184 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
34185 * conf/powerpc-ieee1275.rmk: Likewise.
34186 * conf/sparc64-ieee1275.rmk: Likewise.
34187
34188 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
34189 $(target_cpu) for kern/$(target_cpu)/dl.c.
34190 * conf/i386-efi.rmk: Likewise.
34191 * conf/i386-ieee1275.rmk: Likewise.
34192 * conf/x86_64-efi.rmk: Likewise.
34193 * conf/i386-coreboot.rmk: Likewise.
34194 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
34195 $(target_cpu) for kern/$(target_cpu)/dl.c and for
34196 kern/$(target_cpu)/cache.S.
34197 * conf/sparc64-ieee1275.rmk: Likewise.
34198
a337130b 341992009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34200
34201 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
34202 type to `grub_uint8_t', and adjust `padding9' accordingly.
34203
c6fe4d53 342042009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34205
b09db61d 34206 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
34207
c6fe4d53 34208 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
34209 assembly in final jump, using register constraints.
34210
b09db61d 34211 (grub_linux_boot): For text mode, initialize `have_vga' using
34212 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
34213
34214 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
34215 right before the final jump.
34216
34217 Set `video_mode' to 0x3.
34218
34219 Document initialization of `video_page', `video_mode' and
34220 `video_ega_bx'.
34221
28333ad0 342222009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34223
34224 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
34225 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 34226 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 34227
02164e1b 342282009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34229
34230 Fix build on Debian / sparc.
34231
34232 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
34233
18b6c557 342342009-06-28 Pavel Roskin <proski@gnu.org>
34235
85f2aab6 34236 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
34237 fix a warning.
34238
18b6c557 34239 * util/grub.d/10_linux.in: Match SUSE style initrd names.
34240
ad760f81 342412009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34242
34243 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
34244 `err'.
34245
87a4623b 342462009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34247
34248 Revert r2338.
34249
34250 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
34251 file can't be opened. grub_file_open() is already supposed to set
75421ca9 34252 grub_errno / grub_errmsg appropriately.
87a4623b 34253 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
34254
8231fb77 342552009-06-27 Pavel Roskin <proski@gnu.org>
342562009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34257
34258 * include/grub/dl.h: Include grub/elf.h.
34259 (struct grub_dl): Add symtab field.
34260 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
34261 GRUB_MODULES_MACHINE_READONLY.
34262 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
34263 of the header for read-only modules.
34264 (grub_dl_unload): Free mod->symtab for read-only modules.
34265 * kern/i386/dl.c: Use mod->symtab.
34266 * kern/powerpc/dl.c: Likewise.
34267 * kern/sparc64/dl.c: Likewise.
34268 * kern/x86_64/dl.c: Likewise.
34269
34270 * conf/i386-qemu.rmk: New file.
34271 * kern/i386/qemu/startup.S: Likewise.
34272 * kern/i386/qemu/mmap.c: Likewise.
34273 * boot/i386/qemu/boot.S: Likewise.
34274 * include/grub/i386/qemu/time.h: Likewise.
34275 * include/grub/i386/qemu/serial.h: Likewise.
34276 * include/grub/i386/qemu/kernel.h: Likewise.
34277 * include/grub/i386/qemu/console.h: Likewise.
34278 * include/grub/i386/qemu/boot.h: Likewise.
34279 * include/grub/i386/qemu/init.h: Likewise.
34280 * include/grub/i386/qemu/machine.h: Likewise.
34281 * include/grub/i386/qemu/loader.h: Likewise.
34282 * include/grub/i386/qemu/memory.h: Likewise.
34283
34284 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
34285 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
34286 [qemu] (pkglib_IMAGES): Add `boot.img'.
34287 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
34288 [qemu] (boot_img_FORMAT): New variables.
34289 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
34290 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
34291 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
34292 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
34293 [qemu] (kernel_img_FORMAT): New variables.
34294
34295 * configure.ac: Recognise `i386-qemu'.
34296
34297 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
34298 (for no compression).
34299 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
34300 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
34301 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
34302 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
34303 ifdefs).
34304
97fe384e 343052009-06-27 Pavel Roskin <proski@gnu.org>
34306
34307 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
34308 read.
34309 * efiemu/prepare32.c: Likewise.
34310 * efiemu/prepare64.c: Likewise.
34311
c402ab17 343122009-06-26 Pavel Roskin <proski@gnu.org>
34313
34314 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
34315 * include/grub/elf.h: Define symbols without "32" or "64" based
34316 on GRUB_TARGET_WORDSIZE.
34317 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
34318 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
34319 ELF definitions.
34320 * efiemu/loadcore64.c: Likewise.
34321 * loader/i386/bsd32.c: Likewise.
34322 * loader/i386/bsd64.c: Likewise.
34323 * kern/dl.c: Remove own ELF definitions.
34324 * util/i386/efi/grub-mkimage.c: Likewise.
34325
9bbdfd4d 343262009-06-23 Robert Millan <rmh.grub@aybabtu.com>
34327
34328 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
34329 segment 0x0 unconditionally, because the reference generated by
34330 GAS is an absolute address.
34331
a42ce6e9 343322009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34333
34334 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
34335 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
34336
c952cf92 343372009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34338
34339 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
34340 indexes. Check for -f explicitly.
cc3752ad 34341 (search_file): Improve error message.
34342 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 34343
132a0a59 343442009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34345
34346 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
34347 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
34348
387a140c 343492009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34350
34351 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
34352 * conf/i386-ieee1275.rmk: Likewise.
34353 * conf/i386-coreboot.rmk: Likewise.
34354
34355 * kern/i386/pc/startup.S (grub_stop): Remove function.
34356 * kern/i386/ieee1275/startup.S: Likewise.
34357 * kern/i386/coreboot/startup.S: Likewise.
34358 * kern/i386/misc.S (grub_stop): New function.
34359
41da9665 343602009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34361
34362 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
34363 * kern/i386/realmode.S (real_to_prot): ... to here.
34364
bf337234 343652009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34366
34367 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
34368 with `kernel.img'.
34369 (kernel_elf_SOURCES): Rename to ...
34370 (kernel_img_SOURCES): ... this.
34371 (kernel_elf_HEADERS): Rename to ...
34372 (kernel_img_HEADERS): ... this. Update all users.
34373 (kernel_elf_ASFLAGS): Rename to ...
34374 (kernel_img_ASFLAGS): ... this.
34375 (kernel_elf_CFLAGS): Rename to ...
34376 (kernel_img_CFLAGS): ... this.
34377 (kernel_elf_LDFLAGS): Rename to ...
34378 (kernel_img_LDFLAGS): ... this.
34379 * conf/i386-coreboot.rmk: Likewise.
34380 * conf/powerpc-ieee1275.rmk: Likewise.
34381
34382 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
34383 with "kernel.img".
34384
f52196ff 343852009-06-21 Pavel Roskin <proski@gnu.org>
34386
c3cee413 34387 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
34388 to match nested functions.
34389 * loader/sparc64/ieee1275/linux.c: Likewise.
34390
f52196ff 34391 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
34392
58750afc 343932009-06-21 Robert Millan <rmh.grub@aybabtu.com>
34394
34395 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
34396 all i386 platforms.
34397
15355c7d 343982009-06-21 Robert Millan <rmh.grub@aybabtu.com>
34399
34400 Fix asm file handling on ELF, and remove workarounds.
34401
34402 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 34403 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 34404 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
34405 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
34406
3f3ec72b 344072009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
34408
34409 Load BSD ELF modules
34410
34411 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
34412 and loader/i386/bsd64.c
34413 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
34414 (FREEBSD_MODTYPE_ELF_MODULE): New definition
34415 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
34416 (grub_freebsd_load_elfmodule32): New declaration
34417 (grub_freebsd_load_elfmoduleobj64): Likewise
34418 (grub_freebsd_load_elf_meta32): Likewise
34419 (grub_freebsd_load_elf_meta64): Likewise
34420 (grub_freebsd_add_meta): Likewise
34421 (grub_freebsd_add_meta_module): Likewise
34422 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
34423 (grub_freebsd_add_meta_module): Likewise and move module-specific
34424 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
34425 (grub_cmd_freebsd): Add elf-kernel specific parts
34426 based on grub_freebsd_add_meta_module
34427 (grub_cmd_freebsd_module): Add type parsing moved from
34428 grub_freebsd_add_meta_module
34429 (grub_cmd_freebsd_module_elf): New function
34430 (cmd_freebsd_module_elf): New variable
34431 (GRUB_MOD_INIT): Register freebsd_module_elf
34432 * loader/i386/bsd32.c: New file
34433 * loader/i386/bsd64.c: Likewise
34434 * loader/i386/bsdXX.c: Likewise
34435 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
34436 (grub_elf64_load): Likewise
34437 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
34438 All users updated
34439 (grub_elf64_load_hook_t): Likewise
34440
0db15301 344412009-06-21 Colin Watson <cjwatson@ubuntu.com>
34442
34443 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
34444 variable.
34445 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
34446 don't write a menu entry for recovery mode.
34447
546796c1 344482009-06-20 Robert Millan <rmh.grub@aybabtu.com>
34449
34450 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
34451 after it's no longer needed.
34452
cd7310d5 344532009-06-20 Robert Millan <rmh.grub@aybabtu.com>
34454
34455 * include/grub/i386/loader.h (grub_linux_prot_size)
34456 (grub_linux_tmp_addr, grub_linux_real_addr)
34457 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
34458 GRUB_MACHINE_PCBIOS.
34459 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
34460 common grub_util_info() call to ...
34461 (generate_image): ... here.
34462 Fix use of uninitialized memory, comparison of signed with
34463 unsigned integers and memory leak.
34464 Remove bogus module address message.
34465
ab32d3b5 344662009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
34467
34468 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
34469 grub_raid_register
34470 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
34471
024ef597 344722009-06-19 Pavel Roskin <proski@gnu.org>
34473
34474 * configure.ac: Remove stray AC_MSG_CHECKING.
34475
3ac72b51 344762009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
34477
34478 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 34479
e14cd814 344802009-06-18 Pavel Roskin <proski@gnu.org>
34481
34482 * conf/common.rmk: Add fs_file.mod.
34483 * disk/fs_file.c: New file.
34484 * include/grub/disk.h (enum grub_disk_dev_id): Add
34485 GRUB_DISK_DEVICE_FILE_ID.
34486
26586d98 344872009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
34488
34489 Fix build with Apple's toolchain. Part 2
34490
34491 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
34492 a fake start
34493
26de2bcd 344942009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
34495
34496 Fix build with Apple's toolchain. Part 1
34497
34498 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
34499 for long calls
34500 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 34501 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 34502 Apple's toolchain
34503
09b3490b 345042009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
34505
34506 Fix warnings
34507
34508 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
34509 (decomp_block): initialize ch
34510 use grub_memcpy instead of memcpy
34511
c22a006a 345122009-06-17 Pavel Roskin <proski@gnu.org>
34513
d3638678 34514 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
34515 version, use declarations needed to use vga_text as the startup
34516 console.
34517
c22a006a 34518 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
34519 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
34520 the kernel.
34521 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
34522 and grub_at_keyboard_fini(), it's done on module load and
34523 unload.
34524
05b129e0 345252009-06-17 Felix Zielcke <fzielcke@z-51.de>
34526
34527 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
34528 file can't be found.
34529 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
34530
cf24ed9e 345312009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
34532
34533 Fix newline handling
34534
34535 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 34536 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 34537 (grub_script_yylex): don't segfault on unterminated script
34538 newline terminates command and variable
34539
74aa8e4b 345402009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
34541
34542 avoid double grub_adjust_range call. Bug reported by David Simner
34543
34544 * kern/disk.c (grub_disk_write): change to raw disk access before
34545 calling disk_read
34546
1bd265f3 345472009-06-17 Colin Watson <cjwatson@ubuntu.com>
34548
34549 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
34550 spaces, for the benefit of help2man.
34551 * util/i386/efi/grub-mkimage.c (usage): Likewise.
34552
a2d08c06 345532009-06-16 Pavel Roskin <proski@gnu.org>
34554
34555 * kern/i386/halt.c: Include grub/machine/init.h.
34556 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
34557
b97bcb19 345582009-06-16 Felix Zielcke <fzielcke@z-51.de>
34559
34560 * util/grub.d/30_os-prober.in: Use ${root} in the generated
34561 drivemap menuentry.
34562
0644f96c 345632009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
34564
34565 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
34566 `echo' command.
34567
3ef17a2e 345682009-06-16 Pavel Roskin <proski@gnu.org>
34569
34570 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
34571 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
34572 save %dx, we only need %dl and we never change it.
34573 * boot/i386/pc/cdboot.S: Don't set the root drive.
34574 * boot/i386/pc/pxeboot.S: Likewise.
34575 * include/grub/i386/pc/boot.h: Remove
34576 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
34577 GRUB_BOOT_MACHINE_DRIVE_CHECK.
34578 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
34579 * kern/i386/pc/init.c (make_install_device): Remove references
34580 to grub_root_drive.
34581 * kern/i386/pc/startup.S: Likewise.
34582 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
34583
693fe637 345842009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
34585
34586 xnu_uuid command
34587
34588 * commands/xnu_uuid.c: new file
34589 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
34590 (xnu_uuid_mod_SOURCES): new variable
34591 (xnu_uuid_mod_CFLAGS): likewise
34592 (xnu_uuid_mod_LDFLAGS): likewise
34593 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
34594 * conf/i386-ieee1275.rmk: likewise
34595 * conf/i386-pc.rmk: likewise
34596 * conf/powerpc-ieee1275.rmk: likewise
34597 * conf/sparc64-ieee1275.rmk: likewise
34598 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
34599
c9da87d0 346002009-06-16 Pavel Roskin <proski@gnu.org>
34601
34602 * configure.ac: Avoid '==' in test command, it's not portable.
34603
9c6f4596 346042009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
34605
34606 Probe command
34607
34608 * commands/probe.c: new file
34609 * conf/common.rmk (pkglib_MODULES): add probe.mod
34610 (probe_mod_SOURCES): new variable
34611 (probe_mod_CFLAGS): likewise
34612 (probe_mod_LDFLAGS): likewise
34613 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
34614 * conf/i386-ieee1275.rmk: likewise
34615 * conf/i386-pc.rmk: likewise
34616 * conf/powerpc-ieee1275.rmk: likewise
34617 * conf/sparc64-ieee1275.rmk: likewise
34618
70b7f9fd 346192009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
34620
34621 Fix handling of string like \"hello\" and "a
34622 b"
34623
34624 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
34625 (grub_script_yylex): fix parsing of quoting, escaping and newline
34626
71c79a6b 346272009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
34628
dd74360c 34629 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 34630 handling
dd74360c 34631
0644f96c 346322009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 34633
34634 * util/grub-mkconfig.in: Fix parsing of --output option.
34635
e40893c3 346362009-06-12 Pavel Roskin <proski@gnu.org>
34637
34638 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
34639 genmk.rb don't need to be generated or installed.
34640
3a1acfe2 346412009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
34642
34643 * commands/i386/pc/drivemap_int13h.S: add more comments
34644
3a4575d4 346452009-06-11 Pavel Roskin <proski@gnu.org>
34646
0658e928 34647 * Makefile.in (uninstall): Uninstall manuals.
34648
ca0388f0 34649 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
34650 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
34651 and update-grub_lib in two places.
34652 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
34653
e3b27c39 34654 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
34655 a compiler warning.
34656
3a4575d4 34657 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
34658 `entry_lo' to fix variable shadowing.
34659
af1f4f55 346602009-06-11 Christian Franke <franke@computer.org>
34661
34662 * kern/misc.c (__enable_execute_stack): Add missing return type
34663 to prevent gcc warning.
34664
5225e649 346652009-06-11 Felix Zielcke <fzielcke@z-51.de>
34666
34667 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
34668
7d83bd47 346692009-06-11 Pavel Roskin <proski@gnu.org>
34670
c1cb63ba 34671 * Makefile.in: Don't rely on any scripts being executable.
34672 Always use $(SHELL) to run shell scripts.
34673
7d83bd47 34674 * configure.ac: Always define ___main if using -nostdlib. This
34675 fixes tests on Cygwin.
34676
948f48e7 346772009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
34678
34679 UDF fix
34680
7d83bd47 34681 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 34682 is in bytes and not in blocks
7d83bd47 34683
8ada9bc1 346842009-06-11 Pavel Roskin <proski@gnu.org>
34685
34686 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
34687 warning.
34688
25ad2323 346892009-06-11 Felix Zielcke <fzielcke@z-51.de>
34690
34691 * util/grub.d/30_os-prober.in: Fix a comment. Source
34692 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
34693 to set the root device. Place drivemap command in the generated
34694 chain entry.
34695
e65acb0c 346962009-06-11 Pavel Roskin <proski@gnu.org>
34697
34698 * configure.ac: Remove host_m32. Issues with 64-bit utilities
34699 have long been resolved.
34700
f285fe2d 347012009-06-11 Colin Watson <cjwatson@ubuntu.com>
34702
bd47b0b5 34703 * util/grub.d/10_linux.in: Capitalise "Linux".
34704
f285fe2d 34705 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
34706
a0c62e4e 347072009-06-11 Pavel Roskin <proski@gnu.org>
34708
b6783cb2 34709 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
34710 fix a gcc warning and ensure that the function won't ever exit.
34711
dde032e8 34712 * kern/i386/ieee1275/init.c: Add missing prototype for
34713 grub_stop_floppy().
34714
22cd079d 34715 * loader/ieee1275/multiboot2.c [__i386__]: Include
34716 grub/cpu/multiboot.h.
34717
a0c62e4e 34718 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
34719 casts to short - they are not portable and cause warnings. Fix
34720 use of uninitialized values in input_buf. Use ARRAY_SIZE.
34721
63963d17 347222009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
34723
34724 Drivemap fixes
34725
34726 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
34727 new function
34728 (grub_get_root_biosnumber_saved): new variable
34729 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
34730 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 34731 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 34732 %dx after the call if necessary
34733 * conf/common.rmk (pkglib_MODULES): remove boot.mod
34734 (boot_mod_SOURCES): remove
34735 (boot_mod_CFLAGS): remove
34736 (boot_mod_LDFLAGS): remove
34737 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
34738 (boot_mod_SOURCES): new variable
34739 (boot_mod_CFLAGS): likewise
34740 (boot_mod_LDFLAGS): likewise
34741 * conf/i386-efi.rmk: likewise
34742 * conf/i386-ieee1275.rmk: likewise
34743 * conf/i386-pc.rmk: likewise
34744 * conf/powerpc-ieee1275.rmk: likewise
34745 * conf/sparc64-ieee1275.rmk: likewise
34746 * conf/x86_64-efi.rmk: likewise
34747 * include/grub/i386/pc/biosnum.h: new file
34748 * lib/i386/pc/biosnum.c: likewise
34749 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
34750 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
34751 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 34752
33abf7ae 347532009-06-10 Pavel Roskin <proski@gnu.org>
34754
5ac35b35 34755 * io/gzio.c (test_header): Don't reuse one buffer for all data.
34756 Use separate variables. Read only the file size at the end, but
34757 not the checksum that we don't use.
34758
5c5215d5 34759 * kern/file.c (grub_file_read): Use void pointer for the buffer.
34760 Adjust all callers.
34761
27d5fef7 34762 * kern/ieee1275/openfw.c: Remove libc includes.
34763 * kern/ieee1275/cmain.c: Likewise.
34764 * include/grub/ieee1275/ieee1275.h: Likewise.
34765
33abf7ae 34766 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
34767 compiler warnings.
34768
19d50c2b 347692009-06-10 Felix Zielcke <fzielcke@z-51.de>
34770
34771 * Makefile.in: Remove all trailing whitespace.
34772 * conf/i386-pc.rmk: Likewise.
34773 * conf/powerpc-ieee1275.rmk: Likewise.
34774 * conf/sparc64-ieee1275.rmk: Likewise.
34775 * docs/grub.texi: Likewise.
34776 * docs/texinfo.tex: Likewise.
34777 * disk/fs_uuid.c: Likewise.
34778 * disk/lvm.c: Likewise.
34779 * disk/scsi.c: Likewise.
34780 * disk/ata.c: Likewise.
34781 * disk/ieee1275/ofdisk.c: Likewise.
34782 * disk/i386/pc/biosdisk.c: Likewise.
34783 * disk/host.c: Likewise.
34784 * disk/raid.c: Likewise.
34785 * disk/efi/efidisk.c: Likewise.
34786 * disk/usbms.c: Likewise.
34787 * disk/memdisk.c: Likewise.
34788 * disk/loopback.c: Likewise.
34789 * kern/powerpc/dl.c: Likewise.
34790 * kern/device.c: Likewise.
34791 * kern/dl.c: Likewise.
34792 * kern/sparc64/dl.c: Likewise.
34793 * kern/ieee1275/ieee1275.c: Likewise.
34794 * kern/term.c: Likewise.
34795 * kern/fs.c: Likewise.
34796 * kern/i386/dl.c: Likewise.
34797 * kern/i386/pc/startup.S: Likewise.
34798 * kern/i386/pc/init.c: Likewise.
34799 * kern/i386/pc/mmap.c: Likewise.
34800 * kern/i386/pc/lzo1x.S: Likewise.
34801 * kern/i386/ieee1275/init.c: Likewise.
34802 * kern/i386/realmode.S: Likewise.
34803 * kern/i386/tsc.c: Likewise.
34804 * kern/partition.c: Likewise.
34805 * kern/corecmd.c: Likewise.
34806 * kern/file.c: Likewise.
34807 * kern/efi/efi.c: Likewise.
34808 * kern/efi/init.c: Likewise.
34809 * kern/efi/mm.c: Likewise.
34810 * kern/main.c: Likewise.
34811 * kern/err.c: Likewise.
34812 * kern/env.c: Likewise.
34813 * kern/disk.c: Likewise.
34814 * kern/generic/millisleep.c: Likewise.
34815 * kern/generic/rtc_get_time_ms.c: Likewise.
34816 * kern/misc.c: Likewise.
34817 * kern/parser.c: Likewise.
34818 * genmk.rb: Likewise.
34819 * configure.ac: Likewise.
34820 * boot/i386/pc/diskboot.S: Likewise.
34821 * boot/i386/pc/pxeboot.S: Likewise.
34822 * boot/i386/pc/boot.S: Likewise.
34823 * boot/i386/pc/lnxboot.S: Likewise.
34824 * boot/i386/pc/cdboot.S: Likewise.
34825 * parttool/pcpart.c: Likewise.
34826 * video/readers/tga.c: Likewise.
34827 * video/video.c: Likewise.
34828 * video/bitmap.c: Likewise.
34829 * lib/envblk.c: Likewise.
34830 * lib/i386/setjmp.S: Likewise.
34831 * fs/xfs.c: Likewise.
34832 * fs/afs.c: Likewise.
34833 * fs/fat.c: Likewise.
34834 * fs/ntfs.c: Likewise.
34835 * fs/udf.c: Likewise.
34836 * fs/affs.c: Likewise.
34837 * fs/iso9660.c: Likewise.
34838 * fs/hfs.c: Likewise.
34839 * fs/fshelp.c: Likewise.
34840 * fs/ext2.c: Likewise.
34841 * fs/jfs.c: Likewise.
34842 * fs/reiserfs.c: Likewise.
34843 * fs/hfsplus.c: Likewise.
34844 * fs/minix.c: Likewise.
34845 * fs/cpio.c: Likewise.
34846 * fs/sfs.c: Likewise.
34847 * fs/ufs.c: Likewise.
34848 * efiemu/prepare.c: Likewise.
34849 * efiemu/loadcore_common.c: Likewise.
34850 * efiemu/runtime/efiemu.sh: Likewise.
34851 * efiemu/runtime/efiemu.S: Likewise.
34852 * efiemu/runtime/efiemu.c: Likewise.
34853 * efiemu/pnvram.c: Likewise.
34854 * efiemu/main.c: Likewise.
34855 * efiemu/i386/pc/cfgtables.c: Likewise.
34856 * efiemu/i386/loadcore64.c: Likewise.
34857 * efiemu/i386/loadcore32.c: Likewise.
34858 * efiemu/loadcore.c: Likewise.
34859 * efiemu/symbols.c: Likewise.
34860 * efiemu/mm.c: Likewise.
34861 * include/grub/autoefi.h: Likewise.
34862 * include/grub/datetime.h: Likewise.
34863 * include/grub/term.h: Likewise.
34864 * include/grub/hfs.h: Likewise.
34865 * include/grub/lvm.h: Likewise.
34866 * include/grub/i386/tsc.h: Likewise.
34867 * include/grub/i386/linux.h: Likewise.
34868 * include/grub/i386/xnu.h: Likewise.
34869 * include/grub/i386/efiemu.h: Likewise.
34870 * include/grub/i386/pc/biosdisk.h: Likewise.
34871 * include/grub/i386/pc/memory.h: Likewise.
34872 * include/grub/i386/pc/vbe.h: Likewise.
34873 * include/grub/parttool.h: Likewise.
34874 * include/grub/video.h: Likewise.
34875 * include/grub/memory.h: Likewise.
34876 * include/grub/fs.h: Likewise.
34877 * include/grub/partition.h: Likewise.
34878 * include/grub/xnu.h: Likewise.
34879 * include/grub/efi/api.h: Likewise.
34880 * include/grub/efi/pe32.h: Likewise.
34881 * include/grub/efi/memory.h: Likewise.
34882 * include/grub/multiboot.h: Likewise.
34883 * include/grub/usbdesc.h: Likewise.
34884 * include/grub/multiboot2.h: Likewise.
34885 * include/grub/acpi.h: Likewise.
34886 * include/grub/efiemu/efiemu.h: Likewise.
34887 * include/grub/disk.h: Likewise.
34888 * include/grub/ieee1275/ieee1275.h: Likewise.
34889 * include/grub/net.h: Likewise.
34890 * include/grub/machoload.h: Likewise.
34891 * include/grub/macho.h: Likewise.
34892 * include/multiboot.h: Likewise.
34893 * genmoddep.awk: Likewise.
34894 * normal/main.c: Likewise.
34895 * normal/menu_entry.c: Likewise.
34896 * normal/menu_viewer.c: Likewise.
34897 * normal/completion.c: Likewise.
34898 * normal/cmdline.c: Likewise.
34899 * normal/misc.c: Likewise.
34900 * normal/datetime.c: Likewise.
34901 * bus/usb/usbtrans.c: Likewise.
34902 * bus/usb/ohci.c: Likewise.
34903 * bus/usb/uhci.c: Likewise.
34904 * bus/usb/usb.c: Likewise.
34905 * mmap/efi/mmap.c: Likewise.
34906 * mmap/i386/pc/mmap_helper.S: Likewise.
34907 * mmap/i386/pc/mmap.c: Likewise.
34908 * mmap/i386/mmap.c: Likewise.
34909 * mmap/i386/uppermem.c: Likewise.
34910 * mmap/mmap.c: Likewise.
34911 * commands/acpi.c: Likewise.
34912 * commands/echo.c: Likewise.
34913 * commands/blocklist.c: Likewise.
34914 * commands/loadenv.c: Likewise.
34915 * commands/usbtest.c: Likewise.
34916 * commands/boot.c: Likewise.
34917 * commands/parttool.c: Likewise.
34918 * commands/search.c: Likewise.
34919 * commands/cat.c: Likewise.
34920 * commands/i386/pc/play.c: Likewise.
34921 * commands/i386/pc/drivemap.c: Likewise.
34922 * commands/i386/pc/vbeinfo.c: Likewise.
34923 * commands/i386/pc/acpi.c: Likewise.
34924 * commands/i386/pc/vbetest.c: Likewise.
34925 * commands/ls.c: Likewise.
34926 * commands/cmp.c: Likewise.
34927 * commands/test.c: Likewise.
34928 * commands/efi/acpi.c: Likewise.
34929 * commands/gptsync.c: Likewise.
34930 * commands/help.c: Likewise.
34931 * partmap/amiga.c: Likewise.
34932 * partmap/apple.c: Likewise.
34933 * partmap/acorn.c: Likewise.
34934 * partmap/pc.c: Likewise.
34935 * partmap/sun.c: Likewise.
34936 * partmap/gpt.c: Likewise.
34937 * script/sh/lexer.c: Likewise.
34938 * script/sh/function.c: Likewise.
34939 * font/font.c: Likewise.
34940 * font/font_cmd.c: Likewise.
34941 * loader/powerpc/ieee1275/linux.c: Likewise.
34942 * loader/efi/chainloader.c: Likewise.
34943 * loader/multiboot_loader.c: Likewise.
34944 * loader/macho.c: Likewise.
34945 * loader/i386/multiboot.c: Likewise.
34946 * loader/i386/linux.c: Likewise.
34947 * loader/i386/pc/linux.c: Likewise.
34948 * loader/i386/pc/multiboot2.c: Likewise.
34949 * loader/i386/pc/chainloader.c: Likewise.
34950 * loader/i386/pc/xnu.c: Likewise.
34951 * loader/i386/bsd_trampoline.S: Likewise.
34952 * loader/i386/efi/linux.c: Likewise.
34953 * loader/i386/multiboot_elfxx.c: Likewise.
34954 * loader/i386/bsd_helper.S: Likewise.
34955 * loader/i386/bsd.c: Likewise.
34956 * loader/i386/linux_trampoline.S: Likewise.
34957 * loader/i386/xnu_helper.S: Likewise.
34958 * loader/i386/xnu.c: Likewise.
34959 * loader/i386/bsd_pagetable.c: Likewise.
34960 * loader/i386/multiboot_helper.S: Likewise.
34961 * loader/xnu.c: Likewise.
34962 * loader/xnu_resume.c: Likewise.
34963 * io/gzio.c: Likewise.
34964 * term/efi/console.c: Likewise.
34965 * term/terminfo.c: Likewise.
34966 * term/ieee1275/ofconsole.c: Likewise.
34967 * term/i386/pc/serial.c: Likewise.
34968 * term/i386/pc/vesafb.c: Likewise.
34969 * term/i386/pc/vga.c: Likewise.
34970 * term/usb_keyboard.c: Likewise.
34971 * term/gfxterm.c: Likewise.
34972 * aclocal.m4: Likewise.
34973 * util/lvm.c: Likewise.
34974 * util/grub.d/30_os-prober.in: Likewise.
34975 * util/grub.d/10_hurd.in: Likewise.
34976 * util/console.c: Likewise.
34977 * util/grub-macho2img.c: Likewise.
34978 * util/grub-probe.c: Likewise.
34979 * util/hostfs.c: Likewise.
34980 * util/i386/pc/grub-mkimage.c: Likewise.
34981 * util/i386/pc/grub-setup.c: Likewise.
34982 * util/i386/efi/grub-mkimage.c: Likewise.
34983 * util/grub-mkconfig.in: Likewise.
34984 * util/raid.c: Likewise.
34985 * util/resolve.c: Likewise.
34986 * util/grub-mkdevicemap.c: Likewise.
34987 * util/grub-emu.c: Likewise.
34988 * util/getroot.c: Likewise.
34989 * util/hostdisk.c: Likewise.
34990 * util/usb.c: Likewise.
34991 * util/grub-editenv.c: Likewise.
34992 * util/misc.c: Likewise.
34993
d2d49665 349942009-06-10 Felix Zielcke <fzielcke@z-51.de>
34995
34996 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
34997 `genparttoollist.sh'.
34998 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
34999 Add `*.sh' to the list find searches for and change `mdate.sh'
35000 to `mdate-sh'.
35001
fe052e37 350022009-06-10 Pavel Roskin <proski@gnu.org>
35003
2763ac18 35004 * include/grub/multiboot2.h: Provide compatibility defines for
35005 multiboot2.h.
35006 * include/multiboot2.h: Include stdint.h only if needed, using
35007 angle brackets.
35008 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
35009 grub/multiboot2.h.
35010 * loader/ieee1275/multiboot2.c: Likewise.
35011 * loader/multiboot2.c: Likewise.
35012 * loader/multiboot_loader.c: Likewise.
35013
437e6adc 35014 * configure.ac: Use -nostdlib when probing for the target. It
35015 should not be required to have libc for the target.
35016
06a6836c 35017 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
35018 they fail without libc headers for the target.
35019 * include/grub/powerpc/libgcc.h: Use weak attribute for all
35020 exports.
35021 * include/grub/sparc64/libgcc.h: Likewise. Don't use
35022 preprocessor conditionals.
35023
fe052e37 35024 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
35025 build system doesn't need to be aware of the tar.c internals.
35026
afd22553 350272009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 35028
afd22553 35029 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 35030
6b787c4f 350312009-06-09 Robert Millan <rmh.grub@aybabtu.com>
35032
35033 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
35034 disk limit to 26 for IDE, Virtio, Xen and SCSI.
35035
350362009-06-09 Felix Zielcke <fzielcke@z-51.de>
35037
35038 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 35039 aren't available if ata.mod gets used.
6b787c4f 35040
473d1e45 350412009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 35042
473d1e45 35043 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 35044 initialising controller.
473d1e45 35045 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 35046
255a27d4 350472009-06-08 Felix Zielcke <fzielcke@z-51.de>
35048
35049 * util/i386/pc/grub-install.in: Add a parameter --disk-module
35050 to choose between ata and biosdisk module on i386-pc.
35051
473d1e45 350522009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 35053
d55842d8 35054 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
35055 Subclass and Programming Interface fields in terms of the 3 byte
35056 Class Code register.
35057 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35058
fa5db0b1 35059 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
35060 interface is OHCI. Add grub_dprintf for symmetry with
35061 bus/usb/uhci.c.
35062 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
35063 interface is UHCI. Add interf variable for programming
35064 interface. Print interface with class/subclass.
35065
c0947beb 35066 * bus/usb/ohci.c: Set interf with correct field.
35067
69da8877 35068 * bus/usb/uhci.c: Remove unneeded doubled lines.
35069 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
35070 Remove whitespace inside comment.
35071
9e172e30 350722009-06-08 Robert Millan <rmh.grub@aybabtu.com>
35073
35074 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
35075 as fallback an equivalent option without depth.
35076
de65ee2b 350772009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35078
35079 Not fail if unable to retrieve C/H/S on LBA disks
35080
473d1e45 35081 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 35082 if unable to retrieve C/H/S on LBA disks
35083
b57ea2c9 350842009-06-08 Pavel Roskin <proski@gnu.org>
35085
35086 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
35087 about aliasing.
35088
af361263 350892009-06-08 Felix Zielcke <fzielcke@z-51.de>
35090
35091 * Makefile.in (uninstall): Remove all $lib_DATA files.
35092
4c9ec6b3 350932009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35094
35095 Bugfix: install on partitionless device
35096
35097 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
35098 is a whole disk
35099
e76fc924 351002009-06-08 Felix Zielcke <fzielcke@z-51.de>
35101
35102 * Makefile.in (uninstall): Remove all $include_DATA files.
35103
ba5a0d05 351042009-06-08 Felix Zielcke <fzielcke@z-51.de>
35105
35106 * commands/true.c: New file. Implement the true and false commands.
35107 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
35108 (true_mod_SOURCES): New variable.
35109 (true_mod_CFLAGS): Likewise.
35110 (true_mod_LDFLAGS): Likewise.
35111
c8048e32 351122009-06-05 Colin D Bennett <colin@gibibit.com>
35113
35114 Optimized font character lookup using binary search instead of linear
35115 search. Fonts now are required to have the character index ordered by
35116 code point.
35117
35118 * font/font.c (load_font_index): Verify that fonts have ordered
35119 character indices.
35120 (find_glyph): Use binary search instead of linear search to find a
35121 character in a font.
35122
408305be 351232009-06-05 Michael Scherer <misc@mandriva.org>
35124
35125 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
35126 uses case sensitive btree.
35127 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
35128 only for case insensitive filesystems.
35129
8ee1e0d9 351302009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
35131
35132 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
35133 * conf/common.rmk (search_mod_CFLAGS): likewise
35134
a9966eb1 351352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35136
473d1e45 35137 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 35138 compensate a compiler bug
35139
9e7100fb 351402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35141
473d1e45 35142 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 35143 instead of '\b'
473d1e45 35144
ede21d71 351452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35146
35147 Definitions for creating asm symbols with Apple's CC
35148
35149 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
35150 [APPLE_CC] (VARIABLE): likewise
35151
9dbf7653 351522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35153
35154 Disable lnxboot.img when compiled
35155 with Apple's CC
35156
35157 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
35158 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
35159 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
35160 [! APPLE_CC] (CODE_LENG): skip
35161 [! APPLE_CC] (setup_sects): likewise
35162 [! APPLE_CC]: skip filling
473d1e45 35163
e93cdc3d 351642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35165
35166 Address in trampolines based on 32-bit registers when compiled
35167 with Apple's CC
35168
473d1e45 35169 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 35170 for addresses
35171 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
35172
6c688477 351732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35174
35175 Avoid aliases when compiling with Apple's CC for PCBIOS machine
35176
35177 * kern/misc.c [APPLE_CC] (memcpy): new function
35178 [APPLE_CC] (memmove): likewise
35179 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 35180 (memcpy): define alias conditionally on !APPLE_CC
6c688477 35181 (memset): likewise
35182 (abort): likewise
35183 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
35184 APPLE_CC are defined
35185 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
35186 (grub_assert_fail): make prototype conditional
35187
e37ffc5c 351882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35189
35190 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
35191
473d1e45 35192 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
35193 grub-macho2img
e37ffc5c 35194 (CLEANFILES): add grub-macho2img
35195 (grub_macho2img_SOURCES): new variable
35196 * kern/i386/pc/startup.S (bss_start): new variable
35197 (bss_end): likewise
35198 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
35199 * util/grub-macho2img.c: new file
35200
cf00df31 352012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35202
35203 Use objconv when compiling with Apple's CC
35204
35205 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
35206 (efiemu64.o): likewise
35207 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
35208 when compiling with Apple's CC
35209 (efiemu64_s.o): likewise
35210 * configure.ac: check for objconv when compiling with Apple's CC
35211 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 35212
d119a20c 352132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35214
35215 Define segment as well as section when compiling with
35216 Apple's CC
35217
35218 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
35219 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
35220 (efiemu_convert_pointer): likewise
35221 (efiemu_set_virtual_address_map): likewise
35222 (efiemu_convert_pointer): likewise
35223 (efiemu_getcrc32): likewise
35224 (init_crc32_table): likewise
35225 (reflect): likewise
35226 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
35227 (GRUB_MOD_DEP): likewise
473d1e45 35228
c8600122 352292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35230
35231 Allow a compilation without -mcmodel=large
35232
35233 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
35234 when compiled without -mcmodel=large
473d1e45 35235 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 35236 without -mcmodel=large
473d1e45 35237 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 35238 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 35239
e8df1d4e 352402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35241
35242 Remove nested functions in efiemu core
35243
35244 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 35245
cc6c3ac1 352462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35247
35248 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
35249
35250 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
35251 temporary storage
473d1e45 35252 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
35253 using Apple's CC
cc6c3ac1 35254 (grub_cpu_is_tsc_supported): likewise
35255 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 35256
3e325901 352572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35258
35259 Absolute addressing through constant with Apple's cc
35260
35261 * kern/i386/pc/startup.S: Define necessary constants
35262 and address through it when using ABS with Apple's CC
35263 * boot/i386/pc/diskboot.S: likewise
35264 * boot/i386/pc/boot.S: likewise
35265 * boot/i386/pc/lnxboot.S: likewise
35266 * boot/i386/pc/cdboot.S: likewise
35267 * mmap/i386/pc/mmap_helper.S: likewise
35268 * commands/i386/pc/drivemap_int13h.S: likewise
35269
2b167a72 352702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35271
35272 Check if compiler is apple cc
35273
35274 * Makefile.in (ASFLAGS): new variable
35275 (TARGET_ASFLAGS): likewise
35276 (TARGET_MODULE_FORMAT): likewise
35277 (TARGET_APPLE_CC): likewise
35278 (OBJCONV): likewise
35279 (TARGET_IMG_CFLAGS): likewise
35280 (TARGET_CPPFLAGS): add includedir
35281 * configure.ac: call grub_apple_cc and grub_apple_target_cc
35282 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
35283 Check for linker script only if compiler isn't Apple's CC
35284 (TARGET_MODULE_FORMAT): set
35285 (TARGET_APPLE_CC): likewise
35286 (TARGET_ASFLAGS): likewise
35287 (ASFLAGS): likewise
35288 Check for objcopy only if compiler isn't Apple's CC
35289 Check for BSS symbol only if compiler isn't Apple's CC
35290 * genmk.rb: adapt nm options if we use Apple's utils
35291 * aclocal.m4 (grub_apple_cc): new test
35292 (grub_apple_target_cc): likewise
473d1e45 35293
fb14123e 352942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35295
35296 Simplify sed expressions and improve awk
35297
35298 * Makefile.in (install-local): simplify sed expression
35299 * gencmdlist.sh: likewise
35300 * genmoddep.awk: avoid adding module as a dependency of itself
35301
5b889789 353022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35303
35304 Add missing start symbols
35305
35306 * boot/i386/pc/boot.S: add start
fb14123e 35307 * boot/i386/pc/pxeboot.S: likewise
473d1e45 35308
fd2bf2e3 353092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35310
35311 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 35312
35313 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 35314 (relocate_addresses): consider both r_addend and value at offset
35315 (make_mods_section): zerofill modinfo and header
35316 (convert_elf): write prefix here
473d1e45 35317
5389763d 353182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35319
35320 Use .asciz instead of .string
35321
35322 * i386/pc/diskboot.S: use .asciz instead of .string
35323 * i386/pc/boot.S: likewise
35324 * include/grub/dl.h (GRUB_MOD_DEP): likewise
35325 (GRUB_MOD_NAME): likewise
473d1e45 35326
3eb5ed4e 353272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35328
35329 gfxpayload support
35330
35331 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
35332 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
35333 (grub_video_setup): remove
35334 (grub_video_set_mode): new prototype
35335 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
35336 (vid_mode): remove
35337 (linux_vesafb_res): compile only on PCBIOS
35338 (grub_linux_boot): support gfxpayload
35339 * loader/i386/pc/xnu.c (video_hook): new function
35340 (grub_xnu_set_video): support gfxpayload
35341 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
35342 (DEFAULT_VIDEO_HEIGHT): likewise
35343 (DEFAULT_VIDEO_FLAGS): likewise
35344 (DEFAULT_VIDEO_MODE): new definition
35345 (video_hook): new function
35346 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 35347 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 35348 loading xnu
35349 * video/video.c (grub_video_setup): removed
473d1e45 35350 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 35351 grub_video_setup
35352
4b0e1143 353532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35354
35355 Avoid calling biosdisk in drivemap
35356
35357 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
35358 (revparse_biosdisk): likewise
35359 (list_mappings): derive name from id directly
35360 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 35361
fda6cb98 353622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35363
35364 Script fixes
35365
35366 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
35367 (grub_lexer_param): add tokenonhold
35368 (grub_script_create_cmdline): remove cmdline. All callers updated
35369 (grub_script_function_create): make functionname
35370 grub_script_arg. All callers updated
35371 (grub_script_execute_argument_to_string): new prototype
35372 * kern/parser.c (state_transitions): reorder
35373 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 35374 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 35375 make global
35376 (grub_script_execute_cmdline): use new format
35377 * script/sh/function.c (grub_script_function_create): make functionname
35378 grub_script_arg. All callers updated
473d1e45 35379 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 35380 (grub_script_yylex): remove
35381 (grub_script_yylex2): renamed to ...
35382 (grub_script_yylex): ...renamed
35383 parse the expressions like a${b}c
35384 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
35385 (GRUB_PARSER_TOKEN_VAR): remove
35386 (GRUB_PARSER_TOKEN_NAME): likewise
35387 ("if"): declare as typeless
35388 ("while"): likewise
35389 ("function"): likewise
35390 ("else"): likewise
35391 ("then"): likewise
35392 ("fi"): likewise
35393 (text): remove
35394 (argument): likewise
35395 (script): accept empty scripts and make exit on error
35396 (arguments): use GRUB_PARSER_TOKEN_ARG
35397 (function): likewise
35398 (command): move error handling to script
35399 (menuentry): move grub_script_lexer_ref before
473d1e45 35400 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 35401 argument. All callers updated
35402
f4448a07 354032009-06-04 Robert Millan <rmh.grub@aybabtu.com>
35404
35405 Prevent GRUB from probing floppies during boot.
35406
35407 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
35408 * commands/search.c (options): Add --no-floppy.
35409 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
35410 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
35411 --no-floppy when searching for UUIDs.
35412
2bf5885a 354132009-06-04 Robert Millan <rmh.grub@aybabtu.com>
35414
35415 Simplify the code duplication in commands/search.c.
35416
35417 * commands/search.c (search_label, search_fs_uuid): Merge into ...
35418 (search_fs): ... this. Update all users.
35419
f6fd460a 354202009-06-03 Felix Zielcke <fzielcke@z-51.de>
35421
35422 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
35423
cbb3c83e 354242009-05-28 Pavel Roskin <proski@gnu.org>
35425
57788cfd 35426 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
35427 Remove the original symlink explicitly.
35428
cbb3c83e 35429 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
35430 just one slash. That's how grub_fshelp_find_file() does it.
35431
cd0d5e30 354322009-05-26 Pavel Roskin <proski@gnu.org>
35433
f0f8bbe2 35434 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
35435 to `str'.
35436
cd0d5e30 35437 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
35438 possibly unused.
35439
8c2cab51 354402009-05-25 Christian Franke <franke@computer.org>
35441
35442 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
35443 register.
35444 (grub_atapi_identify): Add wait after drive select.
35445 (grub_ata_identify): Do more strict status register check before
35446 calling grub_atapi_identify (). Suppress error message if status
35447 register is 0x00 after command failure. Add status register
35448 check after PIO read to avoid bogus identify due to stuck DRQ.
35449 Thanks to Pavel Roskin for testing.
35450 (grub_device_initialize): Remove unsafe status register check.
35451 Thanks to 'phcoder' for problem report and patch.
35452 Prevent sign extension in debug message.
35453
230c0ad6 354542009-05-23 Colin D Bennett <colin@gibibit.com>
35455
35456 Cleaned up `include/grub/normal.h'. Grouped prototypes by
35457 definition file, and functions defined in `normal/menu.c' have had
35458 their prototypes moved to `include/grub/menu.h' for consistency.
35459
35460 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
35461 from normal.h.
35462 (grub_menu_get_entry): Likewise.
35463 (grub_menu_get_timeout): Likewise.
35464 (grub_menu_set_timeout): Likewise.
35465 (grub_menu_execute_entry): Likewise.
35466 (grub_menu_execute_with_fallback): Likewise.
35467 (grub_menu_entry_run): Likewise.
35468
35469 * include/grub/normal.h: Re-ordered and grouped function
35470 prototypes by file that the function is defined in.
35471 (grub_menu_execute_callback): Removed; moved to menu.h.
35472 (grub_menu_get_entry): Likewise.
35473 (grub_menu_get_timeout): Likewise.
35474 (grub_menu_set_timeout): Likewise.
35475 (grub_menu_execute_entry): Likewise.
35476 (grub_menu_execute_with_fallback): Likewise.
35477 (grub_menu_entry_run): Likewise.
35478 (grub_menu_addentry): Renamed from this ...
35479 (grub_normal_add_menu_entry): ... to this.
35480
35481 * normal/main.c (grub_menu_addentry): Renamed from this ...
35482 (grub_normal_add_menu_entry): ... to this.
35483
35484 * script/sh/execute.c (grub_script_execute_menuentry): Update
35485 reference to renamed grub_menu_addentry function.
35486
861f03a5 354872009-05-23 Felix Zielcke <fzielcke@z-51.de>
35488
35489 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
35490
96b1619a 354912009-05-22 Pavel Roskin <proski@gnu.org>
35492
bf6a5fb2 35493 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
35494 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
35495 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
35496 compiling for the i386 targets, but not for the utilities.
35497
96b1619a 35498 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
35499 to grub_uint8_t.
35500 (grub_root_drive): Likewise.
35501 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
35502 remove alignment.
35503 (grub_root_drive): Change size to byte.
35504 (grub_start_addr): Remove.
35505 (grub_end_addr): Likewise.
35506 (grub_apm_bios_info): Likewise.
35507
b729776b 355082009-05-21 Felix Zielcke <fzielcke@z-51.de>
35509
35510 * normal/i386: Remove.
35511 * normal/powerpc: Likewise.
35512 * normal/sparc64: Likewise.
35513 * normal/x86_64: Likewise.
35514
0a15ce80 355152009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
35516
35517 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 35518 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 35519 * loader/i386/xnu_helper.S: Likewise
d6da58e6 35520
33db9015 355212009-05-18 Colin D Bennett <colin@gibibit.com>
35522
d6da58e6 35523 Display error messages when parsing a Lua statement fails.
35524 Previously, executing a syntactically invalid statement like
35525 ")foo" or "bar;" would silently fail.
33db9015 35526
35527 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 35528 (grub_lua_parse_line): Improved reporting of Lua parser and
35529 execution errors.
33db9015 35530
46422c89 355312009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
35532
35533 Remove -Werror which causes build to fail on some systems
35534
35535 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
35536 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
35537 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 35538
22f53a96 355392009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
35540
35541 trampoline for linux on 64-bit platform
35542
18f547ad 35543 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
35544 loader/i386/efi/linux_trampoline.S
35545 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 35546 declaration
d6da58e6 35547 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
35548 here
22f53a96 35549 * loader/i386/linux_trampoline.S: moved here
d6da58e6 35550 * loader/i386/efi/linux.c (allocate_pages): reserve space for
35551 trampoline
22f53a96 35552 (jumpvector): removed
35553 (grub_linux_trampoline_start): new declaration
35554 (grub_linux_trampoline_end): likewise
35555 (grub_linux_boot): use trampoline when on 64-bit platform
35556 * loader/i386/linux.c: likewise
35557
cb5a0f40 355582009-05-16 Pavel Roskin <proski@gnu.org>
35559
35560 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
35561 const to avoid a warning.
35562 (grub_lua_setenv): Likewise.
35563 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
35564 lmsg to fix a warning.
35565
334f2c28 355662009-05-16 Felix Zielcke <fzielcke@z-51.de>
35567
35568 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 35569 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
35570 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
35571 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
35572 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
35573 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
35574 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
35575 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 35576
59e5d3ec 355772009-05-16 Felix Zielcke <fzielcke@z-51.de>
35578
35579 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
35580
9d87a1ba 355812009-05-16 Bean <bean123ch@gmail.com>
35582
35583 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
35584 (lua_mod_SOURCES): New variable.
35585 (lua_mod_CFLAGS): Likewise.
35586 (lua_mod_LDFLAGS): Likewise.
35587
35588 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
35589 (setjmp_mod_SOURCES): New variable.
35590 (setjmp_mod_CFLAGS): Likewise.
35591 (setjmp_LDFLAGS): Likewise.
35592
35593 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
35594 (setjmp_mod_SOURCES): New variable.
35595 (setjmp_mod_CFLAGS): Likewise.
35596 (setjmp_LDFLAGS): Likewise.
35597
35598 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
35599 (setjmp_mod_SOURCES): New variable.
35600 (setjmp_mod_CFLAGS): Likewise.
35601 (setjmp_LDFLAGS): Likewise.
35602
35603 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
35604 (setjmp_mod_SOURCES): New variable.
35605 (setjmp_mod_CFLAGS): Likewise.
35606 (setjmp_LDFLAGS): Likewise.
35607
35608 * normal/i386/setjmp.S: Moved from here ...
35609 * lib/i386/setjmp.S: ... Moved here
35610 * normal/x86_64/setjmp.S: Moved from here ...
35611 * lib/x86_64/setjmp.S: ... Moved here
35612 * normal/powerpc/setjmp.S: Moved from here ...
35613 * lib/powerpc/setjmp.S: ... Moved here
35614 * normal/sparc64/setjmp.S: Moved from here ...
35615 * lib/sparc64/setjmp.S: ... Moved here
35616
35617 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
35618 returns_twice in mingw.
35619
35620 * script/lua/grub_lib.c: New file.
35621 * script/lua/grub_lib.h: Likewise.
35622 * script/lua/grub_lua.h: Likewise.
35623 * script/lua/grub_main.c: Likewise.
35624 * script/lua/lapi.c: Likewise.
35625 * script/lua/lapi.h: Likewise.
35626 * script/lua/lauxlib.c: Likewise.
35627 * script/lua/lauxlib.h: Likewise.
35628 * script/lua/lbaselib.c: Likewise.
35629 * script/lua/lcode.c: Likewise.
35630 * script/lua/lcode.h: Likewise.
35631 * script/lua/ldblib.c: Likewise.
35632 * script/lua/ldebug.c: Likewise.
35633 * script/lua/ldebug.h: Likewise.
35634 * script/lua/ldo.c: Likewise.
35635 * script/lua/ldo.h: Likewise.
35636 * script/lua/ldump.c: Likewise.
35637 * script/lua/lfunc.c: Likewise.
35638 * script/lua/lfunc.h: Likewise.
35639 * script/lua/lgc.c: Likewise.
35640 * script/lua/lgc.h: Likewise.
35641 * script/lua/linit.c: Likewise.
35642 * script/lua/liolib.c: Likewise.
35643 * script/lua/llex.c: Likewise.
35644 * script/lua/llex.h: Likewise.
35645 * script/lua/llimits.h: Likewise.
35646 * script/lua/lmathlib.c: Likewise.
35647 * script/lua/lmem.c: Likewise.
35648 * script/lua/lmem.h: Likewise.
35649 * script/lua/loadlib.c: Likewise.
35650 * script/lua/lobject.c: Likewise.
35651 * script/lua/lobject.h: Likewise.
35652 * script/lua/lopcodes.c: Likewise.
35653 * script/lua/lopcodes.h: Likewise.
35654 * script/lua/loslib.c: Likewise.
35655 * script/lua/lparser.c: Likewise.
35656 * script/lua/lparser.h: Likewise.
35657 * script/lua/lstate.c: Likewise.
35658 * script/lua/lstate.h: Likewise.
35659 * script/lua/lstring.c: Likewise.
35660 * script/lua/lstring.h: Likewise.
35661 * script/lua/lstrlib.c: Likewise.
35662 * script/lua/ltable.c: Likewise.
35663 * script/lua/ltable.h: Likewise.
35664 * script/lua/ltablib.c: Likewise.
35665 * script/lua/ltm.c: Likewise.
35666 * script/lua/ltm.h: Likewise.
35667 * script/lua/lua.h: Likewise.
35668 * script/lua/luaconf.h: Likewise.
35669 * script/lua/lualib.h: Likewise.
35670 * script/lua/lundump.c: Likewise.
35671 * script/lua/lundump.h: Likewise.
35672 * script/lua/lvm.c: Likewise.
35673 * script/lua/lvm.h: Likewise.
35674 * script/lua/lzio.c: Likewise.
35675 * script/lua/lzio.h: Likewise.
35676
5e898c9d 356772009-05-16 Bean <bean123ch@gmail.com>
35678
35679 * include/grub/kernel.h (grub_module_header_types): Add type
35680 OBJ_TYPE_CONFIG.
35681
35682 * kern/main.c (grub_load_config): New function.
35683 (grub_main): Call grub_load_config to read boot config.
35684
35685 * grub-mkimage (generate_image): New parameter config_path.
35686 (options): New option --config.
35687 (main): Parse --config option, and pass it to generate_image.
35688
cf353a47 356892009-05-14 Christian Franke <franke@computer.org>
35690
35691 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
35692 This fixes build on Cygwin.
35693
3834887f 356942009-05-14 Pavel Roskin <proski@gnu.org>
35695
35696 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
35697 jump. This saves two bytes, so the typical case of 2 swapped
35698 drives would fit 32 bytes.
35699
8090fc01 357002009-05-13 Pavel Roskin <proski@gnu.org>
35701
ac963883 35702 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
35703 grub_uint32_t to avoid a warning.
35704
8090fc01 35705 * loader/i386/linux.c (allocate_pages): When assigning
35706 real_mode_mem, cast through grub_size_t to fix a warning. The
35707 code already makes sure that the value would fit a pointer.
35708 (grub_linux_setup_video): Cast render_target->data to
35709 grub_size_t to fix a warning.
35710
18f547ad 357112009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 35712
35713 * commands/i386/pc/drivemap.c: New file - implement drivemap
35714 command.
35715 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
35716 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
35717
6f6a8b28 357182009-05-13 Pavel Roskin <proski@gnu.org>
35719
35720 * util/i386/pc/grub-setup.c (setup): Remove unused variable
35721 embedding_area_exists.
35722
15fbf4c4 357232009-05-13 Robert Millan <rmh.grub@aybabtu.com>
35724
35725 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
35726 it easier to understand / work with.
59978c8a 35727 Improve warning messages for cases where there's no embedding area,
35728 or when it is too small (or core.img too large).
15fbf4c4 35729
238e871f 357302009-05-13 Pavel Roskin <proski@gnu.org>
35731
0ab3a9a4 35732 * loader/i386/pc/multiboot2.c: Add necessary includes for
35733 grub_multiboot2_real_boot().
35734
a2c8c5f8 35735 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
35736 PX record is always little-endian. We only need the lower 2
35737 bytes of the mode.
35738
faec96af 35739 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
35740 facilitate code reuse.
35741 (grub_cpio_mount): Use "struct head", not a char buffer. This
35742 fixes a warning reported by gcc 4.4.
35743
238e871f 35744 * kernel/disk.c (grub_disk_read): Use void pointer for the
35745 buffer.
35746 (grub_disk_write): Use const void pointer for the buffer.
35747 Adjust all callers. Remove unnecessary casts.
35748
901d2f0c 357492009-05-10 Robert Millan <rmh.grub@aybabtu.com>
35750
35751 * util/i386/pc/grub-install.in: Update copyright year.
35752
18f547ad 357532009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 35754
35755 gptsync
35756
35757 * commands/gptsync.c: new file
35758 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
35759 (gptsync_mod_SOURCES): new variable
35760 (gptsync_mod_CFLAGS): likewise
35761 (gptsync_mod_LDFLAGS): likewise
18f547ad 35762 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 35763 new definition
35764 (GRUB_PC_PARTITION_TYPE_HFS): likewise
35765 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
35766 * conf/i386-ieee1275.rmk: likewise
35767 * conf/i386-pc.rmk: likewise
35768 * conf/powerpc-ieee1275.rmk: likewise
35769
b4ba690a 357702009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
35771
35772 Fixed grub-emu
35773
35774 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
35775 (grub_dl_ref): likewise
35776
317e1a44 357772009-05-08 Robert Millan <rmh.grub@aybabtu.com>
35778
35779 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
35780 split in two functions (one for msdos and one for gpt).
35781
041b8094 357822009-05-08 Pavel Roskin <proski@gnu.org>
35783
752473c2 35784 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
35785 not modified.
35786
041b8094 35787 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
35788 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
35789 Initialize them with -1. Add sanity check for bad1. Eliminate
35790 nerr variable.
35791
172800ce 357922009-05-08 David S. Miller <davem@davemloft.net>
35793
35794 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
35795
29aa5e81 357962009-05-06 Robert Millan <rmh.grub@aybabtu.com>
35797
35798 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 35799 existence.
29aa5e81 35800
96613b62 358012009-05-05 Felix Zielcke <fzielcke@z-51.de>
35802
35803 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 35804 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 35805
eef73c8a 358062009-05-05 David S. Miller <davem@davemloft.net>
35807
35808 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
35809
119494b5 358102009-05-05 Pavel Roskin <proski@gnu.org>
35811
35812 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
35813 of grub_dl_ref() and grub_dl_unref().
35814 * commands/parttool.c: Remove preprocessor conditionals around
35815 grub_dl_ref() and grub_dl_unref().
35816 * fs/affs.c: Likewise.
35817 * fs/afs.c: Likewise.
35818 * fs/cpio.c: Likewise.
35819 * fs/ext2.c: Likewise.
35820 * fs/fat.c: Likewise.
35821 * fs/hfs.c: Likewise.
35822 * fs/hfsplus.c: Likewise.
35823 * fs/iso9660.c: Likewise.
35824 * fs/jfs.c: Likewise.
35825 * fs/minix.c: Likewise.
35826 * fs/ntfs.c: Likewise.
35827 * fs/reiserfs.c: Likewise.
35828 * fs/sfs.c: Likewise.
35829 * fs/udf.c: Likewise.
35830 * fs/ufs.c: Likewise.
35831 * fs/xfs.c: Likewise.
35832 * include/grub/dl.h: Likewise.
35833 * loader/xnu.c: Likewise.
35834
de5fd76e 358352009-05-04 Pavel Roskin <proski@gnu.org>
35836
35837 * commands/acpi.c: Remove unused variable my_mod.
35838 * partmap/amiga.c: Likewise.
35839 * partmap/apple.c: Likewise.
35840 * partmap/gpt.c: Likewise.
35841 * partmap/pc.c: Likewise.
35842 * partmap/sun.c: Likewise.
35843 * term/gfxterm.c: Likewise.
35844 * term/i386/pc/vesafb.c: Likewise.
35845 * term/i386/pc/vga.c: Likewise.
35846
983598ad 358472009-05-04 David S. Miller <davem@davemloft.net>
35848
35849 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
35850 pointer args to grub_ieee1275_get_property().
35851
8aadec43 35852 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
35853
9554b15e 35854 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
35855 devices, and do not traverse down under controller nodes.
35856
67e23c90 35857 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
35858 (grub_ofdisk_open): Use it to un-escape "," characters.
35859 * kern/disk.c (find_part_sep): New.
35860 (grub_disk_open): Use it to find the first non-escaped ','
35861 character in the disk name.
35862 * util/ieee1275/devicemap.c (escape_of_path): New.
35863 (grub_util_emit_devicemap_entry): Use it.
35864 * util/sparc64/ieee1275/grub-install.in: Update script to
35865 strip partition specifiers properly by not triggering on
35866 '\' escaped ',' characters.
35867
74bfdd2f 358682009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35869
35870 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
35871 to 0x300.
35872 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
35873 resolutions.
35874 (linux_vesafb_modes): Add a lot of additional modes to the list (based
35875 on documentation from Wikipedia).
35876
4241d2b1 358772009-05-04 Pavel Roskin <proski@gnu.org>
35878
35879 * disk/ata.c: Spelling fixes.
35880 * disk/raid.c: Likewise.
35881 * disk/usbms.c: Likewise.
35882 * disk/dmraid_nvidia.c: Likewise.
35883 * kern/ieee1275/openfw.c: Likewise.
35884 * kern/ieee1275/init.c: Likewise.
35885 * kern/ieee1275/cmain.c: Likewise.
35886 * boot/i386/pc/cdboot.S: Likewise.
35887 * video/readers/png.c: Likewise.
35888 * video/i386/pc/vbe.c: Likewise.
35889 * fs/udf.c: Likewise.
35890 * fs/hfs.c: Likewise.
35891 * fs/reiserfs.c: Likewise.
35892 * efiemu/runtime/efiemu.c: Likewise.
35893 * efiemu/main.c: Likewise.
35894 * efiemu/mm.c: Likewise.
35895 * include/grub/elf.h: Likewise.
35896 * include/grub/xnu.h: Likewise.
35897 * include/grub/usbdesc.h: Likewise.
35898 * include/grub/usb.h: Likewise.
35899 * include/grub/script_sh.h: Likewise.
35900 * include/grub/lib/LzmaEnc.h: Likewise.
35901 * include/grub/efiemu/efiemu.h: Likewise.
35902 * include/grub/command.h: Likewise.
35903 * normal/menu.c: Likewise.
35904 * normal/main.c: Likewise.
35905 * normal/datetime.c: Likewise.
35906 * bus/usb/uhci.c: Likewise.
35907 * mmap/i386/uppermem.c: Likewise.
35908 * mmap/mmap.c: Likewise.
35909 * commands/acpi.c: Likewise.
35910 * commands/test.c: Likewise.
35911 * partmap/apple.c: Likewise.
35912 * font/font.c: Likewise.
35913 * loader/sparc64/ieee1275/linux.c: Likewise.
35914 * loader/macho.c: Likewise.
35915 * loader/i386/bsd_trampoline.S: Likewise.
35916 * loader/i386/bsd.c: Likewise.
35917 * loader/xnu.c: Likewise.
35918 * term/i386/pc/vesafb.c: Likewise.
35919 * term/usb_keyboard.c: Likewise.
35920 * util/resolve.c: Likewise.
35921 * util/getroot.c: Likewise.
35922
0cfc0083 359232009-05-04 Felix Zielcke <fzielcke@z-51.de>
35924
35925 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
35926
7c1d00cd 359272009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35928
35929 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
35930 build error.
35931
b01f0548 359322009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35933
35934 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
35935 parameter only available on BIOS.
35936
ecc3eb22 359372009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
35938
35939 Removed wrong semicolon in declaration
35940
35941 * grub/misc.h (grub_dprintf): remove semicolon
35942
112972a9 359432009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35944
35945 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
35946 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
35947 is done by grub_cmd_linux() now).
35948 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
35949 restore video to text mode.
35950 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
35951 indicates lack of "vga=" parameter. "vga=0" is mapped to
35952 `GRUB_LINUX_VID_MODE_NORMAL'.
35953
afd5c115 359542009-05-04 Felix Zielcke <fzielcke@z-51.de>
35955
35956 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
35957 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
35958 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 35959 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 35960 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
35961 `grub_script.tab.c'.
35962
35963 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35964 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35965 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35966 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35967 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35968
faa517ce 35969 * Makefile.in: Remove duplicated 2008 in Copyright line.
35970
ae0c0bdc 359712009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35972
473d1e45 35973 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 35974 unconditionally.
35975 * include/grub/util/misc.h (grub_util_warn): New declaration.
35976
35977 * util/i386/pc/grub-install.in: Understand --force and pass it down
35978 to grub-setup.
35979
35980 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
35981 down to setup().
35982 (setup): Improve error messages and add warnings when requested to
35983 install in odd layouts. Refuse to install using blocklists unless
35984 --force was set.
35985
18f547ad 359862009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 35987
35988 * disk/raid.c (grub_raid_scan_device): Improve debug message.
35989
6d260daa 359902009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
35991
35992 Updated copyright year
35993
35994 * fs/hfsplus.c: updated copyright year
18f547ad 35995
69f853f8 359962009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
35997
35998 HFS+ UUID
35999
18f547ad 36000 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 36001 in the space previously used by unused3
36002 (grub_hfsplus_uuid): new function
36003 (grub_hfsplus_fs): added uuid field
36004
4c402e73 360052009-05-03 Pavel Roskin <proski@gnu.org>
36006
36007 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
36008 suppress warnings. It's no longer needed.
36009 * disk/host.c: Likewise.
36010 * disk/ata_pthru.c: Likewise.
36011 * disk/loopback.c: Likewise.
36012 * hook/datehook.c: Likewise.
36013 * parttool/pcpart.c: Likewise.
36014 * fs/i386/pc/pxe.c: Likewise.
36015 * fs/ntfscomp.c: Likewise.
36016 * efiemu/main.c: Likewise.
36017 * mmap/mmap.c: Likewise.
36018 * commands/crc.c: Likewise.
36019 * commands/hexdump.c: Likewise.
36020 * commands/hdparm.c: Likewise.
36021 * commands/acpi.c: Likewise.
36022 * commands/echo.c: Likewise.
36023 * commands/minicmd.c: Likewise.
36024 * commands/blocklist.c: Likewise.
36025 * commands/memrw.c: Likewise.
36026 * commands/loadenv.c: Likewise.
36027 * commands/usbtest.c: Likewise.
36028 * commands/lsmmap.c: Likewise.
36029 * commands/boot.c: Likewise.
36030 * commands/parttool.c: Likewise.
36031 * commands/configfile.c: Likewise.
36032 * commands/search.c: Likewise.
36033 * commands/ieee1275/suspend.c: Likewise.
36034 * commands/cat.c: Likewise.
36035 * commands/i386/pc/pxecmd.c: Likewise.
36036 * commands/i386/pc/play.c: Likewise.
36037 * commands/i386/pc/halt.c: Likewise.
36038 * commands/i386/pc/vbeinfo.c: Likewise.
36039 * commands/i386/pc/vbetest.c: Likewise.
36040 * commands/lspci.c: Likewise.
36041 * commands/date.c: Likewise.
36042 * commands/handler.c: Likewise.
36043 * commands/ls.c: Likewise.
36044 * commands/test.c: Likewise.
36045 * commands/cmp.c: Likewise.
36046 * commands/efi/loadbios.c: Likewise.
36047 * commands/efi/fixvideo.c: Likewise.
36048 * commands/halt.c: Likewise.
36049 * commands/help.c: Likewise.
36050 * commands/reboot.c: Likewise.
36051 * hello/hello.c: Likewise.
36052 * script/sh/main.c: Likewise.
36053 * loader/xnu.c: Likewise.
36054 * term/terminfo.c: Likewise.
36055 * term/i386/pc/serial.c: Likewise.
36056 * term/usb_keyboard.c: Likewise.
36057
515b5079 360582009-05-03 David S. Miller <davem@davemloft.net>
36059
36060 * normal/menu.c: Include grub/parser.h
36061
dfc31a22 360622009-05-03 Pavel Roskin <proski@gnu.org>
36063
2fee74f1 36064 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
36065 not char*.
36066 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
36067 Suggested by Javier Martín <lordhabbit@gmail.com>
36068
dfc31a22 36069 * util/i386/pc/grub-mkrescue.in: Allow for the case when
36070 efiemu??.o doesn't exist.
36071 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
36072 copying.
36073
18f547ad 360742009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 36075
36076 FreeBSD 64-bit support
36077
18f547ad 36078 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 36079 and loader/i386/bsd_trampoline.S
36080 (bsd_mod_ASFLAGS): new variable
36081 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
36082 (FREEBSD_MODTYPE_KERNEL64): likewise
36083 (grub_bsd64_trampoline_start): likewise
36084 (grub_bsd64_trampoline_end): likewise
36085 (grub_bsd64_trampoline_selfjump): likewise
36086 (grub_bsd64_trampoline_gdt): likewise
36087 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
36088 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
36089 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
36090 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 36091 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 36092 of "attrib" member
36093 * loader/i386/bsd_pagetable.c: new file
36094 * loader/i386/bsd_trampoline.S: likewise
36095 * loader/i386/bsd.c (ALIGN_QWORD): new macro
36096 (ALIGN_VAR): likewise
36097 (entry_hi): new variable
36098 (kern_end_mdofs): likewise
36099 (is_64bit): likewise
36100 (grub_freebsd_add_meta): use ALIGN_VAR
36101 (grub_e820_mmap): new declaration
36102 (grub_freebsd_add_mmap): new function
36103 (grub_freebsd_add_meta_module): support 64 bit kernels
36104 (grub_freebsd_list_modules): use ALIGN_VAR
36105 (gdt_descriptor): new declaration
36106 (grub_freebsd_boot): support 64 bit kernels
36107 (grub_bsd_elf64_hook): new function
36108 (grub_bsd_load_elf): support elf64
36109
038c5720 361102009-05-03 Bean <bean123ch@gmail.com>
36111
36112 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
36113 after we get the result of if statement.
36114
fc45fb58 361152009-05-03 Bean <bean123ch@gmail.com>
36116
36117 * Makefile.in (enable_efiemu): New variable.
36118
36119 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
36120 set.
36121 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
36122 path.
36123 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
36124 path, add -mno-red-zone option.
36125 (efiemu64_s.o): Likewise.
36126 (efiemu64.o): Use macro $^ for source file.
36127
36128 * configure.ac (--enable-efiemu): New option.
36129
bbee0f2b 361302009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
36131
36132 xnu support
36133
36134 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
36135 (pkglib_MODULES): add xnu.mod
36136 (xnu_mod_SOURCES): new variable
36137 (xnu_mod_CFLAGS): likewise
36138 (xnu_mod_LDFLAGS): likewise
36139 (xnu_mod_ASFLAGS): likewise
36140 * conf/i386-pc.rmk: likewise
36141 * conf/x86_64-efi.rmk: likewise
7dd4a573 36142 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 36143 new declaration
36144 * include/grub/i386/macho.h: new file
36145 * include/grub/i386/xnu.h: likewise
36146 * include/grub/macho.h: likewise
36147 * include/grub/machoload.h: likewise
36148 * include/grub/x86_64/macho.h: likewise
36149 * include/grub/x86_64/xnu.h: likewise
36150 * include/grub/xnu.h: likewise
36151 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
36152 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
36153 * loader/i386/efi/xnu.c: new file
36154 * loader/i386/pc/xnu.c: likewise
36155 * loader/i386/xnu.c: likewise
36156 * loader/i386/xnu_helper.S: likewise
36157 * loader/macho.c: likewise
36158 * loader/xnu.c: likewise
36159 * loader/xnu_resume.c: likewise
36160 * util/grub-dumpdevtree: likewise
36161 * include/grub/i386/pit.h: include grub/err.h
36162 (grub_pit_wait): export
36163 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 36164
5caf964d 361652009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
36166
36167 Efiemu
7dd4a573 36168
5caf964d 36169 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 36170 _linux_efi, linux_efi.
36171 new files in grub-emu
5caf964d 36172 new targets efiemu32.o and efiemu64.o
36173 * loader/linux_normal_efiemu.c: likewise
36174 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 36175 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 36176 files to copy
36177 * include/grub/autoefi.h: new file
7dd4a573 36178 * include/grub/i386/efiemu.h: likewise
5caf964d 36179 * include/grub/i386/pc/efiemu.h: likewise
36180 * include/grub/efi/api.h: add LL suffix when necessary
36181 new definitions relating to tables
36182 * include/grub/efiemu/efiemu.h: new file
36183 * include/grub/efiemu/runtime.h: likewise
36184 * efiemu/prepare.c: likewise
36185 * efiemu/loadcore_common.c: likewise
36186 * efiemu/loadcore64.c: likewise
36187 * efiemu/runtime/efiemu.sh: likewise
36188 * efiemu/runtime/efiemu.S: likewise
36189 * efiemu/runtime/efiemu.c: likewise
36190 * efiemu/runtime/config.h: likewise
36191 * efiemu/prepare32.c: likewise
36192 * efiemu/main.c: likewise
36193 * efiemu/modules/pnvram.c: likewise
36194 * efiemu/modules/i386: likewise
36195 * efiemu/modules/i386/pc: likewise
36196 * efiemu/modules/acpi.c: likewise
36197 * efiemu/i386/pc/cfgtables.c: likewise
36198 * efiemu/i386/loadcore64.c: likewise
36199 * efiemu/i386/loadcore32.c: likewise
36200 * efiemu/prepare64.c: likewise
36201 * efiemu/loadcore.c: likewise
36202 * efiemu/symbols.c: likewise
36203 * efiemu/mm.c: likewise
36204 * efiemu/loadcore32.c: likewise
7dd4a573 36205
362062009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 36207
36208 ACPI spoofing
36209
36210 * commands/acpi.c: new file
36211 * commands/i386/pc/acpi.c: likewise
36212 * commands/efi/acpi.c: likewise
36213 * include/grub/acpi.h: likewise
36214 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
36215 (acpi_mod_SOURCES): new variable
36216 (acpi_mod_CFLAGS): likewise
36217 (acpi_mod_LDFLAGS): likewise
36218 * conf/i386-efi.rmk: likewise
36219 * conf/x86_64-efi.rmk: likewise
36220
7dd4a573 362212009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 36222
36223 Missing part from mmap patch
36224
36225 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
36226 (grub_mmap_unregister)
36227 (grub_mmap_free_and_unregister): use grub_mmap_register
36228
7dd4a573 362292009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 36230
36231 Mmap services
36232
36233 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
36234 * loader/i386/linux.c (find_mmap_size): likewise
36235 (allocate_pages): likewise
36236 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
36237 (grub_fill_multiboot_mmap): likewise
36238 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
36239 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
36240 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
36241 (OPENBSD_MMAP_RESERVED): likewise
36242 * include/grub/i386/pc/memory.h: include grub/memory.h
36243 (grub_lower_mem): removed
36244 (grub_upper_mem): likewise
36245 (GRUB_MACHINE_MEMORY_ACPI): new definition
36246 (GRUB_MACHINE_MEMORY_NVS): likewise
36247 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
36248 (GRUB_MACHINE_MEMORY_HOLE): likewise
36249 (grub_machine_mmap_register): likewise
36250 (grub_machine_mmap_unregister): likewise
36251 (grub_machine_get_upper): likewise
36252 (grub_machine_get_lower): likewise
36253 (grub_machine_get_post64): likewise
36254 * include/grub/i386/efi/memory.h: new file
36255 * include/grub/x86_64/efi/memory.h: likewise
36256 * include/grub/efi/memory.h: likewise
36257 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
36258 (mmap_mod_SOURCES): new variable
36259 (mmap_mod_LDFLAGS): likewise
36260 (mmap_mod_ASFLAGS): likewise
36261 * conf/i386-coreboot.rmk: likewise
36262 * conf/i386-ieee1275.rmk: likewise
36263 * conf/i386-efi.rmk: likewise
36264 * conf/x86_64-efi.rmk: likewise
36265 * include/grub/types.h (UINT_TO_PTR): new macro
36266 (PTR_TO_UINT32): likewise
36267 (PTR_TO_UINT64): likewise
36268 * include/grub/memory.h: new file
36269 * mmap/i386/pc/mmap.c: likewise
36270 * mmap/i386/pc/mmap_helper.S: likewise
36271 * mmap/i386/uppermem.c: likewise
36272 * mmap/mmap.c: likewise
36273 * mmap/efi/mmap.c: likewise
7dd4a573 36274 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 36275 grub_upper_mem
36276 * kern/i386/pc/init.c (grub_lower_mem): removed variable
36277 (grub_upper_mem): likewise
36278 (grub_machine_init): don't use grub_upper_mem,
36279 make grub_lower_mem local
36280 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
36281 grub_mmap_iterate and grub_mmap_get_upper
36282 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
36283
d558e6b5 362842009-05-02 Bean <bean123ch@gmail.com>
36285
36286 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
36287 script/sh/parser.y.
36288 (pkglib_MODULES): Add normal.mod and sh.mod.
36289 (normal_SOURCES): New variable.
36290 (normal_mod_CFLAGS): Likewise.
36291 (normal_mod_LDFLAGS): Likewise.
36292 (sh_mod_SOURCES): Likewise.
36293 (sh_mod_CFLAGS): Likewise.
36294 (sh_mod_LDFLAGS): Likewise.
36295
36296 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
36297 script/sh/lexer.c_DEPENDENCIES.
36298 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
36299 kern/rescue_reader.c and kern/rescue_parser.c.
36300 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
36301 (grub_emu_SOURCES): Change source files.
36302 (pkglib_MODULES): Remove normal.mod.
36303 (normal_SOURCES): Removed.
36304 (normal_mod_CFLAGS): Likewise.
36305 (normal_mod_LDFLAGS): Likewise.
36306 * conf/i386-coreboot.rmk: Likewise.
36307 * conf/i386-efi.rmk: Likewise.
36308 * conf/i386-ieee1276.rmk: Likewise.
36309 * conf/powerpc-ieee1275.rmk: Likewise.
36310 * conf/sparc64-ieee1275.rmk: Likewise.
36311 * conf/x86_64-efi.rmk: Likewise.
36312
36313 * include/grub/command.h (grub_command_execute): New inline function.
36314
36315 * include/grub/menu.h (grub_menu_entry): Removed commands field.
36316
36317 * include/grub/normal.h: Remove <grub/setjmp.h>.
36318 (grub_fs_module_list): Moved to normal/autofs.c.
36319 (grub_exit_env): Removed.
36320 (grub_command_execute): Likewise.
36321 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
36322 parameter script.
36323 (read_command_list): New function declaration.
36324 (read_fs_list): Likewise.
36325
36326 * include/parser.h: Include <grub/reader.h>.
36327 (grub_parser_split_cmdline): Change type of getline parameter.
36328 (grub_parser): New structure.
36329 (grub_parser_class): New variable.
36330 (grub_parser_execute): New function declaration.
36331 (grub_register_rescue_parser): Likewise.
36332 (grub_parser_register): New inline function.
36333 (grub_parser_unregister): Likewise.
36334 (grub_parser_get_current): Likewise.
36335 (grub_parser_set_current): Likewise.
36336
36337 * include/grub/reader.h: New file.
36338 * kern/reader.c: Likewise.
36339 * kern/rescue_parser.c: Likewise.
36340 * kern/rescue_reader.c: Likewise.
36341 * normal/autofs.c: Likewise.
36342 * normal/dyncmd.c: Likewise.
36343
36344 * include/grub/rescue.h: Removed.
36345 * normal/command.h: Likewise.
36346
36347 * include/grub/script.h: Moved to ...
36348 * include/grub/script_sh.h: ... Moved here.
36349 * normal/execute.c: Moved to ...
36350 * script/sh/execute.c: ... Moved here.
36351 * normal/function.c: Moved to ...
36352 * script/sh/function.c: ... Moved here.
36353 * normal/lexer.c: Moved to ...
36354 * script/sh/lexer.c: ... Moved here.
36355 * normal/parser.y: Moved to ...
36356 * script/sh/parser.y: ... Moved here.
36357 * normal/script.c: Moved to ...
36358 * script/sh/script.c: ... Moved here.
36359
36360 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
36361 <grub/reader.h>.
36362 (grub_exit_env): Removed.
36363 (fs_module_list): Moved to normal/autofs.c.
36364 (grub_file_getline): Don't handle comment here.
36365 (free_menu): Skip removed field entry->commands.
36366 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
36367 script parameter.
36368 (read_config_file): Removed nested parameter, change getline function.
36369 (grub_enter_normal_mode): Removed.
36370 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
36371 (read_command_list): Likewise.
36372 (autoload_fs_module): Moved to normal/autofs.c.
36373 (read_fs_list): Likewise.
36374 (reader_nested): New variable.
36375 (grub_normal_execute): Run parser.sh to switch to sh parser.
36376 (grub_cmd_rescue): Removed.
36377 (cmd_normal): Removed.
36378 (grub_cmd_normal): Unregister itself at the beginning. Don't register
36379 rescue command.
36380 (grub_cmdline_run): New function.
36381 (grub_normal_reader_init): Likewise.
36382 (grub_normal_read_line): Likewise.
36383 (grub_env_write_pager): Likewise.
36384 (cmdline): New variable.
36385 (grub_normal_reader): Likewise.
36386 (GRUB_MOD_INIT): Register normal reader and set as current, register
36387 pager hook, register normal command with grub_register_command_prio,
36388 so that it won't show up in command.lst.
36389 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
36390 grub_fs_autoload_hook.
36391
36392 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
36393 (grub_menu_execute_entry): Replace grub_script_execute with
36394 grub_parser_execute, change parameter to grub_command_execute.
36395
36396 * normal/menu_text.c: Remove <grub/script.h>.
36397
36398 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
36399 and <grub/parser.h>.
36400 (run): Change editor_getline to use new parser interface. Change
36401 parameter to grub_command_execute.
36402
36403 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
36404 <grub/reader.h> and <grub/parser.h>.
36405 (grub_load_normal_mode): Execute normal command.
36406 (grub_main): Call grub_register_core_commands,
36407 grub_register_rescue_parser and grub_register_rescue_reader, use
36408 grub_reader_loop to enter input loop.
36409
7dd4a573 36410 * kern/parser.c (grub_parser_split_cmdline): Change type of
36411 getline parameter.
d558e6b5 36412 (grub_parser_class): New variable.
36413 (grub_parser_execute): New function.
36414
36415 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
36416 * loader/multiboot2.c: Likewise.
36417 * loader/sparc64/ieee1275/linux.c: Likewise.
36418
36419 * util/grub-emu.c (read_command_list): New dummy function.
36420
18db813d 364212009-05-02 Robert Millan <rmh.grub@aybabtu.com>
36422
36423 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
36424 count to 16 for CCISS and IDA.
36425
6c67de15 364262009-05-02 Robert Millan <rmh.grub@aybabtu.com>
36427
36428 * normal/menu_text.c (grub_wait_after_message): Print a newline
36429 after waiting for user input.
36430
36431 * loader/i386/linux.c: Include `<grub/normal.h>'.
36432 (grub_cmd_linux): Improve the error message about `ask' mode, by
36433 waiting for user input so it's not missed (we can do this, since
36434 user requested interaction).
36435
d9dc87b0 364362009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
36437
36438 Added missing lst to grub-mkrescue
36439
36440 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
36441 and ${input_dir}/parttool.lst
36442
ac8a2baa 364432009-04-30 David S. Miller <davem@davemloft.net>
36444
ad22a610 36445 * util/hostdisk.c (device_is_wholedisk): New function.
36446 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
36447 zero only if device_is_wholedisk() returns true.
36448
6966215d 36449 * util/hostdisk.c (convert_system_partition_to_system_disk):
36450 Handle virtual disk devices named /dev/vdiskX as found on sparc
36451 and powerpc.
36452
ac8a2baa 36453 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
36454 lettered partition specifier is found, convert to numbered.
36455
979b4fb4 364562009-04-29 David S. Miller <davem@davemloft.net>
36457
e2bf39b2 36458 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
36459 * include/grub/sparc64/ieee1275/memory.h: Likewise.
36460
3c64e104 36461 * normal/command.c: Add missing newline at end of file.
36462
979b4fb4 36463 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
36464 warnings.
36465 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
36466 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
36467 grub_ofdisk_read): Likewise, and deal similarly with the fact that
36468 ihandles have a 32-bit type but need to be stored in a "void *".
36469
136d9f82 364702009-04-28 Pavel Roskin <proski@gnu.org>
36471
9459c306 36472 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
36473 not disk. Adjust all dependencies.
2e08a26a 36474 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 36475 grub_disk_close().
36476
136d9f82 36477 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
36478 parent's partition, don't copy it by reference, as it gets freed
36479 on close.
36480
7dd4a573 364812009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 36482
36483 Preboot hooks support
36484
36485 * commands/boot.c (struct grub_preboot_t): new declaration
36486 (preboots_head): new variable
36487 (preboots_tail): likewise
36488 (grub_loader_register_preboot_hook): new function
36489 (grub_loader_unregister_preboot_hook): likewise
36490 (grub_loader_set): launch preboot hooks
36491 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
36492 (grub_loader_register_preboot_hook): new declaration
36493 (grub_loader_unregister_preboot_hook): likewise
36494
5af922b5 364952009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
36496
36497 Warning fix
36498
7dd4a573 36499 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 36500 calling grub_dprintf
36501
a5562c30 365022009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
36503
36504 Bug and warning fixes
36505
7dd4a573 36506 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 36507 declaration
36508 * commands/test.c (test_parse): fixed bug with file tests and corrected
36509 declaration of find_file
36510
4006f85c 365112009-04-26 Pavel Roskin <proski@gnu.org>
36512
36513 * Makefile.in: Don't install empty manual pages if help2man is
36514 missing. Use help2man option for output, not shell redirection.
36515
5c77c3de 365162009-04-26 David S. Miller <davem@davemloft.net>
36517
36518 * util/grub-mkdevicemap.c (make_device_map): Add missing
36519 NESTED_FUNC_ATTR to process_device().
36520
033b10a8 365212009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
36522
36523 Test command
36524
36525 * commands/test.c: rewritten to use bash-like test
36526
e4343593 365272009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
36528
36529 Parttool autoloading and improvements
36530
7dd4a573 36531 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 36532 (parttool.lst): new target
36533 * genmk.rb: generate parttool-*
36534 (CLEANFILES): add #{parttool}
36535 (PARTTOOLFILES): new variable
36536 * genparttoollist.sh: new file
7dd4a573 36537 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 36538 (grub_pcpart_type): likewise
36539 * commands/parttool.c (helpmsg): new variable
36540 (grub_cmd_parttool): output help if not enough arguments are supplied
36541 autoload modules
36542 (GRUB_MOD_INIT(parttool)): use helpmsg
36543
0d312500 365442009-04-24 David S. Miller <davem@davemloft.net>
36545
7dd4a573 36546 Avoiding opening same device multiple times in device iterator.
0d312500 36547
36548 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 36549 and use it to build a list of partitions in iterate_disk() and
0d312500 36550 iterate_partition().
36551
ac20caff 36552 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
36553 on disk->data.
36554
0dcf7495 36555 * disk/ieee1275/nand.c (grub_nand_iterate): Return
36556 grub_devalias_iterate() result instead of unconditional 0.
36557 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
36558 Also, capture hook return value, either directly or via
36559 grub_children_iterate(), and propagate to caller.
36560 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
36561 grub_children_iterate): Return value is now 'int' instead of
36562 'grub_err_t'.
36563 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
36564 like a proper iterator, stopping when hooks return non-zero.
36565 (grub_devalias_iterate): Likewise.
36566
c8c08833 365672009-04-23 David S. Miller <davem@davemloft.net>
36568
36569 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
36570
f01005a8 365712009-04-22 David S. Miller <davem@davemloft.net>
36572
36573 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
36574 is larger than address_cells, use that value for address_cells too.
36575
4e8269da 36576 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
36577 IEEE1275_MAX_PATH_LEN): Define.
36578 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
36579 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
36580 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
36581 'devtype'. Explicitly NULL terminate devalias expansion.
36582
a1447506 36583 * util/sparc64/ieee1275/misc.c: New file.
36584 * util/sparc64/ieee1275/grub-setup.c: New file.
36585 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
36586 * util/sparc64/ieee1275/grub-mkimage.c: New file.
36587 * util/sparc64/ieee1275/grub-install.in: New file.
36588 * util/ieee1275/ofpath.c: New file.
36589 * util/ieee1275/devicemap.c: New file.
36590 * util/devicemap.c: New file.
36591 * util/deviceiter.c: New file.
36592 * kern/sparc64/ieee1275/init.c: New file.
36593 * include/grub/util/ofpath.h: New file.
36594 * include/grub/util/deviceiter.h: New file.
36595 * util/grub-mkdevicemap.c: Include deviceiter.h.
36596 Implement using grub_util_emit_devicemap_entry and
36597 grub_util_iterate_devices.
36598 * conf/i386-corebook.rmk: Build util/deviceiter.c and
36599 util/devicemap.c into grub-mkdevicemap
36600 * conf/i386-efi.rmk: Likewise.
36601 * conf/i386-ieee1275.rmk: Likewise.
36602 * conf/i386-pc.rmk: Likewise.
36603 * conf/powerpc-ieee1275.rmk: Likewise.
36604 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
36605 images and installation utilities. Build kernel as image
36606 instead of as elf binary. Use common rules as much as possible.
36607
7dd4a573 366082009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 36609
36610 Correct GPT definition
36611
7dd4a573 36612 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 36613 of "attrib" member
36614
c6c5219f 366152009-04-19 Felix Zielcke <fzielcke@z-51.de>
36616
36617 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
36618
0552ff9f 366192009-04-19 David S. Miller <davem@davemloft.net>
36620
36621 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
36622 (grub_rescue_cmd_linux): Rename to...
36623 (grub_cmd_linux): and fix prototype.
36624 (grub_rescue_cmd_initrd): Rename to...
36625 (grub_cmd_initrd): and fix prototype.
36626 (cmd_linux, cmd_initrd): New.
36627 (GRUB_MOD_INIT(linux)): Use grub_register_command().
36628 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
36629
d1a282fc 366302009-04-17 Pavel Roskin <proski@gnu.org>
36631
07c5039f 36632 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
36633 format.
36634 (grub_ohci_transfer): Likewise.
36635
b012002d 36636 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
36637
1bc09c35 36638 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
36639 return without a value. Fix inconsistent indentation.
36640
e0ff9126 36641 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
36642 match struct grub_fs.
36643
d1a282fc 36644 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
36645 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
36646 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
36647 * commands/lspci.c (grub_lspci_iter): Likewise.
36648
a96df3f2 366492009-04-16 Bean <bean123ch@gmail.com>
36650
36651 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
36652 value.
36653
41bb0fe9 366542009-04-15 Pavel Roskin <proski@gnu.org>
36655
36656 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
36657 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
36658 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
36659 definitions.
36660
596c6970 366612009-04-15 Felix Zielcke <fzielcke@z-51.de>
36662
36663 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 36664 that no multiple data or metadata areas are supported and `Unknown
596c6970 36665 metadata header'.
36666
7dd4a573 366672009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 36668
36669 Move loader out of the kernel
36670
36671 * kern/loader.c: moved to ...
36672 * commands/boot.c: ... moved here
36673 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
36674 * commands/boot.c (grub_cmd_boot): moved here. All users updated
36675 * include/grub/kernel.h (grub_machine_fini): export
36676 * include/grub/loader.h (grub_loader_is_loaded): update declaration
36677 (grub_loader_set): likewise
36678 (grub_loader_unset): likewise
36679 (grub_loader_boot): likewise
36680 * conf/common.rmk: new module boot.mod
36681 (pkglib_MODULES): add boot.mod
36682 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
36683 (grub_emu_SOURCES): likewise
36684 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
36685 (grub_emu_SOURCES): likewise
36686 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
36687 (grub_emu_SOURCES): likewise
36688 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
36689 (grub_emu_SOURCES): likewise
36690 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
36691 (grub_emu_SOURCES): likewise
7dd4a573 36692 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
36693 (grub_emu_SOURCES): likewise
0d5d5653 36694 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 36695 (grub_emu_SOURCES): likewise
0d5d5653 36696
7dd4a573 366972009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 36698
36699 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 36700
5999d619 36701 * kern/misc.c (grub_itoa): Removed function
36702 (grub_ltoa): likewise
36703 (grub_vsprintf): use grub_lltoa
36704
7dd4a573 367052009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 36706
36707 Restore grub-emu
36708
36709 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
36710 * conf/i386-coreboot.rmk: likewise
36711 * conf/i386-ieee1275.rmk: likewise
36712 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 36713
20318222 367142009-04-15 Felix Zielcke <fzielcke@z-51.de>
36715
36716 * INSTALL: Add that `./autogen.sh' needs to be run before
36717 `./configure.'.
36718
d05f0df3 367192009-04-14 Bean <bean123ch@gmail.com>
36720
36721 * Makefile.in (pkglib_DATA): Add handler.lst.
36722 (handler.lst): New rule.
36723
36724 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
36725 * conf/i386-coreboot.rmk: Likewise.
36726 * conf/i386-ieee1275.rmk: Likewise.
36727 * conf/i386-efi.rmk: Likewise.
36728 * conf/x86_64-efi.rmk: Likewise.
36729 * conf/powerpc-ieee1275.rmk: Likewise.
36730 * conf/sparc64-ieee1275.rmk: Likewise.
36731
36732 * genhandlerlist.sh: New file.
36733
36734 * genmk.rb: Add rules to generate handler.lst.
36735
36736 * include/grub/normal.h (grub_file_getline): New function definition.
36737 (read_handler_list): Likewise.
36738 (free_handler_list): Likewise.
36739
36740 * include/grub/term.h (grub_term_register_input): Add name parameter
36741 for auto generation of handler.lst.
36742 (grub_term_register_output): Likewise.
36743
36744 * normal/handler.c: New file.
36745
36746 * normal/main.c (get_line): Renamed to grub_file_getline.
36747 (read_config_file): Use the newly renamed grub_file_getline.
36748 (read_command_list): Likewise.
36749 (read_fs_list): Likewise.
36750 (grub_normal_execute): Call read_handler_list to parse handler.lst.
36751 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
36752
36753 * term/efi/console.c (grub_console_init): Add name parameter for auto
36754 generation of handler.lst.
36755 * term/gfxterm.c: Likewise.
36756 * term/i386/pc/at_keyboard.c: Likewise.
36757 * term/i386/pc/console.c: Likewise.
36758 * term/i386/pc/serial.c: Likewise.
36759 * term/i386/pc/vesafb.c: Likewise.
36760 * term/i386/pc/vga.c: Likewise.
36761 * term/i386/pc/vga_text.c: Likewise.
36762 * term/ieee1275/ofconsole.c: Likewise.
36763 * term/usb_keyboard.c: Likewise.
36764
33c846be 367652009-04-14 Bean <bean123ch@gmail.com>
36766
36767 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
36768 properly with null character.
36769
4484e01e 367702009-04-14 Felix Zielcke <fzielcke@z-51.de>
36771
36772 * configure: Remove.
36773 * config.h.in: Likewise.
f93d668e 36774 * stamp-h.in: Likewise.
4484e01e 36775 * DISTLIST: Likewise.
36776 * conf/common.mk: Likewise.
36777 * conf/i386-coreboot.mk: Likewise.
36778 * conf/i386-efi.mk: Likewise.
36779 * conf/i386-ieee1275.mk: Likewise.
36780 * conf/i386.mk: Likewise.
36781 * conf/i386-pc.mk: Likewise.
36782 * conf/powerpc-ieee1275.mk: Likewise.
36783 * conf/sparc64-ieee1275.mk: Likewise.
36784 * conf/x86_64-efi.mk: Likewise.
36785
36786 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
36787 develop on GRUB.
36788
7dd4a573 367892009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 36790 David S. Miller <davem@davemloft.net>
36791
36792 * util/hostdisk.c (make_device_name): Fix buffer length
36793 calculations.
36794
e25b5a8c 367952009-04-14 Felix Zielcke <fzielcke@z-51.de>
36796
36797 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
36798 <sys/param.h> and <sys/sysctl.h>.
36799 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
36800 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
36801 opening the device and reset them afterwards.
36802
1f1f580c 368032009-04-13 Pavel Roskin <proski@gnu.org>
36804
36805 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
36806 Reported by John Stanley <jpsinthemix@verizon.net>
36807
7ebc2d6b 368082009-04-13 Robert Millan <rmh@aybabtu.com>
36809
36810 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 36811 that name for menuentries when appropriate.
7ebc2d6b 36812
d8ba3667 368132009-04-13 Felix Zielcke <fzielcke@z-51.de>
36814
36815 * util/grub.d/10_freebsd.in: Add a missing `fi'.
36816
cba416eb 368172009-04-13 Robert Millan <rmh@aybabtu.com>
36818
36819 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
36820 to Linux, simply abort telling the user it's no longer supported.
36821
a547a745 368222009-04-13 Felix Zielcke <fzielcke@z-51.de>
36823
36824 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 36825 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 36826 `freebsd_loadenv' only when devices.hints exist.
36827
232a769c 368282009-04-13 Pavel Roskin <proski@gnu.org>
36829
36830 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
36831
c3012039 368322009-04-13 Felix Zielcke <fzielcke@z-51.de>
36833
36834 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
36835 partition number.
36836 (grub_drive): Likewise.
36837
234022fe 368382009-04-13 David S. Miller <davem@davemloft.net>
36839
36840 * kern/sparc64/ieee1275/ieee1275.c: New file.
36841 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
36842 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
36843 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
36844 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
36845 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
36846 grub_ieee1275_alloc_physmem): Declare new exported functions.
36847
d8e1836c 36848 * include/grub/sparc64/ieee1275/loader.h: New file.
36849 * include/grub/sparc64/ieee1275/memory.h: Likewise.
36850 * include/grub/sparc64/kernel.h: Likewise.
36851 * loader/sparc64/ieee1275/linux.c: Likewise.
36852
96bd81ec 36853 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
36854 (grub_fstest_SOURCES): Likewise.
36855
6a4737e5 36856 * util/hostdisk.c (make_device_name): Do not make any assumptions
36857 about the length of drive names.
36858
1d7a72fd 36859 * kern/dl.c (grub_dl_load_file): Close file immediately when
36860 we are done using it.
36861
56bc2471 368622009-04-12 David S. Miller <davem@davemloft.net>
36863
36864 * kern/misc.c (grub_ltoa): Fix cast when handling negative
36865 values. Noticed by Pavel Roskin.
36866
df38d0bb 36867 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
36868 target compiler.
7dd4a573 36869
e382e93a 36870 * genmk.rb: Add more flexible image type specification, also
36871 pass --strip-unneeded to objcopy.
36872 * conf/i386-pc.rmk: Use *_FORMAT.
36873 * conf/i386-pc.mk: Rebuilt.
36874
f5dbbca9 36875 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
36876 (OFDISK_HASH_SZ): Define.
36877 (ofdisk_hash): New hash table.
36878 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
36879 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
36880 instead of device phandle which is not unique.
36881
91c88b12 36882 * kern/sparc64/ieee1275/init.c: Delete, replace with...
36883 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
36884 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
36885 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
36886 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
36887 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
36888 GRUB_KERNEL_MACHINE_DATA_END): Define.
36889 (grub_kernel_image_size, grub_total_module_size): Declare.
36890
5b5d4aa5 368912009-04-12 Pavel Roskin <proski@gnu.org>
36892
7dd4a573 36893 * configure.ac: Change the logic when we check for target tools.
36894 Do it when the target is specified and it's different from the
36895 specified value of the host.
5b5d4aa5 36896
c91e1793 368972009-04-11 Felix Zielcke <fzielcke@z-51.de>
36898
36899 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
36900 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
36901 GNU/kFreeBSD. Check if a device is a character device. Use
36902 DIOCGMEDIASIZE to get the size.
36903 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
36904 support for GNU/kFreeBSD.
36905 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
36906 is a character device instead of a block device. Add support for
36907 FreeBSD device names.
36908
36909 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
36910 is a character device instead of a block device.
36911
36912 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
36913 is a character device instead of a block device.
36914
b1ac8644 369152009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
36916
36917 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
36918 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
36919 FreeBSD. Check if a device is a character device. Use
36920 DIOCGMEDIASIZE to get the size.
36921 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
36922 support for FreeBSD.
36923 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
36924 is a character device instead of a block device. Add support for
36925 FreeBSD device names.
36926
36927 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
36928 a character device instead of a block device.
36929 (grub_util_check_char_device): New function.
36930
36931 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
36932 a character device instead of a block device.
36933
36934 * include/grub/util/getroot.h (grub_util_check_char_device): New
36935 prototype.
36936
a3f7515a 369372009-04-11 David S. Miller <davem@davemloft.net>
36938
36939 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
36940 static libgcc.
36941 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
36942 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
36943 function, if present.
36944 (__bswapdi2): Likewise.
36945
0d44993d 36946 * include/grub/sparc64/ieee1275/boot.h: New file.
36947 * boot/sparc64/ieee1275/boot.S: Likewise.
36948 * boot/sparc64/ieee1275/diskboot.S: Likewise.
36949
ed3d2bc2 36950 * kern/misc.c (grub_ltoa): New function.
36951 (grub_vsprintf): Use it to format 'long' integers.
36952
d3bfb59c 369532009-04-10 David S. Miller <davem@davemloft.net>
36954
36955 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
36956 slots are of type grub_ieee1275_cell_t.
36957 (grub_nand_read): Likewise.
36958 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
36959 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
36960 macros are used to compare values in arg/ret block of the call.
36961 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
36962 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
36963 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
36964 grub_ieee1275_instance_to_path, grub_ieee1275_write,
36965 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
36966 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
36967 grub_ieee1275_close, grub_ieee1275_set_property,
36968 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
36969 grub_ieee1275_cell_t.
36970 * kern/ieee1275/openfw.c (grub_map): Likewise.
36971 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
36972 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
36973
450e2238 36974 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
36975 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
36976 (grub_devalias_iterate): Likewise.
36977
7dd4a573 369782009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 36979
36980 UFS improvements
36981
36982 * fs/ufs.c (INODE_NBLOCKS): new definition
36983 (struct grub_ufs_dirent): added fields for non-BSD dirents
36984 (grub_ufs_get_file_block): fixed double indirect handling
36985 (grub_ufs_lookup_symlink): use more robust way to determine whether
36986 symlink is inline
36987 (grub_ufs_find_file): support for non-BSD dirents
36988 (grub_ufs_dir): support for non-BSD dirents
36989
e7e6862a 369902009-04-10 Bean <bean123ch@gnail.com>
36991
36992 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
36993 attribute, otherwise the size would be wrong for i386 platform.
36994
36995 * include/grub/pci.h (grub_pci_read_word): New inline function.
36996 (grub_pci_read_byte): Likewise.
36997 (grub_pci_write): Likewise.
36998 (grub_pci_write_word): Likewise.
36999 (grub_pci_write_byte): Likewise.
37000
37001 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
37002
37003 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
37004 (find_framebuf): Scan pci to locate the frame buffer address.
37005
37006 * commands/efi/fixvideo.c: New file.
37007
37008 * commands/efi/loadbios.c: Likewise.
37009
37010 * commands/memrw.c: Likewise.
37011
37012 * util/grub-dumpbios.in: Likewise.
37013
37014 * conf/common.rmk (grub-dumpbios): New utility.
37015 (pkglib_MODULES): New module memrw.mod.
37016 (memrw_mod_SOURCE): New macro.
37017 (memrw_mod_CFLAGS): Likewise.
37018 (memrw_mod_LDFLAGS): Likewise.
37019
7dd4a573 37020 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 37021 fixvideo.mod.
37022 (loadbios_mod_SOURCE): New macro.
37023 (loadbios_mod_CFLAGS): Likewise.
37024 (loadbios_mod_LDFLAGS): Likewise.
37025 (fixvideo_mod_SOURCE): Likewise.
37026 (fixvideo_mod_CFLAGS): Likewise.
37027 (fixvideo_mod_LDFLAGS): Likewise.
37028
7dd4a573 37029 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 37030 fixvideo.mod.
37031 (loadbios_mod_SOURCE): New macro.
37032 (loadbios_mod_CFLAGS): Likewise.
37033 (loadbios_mod_LDFLAGS): Likewise.
37034 (fixvideo_mod_SOURCE): Likewise.
37035 (fixvideo_mod_CFLAGS): Likewise.
37036 (fixvideo_mod_LDFLAGS): Likewise.
37037
af63ada2 370382009-04-08 Felix Zielcke <fzielcke@z-51.de>
37039
37040 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
37041
c2cdde70 370422009-04-07 David S. Miller <davem@davemloft.net>
37043
37044 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
37045 support for R_SPARC_OLO10 relocations. Fix compile warning for
37046 R_SPARC_WDISP30 case.
ea3f72cf 37047 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 37048
761319cf 370492009-04-06 Pavel Roskin <proski@gnu.org>
37050
1007d1f5 37051 * include/grub/misc.h (ARRAY_SIZE): New macro.
37052 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
37053 New macro.
37054 * loader/i386/linux.c (allocate_pages): Use free_pages().
37055 (grub_linux_unload): Don't use free_pages().
37056 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
37057 wrong index. Treat all other modes as text modes.
37058 (grub_cmd_linux): Initialize vid_mode unconditionally to
37059 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
37060
761319cf 37061 * commands/help.c (print_command_help): Use cmd->prio, not
37062 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
37063
ea761d40 370642009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 37065
ea761d40 37066 Parttool
37067
37068 * parttool/pcpart.c: new file
37069 * commands/parttool.c: likewise
37070 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
37071 (parttool_mod_SOURCES): new variable
37072 (parttool_mod_CFLAGS): likewise
37073 (parttool_mod_LDFLAGS): likewise
37074 (pcpart_mod_SOURCES): likewise
37075 (pcpart_mod_CFLAGS): likewise
37076 (pcpart_mod_LDFLAGS): likewise
7dd4a573 37077 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 37078 and parttool/pcpart.c
37079 * conf/i386-efi.rmk: likewise
37080 * conf/i386-ieee1275.rmk: likewise
37081 * conf/i386-pc.rmk: likewise
37082 * conf/powerpc-ieee1275.rmk: likewise
37083 * conf/sparc64-ieee1275.rmk: likewise
37084 * conf/x86_64-ieee1275.rmk: likewise
37085
05aaebfb 370862009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
37087
37088 Support for mtime and further expandability of dir command
37089
37090 * include/grub/lib/datetime.h: moved to ...
7dd4a573 37091 * include/grub/datetime.h: ... moved here and added
05aaebfb 37092 declaration of grub_unixtime2datetime. All users updated
7dd4a573 37093 * include/grub/fs.h: new syntax for dir and mtime functions in
37094 struct grub_fs
05aaebfb 37095 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
37096 and GRUB_FSHELP_FLAGS_MASK
37097 * commands/ls.c (grub_ls_list_files): Write mtime in long format
37098 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
37099 (grub_ext2_mtime): new function
37100 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
37101 (grub_hfsplus_mtime): new function
37102 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
37103 (GRUB_UFS_ATTR_FILE): likewise
37104 (GRUB_UFS_ATTR_LNK): likewise
37105 (struct grub_ufs_sblock): new fields mtime
37106 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
37107 all users updated
37108 (grub_ufs_dir): mtime support
37109 (grub_ufs_mtime): new function
37110 * fs/affs.c (grub_affs_dir): use new dir syntax
37111 * fs/afs.c (grub_afs_dir): likewise
37112 * fs/cpio.c (grub_cpio_dir): likewise
37113 * fs/fat.c (grub_fat_find_dir): likewise
37114 * fs/hfs.c (grub_hfs_dir): likewise
37115 * fs/iso9660.c (grub_iso9660_dir): likewise
37116 * fs/jfs.c (grub_jfs_dir): likewise
37117 * fs/minix.c (grub_minix_dir): likewise
37118 * fs/ntfs.c (grub_ntfs_dir): likewise
37119 * fs/reiserfs.c (grub_reiserfs_dir): likewise
37120 * fs/sfs.c (grub_sfs_dir): likewise
37121 * fs/xfs.c (grub_xfs_dir): likewise
37122 * util/hostfs.c (grub_hostfs_dir): likewise
37123 * lib/datetime.c: moved to ...
37124 * normal/datetime.c: ... moved here
37125 (grub_unixtime2datetime): new function
37126 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 37127 * normal/completion.c (iterate_dir): use new dir syntax
37128 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 37129 last modification time of a volume
7dd4a573 37130 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 37131 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 37132 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 37133 (normal_mod_SOURCES): likewise
37134 (datetime_mod_SOURCES): Removed lib/datetime.c
37135 * conf/i386-efi.rmk: likewise
7dd4a573 37136 * conf/i386-ieee1275.rmk: likewise
05aaebfb 37137 * conf/i386-pc.rmk: likewise
37138 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 37139 * conf/sparc64-ieee1275.rmk: likewise
37140 * conf/x86_64-efi.rmk: likewise
05aaebfb 37141
8a7e1a14 371422009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
37143
37144 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 37145
37146 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 37147 on grub_fat_find_dir
37148 (grub_fat_find_dir): use grub_fat_iterate_dir
37149 (grub_fat_label): likewise
37150
04186a9c 371512009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
37152
7dd4a573 37153 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 37154 and command.h
37155 remove extraneous kernel_elf_HEADERS
37156
da4c0bb6 371572009-04-04 Bean <bean123ch@gnail.com>
37158
37159 * include/grub/util/misc.h: Add dummy function fsync for mingw.
37160
37161 * util/misc.c: Likewise.
37162
54ad9555 371632009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
37164
37165 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
37166 instead of grub_printf.
37167
7a6bf9f2 371682009-04-03 Robert Millan <rmh@aybabtu.com>
37169
37170 * loader/i386/linux.c (grub_linux_setup_video): Fill
37171 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
37172 values from `mode info' structure instead of hardcoded
37173 values.
37174
3fcc2083 371752009-04-01 Pavel Roskin <proski@gnu.org>
37176
37177 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
37178 unused now.
37179 * genmk.rb: Likewise.
37180 * configure.ac: Likewise.
37181
5ec9740b 371822009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
37183
37184 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
37185 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
37186
5270cec8 371872009-04-01 David S. Miller <davem@davemloft.net>
37188
37189 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 37190 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 37191 (grub_setjmp): Mark with 'returns_twice' attribute.
37192 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
37193 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
37194 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
37195
9c3dd854 371962009-04-01 Robert Millan <rmh@aybabtu.com>
37197
37198 Reapply fix from 2008-07-28 which was accidentally reverted; also
37199 perform the same fix to a similar check in same function.
37200
37201 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
37202 with the same number are found, just use issue a warning with
37203 grub_dprintf(), as this error has been reported to be non-fatal.
37204
0d818b7e 372052009-03-31 Pavel Roskin <proski@gnu.org>
37206
37207 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
37208 for cross-compilation.
37209
95646d92 372102009-03-30 Robert Millan <rmh@aybabtu.com>
37211
37212 Fix i386-ieee1275 build.
37213
37214 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
37215 Remove declaration.
37216
6a003ed1 372172009-03-30 Pavel Roskin <proski@gnu.org>
37218
37219 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
37220 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
37221 zero-terminated, rely only on the strlen value. Fix comparison
37222 of strings differing in length.
37223
92f33540 372242009-03-30 Robert Millan <rmh@aybabtu.com>
37225
37226 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
37227 checking for abi version. Improve error messages on BIOS to notify
37228 user about `linux16' command.
37229
a8c48fd5 372302009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
37231
f968172e 37232 Leak fixes
a8c48fd5 37233
f968172e 37234 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
37235 in case of collision
37236 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 37237
9c323f09 372382009-03-29 Robert Millan <rmh@aybabtu.com>
37239
37240 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
37241 set `vid_mode' accordingly.
37242 (grub_linux_boot): Process `vid_mode' and set video mode.
37243
ae68f423 372442009-03-29 Robert Millan <rmh@aybabtu.com>
37245
37246 * util/grub.d/10_linux.in (linux_entry): New function.
37247 Factorize generation of Linux boot entries.
37248
5709cfc4 372492009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
37250
37251 Make the format of Environment Block plain text. The boot loader
37252 part is not tested well yet.
7dd4a573 37253
5709cfc4 37254 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
37255 (buffer): Removed.
37256 (envblk): Likewise.
37257 (usage): Remove "info" and "clear". Add "unset". Update the
37258 description of "set", as this does not delete variables any
37259 longer.
37260 (create_envblk_file): Complete rewrite.
37261 (open_envblk_file): Likewise.
37262 (cmd_info): Removed.
37263 (cmd_list): Likewise.
37264 (cmd_set): Likewise.
37265 (cmd_clear): Likewise.
37266 (list_variables): New function.
37267 (write_envblk): Likewise.
37268 (set_variables): Likewise.
37269 (unset_variables): Likewise.
37270 (main): Complete rewrite.
37271
37272 * commands/loadenv.c (buffer): Removed.
37273 (envblk): Likewise.
37274 (open_envblk_file): New function.
37275 (read_envblk_file): Complete rewrite.
37276 (grub_cmd_load_env): Likewise.
37277 (grub_cmd_list_env): Likewise.
37278 (struct blocklist): New struct.
37279 (free_blocklists): New function.
37280 (check_blocklists): Likewise.
37281 (write_blocklists): Likewise.
37282 (grub_cmd_save_env): Complete rewrite.
37283
37284 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
37285 a plain text signature.
37286 (GRUB_ENVBLK_MAXLEN): Removed.
37287 (struct grub_envblk): Complete rewrite.
37288 (grub_envblk_find): Removed.
37289 (grub_envblk_insert): Likewise.
37290 (grub_envblk_open): New prototype.
37291 (grub_envblk_set): Likewise.
37292 (grub_envblk_delete): Put const to VALUE.
37293 (grub_envblk_iterate): Put const to NAME and VALUE.
37294 (grub_envblk_close): New prototype.
37295 (grub_envblk_buffer): New inline function.
37296 (grub_envblk_size): Likewise.
37297
37298 * lib/envblk.c: Include grub/mm.h.
37299 (grub_env_find): Removed.
37300 (grub_envblk_open): New function.
37301 (grub_envblk_close): Likewise.
37302 (escaped_value_len): Likewise.
37303 (find_next_line): Likewise.
37304 (grub_envblk_insert): Removed.
37305 (grub_envblk_set): New function.
37306 (grub_envblk_delete): Complete rewrite.
37307 (grub_envblk_iterate): Likewise.
37308
a9368fd3 373092009-03-28 Robert Millan <rmh@aybabtu.com>
37310
37311 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
37312 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
37313 variables. Use 16-bit loader.
37314 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
37315 loader.
37316 * kern/i386/loader.S (grub_linux_boot): Rename to ...
37317 (grub_linux16_boot): ... this. Update all users.
37318 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
37319 (grub_linux_boot): ... this. Update all users.
37320
37321 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
37322 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
37323 commands to `linux16' and `initrd16'.
37324 (GRUB_MOD_FINI(linux)): Rename to ...
37325 (GRUB_MOD_FINI(linux16)): ... this.
37326
e4dd5a7e 373272009-03-24 Pavel Roskin <proski@gnu.org>
37328
37329 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
37330 not just for compilation.
37331
c04d6e05 373322009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
37333
37334 Move multiboot helper out of kernel
37335
37336 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
37337 `loader/i386/multiboot_helper.S'.
37338 * conf/i386-coreboot.rmk: Likewise
37339 * conf/i386-ieee1275.rmk: Likewise
37340
37341 * kern/i386/loader.S: Move multiboot helpers from here...
37342 * loader/i386/multiboot_helper.S: ...moved here
37343 * include/grub/i386/loader.h: Move declarations of multiboot
37344 helpers from here...
37345 * include/grub/i386/multiboot.h: ...moved here
37346 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
37347
42a5b3fc 373482009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
37349
37350 * kern/env.c (grub_env_context_open): Added an argument to specify
37351 whether a new context inherits exported variables from current
37352 one. This is useful when making a sandbox to interpret a config
37353 file.
37354 All callers updated.
37355
37356 * include/grub/env.h (grub_env_context_open): Updated the prototype.
37357
b28bbc4e 373582009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
37359
37360 * kern/env.c (grub_env_context_close): Fix memory leaks.
37361
f04f02e4 373622009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
37363
37364 * normal/main.c (grub_normal_execute): Added an argument
37365 BATCH to specify if an interactive interface should be provided
37366 after reading a config file.
37367 All callers updated.
37368 (read_command_list): Prevent being executed twice.
37369 (read_fs_list): Likewise.
37370
42a5b3fc 37371 * include/grub/normal.h (grub_normal_execute): Updated the
37372 prototype.
f04f02e4 37373
41473ac2 373742009-03-22 Pavel Roskin <proski@gno.org>
37375
fbc00b0c 37376 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
37377 _start.
37378 * kern/i386/pc/startup.S: Likewise.
37379 * kern/i386/efi/startup.S: Likewise.
37380 * kern/i386/ieee1275/startup.S: Likewise.
37381 * kern/i386/coreboot/startup.S: Likewise.
37382 * kern/x86_64/efi/startup.S: Likewise.
37383
41473ac2 37384 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
37385 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
37386 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
37387
2274cc8f 373882009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
37389
37390 Bugfixes in multiboot for bugs uncovered by solaris kernel.
37391
37392 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
37393 limit detection.
37394 Use vaddr of correct segment for entry_point.
37395
b1b797cb 373962009-03-21 Bean <bean123ch@gmail.com>
37397
37398 * commands/blocklist.c: Add include file <grub/command.h>, remove
37399 <grub/normal.h> and <grub/arg.h>.
37400 (grub_cmd_blocklist): Use the new command interface.
37401 (GRUB_MOD_INIT): Likewise.
37402 (GRUB_MOD_FINI): Likewise.
37403 * commands/boot.c: Likewise.
37404 * commands/cat.c: Likewise.
37405 * commands/cmp.c: Likewise.
37406 * commands/configfile.c: Likewise.
37407 * commands/crc.c: Likewise.
37408 * commands/echo.c: Likewise.
37409 * commands/halt.c: Likewise.
37410 * commands/handler.c: Likewise.
37411 * commands/hdparm.c: Likewise.
37412 * commands/help.c: Likewise.
37413 * commands/hexdump.c: Likewise.
37414 * commands/loadenv.c: Likewise.
37415 * commands/ls.c: Likewise.
37416 * commands/lsmmap.c: Likewise.
37417 * commands/lspci.c: Likewise.
37418 * commands/loadenv.c: Likewise.
37419 * commands/read.c: Likewise.
37420 * commands/reboot.c: Likewise.
37421 * commands/search.c: Likewise.
37422 * commands/sleep.c: Likewise.
37423 * commands/test.c: Likewise.
37424 * commands/usbtest.c: Likewise.
37425 * commands/videotest.c: Likewise.
37426 * commands/i386/cpuid.c: Likewise.
37427 * commands/i386/pc/halt.c: Likewise.
37428 * commands/i386/pc/play.c: Likewise.
37429 * commands/i386/pc/pxecmd.c: Likewise.
37430 * commands/i386/pc/vbeinfo.c: Likewise.
37431 * commands/i386/pc/vbetest.c: Likewise.
37432 * commands/ieee1275/suspend.c: Likewise.
37433 * disk/loopback.c: Likewise.
37434 * font/font_cmd.c: Likewise.
37435 * hello/hello.c: Likewise.
37436 * loader/efi/appleloader.c: Likewise.
37437 * loader/efi/chainloader.c: Likewise.
37438 * loader/i386/bsd.c: Likewise.
37439 * loader/i386/efi/linux.c: Likewise.
37440 * loader/i386/ieee1275/linux.c: Likewise.
37441 * loader/i386/linux.c: Likewise.
37442 * loader/i386/pc/chainloader.c: Likewise.
37443 * loader/i386/pc/linux.c: Likewise.
37444 * loader/powerpc/ieee1275/linux.c: Likewise.
37445 * loader/multiboot_loader.c: Likewise.
37446 * term/gfxterm.c: Likewise.
37447 * term/i386/pc/serial.c: Likewise.
37448 * term/terminfo.c: Likewise.
37449
37450 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
37451 * term/i386/pc/vga.c: Likewise.
37452 * video/readers/jpeg.c: Likewise.
37453 * video/readers/png.c: Likewise.
37454 * video/readers/tga.c: Likewise.
37455
37456 * util/grub-fstest (cmd_loopback): Removed.
37457 (cmd_blocklist): Likewise.
37458 (cmd_ls): Likewise.
37459 (grub_register_command): Likewise.
37460 (grub_unregister_command): Likewise.
37461 (execute_command): Use grub_command_find to locate command and execute
37462 it.
37463
37464 * include/grub/efi/chainloader.h: Removed.
37465 * loader/efi/chainloader_normal.c: Likewise.
37466 * loader/i386/bsd_normal.c: Likewise.
37467 * loader/i386/pc/chainloader_normal.c: Likewise.
37468 * loader/i386/pc/multiboot_normal.c: Likewise.
37469 * loader/linux_normal.c: Likewise.
37470 * loader/multiboot_loader_normal.c: Likewise.
37471 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
37472
37473 * gencmdlist.sh: Scan new registration command grub_register_extcmd
37474 and grub_register_command_p1.
37475
37476 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
37477 kern/command.c, lib/arg.c and commands/extcmd.c.
37478 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
37479 (minicmd_mod_SOURCES): New variable.
37480 (minicmd_mod_CFLAGS): Likewise.
37481 (minicmd_mod_LDFLAGS): Likewise.
37482 (extcmd_mod_SOURCES): Likewise.
37483 (extcmd_mod_CFLAGS): Likewise.
37484 (extcmd_mod_LDFLAGS): Likewise.
37485 (boot_mod_SOURCES): Removed.
37486 (boot_mod_CFLAGS): Likewise.
37487 (boot_mod_LDFLAGS): Likewise.
37488
37489 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
37490 kern/corecmd.c.
37491 (kernel_img_HEADERS): Add command.h.
37492 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
37493 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
37494 and lib/arg.c.
37495 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
37496 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
37497 remove the corresponding normal mode command.
37498 (normal_mod_SOURCES): Remove normal/arg.c.
37499 * conf/i386-coreboot.rmk: Likewise.
37500 * conf/i386-efi.rmk: Likewise.
37501 * conf/i386-ieee1275.rmk: Likewise.
37502 * conf/powerpc-ieee1275.rmk: Likewise.
37503 * conf/x86_64-efi.rmk: Likewise.
37504
37505 * include/grub/arg.h: Move from here ...
37506 * include/grub/lib/arg.h: ... to here.
37507
37508 * normal/arg.c: Move from here ...
37509 * lib/arg.c: ... to here.
37510
37511 * commands/extcmd.c: New file.
37512 * commands/minicmd.c: Likewise.
37513 * include/grub/command.h: Likewise.
37514 * include/grub/extcmd.h: Likewise.
37515 * kern/command.c: Likewise.
37516 * kern/corecmd.c: Likewise.
37517
37518 * kern/list.c (grub_list_iterate): Return int instead of void.
37519 (grub_list_insert): New function.
37520 (grub_prio_list_insert): Likewise.
37521
37522 * kern/rescue.c (grub_rescue_command): Removed.
37523 (grub_rescue_command_list): Likewise.
37524 (grub_rescue_register_command): Likewise.
37525 (grub_rescue_unregister_command): Likewise.
37526 (grub_rescue_cmd_boot): Move to minicmd.c
37527 (grub_rescue_cmd_help): Likewise.
37528 (grub_rescue_cmd_info): Likewise.
37529 (grub_rescue_cmd_boot): Likewise.
37530 (grub_rescue_cmd_testload): Likewise.
37531 (grub_rescue_cmd_dump): Likewise.
37532 (grub_rescue_cmd_rmmod): Likewise.
37533 (grub_rescue_cmd_lsmod): Likewise.
37534 (grub_rescue_cmd_exit): Likewise.
37535 (grub_rescue_print_devices): Moved to corecmd.c.
37536 (grub_rescue_print_files): Likewise.
37537 (grub_rescue_cmd_ls): Likewise.
37538 (grub_rescue_cmd_insmod): Likewise.
37539 (grub_rescue_cmd_set): Likewise.
37540 (grub_rescue_cmd_unset): Likewise.
7d074e3c 37541 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 37542 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 37543 commands, remove grub_rescue_register_command calls.
b1b797cb 37544
7d074e3c 37545 * normal/command.c (grub_register_command): Removed.
b1b797cb 37546 (grub_unregister_command): Likewise.
37547 (grub_command_find): Likewise.
37548 (grub_iterate_commands): Likewise.
37549 (rescue_command): Likewise.
37550 (export_command): Moved to corecmd.c.
37551 (set_command): Removed.
37552 (unset_command): Likewise.
37553 (insmod_command): Likewise.
37554 (rmmod_command): Likewise.
37555 (lsmod_command): Likewise.
37556 (grub_command_init): Likewise.
37557
37558 * normal/completion.c (iterate_command): Use cmd->prio to check for
37559 active command.
37560 (complete_arguments): Use grub_extcmd_t structure to find options.
37561 (grub_normal_do_completion): Change function grub_iterate_commands to
37562 grub_command_iterate.
37563
37564 * normal/execute.c (grub_script_execute_cmd): No need to parse
37565 argument here.
37566
37567 * normal/main.c (grub_dyncmd_dispatcher): New function.
37568 (read_command_list): Register unload commands as dyncmd.
37569 (grub_cmd_normal): Use new command interface, register rescue,
37570 unregister normal at entry, register normal, unregister rescue at exit.
37571
37572 * include/grub/list.h (grub_list_test_t): New type.
37573 (grub_list_iterate): Return int instead of void.
37574 (grub_list_insert): New function.
37575 (GRUB_AS_NAMED_LIST_P): New macro.
37576 (GRUB_AS_PRIO_LIST): Likewise.
37577 (GRUB_AS_PRIO_LIST_P): Likewise.
37578 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
37579 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
37580 (grub_prio_list): New structure.
37581 (grub_prio_list_insert): New function.
37582 (grub_prio_list_remove): New inline function.
37583
37584 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
37585 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
37586 (GRUB_COMMAND_FLAG_MENU): Likewise.
37587 (GRUB_COMMAND_FLAG_BOTH): Likewise.
37588 (GRUB_COMMAND_FLAG_TITLE): Likewise.
37589 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
37590 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
37591 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
37592 (grub_command): Likewise.
37593 (grub_register_command): Likewise.
37594 (grub_command_find): Likewise.
37595 (grub_iterate_commands): Likewise.
37596 (grub_command_init): Likewise.
37597 (grub_arg_parse): Likewise.
37598 (grub_arg_show_help): Likewise.
37599
37600 * include/grub/rescue.h (grub_rescue_register_command): Removed.
37601 (grub_rescue_unregister_command): Likewise.
37602
37603 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
37604 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
37605 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
37606
37607 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
37608 grub_rescue_cmd_initrd.
37609 * include/grub/i386/loader.h: Likewise.
37610 * include/grub/x86_64/loader.h: Likewise.
37611
37612 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
37613
1f4147aa 376142009-03-21 Bean <bean123ch@gmail.com>
37615
37616 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
37617 instead of stat in mingw environment.
37618
37619 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
37620
37621 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
37622
37623 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
37624 AC_CONFIG_LINKS.
37625
2156d5ba 376262009-03-21 Bean <bean123ch@gmail.com>
37627
37628 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
37629 out of range error.
37630
177b82ca 376312009-03-18 Michel Dänzer <michel@daenzer.net>
37632
37633 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
37634 checking inode flags for EXT4_EXTENTS_FLAG.
37635
14aad807 376362009-03-18 Robert Millan <rmh@aybabtu.com>
37637
37638 * loader/i386/linux.c: Include `<grub/video.h>' and
37639 `<grub/i386/pc/vbe.h>'..
37640 (grub_linux_setup_video): New function. Loosely based on the EFI one.
37641 (grub_linux32_boot): Attempt to configure video settings with
37642 grub_linux_setup_video().
37643 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
37644 to avoid grub_console_fini() which would step out of graphical mode
37645 unconditionally.
37646
8cf83a27 376472009-03-14 Robert Millan <rmh@aybabtu.com>
37648
37649 Fix build on powerpc.
37650 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
37651
40164e75 376522009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
37653
37654 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
37655 background image command.
37656
c58bc32a 376572009-03-12 Colin D Bennett <colin@gibibit.com>
37658
37659 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
37660 (grub_gfxterm_putchar): Extract pairs of identical calls to
37661 draw_cursor out of conditional blocks.
37662
5415144a 376632009-03-11 Pavel Roskin <proski@gnu.org>
37664
37665 * fs/hfs.c (grub_hfs_strncasecmp): New function.
37666 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
37667
6394042e 376682009-03-11 Robert Millan <rmh@aybabtu.com>
37669
37670 * loader/i386/multiboot_elfxx.c
37671 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
37672
b7b50e5f 376732009-03-11 Felix Zielcke <fzielcke@z-51.de>
37674
37675 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
37676 `kern/handler.c'.
37677
1ca7fc96 376782009-03-11 Robert Millan <rmh@aybabtu.com>
37679
37680 * loader/i386/multiboot.c (code_size): New variable.
37681 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 37682 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 37683 4-byte alignment to MBI and others by increasing
7d074e3c 37684 `boot_loader_name_length' appropriately.
1ca7fc96 37685
37686 * loader/i386/multiboot_elfxx.c
37687 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
37688
a83ea1d2 376892009-03-09 Felix Zielcke <fzielcke@z-51.de>
37690
37691 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
37692 `fs/ext2.c'.
37693
aa9f3bff 376942009-03-08 Robert Millan <rmh@aybabtu.com>
37695
37696 Make loader/i386/linux.c usable on i386-pc again.
37697
37698 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
37699 memory to heap.
37700 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
37701 `#error' stanza.
37702
d8b3b60e 377032009-03-07 Bean <bean123ch@gmail.com>
37704
37705 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
37706 allocation.
37707
b362c9e9 377082009-03-06 Robert Millan <rmh@aybabtu.com>
37709
37710 Fix display issue on terminals with screen size other than 80x25
37711 (e.g. gfxterm with resolution higher than 640x480).
37712
37713 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 37714 position relative to the center of the terminal instead of relying
b362c9e9 37715 on a hardcoded offset.
37716
9304eef1 377172009-03-04 Robert Millan <rmh@aybabtu.com>
37718
37719 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
37720 installed.
37721
37722 * Makefile.in (host_kernel): New variable.
37723 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
37724 scripts instead of just the windows one.
37725 * configure.ac: Initialize and AC_SUBST `host_kernel'.
37726
eabc95fb 377272009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 37728
37729 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
37730 `kern/handler.c'.
37731 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37732 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37733 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37734 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37735 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37736 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37737
ceb1223c 377382009-03-04 Felix Zielcke <fzielcke@z-51.de>
37739
37740 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
37741 or if there's no space for the disk label and print the partition number on a
37742 invalid magic.
37743
4910684a 377442009-03-04 Felix Zielcke <fzielcke@z-51.de>
37745
37746 * util/misc.c: Include <time.h>.
37747 (grub_millisleep): New function.
37748
7e9ca17a 377492009-03-04 Bean <bean123ch@gmail.com>
37750
37751 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
37752 another option -mno-red-zone.
37753
37754 * commands/handler.c: Change module description.
37755
37756 * kern/handler.c: Add missing space at the end of description line.
37757
37758 * kern/list.c: Likewise.
37759
f501677c 377602009-03-03 Robert Millan <rmh@aybabtu.com>
37761
37762 Move more components to the relocation area, and fix mbi pointer
37763 handling to use the destination rather than the origin (thanks to
37764 Vladimir Serbinenko for spotting).
37765
37766 * loader/i386/multiboot.c (mbi_dest): New variable.
37767 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
37768 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
37769 relocation area.
37770
9902d047 377712009-03-01 Bean <bean123ch@gmail.com>
37772
50fb7002 37773 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 37774 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
37775 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
37776 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
37777
37778 * loader/i386/efi/linux.c (acpi_guid): New variable.
37779 (acpi_guid): Likewise.
37780 (EBDA_SEG_ADDR): New constant.
37781 (LOW_MEM_ADDR): Likewise.
37782 (FAKE_EBDA_SEG): Likewise.
37783 (fake_bios_data): New function.
37784 (grub_linux_boot): Call fake_bios_data.
37785
71b9f361 377862009-03-01 Bean <bean123ch@gmail.com>
37787
37788 * commands/terminal.c: Removed.
37789
37790 * commands/handler.c: New file.
37791
37792 * include/grub/list.h: Likewise.
37793
37794 * include/grub/handler.h: Likewise.
37795
37796 * kern/list.c: Likewise.
37797
37798 * kern/handler.c: Likewise.
37799
37800 * kern/term.h: Include header file <grub/handler.h>.
37801 (grub_term_input): Move next field to the beginning.
37802 (grub_term_output): Likewise.
37803 (grub_term_input_class): New variable.
37804 (grub_term_output_class): Likewise.
37805 (grub_term_register_input): Changed to inline function.
37806 (grub_term_register_output): Likewise.
37807 (grub_term_unregister_input): Likewise.
37808 (grub_term_unregister_output): Likewise.
37809 (grub_term_set_current_input): Likewise.
37810 (grub_term_set_current_output): Likewise.
37811 (grub_term_get_current_input): Likewise.
37812 (grub_term_get_current_output): Likewise.
37813 (grub_term_iterate_input): Removed.
37814 (grub_term_iterate_output): Likewise.
37815
37816 * kern/term.c (grub_term_list_input): Removed.
37817 (grub_term_list_output): Likewise.
37818 (grub_term_input_class): New variable.
37819 (grub_term_output_class): Likewise.
50fb7002 37820 (grub_cur_term_input): Change variable as macro.
71b9f361 37821 (grub_cur_term_output): Likewise.
37822 (grub_term_register_input): Removed.
37823 (grub_term_register_output): Likewise.
37824 (grub_term_unregister_input): Likewise.
37825 (grub_term_unregister_output): Likewise.
37826 (grub_term_set_current_input): Likewise.
37827 (grub_term_set_current_output): Likewise.
37828 (grub_term_iterate_input): Likewise.
37829 (grub_term_iterate_output): Likewise.
37830 (grub_term_get_current_input): Likewise.
37831 (grub_term_get_current_output): Likewise.
37832
37833 * util/grub-editenv.c: Include header file <grub/handler.h>.
37834 (grub_term_get_current_input): Removed.
37835 (grub_term_get_current_output): Likewise.
37836 (grub_term_input_class): New variable.
50fb7002 37837 (grub_term_output_class): Likewise.
71b9f361 37838
37839 * util/grub-fstest.c (grub_term_get_current_input): Removed.
37840 (grub_term_get_current_output): Likewise.
37841 (grub_term_input_class): New variable.
50fb7002 37842 (grub_term_output_class): Likewise.
71b9f361 37843
37844 * util/grub-probe.c (grub_term_get_current_input): Removed.
37845 (grub_term_get_current_output): Likewise.
37846 (grub_term_input_class): New variable.
50fb7002 37847 (grub_term_output_class): Likewise.
71b9f361 37848
37849 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
37850 (grub_term_get_current_output): Likewise.
37851 (grub_term_input_class): New variable.
50fb7002 37852 (grub_term_output_class): Likewise.
71b9f361 37853
37854 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
37855 (terminal_mod_SOURCES): Likewise.
37856 (terminal_mod_CFLAGS): Likewise.
37857 (terminal_mod_LDFLAGS): Likewise.
37858
37859 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
37860 handler.c.
37861 (kernel_img_SOURCES): Add list.c and handler.c.
37862 (kernel_img_HEADERS): Add list.h and handler.h.
37863
37864 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
37865 handler.c.
37866 (kernel_mod_SOURCES): Add list.c and handler.c.
37867 (kernel_mod_HEADERS): Add list.h and handler.h.
37868
37869 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
37870 handler.c.
37871 (kernel_elf_SOURCES): Add list.c and handler.c.
37872 (kernel_elf_HEADERS): Add list.h and handler.h.
37873
37874 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
37875 handler.c.
37876 (kernel_elf_SOURCES): Add list.c and handler.c.
37877 (kernel_elf_HEADERS): Add list.h and handler.h.
37878
37879 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
37880 handler.c.
37881 (kernel_mod_SOURCES): Add list.c and handler.c.
37882 (kernel_mod_HEADERS): Add list.h and handler.h.
37883
37884 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
37885 handler.c.
37886 (kernel_elf_SOURCES): Add list.c and handler.c.
37887 (kernel_elf_HEADERS): Add list.h and handler.h.
37888
8a31787f 378892009-02-27 Robert Millan <rmh@aybabtu.com>
37890
37891 Factorize elf32 / elf64 code in Multiboot loader. This will
37892 prevent it from getting out of sync again.
37893
37894 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
37895 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
37896 grub_multiboot_load_elf64): Move from here ...
37897 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
37898 grub_multiboot_load_elf): ... to here (new file).
37899
51cd3dfc 379002009-02-27 Robert Millan <rmh@aybabtu.com>
37901
37902 * util/grub.d/10_linux.in: Rename "single-user mode" to
37903 "recovery mode".
37904
6e8c9c3a 379052009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
37906
37907 Don't leak in SCSI code.
37908 * disk/scsi.c (grub_scsi_close): free `scsi'.
37909
4b6bf4f9 379102009-02-27 Robert Millan <rmh@aybabtu.com>
37911
37912 * loader/i386/pc/multiboot.c: Move from here ...
37913 * loader/i386/multiboot.c: ... to here. Update all users.
37914
b9413424 379152009-02-27 Robert Millan <rmh@aybabtu.com>
37916
37917 Patch from Alexandre Bique <bique.alexandre@gmail.com>
37918 * util/i386/pc/grub-setup.c (setup): Fix directory path.
37919
50fb7002 379202009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 37921
37922 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
37923 b-tree.
37924
8cc50345 379252009-02-27 Robert Millan <rmh@aybabtu.com>
37926
37927 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
37928 `0x' qualifier as 0 when base is specified as parameter).
37929
6e09b8b7 379302009-02-24 Bean <bean123ch@gmail.com>
37931
37932 * configure.ac: Check for -mcmodel=large in x86_64 target.
37933
37934 * include/grub/efi/api.h (efi_call_10): New macro.
37935 (efi_wrap_10): New function.
37936
37937 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
37938 (GRUB_PE32_REL_BASED_HIGH): Likewise.
37939 (GRUB_PE32_REL_BASED_LOW): Likewise.
37940 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
37941 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
37942 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
37943 (GRUB_PE32_REL_BASED_SECTION): Likewise.
37944 (GRUB_PE32_REL_BASED_REL): Likewise.
37945 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
37946 (GRUB_PE32_REL_BASED_DIR64): Likewise.
37947 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
37948
37949 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
37950 issue.
37951
37952 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
37953 (efi_wrap_10): New function.
37954
37955 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
37956
37957 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
37958 MB/MBP model (NV chipset).
37959 (devdata_devs): Add devpath_5 to the list.
37960
37961 * load/i386/efi/linux.c (video_base): Remove variable.
37962 (RGB_MASK): New macro.
37963 (RGB_MAGIC): Likewise.
37964 (LINE_MIN): Likewise.
37965 (LINE_MAX): Likewise.
37966 (FBTEST_STEP): Likewise.
37967 (FBTEST_COUNT): Likewise.
37968 (fb_list): New variable.
37969 (grub_find_video_card): Remove function.
37970 (find_framebuf): New function.
37971 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
37972 line length.
37973
37974 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
37975 problem for x86_64.
37976
74b21bee 379772009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
37978
37979 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
37980
37981 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
37982 coding tool name.
37983
a455f472 379842009-02-22 Robert Millan <rmh@aybabtu.com>
37985
37986 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
37987 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
37988 in our relocation, instead of using it directly from heap. Also
37989 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
37990
6374daf3 379912009-02-21 Robert Millan <rmh@aybabtu.com>
37992
37993 Implement USB keyboard support (based on patch by Marco Gerards)
37994
37995 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
37996 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
37997 (usb_keyboard_mod_LDFLAGS): New variables.
37998
37999 * term/usb_keyboard.c: New file.
38000
8fa4ea70 380012009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
38002
38003 Corrected wrong declaration
38004
38005 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
38006
353976ac 380072009-02-14 Christian Franke <franke@computer.org>
38008
38009 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
38010 (grub_lspci_iter): Print class code and programming interface byte.
38011
6aa1169b 380122009-02-14 Christian Franke <franke@computer.org>
38013
38014 * gendistlist.sh: Ignore `.svn' directories.
38015
265372ca 380162009-02-14 Felix Zielcke <fzielcke@z-51.de>
38017
38018 * fs/fat.c: Add 2009 to Copyright line.
38019
9ff516f3 380202009-02-14 Christian Franke <franke@computer.org>
38021
38022 * commands/hdparm.c: New file. Provides `hdparm' command
38023 which sends ATA commands via grub_disk_ata_pass_through ().
38024
38025 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
38026
38027 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
38028 and <grub/cpu/io.h> to include/grub/ata.h.
38029 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
38030 (GRUB_CDROM_SECTOR_SIZE): Remove.
38031 (GRUB_ATA_*): Move to include/grub/ata.h.
38032 (GRUB_ATAPI_*): Likewise.
38033 (enum grub_ata_commands): Likewise.
38034 (enum grub_ata_timeout_milliseconds): Likewise.
38035 (struct grub_ata_device): Likewise.
38036 (grub_ata_regset): Likewise.
38037 (grub_ata_regget): Likewise.
38038 (grub_ata_regset2): Likewise.
38039 (grub_ata_regget2): Likewise.
38040 (grub_ata_check_ready): Likewise.
38041 (grub_ata_wait_not_busy): Remove static, exported in
38042 include/grub/ata.h.
38043 (grub_ata_wait_drq): Likewise.
38044 (grub_ata_pio_read): Likewise.
38045
38046 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
38047 function for hdparm.mod.
38048
38049 * include/grub/ata.h: New file, contains declarations from
38050 disk/ata.c.
38051 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
38052
38053 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
38054 (grub_disk_ata_pass_through): New exported variable.
38055
38056 * kern/disk.c (grub_disk_ata_pass_through): New variable.
38057
772e23da 380582009-02-13 Colin D Bennett <colin@gibibit.com>
38059
38060 Support multiple fallback entries, and provide an API to support
38061 executing default+fallback menu entries. Renamed the `terminal' menu
38062 viewer to `text'.
38063
38064 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
38065 variable declaration.
38066 (grub_menu_execute_callback): New structure declaration.
38067 (grub_menu_execute_callback_t): New typedef.
38068 (grub_menu_execute_with_fallback): New function declaration.
38069 (grub_menu_get_entry): Likewise.
38070 (grub_menu_get_timeout): Likewise.
38071 (grub_menu_set_timeout): Likewise.
38072
38073 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
38074
38075 * normal/menu.c (grub_wait_after_message): Moved to
38076 `normal/menu_text.c'.
38077 (draw_border): Likewise.
38078 (print_message): Likewise.
38079 (print_entry): Likewise.
38080 (print_entries): Likewise.
38081 (grub_menu_init_page): Likewise.
38082 (get_entry_number): Likewise.
38083 (print_timeout): Likewise.
38084 (run_menu): Likewise.
38085 (grub_menu_execute_entry): Likewise.
38086 (show_text_menu): Likewise.
38087 (get_and_remove_first_entry_number): New function.
38088 (grub_menu_execute_with_fallback): Likewise.
38089 (get_entry): Renamed to ...
38090 (grub_menu_get_entry): .. this and made it global.
38091 (get_timeout): Renamed to ...
38092 (grub_menu_get_timeout): ... this and made it global.
38093 (set_timeout): Renamed to ...
38094 (grub_menu_set_timeout): ... this and made it global.
38095 (grub_normal_terminal_menu_viewer): Renamed to ...
38096 (grub_normal_text_menu_viewer): ... this.
38097
38098 * normal/menu_text.c: New file. Extracted text-menu-specific code
38099 from normal/menu.c.
38100
38101 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
38102 (normal_mod_SOURCES): Likewise.
38103
38104 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38105 (normal_mod_SOURCES): Likewise.
38106
38107 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38108 (normal_mod_SOURCES): Likewise.
38109
38110 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
38111 (normal_mod_SOURCES): Likewise.
38112
38113 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38114 (normal_mod_SOURCES): Likewise.
38115
38116 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38117 (normal_mod_SOURCES): Likewise.
38118
38119 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38120 (normal_mod_SOURCES): Likewise.
38121
16ac430e 381222009-02-11 Robert Millan <rmh@aybabtu.com>
38123
38124 * util/grub.d/00_header.in: Update old reference to `font' command.
38125
06ff20fc 381262009-02-10 Felix Zielcke <fzielcke@z-51.de>
38127
38128 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
38129
38130 Based on patch from Javier Martín.
38131
96da9407 381322009-02-09 Felix Zielcke <fzielcke@z-51.de>
38133
38134 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 38135 to avoid false positives with FAT.
96da9407 38136 (grub_fstest_SOURCES): Likewise.
38137 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38138 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38139 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38140 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38141 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38142 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38143
6dca6fe4 381442009-02-09 Felix Zielcke <fzielcke@z-51.de>
38145
06ff20fc 38146 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 38147 bpb.version_specific.fat12_or_fat16.fstype and
38148 bpb.version_specific.fat32.fstype.
38149
2550c62f 381502009-02-08 Robert Millan <rmh@aybabtu.com>
38151
be110b30 38152 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 38153
56978920 381542009-02-08 Robert Millan <rmh@aybabtu.com>
38155
38156 * Makefile.in (host_os, host_cpu): New variables.
38157 (target_os): Remove. Update all users.
38158
d64399b5 381592009-02-08 Marco Gerards <marco@gnu.org>
38160
38161 * Makefile.in (enable_grub_emu_usb): New variable.
38162 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
38163 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
38164 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
38165 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
38166 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
38167 `usbtest.mod' and `usbms.mod'.
38168 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
38169 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
38170 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
38171 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
38172 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
38173 variables.
38174
38175 * disk/usbms.c: New file.
38176
38177 * include/grub/usb.h: Likewise.
38178
38179 * include/grub/usbtrans.h: Likewise.
38180
38181 * include/grub/usbdesc.h: Likewise.
38182
38183 * bus/usb/usbtrans.c: Likewise.
38184
38185 * bus/usb/ohci.c: Likewise.
38186
38187 * bus/usb/uhci.c: Likewise.
38188
38189 * bus/usb/usbhub.c: Likewise.
38190
38191 * bus/usb/usb.c: Likewise.
38192
38193 * commands/usbtest.c: Likewise.
38194
38195 * util/usb.c: Likewise.
50fb7002 38196
d64399b5 38197 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
38198
38199 * configure.ac: Test for libusb presence.
50fb7002 38200
d64399b5 38201 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
38202
2b40d6bb 382032009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
38204
38205 * kern/mm.c: Add more comments.
38206
73a4ce81 382072009-02-08 Robert Millan <rmh@aybabtu.com>
38208
38209 Patch from Javier Martín.
38210 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
38211 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
38212
f821ce59 382132009-02-08 Robert Millan <rmh@aybabtu.com>
38214
38215 * fs/cpio.c: Split tar functionality to ...
38216 * fs/tar.c: ... here (new file). Update all users.
38217
aebfc4b0 382182009-02-07 Robert Millan <rmh@aybabtu.com>
38219
38220 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
38221 backward-incompatible features.
38222
38223 Based on patch from Javier Martín, with some adjustments.
38224
50fb7002 382252009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 38226
38227 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
38228
0bb5115e 382292009-02-07 Robert Millan <rmh@aybabtu.com>
38230
38231 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
38232 position of `disk/lvm.c' to ensure grub_init_all() always picks it
38233 after the RAID stuff.
38234
38a0f8e7 382352009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
38236
50fb7002 38237 Fixes problem when running vbetest command as reported by
38a0f8e7 38238 Vladimir Serbinenko <phcoder@gmail.com>.
38239
38240 * (grub_vbe_set_video_mode): Fixed problem with text modes.
38241
3143cc1c 382422009-02-04 Felix Zielcke <fzielcke@z-51.de>
38243
38244 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
38245 /dev/md/NpN style mdraid devices.
38246
9cba6fce 382472009-02-03 Felix Zielcke <fzielcke@z-51.de>
38248
38249 * util/unifont2pff.rb: Remove.
38250
e507a2c1 382512009-02-03 Felix Zielcke <fzielcke@z-51.de>
38252
38253 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
38254 `#'.
38255
d2c2b4cd 382562009-02-03 Felix Zielcke <fzielcke@z-51.de>
38257
38258 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
38259 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38260 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38261 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38262 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38263 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38264 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38265
b4315fb0 382662009-02-02 Christian Franke <franke@computer.org>
38267
38268 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
38269
de3aa260 382702009-02-01 Felix Zielcke <fzielcke@z-51.de>
38271
7c3ff286 38272 * INSTALL: Note that we now require at least autoconf 2.59 and
38273 that LZO is optional.
de3aa260 38274
825a182b 382752009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
38276
38277 Base on patch on bug #24154 created by Tomas Tintera
38278 <trosos@seznam.cz>.
38279
38280 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
38281
a69ef770 382822009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
38283
7c3ff286 38284 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 38285 <bero@arklinux.org>.
38286
38287 * normal/parser.y (script_init): Add missing semicolon.
38288
6fa42fa6 382892009-01-31 Colin D Bennett <colin@gibibit.com>
38290
7c3ff286 38291 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 38292 (free_menu_entry_classes): Added.
38293 (grub_normal_menu_addentry): Added class property handling.
38294 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
38295 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
38296
38297 * normal/menu_viewer.c: New file.
38298
38299 * normal/menu.c (run_menu_entry): Renamed to ...
38300 (grub_menu_execute_entry): ... this and made it as global.
38301 (grub_menu_run): Renamed to ...
38302 (show_text_menu): ... this and made it local.
38303 (show_text_menu): Adapt to new function names.
38304 (grub_normal_terminal_menu_viewer): New global variable.
38305
38306 * include/grub/menu.h: New file.
38307
38308 * include/grub/menu_viewer.h: New file.
38309
38310 * include/grub/normal.h: Added include to grub/menu.h.
38311 (grub_menu_entry): Moved to include/grub/menu.h.
38312 (grub_menu_entry_t): Likewise.
38313 (grub_menu): Likewise.
38314 (grub_menu_t): Likewise.
38315 (grub_normal_terminal_menu_viewer): Added.
38316 (grub_menu_execute_entry): Likewise.
38317 (grub_menu_run): Removed.
38318
38319 * DISTLIST: Added include/grub/menu.h.
38320 Added include/grub/menu_viewer.h.
38321 Added normal/menu_viewer.c.
38322
383232009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
38324
38325 * normal/execute.c (grub_script_execute_menuentry): Changed to use
38326 arglist for menutitle arguments.
38327
38328 * normal/main.c (grub_normal_menu_addentry): Likewise.
38329
38330 * normal/parser.y (menuentry): Likewise.
38331
38332 * normal/script.c (grub_script_create_cmdmenu): Likewise.
38333
38334 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
38335 (grub_script_create_cmdmenu): Likewise.
38336
38337 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
38338
38339 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
38340 changes.
38341
38342 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
38343
38344 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
38345
38346 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
38347
38348 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
38349
38350 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
38351
38352 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
38353
56192c23 383542009-01-30 Christian Franke <franke@computer.org>
38355
38356 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
38357 in option help text.
38358
d72521b3 383592009-01-27 Pavel Roskin <proski@gnu.org>
38360
38361 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
38362
994b5e84 383632009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
38364
38365 * commands/lsmmap.c: Add include to grub/machine/memory.h.
38366
38367 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
38368
38369 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
38370 unregister function.
38371
6a7eab2c 383722009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
38373
38374 * disk/scsi.c (grub_scsi_read): Fix sign problem.
38375
38376 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
38377
38378 * util/grub-mkfont.c (usage): Fix typo.
38379
38380 * util/elf/grub-mkimage.c (load_modules): Fix warning.
38381
1806b56e 383822009-01-26 Daniel Mierswa <impulze@impulze.org>
38383
3fb18f09 38384 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
38385
336e1fb9 38386 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
38387
1806b56e 38388 * kern/misc.c (grub_strcasecmp): New function.
38389 (grub_strcasecmp): Use grub_size_t instead of int for length.
38390 Fix return value.
38391 * include/grub/misc.h: Update function prototypes.
38392
580b2a0f 383932009-01-26 Robert Millan <rmh@aybabtu.com>
38394
38395 * configure.ac: Fix cross-compilation check.
ef257b36 38396
d31c24f1 383972009-01-22 Christian Franke <franke@computer.org>
38398
38399 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
38400 (precision) digit string. Allow `.format2' without `format1' (width).
38401 Limit input chars for `%s' output to `format2' if specified. This is
38402 compatible with standard printf ().
38403
3138b44c 384042009-01-22 Christian Franke <franke@computer.org>
38405
38406 * disk/ata.c (grub_ata_wait_status): Replace by ...
38407 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
38408 other status bits may be invalid while BSY is asserted.
38409 (grub_ata_check_ready): New function.
38410 (grub_ata_cmd): Removed.
38411 (grub_ata_wait_drq): New function.
38412 (grub_ata_strncpy): Remove inline.
38413 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
38414 and error check now done by grub_ata_wait_drq ().
38415 (grub_ata_pio_write): Likewise.
38416 (grub_atapi_identify): Set DEV before check for !BSY. Use
38417 grub_ata_wait_drq () to wait for data.
38418 (grub_ata_device_initialize): Add status register check to
38419 detect missing SATA slave devices. Add debug messages.
38420 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
38421 (grub_atapi_packet): Set DEV before check for !BSY. Replace
38422 transfer loop by grub_ata_pio_write ().
38423 (grub_ata_identify): Set DEV before check for !BSY. Use
38424 grub_ata_wait_drq () to wait for data.
ef257b36 38425 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 38426 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
38427 read/write in one loop. Fix invalid command on write. Fix incomplete
38428 command on (size % batch) == 0. Add missing error check after write of
38429 last block. Add debug messages.
38430 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
38431
59a64ef6 384322009-01-19 Christian Franke <franke@computer.org>
38433
38434 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
38435 (GRUB_ATAPI_IREASON_*): Likewise.
38436 (grub_ata_pio_write): Fix timeout error return.
38437 (grub_atapi_identify): Add grub_ata_wait () after cmd.
38438 (grub_atapi_wait_drq): New function.
38439 (grub_atapi_packet): New parameter `size'.
38440 Use grub_atapi_wait_drq () and direct write instead of
38441 grub_ata_pio_write ().
38442 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
38443 reads the number of bytes requested by the device for each DRQ
38444 assertion.
38445 (grub_atapi_write): Remove old implementation, return not
38446 implemented instead.
38447
1cfe20b3 384482009-01-19 Christian Franke <franke@computer.org>
38449
38450 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
38451 of 512 to calculate data size.
38452 (grub_scsi_read12): Likewise.
38453 (grub_scsi_write10): Likewise.
38454 (grub_scsi_write12): Likewise.
38455 (grub_scsi_read): Adjust size according to blocksize.
38456 Add checks for invalid blocksize and unaligned transfer.
38457
bee5fe5d 384582009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
38459
38460 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
38461
ef257b36 38462 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 38463 width glyphs.
38464
3e643f8c 384652009-01-19 Robert Millan <rmh@aybabtu.com>
38466
38467 * config.guess: Update to latest version from config git.
38468 * config.sub: Likewise.
38469
4fa80998 384702009-01-17 Felix Zielcke <fzielcke@z-51.de>
38471
38472 * Makefile.in: Change font compilation to use new grub-mkfont instead
38473 of java version.
38474
38475 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
38476 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
38477 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
38478 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
38479 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
38480 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
38481 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
38482 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
38483 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
38484
7086085b 384852009-01-16 Christian Franke <franke@computer.org>
38486
38487 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
38488 (enum grub_ata_timeout_milliseconds): New enum.
38489 (grub_ata_wait_status): Add parameter milliseconds.
38490 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
38491 recovery from timed-out commands.
38492 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
38493 return grub_errno instead of REG_ERROR.
38494 (grub_ata_pio_write): Add parameter milliseconds.
38495 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
38496 Pass milliseconds to grub_ata_wait_status () and
38497 grub_ata_pio_read ().
38498 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
38499 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
38500 grub_ata_wait_status (). Fix IDENTIFY timeout check.
38501 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
38502 It is not suitable for device detection, because DEV bit is ignored,
38503 the command may run too long, and not all devices set the signature
38504 properly.
38505 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
38506 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
38507 Fix device selection, DEV bit must be set first to address the registers
38508 of the correct device.
38509 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
38510 grub_ata_pio_read/write ().
38511 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
38512 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
38513
4a412913 385142009-01-13 Carles Pina i Estany <carles@pina.cat>
38515
38516 * util/grub-editenv.c (main): Use fseeko(), not fseek().
38517
7795c55e 385182009-01-13 Bean <bean123ch@gmail.com>
d913988c 38519
38520 * util/grub-mkfont.c (write_font): forget to remove some debug code.
38521
7795c55e 385222009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 38523
38524 * Makefile.in: (enable_grub_mkfont): New variable.
38525 (freetype_cflags): Likewise.
38526 (freetype_libs): Likewise.
38527
38528 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
38529 (grub_mkfont_SOURCES): New variable.
38530 (grub_mkfont_CFLAGS): Likewise.
38531 (grub_mkfont_LDFLAGS): Likewise.
38532
38533 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
38534 library if `--enable-grub-mkfont' is requested.
38535 (enable_grub_mkfont): New variable.
38536 (freetype_cflags): Likewise.
38537 (freetype_libs): Likewise.
38538
38539 * util/grub-mkfont.c: New file.
38540
093af1fe 385412009-01-12 Christian Franke <franke@computer.org>
38542
38543 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
38544 mode check. Fix setting of compat_use[].
38545
f36cc108 385462009-01-10 Robert Millan <rmh@aybabtu.com>
38547
38548 Update a few copyright years which we forgot to do in 2008 (only for
38549 files whose changes made in 2008 were copyright-significant)
38550
38551 * Makefile.in: Add 2008 to Copyright line.
38552 * disk/ieee1275/ofdisk.c: Likewise.
38553 * disk/efi/efidisk.c: Likewise.
38554 * kern/dl.c: Likewise.
38555 * kern/sparc64/ieee1275/init.c: Likewise.
38556 * kern/mm.c: Likewise.
38557 * kern/efi/mm.c: Likewise.
38558 * boot/i386/pc/boot.S: Likewise.
38559 * genfslist.sh: Likewise.
38560 * fs/iso9660.c: Likewise.
38561 * fs/hfs.c: Likewise.
38562 * fs/jfs.c: Likewise.
38563 * fs/minix.c: Likewise.
38564 * fs/ufs.c: Likewise.
38565 * gensymlist.sh.in: Likewise.
38566 * genkernsyms.sh.in: Likewise.
38567 * include/grub/misc.h: Likewise.
38568 * include/grub/types.h: Likewise.
38569 * include/grub/symbol.h: Likewise.
38570 * include/grub/elf.h: Likewise.
38571 * include/grub/kernel.h: Likewise.
38572 * include/grub/disk.h: Likewise.
38573 * include/grub/dl.h: Likewise.
38574 * include/grub/i386/linux.h: Likewise.
38575 * include/grub/i386/pc/biosdisk.h: Likewise.
38576 * include/grub/efi/api.h: Likewise.
38577 * include/grub/efi/pe32.h: Likewise.
38578 * include/grub/util/misc.h: Likewise.
38579 * normal/execute.c: Likewise.
38580 * normal/arg.c: Likewise.
38581 * normal/completion.c: Likewise.
38582 * normal/lexer.c: Likewise.
38583 * normal/parser.y: Likewise.
38584 * normal/misc.c: Likewise.
38585 * commands/i386/pc/vbeinfo.c: Likewise.
38586 * commands/hexdump.c: Likewise.
38587 * commands/terminal.c: Likewise.
38588 * commands/ls.c: Likewise.
38589 * commands/help.c: Likewise.
38590 * partmap/pc.c: Likewise.
38591 * loader/efi/chainloader.c: Likewise.
38592 * loader/multiboot_loader.c: Likewise.
38593 * loader/i386/pc/multiboot2.c: Likewise.
38594 * term/efi/console.c: Likewise.
38595 * term/i386/pc/serial.c: Likewise.
38596 * util/lvm.c: Likewise.
38597 * util/console.c: Likewise.
38598 * util/i386/efi/grub-mkimage.c: Likewise.
38599 * util/raid.c: Likewise.
38600
7f02114b 386012009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
38602
38603 * commands/videotest.c: Removed include to grub/machine/memory.h.
38604
38605 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
38606 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
38607 (video_mod_SOURCES): Removed.
38608 (video_mod_CFLAGS): Likewise.
38609 (video_mod_LDFLAGS): Likewise.
38610 (gfxterm_mod_SOURCES): Likewise.
38611 (gfxterm_mod_CFLAGS): Likewise.
38612 (gfxterm_mod_LDFLAGS): Likewise.
38613 (videotest_mod_SOURCES): Likewise.
38614 (videotest_mod_CFLAGS): Likewise.
38615 (videotest_mod_LDFLAGS): Likewise.
38616 (bitmap_mod_SOURCES): Likewise.
38617 (bitmap_mod_CFLAGS): Likewise.
38618 (bitmap_mod_LDFLAGS): Likewise.
38619 (tga_mod_SOURCES): Likewise.
38620 (tga_mod_CFLAGS): Likewise.
38621 (tga_mod_LDFLAGS): Likewise.
38622 (jpeg_mod_SOURCES): Likewise.
38623 (jpeg_mod_CFLAGS): Likewise.
38624 (jpeg_mod_LDFLAGS): Likewise.
38625 (png_mod_SOURCES): Likewise.
38626 (png_mod_CFLAGS): Likewise.
38627 (png_mod_LDFLAGS): Likewise.
38628
38629 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
38630 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
38631 (video_mod_SOURCES): Added.
38632 (video_mod_CFLAGS): Likewise.
38633 (video_mod_LDFLAGS): Likewise.
38634 (videotest_mod_SOURCES): Likewise.
38635 (videotest_mod_CFLAGS): Likewise.
38636 (videotest_mod_LDFLAGS): Likewise.
38637 (bitmap_mod_SOURCES): Likewise.
38638 (bitmap_mod_CFLAGS): Likewise.
38639 (bitmap_mod_LDFLAGS): Likewise.
38640 (tga_mod_SOURCES): Likewise.
38641 (tga_mod_CFLAGS): Likewise.
38642 (tga_mod_LDFLAGS): Likewise.
38643 (jpeg_mod_SOURCES): Likewise.
38644 (jpeg_mod_CFLAGS): Likewise.
38645 (jpeg_mod_LDFLAGS): Likewise.
38646 (png_mod_SOURCES): Likewise.
38647 (png_mod_CFLAGS): Likewise.
38648 (png_mod_LDFLAGS): Likewise.
38649 (gfxterm_mod_SOURCES): Likewise.
38650 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 38651 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 38652
38653 * term/gfxterm.c: Removed include to grub/machine/memory.h,
38654 grub/machine/console.h.
38655
644fff97 386562009-01-04 Jerone Young <jerone@gmail.com>
38657
38658 Make on screen instructions clearer
38659
38660 Based on patch created by Jidanni <jidanni@jidanni.org>
38661
38662 * normal/menu.c: print clearer instructions on the screen
38663
1e901a75 386642009-01-02 Colin D Bennett <colin@gibibit.com>
38665
38666 New font engine.
34c44600 38667
1e901a75 38668 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
38669 build system and fixed gfxterm.c to work with different sized fonts.
38670
38671 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 38672
1e901a75 38673 * configure: Re-generated.
34c44600 38674
1e901a75 38675 * DISTLIST: Removed font/manager.c.
38676 Added font/font.c.
38677 Added font/font_cmd.c.
34c44600 38678
1e901a75 38679 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
38680 compilation.
34c44600 38681
1e901a75 38682 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 38683
38684 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 38685
38686 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 38687
1e901a75 38688 * normal/menu.c: Likewise.
34c44600 38689
1e901a75 38690 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
38691 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 38692
1e901a75 38693 * include/grub/font.h: Replaced with new file.
34c44600 38694
1e901a75 38695 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
38696 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
38697 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
38698 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
38699 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 38700 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 38701 fg_red, fg_green, fg_blue, fg_alpha.
38702 (grub_video_adapter): Removed blit_glyph.
34c44600 38703 (grub_video_blit_glyph): Removed.
38704
1e901a75 38705 * font/manager.c: Removed file.
34c44600 38706
38707 * font/font.c: New file.
38708
1e901a75 38709 * font/font_cmd.c: Likewise.
34c44600 38710
1e901a75 38711 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 38712
1e901a75 38713 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
38714 (grub_video_vbe_map_rgba): Likewise.
38715 (grub_video_vbe_unmap_color_int): Likewise.
38716 (grub_video_vbe_blit_glyph): Removed.
38717 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 38718
1e901a75 38719 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
38720 (get_pixel): Likewise.
34c44600 38721 (set_pixel): Likewise.
38722
1e901a75 38723 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 38724
1e901a75 38725 * term/gfxterm.c: Adapted to new font engine.
34c44600 38726
1e901a75 38727 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 38728
1e901a75 38729 * term/i386/pc/vga.c: Likewise.
34c44600 38730
1e901a75 38731 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 38732
1e901a75 38733 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 38734
1e901a75 38735 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 38736
1e901a75 38737 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 38738
1e901a75 38739 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 38740
1e901a75 38741 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 38742
1e901a75 38743 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 38744
1e901a75 38745 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 38746
1e901a75 38747 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
38748
38749 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 38750
1e901a75 38751 * util/grub-mkconfig_lib.in: Changed font extension.
38752
278922e8 387532008-12-28 Felix Zielcke <fzielcke@z-51.de>
38754
38755 * util/getroot.c (grub_util_get_grub_dev): Add support for
38756 /dev/md/dNNpNN style partitionable mdraid devices.
38757
3ced05cf 387582008-12-12 Alex Smith <alex@alex-smith.me.uk>
38759
38760 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
38761 at a time limit of the PXE TFTP API correctly.
38762 (grub_pxefs_close): Likewise.
38763
7fd0ee30 387642008-11-29 Robert Millan <rmh@aybabtu.com>
38765
34c44600 38766 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 38767 grub_ata_device_initialize() calls.
38768
34c44600 387692008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 38770
38771 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
38772 iteration failed.
38773 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
38774
89313780 387752008-11-28 Robert Millan <rmh@aybabtu.com>
38776
38777 Fix build on powerpc-ieee1275. Based on patch created by
38778 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
38779 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38780 `kern/ieee1275/mmap.c'.
38781 * include/grub/powerpc/ieee1275/memory.h: New file.
38782
15257703 38783 Provide grub-install on coreboot.
38784 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
38785 (grub_install_SOURCES): New variable.
38786 * util/i386/pc/grub-install.in: Add a few condition checks to make it
38787 usable on coreboot.
38788
9fc5388a 387892008-11-25 Felix Zielcke <fzielcke@z-51.de>
38790
38791 * util/grub-fstest.c (grub_term_get_current_input): Change return type
38792 to `grub_term_input_t'.
38793 (grub_term_get_current_output): Change return type to
38794 `grub_term_output_t'.
38795
bc3a2f31 387962008-11-22 Robert Millan <rmh@aybabtu.com>
38797
34c44600 38798 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 38799 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
38800 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
38801 grub_vga_text_cls().
38802
80fc88f2 38803 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 38804 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 38805
cbf36fd3 38806 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
38807 to 0x200000 (avoids trouble with some OFW implementations, and matches
38808 with the one in Yaboot).
38809 Reported by Manoel Abranches
38810
73e8e268 388112008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 38812
38813 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
38814 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
38815
73e8e268 38816 * util/grub-mkconfig_lib.in (grub_warn): New function.
38817 (convert_system_path_to_grub_path): Use grub_warn() when issuing
38818 warnings, to obtain consistent formatting.
38819 * util/grub.d/00_header.in: Likewise.
38820 * util/update-grub_lib.in: Likewise.
38821
e94045a1 38822 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 38823 Move comment text to `#error' stanza.
e94045a1 38824
79d29fd7 38825 Harmonize ieee1275's grub_available_iterate() with the generic
38826 grub_machine_mmap_iterate() interface (fixes a recently-introduced
38827 build problem on i386-ieee1275):
38828 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
38829 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
38830 parameter `type'. Update all users of this function.
38831 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
38832 `kern/ieee1275/mmap.c'.
38833 * kern/ieee1275/init.c
38834 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
38835 with ...
38836 (grub_machine_mmap_iterate): ... this.
38837 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
38838 return type to `grub_err_t'. Update all implementations of this
38839 function prototype.
38840 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
38841 Likewise.
38842
60d6b16e 38843 Add `lsmmap' command (lists firmware-provided memory map):
38844 * commands/lsmmap.c: New file.
38845 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
38846 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
38847 variables.
38848 * conf/powerpc-ieee1275.rmk: Likewise.
38849 * conf/i386-coreboot.rmk: Likewise.
38850 * conf/i386-ieee1275.rmk: Likewise.
38851
ebaaf49b 388522008-11-19 Robert Millan <rmh@aybabtu.com>
38853
38854 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 38855 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
38856 constraints to initrd allocation (based on code from
38857 loader/i386/pc/linux.c). Without them, initrd was allocated too high
38858 for Linux to find it.
ebaaf49b 38859
dfab719f 388602008-11-14 Robert Millan <rmh@aybabtu.com>
38861
38862 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
38863 order to cope with duplicate slashes.
38864
10fc3eb9 388652008-11-14 Robert Millan <rmh@aybabtu.com>
38866
38867 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
38868 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
38869 don't want to mess with lower memory, because it is used in the Linux
38870 loader.
38871
38872 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 38873 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 38874 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
38875 is in our heap (probably as a result of it being corrupted during
2f2a3442 38876 decompression). Add #error instance with comment to explain why this
38877 loader isn't currently usable on PC/BIOS.
10fc3eb9 38878
e2e07847 388792008-11-14 Robert Millan <rmh@aybabtu.com>
38880
38881 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 38882 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 38883
fe8e8d69 388842008-11-12 Robert Millan <rmh@aybabtu.com>
38885
38886 Make loader/i386/linux.c buildable on i386-pc (although disabled).
38887
38888 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
38889 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
38890 from here ...
38891 * include/grub/i386/pc/memory.h: ... to here.
38892
976b07d0 388932008-11-12 Robert Millan <rmh@aybabtu.com>
38894
38895 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
38896 split).
38897
38898 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
38899 (grub_console_cur_color, grub_console_real_putchar)
38900 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
38901 (grub_console_setcolorstate, grub_console_setcolor)
38902 (grub_console_getcolor): Move from here ...
38903 * include/grub/i386/vga_common.h: ... to here (new file).
38904
38905 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
38906 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
38907 `<grub/i386/io.h>'.
38908 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
38909 `<grub/i386/vga_common.h>'.
38910
76679cd3 389112008-11-12 Robert Millan <rmh@aybabtu.com>
38912
38913 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
38914 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
38915 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
38916 variables.
38917 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
38918 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
38919
38920 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
38921 grub_console_init() with call to grub_vga_text_init().
38922 (grub_machine_fini): Replace call to
38923 grub_console_fini() with call to grub_vga_text_fini() and
38924 grub_at_keyboard_fini().
38925
38926 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
38927 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
38928 (grub_console_setcolorstate, grub_console_setcolor)
38929 (grub_console_getcolor): New function prototypes.
38930
38931 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
38932 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
38933 (grub_vga_text_setcursor): Static-ize.
38934 (grub_vga_text_term): New structure.
38935 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
38936
38937 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
38938 (grub_console_cur_color, grub_console_standard_color)
38939 (grub_console_normal_color, grub_console_highlight_color)
38940 (map_char, grub_console_putchar, grub_console_getcharwidth)
38941 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
38942 (grub_console_getcolor): Move from here ...
38943 * term/i386/vga_common.c: ... to here (same function names).
38944
95b841d3 389452008-11-12 Robert Millan <rmh@aybabtu.com>
38946
38947 Use newly-added Multiboot support in coreboot.
38948
38949 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
38950 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
38951
38952 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
38953 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
38954 (codestart): Store the MBI in `startup_multiboot_info' when we're
38955 being loaded using Multiboot.
38956
38957 * kern/i386/coreboot/init.c (grub_machine_init): Move
38958 grub_at_keyboard_init() call to beginning of function (useful for
38959 debugging). Call grub_machine_mmap_init() before attempting to use
38960 grub_machine_mmap_iterate().
38961 (grub_lower_mem, grub_upper_mem): Move from here ...
38962 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
38963 here (new file).
38964
38965 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
38966 function prototype.
38967
761ca975 389682008-11-12 Robert Millan <rmh@aybabtu.com>
38969
38970 Fix a regression introduced by the at_keyboard.mod split. Because
38971 some terminals are default on some platforms and non-default on
38972 others, the first terminal being registered determines which is
38973 going to be default.
38974
38975 * kern/term.c (grub_term_register_input): If this is the first
38976 terminal being registered, set it as the current one.
38977 (grub_term_register_output): Likewise.
38978
38979 * term/efi/console.c (grub_console_init): Do not call
38980 grub_term_set_current_output() or grub_term_set_current_input().
38981 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
38982 * term/i386/pc/console.c (grub_console_init): Likewise.
38983 (grub_console_fini): Do not call grub_term_set_current_input()
38984 (but leave grub_term_set_current_output() to restore text mode).
38985
6c529df7 389862008-11-10 Robert Millan <rmh@aybabtu.com>
38987
38988 * util/grub.d/00_header.in: Add backward compatibility check for
38989 versions of terminal.mod that don't understand `terminal_input' or
38990 `terminal_output'.
38991
132e4113 389922008-11-09 Robert Millan <rmh@aybabtu.com>
38993
38994 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
38995 `terminal_input' / `terminal_output', not `terminal'.
38996
ac293d50 389972008-11-08 Robert Millan <rmh@aybabtu.com>
38998
38999 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 39000 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 39001
0025933a 390022008-11-08 Robert Millan <rmh@aybabtu.com>
39003
39004 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 39005 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 39006 members. Update all users.
39007 * util/console.c (grub_ncurses_term): Split in ...
39008 (grub_ncurses_term_input): ... this, and ...
39009 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 39010 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 39011
37c86336 390122008-11-08 Robert Millan <rmh@aybabtu.com>
39013
39014 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
39015 (PKGDATA): Add $(pkgdata_SRCDIR).
39016 (pkglib_BUILDDIR): New variable.
39017 (pkgdata_SRCDIR): New variable.
39018 (build_env.mk): New target.
39019 (include_DATA): New variable.
39020 (install-local): Install $(include_DATA) files in $(includedir).
39021
b6c15a2d 390222008-11-07 Pavel Roskin <proski@gnu.org>
39023
d99d46f1 39024 * gendistlist.sh: Use C locale for sorting to ensure consistent
39025 output on all systems.
39026
b6c15a2d 39027 * util/grub.d/00_header.in: Remove incorrect space before
39028 "serial".
39029
c32ee8c9 390302008-11-07 Robert Millan <rmh@aybabtu.com>
39031
39032 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
39033 per specification.
39034 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
39035 * loader/multiboot_loader.c (find_multi_boot2_header): New function
39036 (based on find_multi_boot1_header).
39037 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
39038 using find_multi_boot2_header(), and abort if neither Multiboot or
39039 Multiboot headers were found.
39040
651c29b7 390412008-11-07 Robert Millan <rmh@aybabtu.com>
39042
39043 Modularize at_keyboard.mod:
39044
39045 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
39046 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
39047 (at_keyboard_mod_LDFLAGS): New variables.
39048
39049 Actual terminal split:
39050
39051 * include/grub/term.h (struct grub_term): Split in ...
39052 (struct grub_term_input): ... this, and ...
39053 (struct grub_term_output): ... this. Update all users.
39054 (grub_term_set_current): Split in ...
39055 (grub_term_set_current_input): ... this, and ...
39056 (grub_term_set_current_output): ... this.
39057 (grub_term_get_current): Split in ...
39058 (grub_term_get_current_input): ... this, and ...
39059 (grub_term_get_current_output): ... this.
39060 (grub_term_register): Split in ...
39061 (grub_term_register_input): ... this, and ...
39062 (grub_term_register_output): ... this.
39063 (grub_term_unregister): Split in ...
39064 (grub_term_unregister_input): ... this, and ...
39065 (grub_term_unregister_output): ... this.
39066 (grub_term_iterate): Split in ...
39067 (grub_term_iterate_input): ... this, and ...
39068 (grub_term_iterate_output): ... this.
39069
39070 * kern/term.c (grub_term_list): Split in ...
39071 (grub_term_list_input): ... this, and ...
39072 (grub_term_list_output): ... this. Update all users.
39073 (grub_cur_term): Split in ...
39074 (grub_cur_term_input): ... this, and ...
39075 (grub_cur_term_output): ... this. Update all users.
39076 (grub_term_set_current): Split in ...
39077 (grub_term_set_current_input): ... this, and ...
39078 (grub_term_set_current_output): ... this.
39079 (grub_term_get_current): Split in ...
39080 (grub_term_get_current_input): ... this, and ...
39081 (grub_term_get_current_output): ... this.
39082 (grub_term_register): Split in ...
39083 (grub_term_register_input): ... this, and ...
39084 (grub_term_register_output): ... this.
39085 (grub_term_unregister): Split in ...
39086 (grub_term_unregister_input): ... this, and ...
39087 (grub_term_unregister_output): ... this.
39088 (grub_term_iterate): Split in ...
39089 (grub_term_iterate_input): ... this, and ...
39090 (grub_term_iterate_output): ... this.
39091
39092 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
39093 a check for input and one for output (and only attempt to get keys
39094 from user when input works).
39095
39096 * util/grub-probe.c (grub_term_get_current): Split in ...
39097 (grub_term_get_current_input): ... this, and ...
39098 (grub_term_get_current_output): ... this.
39099 * util/grub-fstest.c: Likewise.
39100 * util/i386/pc/grub-setup.c: Likewise.
39101 * util/grub-editenv.c: Likewise.
39102
39103 Portability adjustments:
39104
39105 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
39106 `term/i386/pc/at_keyboard.c'.
39107 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
39108 grub_keyboard_controller_init() (now handled by terminal .init).
39109 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
39110 grub_at_keyboard_init().
39111 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
39112 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
39113 at_keyboard.mod via input terminal interface).
39114 * include/grub/i386/coreboot/console.h: Convert into a stub for
39115 `<grub/i386/pc/console.h>'.
39116
39117 Migrate full terminals to new API:
39118
39119 * term/efi/console.c (grub_console_term): Split into ...
39120 (grub_console_term_input): ... this, and ...
39121 (grub_console_term_output): ... this. Update all users.
39122 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
39123 (grub_ofconsole_init): Split into ...
39124 (grub_ofconsole_init_input): ... this, and ...
39125 (grub_ofconsole_init_output): ... this.
39126 (grub_ofconsole_term): Split into ...
39127 (grub_ofconsole_term_input): ... this, and ...
39128 (grub_ofconsole_term_output): ... this. Update all users.
39129 * term/i386/pc/serial.c (grub_serial_term): Split into ...
39130 (grub_serial_term_input): ... this, and ...
39131 (grub_serial_term_output): ... this. Update all users.
39132 * term/i386/pc/console.c (grub_console_term): Split into ...
39133 (grub_console_term_input): ... this, and ...
39134 (grub_console_term_output): ... this. Update all users.
39135 (grub_console_term_input): Only enable it on PC/BIOS platform.
39136 (grub_console_init): Remove grub_keyboard_controller_init() call.
39137
39138 Migrate input terminals to new API:
39139
39140 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
39141 `i386' and `i386/pc' to enable build on x86_64 (this driver is
39142 i386-specific anyway).
39143 (grub_console_checkkey): Rename to ...
39144 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
39145 users.
39146 (grub_keyboard_controller_orig): New variable.
39147 (grub_console_getkey): Rename to ...
39148 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
39149 users.
39150 (grub_keyboard_controller_init): Static-ize. Save original
39151 controller value so that it can be restored ...
39152 (grub_keyboard_controller_fini): ... here (new function).
39153 (grub_at_keyboard_term): New structure.
39154 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
39155 functions.
39156
39157 Migrate output terminals to new API:
39158
39159 * term/i386/pc/vga.c (grub_vga_term): Change type to
39160 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
39161 members. Update all users.
39162 * term/gfxterm.c (grub_video_term): Change type to
39163 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
39164 members. Update all users.
39165 * include/grub/i386/pc/console.h (grub_console_checkkey)
39166 (grub_console_getkey): Do not export (no longer needed by gfxterm,
39167 etc).
39168
39169 Migrate `terminal' command and userland tools to new API:
39170
39171 * commands/terminal.c (grub_cmd_terminal): Split into ...
39172 (grub_cmd_terminal_input): ... this, and ...
39173 (grub_cmd_terminal_output): ... this.
39174 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
39175 `terminal_input' and `terminal_output'.
39176 * util/grub.d/00_header.in: Adjust `terminal' calls to new
39177 `terminal_input' / `terminal_output' API.
39178 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
39179 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
39180 provided ${GRUB_TERMINAL}, convert it).
39181
96e5d876 391822008-11-04 Robert Millan <rmh@aybabtu.com>
39183
39184 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
39185 for FreeBSD.
39186 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
39187
556f3775 391882008-11-03 Bean <bean123ch@gmail.com>
39189
39190 * kern/elf.c (grub_elf32_load): Revert to previous code.
39191 (grub_elf64_load): Likewise.
39192
39193 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
39194
926b9823 391952008-11-01 Robert Millan <rmh@aybabtu.com>
39196
39197 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
39198 (TARGET_CPPFLAGS): Likewise.
39199 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
39200
1432e958 392012008-11-01 Carles Pina i Estany <carles@pina.cat>
39202
39203 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
39204
dba3f844 392052008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 39206
39207 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
39208 addition of objects until the code is not going to be able to fail.
39209
dba3f844 392102008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 39211
39212 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
39213 (add a missing NULL check, and correct them by moving the pointer
39214 operations after the actual check).
39215
7ab28c21 392162008-10-29 Robert Millan <rmh@aybabtu.com>
39217
39218 * util/i386/pc/grub-install.in: Handle empty string as output from
39219 make_system_path_relative_to_its_root().
39220
1b7748eb 392212008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
39222
39223 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
39224 circular metadata worst case scenario. If the metadata is circular
39225 then copy the wrap in place.
39226 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
39227 project lib/format_text/layout.h
39228 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
39229
c9618ab2 392302008-10-03 Felix Zielcke <fzielcke@z-51.de>
39231
7a36edca 39232 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 39233
bf981c62 392342008-10-03 Felix Zielcke <fzielcke@z-51.de>
39235
39236 * util/update-grub_lib.in: Mention filename in warning message.
39237
6d994591 392382008-09-29 Felix Zielcke <fzielcke@z-51.de>
39239
39240 * NEWS: Update for rename of update-grub to grub-mkconfig.
39241
18ade780 392422008-09-29 Felix Zielcke <fzielcke@z-51.de>
39243
39244 * util/update-grub_lib.in: Copy to ...
39245 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 39246 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 39247 * util/update-grub.in: Rename to ...
39248 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
39249 option. Add `--output' option to allow users to specify the generated
39250 configuration file. Default to stdout.
39251 (update_grub_dir): Rename to ...
39252 (grub_mkconfig_dir): ... this.
39253 (grub_cfg): Default to an empty string.
39254 * conf/common.rmk (update-grub): Rename to ...
39255 (grub-mkconfig): ... this.
39256 (update-grub_lib): Copy to ...
39257 (grub-mkconfig_lib): ... this.
39258 (update-grub_SCRIPTS): Copy to ...
39259 (grub-mkconfig_SCRIPTS): ... this. Update all users.
39260 (update-grub_DATA): Rename to ...
39261 (grub-mkconfig_DATA): ... this.
39262
556ce6ac 392632008-09-28 Robert Millan <rmh@aybabtu.com>
39264
39265 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
39266 to `modified'. Add the real `created' field.
39267 (grub_iso9660_uuid): Use `modified' rather than `created' for
39268 constructing the UUID.
39269
392702008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 39271
39272 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
39273 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
39274
92274e85 392752008-09-28 Bean <bean123ch@gmail.com>
39276
39277 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
39278 Thanks to Christian Franke for finding this bug.
39279
add6f17a 392802008-09-25 Robert Millan <rmh@aybabtu.com>
39281
39282 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
39283 instances of grub_util_get_disk_name() (see previous commit).
39284
d2a367b8 392852008-09-25 Robert Millan <rmh@aybabtu.com>
39286
39287 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
39288 `util/i386/get_disk_name.c'.
39289 * conf/i386-efi.rmk: Likewise.
39290 * conf/x86_64-efi.rmk: Likewise.
39291 * conf/i386-coreboot.rmk: Likewise.
39292 * conf/i386-ieee1275.rmk: Likewise.
39293 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
39294 `util/ieee1275/get_disk_name.c'.
39295 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
39296 * util/ieee1275/get_disk_name.c: Remove file.
39297 * util/i386/get_disk_name.c: Remove file.
39298 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
39299 "hd%d" for device.map entries, rather than using
39300 grub_util_get_disk_name().
39301
81a06771 393022008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 39303
39304 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
39305 warning.
39306 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
39307
5a004279 393082008-09-24 Carles Pina i Estany <carles@pina.cat>
39309
39310 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
39311 Changed to 0x5100.
39312 (GRUB_TERM_PPAGE): Changed to 0x4900.
39313
397093d3 393142008-09-24 Robert Millan <rmh@aybabtu.com>
39315
39316 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
39317 macros (they were i386-pc specific).
39318 * include/grub/sparc64/ieee1275/console.h: Likewise.
39319 * include/grub/efi/console.h: Likewise.
39320
a91b6c7c 393212008-09-22 Bean <bean123ch@gmail.com>
39322
39323 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
39324 resident and in attribute list.
39325
39326 * include/grub/ntfs.h (BMP_LEN): Removed.
39327
c40fd116 393282008-09-22 Bean <bean123ch@gmail.com>
39329
81a06771 39330 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 39331 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
39332
39333 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
39334 error occurs, as grub_disk_open will call grub_disk_close, which will
39335 call p->close (scsi).
39336
81a06771 393372008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 39338
39339 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
39340 (AC_PREREQ): Bumped to 2.59.
39341 (AC_TRY_COMPILE): Replace obsolete macro with ...
39342 (AC_COMPILE_IFELSE): ... this.
39343 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
39344 (AC_LINK_IFELSE): ... this.
39345
5dc43410 393462008-09-21 Felix Zielcke <fzielcke@z-51.de>
39347
39348 * autogen.sh: Add a call to `gendistlist.sh'.
39349
9035dce4 393502008-09-19 Christian Franke <franke@computer.org>
39351
39352 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
39353 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
39354 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
39355 Export __enable_execute_stack() to modules.
39356 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
39357 New function.
39358
7fd75377 393592008-09-09 Felix Zielcke <fzielcke@z-51.de>
39360
040030b3 39361 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
39362 Sort the list.
39363
393642008-09-09 Felix Zielcke <fzielcke@z-51.de>
39365
39366 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 39367 #include <grub/util/hostdisk.h>.
39368
89d5ffcf 393692008-09-08 Robert Millan <rmh@aybabtu.com>
39370
39371 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
39372 segments when their filesz is zero (grub_file_read() interprets
81a06771 39373 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 39374 Use `lowest_segment' rather than 0 for calculating the current
39375 segment load address.
39376
40da438f 393772008-09-08 Robert Millan <rmh@aybabtu.com>
39378
39379 * util/hostdisk.c (open_device): Replace a grub_util_info() call
39380 with grub_dprintf("hostdisk", ...), as it was so verbose that it
39381 clobbered useful information.
39382
ddbf5556 393832008-09-08 Robert Millan <rmh@aybabtu.com>
39384
39385 * include/grub/util/biosdisk.h: Move to ...
39386 * include/grub/util/hostdisk.h: ... here. Update all users.
39387 * util/biosdisk.c: Move to ...
39388 * util/hostdisk.c: ... here. Update all users.
39389
783d0f48 393902008-09-07 Robert Millan <rmh@aybabtu.com>
39391
39392 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
39393 variables.
39394 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
39395 and length can be stored directly in the `mbi->mmap_addr' and
39396 `mbi->mmap_length' struct fields.
39397
548e2ea5 393982008-09-07 Robert Millan <rmh@aybabtu.com>
39399
39400 * conf/i386.rmk: New file. Provides declaration for building
39401 `cpuid.mod'.
39402 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
39403 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
39404 variables.
39405 Include `conf/i386.mk'.
39406 * conf/i386-efi.rmk: Likewise.
39407 * conf/x86_64-efi.rmk: Likewise.
39408 * conf/i386-coreboot.rmk: Likewise.
39409 * conf/i386-ieee1275.rmk: Likewise.
39410
0ea85a37 394112008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
39412
39413 Based on patch created by Colin D Bennett <colin@gibibit.com>.
39414 Adds optimization support for BGR based modes.
39415
39416 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
39417 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
39418 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
39419 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
39420 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
39421 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
39422 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
39423 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
39424 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
39425 (grub_video_i386_vbeblit_index_index): Likewise.
39426 (grub_video_i386_vbeblit_replace_directN): Added.
39427 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
39428 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
39429 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
39430 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
39431 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
39432 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 39433 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 39434 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
39435 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
39436 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
39437 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
39438 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
39439 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
39440
39441 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
39442 (grub_video_i386_vbefill_R8G8B8): Likewise.
39443 (grub_video_i386_vbefill_index): Likewise.
39444 (grub_video_i386_vbefill_direct32): Added.
39445 (grub_video_i386_vbefill_direct24): Likewise.
39446 (grub_video_i386_vbefill_direct16): Likewise.
39447 (grub_video_i386_vbefill_direct8): Likewise.
39448
81a06771 39449 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 39450 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
39451 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
39452 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
39453 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
39454 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 39455
0ea85a37 39456 * video/video.c (grub_video_get_blit_format): Updated to use new
39457 blit formats. Added handling for 16 bit color modes.
81a06771 39458
39459 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 39460 fillers.
39461 (common_blitter): Updated to use new blitters.
39462
39463 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
39464 Removed.
39465 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
39466 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
39467 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
39468 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
39469 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
39470 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
39471 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
39472 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
39473 (grub_video_i386_vbeblit_index_index): Likewise.
39474 (grub_video_i386_vbeblit_replace_directN): Added.
39475 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
39476 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
39477 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
39478 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
39479 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
39480 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
39481 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
39482 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
39483 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
39484 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
39485 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
39486 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
39487 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 39488
0ea85a37 39489 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
39490 (grub_video_i386_vbefill_R8G8B8): Likewise.
39491 (grub_video_i386_vbefill_index): Likewise.
39492 (grub_video_i386_vbefill_direct32): Added.
39493 (grub_video_i386_vbefill_direct24): Likewise.
39494 (grub_video_i386_vbefill_direct16): Likewise.
39495 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 39496
0ea85a37 39497 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
39498 types.
81a06771 39499
0ea85a37 39500 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
39501 types.
81a06771 39502
0ea85a37 39503 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
39504 blitter types.
81a06771 39505
0ea85a37 39506 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
39507 types.
39508
e8a83df6 395092008-09-06 Felix Zielcke <fzielcke@z-51.de>
39510
39511 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
39512 RAID level 1.
39513
6bcd8ee5 395142008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 39515
6bcd8ee5 39516 * fs/iso9660.c (grub_iso9660_date): New structure.
39517 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
39518 (grub_iso9660_uuid): New function.
c375ae58 39519
59261157 395202008-09-05 Bean <bean123ch@gmail.com>
39521
39522 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
39523
39524 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
39525 insensitive bit for names in Win32 and Win32 & DOS namespace.
39526
39527 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
39528
39529 * include/grub/types.h (LONG_MAX): Likewise.
39530
58b6645a 395312008-09-04 Felix Zielcke <fzielcke@z-51.de>
39532
4ee55921 39533 * util/getroot.c: Include <config.h>.
39534 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
39535 add support for /dev/md/N devices and handle LVM double dash escaping.
39536
395372008-09-04 Felix Zielcke <fzielcke@z-51.de>
39538
39539 * config.guess: Update to latest version from config git.
39540 * config.sub: Likewise.
58b6645a 39541
9124f65d 395422008-09-03 Robert Millan <rmh@aybabtu.com>
39543
39544 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
39545 `disk->total_sectors'.
39546
81a06771 395472008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 39548
39549 * include/grub/normal.h: Fixed incorrect comment for
39550 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
39551
81a06771 395522008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 39553
39554 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
39555 values with defines.
39556
39557 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
39558 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
39559 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
39560 (GRUB_VBE_MODEATTR_COLOR): Likewise.
39561 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
39562 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
39563 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
39564 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
39565 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
39566 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
39567 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
39568 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
39569 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
39570 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
39571 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
39572 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
39573 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
39574 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
39575 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
39576
93d5cbf8 395772008-08-31 Robert Millan <rmh@aybabtu.com>
39578
39579 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
39580 declaration.
39581 (grub_multiboot): Fix a few warnings.
39582
21751d50 395832008-08-31 Robert Millan <rmh@aybabtu.com>
39584
39585 * loader/i386/pc/multiboot.c: Update comment not to say that
39586 boot_device support is unimplemented.
39587
e27a75c5 395882008-08-31 Robert Millan <rmh@aybabtu.com>
39589
39590 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
39591 or memory map support are unimplemented.
39592
81a06771 395932008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 39594
39595 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
39596
81a06771 395972008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 39598
39599 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
39600 total video memory in 'vbeinfo' output; show color format details for
39601 each video mode.
39602
7c5d8d95 396032008-08-30 Pavel Roskin <proski@gnu.org>
39604
39605 * util/genmoddep.c: Remove for real this time.
39606 * DISTLIST: Remove util/genmoddep.c.
39607
4cebd25a 396082008-08-30 Robert Millan <rmh@aybabtu.com>
39609
39610 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
39611 as required by Multiboot spec (it was already 4-byte aligned, but
39612 only by chance).
39613
b497a269 396142008-08-29 Pavel Roskin <proski@gnu.org>
39615
e3925185 39616 * kern/powerpc/ieee1275/crt0.S: Rename to ...
39617 * kern/powerpc/ieee1275/startup.S: ... this.
39618 * conf/powerpc-ieee1275.rmk: Adjust for the above.
39619 * DISTLIST: Likewise.
39620
b497a269 39621 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
39622 grub/cpu/kernel.h. Add start label for consistency with other
39623 platforms. Add grub_prefix immediately after start. Add jump
39624 to the code after grub_prefix.
39625 * include/grub/powerpc/kernel.h: Provide valid values for
39626 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
39627
6e5a42fe 396282008-08-29 Bean <bean123ch@gmail.com>
39629
39630 * configure.ac: Change host_os to cygwin for mingw.
39631 (asprintf): New check for function.
39632
39633 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
39634 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
39635
39636 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 39637 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 39638 sync, sleep and grub_util_get_disk_size for mingw.
39639
39640 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
39641 to get size in mingw.
39642 (open_device): Use flag O_BINARY if it's defined.
39643 (find_root_device): Add dummy code for mingw.
39644
39645 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
39646 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
39647 (get_scsi_disk_name): Return 0 for mingw.
39648
39649 * util/hostfs.c: #include <grub/util/misc.h>.
39650 (grub_hostfs_open): Use "rb" flag to open file, use
39651 grub_util_get_disk_size to get disk size for mingw.
39652
39653 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
39654 (asprintf): New function if HAVE_ASPRINTF is not set.
39655 (sync): New function for mingw.
39656 (sleep): Likewise.
39657 (grub_util_get_disk_size): Likewise.
39658
ab3f2673 396592008-08-28 Pavel Roskin <proski@gnu.org>
39660
39661 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39662 kern/time.c.
39663
1c282483 396642008-08-28 Robert Millan <rmh@aybabtu.com>
39665
39666 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
39667
678e849c 396682008-08-28 Robert Millan <rmh@aybabtu.com>
39669
39670 Change find_grub_drive() syntax so it doesn't prevent it from
39671 detecting NULL names as errors.
39672
39673 * util/biosdisk.c (find_grub_drive): Move free slot search code
39674 from here ...
39675 (find_free_slot): ... to here.
39676 (read_device_map): Use find_free_slot() to search for free slots.
39677
965c75ca 396782008-08-27 Marco Gerards <marco@gnu.org>
39679
39680 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
39681 (scsi_mod_SOURCES): New variable.
39682 (scsi_mod_CFLAGS): Likewise
39683 (scsi_mod_LDFLAGS): Likewise.
39684
39685 * disk/scsi.c: New file.
39686
39687 * include/grub/scsi.h: Likewise.
39688
39689 * include/grub/scsicmd.h: Likewise.
39690
39691 * disk/ata.c: Include <grub/scsi.h>.
39692 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
39693 instead.
39694 (grub_ata_iterate): Skip ATAPI devices.
39695 (grub_ata_open): Only handle ATAPI devices.
39696 (struct grub_atapi_read): Removed.
39697 (grub_atapi_readsector): Likewise.
39698 (grub_ata_read): No longer handle ATAPI devices.
39699 (grub_ata_write): Likewise.
39700 (grub_atapi_iterate): New function.
39701 (grub_atapi_read): Likewise.
39702 (grub_atapi_write): Likewise.
39703 (grub_atapi_open): Likewise.
39704 (grub_atapi_close): Likewise.
39705 (grub_atapi_dev): New variable.
39706 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
39707 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
39708
39709 * include/grub/disk.h (enum grub_disk_dev_id): Add
39710 `GRUB_DISK_DEVICE_SCSI_ID'.
39711
c07ae501 397122008-08-26 Robert Millan <rmh@aybabtu.com>
39713
39714 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
39715 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
39716 descriptive.
39717
5ed20adc 397182008-08-23 Bean <bean123ch@gmail.com>
39719
39720 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
39721 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
39722 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
39723 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
39724 dm_nv.mod.
39725 (raid5rec_mod_SOURCES): New macro.
39726 (raid5rec_mod_CFLAGS): Likewise.
39727 (raid5rec_mod_LDFLAGS): Likewise.
39728 (raid6rec_mod_SOURCES): Likewise.
39729 (raid6rec_mod_CFLAGS): Likewise.
39730 (raid6rec_mod_LDFLAGS): Likewise.
39731 (mdraid_mod_SOURCES): Likewise.
39732 (mdraid_mod_CFLAGS): Likewise.
39733 (mdraid_mod_LDFLAGS): Likewise.
39734 (dm_nv_mod_SOURCES): Likewise.
39735 (dm_nv_mod_CFLAGS): Likewise.
39736 (dm_nv_mod_LDFLAGS): Likewise.
39737
39738 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
39739 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
39740 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
39741
39742 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
39743 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
39744
39745 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39746
39747 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39748
39749 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39750
39751 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39752
39753 * disk/raid5_recover.c: New file.
39754
39755 * disk/raid6_recover.c: Likewise.
39756
39757 * disk/mdraid_linux.c: Likewise.
39758
39759 * disk/dmraid_nvidia.c: Likewise.
39760
39761 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
39762 ULONG_MAX.
39763
39764 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
39765 calculate the size of raid device.
39766 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
39767 different layout of raid5.
39768 (grub_raid_scan_device): Remove code specific to mdraid.
39769 (grub_raid_list): New variable.
39770 (free_array): New function.
39771 (grub_raid_register): Likewise.
39772 (grub_raid_unregister): Likewise.
39773 (grub_raid_rescan): Likewise.
39774 (GRUB_MOD_INIT): Don't iterate device here.
39775 (GRUB_MOD_FINI): Use free_array to release resource.
39776
39777 * include/grub/raid.h: Remove macro and structure specific to mdraid.
39778 (grub_raid5_recover_func_t): New function variable type.
39779 (grub_raid6_recover_func_t): Likewise.
39780 (grub_raid5_recover_func): New variable.
39781 (grub_raid6_recover_func): Likewise.
39782 (grub_raid_register): New function.
39783 (grub_raid_unregister): Likewise.
39784 (grub_raid_rescan): Likewise.
39785 (grub_raid_block_xor): Likewise.
39786
39787 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
39788 (CMD_CRC): New macro.
39789 (part): Removed.
39790 (read_file): Handle device as well as file.
39791 (cmd_crc): New function.
39792 (fstest): Handle multiple disks.
39793 (options): Remove part, raw and long, add root and diskcount.
39794 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 39795 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 39796 add handling for the new options, support multiple disks.
39797
39798 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
39799
29c18915 398002008-08-23 Bean <bean123ch@gmail.com>
39801
39802 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
39803
39804 * genfslist.sh: Ignore kernel.mod.
39805
39806 * genpartmaplist.sh: Likewise.
39807
8415f261 398082008-08-23 Robert Millan <rmh@aybabtu.com>
39809
39810 * util/getroot.c (find_root_device): Skip anything that starts with
39811 a dot, not just directories. This avoids things like /dev/.tmp.md0.
39812
d5a7dc5b 398132008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 39814
d5a7dc5b 39815 * util/update-grub.in (GRUB_GFXMODE): Export variable.
39816 * util/grub.d/00_header.in: Allow the administrator to change default
39817 gfxmode via ${GRUB_GFXMODE}.
39818
380cfbb4 398192008-08-21 Felix Zielcke <fzielcke@z-51.de>
39820
39821 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
39822
c9baafe7 398232008-08-21 Robert Millan <rmh@aybabtu.com>
39824
39825 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
39826 loader.
39827 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
39828 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
39829
e290bef2 398302008-08-20 Carles Pina i Estany <carles@pina.cat>
39831
39832 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
39833 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
39834
f9dbfc96 398352008-08-19 Robert Millan <rmh@aybabtu.com>
39836
39837 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
39838 (struct grub_virtual_screen): Remove `cursor_color'.
39839 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
39840 initialization.
39841 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
39842
dd6bd6ab 398432008-08-18 Robert Millan <rmh@aybabtu.com>
39844
39845 Unify (identical) linux_normal.c files.
39846 * loader/i386/efi/linux_normal.c: Move from here ...
39847 * loader/linux_normal.c: ... to here. Update all users.
39848 * loader/i386/pc/linux_normal.c: Delete. Update all users.
39849 * loader/i386/ieee1275/linux_normal.c: Likewise.
39850
7f42f83e 398512008-08-18 Robert Millan <rmh@aybabtu.com>
39852
39853 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
39854 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
39855 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
39856 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
39857 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
39858 New macros.
39859 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
39860 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
39861 (GRUB_LINUX_CL_END_OFFSET): ... to here.
39862 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
39863 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
39864 (GRUB_EFI_CL_END_OFFSET): Rename to ...
39865 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
39866 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
39867 Initialize `params->video_cursor_x' and `params->video_cursor_y'
39868 portably using grub_getxy().
39869 Replace `-EFI' with `-bzImage' in boot message.
39870
38487ddb 398712008-08-17 Robert Millan <rmh@aybabtu.com>
39872
39873 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
39874
deceb3ec 398752008-08-17 Robert Millan <rmh@aybabtu.com>
39876
39877 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
39878
39879 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
39880 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
39881 (grub_machine_mmap_iterate): New function declaration.
39882 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
39883 structure.
39884 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
39885 macros.
39886
39887 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
39888 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
39889 Move e820 parsing from here ...
39890 * kern/i386/pc/mmap.c: New file.
39891 (grub_machine_mmap_iterate): ... to here.
39892
39893 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
39894 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
39895 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
39896 (grub_available_iterate): Redeclare to return `void', and redeclare
39897 its hook to use grub_uint64_t as addr and size parameters, and rename
39898 to ...
39899 (grub_machine_mmap_iterate): ... this. Update all users.
39900
39901 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
39902 to make it more readable. Rename to ...
39903 (grub_machine_mmap_iterate): ... this.
39904
39905 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
39906 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
39907 (grub_multiboot): Allocate an extra region after the payload, and fill
39908 it with a Multiboot memory map. Adjust a.out loader to calculate size
39909 with the extra space.
39910 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
39911 with the extra space.
39912
f8aa0f43 399132008-08-17 Carles Pina i Estany <carles@pina.cat>
39914
9807deb9 39915 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 39916
605f5bb6 399172008-08-17 Felix Zielcke <fzielcke@z-51.de>
39918
39919 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
39920 mdate-sh to the list `find' searches for.
39921 * DISTLIST: Regenerated.
39922
210db6c6 399232008-08-16 Felix Zielcke <fzielcke@z-51.de>
39924
39925 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
39926 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 39927 genmoddep.awk, gensymlist.sh.in.
39928 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 39929 * DISTLIST: Regenerated.
48cdbfd4 39930 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 39931
1082b929 399322008-08-16 Robert Millan <rmh@aybabtu.com>
39933
39934 * disk/raid.c (grub_raid_init): Handle/report errors set by
39935 grub_device_iterate().
39936 * disk/lvm.c (grub_lvm_init): Likewise.
39937
42ce5170 399382008-08-15 Bean <bean123ch@gmail.com>
39939
39940 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39941 and datehook.mod.
39942 (datetime_mod_SOURCES): New macro.
39943 (datetime_mod_CFLAGS): Likewise.
39944 (datetime_mod_LDFLAGS): Likewise.
39945 (date_mod_SOURCES): Likewise.
39946 (date_mod_CFLAGS): Likewise.
39947 (date_mod_LDFLAGS): Likewise.
39948 (datehook_mod_SOURCES): Likewise.
39949 (datehook_mod_CFLAGS): Likewise.
39950 (datehook_mod_LDFLAGS): Likewise.
39951
39952 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39953 and datehook.mod.
39954 (datetime_mod_SOURCES): New macro.
39955 (datetime_mod_CFLAGS): Likewise.
39956 (datetime_mod_LDFLAGS): Likewise.
39957 (date_mod_SOURCES): Likewise.
39958 (date_mod_CFLAGS): Likewise.
39959 (date_mod_LDFLAGS): Likewise.
39960 (datehook_mod_SOURCES): Likewise.
39961 (datehook_mod_CFLAGS): Likewise.
39962 (datehook_mod_LDFLAGS): Likewise.
39963
39964 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39965 and datehook.mod.
39966 (datetime_mod_SOURCES): New macro.
39967 (datetime_mod_CFLAGS): Likewise.
39968 (datetime_mod_LDFLAGS): Likewise.
39969 (date_mod_SOURCES): Likewise.
39970 (date_mod_CFLAGS): Likewise.
39971 (date_mod_LDFLAGS): Likewise.
39972 (datehook_mod_SOURCES): Likewise.
39973 (datehook_mod_CFLAGS): Likewise.
39974 (datehook_mod_LDFLAGS): Likewise.
39975
39976 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39977 and datehook.mod.
39978 (datetime_mod_SOURCES): New macro.
39979 (datetime_mod_CFLAGS): Likewise.
39980 (datetime_mod_LDFLAGS): Likewise.
39981 (date_mod_SOURCES): Likewise.
39982 (date_mod_CFLAGS): Likewise.
39983 (date_mod_LDFLAGS): Likewise.
39984 (datehook_mod_SOURCES): Likewise.
39985 (datehook_mod_CFLAGS): Likewise.
39986 (datehook_mod_LDFLAGS): Likewise.
39987
39988 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39989 and datehook.mod.
39990 (datetime_mod_SOURCES): New macro.
39991 (datetime_mod_CFLAGS): Likewise.
39992 (datetime_mod_LDFLAGS): Likewise.
39993 (date_mod_SOURCES): Likewise.
39994 (date_mod_CFLAGS): Likewise.
39995 (date_mod_LDFLAGS): Likewise.
39996 (datehook_mod_SOURCES): Likewise.
39997 (datehook_mod_CFLAGS): Likewise.
39998 (datehook_mod_LDFLAGS): Likewise.
39999
40000 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
40001
40002 * commands/date.c: New file.
40003
40004 * hook/datehook.c: Likewise.
40005
40006 * include/grub/lib/datetime.h: Likewise.
40007
40008 * include/grub/i386/cmos.h: Likewise.
40009
40010 * lib/datetime.c: Likewise.
40011
40012 * lib/i386/datetime.c: Likewise.
40013
40014 * lib/efi/datetime.c: Likewise.
40015
0e9242da 400162008-08-14 Robert Millan <rmh@aybabtu.com>
40017
40018 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
40019 (grub_mkelfimage_SOURCES): New variable.
40020 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
40021
40022 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
40023 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
40024 * conf/powerpc-ieee1275.rmk: Likewise.
40025 * conf/i386-ieee1275.rmk: Likewise.
40026
40027 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
40028 * kern/i386/coreboot/init.c: Likewise.
40029
40030 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
40031 with `<grub/cpu/kernel.h>'.
40032 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
40033 to ...
40034 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
40035 * kern/i386/coreboot/startup.S: Likewise.
40036
40037 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
40038 (GRUB_MOD_GAP): Remove.
40039 * include/grub/powerpc/kernel.h: New file.
40040 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
40041 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40042 * include/grub/i386/kernel.h: New file.
40043 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
40044 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
40045 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40046
40047 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
40048 `grub-mkelfimage'.
40049 Use --directory when invoking grub_mkimage.
40050
40051 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
40052 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
40053 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
40054 and GRUB_KERNEL_CPU_PREFIX.
40055
b86408f8 400562008-08-14 Felix Zielcke <fzielcke@z-51.de>
40057
d5e619ca 40058 * include/grub/err.h (grub_err_printf): New function prototype.
40059 * util/misc.c (grub_err_printf): New function.
40060 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
40061 grub_printf.
40062 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 40063
7161f0e0 400642008-08-13 Robert Millan <rmh@aybabtu.com>
40065
40066 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
40067
a1967522 400682008-08-13 Robert Millan <rmh@aybabtu.com>
40069
40070 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
40071 boot entry.
40072
371458b5 400732008-08-12 Robert Millan <rmh@aybabtu.com>
40074
40075 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
40076 of the relocation code from here ...
40077 (grub_multiboot): ... to here.
40078 (forward_relocator, backward_relocator): Move from here ...
40079 * kern/i386/loader.S (grub_multiboot_forward_relocator)
40080 (grub_multiboot_backward_relocator): ... to here.
40081 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
40082 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
40083 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
40084 (grub_multiboot_forward_relocator_end)
40085 (grub_multiboot_backward_relocator)
40086 (grub_multiboot_backward_relocator_end): New variables.
40087
05f9452b 400882008-08-12 Bean <bean123ch@gmail.com>
40089
40090 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
40091
20024ab0 400922008-08-11 Robert Millan <rmh@aybabtu.com>
40093
40094 * kern/i386/linuxbios/startup.S: Move from here ...
40095 * kern/i386/coreboot/startup.S: ... to here.
40096
40097 * kern/i386/linuxbios/init.c: Move from here ...
40098 * kern/i386/coreboot/init.c: ... to here.
40099
40100 * kern/i386/linuxbios/table.c: Move from here ...
40101 * kern/i386/coreboot/mmap.c: ... to here.
40102
40103 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
40104
e352e9cd 401052008-08-11 Robert Millan <rmh@aybabtu.com>
40106
40107 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
40108 errors. Leave it to the upper layer to handle them.
40109
2d05bc6a 401102008-08-09 Christian Franke <franke@computer.org>
40111
40112 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
40113 * conf/common.rmk: Install `grub-pe2elf' only if requested.
40114 Install `grub.d/10_windows' only on Cygwin.
40115 * configure.ac: Add subst of `target_os'.
40116 Check `target_os' also before setting TARGET_OBJ2ELF.
40117 Add `--enable-grub-pe2elf'.
40118
042bd419 401192008-08-08 Robert Millan <rmh@aybabtu.com>
40120
40121 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
40122 (grub_last_time): Change type to grub_uint64_t.
40123 (grub_disk_open): Migrate code from to using grub_get_time_ms().
40124 (grub_disk_close): Likewise.
40125
40126 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
40127 (run_menu): Migrate code from to using grub_get_time_ms().
40128
40129 * util/misc.c (grub_get_time_ms): New function.
40130
7f280db5 401312008-08-08 Marco Gerards <marco@gnu.org>
40132
40133 * disk/ata.c (grub_ata_regget): Change return type to
40134 `grub_uint8_t'.
40135 (grub_ata_regget2): Likewise.
40136 (grub_ata_wait_status): New function.
40137 (grub_ata_wait_busy): Removed function, updated all users to use
40138 `grub_ata_wait_status'.
40139 (grub_ata_wait_drq): Likewise.
40140 (grub_ata_cmd): New function.
40141 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
40142 error handling.
40143 (grub_ata_pio_write): Add error handling.
40144 (grub_atapi_identify): Likewise.
40145 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
40146 handling.
40147 (grub_ata_identify): Use `grub_ata_cmd' and improve error
40148 handling. Actually use the detected registers. Reorder the
40149 detection logic such that it is easier to read.
40150 (grub_ata_pciinit): Do not assign the same ID to each controller.
40151 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
40152 handling.
40153 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
40154
40155 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
40156
1fbc5e66 401572008-08-08 Marco Gerards <marco@gnu.org>
40158
40159 * NEWS: Update.
40160
819ce6c0 401612008-08-07 Bean <bean123ch@gmail.com>
40162
40163 * include/grub/x86_64/pci.h: New file.
40164
5c41d44d 401652008-08-07 Christian Franke <franke@computer.org>
40166
40167 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
40168 (TIMER2_GATE): Likewise.
40169 (grub_pit_wait): Add enable/disable of the timer2 gate
40170 bit of port 0x61. This fixes a possible infinite loop.
40171
5ebc275d 401722008-08-07 Bean <bean123ch@gmail.com>
40173
40174 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
40175 kern/i386/tsc.c and kern/i386/pit.c.
40176
40177 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
40178 x86_64 platform.
40179
40180 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
40181 <grub/i386/tsc.h>.
40182
40183 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
40184
e383b3d0 401852008-08-07 Bean <bean123ch@gmail.com>
40186
40187 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
40188
40189 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
40190
40191 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
40192 multiple inclusion. Add #include <grub/types.h>.
40193
1cbb58ac 401942008-08-06 Christian Franke <franke@computer.org>
40195
40196 * conf/common.rmk: Build and install `10_windows'.
40197 * util/grub.d/10_windows.in: New script.
40198
337f5a1e 401992008-08-06 Pavel Roskin <proski@gnu.org>
40200
40201 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
40202
057bc4ac 402032008-08-06 Robert Millan <rmh@aybabtu.com>
40204
40205 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
40206 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
40207
2b99f123 402082008-08-06 Bean <bean123ch@gmail.com>
40209
40210 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
40211 (grub_pxefs_fs_int): Remove dummy definition.
40212 (grub_pxefs_open): Use data->block_size to store the current block
40213 size setting.
40214 (grub_pxefs_read): Use block size stored in data->block_size. As the
40215 value of grub_pxe_blksize can be changed after the file is opened.
40216
9f0234cb 402172008-08-06 Bean <bean123ch@gmail.com>
40218
40219 * fs/i386/pc/pxe.c (curr_file): new variable.
40220 (grub_pxefs_open): Simply the handling of pxe file system. Don't
40221 require the dummy internal file system anymore.
40222 (grub_pxefs_read): Removed.
40223 (grub_pxefs_close): Likewise.
40224 (grub_pxefs_fs_int): Likewise.
40225 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
40226 connection when we switch file.
40227 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
40228
a55d42e0 402292008-08-06 Robert Millan <rmh@aybabtu.com>
40230
40231 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
40232 `halt.mod'.
40233 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
40234 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
40235
40236 * kern/i386/halt.c: New file.
40237 * kern/i386/reboot.c: Likewise.
40238 * include/grub/i386/reboot.h: Likewise.
40239 * include/grub/i386/halt.h: Likewise.
40240
40241 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
40242 Include `<grub/cpu/halt.h>'.
40243 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
40244 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
40245
40246 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
40247 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
40248 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
40249 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
40250 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
40251 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
40252 from here ...
40253 * include/grub/i386/at_keyboard.h: ... to here.
40254
24371d26 402552008-08-05 Robert Millan <rmh@aybabtu.com>
40256
40257 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
40258 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
40259 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
40260 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
40261 `kern/generic/millisleep.c'.
40262
40263 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
40264 instead of grub_get_rtc().
40265 (grub_tsc_init): Initialize `tsc_boot_time'.
40266
40267 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
40268 (grub_machine_init): Use grub_tsc_init() rather than
40269 installing an RTC-based handler via grub_install_get_time_ms().
40270
40271 * kern/i386/pit.c: New file.
40272 * include/grub/i386/pit.h: Likewise.
40273
9e7007b3 402742008-08-05 Bean <bean123ch@gmail.com>
40275
40276 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
40277
40278 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
40279 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
40280 (pxe_mod_SOURCES): New macro.
40281 (pxe_mod_CFLAGS): Likewise.
40282 (pxe_mod_LDFLAGS): Likewise.
40283 (pxecmd_mod_SOURCES): Likewise.
40284 (pxecmd_mod_CFLAGS): Likewise.
40285 (pxecmd_mod_LDFLAGS): Likewise.
40286
40287 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
40288 (grub_pxe_call): Likewise.
40289
40290 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
40291
40292 * commands/i386/pc/pxecmd.c: New file.
40293
9f0234cb 40294 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 40295
40296 * include/grub/i386/pc/pxe.h: Likewise.
40297
6977d49f 402982008-08-05 Bean <bean123ch@gmail.com>
40299
40300 * util/console.c (grub_console_cur_color): New variable.
40301 (grub_console_standard_color): Likewise.
40302 (grub_console_normal_color): Likewise.
40303 (grub_console_highlight_color): Likewise.
40304 (color_map): Likewise.
40305 (use_color): Likewise.
40306 (NUM_COLORS): New macro.
40307 (grub_ncurses_setcolorstate): Handle color properly.
40308 (grub_ncurses_setcolor): Don't change color here, just remember the
40309 settings, color will be set in grub_ncurses_setcolorstate.
40310 (grub_ncurses_getcolor): New function.
40311 (grub_ncurses_init): Initialize color pairs.
40312 (grub_ncurses_term): New member grub_ncurses_getcolor.
40313
9c2ff3ee 403142008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 40315
9c2ff3ee 40316 High resolution timer support. Implemented for x86 CPUs using TSC.
40317 Extracted generic grub_millisleep() so it's linked in only as needed.
40318 This requires a Pentium compatible CPU; if the RDTSC instruction is
40319 not supported, then it falls back on the generic grub_get_time_ms()
40320 implementation that uses the machine's RTC.
40321
40322 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
40323 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
40324 `kern/generic/millisleep.c'.
40325
40326 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
40327 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
40328
40329 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
40330 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
40331
40332 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40333
40334 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40335 `kern/generic/millisleep.c'.
40336
40337 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40338
40339 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
40340
40341 * kern/generic/rtc_get_time_ms.c: New file.
40342
40343 * kern/generic/millisleep.c: New file.
337f5a1e 40344
9c2ff3ee 40345 * kern/misc.c: Don't include
40346 <kern/time.h> anymore.
40347 (grub_millisleep_generic): Removed.
40348
40349 * commands/sleep.c (grub_interruptible_millisleep): Uses
40350 grub_get_time_ms() instead of grub_get_rtc().
40351
40352 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
40353 function.
40354 (grub_cpu_is_cpuid_supported): New inline function.
40355 (grub_cpu_is_tsc_supported): New inline function.
40356 (grub_tsc_init): New function prototype.
40357 (grub_tsc_get_time_ms): New function prototype.
40358
40359 * kern/i386/tsc.c (grub_get_time_ms): New file.
40360
40361 * include/grub/time.h: Include <grub/types.h.
40362 (grub_millisleep_generic): Removed.
40363 (grub_get_time_ms): New prototype.
40364 (grub_install_get_time_ms): New prototype.
40365 (grub_rtc_get_time_ms): New prototype.
40366
40367 * kern/time.c (grub_get_time_ms): New function.
40368 (grub_install_get_time_ms): New function.
40369
40370 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
40371 <grub/time.h> anymore.
40372 (grub_millisleep): Removed.
40373 (grub_machine_init): Call grub_tsc_init.
40374
40375 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
40376 get_time_ms() implementation.
40377
40378 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
40379 (ieee1275_get_time_ms): New function.
40380 (grub_machine_init): Install get_time_ms() implementation.
40381
40382 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
40383 (grub_machine_init): Call grub_tsc_init().
40384 (grub_millisleep): Removed.
bf06a93f 40385
9c2ff3ee 40386 * kern/ieee1275/init.c (grub_millisleep): Removed.
40387 (grub_machine_init): Install ieee1275_get_time_ms()
40388 implementation.
40389 (ieee1275_get_time_ms): New function.
40390 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
40391 real work.
40392
9ec92aaf 403932008-08-05 Marco Gerards <marco@gnu.org>
40394
40395 * disk/ata.c: Include <grub/pci.h>.
40396 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
40397 (grub_ata_initialize): Rewritten.
40398 (grub_ata_device_initialize): New function.
40399
8d23f507 404002008-08-04 Pavel Roskin <proski@gnu.org>
40401
40402 * kern/main.c: Include grub/mm.h.
40403
5e15ee3d 404042008-08-04 Robert Millan <rmh@aybabtu.com>
40405
40406 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
40407 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
40408 corruption problem).
40409
a9053f8f 404102008-08-04 Robert Millan <rmh@aybabtu.com>
40411
40412 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
40413 warnings introduced in my last commit.
40414
dd19c7d7 404152008-08-03 Robert Millan <rmh@aybabtu.com>
40416
40417 Make PCI available on all i386 architectures.
40418
40419 * include/grub/i386/pc/pci.h: Move from here ...
40420 * include/grub/i386/pci.h: ... to here.
40421
40422 * include/grub/i386/pc/pci.h: Remove.
40423 * include/grub/i386/efi/pci.h: Remove.
40424 * include/grub/x86_64/efi/pci.h: Remove.
40425
40426 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
40427 `<grub/cpu/pci.h>'.
40428
40429 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
40430 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
40431 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
40432
40433 * conf/i386-ieee1275.rmk: Likewise.
40434
e14a6184 404352008-08-03 Robert Millan <rmh@aybabtu.com>
40436
40437 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
40438 (grub_console_setcursor): Make it possible to set cursor off.
40439
52768e37 404402008-08-03 Robert Millan <rmh@aybabtu.com>
40441
40442 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
40443 of modules instead of assuming which platform provides what.
40444 * util/update-grub.in: Likewise.
40445
2d52f57f 404462008-08-03 Robert Millan <rmh@aybabtu.com>
40447
40448 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
40449 instead of `grub_install_dos_part' to determine whether a drive needs
40450 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 40451 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 40452
2a5cd121 404532008-08-02 Robert Millan <rmh@aybabtu.com>
40454
40455 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
40456
93808428 404572008-08-02 Robert Millan <rmh@aybabtu.com>
40458
40459 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
40460 of informational grub_dprintf() calls.
40461
3bd0a12a 404622008-08-02 Robert Millan <rmh@aybabtu.com>
40463
40464 * disk/memdisk.c (memdisk_size): Don't initialize.
40465 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
40466
40467 * include/grub/i386/pc/kernel.h
40468 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
40469 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
40470 (grub_memdisk_image_size, grub_arch_memdisk_addr)
40471 (grub_arch_memdisk_size): Remove.
40472
40473 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
40474 field (was only used to transfer a constant). Add `type' field to
40475 support multiple module types.
40476 (grub_module_iterate): New function.
40477
40478 * kern/device.c (grub_device_open): Do not hide error messages
40479 when grub_disk_open() fails. Use grub_print_error() instead.
40480
40481 * kern/i386/pc/init.c (grub_arch_modules_addr)
40482 (grub_arch_memdisk_size): Remove functions.
40483 (grub_arch_modules_addr): Return the module address in high memory
40484 (now that it isn't copied anymore).
40485
40486 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
40487 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
40488 decompression routine (grub_total_module_size already includes that
40489 now). Don't copy modules back to low memory.
40490
40491 * kern/main.c: Include `<grub/mm.h>'.
40492 (grub_load_modules): Split out (and use) ...
40493 (grub_module_iterate): ... this function, which iterates through
40494 module objects and runs a hook.
40495 Comment out grub_mm_init_region() call, as it would cause non-ELF
40496 modules to be overwritten.
40497
40498 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
40499 the memdisk image in its own region, make it part of the module list.
40500 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
40501 (main): Parse --memdisk|-m option, and pass user-provided path as
40502 parameter to generate_image().
40503 (add_segments): Pass `memdisk_path' down to load_modules().
40504 (load_modules): Embed memdisk image in module section when requested.
40505 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
40506 `header.type' instead of `header.offset'.
40507
40508 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
40509 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
40510 (memdisk_mod_LDFLAGS): New variables.
40511 * conf/i386-coreboot.rmk: Likewise.
40512 * conf/i386-ieee1275.rmk: Likewise.
40513
a927cc73 405142008-08-02 Robert Millan <rmh@aybabtu.com>
40515
40516 * loader/i386/pc/multiboot.c (playground, forward_relocator)
40517 (backward_relocator): New variables. Used to allocate and relocate
40518 the payload, respectively.
40519 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 40520 address, install the appropriate relocator code in each bound of
a927cc73 40521 the payload, and set the entry point such that
40522 grub_multiboot_real_boot() will jump to one of them.
40523
40524 * kern/i386/loader.S (grub_multiboot_payload_size)
40525 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
40526 (grub_multiboot_payload_entry_offset): New variables.
40527 (grub_multiboot_real_boot): Set cpu context to what the relocator
40528 expects, and jump to the relocator instead of the payload.
40529
40530 * include/grub/i386/loader.h (grub_multiboot_payload_size)
40531 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
40532 (grub_multiboot_payload_entry_offset): Export.
40533
b15d8a0c 405342008-08-01 Bean <bean123ch@gmail.com>
40535
40536 * normal/menu_entry.c (editor_getline): Don't return the original
40537 string as result, as it will be released by lexer once it has done
40538 using it.
40539
cdfb3d22 405402008-08-01 Robert Millan <rmh@aybabtu.com>
40541
40542 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
40543 within menuentries, not before them.
40544 util/grub.d/10_hurd.in: Likewise.
40545
9175e93d 405462008-08-01 Bean <bean123ch@gmail.com>
40547
40548 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
40549 (bufio_mod_SOURCES): New macro.
40550 (bufio_mod_CFLAGS): Likewise.
40551 (bufio_mod_LDFLAGS): Likewise.
40552
40553 * include/grub/bufio.h: New file.
40554
40555 * io/bufio.c: Likewise.
40556
40557 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
40558 (grub_video_reader_png): Use grub_buffile_open to open file.
40559
40560 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
40561 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
40562
40563 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
40564 (grub_video_reader_tga): Use grub_buffile_open to open file.
40565
40566 * font/manager.c: Include <grub/bufio.h>.
40567 (add_font): Use grub_buffile_open to open file.
40568
3d8383e7 405692008-07-31 Robert Millan <rmh@aybabtu.com>
40570
40571 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
40572 ELF segments, use a macro for arbitrarily accessing any of them instead
40573 of preparing a pointer that allows access to one at a time.
40574 (grub_multiboot_load_elf64): Likewise.
40575
16e641b6 405762008-07-31 Bean <bean123ch@gmail.com>
40577
40578 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
40579 GRUB_KERNEL_MACHINE_DATA_END.
40580
59198b72 405812008-07-30 Robert Millan <rmh@aybabtu.com>
40582
40583 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
40584 Increase from 0x50 to 0x60.
40585 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
40586 use UUIDs to identify the root drive for them. If that's not
40587 possible, abort.
40588 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
40589 check, for cross-disk installs.
40590
ae88bca3 405912008-07-30 Robert Millan <rmh@aybabtu.com>
40592
40593 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
40594 is non-empty, use it to set the `prefix' environment variable instead
40595 of the usual approach.
40596 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
40597 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
40598 environment variable instead of dummy make_install_device().
40599
40600 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
40601 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 40602 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 40603
40604 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
40605 New variable reference.
40606 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
40607 New macro. Defines offset of `grub_prefix' within startup.S (relative
40608 to `start').
40609 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
40610 section within startup.S (relative to `start').
40611 * include/grub/i386/coreboot/kernel.h: Likewise.
40612
40613 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
40614 Overwrite grub_prefix with its contents, at the beginning of the
40615 first segment.
40616 (main): Understand -p|--prefix.
40617
14f41dd1 406182008-07-30 Robert Millan <rmh@aybabtu.com>
40619
40620 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
40621
4ca049a3 406222008-07-30 Robert Millan <rmh@aybabtu.com>
40623
40624 * term/i386/pc/vga_text.c (grub_console_cls): Use
40625 grub_console_gotoxy() to go back to beginning of the screen.
40626 Found by Patrick Georgi <patrick.georgi@coresystems.de>
40627
2921d337 406282008-07-29 Christian Franke <franke@computer.org>
40629
40630 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
40631 Add conversion of emulated mount points on Cygwin.
40632
b609876d 406332008-07-29 Christian Franke <franke@computer.org>
40634
40635 * util/update-grub.in: Add a check for admin
40636 group on Cygwin.
40637 Remove old `grub.cfg.new' before creation.
40638 Add `-f' to `mv' to handle the different filesystem
40639 semantics of Windows.
40640
e93e4679 406412008-07-29 Bean <bean123ch@gmail.com>
40642
40643 * normal/main.c (get_line): Fix buffer overflow bug.
40644
41694fd0 406452008-07-28 Robert Millan <rmh@aybabtu.com>
40646
40647 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
40648 (struct grub_apple_header): New struct. Describes the layout of
40649 the partmap header.
40650 (apple_partition_map_iterate): Check the header magic as well as the
40651 partition magic (which was already being checked).
40652
cfd0b4e6 406532008-07-28 Pavel Roskin <proski@gnu.org>
40654
40655 * genmk.rb: Add a warning to the beginning of the output that
40656 it's a generated file and should not be edited.
40657
93cce016 406582008-07-28 Robert Millan <rmh@aybabtu.com>
40659
40660 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
40661 with the same number are found, just use issue a warning with
40662 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 40663
cd1df915 406642008-07-27 Robert Millan <rmh@aybabtu.com>
40665
40666 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
40667 information.
40668
b70a8427 406692008-07-27 Bean <bean123ch@gmail.com>
40670
40671 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
40672 (grub_fat_find_dir): Ignore case when comparing filename.
40673
8f5e379f 406742008-07-27 Bean <bean123ch@gmail.com>
40675
40676 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
40677 smallino, as it's more descriptive, and i8count can be confused with
40678 the other field count.
40679 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
40680 inode type.
40681
a85cd5a0 406822008-07-27 Bean <bean123ch@gmail.com>
40683
40684 * commands/crc.c: New file.
40685
40686 * lib/crc.c: Likewise.
40687
40688 * include/grub/lib/crc.h: Likewise.
40689
40690 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
40691
40692 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
40693 (hexdump): Move this function to ...
40694
40695 * lib/hexdump.c: ... here.
40696
40697 * include/grub/hexdump.h: Renamed to ...
40698
40699 * include/grub/lib/hexdump.h: ... this.
40700
40701 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
40702
40703 * util/grub-editenv.c: Likewise.
40704
40705 * include/envblk.h: Renamed to ...
40706
40707 * include/lib/envblk.h: ... this.
40708
40709 * util/envblk.c: Renamed to ...
40710
40711 * lib/envblk.c: ... this.
40712
40713 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
40714 lib/hexdump.c.
40715 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
40716 (pkglib_MODULES): Add crc.mod.
40717 (hexdump_mod_SOURCES): Add lib/hexdump.c.
40718 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
40719 (crc_mod_SOURCES): New macro.
40720 (crc_mod_CFLAGS): Likewise.
40721 (crc_mod_LDFLAGS): Likewise.
40722
40723 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
40724
40725 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40726
40727 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40728
40729 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40730
40731 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40732
c298def0 407332008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 40734
40735 * commands/help.c: Include <grub/term.h>.
40736 (TERM_WIDTH): Removed. Updated all users.
40737
cc349fb3 407382008-07-27 Pavel Roskin <proski@gnu.org>
40739
40740 * util/getroot.c (find_root_device): Rephrase a comment to avoid
40741 spurious warnings about a comment within a comment.
40742
9051607e 407432008-07-25 Robert Millan <rmh@aybabtu.com>
40744
40745 * util/getroot.c (find_root_device): Skip devices that match
40746 /dev/dm-[0-9]. This lets the real device be found for any type of
40747 abstraction (LVM, EVMS, RAID..).
40748 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
40749 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
40750 device is found first, find_root_device() will now skip it.
40751
01453bfc 407522008-07-24 Pavel Roskin <proski@gnu.org>
40753
40754 * include/grub/types.h: Use __builtin_bswap32() and
40755 __builtin_bswap64() with gcc 4.3 and newer.
40756
6af9849f 407572008-07-24 Christian Franke <franke@computer.org>
40758
3a0fa256 40759 * util/i386/pc/grub-install.in: If `--debug' is specified,
40760 pass `--verbose' to grub-setup.
40761 Abort script if make_system_path_relative_to_its_root() fails.
40762
7810e747 407632008-07-24 Bean <bean123ch@gmail.com>
40764
40765 * configure.ac: Fixed a bug caused by the previous cygwin patch,
40766 variable `target_platform' should be `platform'.
40767
42290e17 407682008-07-24 Bean <bean123ch@gmail.com>
40769
51cc5193 40770 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 40771 (grub_png_init_fixed_block): New function.
40772 (grub_png_decode_image_data): Handle fixed huffman code compression.
40773
2a8a80e4 407742008-07-24 Bean <bean123ch@gmail.com>
40775
40776 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
40777 (grub_pe2elf_SOURCES): New macro.
40778 (CLEANFILES): Add grub-pe2elf.
40779
40780 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
40781 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
40782 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
40783 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
40784 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
40785 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
40786 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
40787 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
40788 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
40789 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
40790 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
40791 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
40792 (GRUB_PE32_DT_FUNCTION): Likewise.
40793 (GRUB_PE32_REL_I386_DIR32): Likewise.
40794 (GRUB_PE32_REL_I386_REL32): Likewise.
40795 (grub_pe32_symbol): New structure.
40796 (grub_pe32_reloc): Likewise.
40797
40798 * util/grub-pe2elf.c: New file.
40799
40800 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
40801 start symbol in non pc platform.
40802
40803 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
40804
40805 The following patches are from Christian Franke.
40806
40807 * include/grub/dl.h: Remove .previous, gas supports this only
40808 for ELF format.
40809
40810 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
40811 Remove .type, gas supports this only for ELF format.
40812
40813 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
40814 nullbytes in symbol table. This fixes an infinite loop if table is
40815 zero filled.
40816
40817 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
40818 TARGET_IMG_LDFLAGS and EXEEXT.
40819
40820 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
40821 TARGET_IMG_LDFLAGS_AC.
40822 (grub_CHECK_STACK_ARG_PROBE): New function.
40823
40824 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
40825
40826 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
40827
40828 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
40829 to set TARGET_IMG_LD* accordingly.
40830 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
40831 Add call to grub_CHECK_STACK_ARG_PROBE.
40832 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
40833
40834 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
40835
40836 * genmk.rb: Add EXEEXT to CLEANFILES.
40837
12ccdb75 408382008-07-23 Robert Millan <rmh@aybabtu.com>
40839
40840 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
40841 define the codes for arrows and lines used for the menu).
40842 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
40843 as well.
40844
40845 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
40846 fonts, because the latter are too slow.
40847
18eeaf04 408482008-07-21 Bean <bean123ch@gmail.com>
40849
40850 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
40851 a20. Run keyboard test last, as it will cause macbook to halt.
40852
b095e2ad 408532008-07-18 Pavel Roskin <proski@gnu.org>
40854
40855 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
40856 load foreign architecture modules correctly anyway. Keep
40857 support for loading host architecture modules, whether we
40858 compile them or not.
40859
737feb35 408602008-07-17 Pavel Roskin <proski@gnu.org>
40861
3f4ce737 40862 * configure.ac: Use -m32 or -m64 regardless of whether we had to
40863 change target_cpu. The compiler default can mismatch target_cpu
40864 in any case.
40865
4ad2d049 40866 * disk/efi/efidisk.c: Fix format warnings on x86_64.
40867 * kern/efi/efi.c: Likewise.
40868
f6130a12 40869 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
40870 target compiler is functional.
40871 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
40872 are set up.
40873
58393a2d 40874 * configure.ac: Default to efi platform for x86_64-apple. Allow
40875 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
40876 adjustments from the rest, only do them if target is not
40877 explicitly given. Merge other adjustments with the final sanity
40878 check. Remove an extraneous check for supported CPU. Be
40879 specific which CPU and which platform is not supported.
40880
737feb35 40881 * configure.ac: Default to pc platform for x86_64.
40882
546f966a 408832008-07-17 Robert Millan <rmh@aybabtu.com>
40884
40885 Partial LinuxBIOS -> Coreboot rename.
40886
40887 * conf/i386-linuxbios.rmk: Renamed to ...
40888 * conf/i386-coreboot.rmk: ... this.
40889 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
40890 * configure.ac: Accept "coreboot" as input platform (but maintain
40891 compatibility with "linuxbios").
40892 * include/grub/i386/linuxbios: Renamed to ...
40893 * include/grub/i386/coreboot: ... this.
40894
20011694 408952008-07-17 Bean <bean123ch@gmail.com>
40896
40897 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 40898 (appleldr_mod_SOURCE): New variable.
20011694 40899 (appleldr_mod_CFLAGS): Likewise.
40900 (appleldr_mod_LDFLAGS): Likewise.
40901 (pci_mod_SOURCES): Likewise.
40902 (pci_mod_CFLAGS): Likewise.
40903 (pci_mod_LDFLAGS): Likewise.
40904 (lspci_mod_SOURCES): Likewise.
40905 (lspci_mod_CFLAGS): Likewise.
40906 (lspci_mod_LDFLAGS): Likewise.
40907
40908 * conf/x86_64-efi.rmk: New file.
40909
40910 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
40911 macro.
40912 (grub_efidisk_write): Likewise.
40913
40914 * include/efi/api.h (efi_call_0): New macro.
40915 (efi_call_1): Likewise.
40916 (efi_call_2): Likewise.
40917 (efi_call_3): Likewise.
40918 (efi_call_4): Likewise.
40919 (efi_call_5): Likewise.
40920 (efi_call_6): Likewise.
40921
40922 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
40923 grub_rescue_cmd_chainloader.
40924
40925 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
40926 (grub_pe32_optional_header): Change some fields based on i386 or
40927 x86_64 platform.
40928 (GRUB_PE32_PE32_MAGIC): Likewise.
40929
40930 * include/grub/efi/uga_draw.h: New file.
40931
40932 * include/grub/elf.h (STN_ABS): New constant.
40933 (R_X86_64_NONE): Relocation constant for x86_64.
40934 (R_X86_64_64): Likewise.
40935 (R_X86_64_PC32): Likewise.
40936 (R_X86_64_GOT32): Likewise.
40937 (R_X86_64_PLT32): Likewise.
40938 (R_X86_64_COPY): Likewise.
40939 (R_X86_64_GLOB_DAT): Likewise.
40940 (R_X86_64_JUMP_SLOT): Likewise.
40941 (R_X86_64_RELATIVE): Likewise.
40942 (R_X86_64_GOTPCREL): Likewise.
40943 (R_X86_64_32): Likewise.
40944 (R_X86_64_32S): Likewise.
40945 (R_X86_64_16): Likewise.
40946 (R_X86_64_PC16): Likewise.
40947 (R_X86_64_8): Likewise.
40948 (R_X86_64_PC8): Likewise.
40949
40950 * include/grub/i386/efi/pci.h: New file.
40951
40952 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
40953 Change it value based on platform.
40954 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
40955 (GRUB_E820_RAM): Likewise.
40956 (GRUB_E820_RESERVED): Likewise.
40957 (GRUB_E820_ACPI): Likewise.
40958 (GRUB_E820_NVS): Likewise.
40959 (GRUB_E820_EXEC_CODE): Likewise.
40960 (GRUB_E820_MAX_ENTRY): Likewise.
40961 (grub_e820_mmap): New structure.
40962 (linux_kernel_header): Change the efi field according to different
40963 kernel version, also field from linux_kernel_header.
40964
40965 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
40966
40967 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
40968 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
40969 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
40970 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
40971 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
40972 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
40973 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
40974 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
40975 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
40976 (GRUB_PCI_ADDR_IO_MASK): Likewise.
40977
40978 * include/grub/x86_64/efi/kernel.h: New file.
40979
40980 * include/grub/x86_64/efi/loader.h: Likewise.
40981
40982 * include/grub/x86_64/efi/machine.h: Likewise.
40983
40984 * include/grub/x86_64/efi/pci.h: Likewise.
40985
40986 * include/grub/x86_64/efi/time.h: Likewise.
40987
40988 * include/grub/x86_64/linux.h: Likewise.
40989
40990 * include/grub/x86_64/setjmp.h: Likewise.
40991
40992 * include/grub/x86_64/time.h: Likewise.
40993
40994 * include/grub/x86_64/types.h: Likewise.
40995
40996 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
40997 GRUB_TARGET_SIZEOF_VOID_P.
40998
40999 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
41000 (grub_efi_locate_handle): Likewise.
41001 (grub_efi_open_protocol): Likewise.
41002 (grub_efi_set_text_mode): Likewise.
41003 (grub_efi_stall): Likewise.
41004 (grub_exit): Likewise.
41005 (grub_reboot): Likewise.
41006 (grub_halt): Likewise.
41007 (grub_efi_exit_boot_services): Likewise.
41008 (grub_get_rtc): Likewise.
41009
41010 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
41011 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
41012 (grub_efi_allocate_pages): Wrap efi calls.
41013 (grub_efi_free_pages): Wrap efi calls.
41014 (grub_efi_get_memory_map): Wrap efi calls.
41015
41016 * kern/x86_64/dl.c: New file.
41017
41018 * kern/x86_64/efi/callwrap.S: Likewise.
41019
41020 * kern/x86_64/efi/startup.S: Likewise.
41021
41022 * loader/efi/appleloader.c: Likewise.
41023
41024 * loader/efi/chainloader.c (cmdline): New variable.
41025 (grub_chainloader_unload): Wrap efi calls.
41026 (grub_chainloader_boot): Likewise.
41027 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
41028 command line.
41029
41030 * loader/efi/chainloader_normal.c (chainloader_command):
41031 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
41032 command line.
41033
41034 * loader/i386/efi/linux.c (allocate_pages): Change allocation
41035 method.
41036 (grub_e820_add_region): New function.
41037 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
41038 booting.
41039 (grub_find_video_card): New function.
41040 (grub_linux_setup_video): New function.
41041 (grub_rescue_cmd_linux): Probe for video information.
41042
41043 * normal/x86_64/setjmp.S: New file.
41044
41045 * term/efi/console.c (map_char): New function.
41046 (grub_console_putchar): Map unicode char.
41047 (grub_console_checkkey): Wrap efi calls.
41048 (grub_console_getkey): Likewise.
41049 (grub_console_getwh): Likewise.
41050 (grub_console_gotoxy): Likewise.
41051 (grub_console_cls): Likewise.
41052 (grub_console_setcolorstate): Likewise.
41053 (grub_console_setcursor): Likewise.
41054
41055 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
41056
59652a20 410572008-07-16 Pavel Roskin <proski@gnu.org>
41058
ef294055 41059 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
41060 format strings.
41061
59652a20 41062 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
41063 pointer, not an integer. This fixes a warning and prevents
41064 precision loss on 64-bit systems.
41065 (relocate_addresses): Remove unneeded cast.
41066
afc3b5d7 410672008-07-15 Pavel Roskin <proski@gnu.org>
41068
506b2b3e 41069 * kern/i386/ieee1275/init.c: Include grub/cache.h.
41070
62ead89c 41071 * term/ieee1275/ofconsole.c: Disable code unused on i386.
41072
c4cd51d7 41073 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
41074 Fix comparison between signed and unsigned.
41075
0d3d8f28 41076 * include/grub/i386/ieee1275/console.h: Declare
41077 grub_console_init() and grub_console_fini().
41078
8804b286 41079 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
41080 It's empty and unused.
41081
ee01cf35 41082 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
41083 beginning to avoid warnings with some compilers.
41084
afc3b5d7 41085 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
41086 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
41087
e4e8eaa5 410882008-07-14 Pavel Roskin <proski@gnu.org>
41089
407aceb4 41090 * kern/env.c (grub_register_variable_hook): Don't copy empty
41091 string, it leaks memory. Pass "" to grub_env_set(), it should
41092 handle constant strings.
41093
e4e8eaa5 41094 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
41095 * commands/cmp.c (grub_cmd_cmp): Likewise.
41096 * kern/dl.c (grub_dl_flush_cache): Likewise.
41097 (grub_dl_load_core): Likewise.
41098 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
41099 (grub_elf64_load_phdrs): Likewise.
41100
d4e2dad3 411012008-07-13 Pavel Roskin <proski@gnu.org>
41102
41103 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
41104 between signed and unsigned.
41105 (LzmaEnc_Finish): Fix warning about an unused parameter.
41106
aa24b516 411072008-07-13 Bean <bean123ch@gmail.com>
41108
41109 * Makefile.in (enable_lzo): New rule.
41110
41111 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
41112
41113 * configure.ac (ENABLE_LZO): New option --enable-lzo.
41114
41115 * boot/i386/pc/lnxboot.S: #include <config.h>.
41116
41117 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 41118 its value according to the compression algorithm used, lzo or lzma.
aa24b516 41119
41120 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
41121 compression algorithm according to configure macro.
41122
41123 * kern/i386/pc/startup.S (codestart): Likewise.
41124
41125 * kern/i386/pc/lzma_decode.S: New file.
41126
41127 * include/grub/lib/LzFind.h: Likewise.
41128
41129 * include/grub/lib/LzHash.h: Likewise.
41130
41131 * include/grub/lib/LzmaDec.h: Likewise.
41132
41133 * include/grub/lib/LzmaEnc.h: Likewise.
41134
41135 * include/grub/lib/LzmaTypes.h: Likewise.
41136
41137 * lib/LzFind.c: Likewise.
41138
41139 * lib/LzmaDec.c: Likewise.
41140
41141 * lib/LzmaEnc.c: Likewise.
41142
4ae821ac 411432008-07-13 Bean <bean123ch@gmail.com>
41144
41145 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
41146 (grub_ext4_extent_header): New structure.
41147 (grub_ext4_extent): Likewise.
41148 (grub_ext4_extent_idx): Likewise.
41149 (grub_ext4_find_leaf): New function.
41150 (grub_ext2_read_block): Handle extents.
41151
9a745147 411522008-07-12 Robert Millan <rmh@aybabtu.com>
41153
41154 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
41155
d49a4cf6 411562008-07-11 Robert Millan <rmh@aybabtu.com>
41157
41158 * util/grub.d/40_custom.in: New file. Example on how to add custom
41159 entries to /etc/grub.d.
41160 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
41161 40_custom (implicitly, by merging all the grub.d rules).
41162
947414b4 411632008-07-11 Pavel Roskin <proski@gnu.org>
41164
0059cf6f 41165 * commands/read.c (grub_getline): Fix invalid memory access.
41166 Don't add newline to the variable value.
41167
947414b4 41168 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
41169 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
41170 (serial_hw_get_port): Check validity of the port number.
41171 (grub_cmd_serial): Check return value of serial_hw_get_port().
41172
62a02d00 411732008-07-07 Pavel Roskin <proski@gnu.org>
41174
41175 * boot/i386/pc/diskboot.S (notification_string): Replace
41176 "Loading kernel" with just "loading". This is shorter, less
41177 confusing and saves a few bytes for possible future changes.
41178
3e5581b0 411792008-07-05 Pavel Roskin <proski@gnu.org>
41180
ea387a48 41181 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
41182 size for ATAPI devices, they are undefined. Output sector
41183 number in decimal form.
41184
3e5581b0 41185 * disk/ata.c: Use named constants for status bits.
41186
fdecb8fd 411872008-07-04 Pavel Roskin <proski@gnu.org>
41188
bcd35b90 41189 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
41190 grub_addr_t before casting it to the void pointer to fix a
41191 warning. Non-addressable regions are discarded earlier.
41192 (grub_arch_modules_addr): Cast _end to grub_addr_t.
41193 * kern/i386/linuxbios/table.c: Include grub/misc.h.
41194 (check_signature): Don't shadow table_header.
41195 (grub_linuxbios_table_iterate): Cast numeric constants to
41196 grub_linuxbios_table_header_t.
41197 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
41198 grub_stop().
41199
af58ab3d 41200 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
41201 prevent warnings.
41202
1759aa57 41203 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
41204 pointer, which can cause warnings. Support 64-bit addresses.
41205
fdecb8fd 41206 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
41207 of sizeof(long). This fixes PowerPC image generation on x86_64.
41208
8516d2a8 412092008-07-04 Robert Millan <rmh@aybabtu.com>
41210
41211 This fixes a performance issue when pc & gpt partmap iterators
41212 didn't abort iteration even after our hook found what it was
fe987087 41213 looking for (often causing expensive probes of non-existent drives).
8516d2a8 41214
41215 Some callers relied on previous buggy behaviour, since they would
34c44600 41216 raise an error when their own hooks caused early abortion of its
8516d2a8 41217 iteration.
41218
41219 * kern/device.c (grub_device_open): Improve error message.
41220 * disk/lvm.c (grub_lvm_open): Likewise.
41221 * disk/raid.c (grub_raid_open): Likewise.
41222
41223 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
41224 when hook requests it, independently of grub_errno.
41225 (pc_partition_map_probe): Do not fail when find_func() caused
41226 early abortion of pc_partition_map_iterate().
41227
41228 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
41229 when hook requests it, independently of grub_errno.
41230 (gpt_partition_map_probe): Do not fail when find_func() caused
41231 early abortion of gpt_partition_map_iterate().
41232
41233 * kern/partition.c (grub_partition_iterate): Abort parent iteration
41234 when hook requests it, independently of grub_errno. Do not fail when
41235 part_map_iterate_hook() caused early abortion of p->iterate().
41236
41237 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
41238 when grub_partition_iterate() returned with non-zero.
41239
277d0de9 412402008-07-03 Pavel Roskin <proski@gnu.org>
41241
41242 * disk/ata.c (grub_ata_pio_write): Check status before writing,
41243 like we do in grub_ata_pio_read().
41244 (grub_ata_readwrite): Always write individual sectors. Fix the
41245 sector count for the remainder.
41246 (grub_ata_write): Enable writing to ATA devices. Correctly
41247 report error for ATAPI devices.
41248
d4c9b428 412492008-07-02 Pavel Roskin <proski@gnu.org>
41250
e43fc690 41251 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
41252 warning.
41253
f707af42 41254 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
41255 for every read sector, we already increment it for the whole
41256 batch. This fixes reading more than 256 sectors at once.
41257
11e16b15 41258 * util/grub-editenv.c (cmd_info): Cast argument to long
41259 explicitly. ptrdiff_t reduces to int on i386.
41260
cbabfdd4 41261 * util/grub-editenv.c (main): Be specific which parameter is
41262 missing.
41263
b8fbce0a 41264 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
41265 (memdisk): Make memdisk_orig_addr a pointer.
41266
c9c8e606 41267 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
41268 for file offsets, use grub_off_t instead. Fix printf format
41269 warnings.
41270
ca62e598 41271 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
41272 there. Real unexpected warnings should not drown in the noise
41273 about known problems.
41274
ce8d1766 41275 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
41276 grub_disk_addr_t for memory addresses.
41277
00c7a56a 41278 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
41279 explicitly to fix a warning.
41280
08d3ef09 41281 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
41282
cb71ba20 41283 * Makefile.in (MODULE_LDFLAGS): New variable.
41284 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
41285 the linker accepts --build-id=none.
41286 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
41287 MODULE_LDFLAGS.
41288 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
41289
d4c9b428 41290 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
41291 those in Linux XFS code. Provide a way to access 64-bit parent
41292 inode.
41293 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
41294 the end of struct grub_xfs_dir_header.
41295
d4156eee 412962008-07-02 Bean <bean123ch@gmail.com>
41297
41298 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
41299 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
41300 and GRUB_IEEE1275_FLAG_NO_ANSI.
41301
41302 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
41303 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
41304 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
41305
41306 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
41307 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
41308
41309 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
41310 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
41311
41312 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
41313 esc sequence on non ANSI terminal.
41314 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
41315
41316 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
41317 beginning of file.
41318
2270f77b 413192008-07-02 Bean <bean123ch@gmail.com>
41320
41321 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
41322 (grub_editenv_SOURCES): New variable.
41323 (pkglib_MODULES): Add loadenv.mod.
41324 (loadenv_mod_SOURCES): New variable.
41325 (loadenv_mod_CFLAGS): Likewise.
41326 (loadenv_mod_LDFLAGS): Likewise.
41327
41328 * include/grub/envblk.h: New file.
41329
41330 * util/envblk.c: New file.
41331
41332 * util/grub-editenv.c: New file.
41333
41334 * commands/loadenv.c: New file.
41335
0e9e51ec 413362008-07-01 Pavel Roskin <proski@gnu.org>
41337
d89b7634 41338 * include/multiboot2.h (struct multiboot_tag_module): Use char,
41339 not unsigned char. This fixes warnings and is consistent with
41340 other tags.
41341
bf1835b1 41342 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
41343
8222a04b 41344 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
41345
6a42d99d 41346 * term/tparm.c (analyze): Always set *popcount.
41347
10b159d1 41348 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
41349 cast to fix a warning.
41350
b8789f6c 41351 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
41352 cast to suppress a warning.
41353
29d7e38a 41354 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
41355 grub_fshelp_read_file() expects.
41356
f341f669 41357 * fs/fat.c: Fix UUID calculation on big-endian systems. We
41358 write uuid as a 32-bit value in CPU byte order, so declare and
41359 use it as such.
41360
0e9e51ec 41361 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
41362 long if the format specifier expects it.
41363 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
41364 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41365 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
41366 long to fix a warning.
41367 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
41368 grub_dprintf() arguments to fix warnings.
41369
3aefa857 413702008-06-30 Pavel Roskin <proski@gnu.org>
41371
56c7668b 41372 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
41373 install_bsd_part immediately before core.img is embedded or
41374 modified on disk. This fixes core.img verification if core.img
41375 cannot be embedded.
41376
3aefa857 41377 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
41378 core_path to calculate the blocklist.
41379 Patch from Javier Martín <lordhabbit@gmail.com>
41380
5444088d 413812008-06-29 Robert Millan <rmh@aybabtu.com>
41382
41383 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
41384 block to disk block.
41385 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
41386 Patch from Niels Böhm <bitbucket@arcor.de>
41387
674835c8 413882008-06-29 Robert Millan <rmh@aybabtu.com>
41389
41390 * util/update-grub_lib.in (font_path): Search for fonts in
41391 /boot/grub first, which is more likely to be readable (we aren't
41392 deciding where fonts live, just looking for them).
41393
f527dbc8 413942008-06-26 Pavel Roskin <proski@gnu.org>
41395
6c2d8df6 41396 * util/biosdisk.c (read_device_map): Don't leave dead map
41397 entries for devices failing stat() check.
41398
f527dbc8 41399 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
41400 core_path_dev for the core.img path on the target device.
41401
aebe3d13 414022008-06-26 Robert Millan <rmh@aybabtu.com>
41403
41404 * disk/fs_uuid.c: New file.
41405 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
41406 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
41407 (fs_uuid_mod_LDFLAGS): New variables.
41408 * include/grub/disk.h (grub_disk_dev_id): Add
41409 `GRUB_DISK_DEVICE_UUID_ID'.
41410 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
41411 implement iterate().
41412
37aaf354 414132008-06-26 Robert Millan <rmh@aybabtu.com>
41414
41415 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
41416 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
41417 Linux image includes no initrd.
41418
25ff262a 414192008-06-21 Javier Martín <lordhabbit@gmail.com>
41420
41421 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
41422 call to resolve the core image location that effectively appended the
41423 name twice.
41424
76a2bd44 414252008-06-21 Robert Millan <rmh@aybabtu.com>
41426
41427 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
41428 call from here ...
41429
41430 * util/grub.d/10_hurd.in: ... to here ...
41431 * util/grub.d/10_linux.in: ... and here.
41432
650e1c79 414332008-06-19 Robert Millan <rmh@aybabtu.com>
41434
fe987087 41435 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 41436 after it has been set by grub_machine_set_prefix().
41437
6ce63911 414382008-06-19 Robert Millan <rmh@aybabtu.com>
41439
41440 * commands/search.c (search_label, search_fs_uuid, search_file): Print
41441 search result when not saving to variable, not the other way around.
41442 When saving to variable, abort iteration as soon as a match is found.
41443
73940cec 414442008-06-19 Robert Millan <rmh@aybabtu.com>
41445
41446 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
41447 check for partition that provides /boot/grub. Its logic is flawed,
41448 as it prevents prepare_grub_to_access_device() from being called
41449 multiple times.
41450
3c62a39d 414512008-06-19 Robert Millan <rmh@aybabtu.com>
41452
41453 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
41454 "insmod" command directly when abstraction modules are needed,
fe987087 41455 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 41456 since it had already been processed).
41457
47395a42 414582008-06-19 Pavel Roskin <proski@gnu.org>
41459
41460 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
41461 changed. This is needed in case GRUB_LIBDIR changes.
41462 * conf/i386-ieee1275.rmk: Likewise.
41463 * conf/i386-linuxbios.rmk: Likewise.
41464 * conf/i386-pc.rmk: Likewise.
41465 * conf/powerpc-ieee1275.rmk: Likewise.
41466
a145ac2d 414672008-06-18 Pavel Roskin <proski@gnu.org>
41468
41469 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
41470 kernel_elf_symlist.c to symlist.c for consistency with other
41471 architectures. Update all users.
41472 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41473
7847c51e 414742008-06-18 Robert Millan <rmh@aybabtu.com>
41475
41476 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
41477 it in prefix.
41478
41479 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
41480 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
41481 a RAID device, run setup() for all members independently on whether
41482 LVM abstraction is being used.
41483 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
41484 If grub-mkimage has set `*install_dos_part == -2', don't override this
41485 value.
41486 Perform *install_dos_part adjustments independently on whether
41487 we're embedding or not.
41488 Clarify error message when image is too big for embedding.
41489 Remove duplicate *install_dos_part stanza.
41490
b23e5644 414912008-06-17 Robert Millan <rmh@aybabtu.com>
41492
41493 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
41494 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
41495 variables.
41496 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
41497 values in grub_ofconsole_normal_color and
41498 grub_ofconsole_highlight_color (they're not directly related to
41499 background and foreground).
41500 (grub_ofconsole_setcolorstate): Extract background and foreground
41501 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
41502
0aac2f79 415032008-06-17 Robert Millan <rmh@aybabtu.com>
41504
41505 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
41506 /boot/grub for the check in last commit, not /boot (they could be
41507 different partitions).
41508
3cca7ef3 415092008-06-16 Robert Millan <rmh@aybabtu.com>
41510
41511 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
41512 asked to setup access for the same partition that provides /boot,
41513 don't bother using UUIDs since our root already has the value we
41514 want.
41515
347396d8 415162008-06-16 Robert Millan <rmh@aybabtu.com>
41517
41518 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
41519 I2O devices.
41520 Patch from Sven Mueller <sven@debian.org>.
41521
991477f8 415222008-06-16 Robert Millan <rmh@aybabtu.com>
41523
41524 * util/update-grub.in: Check for $EUID instead of $UID.
41525 Reported by Vincent Zweije.
41526
d31a32a1 415272008-06-16 Bean <bean123ch@gmail.com>
41528
fe987087 41529 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 41530 (grub_ext2_read_block): Likewise.
41531 (grub_ext2_read_inode): Likewise.
41532 (grub_ext2_mount): Likewise.
41533 (grub_ext2_close): Likewise.
41534 (grub_ext3_get_journal): Removed.
41535
fe987087 41536 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 41537 (grub_reiserfs_read_symlink): Likewise.
41538 (grub_reiserfs_mount): Likewise.
41539 (grub_reiserfs_open): Likewise.
41540 (grub_reiserfs_read): Likewise.
41541 (grub_reiserfs_close): Likewise.
41542 (grub_reiserfs_get_journal): Removed.
41543
41544 * fs/fshelp.c (grub_fshelp_read): Removed.
41545 (grub_fshelp_map_block): Likewise.
41546
41547 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
41548 (grub_fshelp_journal): Likewise.
41549 (grub_fshelp_read): Likewise.
41550 (grub_fshelp_map_block): Likewise.
41551
3540a760 415522008-06-16 Pavel Roskin <proski@gnu.org>
41553
41554 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
41555 floating point anymore.
41556 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
41557
95614c84 415582008-06-15 Pavel Roskin <proski@gnu.org>
41559
41560 * commands/ls.c (grub_ls_list_files): Use integer calculations
41561 for human readable format, avoid floating point use.
41562 * kern/misc.c (grub_ftoa): Remove.
41563 (grub_vsprintf): Remove floating point support.
41564
50465dd6 415652008-06-15 Robert Millan <rmh@aybabtu.com>
41566
fe6b695a 41567 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 41568 devices.
41569 Reported by Max Vozeler.
41570
a9207284 415712008-06-15 Robert Millan <rmh@aybabtu.com>
41572
41573 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
41574 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
41575 skipped later.
41576 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
41577 the beginning of the prefix.
41578
41579 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
41580 It is assumed that if we have a memdisk, grub-mkimage has set
41581 grub_prefix to include the "(memdisk)" drive in it.
41582
a7cbd45a 415832008-06-15 Robert Millan <rmh@aybabtu.com>
41584
41585 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
41586 Initialize keyboard controller after registering the terminal, so that
41587 grub_printf() can be called from grub_keyboard_controller_init().
41588
21cf716a 415892008-06-15 Robert Millan <rmh@aybabtu.com>
41590
41591 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
41592 extent-btree which is written as big endian on disk.
41593 Reported by Alain Greppin <al@chilibi.org>.
41594
23a64d8e 415952008-06-14 Robert Millan <rmh@aybabtu.com>
41596
41597 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
41598 * util/i386/pc/grub-install.in (modules): Likewise.
41599
d687651c 416002008-06-13 Pavel Roskin <proski@gnu.org>
41601
41602 * commands/ls.c (grub_ls_list_files): Fix format warnings.
41603
dfe9ddd4 416042008-06-13 Bean <bean123ch@gmail.com>
41605
41606 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
41607
41608 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
41609
41610 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
41611 to indicate sparse block.
41612
16ae7781 416132008-06-12 Pavel Roskin <proski@gnu.org>
41614
e6d1a308 41615 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
41616 number, grub_fshelp_read() does it for us.
41617
16ae7781 41618 * fs/fshelp.c (grub_fshelp_read): New function. Implement
41619 linear disk read with journal translation.
41620 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
41621 * include/grub/fshelp.h: Declare grub_fshelp_read().
41622
40fd3a2b 416232008-06-09 Pavel Roskin <proski@gnu.org>
41624
41625 * fs/minix.c (grub_minix_mount): Handle error reading
41626 superblock.
41627
f5679726 416282008-06-08 Robert Millan <rmh@aybabtu.com>
41629
41630 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
41631 don't append the RAID prefix afterwards.
41632 Reported by Clint Adams.
41633
ce525529 416342008-06-08 Robert Millan <rmh@aybabtu.com>
41635
41636 Based on description from Pavel:
41637 * kern/disk.c (grub_disk_check_range): Rename to ...
41638 (grub_disk_adjust_range): ... this. Add a comment explaining the
41639 tasks performed by this function.
41640
ad4936a0 416412008-06-08 Robert Millan <rmh@aybabtu.com>
41642
41643 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
41644 `num_serial' (for consistency with other variables).
41645 (struct grub_ntfs_data): Add `uuid' member.
41646 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
41647 (grub_ntfs_uuid): New function.
41648 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
41649
dc20b0f9 416502008-06-07 Pavel Roskin <proski@gnu.org>
41651
41652 * util/biosdisk.c (open_device): Revert last change to the
41653 function, it broke installation. The sector needs to be
41654 different dependent on which device is opened.
41655
c5e3cfba 416562008-06-06 Robert Millan <rmh@aybabtu.com>
41657
41658 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
41659 rest of GRUB, and breakage doesn't happen if its value were modified.
41660
41661 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
41662 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
41663 a constant (same value).
41664 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
41665 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
41666
26a1f8c4 416672008-06-06 Robert Millan <rmh@aybabtu.com>
41668
41669 * util/biosdisk.c (open_device): Do not modify sector offset when
41670 accessing a partition. kern/disk.c already handles this for us.
41671
25d6b327 416722008-06-06 Robert Millan <rmh@aybabtu.com>
41673
41674 * util/grub-emu.c (grub_machine_init): Move code in this function from
41675 here ...
41676 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
41677 segfault in case grub_printf() is called).
41678
41679 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
41680 grub_probe. Update all users not to explicitly add it again.
41681 (grub_device): New variable; contains corresponding device for grubdir.
41682 (fs_module, partmap_module, devabstraction_module): Pass
41683 `--device ${grub_device}' to grub_probe to avoid traversing /dev
41684 every time.
41685
9ece62fb 416862008-06-05 Robert Millan <rmh@aybabtu.com>
41687
41688 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
41689 is found, print it (same layout as with labels).
41690
1ad36d37 416912008-06-04 Robert Millan <rmh@aybabtu.com>
41692
41693 * util/biosdisk.c (get_drive): Rename to ...
41694 (find_grub_drive): ... this. Update all users.
41695
41696 (get_os_disk): Rename to ...
41697 (convert_system_partition_to_system_disk): ... this. Update all users.
41698
41699 (find_drive): Rename to ...
41700 (find_system_device): ... this. Update all users.
41701
e6a30859 417022008-06-04 Robert Millan <rmh@aybabtu.com>
41703
41704 * util/biosdisk.c (get_os_disk): Handle IDA devices.
41705 * util/grub-mkdevicemap.c (get_mmc_disk_name)
41706 (make_device_map): Likewise.
41707
00c108a4 417082008-06-01 Robert Millan <rmh@aybabtu.com>
41709
41710 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
41711 before dereferencing it.
41712
41713 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
41714 union with fat12/fat16-specific ones. Add some new fields, including
41715 `num_serial' for both versions.
41716 (struct grub_fat_data): Add `uuid' member.
41717 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
41718 names. Initialize `data->uuid' using `num_serial'.
41719 (grub_fat_uuid): New function.
41720 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
41721
41722 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
41723 (grub_reiserfs_uuid): New function.
41724 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
41725 member.
41726
41727 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
41728 (grub_xfs_uuid): New function.
41729 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
41730
1385c5bb 417312008-06-01 Robert Millan <rmh@aybabtu.com>
41732
41733 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
41734 code that is backward compatible with pre-uuid search command.
41735
c682dfd7 417362008-05-31 Robert Millan <rmh@aybabtu.com>
41737
41738 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
41739 floppies after everything else, to ensure floppy drive isn't accessed
41740 unnecessarily (patch from Bean).
41741
b7db5d47 417422008-05-31 Robert Millan <rmh@aybabtu.com>
41743
41744 * commands/search.c (search_label, search_fs_uuid, search_file): Do
41745 not print device names when we were asked to set a variable.
41746
6e037aa9 417472008-05-31 Robert Millan <rmh@aybabtu.com>
41748
41749 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
41750 using "cursor-on" and "cursor-off" commands (understood at least by
41751 the Open Firmware flavour on OLPC).
41752
41305bc8 417532008-05-31 Michael Gorven <michael@gorven.za.net>
41754
41755 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
41756 on and off sequences.
41757
69ba137e 417582008-05-31 Robert Millan <rmh@aybabtu.com>
41759
41760 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
41761 * util/update-grub.in: Likewise.
41762
520ae21b 417632008-05-30 Pavel Roskin <proski@gnu.org>
41764
41765 * util/biosdisk.c (linux_find_partition): Simplify logic and
41766 make the code more universal. Keep special processing for
41767 devfs, but use a simple rule for all other devices. If the
41768 device ends with a number, append 'p' and the partition number.
41769 Otherwise, append only the partition number.
41770
5786569b 417712008-05-30 Robert Millan <rmh@aybabtu.com>
41772
41773 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
41774 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
41775 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
41776 the `root' parameter to Linux.
41777
51500452 417782008-05-30 Robert Millan <rmh@aybabtu.com>
41779
41780 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
41781 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
41782 --fs_uuid with --fs-uuid.
41783 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
41784 all filesystems support them).
41785
811d3878 417862008-05-30 Robert Millan <rmh@aybabtu.com>
41787
41788 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 41789 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 41790
cab63c95 417912008-05-30 Robert Millan <rmh@aybabtu.com>
41792
41793 * util/grub.d/00_header.in: Remove obsolete comment referencing
41794 convert_system_path_to_grub_path().
41795 * util/update-grub.in: Likewise.
41796 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
41797 (convert_system_path_to_grub_path): Add a warning message explaining
41798 that this function is deprecated. Rely on is_path_readable_by_grub()
41799 for the readability checks.
41800 (font_path): Use is_path_readable_by_grub() for the readability
41801 check rather than convert_system_path_to_grub_path().
41802
972e2f7a 418032008-05-30 Robert Millan <rmh@aybabtu.com>
41804
41805 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
41806 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
41807 converting it first.
41808 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
41809 grub.cfg for access to font file, and afterwards call it again to set
41810 the root device.
41811
62191274 418122008-05-30 Robert Millan <rmh@aybabtu.com>
41813
41814 * commands/search.c (options): Add --fs_uuid option.
41815 (search_fs_uuid): New function.
41816 (grub_cmd_search): Fix --set argument passing.
41817 Use search_fs_uuid() when requested via --fs_uuid.
41818 (grub_search_init): Update help message.
41819 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
41820 and redeclare it as an array of 16-bit words.
41821 (grub_ext2_uuid): New function.
41822 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
41823 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
41824 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
41825 (GRUB_DEVICE_BOOT_UUID): New variables.
41826 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
41827 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
41828 whenever possible.
41829 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
41830 just assume `root' variable has the right value.
41831 * util/grub.d/10_linux.in: Likewise.
41832 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
41833 via PRINT_FS_UUID.
41834 (main): Recognise `-t fs_uuid' argument.
41835
01b73ec8 418362008-05-30 Robert Millan <rmh@aybabtu.com>
41837
41838 * util/biosdisk.c (map): Redefine structure to hold information
41839 about GRUB drive name.
fe6b695a 41840 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 41841 drive names.
41842 (call_hook): Remove.
41843 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
41844 member. Assume drive has partitions.
41845 (grub_util_biosdisk_open): Access device names via `.device' struct
41846 member.
41847 (open_device): Likewise.
41848 (find_drive): Likewise.
41849 (read_device_map): Adjust map[] usage to match the new struct
41850 definition. Don't check for duplicates (still possible, but not cheap
41851 anymore).
41852 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
41853 (make_device_name): Remove assumption of BIOS-like drive names.
41854
22f16596 418552008-05-30 Pavel Roskin <proski@gnu.org>
41856
41857 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
41858 compiling execute.c doesn't need grub_script.tab.h anymore.
41859 (normal/command.c_DEPENDENCIES): Likewise.
41860 (normal/function.c_DEPENDENCIES): Likewise.
41861 * conf/i386-ieee1275.rmk: Likewise.
41862 * conf/i386-linuxbios.rmk: Likewise.
41863 * conf/i386-pc.rmk: Likewise.
41864 * conf/powerpc-ieee1275.rmk: Likewise.
41865 * conf/sparc64-ieee1275.rmk: Likewise.
41866
528ad8f2 418672008-05-29 Pavel Roskin <proski@gnu.org>
41868
d1dff95d 41869 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
41870 when scanning metadata for volume group name.
41871
528ad8f2 41872 * include/grub/script.h: Don't include grub_script.tab.h. It's
41873 a generated file, which may only be included from the files with
41874 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
41875 use union YYSTYPE, as the later allows forward declaration.
41876 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
41877
47248e08 418782008-05-29 Robert Millan <rmh@aybabtu.com>
41879
41880 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
41881 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
41882 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
41883 (grub_console_checkkey): Add grub_dprintf() call to report unknown
41884 scan codes.
41885
ee632529 418862008-05-29 Robert Millan <rmh@aybabtu.com>
41887
41888 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
41889 control key combinations.
41890
eee96e08 418912008-05-29 Robert Millan <rmh@aybabtu.com>
41892
41893 * util/powerpc/ieee1275/grub-install.in: Move from here ...
41894 * util/ieee1275/grub-install.in: ... to here.
41895 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
41896 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
41897 (grub_install_SOURCES): Likewise.
41898
da9a6a94 418992008-05-29 Robert Millan <rmh@aybabtu.com>
41900
41901 * fs/affs.c: Update copyright year.
41902 * fs/ext2.c: Likewise.
41903 * fs/fshelp.c: Likewise.
41904 * fs/hfsplus.c: Likewise.
41905 * fs/ntfs.c: Likewise.
41906 * fs/xfs.c: Likewise.
41907 * include/grub/fshelp.h: Likewise.
41908 * util/grub-mkdevicemap.c: Likewise.
41909
12e65f3a 419102008-05-28 Robert Millan <rmh@aybabtu.com>
41911
41912 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
41913 might need to be fatfs to support some firmware implementations
41914 (e.g. OFW or EFI).
41915
23023641 419162008-05-28 Robert Millan <rmh@aybabtu.com>
41917
41918 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
41919 devices.
41920 * util/grub-mkdevicemap.c (get_mmc_disk_name)
41921 (make_device_map): Likewise.
41922
887d2619 419232008-05-20 Bean <bean123ch@gmail.com>
41924
41925 * fs/fshelp.c (grub_fshelp_map_block): New function.
41926 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
41927 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
41928
41929 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
41930 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
41931 (grub_fshelp_journal): New structure.
41932 (grub_fshelp_map_block): New function prototype.
41933 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
41934 (grub_fshelp_map_block): Likewise.
41935
41936 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
41937 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
41938 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
41939 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
41940 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
41941 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
41942 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
41943 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
41944 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
41945 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
41946 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
41947 (grub_ext2_sblock): New members for journal support.
41948 (grub_ext3_journal_header): New structure.
41949 (grub_ext3_journal_revoke_header): Likewise.
41950 (grub_ext3_journal_block_tag): Likewise.
41951 (grub_ext3_journal_sblock): Likewise.
41952 (grub_fshelp_node): New members logfile and journal.
41953 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
41954 grub_fshelp_map_block to get real block number.
41955 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
41956 number.
41957 (grub_ext2_read_inode): Likewise.
41958 (grub_ext3_get_journal): New function.
41959 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
41960 (grub_ext2_close): Release memory used by journal.
41961
41962 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
41963 (REISERFS_MAGIC_DESC_BLOCK): New macro.
41964 (grub_reiserfs_transaction_header): Renamed to
41965 grub_reiserfs_description_block, replace field data with real_blocks.
41966 (grub_reiserfs_commit_block): New structure.
41967 (grub_reiserfs_data): New member journal.
41968 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
41969 number.
41970 (grub_reiserfs_read_symlink): Likewise.
41971 (grub_reiserfs_iterate_dir): Likewise.
41972 (grub_reiserfs_open): Likewise.
41973 (grub_reiserfs_read): Likewise.
41974 (grub_reiserfs_get_journal): New function.
41975 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
41976 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
41977 using grub_reiserfs_get_journal.
41978 (grub_reiserfs_close): Release memory used by journal.
41979
41980 * fs/affs.c (grub_affs_read_block): Change block type to
41981 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
41982
41983 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
41984
41985 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
41986
41987 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
41988
41989 * fs/udf.c (grub_udf_read_block): Change block type to
41990 grub_disk_addr_t. Use type cast to avoid warning.
41991
41992 * fs/xfs.c (grub_xfs_read_block): Likewise.
41993
b7c6bed5 419942008-05-16 Christian Franke <franke@computer.org>
41995
41996 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
41997 to ensure that break with ESC will always work.
41998 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
41999 Remove ESC from keyboard queue.
42000
eedf167f 420012008-05-16 Christian Franke <franke@computer.org>
42002
42003 * util/biosdisk.c: [__CYGWIN__] Add includes.
42004 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
42005 (get_os_disk): Move variable declarations to OS specific
42006 parts to avoid warning.
42007 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
42008 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
42009 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
42010 Cygwin.
42011 * util/getroot.c: [__CYGWIN__] Add includes.
42012 (strip_extra_slashes): Fix "/" case.
42013 [__CYGWIN__] (get_win32_path): New function.
42014 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
42015 [__CYGWIN__] (find_root_device): Disable.
42016 [__CYGWIN__] (get_bootsec_serial): New function.
42017 [__CYGWIN__] (find_cygwin_root_device): Likewise.
42018 [__linux__] (grub_guess_root_device): Add early returns to simplify
42019 structure.
42020 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
42021 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
42022 check for Linux only.
42023
a079699e 420242008-05-15 Bean <bean123ch@gmail.com>
42025
42026 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
42027 keyboard hang problem in apple's intel mac.
42028
1cf4059a 420292008-05-09 Robert Millan <rmh@aybabtu.com>
42030
42031 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
42032 devices.
42033 * util/grub-mkdevicemap.c (get_virtio_disk_name)
42034 (make_device_map): Likewise.
42035 Reported by Aurelien Jarno <aurel32@debian.org>
42036
ed759390 420372008-05-07 Ian Campbell <ijc@hellion.org.uk>
42038
42039 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
42040 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
42041 (make_device_map): Output entries for xvd type disks.
42042
b56c4eaa 420432008-05-07 Robert Millan <rmh@aybabtu.com>
42044
42045 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
42046 devices.
42047 * util/grub-mkdevicemap.c (get_cciss_disk_name)
42048 (make_device_map): Likewise.
42049 Reported by Roland Dreier <rdreier@cisco.com>
42050
7f8866ed 420512008-05-07 Robert Millan <rmh@aybabtu.com>
42052
42053 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
42054 grub_strstr() call. Correct a few mistakes in failure path handling.
42055
b0346e0f 420562008-05-06 Robert Millan <rmh@aybabtu.com>
42057
42058 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
42059 Do not print a trailing slash (therefore, the root directory is an
42060 empty string).
42061 (convert_system_path_to_grub_path): Do not remove trailing slash
42062 from make_system_path_relative_to_its_root() output.
42063
42064 * util/i386/pc/grub-install.in: Add trailing slash to output from
42065 make_system_path_relative_to_its_root().
42066
6cf12cbd 420672008-05-06 Robert Millan <rmh@aybabtu.com>
42068
42069 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
42070 ensures that output lines aren't intermangled with those sent to
42071 stderr (via grub_util_info()).
42072 * util/grub-probe.c (grub_refresh): Likewise.
42073 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
42074
0fbb3117 420752008-05-05 Christian Franke <franke@computer.org>
42076
42077 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
42078 Add Cygwin device names.
42079 (get_ide_disk_name) [__CYGWIN__]: Likewise.
42080 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
42081 (check_device): Return error instead of success on empty name.
42082 (make_device_map): Move label inside linux specific code to
42083 prevent compiler warning.
42084
8124cdb7 420852008-04-30 Robert Millan <rmh@aybabtu.com>
42086
42087 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
42088 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
42089 first boot option.
42090 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
42091
094c01d0 420922008-04-29 Robert Millan <rmh@aybabtu.com>
42093
42094 * docs/grub.cfg: New file (example GRUB configuration).
42095
f4b1fc02 420962008-04-26 Robert Millan <rmh@aybabtu.com>
42097
329ce2a5 42098 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
42099 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
42100 and `disk/ieee1275/nand.c'.
f4b1fc02 42101
25f16ec1 421022008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 42103
25f16ec1 42104 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
42105 i386-linuxbios.
42106
42107 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
42108 change the buffer size to 4096 for cdrom device.
42109
42110 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
42111 and nand.mod.
42112 (_linux_mod_SOURCES): New variable.
42113 (_linux_mod_CFLAGS): Likewise.
42114 (_linux_mod_LDFLAGS): Likewise.
42115 (linux_mod_SOURCES): Likewise.
42116 (linux_mod_CFLAGS): Likewise.
42117 (linux_mod_LDFLAGS): Likewise.
42118 (nand_mod_SOURCES): Likewise.
42119 (nand_mod_CFLAGS): Likewise.
42120 (nand_mod_LDFLAGS): Likewise.
42121
42122 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
42123 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
42124 type property. (nand device in olpc don't have this property)
42125
42126 * include/grub/disk.h (grub_disk_dev_id): New macro
42127 GRUB_DISK_DEVICE_NAND_ID.
42128
42129 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
42130 function prototype.
42131 (grub_rescue_cmd_initrd): Likewise.
42132
42133 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
42134 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
42135 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 42136
25f16ec1 42137 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
42138 GRUB_MACHINE_IEEE1275 is defined.
42139
42140 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
42141 Use NESTED_FUNC_ATTR attribute on the hook parameter.
42142
42143 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
42144 on nested function heap_init.
42145 (grub_upper_mem): New variable for i386-ieee1275.
42146 (grub_get_extended_memory): New function for i386-ieee1275.
42147 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
42148
42149 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
42150 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
42151 property.
f19dbdb7 42152
25f16ec1 42153 * loader/i386/ieee1275/linux.c: New file.
42154
42155 * loader/i386/ieee1275/linux_normal.c: New file.
42156
42157 * disk/ieee1275/nand.c: New file.
42158
e89d61e9 421592008-04-18 Thomas Schwinge <tschwinge@gnu.org>
42160
42161 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
42162 value.
42163 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
42164
602566f6 421652008-04-18 Robert Millan <rmh@aybabtu.com>
42166
42167 Restructures early code path on ieee1275 to unify grub_main() as
42168 the first C function that is executed in every platform.
42169
42170 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
42171 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
42172 cmain().
42173 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
42174 * kern/ieee1275/cmain.c (cmain): Rename to ...
42175 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
42176 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
42177 at the beginning.
42178
57490c2b 421792008-04-18 Robert Millan <rmh@aybabtu.com>
42180
42181 * util/update-grub.in: Fix syntax error when setting
42182 `GRUB_PRELOAD_MODULES'.
42183 Reported by Stephane Chazelas <stephane@artesyncp.com>
42184
1977517d 421852008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
42186
42187 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
42188 section into account, newer toolchains generate unique build ids
42189 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 42190 we want build ids to be preserved
1977517d 42191 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
42192 far from other sections don't cause the raw binary images grow
42193 size
42194
bfb1f1a2 421952008-04-15 Robert Millan <rmh@aybabtu.com>
42196
42197 * disk/lvm.c: Update copyright year.
42198 * kern/misc.c: Likewise.
42199
01979850 422002008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
42201
42202 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 42203 there is no memory left for physical volume name.
01979850 42204
0a1150e2 422052008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
42206
42207 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
42208 volume name mapping to support bigger than 9 character names properly.
42209
82ead3fe 422102008-04-13 Robert Millan <rmh@aybabtu.com>
42211
42212 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
42213 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
42214
e54a72f5 422152008-04-13 Christian Franke <franke@computer.org>
42216
42217 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
42218 to create a floppy emulation boot CD when non emulation mode
42219 does not work.
42220 Enable Joliet CD filesystem extension.
42221
9fe86034 422222008-04-13 Robert Millan <rmh@aybabtu.com>
42223
42224 * kern/misc.c (grub_strncat): Fix off-by-one error.
42225 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
42226
42227 * kern/env.c (grub_env_context_close): Clear current context, not
42228 previous one.
42229 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
42230
42231 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
42232
7ceeee39 422332008-04-13 Robert Millan <rmh@aybabtu.com>
42234
42235 Improve robustness when handling LVM.
42236
42237 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 42238 (and leave `*p' unmodified).
7ceeee39 42239 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
42240 through it.
42241 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
42242 iterating through it.
42243 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
42244 through it.
fe6b695a 42245 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 42246 when due) on each grub_lvm_getvalue() or grub_strstr() call.
42247 Don't assume `vg->pvs != NULL' when iterating through it.
42248
58cd3d85 422492008-04-13 Robert Millan <rmh@aybabtu.com>
42250
42251 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
42252 * genmk.rb (partmap): New variable.
42253 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
42254 (#{partmap}): New target rule.
42255 * genpartmaplist.sh: New file.
42256 * Makefile.in (pkglib_DATA): Add partmap.lst.
42257 (partmap.lst): New target rule.
42258 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
42259 modules (including all partition maps), instead of preloading them.
42260
78b51059 422612007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
42262
42263 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
42264 `linux-boot-prober' (if installed) to detect other operating
42265 systems which are installed on the computer and add them to
42266 the boot menu.
42267 * conf/common.rmk: Build and install 30_os-prober.
42268
a91627b4 422692008-04-12 Robert Millan <rmh@aybabtu.com>
42270
42271 * kern/powerpc/ieee1275/init.c: Move from here ...
42272 * kern/ieee1275/init.c: ... to here. Update all users.
42273
42274 * kern/powerpc/ieee1275/cmain.c: Move from here ...
42275 * kern/ieee1275/cmain.c: ... to here. Update all users.
42276
42277 * kern/powerpc/ieee1275/openfw.c: Move from here ...
42278 * kern/ieee1275/openfw.c: ... to here. Update all users.
42279
42280 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
42281 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
42282
322562ea 422832008-04-10 Pavel Roskin <proski@gnu.org>
42284
42285 * configure.ac: Always use "_cv_" in cache variables for
42286 compatibility with Autoconf 2.62.
42287
a02a73c5 422882008-04-07 Robert Millan <rmh@aybabtu.com>
42289
42290 Revert grub/machine/init.h addition by Pavel (since it breaks on
42291 i386-ieee1275 and others):
42292 * util/i386/pc/misc.c: Remove grub/machine/init.h.
42293 * util/powerpc/ieee1275/misc.c: Likewise.
42294
25c024b1 422952008-04-07 Robert Millan <rmh@aybabtu.com>
42296
42297 * util/grub-probe.c (probe): Improve error message.
42298
3cbd2f98 422992008-04-07 Robert Millan <rmh@aybabtu.com>
42300
42301 * util/biosdisk.c (read_device_map): Skip devices that don't exist
42302 (this prevents the presence of a bogus entry from ruining the whole
42303 thing).
42304
87a297bf 423052008-04-06 Pavel Roskin <proski@gnu.org>
42306
36747a62 42307 * util/biosdisk.c: Include grub/util/biosdisk.h.
42308 * util/grub-fstest.c (execute_command): Make static.
42309 * util/grub-mkdevicemap.c (check_device): Likewise.
42310 * util/i386/pc/misc.c: Include grub/machine/init.h.
42311 * util/powerpc/ieee1275/misc.c: Likewise.
42312 * util/lvm.c: Include grub/util/lvm.h.
42313 * util/misc.c: Include grub/kernel.h, grub/misc.h and
42314 grub/cache.h.
42315 * util/raid.c: Include grub/util/raid.h.
42316 (grub_util_getdiskname): Make static.
42317
87a297bf 42318 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
42319 grub_hostfs_fini(), as they are called from grub_init_all() and
42320 grub_fini_all() respectively. This fixes an infinite loop in
42321 grub-fstest due to double registration of hostfs.
42322 Reported by Christian Franke <Christian.Franke@t-online.de>
42323
f6ce7629 423242008-04-05 Pavel Roskin <proski@gnu.org>
42325
42326 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
42327 all 8 functions. Otherwise, probe function 0 only.
42328
070e49e4 423292008-04-04 Pavel Roskin <proski@gnu.org>
42330
8b088a4c 42331 * commands/lspci.c (grub_lspci_iter): Print the bus number
42332 correctly.
42333
4f657021 42334 * commands/lspci.c (grub_pci_classes): Fix typos.
42335 (grub_lspci_iter): Don't print func twice. Print vendor ID
42336 before device ID, as it's normally done.
42337
070e49e4 42338 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
42339 Fix signedness warnings.
42340 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
42341 Likewise.
42342 * util/ieee1275/get_disk_name.c: Include config.h so that
42343 _GNU_SOURCE is defined and getline() is declared. Mark an
42344 unused argument as such. Fix a signedness warning.
42345
ba7328dc 423462008-04-02 Pavel Roskin <proski@gnu.org>
42347
26887f22 42348 * genkernsyms.sh.in: Use more robust assignments for CC and
42349 srcdir. Quote srcdir.
42350 * gensymlist.sh.in: Likewise. Assert at the compile time that
42351 the symbol table is not empty.
42352
ba7328dc 42353 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
42354 * fs/cpio.c (grub_cpio_read): Likewise.
42355
0f582c6b 423562008-04-01 Pavel Roskin <proski@gnu.org>
42357
4b6e1995 42358 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
42359 * disk/host.c (grub_host_open): Likewise.
42360 * disk/loopback.c (grub_loopback_open): Likewise.
42361 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
42362 disk->id as in disk/host.c, not a multi-character constant.
42363
828a2768 42364 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
42365 later is obsolete, potentially dangerous and sets a bad example.
42366 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
42367 * util/misc.c (grub_util_get_image_size): Likewise.
42368
2bb4fb47 42369 * disk/loopback.c (options): Improve help for "--partitions".
42370
0f582c6b 42371 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
42372 options to align them with the short options, e.g. "echo -e".
42373
a33224e0 423742008-03-31 Bean <bean123ch@gmail.com>
42375
42376 * video/reader/png.c (grub_png_data): New member is_16bit and
42377 image_data.
42378 (grub_png_decode_image_header): Detect 16 bit png image.
42379 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
42380 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
42381 (grub_video_reader_png): Release memory occupied by image_data.
42382
42383 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
42384 4096 bytes.
42385 (grub_nfs_mount): Skip the test for sector per cluster.
42386
42387 * include/grub/ntfs.h (MAX_SPC): Removed.
42388
86cb4f54 423892008-03-31 Bean <bean123ch@gmail.com>
42390
42391 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
42392 (grub_probe_SOURCES): Add fs/afs.c.
42393 (grub_fstest_SOURCES): Likewise.
42394 (afs_mod_SOURCES): New variable.
42395 (afs_mod_CFLAGS): Likewise.
42396 (afs_mod_LDFLAGS): Likewise.
42397
42398 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
42399 (grub_emu_SOURCES): Likewise.
42400
42401 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42402
42403 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42404
42405 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42406
42407 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42408
42409 * fs/afs.c: New file.
42410
17c74c21 424112008-03-30 Pavel Roskin <proski@gnu.org>
42412
4cb68e89 42413 * disk/host.c: Include grub/misc.h to fix a warning.
42414 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
42415 warnings about implicit declarations.
42416
8790bb04 42417 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
42418 variable.
42419 * include/grub/i386/loader.h: Change declaration of
42420 grub_linux_boot() to match what grub_loader_set() expects.
42421 * util/getroot.c (grub_guess_root_device): Return const char* to
42422 fix a warning.
42423 * util/grub-probe.c (probe): Fix a warning about uninitialized
42424 abstraction_name variable.
42425 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
42426 second argument as unused to fix a warning.
42427
9a3f3296 42428 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
42429 missing grub_error() call.
42430
0ecef90d 42431 * util/update-grub_lib.in: Define datarootdir, since Autoconf
42432 2.60 and newer uses it to define datadir.
42433
0bf6d401 42434 * commands/sleep.c: Fix warning about implicit declaration.
42435 * disk/memdisk.c: Likewise.
42436 * loader/aout.c: Likewise.
42437 * loader/i386/bsd_normal.c: Likewise.
42438 * util/grub-probe.c: Likewise.
42439
7cdacf97 42440 * commands/i386/cpuid.c (has_longmode): Make static.
42441 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
42442 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
42443
17c74c21 42444 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
42445 GDT. This is more robust, as %ds can change.
42446 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
42447 calling real_to_prot().
42448 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
42449
80a3e68b 424502008-03-28 Pavel Roskin <proski@gnu.org>
42451
42452 * kern/i386/pc/startup.S: Assert that uncompressed functions
42453 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
42454 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
42455 code, as they push parts of the code (error handlers) beyond
42456 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
42457 code as correctness and size.
42458
77bcd272 424592008-03-28 Pavel Roskin <proski@gnu.org>
42460
42461 * kern/i386/pc/startup.S
42462 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
42463 data block address to the real mode, keep offset minimal. This
42464 works around a bug in AWARD BIOS on old Athlon systems, which
42465 makes CD detection hang.
42466
c5dfd43b 424672008-03-26 Pavel Roskin <proski@gnu.org>
42468
42469 * normal/color.c (grub_parse_color_name_pair): Make `name' a
42470 const.
42471 * include/grub/normal.h: Add grub_parse_color_name_pair()
42472 declaration.
42473
bf962df2 424742008-03-24 Bean <bean123ch@gmail.com>
42475
42476 * disk/i386/pc/biosdisk.c (cd_start): Removed.
42477 (cd_count): Removed.
42478 (cd_drive): New variable.
42479 (grub_biosdisk_get_drive): Don't check for (cdN) device.
42480 (grub_biosdisk_call_hook): Likewise.
42481 (grub_biosdisk_iterate): Change cdrom detection method.
42482 (grub_biosdisk_open): Replace cd_start with cd_drive.
42483 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
42484 detect cdrom device.
42485
42486 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
42487 Removed.
42488 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
42489 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
42490 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
42491 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
42492 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
42493 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
42494 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
42495 (grub_biosdisk_cdrp): New structure.
42496 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
42497
42498 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
42499
42500 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
42501 device.
42502
42503 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
42504 New function.
42505
68e7fc7a 425062008-03-20 Robert Millan <rmh@aybabtu.com>
42507
42508 Remove 2 TiB limit in ata.mod.
42509 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
42510 (grub_ata_dumpinfo): Print sector count with 0x%llx.
42511 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
42512 grub_uint64_t instead of grub_uint32_t.
42513
38ad2cf5 425142008-03-05 Bean <bean123ch@gmail.com>
42515
42516 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
42517 (grub_multiboot): Set boot device.
42518
42519 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
42520
2b89344e 425212008-03-02 Bean <bean123ch@gmail.com>
42522
42523 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
42524 symlink_buffer.
42525
87a95d1f 425262008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
42527
42528 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
42529 texinfo.tex.
42530
42531 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
42532 modified.
42533
42534 * docs/fdl.texi: New file.
f19dbdb7 42535
87a95d1f 42536 * docs/mdate-sh: New file. Copied from gnulib.
42537 * docs/texinfo.tex: Likewise.
42538
42539 * config.guess: Updated from gnulib.
42540 * install-sh: Likewise.
42541
7dc15d8e 425422008-02-28 Robert Millan <rmh@aybabtu.com>
42543
42544 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
42545 (aout_mod_SOURCES): New variable.
42546 (aout_mod_CFLAGS): Likewise.
42547 (aout_mod_LDFLAGS): Likewise.
42548
42549 * conf/i386-ieee1275.rmk: Likewise.
42550
b00ab696 425512008-02-28 Robert Millan <rmh@aybabtu.com>
42552
42553 * util/update-grub.in: Reorganise terminal validity check. Accept
42554 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
42555 Based on suggestion by Franklin PIAT.
42556
79ca2d78 425572008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
42558
42559 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
42560 function.
42561 * util/getroot.c (grub_util_check_block_device): New function that
42562 returns the given argument if it is a block device and returns NULL else.
42563 * util/grub-probe.c (argument_is_device): New variable.
42564 (probe): Promote device_name from a variable to an argument. Receive
42565 device_name from grub_util_check_block_device() if path is NULL and from
42566 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 42567 (options): Introduce new parameter '-d, --device'.
79ca2d78 42568 (main): Add description of the new parameter to the help screen.
42569 Rename path variable to argument. Set argument_is_device if the '-d'
42570 option is given. Pass argument to probe() depending on
42571 argument_is_device.
42572
0d16e571 425732008-02-24 Bean <bean123ch@gmail.com>
42574
42575 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
42576 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
42577 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
42578 (GRUB_ISO9660_VOLDESC_PART): Likewise.
42579 (GRUB_ISO9660_VOLDESC_END): Likewise.
42580 (grub_iso9660_primary_voldesc): New member escape.
42581 (grub_iso9660_data): New member joliet.
42582 (grub_iso9660_convert_string): New function.
42583 (grub_iso9660_mount): Detect joliet extension.
42584 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
42585 (grub_iso9660_iso9660_label): Likewise.
42586
42587 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
42588 (grub_setup_SOURCES): Add fs/udf.c.
42589 (grub_fstest_SOURCES): Likewise.
42590 (udf_mod_SOURCES): New variable.
42591 (udf_mod_CFLAGS): Likewise.
42592 (udf_mod_LDFLAGS): Likewise.
42593
42594 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
42595 (grub_emu_SOURCES): Likewise.
42596
42597 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42598
42599 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42600
42601 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42602
42603 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42604
42605 * fs/udf.c: New file.
42606
8a594a17 426072008-02-24 Robert Millan <rmh@aybabtu.com>
42608
42609 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
42610 (normal/lexer.c_DEPENDENCIES): New variables.
42611 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
42612 (normal/lexer.c_DEPENDENCIES): Likewise.
42613 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
42614 (normal/lexer.c_DEPENDENCIES): Likewise.
42615 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
42616 (normal/lexer.c_DEPENDENCIES): Likewise.
42617 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
42618 (normal/lexer.c_DEPENDENCIES): Likewise.
42619 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
42620 (normal/lexer.c_DEPENDENCIES): Likewise.
42621
2dc33c03 426222008-02-23 Robert Millan <rmh@aybabtu.com>
42623
42624 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
42625 since they were intended to be in hex. This didn't break previously
42626 because of a bug in gpt_partition_map_iterate() (see below).
42627
42628 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
42629 when checking the validity of GPT header.
42630 Remove `partno', since it always provides the same information as `i'.
42631
f6f4cfb0 426322008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
42633
42634 * include/grub/efi/time.h: Fix a wrong comment.
42635
79ff665f 426362008-02-19 Pavel Roskin <proski@gnu.org>
42637
42638 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
42639 message.
42640
d38e24c2 426412008-02-19 Bean <bean123ch@gmail.com>
42642
42643 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
42644 (aout_mod_SOURCES): New variable.
42645 (aout_mod_CFLAGS): Likewise.
42646 (aout_mod_LDFLAGS): Likewise.
42647 (_bsd_mod_SOURCES): New variable.
42648 (_bsd_mod_CFLAGS): Likewise.
42649 (_bsd_mod_LDFLAGS): Likewise.
42650 (bsd_mod_SOURCES): New variable.
42651 (bsd_mod_CFLAGS): Likewise.
42652 (bsd_mod_LDFLAGS): Likewise.
42653
42654 * include/grub/aout.h: New file.
42655
42656 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
42657
42658 * include/grub/i386/bsd.h: New file.
42659
42660 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
42661 to make it public.
42662
42663 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
42664 function is called, so that it's possible to change it inside the hook.
42665 (grub_elf64_load): Likewise.
42666 (grub_elf_file): Don't close the file if elf header is not found.
42667 (grub_elf_close): Close the file if grub_elf_file fails (The new
42668 grub_elf_file won't close it).
42669 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
42670 (grub_elf64_size): Likewise.
42671
42672 * kern/i386/loader.S (grub_unix_real_boot): New function.
42673
42674 * loader/aout.c: New file.
42675
42676 * loader/i386/bsd.c: New file.
42677
42678 * loader/i386/bsd_normal.c: New file.
42679
42680 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
42681
42682 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 42683 can test other formats.
d38e24c2 42684
b93bdb0f 426852008-02-19 Robert Millan <rmh@aybabtu.com>
42686
42687 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
42688 (grub_gpt_partition_type_empty): Redefine with macro from
42689 `<grub/gpt_partition.h>'.
42690 (gpt_partition_map_iterate): Adjust partition type comparison.
42691
42692 Export `entry' as partmap-specific `part.data' struct.
42693 (grub_gpt_header, grub_gpt_partentry): Move from here ...
42694
42695 * include/grub/gpt_partition.h (grub_gpt_header)
42696 (grub_gpt_partentry): ... to here (new file).
42697
42698 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
42699
42700 (grub_gpt_partition_type_bios_boot): New const variable, defined
42701 with macro from `<grub/gpt_partition.h>'.
42702
42703 (setup): Replace `first_start' with `embed_region', which keeps
42704 track of the embed region (and is partmap-agnostic).
42705
42706 Replace find_first_partition_start() with find_usable_region(),
42707 which finds a usable region for embedding using partmap-specific
42708 knowledge (supports PC/MSDOS and GPT).
42709
42710 Fix all assumptions that the embed region start at sector 1, using
42711 `embed_region.start' from now on. Similarly, use `embed_region.end'
42712 rather than `first_start' to calculate available size.
42713
42714 In grub_util_info() message, replace "into after the MBR" with an
42715 indication of the specific sector our embed region starts at.
42716
66cb40f6 427172008-02-19 Robert Millan <rmh@aybabtu.com>
42718
42719 * DISTLIST: Replace `commands/ieee1275/halt.c' and
42720 `commands/ieee1275/reboot.c' with `commands/halt.c' and
42721 `commands/reboot.c'.
42722 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
42723 (halt_mod_SOURCES): Likewise.
42724 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
42725 (halt_mod_SOURCES): Likewise.
42726
b7202015 427272008-02-17 Christian Franke <franke@computer.org>
42728
42729 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
42730
32b0fc49 427312008-02-17 Robert Millan <rmh@aybabtu.com>
42732
42733 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
42734 set `first_start' to 0 for non-PC/MSDOS partition maps.
42735
aca63502 427362008-02-16 Robert Millan <rmh@aybabtu.com>
42737
42738 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
42739 do not assume partition map is PC/MSDOS before performing checks that
42740 are specific to that layout.
42741
0de8be86 427422008-02-13 Robert Millan <rmh@aybabtu.com>
42743
42744 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
42745 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
42746 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
42747
c3db8364 427482008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
42749
42750 * configure.ac: Only a cosmetic change on the handling of
42751 -fno-stack-protector.
42752
f714229e 427532008-02-12 Alexandre Boeglin <alex@boeglin.org>
42754
c3db8364 42755 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
42756 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
42757 reboot.c.
f714229e 42758 (grub_install_SOURCES): Add halt.mod and reboot.mod.
42759 (halt_mod_SOURCES): New variable.
42760 (halt_mod_CFLAGS): Likewise.
42761 (halt_mod_LDFLAGS): Likewise.
42762 (reboot_mod_SOURCES): Likewise.
42763 (reboot_mod_CFLAGS): Likewise.
42764 (reboot_mod_LDFLAGS): Likewise.
42765
c3db8364 42766 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
42767 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
42768 reboot.c.
f714229e 42769 (halt_mod_SOURCES): Likewise.
42770 (reboot_mod_SOURCES): Likewise.
42771
c3db8364 42772 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
42773 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 42774 (reboot_mod_SOURCES): Likewise.
42775
42776 * commands/i386/pc/reboot.c: merge this file ...
42777
42778 * commands/ieee1275/reboot.c: ... and this file ...
42779
42780 * commands/reboot.c: ... to this file.
c3db8364 42781 Add some precompiler directive to include the correct header for
42782 each machine.
f714229e 42783
42784 * commands/ieee1275/halt.c: move this file ...
42785
42786 * commands/halt.c: ... to here.
c3db8364 42787 Add some precompiler directive to include the correct header for
42788 each machine.
f714229e 42789
42790 * include/grub/efi/efi.h (grub_reboot): New function declaration.
42791 (grub_halt): Likewise.
42792
42793 * kern/efi/efi.c (grub_reboot): New function.
42794 (grub_halt): Likewise.
42795
c74493e0 427962008-02-12 Robert Millan <rmh@aybabtu.com>
42797
42798 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
42799 /dev (like it is done for /dev/mapper). This doesn't provide support
42800 for EVMS, but at least it is now easy to identify the problem when it
42801 arises.
42802
d0db4b04 428032008-02-11 Robert Millan <rmh@aybabtu.com>
42804
42805 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
42806 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
42807 comparing it with -1, not 0.
42808
bf748642 428092008-02-10 Robert Millan <rmh@aybabtu.com>
42810
42811 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
42812 `disk/lvm.c'.
42813 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42814 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
42815
42816 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
42817 `disk/lvm.c' to the end of the list.
42818 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42819 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
42820
b5db202a 428212008-02-10 Robert Millan <rmh@aybabtu.com>
42822
42823 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
42824 grub_print_error() instead. This will let user know why we're entering
42825 rescue mode.
42826 Based on suggestions from Sam Morris.
42827
83abee31 428282008-02-10 Alexandre Boeglin <alex@boeglin.org>
42829
42830 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
42831 on remaining N args, instead of "--" arg N times.
42832
78d5a08b 428332008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
42834
42835 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
42836 (fill_with_default_glyph): Changed to use unknown_glyph for fill
42837 pattern for unknown glyphs.
42838
68807e5f 428392008-02-09 Robert Millan <rmh@aybabtu.com>
42840
42841 * configure.ac: Probe for `help2man'.
42842 * Makefile.in (builddir): New variable.
42843 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
42844 or otherwise add a few flags/options to it.
42845 (install-local): For every executable utility or script that is
42846 installed, invoke $(HELP2MAN) to install a manpage based on --help
42847 output.
42848
42849 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
42850 that it doesn't prevent --help from working in build tree.
42851
42852 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
42853 with `bug-grub@gnu.org'.
42854 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
42855 * util/update-grub.in (usage): New function.
42856 Implement proper argument check, with support for --help and --version
42857 (as well as existing -y).
42858
428592008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 42860
42861 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
42862 avoid overwriting previous output.
42863 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
42864
c1962162 428652008-02-09 Robert Millan <rmh@aybabtu.com>
42866
42867 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
42868 drawing the menu.
42869
3dac2e3f 428702008-02-09 Robert Millan <rmh@aybabtu.com>
42871
42872 * commands/sleep.c: New file.
42873 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
42874 (sleep_mod_SOURCES): New variable.
42875 (sleep_mod_CFLAGS): Likewise.
42876 (sleep_mod_LDFLAGS): Likewise.
42877
7a634e08 428782008-02-09 Robert Millan <rmh@aybabtu.com>
42879
42880 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
42881 situations in which we can deduce the RAID size and the superblock
42882 doesn't match it.
42883
b92f0c18 428842008-02-09 Robert Millan <rmh@aybabtu.com>
42885
42886 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
42887 and return a grub_diskmemberlist_t composed of LVM physical volumes.
42888 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
42889
42890 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
42891 and return a grub_diskmemberlist_t composed of physical array members.
42892 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
42893
42894 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
42895 prototype.
42896 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
42897 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
42898 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
42899
42900 * util/grub-probe.c (probe): Move partmap probing code from here ...
42901 (probe_partmap): ... to here.
42902 (probe): Use probe_partmap() once for the disk we're probing, and
42903 additionally, when such disk contains a memberlist() struct member,
42904 once for each disk that is contained in the structure returned by
42905 memberlist().
42906
91a4bf68 429072008-02-09 Robert Millan <rmh@aybabtu.com>
42908
42909 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
42910 environment variable to 'all' in order to obtain debug output from
42911 non-util/ code.
42912 * util/i386/pc/grub-setup.c (main): Likewise.
42913
a96f9caa 429142008-02-08 Robert Millan <rmh@aybabtu.com>
42915
42916 * disk/raid.c (grub_raid_scan_device): Check for
42917 `array->device[sb.this_disk.number]' rather than for
42918 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 42919 guaranteed to be accessible.
a96f9caa 42920
b37a9222 429212008-02-08 Robert Millan <rmh@aybabtu.com>
42922
42923 * disk/raid.c: Update copyright.
42924 * fs/cpio.c: Likewise.
42925 * include/grub/raid.h: Likewise.
42926 * loader/i386/pc/multiboot.c: Likewise.
42927 * util/hostfs.c: Likewise.
42928
5626aee1 429292008-02-08 Robert Millan <rmh@aybabtu.com>
42930
42931 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
42932 to a grub_disk_t array.
42933 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
42934 `device[x]'.
42935 (grub_raid_scan_device): Replace `device[x].name' accesses with
42936 `device[x]->name'. Simplify initialization of `array->device[x]'.
42937
554f0187 429382008-02-08 Robert Millan <rmh@aybabtu.com>
42939
42940 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
42941 grub_dprintf() calls.
42942 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
42943 error message.
42944
1ec8425d 429452008-02-07 Christian Franke <franke@computer.org>
42946
42947 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
42948 instead of fseek and ftell to support large files.
42949 (grub_hostfs_read): Likewise.
42950
f2156fda 429512008-02-07 Robert Millan <rmh@aybabtu.com>
42952
42953 Patch from Jeroen Dekkers.
42954 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 42955 failure, since successfully reading all array members might not be
f2156fda 42956 required.
42957
9216e0e7 429582008-02-06 Robert Millan <rmh@aybabtu.com>
42959
42960 * util/grub-probe.c (probe): Simplify partmap probing (with the
42961 assumption that the first word up to the underscore equals to
42962 the module name).
42963
b0dfd29a 429642008-02-06 Christian Franke <franke@computer.org>
42965
42966 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
42967 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
42968 last block of a cpio or tar stream.
42969 Check for "TRAILER!!!" instead of any empty data
42970 block to detect last block of a cpio stream.
42971 (grub_cpio_dir): Fix constness of variable np.
42972 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
42973 cpio or tar trailer is detected. This fixes a crash
42974 on open of a non existing file.
42975
c32865bf 429762008-02-05 Bean <bean123ch@gmail.com>
42977
42978 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
42979 address of entry.
42980 (grub_multiboot_load_elf64): Likewise.
42981 (grub_multiboot): Initialize mbi structure.
42982
42983 * util/grub-fstest.c: Don't include unused header file script.h.
42984
fe6b695a 42985 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 42986 of file.
42987 (grub_fstest_SOURCES): Likewise.
42988
409480b7 429892008-02-05 Robert Millan <rmh@aybabtu.com>
42990
42991 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
42992 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
42993 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
42994 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
42995
42996 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
42997 (translation_table): Replace hardcoded values with macros
42998 provided by `<grub/term.h>'.
42999
43000 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
43001 (keyboard_map): Correct/add a few values, with macros provided
43002 by `<grub/term.h>'.
43003 (keyboard_map_shift): Zero values that don't differ from their
43004 `keyboard_map' equivalents.
43005 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
43006 Discard the second scan code that is always sent by Caps lock.
43007 Only use `keyboard_map_shift' when it provides a non-zero value,
43008 otherwise fallback to `keyboard_map'.
43009
99fadbaa 430102008-02-04 Bean <bean123ch@gmail.com>
43011
43012 * Makefile.in (enable_grub_fstest): New variable.
43013
43014 * conf/common.rmk (grub_fstest_init.lst): New rule.
43015 (grub_fstest_init.h): Likewise.
43016 (grub_fstest_init.c): Likewise.
43017 (util/grub-fstest.c_DEPENDENCIES): New variable.
43018 (grub_fstest_SOURCES): Likewise.
43019
43020 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
43021
43022 * util/grub-fstest.c: New file.
43023
bf567c50 430242008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43025
43026 Make grub-setup handle a separate root device.
f19dbdb7 43027
bf567c50 43028 * util/i386/pc/grub-setup.c (setup): Always open the root device,
43029 so that the root device can be compared with the destination
43030 device.
43031 When embedding the core image, if the root and destination devices
43032 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
43033 0xFF.
43034 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 43035
9be6b98b 430362008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43037
43038 Add support for having a grub directory in a different drive. This
43039 is still only the data handling part.
f19dbdb7 43040
9be6b98b 43041 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
43042 (codestart): Save %dh in GRUB_ROOT_DRIVE.
43043 (grub_root_drive): New variable.
43044
43045 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
43046 instead of GRUB_BOOT_DRIVE to construct a device name. Set
43047 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
43048 as it was.
43049
43050 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
43051
43052 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
43053 macro.
43054 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
43055
43056 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
43057 is bogus, because PXE booting does not specify any drive
43058 correctly.
43059
43060 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
43061 am not sure if this is really correct.
43062
43063 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
43064 is always identical to the boot drive when booting from a CD.
43065
43066 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
43067 longer.
43068 (root_drive): New variable.
43069 (real_start): Unconditionally set %dh to ROOT_DRIVE.
43070 (setup_sectors): Push %dx right after popping it, because %dh will
43071 be modified later.
43072 (copy_buffer): Restore %dx.
43073
e0ca0677 430742008-02-03 Robert Millan <rmh@aybabtu.com>
43075
43076 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
43077 use `cdboot.img' for cdrom images.
43078
3b3f6629 430792008-02-03 Robert Millan <rmh@aybabtu.com>
43080
43081 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
43082 only setup gfxterm when `font' command has succeeded.
43083
d42b3672 430842008-02-03 Robert Millan <rmh@aybabtu.com>
43085
43086 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
43087 (grub_rescue_cmd_multiboot_loader)
43088 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
43089
fa370ea6 430902008-02-03 Pavel Roskin <proski@gnu.org>
43091
e0c5dacb 43092 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 43093 %edx and %esi from stack only after grub_gate_a20() is called.
43094 grub_gate_a20() clobbers %edx.
43095
f2a76e1d 430962008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43097
43098 * configure.ac (AC_INIT): Bumped to 1.96.
43099
43100 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
43101 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
43102 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
43103 video/readers/png.c.
43104
90fd32d1 431052008-02-03 Bean <bean123ch@gmail.com>
9be665dd 43106
43107 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
43108 (cdboot_img_SOURCES): New variable.
43109 (cdboot_img_ASFLAGS): New variable.
43110 (cdboot_img_LDFLAGS): New variable.
43111
43112 * boot/i386/pc/cdboot.S: New file.
43113
43114 * disk/i386/pc/biosdisk.c (cd_start): New variable.
43115 (cd_count): Likewise.
43116 (grub_biosdisk_get_drive): Add support for cd device.
43117 (grub_biosdisk_call_hook): Likewise.
43118 (grub_biosdisk_iterate): Likewise.
43119 (grub_biosdisk_open): Likewise.
43120 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
43121 (grub_biosdisk_rw): Support reading from cd device.
43122 (GRUB_MOD_INIT): Iterate cd devices.
43123
43124 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
43125 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
43126 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
43127
43128 * kern/i386/pc/init.c (make_install_device): Check for cd device.
43129
4020aa53 431302008-02-02 Robert Millan <rmh@aybabtu.com>
43131
43132 * commands/read.c: New file.
43133 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
43134 (read_mod_SOURCES): New variable.
43135 (read_mod_CFLAGS): Likewise.
43136 (read_mod_LDFLAGS): Likewise.
43137
e03a1132 431382008-02-02 Robert Millan <rmh@aybabtu.com>
43139
43140 * normal/main.c (grub_normal_execute): Check for `menu->size' when
43141 determining whether menu has to be displayed.
43142
58c69220 431432008-02-02 Marco Gerards <marco@gnu.org>
43144
43145 * bus/pci.c: New file.
43146
43147 * include/grub/pci.h: Likewise.
43148
43149 * include/grub/i386/pc/pci.h: Likewise.
43150
43151 * commands/lspci.c: Likewise.
43152
43153 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
43154 `lspci.mod'.
43155 (pci_mod_SOURCES): New variable.
43156 (pci_mod_CFLAGS): Likewise.
43157 (pci_mod_LDFLAGS): Likewise.
43158 (lspci_mod_SOURCES): Likewise.
43159 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 43160 (lspci_mod_LDFLAGS): Likewise.
58c69220 43161
c004e1b4 431622008-02-02 Bean <bean123ch@gmail.com>
43163
43164 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
43165 (grub_ufs_get_file_block): Fix indirect block calculation problem.
43166
43167 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
43168 (grub_xfs_btree_node): New structure.
43169 (grub_xfs_btree_root): New structure.
43170 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
43171 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
43172 (GRUB_XFS_EXTENT_BLOCK): Likewise.
43173 (GRUB_XFS_EXTENT_SIZE): Likewise.
43174 (grub_xfs_read_block): Support btree format type.
43175 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
43176 Use directory block as basic unit.
43177
43178 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
43179
43180 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
43181 __attribute__ ((__regparm__ (1))).
43182
f95562bf 431832008-02-01 Robert Millan <rmh@aybabtu.com>
43184
43185 Correct a mistake in previous commit.
43186
43187 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
43188 top.
43189 (normal/command.c_DEPENDENCIES): New variable.
43190
7d31f41f 431912008-02-01 Robert Millan <rmh@aybabtu.com>
43192
43193 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
43194 top.
43195 (normal/command.c_DEPENDENCIES): New variable.
43196 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
43197 * conf/i386-ieee1275.rmk: Likewise.
43198 * conf/i386-linuxbios.rmk: Likewise.
43199 * conf/i386-pc.rmk: Likewise.
43200 * conf/sparc64-ieee1275.rmk: Likewise.
43201 * conf/powerpc-ieee1275.rmk: Likewise.
43202 (grub_emu_SOURCES): Add `fs/fshelp.c'.
43203
43204 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
43205
60b6be74 432062008-02-01 Robert Millan <rmh@aybabtu.com>
43207
43208 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
43209 call at beginning of function.
43210
078522ab 432112008-01-31 Pavel Roskin <proski@gnu.org>
43212
43213 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 43214 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
43215 (grub_mkrescue_SOURCES): Likewise.
078522ab 43216 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
43217
ccaa8a5f 432182008-01-30 Robert Millan <rmh@aybabtu.com>
43219
43220 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
43221 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
43222 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
43223 (grub_probe_SOURCES): ... to here.
43224
43225 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
43226 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
43227 * conf/i386-ieee1275.rmk: Likewise.
43228 * conf/i386-linuxbios.rmk: Likewise.
43229 * conf/powerpc-ieee1275.rmk: Likewise.
43230
ae5a9cd7 432312008-01-30 Tristan Gingold <gingold@free.fr>
43232
43233 * kern/rescue.c: Silently accept empty lines.
43234
70bc2ef2 432352008-01-29 Bean <bean123ch@gmail.com>
43236
43237 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
43238 (real_code_2): Code cleanup and change comment style.
43239 (move_memory): Avoid using 32-bit address mode.
43240
6a4d50ea 432412008-01-29 Bean <bean123ch@gmail.com>
43242
43243 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
43244 (png_mod_SOURCES): New variable.
43245 (png_mod_CFLAGS): Likewise.
43246 (png_mod_LDFLAGS): Likewise.
43247
43248 * video/readers/png.c: New file.
43249
11cc30ac 432502008-01-28 Robert Millan <rmh@aybabtu.com>
43251
43252 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
43253 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
43254 `ifndef GRUB_MOD_GAP' hack.
43255 * util/elf/grub-mkimage.c (add_segments): Likewise.
43256
3abc589f 432572008-01-27 Robert Millan <rmh@aybabtu.com>
43258
43259 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
43260 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 43261 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 43262
e1907778 432632008-01-27 Robert Millan <rmh@aybabtu.com>
43264
43265 Get grub-emu to build again (including parallel builds).
43266
43267 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
43268 Split into ...
43269 (util/grub-emu.c_DEPENDENCIES): ... this, ...
43270 (normal/execute.c_DEPENDENCIES): ... this, ...
43271 (grub-emu_DEPENDENCIES): ... and this.
43272
43273 * conf/i386-efi.rmk: Likewise.
43274 * conf/i386-linuxbios.rmk: Likewise.
43275 * conf/i386-ieee1275.rmk: Likewise.
43276 * conf/powerpc-ieee1275.rmk: Likewise.
43277 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
43278
2216b101 432792008-01-27 Robert Millan <rmh@aybabtu.com>
43280
43281 * NEWS: Add a few items.
43282
f75172d9 432832008-01-27 Robert Millan <rmh@aybabtu.com>
43284
43285 Fix parallel builds with grub-emu. Based on earlier commit for
43286 grub-probe and grub-setup.
43287
43288 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43289 (util/grub-emu.c_DEPENDENCIES): ... this.
43290 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43291 (util/grub-emu.c_DEPENDENCIES): ... this.
43292 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43293 (util/grub-emu.c_DEPENDENCIES): ... this.
43294 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43295 (util/grub-emu.c_DEPENDENCIES): ... this.
43296 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43297 (util/grub-emu.c_DEPENDENCIES): ... this.
43298
3f51de77 432992008-01-27 Pavel Roskin <proski@gnu.org>
43300
43301 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
43302 to create a gap between _end and the modules added to the image
43303 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
43304 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
43305 * util/elf/grub-mkimage.c (add_segments): Likewise.
43306
2033f53e 433072008-01-26 Pavel Roskin <proski@gnu.org>
43308
43309 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
43310 just return an error.
43311
22da1f6f 433122008-01-26 Bean <bean123ch@gmail.com>
43313
43314 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
43315 (grub_reiserfs_get_item): Save offset of the next item.
43316 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
43317
2a9525e6 433182008-01-25 Robert Millan <rmh@aybabtu.com>
43319
43320 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
43321 make all filesystem sources appear together (possibly fixing omissions
43322 while at it).
43323 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43324 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43325 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43326 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43327
43328 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
43329 add `kern/file.c'.
43330 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
43331 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
43332 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
43333 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
43334
43335 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
43336 (probe): Add a sanity check to make sure of our ability to read
43337 requested files when probing for filesystem type.
43338
43339 * genmk.rb: Update copyright year (2007).
43340
43341 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
43342 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
43343 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
43344 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
43345 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
43346 : Remove function prototypes.
43347
b95f71b5 433482008-01-25 Robert Millan <rmh@aybabtu.com>
43349
43350 Revert my previous commits (based on wrong assumption of how grub_errno
43351 works).
43352
fe6b695a 43353 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 43354 * kern/file.c (grub_file_open): Likewise.
43355
d08bbb49 433562008-01-24 Pavel Roskin <proski@gnu.org>
43357
43358 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
43359 that hang if GRUB tries to setup colors.
43360 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
43361 colors for firmwares that don't support it.
43362 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
43363 Recognize Open Hack'Ware, set flags to work around its
43364 limitations.
43365
605e36ed 433662008-01-24 Robert Millan <rmh@aybabtu.com>
43367
43368 * kern/file.c (grub_file_open): Do not account previous failures of
43369 unrelated functions when grub_errno is checked for.
43370 Reported by Oleg Strikov.
43371
bac332a1 433722008-01-24 Bean <bean123ch@gmail.com>
43373
43374 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
43375 (grub_ufs_sblock): New member volume name.
43376 (grub_ufs_find_file): Fix string copy bug.
43377 (grub_ufs_label): Implement this function properly.
43378
43379 * fs/hfs.c (grub_hfs_cnid_type): New enum.
43380 (grub_hfs_iterate_records): Use the correct file number for extents
43381 and catalog file. Fix problem in next index calculation.
43382 (grub_hfs_find_node): Replace recursive function call with loop.
43383 (grub_hfs_iterate_dir): Replace recursive function call with loop.
43384
15c80c09 433852008-01-23 Robert Millan <rmh@aybabtu.com>
43386
43387 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
43388 `<grub/symbol.h>' and `<grub/multiboot.h>'.
43389 (grub_multiboot2_real_boot): New function prototype.
43390
43391 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
43392 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
43393
43394 * kern/i386/ieee1275/init.c (grub_os_area_addr)
43395 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
43396
305338fd 433972008-01-23 Robert Millan <rmh@aybabtu.com>
43398
43399 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
43400 #ifdef'ed out grub_printf().
43401
3ea52685 434022008-01-23 Robert Millan <rmh@aybabtu.com>
43403
43404 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
43405 grub_dprintf calls, since they make "debug=all" mode unusable.
43406 (grub_console_checkkey): Likewise.
43407
5882ae4b 434082008-01-23 Robert Millan <rmh@aybabtu.com>
43409
43410 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
43411 `term/i386/pc/at_keyboard.c'.
43412 (pkglib_MODULES): Add `serial.mod'.
43413 (serial_mod_SOURCES): New variable.
43414 (serial_mod_CFLAGS): Likewise.
43415 (serial_mod_LDFLAGS): Likewise.
43416
43417 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
43418 `<grub/powerpc/ieee1275/console.h>'.
43419 (grub_keyboard_controller_init): New function prototype.
43420 (grub_console_checkkey): Likewise.
43421 (grub_console_getkey): Likewise.
43422
43423 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
43424 keyboard on i386.
43425
43426 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
43427 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
43428
06ab5303 434292008-01-23 Robert Millan <rmh@aybabtu.com>
43430
43431 * kern/i386/pc/init.c (make_install_device): When memdisk image is
43432 present, "(memdisk)/boot/grub" becomes the default prefix.
43433
43434 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
43435 a memdisk tarball with all the modules. Add --overlay=DIR option that
43436 allows users to overlay additional files into the image.
43437
dbb475a4 434382008-01-23 Robert Millan <rmh@aybabtu.com>
43439
43440 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
43441 and `machine/memory.h'.
43442 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
43443 (_multiboot_mod_SOURCES): New variable.
43444 (_multiboot_mod_CFLAGS): Likewise.
43445 (_multiboot_mod_LDFLAGS): Likewise.
43446 (multiboot_mod_SOURCES): Likewise.
43447 (multiboot_mod_CFLAGS): Likewise.
43448 (multiboot_mod_LDFLAGS): Likewise.
43449
43450 * include/grub/i386/ieee1275/loader.h: New file.
43451
43452 * include/grub/i386/ieee1275/machine.h: Likewise.
43453
43454 * include/grub/i386/ieee1275/memory.h: Likewise.
43455
43456 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
43457 variable declaration.
43458 (grub_os_area_size): Likewise.
43459
43460 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
43461 (grub_lower_mem, grub_upper_mem): New variables.
43462 (grub_stop_floppy): New function (just to make
43463 grub_multiboot2_real_boot() happy).
43464
43465 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
43466 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
43467 (grub_stop): New function.
43468 Include `"../realmode.S"' and `"../loader.S"'.
43469
43470 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
43471 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
43472
43473 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
43474 rely on grub_multiboot2_real_boot() for final boot.
43475
25638629 434762008-01-22 Robert Millan <rmh@aybabtu.com>
43477
43478 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
43479 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
43480 device that doesn't look like an SD card.
43481 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
43482 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
43483 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
43484 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
43485 found.
43486
9dad816d 434872008-01-22 Robert Millan <rmh@aybabtu.com>
43488
43489 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
43490 avoid claiming over our own code.
43491
34842f2d 434922008-01-22 Bean <bean123ch@gmail.com>
43493
43494 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
43495 (jpeg_mod_SOURCES): New variable.
43496 (jpeg_mod_CFLAGS): Likewise.
43497 (jpeg_mod_LDFLAGS): Likewise.
43498
43499 * video/readers/jpeg.c : New file.
43500
44023a28 435012008-01-22 Bean <bean123ch@gmail.com>
43502
43503 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
43504 there are no more items.
43505
bc2d8ac6 435062008-01-21 Robert Millan <rmh@aybabtu.com>
43507
43508 * kern/mm.c (grub_mm_init_region): Improve debug message.
43509
261bd4bc 435102008-01-21 Robert Millan <rmh@aybabtu.com>
43511
43512 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
43513 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
43514 address.
43515 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
43516 a C macro.
43517 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
43518 Indicates start of upper memory.
43519 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
43520 (generate_image): Abort when image size is big enough to corrupt
43521 upper memory.
43522
43523 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
43524 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
43525 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
43526 instead of hardcoding 0xA0000.
43527 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
43528 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
43529 instead of hardcoding 0xA0000.
43530
f970b55e 435312008-01-21 Robert Millan <rmh@aybabtu.com>
43532
43533 * disk/memdisk.c (memdisk_size): New variable.
43534 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
43535 `memdisk_size'.
43536 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
43537 image to dynamic memory.
43538 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
43539 `memdisk_size'. Free memdisk block.
43540
1a8b0526 435412008-01-21 Robert Millan <rmh@aybabtu.com>
43542
43543 Fix detection of very small filesystems (like tar).
43544
43545 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
43546 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
43547 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
43548 a problem with this disk).
43549
6e9b4aab 435502008-01-21 Robert Millan <rmh@aybabtu.com>
43551
43552 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
43553 on grub_biosdisk_rw_standard() error.
43554
0d8837b2 435552008-01-21 Robert Millan <rmh@aybabtu.com>
43556
43557 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
43558 recent changes.
43559 * kern/elf.c: Likewise.
43560 * kern/ieee1275/ieee1275.c: Likewise.
43561 * kern/powerpc/ieee1275/openfw.c: Likewise.
43562 * term/ieee1275/ofconsole.c: Likewise.
43563
ffd36e34 435642008-01-21 Robert Millan <rmh@aybabtu.com>
43565
43566 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
43567
3f0093d0 43568 * include/grub/kernel.h (grub_arch_memdisk_addr)
43569 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 43570
3f0093d0 43571 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
43572 (grub_arch_memdisk_size): ... to here.
ffd36e34 43573
6c391b21 435742008-01-21 Robert Millan <rmh@aybabtu.com>
43575
43576 Mostly based on bugfix from Bean.
43577
43578 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
43579 attribute with hook() parameter.
43580 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
43581 declaration.
43582 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
43583 attribute with hook() parameter.
43584 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
43585 declaration.
43586
55a581dc 435872008-01-21 Robert Millan <rmh@aybabtu.com>
43588
43589 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
43590 (pkglib_MODULES): Add `memdisk.mod'.
43591 (memdisk_mod_SOURCES): New variable.
43592 (memdisk_mod_CFLAGS): Likewise.
43593 (memdisk_mod_LDFLAGS): Likewise.
43594
43595 * disk/memdisk.c: New file.
43596
43597 * include/grub/disk.h (grub_disk_dev_id): Add
43598 `GRUB_DISK_DEVICE_MEMDISK_ID'.
43599
43600 * include/grub/i386/pc/kernel.h
43601 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
43602 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
43603 (grub_kernel_image_size): New variable declaration.
43604 (grub_total_module_size): Likewise.
43605 (grub_memdisk_image_size): Likewise.
43606
43607 * include/grub/i386/pc/memory.h
43608 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
43609
43610 * include/grub/kernel.h: Include `<grub/symbol.h>'.
43611 (grub_arch_memdisk_addr): New variable declaration.
43612 (grub_arch_memdisk_size): Likewise.
43613
43614 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
43615 (grub_arch_memdisk_size): Likewise.
43616
43617 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
43618 (codestart): Replace hardcoded `0x100000' with
43619 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
43620
43621 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
43622 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
43623 not NULL, append the contents of the file it refers to, at the end of
43624 the compressed kernel image. Initialize `grub_memdisk_image_size'
43625 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
43626 (options): Add "memdisk"|'m' option.
43627 (main): Parse --memdisk|-m option, and pass user-provided path as
43628 parameter to generate_image().
43629
3d7f54c9 436302008-01-20 Robert Millan <rmh@aybabtu.com>
43631
43632 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
43633 grub_dprintf() calls from here ...
43634 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
43635
0bf74728 436362008-01-20 Robert Millan <rmh@aybabtu.com>
43637
43638 Fix detection of "real mode" when /options/real-mode? doesn't exist.
43639
43640 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
43641 declaration.
43642 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
43643 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
43644 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 43645 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 43646 property).
43647 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
43648 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
43649
33bf70a7 436502008-01-19 Robert Millan <rmh@aybabtu.com>
43651
fe6b695a 43652 Get rid of confusing function (superseded by
33bf70a7 43653 `grub_ieee1275_get_integer_property')
43654 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
43655 prototype.
43656 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
43657 function.
43658 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
43659 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 43660 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 43661
e2da7d26 436622008-01-19 Robert Millan <rmh@aybabtu.com>
43663
43664 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
43665 command after "shut-down", since implementations differ on which
43666 the command for halt is.
43667
59f1fd8d 436682008-01-19 Robert Millan <rmh@aybabtu.com>
43669
43670 * include/grub/i386/linuxbios/console.h: Add header protection.
43671 (grub_keyboard_controller_init): New function prototype.
43672 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
43673 (KEYBOARD_COMMAND_READ): Likewise.
43674 (KEYBOARD_COMMAND_WRITE): Likewise.
43675 (KEYBOARD_SCANCODE_SET1): Likewise.
43676 (grub_keyboard_controller_write): New function.
43677 (grub_keyboard_controller_read): Likewise.
43678 (grub_keyboard_controller_init): Likewise.
43679
43680 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
43681 (grub_console_init): On coreboot/LinuxBIOS, call
43682 grub_keyboard_controller_init().
43683
5f5a7c15 436842008-01-19 Robert Millan <rmh@aybabtu.com>
43685
43686 PowerPC changes provided by Pavel Roskin.
43687
43688 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
43689 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
43690 don't rely on cmain() doing it.
43691 * kern/i386/ieee1275/startup.S (_start): Store %eax in
43692 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
43693
1210e168 436942008-01-16 Robert Millan <rmh@aybabtu.com>
43695
43696 * include/grub/i386/linuxbios/memory.h
43697 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
43698 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
43699 receive `table_header' as argument. Instead, probe for it in the
43700 known memory ranges where it can be present.
43701 (grub_available_iterate): Do not pass a fixed `table_header' address
43702 to grub_linuxbios_table_iterate().
43703
3d04eab8 437042008-01-15 Robert Millan <rmh@aybabtu.com>
43705
43706 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
43707 * conf/i386-ieee1275.rmk: New file.
43708 * include/grub/i386/ieee1275/console.h: Likewise.
43709 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
43710 * include/grub/i386/ieee1275/kernel.h: Likewise.
43711 * include/grub/i386/ieee1275/time.h: Likewise.
43712 * kern/i386/ieee1275/init.c: Likewise.
43713 * kern/i386/ieee1275/startup.S: Likewise.
43714
d1bc1b73 437152008-01-15 Robert Millan <rmh@aybabtu.com>
43716
43717 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
43718 when pointers are 32-bit (but still do set it to one when they are
43719 64-bit).
43720
66a65807 437212008-01-15 Robert Millan <rmh@aybabtu.com>
43722
43723 * include/grub/ieee1275/ieee1275.h
43724 (grub_ieee1275_get_integer_property): New function prototype.
43725
43726 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
43727 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 43728 grub_ieee1275_get_property() to handle endianness.
66a65807 43729
43730 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
43731 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 43732 where appropriate.
66a65807 43733 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
43734 (grub_map): Likewise.
43735 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
43736
a83ccafd 437372008-01-15 Bean <bean123ch@gmail.com>
43738
43739 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
43740 (grub_script_execute_cmdline): Reset grub_errno.
43741
43742 * normal/main.c (read_config_file): Reset grub_errno.
43743
43744 * normal/parse.y (script_init): New.
43745 (script): Move function and menuentry here.
43746 (delimiter): New.
43747 (command): Add delimiter at the end of command.
43748 (commands): Adjust to match the new command.
43749 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 43750 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 43751 (if): Use the new commands.
43752
43753 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
43754
df6ecfc6 437552008-01-15 Robert Millan <rmh@aybabtu.com>
43756
43757 * normal/menu.c (run_menu): Move timeout message from here ...
43758 (print_timeout): ... to here.
43759 (run_menu): Use print_timeout() once during initial draw to print
43760 the whole message, and again in every clock tick to update only
43761 the number of seconds.
43762
87ae25eb 437632008-01-15 Robert Millan <rmh@aybabtu.com>
43764
43765 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
43766 actual size of `available' from grub_ieee1275_get_property(), and
43767 restrict parsing to that bound.
43768
47bf09a4 437692008-01-15 Christian Franke <franke@computer.org>
43770
43771 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
43772 (argp_program_version): Remove variable.
43773 (argp_program_bug_address): Likewise.
43774 (options): Convert from struct argp_option to struct option.
43775 (struct arguments): Remove.
43776 (parse_opt): Remove.
43777 (usage): New function.
43778 (main): Replace struct args members by simple variables.
43779 Replace argp_parse() by getopt_long().
43780 Add switch to evaluate options.
43781 Add missing "(...)" around root_dev in prefix string.
43782
c86f1469 437832008-01-14 Robert Millan <rmh@aybabtu.com>
43784
43785 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
43786 for grub_ieee1275_exit(), in order to improve portability.
43787
e622c559 437882008-01-14 Robert Millan <rmh@aybabtu.com>
43789
43790 * util/grub.d/10_linux.in (prefix): Define.
43791 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
43792
44cb1ec8 437932008-01-13 Pavel Roskin <proski@gnu.org>
43794
43795 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
43796 grub_errno if no errors have been detected.
43797
1eb8c802 437982008-01-12 Robert Millan <rmh@aybabtu.com>
43799
43800 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
43801 (grub_util_get_dev_abstraction): New function prototype.
43802
43803 * util/getroot.c: Include `<grub/util/getroot.h>'
43804 (grub_util_get_grub_dev): Move detection of abstraction type to ...
43805 (grub_util_get_dev_abstraction): ... here (new function).
43806
43807 * util/grub-probe.c: Convert PRINT_* to an enum. Add
43808 `PRINT_ABSTRACTION'.
43809 (probe): Probe for abstraction type when requested.
43810 (main): Understand `--target=abstraction'.
43811
43812 * util/i386/efi/grub-install.in: Add abstraction module to core
43813 image when it is found to be necessary.
43814 * util/i386/pc/grub-install.in: Likewise.
43815 * util/powerpc/ieee1275/grub-install.in: Likewise.
43816
43817 * util/update-grub_lib.in (font_path): Return system path without
43818 converting to GRUB path.
43819 * util/update-grub.in: Convert system path returned by font_path()
43820 to a GRUB path. Use `grub-probe -t abstraction' to determine what
43821 abstraction module is needed for loading fonts (if any). Export
43822 that as `GRUB_PRELOAD_MODULES'.
43823 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
43824 insmod commands).
43825
52bd3de9 438262008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
43827
43828 Remove some unused code from reiserfs.
f19dbdb7 43829
52bd3de9 43830 * fs/reiserfs.c (struct grub_reiserfs_key)
43831 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
43832 (struct grub_reiserfs_node_body): Removed.
43833 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
43834 Likewise.
43835 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
43836 Likewise.
43837 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
43838 Likewise.
43839 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
43840 Likewise.
43841 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
43842 Likewise.
43843 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
43844 Likewise.
43845 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
43846 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
43847 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
43848
2f80039d 438492008-01-10 Robert Millan <rmh@aybabtu.com>
43850
43851 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
43852 Determines if a file is garbage left by packaging systems, etc.
43853 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
43854 for processing /etc/grub.d scripts.
43855 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
43856 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
43857 as a condition for processing Linux images.
43858
87888032 438592008-01-10 Pavel Roskin <proski@gnu.org>
43860
43861 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
43862 to compile reiserfs.c on PowerPC.
43863
7e54fced 438642008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 43865
43866 * kern/device.c (grub_device_iterate): Do not abort device iteration
43867 when one of the devices cannot be opened.
43868 * kern/disk.c (grub_disk_open): Do not account previous failures of
43869 unrelated functions when grub_errno is checked for.
43870
5aa541e6 438712008-01-08 Robert Millan <rmh@aybabtu.com>
43872
43873 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
43874 `! grub_linux_is_bzimage', change order of address comparison to make
43875 it more intuitive, and improve "too big zImage" error message.
43876
7076340d 438772008-01-08 Robert Millan <rmh@aybabtu.com>
43878
43879 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
43880 `$(update-grub_DATA)'.
43881 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
43882 targets.
43883
9ca70333 438842008-01-07 Robert Millan <rmh@aybabtu.com>
43885
43886 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
43887 which instruction is modified by grub-setup during installation
43888 (since it wasn't obvious by only looking at this file).
43889
38ccf575 438902008-01-07 Robert Millan <rmh@aybabtu.com>
43891
43892 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
43893 listing actual TODO items.
43894
f5db4291 438952008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
43896
868967cf 43897 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
43898 correctly.
43899 (grub_reiserfs_get_key_offset): Likewise.
43900 (grub_reiserfs_set_key_offset): Likewise.
43901 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 43902 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 43903
43904 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
43905 better to remove the bitfield version completely.
f19dbdb7 43906
868967cf 439072008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 43908
f5db4291 43909 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
43910 allocated from the heap, due to the fshelp implementation.
43911 (grub_reiserfs_dir): Free NODE, due to the same reason.
43912
492e6d9d 439132008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
43914
43915 Mostly from Vincent Pelletier:
f19dbdb7 43916
492e6d9d 43917 * fs/reiserfs.c: New file.
f19dbdb7 43918
492e6d9d 43919 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
43920 (reiserfs_mod_SOURCES): New variable.
43921 (reiserfs_mod_CFLAGS): Likewise.
43922 (reiserfs_mod_LDFLAGS): Likewise.
43923
43924 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
43925 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
43926 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
43927 normal/color.c.
43928
9ce3e7c1 439292008-01-06 Robert Millan <rmh@aybabtu.com>
43930
43931 * normal/color.c: Remove `<grub/env.h>'.
43932
f3b58148 439332008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
43934
43935 * include/grub/normal.h: Include <grub/env.h>.
43936
7ac3bcfa 439372008-01-05 Robert Millan <rmh@aybabtu.com>
43938
43939 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
43940 usage example with `(hd0,1)'.
fb358190 43941 Reported by Samuel Thibault.
7ac3bcfa 43942
c8ee99d7 439432008-01-05 Robert Millan <rmh@aybabtu.com>
43944
43945 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
43946 (grub_linux_boot_zimage): Rename to ...
43947 (grub_linux_boot): ... this.
43948 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
43949 (grub_linux_boot_zimage): Conditionalize zImage copy.
43950
43951 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
43952 (grub_linux_boot_bzimage): Remove prototype.
43953 (grub_linux_boot_zimage): Rename to ...
43954 (grub_linux_boot): ... this.
43955
43956 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
43957 (grub_linux_boot): Remove function.
43958
0ece25b1 439592008-01-05 Robert Millan <rmh@aybabtu.com>
43960
43961 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
43962 (grub_env_write_color_highlight): Likewise.
43963 (grub_wait_after_message): Likewise.
43964
43965 * normal/color.c: New file.
43966
43967 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43968 (normal_mod_DEPENDENCIES): Likewise.
43969
43970 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43971 (normal_mod_DEPENDENCIES): Likewise.
43972
43973 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43974 (normal_mod_DEPENDENCIES): Likewise.
43975
43976 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43977 (normal_mod_DEPENDENCIES): Likewise.
43978
43979 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
43980 for waiting after a message is printed.
43981 * normal/main.c (read_config_file): Likewise.
43982 (grub_normal_init): Register grub_env_write_color_normal() and
43983 grub_env_write_color_highlight() hooks. Mark `color_normal' and
43984 `color_highlight' variables as global.
43985
43986 * normal/menu.c (grub_wait_after_message): New function.
43987 (grub_color_menu_normal): New variable. Replaces ...
43988 (GRUB_COLOR_MENU_NORMAL): ... this macro.
43989 (grub_color_menu_highlight): New variable. Replaces ...
43990 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
43991 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
43992 `GRUB_TERM_COLOR_STANDARD'.
43993 (print_message): Use `grub_setcolorstate' to reload colors. Rename
43994 `normal_code' and `highlight_code' to `old_color_normal' and
43995 `old_color_highlight', respectively.
43996 (grub_menu_init_page): Update colors when drawing the menu, based on
43997 `menu_color_normal' and `menu_color_highlight' variables.
43998 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
43999 a message is printed.
44000
182dd4e5 440012008-01-05 Robert Millan <rmh@aybabtu.com>
44002
44003 * kern/env.c (grub_env_context_open): Propagate hooks for global
44004 variables to new context.
44005
44006 * kern/main.c (grub_set_root_dev): Export `root' variable.
44007
ddf8f6ad 440082008-01-05 Robert Millan <rmh@aybabtu.com>
44009
44010 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 44011 discs unconditionally, since udev and others have options to provide
ddf8f6ad 44012 them.
44013
d8b43d9b 440142008-01-05 Robert Millan <rmh@aybabtu.com>
44015
44016 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
44017
2bff2de3 440182008-01-04 Christian Franke <franke@computer.org>
44019
44020 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
44021 of eisa_mmap.
44022
97eab917 440232008-01-03 Pavel Roskin <proski@gnu.org>
44024
44025 * kern/i386/linuxbios/init.c: Put "void" to all function
44026 declarations with no arguments.
44027 * kern/powerpc/ieee1275/init.c: Likewise.
44028 * term/i386/pc/at_keyboard.c: Likewise.
44029 * term/i386/pc/vga_text.c: Likewise.
44030 * util/grub-mkdevicemap.c: Likewise.
44031
b9416d00 440322008-01-02 Robert Millan <rmh@aybabtu.com>
44033
44034 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
44035 message when loaded image is out of bounds.
44036 (grub_multiboot_load_elf64): Likewise.
44037
92695df9 440382008-01-02 Pavel Roskin <proski@gnu.org>
44039
44040 * util/grub.d/10_linux.in: Try version without ".old" when
44041 looking for initrd. It's better to use initrd from the newer
44042 kernel of the same version than no initrd at all.
44043
d98d9cad 440442008-01-01 Robert Millan <rmh@aybabtu.com>
44045
44046 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
44047
dbfdce36 440482008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
44049
f19dbdb7 44050 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 44051 grub_video_get_active_render_target.
44052 (grub_video_adapter): Added unmap_color and get_active_render_target.
44053
f19dbdb7 44054 * video/video.c: Added grub_video_unmap_color and
dbfdce36 44055 grub_video_get_active_render_target.
44056 (grub_video_get_info): Changed method to accept NULL pointer as an
44057 argument to allow detection of active video adapter.
44058
44059 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
44060 grub_video_vbe_unmap_color_int.
44061 Added grub_video_vbe_unmap_color and
44062 grub_video_vbe_get_active_render_target.
44063 (grub_video_vbe_adapter): Added unmap_color and
44064 get_active_render_target.
44065
f19dbdb7 44066 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 44067 with grub_video_vbe_unmap_color_int.
44068
44069 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
44070 (DEFAULT_NORMAL_COLOR): Likewise.
44071 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
44072 (DEFAULT_FG_COLOR): Removed.
44073 (DEFAULT_BG_COLOR): Likewise.
44074 (DEFAULT_CURSOR_COLOR): Changed value.
44075 (grub_virtual_screen): Added standard_color_setting,
44076 normal_color_setting, highlight_color_setting and term_color.
44077 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
44078 (bitmap_width): Added.
44079 (bitmap_height): Likewise.
44080 (bitmap): Likewise.
44081 (set_term_color): Likewise.
44082 (grub_virtual_screen_setup): Changed to use new terminal coloring
44083 settings.
44084 (grub_gfxterm_init): Added init for bitmap.
44085 (grub_gfxterm_fini): Added destroy for bitmap.
44086 (redraw_screen_rect): Updated to use background bitmap and new
44087 terminal coloring.
44088 (scroll_up): Added optimization for case when there is no bitmap.
44089 (grub_gfxterm_cls): Fixed to use correct background color.
44090 (grub_virtual_screen_setcolorstate): Changed to use new terminal
44091 coloring.
44092 (grub_virtual_screen_setcolor): Likewise.
44093 (grub_virtual_screen_getcolor): Added.
44094 (grub_gfxterm_background_image_cmd): Likewise.
44095 (grub_video_term): Added setcolor and getcolor.
44096 (MOD_INIT): Added registration of background_image command.
44097 (MOD_TERM): Added unregistration for background_image command.
44098
c3c20931 440992007-12-30 Pavel Roskin <proski@gnu.org>
44100
44101 * loader/multiboot_loader.c: Fix multiboot command
44102 unregistration. Fix all typos in the word "multiboot".
44103
df266716 441042007-12-29 Pavel Roskin <proski@gnu.org>
94239199 44105
44106 * util/grub.d/10_linux.in: Refactor search for initrd. Add
44107 support for initrd names used in Fedora.
44108
fc6e896c 441092007-12-26 Bean <bean123ch@gmail.com>
44110
44111 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
44112 (cpio_mod_SOURCES): New variable.
44113 (cpio_mod_CFLAGS): Likewise.
44114 (cpio_mod_LDFLAGS): Likewise.
44115
44116 * fs/cpio.c: New file.
44117
44118 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
44119
44120 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44121
44122 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44123
44124 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44125
533110ad 441262007-12-25 Robert Millan <rmh@aybabtu.com>
44127
44128 * include/grub/term.h (struct grub_term): Add `getcolor' function.
44129 (grub_getcolor): New function.
44130
44131 * kern/term.c (grub_getcolor): New function.
44132 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
44133 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
44134 (print_entry): Set normal and highlight colors to
44135 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
44136 respectively, before printing and restore them to old
44137 values afterwards.
44138 (grub_menu_init_page): Likewise. Fill an additional colored space
44139 that would otherwise be left blank.
44140
44141 * term/efi/console.c (grub_console_getcolor): New function.
44142 (struct grub_console_term.getcolor): New variable.
44143 * term/i386/pc/console.c (grub_console_getcolor): New function.
44144 (struct grub_console_term.getcolor): New variable.
44145 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
44146 (struct grub_console_term.getcolor): New variable.
44147
44148 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
44149 (struct grub_console_term.setcolor): Remove variable.
44150 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
44151 (struct grub_console_term.setcolor): Remove variable.
44152 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
44153 (struct grub_console_term.setcolor): Remove variable.
44154 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
44155 (struct grub_console_term.setcolor): Remove variable.
44156
4931827f 441572007-12-25 Robert Millan <rmh@aybabtu.com>
44158
44159 * configure.ac: Search for possible unifont.hex locations, and
44160 define UNIFONT_HEX if found.
44161
44162 * Makefile.in (UNIFONT_HEX): Define variable.
44163 (DATA): Rename to ...
44164 (PKGLIB): ... this. Update all users.
44165 (PKGDATA): New variable.
44166 (pkgdata_IMAGES): Rename to ...
44167 (pkglib_IMAGES): ... this. Update all users.
44168 (pkgdata_MODULES): Rename to ...
44169 (pkglib_MODULES): ... this. Update all users.
44170 (pkgdata_PROGRAMS): Rename to ...
44171 (pkglib_PROGRAMS): ... this. Update all users.
44172 (pkgdata_DATA): Rename to ...
44173 (pkglib_DATA): ... this. Update all users.
44174 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
44175 (unicode.pff, ascii.pff): New rules.
44176 (all-local): Add `$(PKGDATA)' dependency.
44177 (install-local): Process `$(PKGDATA)'.
44178
44179 * util/update-grub_lib.in (font_path): Search for *.pff files in
44180 a few more locations, including `${pkgdata}'.
44181
57e57e31 441822007-12-23 Robert Millan <rmh@aybabtu.com>
44183
44184 Patch from Bean <bean123ch@gmail.com>:
44185 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
44186 `size'.
44187
4bc72aa9 441882007-12-21 Bean <bean123ch@gmail.com>
44189
44190 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
44191 (ntfscomp_mod_SOURCES): New variable.
44192 (ntfscomp_mod_CFLAGS): Likewise.
44193 (ntfscomp_mod_LDFLAGS): Likewise.
44194
44195 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
44196 (grub_probe_SOURCES): Likewise.
44197 (grub_emu_SOURCES): Likewise.
44198
44199 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44200 (grub_emu_SOURCES): Likewise.
44201
44202 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44203 (grub_emu_SOURCES): Likewise.
44204
44205 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44206 (grub_emu_SOURCES): Likewise.
44207
44208 * fs/ntfs.c (grub_ntfscomp_func): New variable.
44209 (read_run_list): Renamed to grub_ntfs_read_run_list.
44210 (decomp_nextvcn): Moved to ntfscomp.c.
44211 (decomp_getch): Likewise.
44212 (decomp_get16): Likewise.
44213 (decomp_block): Likewise.
44214 (read_block): Likewise.
44215 (read_data): Partially moved to ntfscomp.c.
44216 (fixup): Change unsigned to grub_uint16_t.
44217 (read_mft): Change unsigned long to grub_uint32_t.
44218 (read_attr): Likewise.
44219 (read_data): Likewise.
44220 (read_run_data): Likewise.
44221 (read_run_list): Likewise.
44222 (read_mft): Likewise.
44223
44224 * fs/ntfscomp.c: New file.
44225
44226 * include/grub/ntfs.h: New file.
44227
af680a87 442282007-12-16 Robert Millan <rmh@aybabtu.com>
44229
44230 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
44231 IDE disk check, since Linux is known to support 20 IDE disks.
44232 Reported by Colin Watson.
44233
84be7599 442342007-12-15 Bean <bean123ch@gmail.com>
44235
44236 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
44237 (lnxboot_img_SOURCES): New variable.
44238 (lnxboot_img_ASFLAGS): Likewise.
44239 (lnxboot_img_LDFLAGS): Likewise.
44240
44241 * boot/i386/pc/lnxboot.S: New file.
44242
6af9db01 442432007-11-24 Pavel Roskin <proski@gnu.org>
44244
44245 * configure.ac: Test if '--build-id=none' is supported by the
44246 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
44247 objcopy to generate incorrect binary files (binutils
44248 2.17.50.0.18-1 as shipped by Fedora 8).
44249 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
44250 linking, so that build ID doesn't break the test.
44251
7361cfe6 442522007-11-24 Pavel Roskin <proski@gnu.org>
44253
44254 * include/grub/i386/time.h: use "void" in the argument list
44255 of grub_cpu_idle().
44256 * include/grub/powerpc/time.h: Likewise.
44257 * include/grub/sparc64/time.h: Likewise.
44258
1593e10c 442592007-11-18 Christian Franke <franke@computer.org>
44260
44261 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
44262 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
44263 This fixes the problem that function keys did not work in grub-emu.
44264
3b8db1a8 442652007-11-18 Christian Franke <franke@computer.org>
44266
44267 * disk/host.c (grub_host_open): Remove attribute unused from
44268 name parameter. Add check for "host". This fixes the problem
44269 that grub-emu does not find partitions.
44270
2e29408d 442712007-11-18 Christian Franke <franke@computer.org>
44272
44273 * util/hostfs.c (is_dir): New function.
44274 (grub_hostfs_dir): Handle missing dirent.d_type case.
44275 (grub_hostfs_read): Add missing fseek().
44276 (grub_hostfs_label): Clear label pointer. This fixes a crash
44277 of grub-emu on "ls (host)".
44278
398cd047 442792007-11-18 Christian Franke <franke@computer.org>
44280
44281 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
44282 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
44283 to 64 bit boundary by default.
44284
c405c391 442852007-11-18 Bean <bean123ch@gmail.com>
44286
44287 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
44288 (hexdump_mod_SOURCES): New variable.
44289 (hexdump_mod_CFLAGS): Likewise.
44290 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 44291
c405c391 44292 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44293
44294 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44295
44296 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44297
44298 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44299
44300 * include/grub/hexdump.h: New file.
44301
44302 * commands/hexdump.c: New file.
44303
5cced7fd 443042007-11-10 Robert Millan <rmh@aybabtu.com>
44305
44306 * commands/i386/pc/play.c (beep_off): Switch order of arguments
44307 in grub_outb() calls.
44308 (beep_on): Likewise.
44309
8b714eb0 443102007-11-10 Christian Franke <franke@computer.org>
44311
44312 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
44313 (grub_menu_run): Likewise.
44314
ce0f1839 443152007-11-10 Robert Millan <rmh@aybabtu.com>
44316
44317 * include/grub/i386/efi/machine.h: New file.
44318 * include/grub/i386/linuxbios/machine.h: Likewise.
44319 * include/grub/i386/pc/machine.h: Likewise.
44320 * include/grub/powerpc/ieee1275/machine.h: Likewise.
44321 * include/grub/sparc64/ieee1275/machine.h: Likewise.
44322
44323 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
44324 (serial_hw_io_addr): New variable.
44325 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
44326 instead of `(unsigned short *) 0x400'.
44327
270c237d 443282007-11-10 Bean <bean123ch@gmail.com>
44329
44330 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
44331
a87783bf 443322007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
44333
44334 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
44335 (vga_mod_SOURCES): Added.
44336 (vga_mod_CFLAGS): Likewise.
44337 (vga_mod_LDFLAGS): Likewise.
44338
44339 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
44340 grub_outb() calls.
44341 (set_map_mask): Likewise.
44342 (set_read_map): Likewise.
44343 (set_read_address): Likewise.
44344 (vga_font): Removed variable.
44345 (get_vga_glyph): Removed function.
44346 (invalidate_char): Likewise.
44347 (write_char): Changed to use grub_font_get_glyph() for font
44348 information.
44349 (grub_vga_putchar): Likewise.
44350 (grub_vga_getcharwidth): Likewise.
44351
6433b448 443522007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
44353
44354 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
44355 flags.
44356 (pxeboot_img_LDFLAGS): Likewise.
44357 (diskboot_img_LDFLAGS): Likewise.
44358 (kernel_img_LDFLAGS): Likewise.
44359
49178511 443602007-11-06 Robert Millan <rmh@aybabtu.com>
44361
44362 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
44363 in grub_outb() calls.
44364 (serial_hw_init): Likewise.
44365
53b052de 443662007-11-05 Robert Millan <rmh@aybabtu.com>
44367
44368 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
44369 spaces. Skip non-regular files.
44370
5ab33bba 443712007-11-05 Robert Millan <rmh@aybabtu.com>
44372
44373 * kern/disk.c (grub_disk_firmware_fini)
44374 (grub_disk_firmware_is_tainted): New variables.
44375
44376 * include/grub/disk.h (grub_disk_firmware_fini)
44377 (grub_disk_firmware_is_tainted): Likewise.
44378
44379 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
44380 (grub_disk_biosdisk_fini): ... to here.
44381 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
44382 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
44383 is set. Register grub_disk_biosdisk_fini() in
44384 `grub_disk_firmware_fini'.
44385
44386 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
44387 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
44388 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
44389 to finish existing firmware disk interface.
44390
44391 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
44392 (ata_mod_SOURCES): New variable.
44393 (ata_mod_CFLAGS): Likewise.
44394 (ata_mod_LDFLAGS): Likewise.
44395
0149ab7c 443962007-11-05 Robert Millan <rmh@aybabtu.com>
44397
44398 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
44399 (grub_ata_wait): Reimplement using grub_millisleep().
44400
44401 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
44402 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
44403
be7ac41e 444042007-11-03 Marco Gerards <marco@gnu.org>
44405
44406 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
44407 (CRTC_ADDR_PORT): New macro.
44408 (CRTC_DATA_PORT): Likewise.
44409 (CRTC_CURSOR): Likewise.
44410 (CRTC_CURSOR_ADDR_HIGH): Likewise.
44411 (CRTC_CURSOR_ADDR_LOW): Likewise.
44412 (update_cursor): New function.
44413 (grub_console_real_putchar): Call `update_cursor'.
44414 (grub_console_gotoxy): Likewise.
44415 (grub_console_cls): Set the default color when clearing the
44416 screen.
44417 (grub_console_setcursor): Implemented.
44418
bb06ab2e 444192007-11-03 Marco Gerards <marco@gnu.org>
44420
44421 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
44422 become activate.
44423 (grub_ata_pio_write): Likewise.
44424
44425 (grub_atapi_identify): Wait after issuing an ATA command.
44426 (grub_atapi_packet): Likewise.
44427 (grub_ata_identify): Likewise.
44428 (grub_ata_readwrite): Likewise.
44429
cf8f780b 444302007-11-03 Marco Gerards <marco@gnu.org>
44431
44432 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
44433 (grub_ata_pio_write): Likewise.
44434 (grub_ata_readwrite): Use `grub_error', instead of
44435 returning `grub_errno'.
44436
ed649e54 444372007-11-03 Marco Gerards <marco@gnu.org>
44438
44439 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
44440 grub_ata_pio_write once for every single sector, instead of for
44441 multiple sectors.
44442
ca25d8f0 444432007-10-31 Robert Millan <rmh@aybabtu.com>
44444
44445 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
44446
44447 * conf/i386-linuxbios.rmk: New file.
44448
44449 * kern/i386/pc/hardware.c: Likewise.
44450 * term/i386/pc/at_keyboard.c: Likewise.
44451 * term/i386/pc/vga_text.c: Likewise.
44452
44453 * include/grub/i386/linuxbios/boot.h: Likewise.
44454 * include/grub/i386/linuxbios/console.h: Likewise.
44455 * include/grub/i386/linuxbios/init.h: Likewise.
44456 * include/grub/i386/linuxbios/kernel.h: Likewise.
44457 * include/grub/i386/linuxbios/loader.h: Likewise.
44458 * include/grub/i386/linuxbios/memory.h: Likewise.
44459 * include/grub/i386/linuxbios/serial.h: Likewise.
44460 * include/grub/i386/linuxbios/time.h: Likewise.
44461
44462 * kern/i386/linuxbios/init.c: Likewise.
44463 * kern/i386/linuxbios/startup.S: Likewise.
44464 * kern/i386/linuxbios/table.c: Likewise.
44465
e911ecc1 444662007-10-31 Marco Gerards <marco@gnu.org>
44467
44468 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
44469 (ata_mod_SOURCES): New variable.
44470 (ata_mod_CFLAGS): Likewise.
44471 (ata_mod_LDFLAGS): Likewise.
44472
44473 * disk/ata.c: New file.
44474
44475 * include/grub/disk.h (grub_disk_dev_id): Add
44476 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 44477
7f66d0e0 444782007-10-31 Robert Millan <rmh@aybabtu.com>
44479
44480 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
44481 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
44482
44483 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
44484 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
44485
44486 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
44487 `<grub/types.h>'.
44488
44489 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
44490
5cd7dd46 444912007-10-27 Robert Millan <rmh@aybabtu.com>
44492
3236ca65 44493 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 44494
2ebfc90f 444952007-10-22 Robert Millan <rmh@aybabtu.com>
44496
44497 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
44498 `"../realmode.S"'.
44499 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
44500
73fcb0f3 445012007-10-22 Robert Millan <rmh@aybabtu.com>
44502
44503 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
44504 (pkgdata_MODULES): Add `biosdisk.mod'.
44505 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
44506 variables.
44507
44508 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
44509 (grub_biosdisk_init): Replace with ...
44510 (GRUB_MOD_INIT(biosdisk)): ... this.
44511 (grub_biosdisk_fini): Replace with ...
44512 (GRUB_MOD_FINI(biosdisk)): ... this.
44513
44514 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
44515 (grub_machine_init): Remove call to grub_biosdisk_init().
44516 (grub_machine_fini): Remove call to grub_machine_fini().
44517
44518 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
44519
3381d274 445202007-10-22 Robert Millan <rmh@aybabtu.com>
44521
44522 * include/grub/time.h: New file.
44523 * include/grub/i386/time.h: Likewise.
44524 * include/grub/powerpc/time.h: Likewise.
44525 * include/grub/sparc64/time.h: Likewise.
44526
44527 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
44528 instances to ...
44529 (KERNEL_MACHINE_TIME_HEADER): ... this.
44530 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
44531 instances to ...
44532 (KERNEL_MACHINE_TIME_HEADER): ... this.
44533 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
44534 instances to ...
44535 (KERNEL_MACHINE_TIME_HEADER): ... this.
44536
44537 * kern/i386/efi/init.c: Include `<grub/time.h>'.
44538 (grub_millisleep): New function.
44539 * kern/i386/pc/init.c: Include `<grub/time.h>'.
44540 (grub_millisleep): New function.
44541 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
44542 Remove `grub/machine/time.h' include.
44543 (grub_millisleep): New function.
44544 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
44545 Remove `grub/machine/time.h' include.
44546 (grub_millisleep): New function.
44547
44548 * include/grub/misc.h (grub_div_roundup): New function.
44549
44550 * kern/misc.c: Include `<grub/time.h>'.
44551 (grub_millisleep_generic): New function.
44552
44553 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
44554 Add `time.h'.
44555 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
44556 Add `time.h'.
44557 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
44558 `machine/time.h'. Add `time.h'.
44559 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44560
a39a0312 445612007-10-21 Robert Millan <rmh@aybabtu.com>
44562
44563 * include/grub/misc.h (grub_max): New function.
44564
2aad70e2 445652007-10-21 Robert Millan <rmh@aybabtu.com>
44566
44567 * util/misc.c (grub_util_info): Call fflush() before returning.
44568
54b71c4b 445692007-10-20 Robert Millan <rmh@aybabtu.com>
44570
44571 * genmk.rb (Image): Copy `extra_flags' from here ...
44572 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
44573
44574 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
44575 to `argc' and `args' arguments.
44576
a979f513 445772007-10-17 Robert Millan <rmh@aybabtu.com>
44578
44579 * kern/i386/loader.S: New file.
44580
44581 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
44582 * kern/i386/loader.S (grub_linux_prot_size)... to here.
44583 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
44584 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
44585 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
44586 * kern/i386/loader.S (grub_linux_real_addr)... to here.
44587 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
44588 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
44589 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
44590 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
44591 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
44592 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
44593 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
44594 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
44595
44596 * kern/i386/realmode.S: New file.
44597
44598 * kern/i386/pc/startup.S (protstack): Moved from here ...
44599 * kern/i386/realmode.S (protstack)... to here.
44600 * kern/i386/pc/startup.S (gdt): Moved from here ...
44601 * kern/i386/realmode.S (gdt)... to here.
44602 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
44603 * kern/i386/realmode.S (prot_to_real)... to here.
44604
44605 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
44606 `kern/i386/realmode.S'.
44607
825fc8fd 446082007-10-17 Robert Millan <rmh@aybabtu.com>
44609
44610 * include/grub/i386/loader.h: New file.
44611
44612 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
44613 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
44614 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
44615 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
44616 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
44617 * include/grub/i386/loader.h (grub_linux_prot_size)
44618 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
44619 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
44620 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
44621 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
44622
44623 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
44624
e179b2f4 446252007-10-15 Robert Millan <rmh@aybabtu.com>
44626
44627 * normal/misc.c (grub_normal_print_device_info): Do not probe for
44628 filesystem when dev->disk is unset.
44629 Do probe for filesystem even when dev->disk->has_partitions is set.
44630 In case a filesystem is found, always report it.
44631 In case it isn't, if dev->disk->has_partitions is set, report that
44632 a partition table was found instead of reporting that no filesystem
44633 could be identified.
44634
5db82af6 446352007-10-12 Robert Millan <rmh@aybabtu.com>
44636
44637 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
44638 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
44639
68f6ac74 44640 * include/grub/types.h (grub_host_to_target16): New macro.
44641 (grub_host_to_target32): Likewise.
44642 (grub_host_to_target64): Likewise.
44643 (grub_target_to_host16): Likewise.
44644 (grub_target_to_host32): Likewise.
44645 (grub_target_to_host64): Likewise.
5db82af6 44646
44647 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
44648 Renamed from to ...
44649 (GRUB_MOD_ALIGN): ...this. Update all users.
44650
68f6ac74 44651 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
44652 grub_host_to_target32.
44653 Replace grub_be_to_cpu32 with grub_target_to_host32.
44654 (load_modules): Likewise.
44655 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
44656 Replace grub_be_to_cpu32 with grub_target_to_host32.
44657 Replace grub_cpu_to_be16 with grub_host_to_target16.
44658 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 44659
3cf497cc 446602007-10-12 Robert Millan <rmh@aybabtu.com>
44661
44662 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
44663 * util/elf/grub-mkimage.c: ... here.
44664
44665 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
44666 `util/powerpc/ieee1275/grub-mkimage.c'.
44667
c8cc3692 446682007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 44669
c8cc3692 44670 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
44671 and make it easier to figure out.
44672 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
44673 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
44674 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
44675 leave us with less than HEAP_MIN_SIZE total heap.
44676 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 44677
5c58b791 446782007-10-03 Robert Millan <rmh@aybabtu.com>
44679
44680 * include/grub/i386/io.h: New file.
44681 * commands/i386/pc/play.c (inb): Removed.
44682 (outb): Removed.
44683 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
44684 with grub_outb().
afcd2ef8 44685 * term/i386/pc/serial.c (inb): Removed.
44686 (outb): Removed.
44687 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
44688 with grub_outb().
44689 * term/i386/pc/vga.c (inb): Removed.
44690 (outb): Removed.
44691 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
44692 with grub_outb().
5c58b791 44693
1a477ed6 446942007-10-02 Robert Millan <rmh@aybabtu.com>
44695
44696 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
44697 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44698 Reported by Marcin Kurek.
44699
6b5d80fa 447002007-09-07 Robert Millan <rmh@aybabtu.com>
44701
44702 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
44703 SmartFirmware version updates (as released by Sven Luther), and avoid
44704 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
44705 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
44706 known broken.
44707
5618afbf 447082007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
44709
44710 From Hitoshi Ozeki:
44711 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
44712 when merging two regions.
44713
6139dcd9 447142007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
44715
508e39ee 44716 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
44717 * normal/completion.c (grub_normal_do_completion): Likewise.
44718 Reported by Hitoshi Ozeki.
44719
447202007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 44721
6139dcd9 44722 Do not use devices at boot in chainloading.
f19dbdb7 44723
6139dcd9 44724 * loader/i386/pc/chainloader.c (boot_drive): New variable.
44725 (boot_part_addr): Likewise.
44726 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
44727 with BOOT_DRIVE and BOOT_PART_ADDR.
44728 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
44729 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
44730
38da6516 447312007-08-29 Robert Millan <rmh@aybabtu.com>
44732
44733 Patch from Simon Peter <dn.tlp@gmx.net>:
44734 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
44735 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
44736 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
44737 util/i386/pc/grub-setup.c_DEPENDENCIES.
44738 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
44739 util/grub-probe.c_DEPENDENCIES.
44740 * conf/powerpc-ieee1275.rmk: Likewise.
44741
29d0928c 447422007-08-28 Robert Millan <rmh@aybabtu.com>
44743
44744 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
44745 to tell grub-mkdevicemap how to name devices.
44746 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
44747 feature).
44748
44749 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
44750 util/i386/get_disk_name.c.
44751 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
44752 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
44753 util/ieee1275/get_disk_name.c.
44754
44755 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
44756
44757 * DISTLIST: Add util/i386/get_disk_name.c and
44758 util/ieee1275/get_disk_name.c.
44759
44760 * util/grub-mkdevicemap.c: Replace device naming logic with
44761 grub_util_get_disk_name() calls.
44762
5a0d3cca 447632007-08-20 Robert Millan <rmh@aybabtu.com>
44764
44765 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
44766 (so that it works for both plural and singular quantities).
44767
8b72db2f 447682007-08-05 Robert Millan <rmh@aybabtu.com>
44769
44770 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
44771 so that [xz] isn't taken into account when determining order.
44772
352466bf 447732007-08-02 Marco Gerards <marco@gnu.org>
44774
44775 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
44776 `include/multiboot2.h', `include/grub/elfload.h',
44777 `include/multiboot.h', `include/grub/multiboot.h',
44778 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
44779 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
44780 `kern/elf.c', `loader/multiboot_loader.c',
44781 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
44782 `loader/i386/pc/multiboot2.c',
44783 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
44784 `util/i386/pc/grub-mkrescue.in'. Remove
44785 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
44786 `include/grub/i386/pc/util/biosdisk.h' and
44787 `include/grub/powerpc/ieee1275/multiboot.h'.
44788
8f096014 447892007-08-02 Bean <bean123ch@gmail.com>
44790
44791 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
44792 (ntfs_mod_SOURCES): New variable.
44793 (ntfs_mod_CFLAGS): Likewise.
44794 (ntfs_mod_LDFLAGS): Likewise.
44795
44796 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
44797 (grub_probe_SOURCES): Likewise.
44798 (grub_emu_SOURCES): Likewise.
44799
44800 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
44801 (grub_emu_SOURCES): Likewise.
44802
44803 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
44804 (grub_emu_SOURCES): Likewise.
f19dbdb7 44805
8f096014 44806 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
44807
44808 * fs/ntfs.c: New file.
44809
9959f7db 448102007-08-02 Bean <bean123ch@gmail.com>
44811
44812 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
44813
44814 * file.h (grub_file): Likewise.
44815
44816 * fshelp.h (grub_fshelp_read_file): Likewise.
44817
44818 * util/i386/pc/grub-setup.c (setup): Likewise.
44819 (save_first_sector): Likewise.
44820 (save_blocklists): Likewise.
f19dbdb7 44821
9959f7db 44822 * fs/affs.c (grub_affs_read_file): Likewise.
44823
44824 * fs/ext2.c (grub_ext2_read_file): Likewise.
44825
44826 * fs/fat.c (grub_fat_read_data): Likewise.
44827
44828 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
44829
44830 * fs/hfs.c (grub_hfs_read_file): Likewise.
44831
44832 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
44833
44834 * fs/jfs.c (grub_jfs_read_file): Likewise.
44835
44836 * fs/minix.c (grub_minix_read_file): Likewise.
44837
44838 * fs/sfs.c (grub_sfs_read_file): Likewise.
44839
44840 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 44841
9959f7db 44842 * fs/xfs.c (grub_xfs_read_file): Likewise.
44843
44844 * command/blocklist.c (read_blocklist): Likewise.
44845 (print_blocklist): Likewise.
44846
0a203f83 448472007-08-02 Marco Gerards <marco@gnu.org>
44848
44849 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
44850 `util/hostfs.c'.
44851
44852 * disk/host.c: New file.
44853
44854 * util/hostfs.c: Likewise.
44855
44856 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
44857 return `GRUB_ERR_BAD_FS'.
44858 * fs/sfs.c (grub_sfs_mount): Likewise.
44859 * fs/xfs.c (grub_xfs_mount): Likewise.
44860
44861 * include/grub/disk.h (enum grub_disk_dev_id): Add
44862 `GRUB_DISK_DEVICE_HOST_ID'.
44863
44864 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
44865
e5dfe777 448662007-07-24 Jerone Young <jerone@gmail.com>
44867
f19dbdb7 44868 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 44869 modules for compilation.
44870 * conf/powerpc-ieee1275.rmk: Likewise.
44871
44872 * include/multiboot.h: Move multiboot definitions to one file. Rename
44873 many definitions to not get grub specific.
44874 * include/multiboot2.h: Create header with multiboot 2 definitions.
44875 * include/grub/multiboot.h: Header for grub specific function
44876 prototypes and definitions.
44877 * include/grub/multiboot2.h: Likewise.
44878 * include/grub/multiboot_loader.h: Likewise.
44879 * include/grub/i386/pc/multiboot.h: Removed.
44880 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
44881
44882 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
44883 and 2 to allow for one multiboot and module commands.
44884 * loader/multiboot2.c: Add multiboot2 functionality.
44885 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
44886 and definition names.
44887 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
44888 2 functions.
44889 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
44890 ieee1275 specific multiboot2 code.
44891
44892 * kern/i386/pc/startup.S: Change headers and definition names for
44893 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
44894
daf0f0ba 448952007-07-22 Robert Millan <rmh@aybabtu.com>
44896
44897 * geninitheader.sh: Process file specified in first parameter rather
44898 than hardcoding grub_modules_init.lst.
fe6b695a 44899 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 44900 than hardcoding grub_modules_init.h.
44901
44902 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
44903 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
44904 grub_probe_init.[ch] and grub_setup_init.[ch].
44905
44906 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
44907 grub_modules_init.h with grub_emu_init.h.
44908 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
44909 grub_probe_init.[ch] files.
44910 * conf/i386-efi.rmk: Likewise.
44911 * conf/i386-pc.rmk: Likewise.
44912 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
44913 grub_setup_init.[ch] files.
44914
44915 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
44916 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
44917 to initialize modules rather than a list of hardcoded functions.
44918 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
44919 grub_init_all() to initialize modules rather than a list of hardcoded
44920 functions.
44921
54cdc1cc 449222007-07-22 Robert Millan <rmh@aybabtu.com>
44923
44924 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
44925 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
44926
ad0686cc 449272007-07-22 Robert Millan <rmh@aybabtu.com>
44928
44929 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
44930 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
44931 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
44932 flag when running on SmartFirmware.
44933 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
44934 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
44935 was set.
44936
44937 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
44938 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
44939 rather than decreasing it.
44940
44941 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
44942 there's not enough space to do it, fail in the same way as when it
44943 can't be done because there are no partitions.
44944
44945 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
44946 when nvsetenv failed.
44947
969c02ec 449482007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
44949
44950 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
44951 because this rule is automatically generated.
44952 (grub-mkrescue): Removed for the same reason as above.
44953
5a79f472 449542007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
44955
44956 Migrate to GNU General Public License Version 3.
f19dbdb7 44957
5a79f472 44958 * COPYING: Replaced with the plain text version of GPLv3.
44959
44960 * config.guess: Updated from gnulib.
44961 * config.sub: Likewise.
44962
44963 * geninit.sh: Output a GPLv3 copyright notice.
44964 * geninitheader.sh: Likewise.
44965 * genmodsrc.sh: Likewise.
44966 * gensymlist.sh.in: Likewise.
44967
44968 * boot/i386/pc/boot.S: Upgraded to GPLv3.
44969 * boot/i386/pc/diskboot.S: Likewise.
44970 * boot/i386/pc/pxeboot.S: Likewise.
44971 * commands/blocklist.c: Likewise.
44972 * commands/boot.c: Likewise.
44973 * commands/cat.c: Likewise.
44974 * commands/cmp.c: Likewise.
44975 * commands/configfile.c: Likewise.
44976 * commands/echo.c: Likewise.
44977 * commands/help.c: Likewise.
44978 * commands/ls.c: Likewise.
44979 * commands/search.c: Likewise.
44980 * commands/terminal.c: Likewise.
44981 * commands/test.c: Likewise.
44982 * commands/videotest.c: Likewise.
44983 * commands/i386/cpuid.c: Likewise.
44984 * commands/i386/pc/halt.c: Likewise.
44985 * commands/i386/pc/play.c: Likewise.
44986 * commands/i386/pc/reboot.c: Likewise.
44987 * commands/i386/pc/vbeinfo.c: Likewise.
44988 * commands/i386/pc/vbetest.c: Likewise.
44989 * commands/ieee1275/halt.c: Likewise.
44990 * commands/ieee1275/reboot.c: Likewise.
44991 * commands/ieee1275/suspend.c: Likewise.
44992 * disk/loopback.c: Likewise.
44993 * disk/lvm.c: Likewise.
44994 * disk/raid.c: Likewise.
44995 * disk/efi/efidisk.c: Likewise.
44996 * disk/i386/pc/biosdisk.c: Likewise.
44997 * disk/ieee1275/ofdisk.c: Likewise.
44998 * font/manager.c: Likewise.
44999 * fs/affs.c: Likewise.
45000 * fs/ext2.c: Likewise.
45001 * fs/fat.c: Likewise.
45002 * fs/fshelp.c: Likewise.
45003 * fs/hfs.c: Likewise.
45004 * fs/hfsplus.c: Likewise.
45005 * fs/iso9660.c: Likewise.
45006 * fs/jfs.c: Likewise.
45007 * fs/minix.c: Likewise.
45008 * fs/sfs.c: Likewise.
45009 * fs/ufs.c: Likewise.
45010 * fs/xfs.c: Likewise.
45011 * hello/hello.c: Likewise.
45012 * include/grub/acorn_filecore.h: Likewise.
45013 * include/grub/arg.h: Likewise.
45014 * include/grub/bitmap.h: Likewise.
45015 * include/grub/boot.h: Likewise.
45016 * include/grub/cache.h: Likewise.
45017 * include/grub/device.h: Likewise.
45018 * include/grub/disk.h: Likewise.
45019 * include/grub/dl.h: Likewise.
45020 * include/grub/elfload.h: Likewise.
45021 * include/grub/env.h: Likewise.
45022 * include/grub/err.h: Likewise.
45023 * include/grub/file.h: Likewise.
45024 * include/grub/font.h: Likewise.
45025 * include/grub/fs.h: Likewise.
45026 * include/grub/fshelp.h: Likewise.
45027 * include/grub/gzio.h: Likewise.
45028 * include/grub/hfs.h: Likewise.
45029 * include/grub/kernel.h: Likewise.
45030 * include/grub/loader.h: Likewise.
45031 * include/grub/lvm.h: Likewise.
45032 * include/grub/misc.h: Likewise.
45033 * include/grub/mm.h: Likewise.
45034 * include/grub/net.h: Likewise.
45035 * include/grub/normal.h: Likewise.
45036 * include/grub/parser.h: Likewise.
45037 * include/grub/partition.h: Likewise.
45038 * include/grub/pc_partition.h: Likewise.
45039 * include/grub/raid.h: Likewise.
45040 * include/grub/rescue.h: Likewise.
45041 * include/grub/script.h: Likewise.
45042 * include/grub/setjmp.h: Likewise.
45043 * include/grub/symbol.h: Likewise.
45044 * include/grub/term.h: Likewise.
45045 * include/grub/terminfo.h: Likewise.
45046 * include/grub/tparm.h: Likewise.
45047 * include/grub/types.h: Likewise.
45048 * include/grub/video.h: Likewise.
45049 * include/grub/efi/api.h: Likewise.
45050 * include/grub/efi/chainloader.h: Likewise.
45051 * include/grub/efi/console.h: Likewise.
45052 * include/grub/efi/console_control.h: Likewise.
45053 * include/grub/efi/disk.h: Likewise.
45054 * include/grub/efi/efi.h: Likewise.
45055 * include/grub/efi/pe32.h: Likewise.
45056 * include/grub/efi/time.h: Likewise.
45057 * include/grub/i386/linux.h: Likewise.
45058 * include/grub/i386/setjmp.h: Likewise.
45059 * include/grub/i386/types.h: Likewise.
45060 * include/grub/i386/efi/kernel.h: Likewise.
45061 * include/grub/i386/efi/loader.h: Likewise.
45062 * include/grub/i386/efi/time.h: Likewise.
45063 * include/grub/i386/pc/biosdisk.h: Likewise.
45064 * include/grub/i386/pc/boot.h: Likewise.
45065 * include/grub/i386/pc/chainloader.h: Likewise.
45066 * include/grub/i386/pc/console.h: Likewise.
45067 * include/grub/i386/pc/init.h: Likewise.
45068 * include/grub/i386/pc/kernel.h: Likewise.
45069 * include/grub/i386/pc/loader.h: Likewise.
45070 * include/grub/i386/pc/memory.h: Likewise.
45071 * include/grub/i386/pc/multiboot.h: Likewise.
45072 * include/grub/i386/pc/serial.h: Likewise.
45073 * include/grub/i386/pc/time.h: Likewise.
45074 * include/grub/i386/pc/vbe.h: Likewise.
45075 * include/grub/i386/pc/vbeblit.h: Likewise.
45076 * include/grub/i386/pc/vbefill.h: Likewise.
45077 * include/grub/i386/pc/vbeutil.h: Likewise.
45078 * include/grub/i386/pc/vga.h: Likewise.
45079 * include/grub/ieee1275/ieee1275.h: Likewise.
45080 * include/grub/ieee1275/ofdisk.h: Likewise.
45081 * include/grub/powerpc/libgcc.h: Likewise.
45082 * include/grub/powerpc/setjmp.h: Likewise.
45083 * include/grub/powerpc/types.h: Likewise.
45084 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
45085 * include/grub/powerpc/ieee1275/console.h: Likewise.
45086 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
45087 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
45088 * include/grub/powerpc/ieee1275/loader.h: Likewise.
45089 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
45090 * include/grub/powerpc/ieee1275/time.h: Likewise.
45091 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
45092 * include/grub/sparc64/libgcc.h: Likewise.
45093 * include/grub/sparc64/setjmp.h: Likewise.
45094 * include/grub/sparc64/types.h: Likewise.
45095 * include/grub/sparc64/ieee1275/console.h: Likewise.
45096 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
45097 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
45098 * include/grub/sparc64/ieee1275/time.h: Likewise.
45099 * include/grub/util/biosdisk.h: Likewise.
45100 * include/grub/util/getroot.h: Likewise.
45101 * include/grub/util/lvm.h: Likewise.
45102 * include/grub/util/misc.h: Likewise.
45103 * include/grub/util/raid.h: Likewise.
45104 * include/grub/util/resolve.h: Likewise.
45105 * io/gzio.c: Likewise.
45106 * kern/device.c: Likewise.
45107 * kern/disk.c: Likewise.
45108 * kern/dl.c: Likewise.
45109 * kern/elf.c: Likewise.
45110 * kern/env.c: Likewise.
45111 * kern/err.c: Likewise.
45112 * kern/file.c: Likewise.
45113 * kern/fs.c: Likewise.
45114 * kern/loader.c: Likewise.
45115 * kern/main.c: Likewise.
45116 * kern/misc.c: Likewise.
45117 * kern/mm.c: Likewise.
45118 * kern/parser.c: Likewise.
45119 * kern/partition.c: Likewise.
45120 * kern/rescue.c: Likewise.
45121 * kern/term.c: Likewise.
45122 * kern/efi/efi.c: Likewise.
45123 * kern/efi/init.c: Likewise.
45124 * kern/efi/mm.c: Likewise.
45125 * kern/i386/dl.c: Likewise.
45126 * kern/i386/efi/init.c: Likewise.
45127 * kern/i386/efi/startup.S: Likewise.
45128 * kern/i386/pc/init.c: Likewise.
45129 * kern/i386/pc/lzo1x.S: Likewise.
45130 * kern/i386/pc/startup.S: Likewise.
45131 * kern/ieee1275/ieee1275.c: Likewise.
45132 * kern/powerpc/cache.S: Likewise.
45133 * kern/powerpc/dl.c: Likewise.
45134 * kern/powerpc/ieee1275/cmain.c: Likewise.
45135 * kern/powerpc/ieee1275/crt0.S: Likewise.
45136 * kern/powerpc/ieee1275/init.c: Likewise.
45137 * kern/powerpc/ieee1275/openfw.c: Likewise.
45138 * kern/sparc64/cache.S: Likewise.
45139 * kern/sparc64/dl.c: Likewise.
45140 * kern/sparc64/ieee1275/init.c: Likewise.
45141 * kern/sparc64/ieee1275/openfw.c: Likewise.
45142 * loader/efi/chainloader.c: Likewise.
45143 * loader/efi/chainloader_normal.c: Likewise.
45144 * loader/i386/efi/linux.c: Likewise.
45145 * loader/i386/efi/linux_normal.c: Likewise.
45146 * loader/i386/pc/chainloader.c: Likewise.
45147 * loader/i386/pc/chainloader_normal.c: Likewise.
45148 * loader/i386/pc/linux.c: Likewise.
45149 * loader/i386/pc/linux_normal.c: Likewise.
45150 * loader/i386/pc/multiboot.c: Likewise.
45151 * loader/i386/pc/multiboot_normal.c: Likewise.
45152 * loader/powerpc/ieee1275/linux.c: Likewise.
45153 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
45154 * normal/arg.c: Likewise.
45155 * normal/cmdline.c: Likewise.
45156 * normal/command.c: Likewise.
45157 * normal/completion.c: Likewise.
45158 * normal/execute.c: Likewise.
45159 * normal/function.c: Likewise.
45160 * normal/lexer.c: Likewise.
45161 * normal/main.c: Likewise.
45162 * normal/menu.c: Likewise.
45163 * normal/menu_entry.c: Likewise.
45164 * normal/misc.c: Likewise.
45165 * normal/parser.y: Likewise.
45166 * normal/script.c: Likewise.
45167 * normal/i386/setjmp.S: Likewise.
45168 * normal/powerpc/setjmp.S: Likewise.
45169 * normal/sparc64/setjmp.S: Likewise.
45170 * partmap/acorn.c: Likewise.
45171 * partmap/amiga.c: Likewise.
45172 * partmap/apple.c: Likewise.
45173 * partmap/gpt.c: Likewise.
45174 * partmap/pc.c: Likewise.
45175 * partmap/sun.c: Likewise.
45176 * term/gfxterm.c: Likewise.
45177 * term/terminfo.c: Likewise.
45178 * term/efi/console.c: Likewise.
45179 * term/i386/pc/console.c: Likewise.
45180 * term/i386/pc/serial.c: Likewise.
45181 * term/i386/pc/vesafb.c: Likewise.
45182 * term/i386/pc/vga.c: Likewise.
45183 * term/ieee1275/ofconsole.c: Likewise.
45184 * util/biosdisk.c: Likewise.
45185 * util/console.c: Likewise.
45186 * util/genmoddep.c: Likewise.
45187 * util/getroot.c: Likewise.
45188 * util/grub-emu.c: Likewise.
45189 * util/grub-mkdevicemap.c: Likewise.
45190 * util/grub-probe.c: Likewise.
45191 * util/lvm.c: Likewise.
45192 * util/misc.c: Likewise.
45193 * util/raid.c: Likewise.
45194 * util/resolve.c: Likewise.
45195 * util/update-grub.in: Likewise.
45196 * util/update-grub_lib.in: Likewise.
45197 * util/grub.d/00_header.in: Likewise.
45198 * util/grub.d/10_hurd.in: Likewise.
45199 * util/grub.d/10_linux.in: Likewise.
45200 * util/i386/efi/grub-install.in: Likewise.
45201 * util/i386/efi/grub-mkimage.c: Likewise.
45202 * util/i386/pc/grub-install.in: Likewise.
45203 * util/i386/pc/grub-mkimage.c: Likewise.
45204 * util/i386/pc/grub-mkrescue.in: Likewise.
45205 * util/i386/pc/grub-setup.c: Likewise.
45206 * util/i386/pc/misc.c: Likewise.
45207 * util/powerpc/ieee1275/grub-install.in: Likewise.
45208 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
45209 * util/powerpc/ieee1275/misc.c: Likewise.
45210 * video/bitmap.c: Likewise.
45211 * video/video.c: Likewise.
45212 * video/i386/pc/vbe.c: Likewise.
45213 * video/i386/pc/vbeblit.c: Likewise.
45214 * video/i386/pc/vbefill.c: Likewise.
45215 * video/i386/pc/vbeutil.c: Likewise.
45216 * video/readers/tga.c: Likewise.
45217
3572d015 452182007-07-02 Robert Millan <rmh@aybabtu.com>
45219
45220 * conf/i386-efi.rmk: Replace obsolete reference to
45221 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
45222 with util/getroot.c.
45223 * conf/powerpc-ieee1275.rmk: Likewise.
45224 * conf/sparc64-ieee1275.rmk: Likewise.
45225
45226 * util/grub-emu.c (main): Fix unchecked pointer handling.
45227
2c2a681b 452282007-07-02 Robert Millan <rmh@aybabtu.com>
45229
45230 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
45231 invocation to fail, in order to support partition-less media.
45232
45233 * util/i386/pc/grub-install.in: Likewise.
45234
45235 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
45236 which fs or partmap modules are needed (akin to its sister scripts).
45237
45238 Also use grub-probe to get rid of unportable /proc/mounts check.
45239
45240 Print the same informational message that the other scripts do, before
fe6b695a 45241 exiting.
2c2a681b 45242
6193defe 452432007-06-23 Robert Millan <rmh@aybabtu.com>
45244
fe6b695a 45245 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 45246 a font file can be found and, if so, echo the GRUB path to it.
45247
45248 * util/update-grub.in: Handle multiple terminals depending on user
45249 input, platform availability and font file presence. Propagate
45250 variables of our findings to /etc/grub.d/ children.
45251
45252 * util/grub.d/00_header.in: Handle multiple terminals, based on
45253 environment setup by update-grub.
45254
eface1dc 452552007-06-23 Robert Millan <rmh@aybabtu.com>
45256
ba50d28f 45257 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 45258
bf697e28 452592007-06-21 Robert Millan <rmh@aybabtu.com>
45260
45261 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
45262 indicate end of data section in kernel image.
45263 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
45264 GRUB_KERNEL_MACHINE_DATA_END.
45265
45266 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
45267 space for it.
45268 * kern/i386/efi/startup.S: Likewise.
45269
45270 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
45271 during image generation. Implement --prefix option to override this
45272 patch.
45273 * util/i386/efi/grub-mkimage.c: Likewise.
45274
45275 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
45276 code to make path relative to its root into a separate function.
45277
45278 * util/i386/pc/grub-install.in: Use newly provided
45279 make_system_path_relative_to_its_root() to convert ${grubdir}, then
45280 pass the result to grub-install --prefix.
45281
baa574b4 452822007-06-13 Robert Millan <rmh@aybabtu.com>
45283
45284 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
45285 DEFAULT_DEVICE_MAP.
45286 * util/grub-emu.c: Use above definitions from misc.h instead of
45287 defining them.
45288 * util/grub-mkdevicemap.c: Likewise.
45289 * util/i386/pc/grub-setup.c: Likewise.
45290 * util/grub-probe.c: Likewise.
45291 (probe): Abort with grub_util_error() when either
45292 grub_guess_root_device or grub_util_get_grub_dev fails.
45293
0215dcbf 452942007-06-12 Robert Millan <rmh@aybabtu.com>
45295
45296 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
45297 "pager" assignment.
45298 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
45299 "pcdata".
45300 * util/grub-probe.c (probe): Likewise for "drive_name".
45301
8af2ab7b 453022007-06-11 Robert Millan <rmh@aybabtu.com>
45303
45304 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
45305 not just the cdrom one.
45306
59d31694 453072007-06-11 Robert Millan <rmh@aybabtu.com>
45308
45309 * util/i386/pc/grub-mkrescue.in: Add "set -e".
45310 Add --pkglibdir=DIR option to override pkglibdir.
45311 Mention --image-type=TYPE in help output.
45312 Fix --grub-mkimage (it was a no-op).
fe6b695a 45313 Abort gracefully when no parameter is given.
59d31694 45314
7ee367e4 453152007-06-11 Robert Millan <rmh@aybabtu.com>
45316
45317 * util/i386/pc/grub-mkrescue.in: New file.
45318 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
45319 * Makefile.in: Handle bin_SCRIPTS.
45320
29b0ed46 453212007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
45322
45323 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
45324 list of video modes.
45325
c0f90770 453262007-06-06 Robert Millan <rmh@aybabtu.com>
45327
45328 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
45329 file doesn't exist, or if it is in a filesystem grub can't read.
45330
45331 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
45332 not abort if GRUB_DRIVE could not be defined. Rearrange generated
45333 header comment to fit in 80 columns when the variables are resolved.
45334
45335 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
45336 could be identified by update-grub. Remove redundant check for
fe6b695a 45337 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 45338 handles that).
45339
fb36dc26 453402007-06-04 Robert Millan <rmh@aybabtu.com>
45341
45342 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
45343
45344 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
45345
45346 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
45347
0c68c93e 453482007-06-04 Robert Millan <rmh@aybabtu.com>
45349
45350 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
45351
45352 * include/grub/partition.h: Declare grub_apple_partition_map_init and
45353 grub_apple_partition_map_fini.
45354
45355 * util/biosdisk.c
45356 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
45357 to access >2 TiB disks).
45358
45359 Print disk->total_sectors with %llu instead of %lu, since this
45360 variable is always 64-bit (prevents wrong disk size from being displayed
45361 on either >2 TiB disk or big-endian CPU).
45362
45363 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
45364 into a generic case that supports all (sane) partition maps.
45365
45366 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
45367 breaks big-endian.
45368
45369 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
45370 and grub_apple_partition_map_fini() after that.
45371
0f23eb74 453722007-06-01 Robert Millan <rmh@aybabtu.com>
45373
45374 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
45375
45376 * util/grub.d/00_header.in: Only enable gfxterm when
45377 convert_system_path_to_grub_path() succeeds.
45378
42c71976 453792007-05-20 Robert Millan <rmh@aybabtu.com>
45380
45381 * util/update-grub_lib.in: New file.
45382 * DISTLIST: Add update-grub_lib.in.
45383 * conf/common.rmk: Generate update-grub_lib and install it in
45384 $(lib_DATA).
45385 * Makefile.in: Add install routine for $(lib_DATA).
45386
45387 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
45388 function provided by update-grub_lib to support arbitrary paths of
45389 unifont.pff.
45390 * util/update-grub.in: Use convert_system_path_to_grub_path() to
45391 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
45392
5beb2291 453932007-05-19 Robert Millan <rmh@aybabtu.com>
45394
45395 * commands/i386/cpuid.c: New module.
45396 * DISTLIST: Add it.
45397 * conf/i386-efi.rmk: Enable cpuid.mod.
45398 * conf/i386-pc.rmk: Likewise.
45399
7262eca1 454002007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
45401
45402 * kern/disk.c (grub_disk_read): Check return value of
45403 grub_realloc().
45404
260ba823 454052007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
45406
45407 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
45408 arrays.
45409 * disk/raid.c (grub_raid_open): Likewise.
45410
1ecb6cf2 454112007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
45412
45413 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
45414 stack instead of on the heap.
45415
45416 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
45417 before doing a read on it.
45418
45419 * configure.ac: Only use -fno-stack-protector for the target
45420 environment.
f19dbdb7 45421
21c8cbb1 454222007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
45423
45424 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
45425 __attribute_ ((unused)) to mode_type argument.
45426
45427 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 45428
21c8cbb1 45429 * kern/misc.c (memcmp): Fix prototype.
45430
45431 * include/grub/partition.h [GRUB_UTIL]
45432 (grub_gpt_partition_map_init): Add prototype.
45433 (grub_gpt_partition_map_fini): Likewise.
45434
45435 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
45436 at the right place.
45437
45438 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
45439 (grub_fat_read_data): Likewise.
45440 (grub_fat_find_dir): Likewise.
45441
45442 * font/manager.c (find_glyph): Make table a const.
45443 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 45444
849d55d3 454452007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
45446
45447 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
45448 code, first search for device in /dev/mapper, then in /dev.
45449 (grub_util_get_grub_dev): New function.
45450 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
45451 prototype.
45452 * util/grub-probe.c (probe): Remove check for RAID, call
45453 grub_util_get_grub_dev() instead of
45454 grub_util_biosdisk_get_grub_dev().
45455 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
45456 grub_util_biosdisk_get_grub_dev().
45457 * util/i386/pc/grub-setup.c (main): Likewise.
45458
8fff7c2f 454592007-05-16 Robert Millan <rmh@aybabtu.com>
45460
45461 * DISTLIST: Update for the latest changes.
45462 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
45463 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
45464 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
45465 grub/util/biosdisk.h.
45466 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
45467 grub/util/biosdisk.h.
45468
48e12b52 454692007-05-16 Robert Millan <rmh@aybabtu.com>
45470
45471 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
45472
46b9d128 454732007-05-16 Robert Millan <rmh@aybabtu.com>
45474
45475 * util/i386/efi/grub-install.in: New.
45476 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
45477 newly added grub-install.
45478 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
45479 include.
45480 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
45481 grub/util/biosdisk.h.
45482 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
45483 grub/util/biosdisk.h.
45484
2d1a40a9 454852007-05-16 Robert Millan <rmh@aybabtu.com>
45486
45487 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
45488 * include/grub/util/biosdisk.h: ... here.
45489 * util/i386/pc/biosdisk.c: Moved to ...
45490 * util/biosdisk.c: ... here.
45491 * util/i386/pc/getroot.c: Moved to ...
45492 * util/getroot.c: ... here.
45493 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
45494 * util/grub-mkdevicemap.c: ... here.
45495 * util/i386/pc/grub-probe.c: Moved to ...
45496 * util/grub-probe.c: ... here.
45497
9e26e3bc 454982007-05-15 Robert Millan <rmh@aybabtu.com>
45499
45500 * util/update-grub.in: Remove duplicated line in grub.cfg header
45501 message.
45502
57f96397 455032007-05-13 Robert Millan <rmh@aybabtu.com>
45504
45505 * util/update-grub.in: Fix a few assumptions about the devices holding
45506 /, /boot and /boot/grub being the same.
45507 * util/grub.d/00_header.in: Likewise.
45508 * util/grub.d/10_hurd.in: Likewise.
45509 * util/grub.d/10_linux.in: Likewise.
45510
45511 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
45512 patterns. Use that to define the `.old' suffix as older than `'.
45513
45514 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
45515
45516 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
45517 the grub.cfg header message.
45518
2e610d62 455192007-05-11 Robert Millan <rmh@aybabtu.com>
45520
45521 * util/update-grub.in: Create device.map if it doesn't already exist,
45522 before attempting to run grub-probe.
45523 Check for grub-probe and grub-mkdevicemap with the same code
45524 grub-install is using.
45525 Remove test mode.
45526
3f6a10ef 455272007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
45528
45529 * Makefile.in: Add the datarootdir autoconf variable.
45530
02e7b75e 455312007-05-09 Robert Millan <rmh@aybabtu.com>
45532
45533 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 45534 fail gracefully if dev->disk->partition == NULL.
02e7b75e 45535
75f396cc 455362007-05-07 Robert Millan <rmh@aybabtu.com>
45537
45538 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
45539 determine partition map module.
45540 * util/i386/pc/grub-install.in: Use this feature to decide which
45541 partition module to load, instead of hardcoding pc and gpt.
45542
da65cb36 455432007-05-07 Robert Millan <rmh@aybabtu.com>
45544
45545 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
45546 source directory differs from build directory.
45547
b57d6a91 455482007-05-05 Robert Millan <rmh@aybabtu.com>
45549
45550 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
45551 initialisation.
45552
509d00f1 455532007-05-05 Robert Millan <rmh@aybabtu.com>
45554
45555 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
45556
c48f23ef 455572007-05-05 Robert Millan <rmh@aybabtu.com>
45558
45559 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
45560 command-line arguments via ${GRUB_CMDLINE_LINUX}.
45561
20b97658 455622007-05-05 Robert Millan <rmh@aybabtu.com>
45563
45564 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
45565 (grub_probe_SOURCES): Likewise.
45566 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
45567 GPT and initialize dos_part and bsd_part accordingly.
45568 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
45569 install_bsd_part.
45570 (main): Activate gpt module for use during partition identification,
45571 and deactivate it afterwards.
45572 * util/i386/pc/grub-install.in: Add gpt module to core.img.
45573 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
45574 partition identification, and deactivate it afterwards.
45575
99123174 455762007-05-05 Robert Millan <rmh@aybabtu.com>
45577
45578 * term/i386/pc/console.c (grub_console_fini): Call
45579 grub_term_set_current() before grub_term_unregister().
45580
ebd97f6e 455812007-05-04 Robert Millan <rmh@aybabtu.com>
45582
45583 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
45584 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
45585 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
45586 and update-grub_DATA.
45587 * conf/common.rmk: Build and install update-grub components.
45588 * conf/common.mk: Regenerate.
45589 * util/update-grub.in: New. Core of update-grub.
45590 * util/grub.d/00_header.in: New. Generates grub.cfg header.
45591 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
45592 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
45593 * util/grub.d/README: New. Document grub.d directory layout.
45594
b06a264d 455952007-05-01 Robert Millan <rmh@aybabtu.com>
45596
45597 * util/grub-emu.c: Move initialization functions
45598 grub_util_biosdisk_init() and grub_init_all() before
45599 grub_util_biosdisk_get_grub_dev(), which relies on them.
45600
41f0050e 456012007-04-19 Robert Millan <rmh@aybabtu.com>
45602
45603 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
45604 it is used later.
45605
04582bb3 456062007-04-18 Jerone Young <jerone@gmail.com>
45607
f19dbdb7 45608 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 45609 stanza.
45610
08db4632 456112007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 45612
08db4632 45613 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
45614 continue on and look for device node with real device name.
45615
801b76be 456162007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 45617
fe6b695a 45618 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 45619 ability.
45620 * Makefile.in: Add autoconf package transformation code.
45621 * util/i386/pc/grub-install.in: Likewise.
45622 * util/powerpc/ieee1275/grub-install.in: Likewise.
45623
6795c4e1 456242007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
45625
45626 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
45627 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
45628 (EXT2_REVISION): Likewise.
45629 (EXT2_INODE_SIZE): Likewise.
45630 (struct grub_ext2_block_group): Added a missing member
45631 "used_dirs".
45632 (grub_ext2_read_inode): Divide by the inode size in a superblock
45633 instead of 128 to obtain INODES_PER_BLOCK.
45634 Use the macro EXT2_INODE_SIZE instead of directly using
45635 SBLOCK->INODE_SIZE.
45636
d70af616 456372007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
45638
45639 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
45640 superblock instead of the structure size to compute an
45641 offset. This fixes the problem that GRUB could not read a
45642 filesystem when inode size is different from 128-byte.
45643
3b801603 456442007-03-05 Marco Gerards <marco@gnu.org>
45645
45646 * normal/main.c (read_config_file): When "menu" is not set, create
45647 an initial context.
45648
4785bfe4 456492007-02-21 Hollis Blanchard <hollis@penguinppc.org>
45650
45651 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
45652 (HEAP_LIMIT): New macro.
45653 (grub_claim_heap): Claim memory up to `heaplimit'.
45654
a0cbb023 456552007-02-21 Hollis Blanchard <hollis@penguinppc.org>
45656
45657 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
45658 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
45659 (_start): Likewise.
45660 (grub_arch_modules_addr): Return address after `_end'.
45661 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
45662 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
45663 (add_segments): Calculate `_end' from phdr size and location.
45664 (ALIGN_UP): Moved to ...
45665 * include/grub/misc.h: here.
45666 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
45667 New macro.
45668 (GRUB_IEEE1275_MODULE_BASE): Removed.
45669
fd7d8eba 456702007-02-20 Hollis Blanchard <hollis@penguinppc.org>
45671
45672 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
45673 loop boundary.
45674
9b09e6fc 456752007-02-20 Hollis Blanchard <hollis@penguinppc.org>
45676
45677 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
45678 All users updated.
45679 (grub_elf64_load_hook_t): Likewise.
45680 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
45681 debug output.
45682
3ce27299 456832007-02-20 Hollis Blanchard <hollis@penguinppc.org>
45684
45685 * kern/mm.c: Update copyright.
45686 (grub_mm_debug): Correct syntax error.
45687 (grub_mm_dump_free): New function.
45688 (grub_debug_free): Call `grub_free'.
45689 * include/grub/mm.h: Update copyright.
45690 (grub_mm_dump_free): Add declaration.
45691
077d5fee 456922007-02-12 Hollis Blanchard <hollis@penguinppc.org>
45693
45694 * include/grub/ieee1275/ieee1275.h: Update copyright.
45695 * kern/powerpc/ieee1275/init.c: Likewise.
45696 * kern/powerpc/ieee1275/openfw.c: Likewise.
45697
45698 * loader/powerpc/ieee1275/linux.c: Likewise.
45699 * include/grub/elfload.h: Likewise.
45700 * kern/elf.c: Likewise.
45701 (grub_elf32_load): Pass `base' and `size' parameters. Update all
45702 callers.
45703 (grub_elf64_load): Likewise.
45704 (grub_elf32_load_segment): Move to a nested function.
45705 (grub_elf64_load_segment): Likewise.
45706
dc946850 457072007-02-12 Hollis Blanchard <hollis@penguinppc.org>
45708
45709 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
45710 prototype.
45711 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
45712 (grub_heap_len): Likewise.
45713 (HEAP_SIZE): New macro.
45714 (grub_claim_heap): New function.
45715 (grub_machine_init): Don't claim heap directly. Call
45716 `grub_claim_heap'.
45717 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
45718 (grub_available_iterate): New function.
45719
baa2a121 457202007-02-03 Thomas Schwinge <tschwinge@gnu.org>
45721
45722 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
45723 * configure.ac: Use it for testing the HOST and TARGET compilers.
45724
4fe9862e 457252006-12-13 Thomas Schwinge <tschwinge@gnu.org>
45726
45727 * Makefile.in (enable_grub_emu): New variable.
45728 * configure.ac (--enable-grub-emu): New option.
45729 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
45730 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
45731 * conf/i386-pc.rmk: Likewise.
45732 * conf/powerpc-ieee1275.rmk: Likewise.
45733 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
45734
a8aa5762 457352006-12-12 Marco Gerards <marco@gnu.org>
45736
45737 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
45738
45739 * kern/env.c (grub_env_unset): Don't free the member `value' when
45740 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
45741 pointer.
45742
45743 * normal/main.c (current_menu): Removed.
45744 (free_menu): Unset the `menu' environment variable.
45745 (grub_normal_menu_addentry): Make use of the environment variable
45746 `menu', instead of using the global `current_menu'. Allocate
45747 memory for the sourcecode of this entry.
45748 (read_config_file): New argument `nested', changed all callers.
45749 Only in the case of a new context, initialize a new menu. Set the
45750 `menu' environment variable.
45751 (grub_normal_execute): Don't set and unset the environment
45752 variable `menu' here anymore. Only free the menu when leaving the
45753 context.
45754
45755 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
45756 leak.
45757
957b3a3e 457582006-12-11 Marco Gerards <marco@gnu.org>
45759
45760 * normal/menu_entry.c (run): Fix off by one bug so the last line
45761 is executed. Move the loader check to outside the loop.
45762
ef875714 457632006-12-08 Hollis Blanchard <hollis@penguinppc.org>
45764
45765 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
45766
4e739985 457672006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
45768
45769 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
45770 the number of sectors. Reported by Andrey Shuvikov
45771 <mr_hyro@yahoo.com>.
f19dbdb7 45772
790707f2 457732006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
45774
45775 * kern/disk.c (grub_disk_read): When there is a read error, always
45776 try to read only the necessary data.
f19dbdb7 45777
790707f2 45778 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
45779 disk/raid.c.
45780 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
45781 prototype.
45782 [GRUB_UTIL] (grub_raid_fini): Likewise.
45783 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 45784 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 45785 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
45786 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
45787 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
45788 and grub_raid_fini().
f19dbdb7 45789
03e58196 457902006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
45791
45792 * include/grub/types.h (__unused): Rename to UNUSED.
45793 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
45794 (grub_elf64_size): Likewise.
f19dbdb7 45795
ae4f23bf 457962006-11-03 Hollis Blanchard <hollis@penguinppc.org>
45797
45798 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
45799 grub_error_push and grub_error_pop in the error-handling path.
45800 (grub_elf32_load_segment): Only call grub_file_read with non-zero
45801 length.
45802
2166cc83 458032006-11-03 Hollis Blanchard <hollis@penguinppc.org>
45804
45805 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
45806 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
45807 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45808 (kernel_elf_SOURCES): Likewise.
45809 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
45810 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
45811 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45812 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45813 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
45814 (elf_mod_SOURCES): New variable.
45815 (elf_mod_CFLAGS): Likewise.
45816 (elf_mod_LDFLAGS): Likewise.
45817 * include/grub/types.h (__unused): New macro.
45818 * include/grub/elfload.h: New file.
45819 * kern/elf.c: Likewise.
45820 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
45821 (ELF32_LOADMASK): New macro.
45822 (ELF64_LOADMASK): Likewise.
45823 (vmlinux): Removed.
45824 (grub_linux_load32): New function.
45825 (grub_linux_load64): Likewise.
45826 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
45827 Use grub_elf_t instead of grub_file_t.
45828
a09d5aa5 458292006-11-02 Hollis Blanchard <hollis@penguinppc.org>
45830
45831 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
45832 `catch_result' to struct set_color_args.
45833
d976fc51 458342006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
45835
45836 * normal/menu.c: Include grub/script.h.
45837 * normal/menu_entry.c: Likewise.
45838 * include/grub/normal.h: Do not include grub/script.h.
45839
67507549 458402006-10-27 Hollis Blanchard <hollis@penguinppc.org>
45841
45842 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
45843
69203a99 458442006-10-27 Hollis Blanchard <hollis@penguinppc.org>
45845
45846 * kern/disk.c (grub_disk_open): Print debug messages when opening a
45847 disk.
45848 (grub_disk_close): Print debug messages when closing a disk.
45849 (grub_disk_read): Print debug messages when disk read fails.
45850 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
45851 filesystem type.
45852 * kern/partition.c: Include misc.h.
45853 (grub_partition_iterate): Print debug messages when detecting
45854 partition type.
45855
e2b8278c 458562006-10-27 Hollis Blanchard <hollis@penguinppc.org>
45857
45858 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
45859 is negative.
45860 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
45861
97b2f2ff 458622006-10-26 Hollis Blanchard <hollis@penguinppc.org>
45863
45864 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
45865 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
45866
6555d655 458672006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
45868
45869 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
45870 instead of sizeof(lv). Patch by Michael Guntsche.
45871
4d42b77f 458722006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
45873
45874 * disk/lvm.c: Rename VGS to VG_LIST.
45875 (grub_lvm_iterate): Change VGS->LV to VG-LV.
45876 (grub_lvm_open): Likewise.
45877 Thanks to Michael Guntsche for finding this bug.
45878
5d74d927 458792006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
45880
45881 * configure.ac (AC_INIT): Bumped to 1.95.
45882
a1bb27e4 458832006-10-14 Robert Millan <rmh@aybabtu.com>
45884
45885 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
45886 with "/dev/.static/dev/md".
45887
e0994b8b 458882006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
45889
45890 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
45891 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
45892 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
45893 DRIVE_NAME are always freed.
45894
45895 * util/i386/pc/biosdisk.c (make_device_name): Add one into
45896 DOS_PART, as a DOS partition is counted from one instead of zero
45897 now. Reported by Robert Millan.
45898
ddd5cee9 458992006-10-14 Robert Millan <rmh@aybabtu.com>
45900
45901 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
45902 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
45903 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
45904 string returned by grub_guess_root_device.
45905 * util/i386/pc/grub-setup.c: Likewise.
45906 * util/i386/pc/grub-probefs.c: Likewise.
45907
45908 * util/i386/pc/grub-probefs.c: Rename to ...
45909 * util/i386/pc/grub-probe.c: ... this.
45910 * DISTLIST: Remove grub-probefs, add grub-probe.
45911 * conf/i386-efi.rmk: Likewise.
45912 * conf/i386-pc.rmk: Likewise.
45913 * util/i386/pc/grub-install.in: Likewise.
45914
45915 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
45916 choose which information we want to print.
45917
2b002173 459182006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
45919
45920 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
45921 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
45922 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
45923 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
45924 video/readers/tga.c and video/i386/pc/vbeutil.c.
45925
459262006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
45927
45928 Added support for RAID and LVM.
f19dbdb7 45929
2b002173 45930 * disk/lvm.c: New file.
45931 * disk/raid.c: Likewise.
45932 * include/grub/lvm.h: Likewise.
f19dbdb7 45933 * include/grub/raid.h: Likewise.
2b002173 45934 * include/grub/util/lvm.h: Likewise.
45935 * include/grub/util/raid.h: Likewise.
45936 * util/lvm.c: Likewise.
45937 * util/raid.c: Likewise.
45938
45939 * include/grub/disk.h (grub_disk_dev_id): Add
45940 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
45941 (grub_disk_get_size): New prototype.
45942 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
45943 returns a partition.
45944 (grub_disk_get_size): New function.
f19dbdb7 45945
2b002173 45946 * kern/i386/pc/init.c (make_install_device): Copy the prefix
45947 verbatim if grub_install_dos_part is -2.
45948
45949 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
45950 and LVM devices.
45951
45952 * util/i386/pc/grub-setup.c (setup): New argument
45953 MUST_EMBED. Force embedding of GRUB when the argument is
45954 true. Close FILE before returning.
45955 (main): Add support for RAID and LVM.
f19dbdb7 45956
2b002173 45957 * conf/common.rmk: Add RAID and LVM modules.
45958 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
45959 util/lvm.c.
45960 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
45961
45962 * kern/misc.c (grub_strstr): New function.
45963 * include/grub/misc.h (grub_strstr): New prototype.
45964
050548d0 459652006-10-10 Tristan Gingold <tristan.gingold@bull.net>
45966
45967 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
45968
da849d2d 459692006-10-05 Tristan Gingold <tristan.gingold@bull.net>
45970
45971 * kern/misc.c (grub_strtoull): Guess the base only if not
45972 specified.
45973
97b2f2ff 459742006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 45975
45976 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
45977 PowerMac support.
45978
97b2f2ff 459792006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 45980
45981 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
45982
45983 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
45984 Remove `flags' argument. All callers changed.
45985 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
45986 (IEEE1275_IHANDLE_INVALID): New variable.
45987 (IEEE1275_CELL_INVALID): New variable.
45988 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
45989 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
45990 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
45991 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
45992 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
45993 codes from Open Firmware. All callers updated.
45994 (grub_ieee1275_next_property): Directly return Open Firmware return
45995 code.
45996 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
45997 Standardize error checking from `grub_ieee1275_get_property'.
45998 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
45999 `devalias' to `aliases'. Correct comments. Consolidate error paths.
46000
97b2f2ff 460012006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 46002
46003 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
46004 `instance_to_package_args' to `instance_to_path_args'.
46005
46006 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
46007 `grub_ieee1275_chosen'.
46008
46009 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
46010 `grub_ieee1275_interpret'.
46011
97b2f2ff 460122006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 46013
46014 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
46015
97b2f2ff 460162006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 46017
46018 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
46019 (__cmpdi): Likewise.
46020
46021 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
46022 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
46023 `grub_ssize_t'.
46024
02bb8acc 46025 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 46026
46027 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
46028 to type `grub_ssize_t'.
46029 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
46030
7f9a8531 460312006-09-22 Marco Gerards <marco@gnu.org>
46032
46033 * normal/script.c (grub_script_create_cmdmenu): Skip leading
46034 newlines.
46035
b5ef1102 460362006-09-22 Marco Gerards <marco@gnu.org>
46037
46038 * commands/echo.c: New file.
46039
46040 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
46041
46042 * conf/common.rmk (echo_mod_SOURCES): New variable.
46043 (echo_mod_CFLAGS): Likewise.
46044 (echo_mod_LDFLAGS): Likewise.
46045
2cff3677 460462006-09-22 Marco Gerards <marco@gnu.org>
46047
46048 * normal/main.c (get_line): Malloc memory instead of using
46049 preallocated memory. Removed the arguments `cmdline' and
46050 `max_len'. Updated all callers.
46051
6ba4688b 460522006-09-22 Marco Gerards <marco@gnu.org>
46053
46054 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
46055 (normal_mod_DEPENDENCIES): Likewise.
46056
46057 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
46058 (normal_mod_DEPENDENCIES): Likewise.
46059
46060 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
46061
e02ac02c 460622006-09-22 Johan Rydberg <jrydberg@gnu.org>
46063
46064 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
46065 programs.
46066 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
46067 (normal_mod_DEPENDENCIES): Likewise.
46068 * conf/i386-pc.mk: Regenerate.
46069 * conf/i386-efi.mk: Likewise
46070 * conf/common.mk: Likewise.
46071 * conf/powerpc-ieee1275.mk: Likewise.
46072 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 46073
8d252e44 460742006-09-22 Robert Millan <rmh@aybabtu.com>
46075
46076 Sync with i386 version.
46077 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
46078 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
46079
209bf7ac 460802006-09-21 Robert Millan <rmh@aybabtu.com>
46081
46082 Import from GRUB Legacy (lib/device.c):
46083 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
46084 (init_device_map) [__linux__]: Add support for I2O devices.
46085
6b146090 460862006-09-14 Marco Gerards <marco@gnu.org>
46087
46088 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
46089 `-melf_i386'.
46090
e38600a8 460912006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 46092
46093 * util/i386/pc/grub-install.in: Skip menu.lst when removing
46094 /boot/grub/*.lst.
78fa1790 46095
2952da5d 46096 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 46097
2952da5d 46098 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
46099 before adding it to device.map.
46100
01b82a64 461012006-08-15 Johan Rydberg <jrydberg@gnu.org>
46102
fe6b695a 46103 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 46104 compiles a file; using the -MD option.
46105 * conf/common.mk: Regenerate.
46106 * conf/i386-pc.mk: Likewise.
46107 * conf/i386-efi.mk: Likewise.
46108 * conf/powerpc-ieee1275.mk: Likewise.
46109 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 46110
1064790d 461112006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
46112
46113 Move the prototypes of grub_setjmp and grub_longjmp to
46114 cpu/setjmp.h, so that each architecture may specify different
46115 attributes.
f19dbdb7 46116
1064790d 46117 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
46118 (grub_longjmp): Likewise.
46119 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
46120 (grub_longjmp): Likewise.
46121 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
46122 (grub_longjmp): Likewise.
46123
46124 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
46125 [!GRUB_UTIL] (grub_longjmp): Removed.
46126
29dda3ed 461272006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
46128
46129 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
46130 "color!" method does not return any value.
46131
ad2a06ed 461322006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46133
46134 * include/grub/bitmap.h: New file.
46135
46136 * include/grub/i386/pc/vbeutil.h: Likewise.
46137
46138 * video/bitmap.c: Likewise.
46139
46140 * video/readers/tga.c: Likewise.
46141
46142 * video/i386/pc/vbeutil.c: Likewise.
46143
46144 * commands/videotest.c: Code cleanup and updated to reflect to new
46145 video API.
46146
46147 * term/gfxterm.c: Likewise.
46148
46149 * video/video.c: Likewise.
46150
46151 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
46152 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
46153 (bitmap_mod_SOURCES): New entry.
46154 (bitmap_mod_CFLAGS): Likewise.
46155 (bitmap_mod_LDFLAGS): Likewise.
46156 (tga_mod_SOURCES): Likewise.
46157 (tga_mod_CFLAGS): Likewise.
46158 (tga_mod_LDFLAGS): Likewise.
46159
46160 * include/grub/video.h (grub_video_blit_operators): New enum type.
46161 (grub_video_render_target): Changed as forward declaration and moved
46162 actual definition to be video driver specific.
46163 (grub_video_adapter.blit_bitmap): Added blitting operator.
46164 (grub_video_adapter.blit_render_target): Likewise.
46165 (grub_video_blit_bitmap): Likewise.
46166 (grub_video_blit_render_target): Likewise.
46167
46168 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
46169 driver specific render target definition.
46170 (grub_video_vbe_map_rgba): Added driver internal helper.
46171 (grub_video_vbe_unmap_color): Updated to use
46172 grub_video_i386_vbeblit_info.
46173 (grub_video_vbe_get_video_ptr): Likewise.
46174
46175 * include/grub/i386/pc/vbeblit.h
46176 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
46177 grub_video_i386_vbeblit_info.
46178 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
46179 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
46180 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
46181 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
46182 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
46183 (grub_video_i386_vbeblit_index_index): Likewise.
46184 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
46185 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
46186 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
46187 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
46188 operator.
46189 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
46190 operator.
46191
46192 * video/i386/pc/vbeblit.c: Updated to reflect changes on
46193 include/grub/i386/pc/vbeblit.h.
46194
46195 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
46196 Updated to use grub_video_i386_vbeblit_info.
46197 (grub_video_i386_vbefill_R8G8B8): Likewise.
46198 (grub_video_i386_vbefill_index): Likewise.
46199 (grub_video_i386_vbefill): Added generic filler.
46200
46201 * video/i386/pc/vbefill.c: Updated to reflect changes on
46202 include/grub/i386/pc/vbefill.h.
46203
46204 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
46205 grub_video_i386_vbeblit_info.
46206 (grub_video_vbe_unmap_color): Likewise.
46207 (grub_video_vbe_blit_glyph): Likewise.
46208 (grub_video_vbe_scroll): Likewise.
46209 (grub_video_vbe_draw_pixel): Removed function.
46210 (grub_video_vbe_get_pixel): Likewise.
46211 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
46212 updated code to use it.
46213 (common_blitter): Added common blitter for render target and bitmap.
46214 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
46215 (grub_video_vbe_blit_render_target): Likewise.
46216
bc8c036d 462172006-07-30 Johan Rydberg <jrydberg@gnu.org>
46218
46219 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
46220 is in text mode if there is no console control protocol instance
46221 available.
46222
684a8eff 462232006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46224
46225 * include/grub/video.h: Code cleanup.
46226
46227 * include/grub/i386/pc/vbe.h: Likewise.
46228
46229 * video/i386/pc/vbe.c: Likewise.
46230
46231 * video/i386/pc/vbeblit.c: Likewise.
46232
46233 * video/i386/pc/vbefill.c: Likewise.
46234
46235 * video/video.c: Likewise. Also added more comments.
46236
5915059b 462372006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46238
46239 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
46240 (struct grub_biosdisk_dap): Likewise.
46241
46242 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
46243 linkage settings for all functions.
46244
90ce5d56 462452006-07-12 Marco Gerards <marco@gnu.org>
46246
46247 * configure.ac (--enable-mm-debug): Fix typo.
46248
46249 * genkernsyms.sh.in: Use proper quoting for `CC'.
46250
43e7f879 462512006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
46252
46253 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
46254 (normal_mod_ASFLAGS): Remove "-m32".
46255
4889bdec 462562006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
46257
46258 * util/misc.c: Include config.h.
46259 [!HAVE_MEMALIGN]: Do not include malloc.h.
46260 (grub_memalign): Use posix_memalign, if present. Then, use
46261 memalign, if present. Otherwise, emit an error.
46262
46263 * util/grub-emu.c: Do not include malloc.h.
46264
46265 * include/grub/util/misc.h: Include unistd.h. This is required for
46266 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
46267 D. Eades III <hde@foobar-qux.org>.
46268
46269 * configure.ac (AC_GNU_SOURCE): Added.
46270 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
46271 type.
46272
fd39d4da 462732006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
46274
46275 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
46276 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
46277
b786f3b5 462782006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
46279
46280 * include/grub/types.h (grub_host_addr_t): Rename to
46281 grub_target_addr_t.
46282 (grub_host_off_t): Rename to grub_target_off_t.
46283 (grub_host_size_t): Rename to grub_target_size_t.
46284 (grub_host_ssize_t): Rename to grub_target_ssize_t.
46285 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
46286
46287 * include/grub/kernel.h (struct grub_module_header): Change type
46288 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
46289 (grub_module_info): Likewise.
f19dbdb7 46290
051988bb 462912006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
46292
46293 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
46294 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
46295 Velazquez <jesus.velazquez@gmail.com>.
46296
deae281b 462972006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
46298
46299 Count partitions from 1 instead of 0 in the string representation
46300 of partitions. Still use 0-based internally.
f19dbdb7 46301
deae281b 46302 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
46303 (sun_partition_map_iterate): Use grub_partition_t instead of
46304 struct grub_partition *. Cast DESC->START_CYLINDER to
46305 grub_uint64_t after converting the endian.
46306 (sun_partition_map_probe): Subtract 1 for PARTNUM.
46307 (sun_partition_map_get_name): Add 1 to P->INDEX.
46308
46309 * partmap/pc.c (grub_partition_parse): Subtract 1 for
46310 PCDATA->DOS_PART.
46311 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
46312
46313 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
46314 zero instead of one.
46315 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
46316 (gpt_partition_map_get_name): Add 1 into P->INDEX.
46317
46318 * partmap/apple.c (apple_partition_map_iterate): Change the type
46319 of POS to unsigned.
46320 (apple_partition_map_probe): Subtract 1 for PARTNUM.
46321 (apple_partition_map_get_name): Add 1 into P->INDEX.
46322
46323 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
46324 of POS to unsigned.
46325 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
46326 calculate the offset of a partition.
46327 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
46328 (amiga_partition_map_get_name): Add 1 into P->INDEX.
46329
46330 * partmap/acorn.c (acorn_partition_map_find): Change the type of
46331 SECTOR to grub_disk_addr_t.
46332 (acorn_partition_map_iterate): Likewise.
46333 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
46334 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
46335 top.
46336 (acorn_partition_map_get_name): Add 1 into P->INDEX.
46337
46338 * kern/i386/pc/init.c (make_install_device): Add 1 into
46339 GRUB_INSTALL_DOS_PART.
46340
46341 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
46342 conditional.
46343
524a1e6a 463442006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
46345
46346 Clean up the code to support 64-bit addressing in disks and
46347 files. This change is not enough for filesystems yet.
f19dbdb7 46348
524a1e6a 46349 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
46350 type of "start" to grub_uint64_t.
46351 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
46352 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
46353 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
46354 convert addresses.
46355
46356 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
46357 to grub_disk_addr_t.
46358
46359 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
46360 string.
46361
46362 * partmap/pc.c (pc_partition_map_iterate): Likewise.
46363
46364 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
46365 to char *.
46366
46367 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
46368
46369 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
46370
46371 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
46372
46373 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
46374 to grub_off_t, to detect an error from grub_file_seek.
46375 (grub_multiboot_load_elf32): Likewise.
46376
46377 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
46378 maximum unsigned long value when an overflow is detected.
46379 (grub_strtoull): New function.
46380 (grub_divmod64): Likewise.
46381 (grub_lltoa): use grub_divmod64.
46382
46383 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
46384 grub_disk_addr_t.
46385 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
46386 the pointer to next character. Use grub_strtoull instead of
46387 grub_strtoul.
46388 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
46389 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
46390 respectively.
46391
fe6b695a 46392 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 46393 return value is signed.
46394 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
46395 test if OFFSET is less than zero, as OFFSET is unsigned now.
46396
46397 * kern/disk.c (struct grub_disk_cache): Change the type of
46398 "sector" to grub_disk_addr_t.
46399 (grub_disk_cache_get_index): Change the type of SECTOR to
46400 grub_disk_addr_t. Calculate the hash with SECTOR casted to
46401 unsigned after shifting.
46402 (grub_disk_cache_invalidate): Change the type of SECTOR to
46403 grub_disk_addr_t.
46404 (grub_disk_cache_unlock): Likewise.
46405 (grub_disk_cache_store): Likewise.
46406 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
46407 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
46408 grub_disk_addr_t and grub_uint64_t, respectively.
46409 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
46410 body, as the value of OFFSET is tweaked by
46411 grub_disk_check_range. Change the types of START_SECTOR, LEN and
46412 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
46413 respectively.
46414 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
46415 body, as the value of OFFSET is tweaked by
46416 grub_disk_check_range. Change the types of LEN and N to
46417 grub_size_t.
46418
46419 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
46420 and "saved_offset" to grub_off_t.
46421 (test_header): Cast BUF to char *.
46422 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
46423 to char *.
46424 (grub_gzio_read): Change the types of OFFSET and SIZE to
46425 grub_off_t and grub_size_t, respectively.
46426
46427 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
46428 Removed.
46429 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
46430 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
46431 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
46432 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
46433 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
46434
46435 * include/grub/types.h (grub_off_t): Unconditionally set to
46436 grub_uint64_t.
46437 (grub_disk_addr_t): Changed to grub_uint64_t.
46438
46439 * include/grub/partition.h (struct grub_partition): Change the
46440 types of "start", "len" and "offset" to grub_disk_addr_t,
46441 grub_uint64_t and grub_disk_addr_t, respectively.
46442 (grub_partition_get_start): Return grub_disk_addr_t.
46443 (grub_partition_get_len): Return grub_uint64_t.
46444
46445 * include/grub/misc.h (grub_strtoull): New prototype.
46446 (grub_divmod64): Likewise.
46447
46448 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
46449 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
46450 grub_off_t, respectively.
46451 All callers and references changed.
46452
46453 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
46454 grub_size_t in "read".
46455 All callers and references changed.
46456
46457 * include/grub/file.h (struct grub_file): Change the types of
46458 "offset" and "size" to grub_off_t and grub_off_t,
46459 respectively. Change the type of SECTOR to grub_disk_addr_t in
46460 "read_hook".
46461 (grub_file_read): Change the type of LEN to grub_size_t.
46462 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
46463 grub_off_t.
46464 (grub_file_size): Return grub_off_t.
46465 (grub_file_tell): Likewise.
46466 All callers and references changed.
46467
46468 * include/grub/disk.h (struct grub_disk_dev): Change the types of
46469 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
46470 "write".
46471 (struct grub_disk): Change the type of "total_sectors" to
46472 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 46473 "read_hook".
524a1e6a 46474 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
46475 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
46476 (grub_disk_write): Likewise.
46477 All callers and references changed.
46478
46479 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
46480 char * for grub_strncmp to silence gcc.
46481 (grub_iso9660_mount): Likewise.
46482 (grub_iso9660_mount): Likewise.
46483 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
46484 return statement.
46485 (grub_iso9660_iterate_dir): Likewise.
46486 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
46487
46488 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
46489 LEN to grub_disk_addr_t and grub_size_t, respectively.
46490
46491 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
46492
46493 * fs/jfs.c (grub_jfs_read_file): Likewise.
46494
46495 * fs/minix.c (grub_jfs_read_file): Likewise.
46496
46497 * fs/sfs.c (grub_jfs_read_file): Likewise.
46498
46499 * fs/ufs.c (grub_jfs_read_file): Likewise.
46500
46501 * fs/xfs.c (grub_jfs_read_file): Likewise.
46502
46503 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
46504 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
46505 respectively.
46506
46507 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
46508 BLKNR to -1 instead of returning GRUB_ERRNO.
46509 (grub_ext2_read_file): Change the types of SECTOR and
46510 LEN to grub_disk_addr_t and grub_size_t, respectively.
46511
46512 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
46513 LEN to grub_disk_addr_t and grub_size_t, respectively.
46514
46515 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
46516 grub_file_read.
46517
46518 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
46519 string. Do not cast SECTOR explicitly.
46520
46521 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
46522 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
46523 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
46524 grub_disk_addr_t and grub_size_t, respectively. If the sector is
46525 over 2TB and LBA mode is not supported, raise an error.
46526 (get_safe_sectors): New function.
46527 (grub_biosdisk_read): Use get_safe_sectors.
46528 (grub_biosdisk_write): Likewise.
46529
46530 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
46531 (grub_efidisk_write): Likewise.
46532
46533 * disk/loopback.c (delete_loopback): Cosmetic changes.
46534 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
46535 correctly.
46536 (grub_loopback_open): Likewise.
46537 (grub_loopback_read): Likewise. Also, change the type of POS to
46538 grub_off_t, and fix the usage of grub_memset.
46539
46540 * commands/i386/pc/play.c: Include grub/machine/time.h.
46541
46542 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
46543 print FILE->SIZE.
46544
46545 * commands/configfile.c: Include grub/env.h.
46546
46547 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
46548 GRUB_ERRNO directly instead. Change the type of POS to
46549 grub_off_t. Follow the coding standard.
46550
46551 * commands/blocklist.c: Include grub/partition.h.
46552 (grub_cmd_blocklist): Return an error if the underlying device is
46553 not a disk. Take the starting sector of a partition into account,
46554 if a partition is used.
46555
46556 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
46557 a length field.
46558 (lba_mode): Support 64-bit addresses.
46559 (chs_mode): Likewise.
46560 (copy_buffer): Adapted to the new offsets of a length field and a
46561 segment field.
46562 (blocklist_default_start): Allocate 64-bit space.
46563
46564 * boot/i386/pc/boot.S (force_lba): Removed.
46565 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 46566 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 46567 space.
46568 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
46569 is useless.
46570 (lba_mode): Refactored to support a 64-bit address. More size
46571 optimization.
46572 (setup_sectors): Likewise.
46573
53af98ad 465742006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
46575
46576 * DISTLIST: Added include/grub/i386/linux.h. Removed
46577 include/grub/i386/pc/linux.h
46578
46579 * configure.ac (AC_INIT): Bumped to 1.94.
46580
46581 * config.guess: Updated from gnulib.
46582 * config.sub: Likewise.
46583 * install-sh: Likewise.
46584 * mkinstalldirs: Likewise.
46585
b4c1940a 465862006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
46587
46588 * conf/common.rmk (grub_modules_init.lst): Depended on
46589 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
46590 MODSRCFILES.
46591
46592 * genmk.rb (PModule::rule): Reverted the previous change.
46593
cfca1cfd 465942006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
46595
46596 * conf/common.rmk (grub_modules_init.lst): Depends on
46597 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
46598 that the target does not exist before producing.
46599 (grub_modules_init.h): Remove the target before generating.
46600 (grub_emu_init.c): Likewise.
46601
46602 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
46603
aa6d7826 466042006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
46605
46606 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
46607 for the target-specific tests. Make sure that we also have the
46608 up-to-date target variables for those tests.
46609
26c607b9 466102006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
46611
46612 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
46613 (PModule::rule): Likewise.
46614
0162321a 466152006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
46616
46617 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
46618 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
46619 target-specific flags should be prefixed.
46620 (PModule::rule): Likewise.
46621
6c826348 466222006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
46623
46624 * configure.ac (CMP): Check if cmp is available explicitly.
46625
b977bf01 466262006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
46627
46628 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
46629 (target_cpu): New variable.
46630 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 46631
b977bf01 46632 * util/i386/pc/grub-install.in (host_cpu): Removed.
46633 (target_cpu): New variable.
46634 (pkglibdir): Use target_cpu instead of host_cpu.
46635
46636 * util/genmoddep.c: Removed.
f19dbdb7 46637
b977bf01 46638 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
46639 instead of GRUB_HOST_SIZEOF_VOID_P.
46640 * kern/dl.c: Likewise.
46641
46642 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
46643 ...
46644 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
46645 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
46646 (GRUB_TARGET_SIZEOF_LONG): ... this.
46647 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
46648 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
46649 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
46650 to ...
46651 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
46652 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
46653 (GRUB_TARGET_SIZEOF_LONG): ... this.
46654 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
46655 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
46656 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
46657 to ...
46658 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
46659 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
46660 (GRUB_TARGET_SIZEOF_LONG): ... this.
46661 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
46662 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
46663
46664 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
46665 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
46666 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
46667 instead of GRUB_HOST_SIZEOF_LONG.
46668 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
46669 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
46670 GRUB_CPU_WORDS_BIGENDIAN.
46671 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
46672 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
46673 grub_host_ssize_t.
46674
46675 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
46676 (genmoddep_SOURCES): Likewise.
46677 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
46678 (genmoddep_SOURCES): Likewise.
46679 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
46680 (genmoddep_SOURCES): Likewise.
46681 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
46682 Likewise.
46683 (genmoddep_SOURCES): Likewise.
46684
46685 * genmoddep.awk: New file.
46686
46687 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
46688 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
46689 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
46690 (PModule::rule): Likewise.
46691 (Program::rule): Likewise.
46692 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
46693 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
46694 respectively.
46695
46696 * configure.ac: Rewritten intensively to use host and target
46697 instead of build and host, respectively.
46698
46699 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
46700 (host_cpu): Removed.
46701 (target_cpu): New variable.
46702 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
46703 (BUILD_CC): Removed.
46704 (BUILD_CFLAGS): Likewise.
46705 (BUILD_CPPFLAGS): Likewise.
46706 (TARGET_CC): New variable.
46707 (TARGET_CFLAGS): Likewise.
46708 (TARGET_CPPFLAGS): Likewise.
46709 (TARGET_LDFLAGS): Likewise.
46710 (AWK): Likewise.
46711 (include): Use target_cpu instead of host_cpu.
46712 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 46713
b977bf01 46714 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
46715
f09771a1 467162006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
46717
46718 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
46719 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
46720 field 'false' to 'exec_on_false'.
46721 (grub_script_create_cmdif): Renamed argument names to reflect above
46722 changes.
46723
46724 * normal/execute.c (grub_script_execute_cmdif): Likewise.
46725
46726 * normal/script.c (grub_script_create_cmdif): Likewise.
46727
118f4fb3 467282006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
46729
46730 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
46731 top.
46732 (grub_hfsplus_btree_recptr): Likewise.
46733 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
46734 FILEBLOCK both to pass a block number and store next block
46735 number.
46736 (grub_hfsplus_read_block): Rewritten heavily to support an extent
46737 overflow file correctly. Specify errors appropriately, because
46738 fshelp expects that GRUB_ERRNO is set when fails. Reuse
46739 grub_hfsplus_btree_recptr to get the pointer to a found key.
46740 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
46741 is found.
46742
46743 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
46744 linux.mod.
46745 (_linux_mod_SOURCES): New variable.
46746 (_linux_mod_CFLAGS): Likewise.
46747 (_linux_mod_LDFLAGS): Likewise.
46748 (linux_mod_SOURCES): Likewise.
46749 (linux_mod_CFLAGS): Likewise.
46750 (linux_mod_LDFLAGS): Likewise.
46751
46752 * DISTLIST: Added loader/i386/efi/linux.c,
46753 loader/i386/efi/linux_normal.c and
46754 include/grub/i386/efi/loader.h.
46755
46756 * loader/i386/efi/linux.c: New file.
46757 * loader/i386/efi/linux_normal.c: Likewise.
46758 * include/grub/i386/efi/loader.h: Likewise.
46759
89a7d726 467602006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
46761
46762 * commands/blocklist.c: New file.
46763
46764 * DISTLIST: Added commands/blocklist.c.
46765
46766 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 46767 color for the background, and a darker color for the foreground.
89a7d726 46768 (grub_console_checkkey): Return READ_KEY.
46769 (grub_console_cls): Set the background to
46770 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
46771
46772 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
46773
46774 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
46775 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
46776
46777 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
46778 prototype.
46779
46780 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
46781 BG. The spec is wrong again.
46782
46783 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
46784 prototype.
46785 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
46786
46787 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
46788 commands/blocklist.c.
46789 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 46790
89a7d726 46791 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
46792 (blocklist_mod_SOURCES): New variable.
46793 (blocklist_mod_CFLAGS): Likewise.
46794 (blocklist_mod_LDFLAGS): Likewise.
46795
75c8f258 467962006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
46797
46798 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
46799 duplication.
46800 (lba_mode): Use %eax more intensively to reduce the code size.
46801
da2eb181 468022006-05-20 Marco Gerards <marco@gnu.org>
46803
46804 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
46805
46806 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
46807 for `menuentry'.
46808 (script): Accept leading newlines.
46809 (newlines): New rule to describe 0 or more newlines.
46810 (commands): Accept `command' with trailing newline. Fixed the
46811 order in which arguments were passed to `grub_script_add_cmd'.
46812 Accept commands separated by newlines.
46813 (function): Changed to accept newlines.
46814 (menuentry) Rewritten.
46815
46816 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
46817 front of the list, instead of to the end.
46818
577b4050 468192006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
46820
46821 * util/i386/pc/grub-install.in (bindir): New variable.
46822 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
46823 Shaver <lbgwjl@gmail.com>.
46824
0d6e1189 468252006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
46826
46827 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
46828 grub/machine/linux.h
46829 * loader/i386/pc/linux.c: Likewise.
46830
46831 * include/grub/i386/pc/linux.h: Moved to ...
46832 * include/grub/i386/linux.h: ... here.
46833
46834 * include/grub/i386/linux.h (struct linux_kernel_params): New
46835 struct.
f19dbdb7 46836
31b86e9f 468372006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
46838
46839 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
46840 checking.
46841 (grub_video_vbe_blit_glyph): Likewise.
46842 (grub_video_vbe_blit_bitmap): Likewise.
46843 (grub_video_vbe_blit_render_target): Likewise.
46844
83b984de 468452006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
46846
46847 * configure.ac (--with-platform): Properly quote the square
46848 brackets.
46849
5f0413bd 468502006-05-08 Marco Gerards <marco@gnu.org>
46851
46852 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
46853 this...
46854 (kernel_elf_HEADERS): ...to this. Updated all users.
46855 (grubof_symlist.c): Renamed from this...
46856 (kernel_elf_symlist.c): ...to this. Updated all users.
46857 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
46858 (grubof_SOURCES): Renamed from this...
46859 (kernel_elf_SOURCES): ...to this.
46860 (grubof_HEADERS): Renamed from this...
46861 (kernel_elf_HEADERS): ...to this.
46862 (grubof_CFLAGS): Renamed from this...
46863 (kernel_elf_CFLAGS): ...to this.
46864 (grubof_ASFLAGS): Renamed from this...
46865 (kernel_elf_ASFLAGS): ...to this.
46866 (grubof_LDFLAGS): Renamed from this...
46867 (kernel_elf_LDFLAGS): ...to this.
46868
46869 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
46870 this...
46871 (kernel_elf_HEADERS): ...to this. Updated all users.
46872 (grubof_symlist.c): Renamed from this...
46873 (kernel_elf_symlist.c): ...to this. Updated all users.
46874 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
46875 (grubof_SOURCES): Renamed from this...
46876 (kernel_elf_SOURCES): ...to this.
46877 (grubof_HEADERS): Renamed from this...
46878 (kernel_elf_HEADERS): ...to this.
46879 (grubof_CFLAGS): Renamed from this...
46880 (kernel_elf_CFLAGS): ...to this.
46881 (grubof_ASFLAGS): Renamed from this...
46882 (kernel_elf_ASFLAGS): ...to this.
46883 (grubof_LDFLAGS): Renamed from this...
46884 (kernel_elf_LDFLAGS): ...to this.
46885
46886 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
46887 `kernel.elf' instead of `grubof'.
46888
05568c2e 468892006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
46890
46891 Add --with-platform to configure. Use pkglibdir instead of
46892 pkgdatadir. This is reported by Roger Leigh.
46893
46894 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
46895 (host_vendor): Likewise.
46896 (host_os): Likewise.
46897 (pkgdatadir): Likewise.
46898 (platform): New variable.
46899 (pkglibdir): Likewise.
46900 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 46901
05568c2e 46902 * util/i386/pc/grub-install.in (datadir): Removed.
46903 (host_vendor): Likewise.
46904 (host_os): Likewise.
46905 (pkgdatadir): Likewise.
46906 (platform): New variable.
46907 (pkglibdir): Likewise.
46908 Use PKGLIBDIR instead of PKGDATADIR.
46909
46910 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
46911 instead of GRUB_DATADIR.
46912 (main): Likewise.
46913 * util/i386/pc/grub-mkimage.c (usage): Likewise.
46914 (main): Likewise.
46915 * util/i386/efi/grub-mkimage.c (usage): Likewise.
46916 (main): Likewise.
46917
46918 * configure.ac (--with-platform): New option.
46919 Use PLATFORM instead of HOST_VENDOR to specify a platform.
46920
46921 * Makefile.in: Include a makefile based on PLATFORM instead of
46922 HOST_VENDOR.
46923 (pkgdatadir): Not appended by the machine type.
46924 (pkglibdir): Appended by the machine type.
46925 (host_vendor): Removed.
46926 (platform): New variable.
46927 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
46928 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
46929 (uninstall): Likewise.
46930
4e93851c 469312006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
46932
46933 Use the environment context in the menu. Remove the commands
46934 "default" and "timeout", and use variables instead.
f19dbdb7 46935
4e93851c 46936 * normal/menu.c: Include grub/env.h.
46937 (print_entry): Cast TITLE to silence gcc.
46938 (get_timeout): New function.
46939 (set_timeout): Likewise.
46940 (get_entry_number): Likewise.
46941 (run_menu): Use a default entry, a fallback entry and a timeout
46942 in the environment variables "default", "fallback" and
46943 "timeout". Also, tweak the default entry if it is not within the
46944 current menu entries.
46945 (grub_menu_run): Use a fallback entry in the environment variable
46946 "fallback".
46947
46948 * normal/main.c (read_config_file): Do not initialize
46949 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
46950 NEWMENU->TIMEOUT.
46951 (grub_normal_execute): Use a data slot to store the menu.
46952
46953 * include/grub/normal.h (struct grub_menu): Removed default_entry,
46954 fallback_entry and timeout.
46955 (struct grub_menu_list): Removed.
46956 (grub_menu_list_t): Likewise.
46957 (struct grub_context): Likewise.
46958 (grub_context_t): Likewise.
46959 (grub_context_get): Likewise.
46960 (grub_context_get_current_menu): Likewise.
46961 (grub_context_push_menu): Likewise.
46962 (grub_context_pop_menu): Likewise.
46963 (grub_default_init): Likewise.
46964 (grub_default_fini): Likewise.
46965 (grub_timeout_init): Likewise.
46966 (grub_timeout_fini): Likewise.
46967
46968 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
46969 and timeout.mod.
46970 (normal_mod_SOURCES): Removed normal/context.c.
46971
46972 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
46973 commands/default.c, commands/timeout.c and normal/context.c.
46974 (normal_mod_SOURCES): Removed normal/context.c.
46975
46976 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
46977 commands/timeout.c and normal/context.c.
46978 (normal_mod_SOURCES): Removed normal/context.c.
46979
46980 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
46981 commands/default.c, commands/timeout.c and normal/context.c.
46982 (normal_mod_SOURCES): Removed normal/context.c.
46983
46984 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
46985 timeout.mod.
46986 (default_mod_SOURCES): Removed.
46987 (default_mod_CFLAGS): Likewise.
46988 (default_mod_LDFLAGS): Likewise.
46989 (timeout_mod_SOURCES): Removed.
46990 (timeout_mod_CFLAGS): Likewise.
46991 (timeout_mod_LDFLAGS): Likewise.
46992
46993 * DISTLIST: Removed commands/default.c, commands/timeout.c and
46994 normal/context.c.
46995
46996 * commands/default.c: Removed.
46997 * commands/timeout.c: Likewise.
46998 * normal/context.c: Likewise.
46999
1eb9cc1d 470002006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
47001
47002 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
47003
385bd9c1 470042006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
47005
47006 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
47007 "next" to "prev" for readability.
47008 (struct grub_env_sorted_var): New struct.
47009 (grub_env_context): Renamed to ...
47010 (initial_context): ... this.
47011 (grub_env_var_context): Renamed to ...
47012 (current_context): ... this.
47013 (grub_env_find): Look only at CURRENT_CONTEXT.
47014 (grub_env_context_open): Rewritten to copy exported variables from
47015 previous context.
47016 (grub_env_context_close): Rewritten according to the new
47017 scheme. Also, add an assertion to prevent the initial context from
47018 removed.
47019 (grub_env_insert): Removed the code for the sorted list.
47020 (grub_env_remove): Likewise.
47021 (grub_env_export): Simply mark the variable with
47022 GRUB_ENV_VAR_GLOBAL.
47023 (grub_env_set): A cosmetic change for naming consistency.
47024 (grub_env_get): Likewise.
47025 (grub_env_unset): Likewise.
47026 (grub_env_iterate): Rewritten to sort variables within this
47027 function.
47028 (grub_register_variable_hook): Fixed for naming consistency. Call
47029 grub_env_find again, only if NAME is not found at the first time.
47030 (mangle_data_slot_name): New function.
47031 (grub_env_set_data_slot): Likewise.
47032 (grub_env_get_data_slot): Likewise.
47033 (grub_env_unset_data_slot): Likewise.
47034
47035 * include/grub/env.h (grub_env_var_type): New enum.
47036 (GRUB_ENV_VAR_LOCAL): New constant.
47037 (GRUB_ENV_VAR_GLOBAL): Likewise.
47038 (GRUB_ENV_VAR_DATA): Likewise.
47039 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
47040 "type".
47041 (grub_env_set): Replace VAR with NAME for consistency.
47042 (grub_register_variable_hook): Likewise.
47043 (grub_env_export): Specify the name of the argument.
47044 (grub_env_set_data_slot): New prototype.
47045 (grub_env_get_data_slot): Likewise.
47046 (grub_env_unset_data_slot): Likewise.
47047
7f362539 470482006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
47049
47050 Extend the loader so that GRUB can accept a loader which comes
47051 back to GRUB when a loaded image exits. Also, this change adds
47052 support for a chainloader on EFI.
f19dbdb7 47053
7f362539 47054 * term/efi/console.c: Include grub/misc.h.
47055 (grub_console_checkkey): Display a scan code on the top for
47056 debugging. This will be removed once the EFI port gets stable.
47057 Correct the scan code mapping.
47058
47059 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
47060 allocate memory from larger regions, in order to reduce the number
47061 of allocated regions. Otherwise, the MacOSX loader panics.
47062 (filter_memory_map): Avoid less than 1MB for compatibility with
47063 other loaders.
47064 (add_memory_regions): Allocate from the tail of a region, if
47065 possible, to avoid allocating a region near to 1MB, for the MacOSX
47066 loader.
47067
47068 * kern/efi/init.c (grub_efi_set_prefix): Specify
47069 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
47070
47071 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
47072 argument IMAGE_HANDLE and specify it to get a loaded image.
47073 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
47074 grub_efi_get_loaded_image.
fe6b695a 47075 (grub_efi_get_filename): Divide the length by the size of
7f362539 47076 grub_efi_char16_t.
47077 (grub_efi_get_device_path): New function.
47078 (grub_efi_print_device_path): Print End Device Path nodes. Divide
47079 the length by the size of grub_efi_char16_t for a file path device
47080 path node.
47081
47082 * kern/loader.c (grub_loader_noreturn): New variable.
47083 (grub_loader_set): Accept a new argument NORETURN. Set
47084 GRUB_LOADER_NORETURN to NORETURN.
47085 All callers changed.
47086 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
47087 grub_machine_fini.
47088
47089 * include/grub/efi/efi.h (grub_efi_get_device_path): New
47090 prototype.
47091 (grub_efi_get_loaded_image): Take an argument to specify an image
47092 handle.
47093
47094 * include/grub/loader.h (grub_loader_set): Added one more argument
47095 NORETURN.
47096
47097 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
47098 instead of grub_efi_open_protocol.
47099 (grub_efidisk_get_device_name): Likewise.
47100 (grub_efidisk_close): Print a newline.
47101 (grub_efidisk_get_device_handle): Fixed to use
47102 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
47103 GRUB_EFI_DEVICE_PATH_TYPE.
47104
47105 * disk/efi/efidisk.c (device_path_guid): Moved to ...
47106 * kern/efi/efi.c (device_path_guid): ... here.
47107
47108 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
47109 chain.mod.
47110 (kernel_mod_HEADERS): Added efi/disk.h.
47111 (_chain_mod_SOURCES): New variable.
47112 (_chain_mod_CFLAGS): Likewise.
47113 (_chain_mod_LDFLAGS): Likewise.
47114 (chain_mod_SOURCES): Likewise.
47115 (chain_mod_CFLAGS): Likewise.
47116 (chain_mod_LDFLAGS): Likewise.
47117
47118 * DISTLIST: Added include/grub/efi/chainloader.h,
47119 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
47120
47121 * include/grub/efi/chainloader.h: New file.
47122 * loader/efi/chainloader.c: Likewise.
47123 * loader/efi/chainloader_normal.c: Likewise.
47124
c0111d6e 471252006-04-30 Marco Gerards <marco@gnu.org>
47126
47127 * commands/configfile.c (grub_cmd_source): New function.
47128 (GRUB_MOD_INIT): Register the commands `source' and `.'.
47129 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
47130
df5341da 471312006-04-30 Marco Gerards <marco@gnu.org>
47132
47133 * normal/execute.c (grub_script_execute_cmd): Change the return
47134 type to `grub_err_t'. Correctly return the error.
47135 (grub_script_execute_cmdline): In case a command line is not a
47136 command or a function, try to interpret it as an assignment.
47137
f85934bd 471382006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
47139
47140 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
47141 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
47142 skip a node whose name is obviously invalid as UTF-16,
47143 i.e. contains a NUL character. Stop the iteration when the last
47144 directory entry is found. Instead of using the return value of
47145 grub_hfsplus_btree_iterate_node, store the value in RET and use
47146 it, because the iterator can be stopped by the last directory
47147 entry.
47148
8f8a2cf8 471492006-04-30 Marco Gerards <marco@gnu.org>
47150
47151 * include/grub/env.h (grub_env_export): New prototype. Reported
47152 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
47153
a27e84ce 471542006-04-30 Marco Gerards <marco@gnu.org>
47155
47156 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
47157 size of the extents in a catalog file record.
47158
eaef0553 471592006-04-29 Marco Gerards <marco@gnu.org>
47160
47161 * commands/configfile.c (grub_cmd_configfile): Execute the
47162 configfile within its own context.
47163
47164 * include/grub/env.h (grub_env_context_open): New prototype.
47165 (grub_env_context_close): Likewise.
47166
47167 * kern/env.c (grub_env): Removed.
47168 (grub_env_sorted): Likewise.
47169 (grub_env_context): New variable.
47170 (grub_env_var_context): Likewise.
47171 (grub_env_find): Search both the active context and the global
47172 context.
47173 (grub_env_context_open): New function.
47174 (grub_env_context_close): Likewise.
47175 (grub_env_insert): Likewise.
47176 (grub_env_remove): Likewise.
47177 (grub_env_export): Likewise.
47178 (grub_env_set): Changed to use helper functions to avoid code
47179 duplication.
47180 (grub_env_iterate): Rewritten so both the current context and the
47181 global context are being used.
47182
47183 * normal/command.c (export_command): New function.
47184 (grub_command_init): Register the `export' function.
47185
7b455f4d 471862006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
47187
47188 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
47189 explicitly to suppress gcc's warnings.
47190 * fs/fat.c (grub_fat_find_dir): Likewise.
47191 (grub_fat_label): Likewise.
47192 * fs/xfs.c (grub_xfs_read_inode): Likewise.
47193 (grub_xfs_mount): Likewise.
47194 (grub_xfs_label): Likewise.
47195 * fs/affs.c (grub_affs_mount): Likewise.
47196 (grub_affs_label): Likewise.
47197 (grub_affs_iterate_dir): Likewise.
47198 * fs/sfs.c (grub_sfs_mount): Likewise.
47199 (grub_sfs_iterate_dir): Likewise.
47200 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
47201 * fs/hfs.c (grub_hfs_mount): Likewise.
47202 (grub_hfs_cmp_catkeys): Likewise.
47203 (grub_hfs_find_dir): Likewise.
47204 (grub_hfs_dir): Likewise.
47205 (grub_hfs_label): Likewise.
47206 * fs/jfs.c (grub_jfs_mount): Likewise.
47207 (grub_jfs_opendir): Likewise.
47208 (grub_jfs_getent): Likewise.
47209 (grub_jfs_lookup_symlink): Likewise.
47210 (grub_jfs_label): Likewise.
47211 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
47212 (grub_hfsplus_iterate_dir): Likewise.
47213 (grub_hfsplus_btree_iterate_node): Made static.
47214
47215 * util/grub-emu.c (prefix): New variable.
47216 (grub_machine_set_prefix): New function.
47217 (main): Do not set the environment variable "prefix" here. Only
47218 set PREFIX, which is used later by grub_machine_set_prefix.
47219
47220 * include/grub/video.h: Do not include grub/symbol.h.
47221 (grub_video_register): Not exported. This symbol is not defined in
47222 the kernel.
47223 (grub_video_unregister): Likewise.
47224 (grub_video_iterate): Likewise.
47225 (grub_video_setup): Likewise.
47226 (grub_video_restore): Likewise.
47227 (grub_video_get_info): Likewise.
47228 (grub_video_get_blit_format): Likewise.
47229 (grub_video_set_palette): Likewise.
47230 (grub_video_get_palette): Likewise.
47231 (grub_video_set_viewport): Likewise.
47232 (grub_video_get_viewport): Likewise.
47233 (grub_video_map_color): Likewise.
47234 (grub_video_map_rgb): Likewise.
47235 (grub_video_map_rgba): Likewise.
47236 (grub_video_fill_rect): Likewise.
47237 (grub_video_blit_glyph): Likewise.
47238 (grub_video_blit_bitmap): Likewise.
47239 (grub_video_blit_render_target): Likewise.
47240 (grub_video_scroll): Likewise.
47241 (grub_video_swap_buffers): Likewise.
47242 (grub_video_create_render_target): Likewise.
47243 (grub_video_delete_render_target): Likewise.
47244 (grub_video_set_active_render_target): Likewise.
47245
47246 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
47247 Undefined.
47248 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
47249
47250 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
47251 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47252 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47253 instead of $(srcdir)/genkernsyms.sh.
47254
47255 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
47256 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47257 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47258 instead of $(srcdir)/genkernsyms.sh.
47259
47260 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
47261 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47262 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47263 instead of $(srcdir)/genkernsyms.sh.
47264
47265 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
47266 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47267 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47268 instead of $(srcdir)/genkernsyms.sh.
47269
47270 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
47271 genkernsyms.sh.
47272
47273 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
47274 genkernsyms.sh.
47275 (gensymlist.sh): New target.
47276 (genkernsyms.sh): Likewise.
47277
47278 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
47279 genkernsyms.sh.in and gensymlist.sh.in.
47280
47281 * genkernsyms.sh: Removed.
47282 * gensymlist.sh: Likewise.
f19dbdb7 47283
7b455f4d 47284 * genkernsyms.sh.in: New file.
47285 * gensymlist.sh.in: Likewise.
47286
1885bb27 472872006-04-25 Hollis Blanchard <hollis@penguinppc.org>
47288
47289 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
47290 clobber "prefix", since we may have already set it manually.
47291
71538dff 472922006-04-25 Hollis Blanchard <hollis@penguinppc.org>
47293
47294 * kern/misc.c (abort): New alias for grub_abort.
47295
2965c7cc 472962006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
47297
47298 A new machine-specific function "grub_machine_set_prefix" is
47299 defined. This is called after loading modules, so that a prefix
47300 initialization can use modules. Also, this change adds an
47301 intensive debugging feature for the memory manager via the
47302 configure option "--enable-mm-debug".
f19dbdb7 47303
2965c7cc 47304 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
47305 PART.LEN.
47306
47307 * kern/sparc64/ieee1275/init.c (abort): Removed.
47308 (grub_stop): Likewise.
47309 (grub_exit): New function.
47310 (grub_set_prefix): Renamed to ...
47311 (grub_machine_set_prefix): ... this.
47312 (grub_machine_init): Do not call grub_set_prefix.
47313
47314 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
47315 (grub_machine_set_prefix): ... this.
47316 (grub_machine_init): Do not call grub_set_prefix.
47317
47318 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
47319 (grub_machine_init): Do not set the prefix here.
47320
47321 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
47322
47323 * kern/efi/init.c: Include grub/mm.h.
47324 (grub_efi_set_prefix): New function.
47325
47326 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
47327 (grub_efi_get_filename): New function.
47328 (grub_print_device_path): Renamed to ...
47329 (grub_efi_print_device_path): ... this.
47330
47331 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
47332 [MM_DEBUG] (grub_realloc): Likewise.
47333 [MM_DEBUG] (grub_free): Likewise.
47334 [MM_DEBUG] (grub_memalign): Likewise.
47335 [MM_DEBUG] (grub_mm_debug): New variable.
47336 [MM_DEBUG] (grub_debug_malloc): New function.
47337 [MM_DEBUG] (grub_debug_free): New function.
47338 [MM_DEBUG] (grub_debug_realloc): New function.
47339 [MM_DEBUG] (grub_debug_memalign): New function.
47340
47341 * kern/misc.c (grub_abort): Print a newline to distinguish
47342 the message.
47343
47344 * kern/main.c (grub_main): Call grub_machine_set_prefix and
47345 grub_set_root_dev after loading modules. This is necessary when
47346 setting a prefix depends on modules.
47347
47348 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
47349 (grub_efi_print_device_path): ... this.
47350 (grub_efi_get_filename): New prototype.
47351 (grub_efi_set_prefix): Likewise.
47352
47353 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
47354 and grub/disk.h.
47355 (grub_efidisk_get_device_handle): New prototype.
47356 (grub_efidisk_get_device_name): Likewise.
47357
47358 * include/grub/mm.h: Include config.h.
47359 (MM_DEBUG): Removed.
47360 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
47361 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
47362 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
47363 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
47364 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
47365 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
47366 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
47367 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
47368 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
47369
47370 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
47371
47372 * disk/efi/efidisk.c: Include grub/partition.h.
47373 (iterate_child_devices): New function.
47374 (add_device): First, compare only last device path nodes, so that
47375 devices are sorted by the types.
47376 (grub_efidisk_get_device_handle): New function.
47377 (grub_efidisk_get_device_name): Likewise.
47378
47379 * configure.ac (--enable-mm-debug): New option to enable the
47380 memory manager debugging feature. This makes the binary much
47381 bigger, so is disabled by default.
47382
9cacaa17 473832006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
47384
47385 Use grub_abort instead of grub_stop, and grub_exit must be
47386 define in each architecture now. Also, this change adds support
47387 for EFI disks.
f19dbdb7 47388
9cacaa17 47389 * util/i386/pc/grub-probefs.c: Include grub/term.h.
47390 (grub_getkey): New function.
47391 (grub_term_get_current): Likewise.
47392
47393 * util/i386/pc/grub-setup.c: Include grub/term.h.
47394 (grub_getkey): New function.
47395 (grub_term_get_current): Likewise.
47396
47397 * util/misc.c (grub_stop): Renamed to ...
47398 (grub_exit): ... this.
47399
47400 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
47401 (grub_exit): ... this.
47402 (grub_machine_init): Use grub_abort instead of abort.
47403 (grub_stop): Removed.
47404
47405 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
47406 abort.
47407
47408 * kern/i386/pc/startup.S (grub_exit): New function.
47409 (cold_reboot): New label.
47410
47411 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
47412 (grub_efi_init): Call grub_efidisk_init.
47413 (grub_efi_fini): Call grub_efidisk_fini.
47414
47415 * kern/efi/efi.c: Include grub/mm.h.
47416 (grub_efi_console_control_guid): Renamed to ...
47417 (console_control_guid): ... this.
47418 (grub_efi_loaded_image_guid): Renamed to ...
47419 (loaded_image_guid): ... this.
47420 (grub_efi_locate_handle): New function.
47421 (grub_efi_open_protocol): Likewise.
47422 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
47423 GRUB_EFI_CONSOLE_CONTROL_GUID.
47424 (grub_efi_exit): Removed.
47425 (grub_stop): Likewise.
47426 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
47427 (grub_exit): New function.
47428 (grub_print_device_path): Likewise.
47429
47430 * kern/rescue.c (grub_rescue_cmd_exit): New function.
47431 (grub_enter_rescue_mode): Register "exit".
47432
47433 * kern/misc.c (grub_real_dprintf): A cosmetic change.
47434 (grub_abort): New function.
47435
47436 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
47437
47438 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
47439
47440 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
47441
47442 * include/grub/efi/efi.h (grub_efi_exit): Removed.
47443 (grub_print_device_path): New prototype.
47444 (grub_efi_locate_handle): Likewise.
47445 (grub_efi_open_protocol): Likewise.
47446
47447 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
47448 * disk/efi/efidisk.c: Likewise.
47449
47450 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
47451
47452 * include/grub/efi/console_control.h
47453 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
47454
47455 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
47456 last 8 bytes as an array.
47457 (GRUB_EFI_DISK_IO_GUID): New macro.
47458 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
47459 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
47460 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
47461 grub_uint8_t.
47462 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
47463 (struct grub_efi_device_path): Rename the member "sub_type" to
47464 "subtype".
47465 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
47466 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
47467 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
47468 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
47469 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
47470 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
47471 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
47472 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
47473 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
47474 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
47475 (struct grub_efi_pci_device_path): New structure.
47476 (grub_efi_pci_device_path_t): New type.
47477 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
47478 (struct grub_efi_pccard_device_path): New structure.
47479 (grub_efi_pccard_device_path_t): New type.
47480 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
47481 (struct grub_efi_memory_mapped_device_path): New structure.
47482 (grub_efi_memory_mapped_device_path_t): New type.
47483 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
47484 (struct grub_efi_vendor_device_path): New structure.
47485 (grub_efi_vendor_device_path_t): New type.
47486 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
47487 (struct grub_efi_controller_device_path): New structure.
47488 (grub_efi_controller_device_path_t): New type.
47489 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
47490 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
47491 (struct grub_efi_acpi_device_path): New structure.
47492 (grub_efi_acpi_device_path_t): New type.
47493 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
47494 (struct grub_efi_expanded_acpi_device_path): New structure.
47495 (grub_efi_expanded_acpi_device_path_t): New type.
47496 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
47497 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
47498 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
47499 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
47500 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
47501 (struct grub_efi_atapi_device_path): New structure.
47502 (grub_efi_atapi_device_path_t): New type.
47503 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
47504 (struct grub_efi_fibre_channel_device_path): New structure.
47505 (grub_efi_fibre_channel_device_path_t): New type.
47506 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
47507 (struct grub_efi_1394_device_path): New structure.
47508 (grub_efi_1394_device_path_t): New type.
47509 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
47510 (struct grub_efi_usb_device_path): New structure.
47511 (grub_efi_usb_device_path_t): New type.
47512 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
47513 (struct grub_efi_usb_class_device_path): New structure.
47514 (grub_efi_usb_class_device_path_t): New type.
47515 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
47516 (struct grub_efi_i2o_device_path): New structure.
47517 (grub_efi_i2o_device_path_t): New type.
47518 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
47519 (struct grub_efi_mac_address_device_path): New structure.
47520 (grub_efi_mac_address_device_path_t): New type.
47521 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
47522 (struct grub_efi_ipv4_device_path): New structure.
47523 (grub_efi_ipv4_device_path_t): New type.
47524 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
47525 (struct grub_efi_ipv6_device_path): New structure.
47526 (grub_efi_ipv6_device_path_t): New type.
47527 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
47528 (struct grub_efi_infiniband_device_path): New structure.
47529 (grub_efi_infiniband_device_path_t): New type.
47530 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
47531 (struct grub_efi_uart_device_path): New structure.
47532 (grub_efi_uart_device_path_t): New type.
47533 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
47534 (struct grub_efi_vendor_messaging_device_path): New structure.
47535 (grub_efi_vendor_messaging_device_path_t): New type.
47536 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
47537 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
47538 (struct grub_efi_hard_drive_device_path): New structure.
47539 (grub_efi_hard_drive_device_path_t): New type.
47540 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
47541 (struct grub_efi_cdrom_device_path): New structure.
47542 (grub_efi_cdrom_device_path_t): New type.
47543 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
47544 (struct grub_efi_vendor_media_device_path): New structure.
47545 (grub_efi_vendor_media_device_path_t): New type.
47546 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
47547 (struct grub_efi_file_path_device_path): New structure.
47548 (grub_efi_file_path_device_path_t): New type.
47549 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
47550 (struct grub_efi_protocol_device_path): New structure.
47551 (grub_efi_protocol_device_path_t): New type.
47552 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
47553 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
47554 (struct grub_efi_bios_device_path): New structure.
47555 (grub_efi_bios_device_path_t): New type.
47556 (struct grub_efi_disk_io): New structure.
47557 (grub_efi_disk_io_t): New type.
47558 (struct grub_efi_block_io_media): New structure.
47559 (grub_efi_block_io_media_t): New type.
47560 (struct grub_efi_block_io): New structure.
47561 (grub_efi_block_io_t): New type.
47562
47563 * include/grub/misc.h (grub_stop): Removed.
47564 (grub_exit): New prototype.
47565 (grub_abort): Likewise.
47566
47567 * include/grub/disk.h (enum grub_disk_dev_id): Added
47568 GRUB_DISK_DEVICE_EFIDISK_ID.
47569
47570 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
47571 disk/efi/efidisk.c.
47572 (kernel_syms.lst): Remove the target if an error occurs.
47573
49986a9f 475742006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
47575
47576 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
47577 as it was simply too buggy.
47578
970d3b8a 475792006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
47580
47581 * kern/misc.c (grub_lltoa): New function.
47582 (grub_vsprintf): Added support for the long long suffix,
47583 i.e. "ll".
47584
ff04ec24 475852006-04-20 Hollis Blanchard <hollis@penguinppc.org>
47586
47587 * Makefile.in (LDFLAGS): Add variable.
47588 (LD): Remove variable.
47589 * configure.ac: Add -m32 to LDFLAGS.
47590 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
47591 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
47592 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
47593 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
47594 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
47595 variables.
47596 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
47597 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
47598 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
47599
37e5e1a4 476002006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
47601
47602 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
47603 length for unknown glyph.
47604
c352d8dd 476052006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
47606
2eab1c0d 47607 Add support for pre-loaded modules into the EFI port.
f19dbdb7 47608
2eab1c0d 47609 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
47610 completely. Accept one more argument DIR. The caller has changed.
47611
47612 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
47613
47614 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
47615 (grub_efi_loaded_image_guid): New variable.
47616 (grub_efi_get_loaded_image): New function.
47617 (grub_arch_modules_addr): Likewise.
47618
47619 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
47620 prototype.
47621
47622 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
47623 (struct grub_efi_loaded_image): New structure.
47624 (grub_efi_loaded_image_t): New type.
47625
476262006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 47627
c352d8dd 47628 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
47629 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
47630 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
47631
6d01d6b4 476322006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
47633
47634 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
47635
976a4ea0 476362006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
47637
47638 * DISTLIST: Added include/grub/efi/console.h,
47639 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
47640 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
47641
47642 * include/grub/efi/console.h: New file.
47643 * include/grub/efi/time.h: Likewise.
47644 * include/grub/i386/efi/kernel.h: Likewise.
47645 * kern/efi/init.c: Likewise.
47646 * kern/efi/mm.c: Likewise.
47647 * term/efi/console.c: Likewise.
f19dbdb7 47648
976a4ea0 47649 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
47650 (grub_stop): Removed.
47651 (grub_get_rtc): Likewise.
47652 (grub_machine_init): Simply call grub_efi_init.
47653 (grub_machine_fini): Call grub_efi_fini.
47654
47655 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
47656 (grub_efi_output_string): Removed.
47657 (grub_efi_stall): New function.
47658 (grub_stop): Likewise.
47659 (grub_get_rtc): Likewise.
47660
47661 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
47662 (grub_efi_stall): New prototype.
47663 (grub_efi_allocate_pages): Likewise.
47664 (grub_efi_free_pages): Likewise.
47665 (grub_efi_get_memory_map): Likewise.
47666 (grub_efi_mm_init): Likewise.
47667 (grub_efi_mm_fini): Likewise.
47668 (grub_efi_init): Likewise.
47669 (grub_efi_fini): Likewise.
47670
47671 * include/grub/i386/efi/time.h: Do not include
47672 grub/symbol.h. Include grub/efi/time.h.
47673 (GRUB_TICKS_PER_SECOND): Removed.
47674 (grub_get_rtc): Likewise.
47675
47676 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
47677 Added padding. The EFI spec is buggy.
47678 (GRUB_EFI_BLACK): New macro.
47679 (GRUB_EFI_BLUE): Likewise.
47680 (GRUB_EFI_GREEN): Likewise.
47681 (GRUB_EFI_CYAN): Likewise.
47682 (GRUB_EFI_RED): Likewise.
47683 (GRUB_EFI_MAGENTA): Likewise.
47684 (GRUB_EFI_BROWN): Likewise.
47685 (GRUB_EFI_LIGHTGRAY): Likewise.
47686 (GRUB_EFI_BRIGHT): Likewise.
47687 (GRUB_EFI_DARKGRAY): Likewise.
47688 (GRUB_EFI_LIGHTBLUE): Likewise.
47689 (GRUB_EFI_LIGHTGREEN): Likewise.
47690 (GRUB_EFI_LIGHTCYAN): Likewise.
47691 (GRUB_EFI_LIGHTRED): Likewise.
47692 (GRUB_EFI_LIGHTMAGENTA): Likewise.
47693 (GRUB_EFI_YELLOW): Likewise.
47694 (GRUB_EFI_WHITE): Likewise.
47695 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
47696 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
47697 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
47698 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
47699 (GRUB_EFI_BACKGROUND_RED): Likewise.
47700 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
47701 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
47702 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
47703 (GRUB_EFI_TEXT_ATTR): Likewise.
47704
47705 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
47706 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
47707 (kernel_mod_HEADERS): Added efi/time.h.
47708
83709125 477092006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
47710
47711 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
47712 include/grub/efi/api.h, include/grub/efi/console_control.h,
47713 include/grub/efi/efi.h, include/grub/efi/pe32.h,
47714 include/grub/i386/efi/time.h, kern/efi/efi.c,
47715 kern/i386/efi/init.c, kern/i386/efi/startup.S,
47716 and util/i386/efi/grub-mkimage.c.
47717
47718 * Makefile.in (RMKFILES): Added i386-efi.rmk.
47719
47720 * genmk.rb (PModule#rule): Do not export symbols if
47721 #{prefix}_EXPORTS is set to "no".
47722
47723 * conf/i386-efi.mk: New file.
47724 * conf/i386-efi.rmk: Likewise.
47725 * include/grub/efi/api.h: Likewise.
47726 * include/grub/efi/console_control.h: Likewise.
47727 * include/grub/efi/efi.h: Likewise.
47728 * include/grub/efi/pe32.h: Likewise.
47729 * include/grub/i386/efi/time.h: Likewise.
47730 * kern/efi/efi.c: Likewise.
47731 * kern/i386/efi/init.c: Likewise.
47732 * kern/i386/efi/startup.S: Likewise.
47733 * util/i386/efi/grub-mkimage.c: Likewise.
47734
477352006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 47736
47737 * include/grub/script.h: Include <grub/parser.h> and
47738 "grub_script.tab.h".
47739 (struct grub_lexer_param): New struct.
47740 (struct grub_parser_param): Likewise.
47741 (grub_script_create_arglist): Pass the state in an argument.
47742 (grub_script_add_arglist): Likewise.
47743 (grub_script_create_cmdline): Likewise.
47744 (grub_script_create_cmdblock): Likewise.
47745 (grub_script_create_cmdif): Likewise.
47746 (grub_script_create_cmdmenu): Likewise.
47747 (grub_script_add_cmd): Likewise.
47748 (grub_script_arg_add): Likewise.
47749 (grub_script_lexer_ref): Likewise.
47750 (grub_script_lexer_deref): Likewise.
47751 (grub_script_lexer_record_start): Likewise.
47752 (grub_script_lexer_record_stop): Likewise.
47753 (grub_script_mem_record): Likewise.
47754 (grub_script_mem_record_stop): Likewise.
47755 (grub_script_malloc): Likewise.
47756 (grub_script_yylex): Likewise.
47757 (grub_script_yyparse): Likewise.
47758 (grub_script_yyerror): Likewise.
47759 (grub_script_yylex): Likewise.
47760 (grub_script_lexer_init): Return the state.
47761
47762 * normal/lexer.c (grub_script_lexer_state): Removed variable.
47763 (grub_script_lexer_done): Likewise.
47764 (grub_script_lexer_getline): Likewise.
47765 (grub_script_lexer_refs): Likewise.
47766 (script): Likewise.
47767 (newscript): Likewise.
47768 (record): Likewise.
47769 (recording): Likewise.
47770 (recordpos): Likewise.
47771 (recordlen): Likewise.
47772 (grub_script_lexer_init): Return the state instead of setting
47773 global variables.
47774 (grub_script_lexer_ref): Use the newly added argument for state
47775 instead of globals.
47776 (grub_script_lexer_deref): Likewise.
47777 (grub_script_lexer_record_start): Likewise.
47778 (grub_script_lexer_record_stop): Likewise.
47779 (recordchar): Likewise.
47780 (nextchar): Likewise.
47781 (grub_script_yylex2): Likewise.
47782 (grub_script_yylex): Likewise.
47783 (grub_script_yyerror): Likewise.
47784
47785 * normal/parser.y (func_mem): Removed variable.
47786 (menu_entry): Likewise.
47787 (err): Likewise.
47788 (%lex-param): New parser option.
47789 (%parse-param): Likewise.
47790 (script): Always return the AST.
47791 (argument): Pass the state around.
47792 (arguments): Likewise.
47793 (grubcmd): Likewise.
47794 (commands): Likewise.
47795 (function): Likewise.
47796 (menuentry): Likewise.
47797 (if_statement): Likewise.
47798 (if): Likewise.
47799
47800 * normal/script.c (grub_script_memused): Removed variable.
47801 (grub_script_parsed): Likewise.
47802 (grub_script_malloc): Added a state argument. Use that instead of
47803 global variables.
47804 (grub_script_mem_record): Likewise.
47805 (grub_script_mem_record_stop): Likewise.
47806 (grub_script_arg_add): Likewise.
47807 (grub_script_add_arglist): Likewise.
47808 (grub_script_create_cmdline): Likewise.
47809 (grub_script_create_cmdif): Likewise.
47810 (grub_script_create_cmdmenu): Likewise.
47811 (grub_script_add_cmd): Likewise.
47812 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 47813
e2a8c904 478142006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 47815
47816 * normal/command.c (grub_command_init): Remove the title command.
47817
47818 * normal/lexer.c (grub_script_yylex): Renamed from this...
47819 (grub_script_yylex2): ... to this.
47820 (grub_script_yylex): New function. Temporary
47821 introduced to filter some tokens.
47822 (grub_script_yyerror): Print a newline.
47823
47824 * normal/main.c (read_config_file): Output information about the
47825 lines that contain errors. Wait for a key after all lines have
47826 been processed. Don't return an empty menu.
47827
47828 * normal/parser.y (func_mem): Don't initialize.
47829 (menu_entry): Likewise.
47830 (err): New variable.
47831 (script): Don't return anything when an error was encountered.
47832 (ws, returns): Removed rules.
47833 (argument): Disabled concatenated variable support.
47834 (arguments): Remove explicit separators.
47835 (grubcmd): Likewise.
47836 (function): Likewise.
47837 (menuentry): Likewise.
47838 (if): Likewise.
47839 (commands): Likewise. Add error handling.
47840
47841 * normal/script.c (grub_script_create_cmdline): If
47842 `grub_script_parsed' is 0, assume the parser encountered an error.
47843
c9a86192 478442006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
47845
47846 * configure.ac: Add support for EFI. Fix the typo
47847 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
47848
70f3b243 478492006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
47850
47851 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
47852 foreign multibyte characters should be shown correctly.
47853
65f201ad 478542006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
47855
47856 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
47857 calculation.
47858 (read_config_file): Made it to close file before returning.
47859
b4b93674 478602006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
47861
47862 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
47863 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
47864 video/i386/pc/vbefill.c.
47865
47866 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
47867 video/i386/pc/vbefill.c.
47868
47869 * include/grub/video.h (grub_video_blit_format): New enum.
47870 (grub_video_mode_info): Added new member blit_format.
47871 (grub_video_get_blit_format): New function prototype.
47872
47873 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
47874 function prototype.
47875 (grub_video_vbe_map_rgb): Likewise.
47876 (grub_video_vbe_unmap_color): Likewise.
47877
47878 * include/grub/i386/pc/vbeblit.h: New file.
47879
47880 * include/grub/i386/pc/vbefill.h: New file.
47881
47882 * video/video.c (grub_video_get_blit_format): New function.
47883 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
47884 (grub_video_vbe_map_rgb): Likewise.
47885 (grub_video_vbe_unmap_color): Likewise.
47886
47887 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
47888 optimized fills.
47889 (grub_video_vbe_blit_render_target): Changed to use more optimized
47890 blits.
47891 (grub_video_vbe_setup): Added detection for optimized settings.
47892 (grub_video_vbe_create_render_target): Likewise.
47893
47894 * video/i386/pc/vbeblit.c: New file.
47895
47896 * video/i386/pc/vbefill.c: New file.
47897
c2379b9c 478982006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
47899
47900 * font/manager.c (grub_font_get_glyph): Removed font fixup from
47901 here...
47902
47903 * util/unifont2pff.rb: ... and moved it to here. Improved argument
47904 parsing to support both hex and dec ranges. If filename was missing
47905 show usage information.
47906
bd0d7896 479072006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
47908
47909 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
47910 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
47911
47912 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
47913 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
47914 (video_mod_SOURCES): Added.
47915 (video_mod_CFLAGS): Likewise.
47916 (video_mod_LDFLAGS): Likewise.
47917 (gfxterm_mod_SOURCES): Likewise.
47918 (gfxterm_mod_CFLAGS): Likewise.
47919 (gfxterm_mod_LDFLAGS): Likewise.
47920 (videotest_mod_SOURCES): Likewise.
47921 (videotest_mod_CFLAGS): Likewise.
47922 (videotest_mod_LDFLAGS): Likewise.
47923 (vesafb_mod_SOURCES): Removed.
47924 (vesafb_mod_CFLAGS): Likewise.
47925 (vesafb_mod_LDFLAGS): Likewise.
47926 (vga_mod_SOURCES): Likewise.
47927 (vga_mod_CFLAGS): Likewise.
47928 (vga_mod_LDFLAGS): Likewise.
47929
47930 * commands/videotest.c: New file.
47931
47932 * font/manager.c (fill_with_default_glyph): Modified to use
47933 grub_font_glyph.
47934 (grub_font_get_glyph): Likewise.
47935 (fontmanager): Renamed from this...
47936 (font_manager): ... to this.
47937
47938 * include/grub/font.h (grub_font_glyph): Added new structure.
47939 (grub_font_get_glyph): Modified to use grub_font_glyph.
47940
47941 * include/grub/misc.h (grub_abs): Added as inline function.
47942
47943 * include/grub/video.h: New file.
47944
47945 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
47946 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
47947 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
47948 (grub_vbe_get_controller_info): Renamed from this...
47949 (grub_vbe_bios_get_controller_info): ... to this.
47950 (grub_vbe_get_mode_info): Renamed from this...
47951 (grub_vbe_bios_get_mode_info): ... to this.
47952 (grub_vbe_set_mode): Renamed from this...
47953 (grub_vbe_bios_set_mode): ... to this.
47954 (grub_vbe_get_mode): Renamed from this...
47955 (grub_vbe_bios_get_mode): ... to this.
47956 (grub_vbe_set_memory_window): Renamed from this...
47957 (grub_vbe_bios_set_memory_window): ... to this.
47958 (grub_vbe_get_memory_window): Renamed from this...
47959 (grub_vbe_bios_get_memory_window): ... to this.
47960 (grub_vbe_set_scanline_length): Renamed from this...
47961 (grub_vbe_set_scanline_length): ... to this.
47962 (grub_vbe_get_scanline_length): Renamed from this...
47963 (grub_vbe_bios_get_scanline_length): ... to this.
47964 (grub_vbe_set_display_start): Renamed from this...
47965 (grub_vbe_bios_set_display_start): ... to this.
47966 (grub_vbe_get_display_start): Renamed from this...
47967 (grub_vbe_bios_get_display_start): ... to this.
47968 (grub_vbe_set_palette_data): Renamed from this...
47969 (grub_vbe_bios_set_palette_data): ... to this.
47970 (grub_vbe_set_pixel_rgb): Removed.
47971 (grub_vbe_set_pixel_index): Likewise.
47972
47973 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
47974 from this...
47975 (grub_vbe_bios_get_controller_info): ... to this.
47976 (grub_vbe_get_mode_info): Renamed from this...
47977 (grub_vbe_bios_get_mode_info): ... to this.
47978 (grub_vbe_set_mode): Renamed from this...
47979 (grub_vbe_bios_set_mode): ... to this.
47980 (grub_vbe_get_mode): Renamed from this...
47981 (grub_vbe_bios_get_mode): ... to this.
47982 (grub_vbe_set_memory_window): Renamed from this...
47983 (grub_vbe_bios_set_memory_window): ... to this.
47984 (grub_vbe_get_memory_window): Renamed from this...
47985 (grub_vbe_bios_get_memory_window): ... to this.
47986 (grub_vbe_set_scanline_length): Renamed from this...
47987 (grub_vbe_set_scanline_length): ... to this.
47988 (grub_vbe_get_scanline_length): Renamed from this...
47989 (grub_vbe_bios_get_scanline_length): ... to this.
47990 (grub_vbe_set_display_start): Renamed from this...
47991 (grub_vbe_bios_set_display_start): ... to this.
47992 (grub_vbe_get_display_start): Renamed from this...
47993 (grub_vbe_bios_get_display_start): ... to this.
47994 (grub_vbe_set_palette_data): Renamed from this...
47995 (grub_vbe_bios_set_palette_data): ... to this.
47996 (grub_vbe_bios_get_controller_info): Fixed problem with registers
47997 getting corrupted after calling it. Added more pushes and pops.
47998 (grub_vbe_bios_set_mode): Likewise.
47999 (grub_vbe_bios_get_mode): Likewise.
48000 (grub_vbe_bios_get_memory_window): Likewise.
48001 (grub_vbe_bios_set_scanline_length): Likewise.
48002 (grub_vbe_bios_get_scanline_length): Likewise.
48003 (grub_vbe_bios_get_display_start): Likewise.
48004 (grub_vbe_bios_set_palette_data): Likewise.
48005
48006 * normal/cmdline.c (cl_set_pos): Refresh the screen.
48007 (cl_insert): Likewise.
48008 (cl_delete): Likewise.
48009
48010 * term/gfxterm.c: New file.
48011
48012 * term/i386/pc/vesafb.c: Removed file.
48013
48014 * video/video.c: New file.
48015
48016 * video/i386/pc/vbe.c (real2pm): Added new function.
48017 (grub_video_vbe_draw_pixel): Likewise.
48018 (grub_video_vbe_get_video_ptr): Likewise.
48019 (grub_video_vbe_get_pixel): Likewise
48020 (grub_video_vbe_init): Likewise.
48021 (grub_video_vbe_fini): Likewise.
48022 (grub_video_vbe_setup): Likewise.
48023 (grub_video_vbe_get_info): Likewise.
48024 (grub_video_vbe_set_palette): Likewise.
48025 (grub_video_vbe_get_palette): Likewise.
48026 (grub_video_vbe_set_viewport): Likewise.
48027 (grub_video_vbe_get_viewport): Likewise.
48028 (grub_video_vbe_map_color): Likewise.
48029 (grub_video_vbe_map_rgb): Likewise.
48030 (grub_video_vbe_map_rgba): Likewise.
48031 (grub_video_vbe_unmap_color): Likewise.
48032 (grub_video_vbe_fill_rect): Likewise.
48033 (grub_video_vbe_blit_glyph): Likewise.
48034 (grub_video_vbe_blit_bitmap): Likewise.
48035 (grub_video_vbe_blit_render_target): Likewise.
48036 (grub_video_vbe_scroll): Likewise.
48037 (grub_video_vbe_swap_buffers): Likewise.
48038 (grub_video_vbe_create_render_target): Likewise.
48039 (grub_video_vbe_delete_render_target): Likewise.
48040 (grub_video_vbe_set_active_render_target): Likewise.
48041 (grub_vbe_set_pixel_rgb): Remove function.
48042 (grub_vbe_set_pixel_index): Likewise.
48043 (index_color_mode): Remove static variable.
48044 (active_mode): Likewise.
48045 (framebuffer): Likewise.
48046 (bytes_per_scan_line): Likewise.
48047 (grub_video_vbe_adapter): Added new static variable.
48048 (framebuffer): Likewise.
48049 (render_target): Likewise.
48050 (initial_mode): Likewise.
48051 (mode_in_use): Likewise.
48052 (mode_list): Likewise.
48053
5f97350b 480542006-03-10 Marco Gerards <marco@gnu.org>
48055
48056 * configure.ac (AC_INIT): Bumped to 1.93.
48057
48058 * DISTLIST: Added `include/grub/hfs.h'.
48059
a3c5c6f8 480602006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
48061
48062 * boot/i386/pc/boot.S (general_error): Before looping, try INT
48063 18H, which might help the BIOS falling back to next boot media.
48064
6de53d26 480652006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
48066
48067 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
48068 Poe Chen <poe.poechen@gmail.com>.
48069
77c4a393 480702006-01-17 Marco Gerards <marco@gnu.org>
48071
48072 * include/grub/normal.h: Include <grub/script.h>.
48073 (grub_command_list): Removed struct.
48074 (grub_command_list_t): Removed type.
48075 (grub_menu_entry): Remove members `num' and `command_list'. Add
48076 members `commands' and `sourcecode'.
48077 * include/grub/script.h: Add inclusion guards.
48078 (grub_script_cmd_menuentry): New struct.
48079 (grub_script_execute_menuentry): New prototype.
48080 (grub_script_lexer_record_start): Likewise.
48081 (grub_script_lexer_record_stop): Likewise.
48082 * normal/execute.c (grub_script_execute_menuentry): New function.
48083 * normal/lexer.c (record, recording, recordpos, recordlen): New
48084 variables.
48085 (grub_script_lexer_record_start): New function.
48086 (grub_script_lexer_record_stop): Likewise.
48087 (recordchar): Likewise.
48088 (nextchar): Likewise.
48089 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
48090 2048 as the buffer size. Add the tokens `menuentry' and `@'.
48091 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
48092 (current_menu): New variable.
48093 (free_menu): Mainly rewritten.
48094 (grub_normal_menu_addentry): New function.
48095 (read_config_file): Rewritten.
48096 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 48097 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 48098 the menu entry.
48099 (run): Mainly rewritten.
48100 * normal/parser.y (menu_entry): New variable.
48101 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
48102 (menuentry): New rule.
48103 (command): Add `menuentry'.
48104 (if_statement): Allow additional returns before `fi'.
48105 * normal/script.c (grub_script_create_cmdmenu): New function.
48106
144f1f98 481072006-01-03 Marco Gerards <marco@gnu.org>
48108
48109 * INSTALL: GNU Bison is required.
48110 * configure.ac: Rewritten the test to detect Bison.
48111 * Makefile.in (YACC): New variable. Reported by Xun Sun
48112 <xun.sun.cn@gmail.com>.
48113
af4b2d89 481142006-01-03 Marco Gerards <marco@gnu.org>
48115
48116 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
48117 the HFS+ filesystem to filesystem blocks.
48118 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
48119 GCC warning is silenced.
48120
15643b71 481212006-01-03 Marco Gerards <marco@gnu.org>
48122
48123 * partmap/apple.c (apple_partition_map_iterate): Convert the data
48124 read from disk from big endian to host byte order.
48125
00905879 481262006-01-03 Hollis Blanchard <hollis@penguinppc.org>
48127
48128 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
48129 documentation.
48130 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
48131 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
48132 embedded HFS+ filesystem.
48133 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
48134 (grub_hfs_sblock): Move from here...
48135 * include/grub/hfs.h: To here... New file.
48136 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
48137 documentation.
48138 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
48139 New macros.
48140 (grub_hfsplus_volheader): Change type of member `magic' to
48141 `grub_uint16_t'.
48142 (grub_hfsplus_data): Add new member `embedded_offset'.
48143 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
48144 returned block.
48145 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
48146 Calculate the offset.
48147
8899bc3e 481482005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48149
48150 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
48151 Removed.
48152 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
48153
ae8c0277 481542005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48155
48156 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
48157 ENV->NAME is NULL after allocating ENV->VALUE.
48158
07084456 481592005-12-25 Marco Gerards <marco@gnu.org>
48160
48161 * kern/env.c (grub_env_set): Rewritten the error handling code.
48162
4750f5f1 481632005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48164
48165 * geninit.sh: Made more robust, and more portable.
48166
50214199 481672005-12-25 Marco Gerards <marco@gnu.org>
48168
48169 Add support for Apple HFS+ filesystems.
f19dbdb7 48170
50214199 48171 * fs/hfsplus.c: New file.
48172
48173 * DISTLIST: Added `fs/hfsplus.c'.
48174
48175 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
48176 (hfsplus_mod_SOURCES): New variable.
48177 (hfsplus_mod_CFLAGS): Likewise.
48178 (hfsplus_mod_LDFLAGS): Likewise.
48179 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
48180 (grub_setup_SOURCES): Likewise.
48181 (grub_mkdevicemap_SOURCES): Likewise.
48182 (grub_emu_SOURCES): Likewise.
48183 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48184
48185 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
48186
48187 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
48188
befaed6c 481892005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48190
48191 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
48192 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
48193 include/grub/parser.h, include/grub/script.h, kern/parser.c,
48194 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
48195 normal/lexer.c, normal/parser.y, normal/script.c, and
48196 partmap/gpt.c.
48197 Removed kern/sparc64/cache.c.
48198
48199 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
48200 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
48201 grub_emu_init.c.
48202
48203 * configure.ac (AC_INIT): Bumped to 1.92.
48204
6a124103 482052005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
48206
48207 * kern/err.c (grub_error_push): Added new function to support error
48208 stacks.
48209 (grub_error_pop): Likewise.
48210 (grub_error_stack_items): New local variable to support error stacks.
48211 (grub_error_stack_pos): Likewise.
48212 (grub_error_stack_assert): Likewise.
48213 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
48214 stack depth.
48215 (grub_print_error): Added support to print errors from error stack.
48216
48217 * include/grub/err.h (grub_error_push): Added function prototype.
48218 (grub_error_pop): Likewise.
48219
be973c1b 482202005-12-09 Hollis Blanchard <hollis@penguinppc.org>
48221
48222 * configure.ac: Accept `powerpc64' as host_cpu.
48223 (amd64): Rename to `biarch32'.
48224
48225 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
48226 non-cacheline-aligned addresses.
48227
48228 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
48229 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
48230 if `size' is non-zero.
48231
b04216ab 482322005-12-03 Marco Gerards <mgerards@xs4all.nl>
48233
48234 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
48235 and `cd' to make sure the filename is not prefixed with a
48236 directory name.
48237 (pkgdata_MODULES): Add `gpt.mod'.
48238 (gpt_mod_SOURCES): New variable.
48239 (gpt_mod_CFLAGS): Likewise.
48240 (gpt_mod_LDFLAGS): Likewise.
48241
48242 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
48243
48244 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
48245 New macro.
48246
48247 * partmap/gpt.c: New file.
48248
48249 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
48250 GPT partition map is detected.
48251
41730ed9 482522005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
48253
48254 * commands/i386/pc/play.c: New file.
48255 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
48256 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
48257 macros.
f19dbdb7 48258
95dc3643 482592005-11-27 Marco Gerards <mgerards@xs4all.nl>
48260
48261 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
48262 ((unused))' to silence gcc warning.
48263
1569ec51 482642005-11-26 Hollis Blanchard <hollis@penguinppc.org>
48265
48266 * configure.ac: Correct `AC_PROG_YACC' test.
48267
9abde152 482682005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48269
48270 * util/powerpc/ieee1275/grub-install.in: Run the mount point
48271 check before installing files.
48272
44b83271 482732005-11-22 Mike Small <smallm@panix.com>
48274
48275 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
48276 number regex so multidigit numbers are recognized correctly.
48277
482782005-11-22 Mike Small <smallm@panix.com>
48279
48280 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
48281 debugging message before attempting to claim memory.
48282 (grub_rescue_cmd_initrd): Add a claim debugging message and try
48283 multiple addresses in case of failure.
48284
9c12956b 482852005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48286
48287 * term/tparm.c (get_space): Remove empty `if' statement.
48288
48289 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
48290
48291 * kern/parser.c (check_varstate): Rename `state' to 's'.
48292
aeaf81d9 482932005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48294
48295 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
48296 variable definitions to the beginning of each function. Sort stack
48297 variables by size.
48298 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
48299 `buf' argument to `char *'.
48300
79bbb63f 483012005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48302
48303 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
48304 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 48305 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 48306 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
48307 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
48308 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
48309 configfile.mod, search.mod, gzio.mod and test.mod.
48310 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
48311 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
48312 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
48313 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
48314 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
48315 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
48316 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
48317 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
48318 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
48319 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
48320 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
48321 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
48322 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
48323 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
48324 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
48325 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
48326 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
48327 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
48328 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
48329 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
48330 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
48331 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
48332 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
48333
48334 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
48335 `grep --include'.
48336 (pkgdata_MODULES): Add test.mod.
48337
233b1628 483382005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48339
48340 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
48341 appending to variables with "+=".
48342 (PModule): Use full pathname to generate *.lst filenames.
48343
48344 * Makefile.in: Fixed list rules moved from genmk.rb.
48345 (.DELETE_ON_ERROR): New special target.
48346 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
48347
48348 * conf/i386-pc.rmk: Include conf/common.mk.
48349 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 48350 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 48351 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
48352 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
48353 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
48354 configfile.mod, search.mod, gzio.mod and test.mod.
48355 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
48356 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
48357 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
48358 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
48359 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
48360 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
48361 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
48362 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
48363 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
48364 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
48365 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
48366 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
48367 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
48368 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
48369 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
48370 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
48371 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
48372 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
48373 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
48374 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
48375 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
48376 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
48377 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
48378 here...
48379 * conf/common.rmk: ... to here. New file.
48380
48381 * conf/common.mk: New file.
48382
16f820c8 483832005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
48384
48385 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
48386 (grub_script.tab.c): ... here.
48387
48388 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
48389 (grub_script.tab.c): ... here.
48390
48391 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
48392 (grub_script.tab.c): ... here.
48393
48394 * normal/command.c (grub_command_find): Fixed a memory leak of
48395 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
48396
63ba1554 483972005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48398
48399 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
48400 "@" which marks the start of a comment on ARM.
48401 (VARIABLE): Likewise.
48402
7f67dc13 484032005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48404
79bbb63f 48405 Add support for Linux/ADFS partition tables.
7f67dc13 48406
48407 * partmap/acorn.c: New file.
48408
48409 * include/grub/acorn_filecore.h: Likewise.
48410
48411 * DISTLIST: Added `partmap/acorn.c' and
48412 `include/grub/acorn_filecore.h'.
f19dbdb7 48413
7f67dc13 48414 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48415 `partmap/acorn.c'.
48416 (pkgdata_MODULES): Add `acorn.mod'.
48417 (acorn_mod_SOURCES): New variable.
48418 (acorn_mod_CFLAGS): Likewise.
48419
48420 * conf/sparc64-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/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
48427 (pkgdata_MODULES): Add `acorn.mod'.
48428 (acorn_mod_SOURCES): New variable.
48429 (acorn_mod_CFLAGS): Likewise.
48430 (acorn_mod_LDFLAGS): Likewise.
48431
48432 * include/types.h (grub_disk_addr_t): New typedef.
48433
6d099807 484342005-11-13 Marco Gerards <mgerards@xs4all.nl>
48435
48436 * geninit.sh: New file.
48437
48438 * geninitheader.sh: Likewise.
48439
48440 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
48441 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
48442 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
48443 * commands/configfile.c (grub_configfile_init)
48444 (grub_configfile_fini): Likewise.
48445 * commands/default.c (grub_default_init, grub_default_fini):
48446 Likewise.
48447 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
48448 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
48449 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
48450 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
48451 Likewise.
48452 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
48453 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
48454 Likewise.
48455 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 48456 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 48457 Likewise.
48458 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
48459 Likewise.
fe6b695a 48460 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 48461 Likewise.
48462 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
48463 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
48464 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
48465 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
48466 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
48467 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
48468 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
48469 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
48470 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
48471 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
48472 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
48473 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
48474 * partmap/amiga.c (grub_amiga_partition_map_init)
48475 (grub_amiga_partition_map_fini): Likewise.
48476 * partmap/apple.c (grub_apple_partition_map_init)
48477 (grub_apple_partition_map_fini): Likewise.
48478 * partmap/pc.c (grub_pc_partition_map_init)
48479 (grub_pc_partition_map_fini): Likewise.
48480 * partmap/sun.c (grub_sun_partition_map_init,
48481 grub_sun_partition_map_fini): Likewise.
48482 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
48483 Likewise.
48484
48485 * util/grub-emu.c: Include <grub_modules_init.h>.
48486 (main): Don't initialize and de-initialize any modules directly,
48487 use `grub_init_all' and `grub_fini_all' instead.
48488
48489 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
48490 `grub_vesafb_mod_init'.
48491 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
48492 all users.
48493 * term/i386/pc/vga.c (grub_vga_init): Renamed to
48494 `grub_vga_mod_init'. Updated all users.
48495 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 48496
6d099807 48497 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
48498 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
48499 rules.
48500
48501 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
48502 Generate a function to initialize the module in utilities.
48503 Updated all callers.
48504 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
48505 initialize the module in utilities. Updated all callers.
48506
9046bcf0 485072005-11-09 Hollis Blanchard <hollis@penguinppc.org>
48508
48509 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
48510 escape sequence and a literal ^L to clear the screen.
48511
48512 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
48513 when returning from Open Firmware.
48514
d13ea639 485152005-11-09 Hollis Blanchard <hollis@penguinppc.org>
48516
48517 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
48518 (grub_ofconsole_height): Likewise.
48519 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
48520 manually insert a '\n'.
48521 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
48522 `grub_ofconsole_height'. Return early if these are already set.
48523
a8fcf206 485242005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
48525
48526 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
48527 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
48528 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
48529 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
48530 and `normal/script.c'.
48531 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
48532 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
48533 (test_mod_SOURCES): New variable.
48534 (test_mod_CFLAGS): Likewise.
48535 (test_mod_LDFLAGS): Likewise.
48536 (pkgdata_MODULES): Add `test.mod'.
48537 (grub_script.tab.c): New rule.
48538 (grub_script.tab.h): Likewise.
48539
b6b32745 485402005-11-07 Marco Gerards <mgerards@xs4all.nl>
48541
48542 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48543 `commands/test.c', `normal/execute.c', `normal/lexer.c',
48544 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
48545 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
48546 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
48547 (test_mod_SOURCES): New variable.
48548 (test_mod_CFLAGS): Likewise.
48549 (pkgdata_MODULES): Add `test.mod'.
48550 (grub_script.tab.c): New rule.
48551 (grub_script.tab.h): Likewise.
48552
daac212a 485532005-11-06 Marco Gerards <mgerards@xs4all.nl>
48554
48555 Add initial scripting support.
48556
48557 * commands/test.c: New file.
48558 * include/grub/script.h: Likewise.
48559 * normal/execute.c: Likewise.
48560 * normal/function.c: Likewise.
48561 * normal/lexer.c: Likewise.
48562 * normal/parser.y: Likewise.
48563 * normal/script.c: Likewise.
48564
48565 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 48566
daac212a 48567 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
48568 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
48569 `normal/function.c' and `normal/script.c'.
48570 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
48571 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 48572 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
48573 variables.
daac212a 48574 (pkgdata_MODULES): Add `test.mod'.
48575 (grub_script.tab.c): New rule.
48576 (grub_script.tab.h): Likewise.
48577
48578 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
48579
48580 * include/grub/normal.h (grub_test_init): New prototype.
48581 (grub_test_fini): Likewise.
f19dbdb7 48582
daac212a 48583 * normal/command.c: Include <grub/script.h>.
48584 (grub_command_execute): Rewritten.
f19dbdb7 48585
daac212a 48586 * util/grub-emu.c (main): Call `grub_test_init' and
48587 `grub_test_fini'.
48588
77500b2b 485892005-11-03 Hollis Blanchard <hollis@penguinppc.org>
48590
48591 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
48592 to 0.
48593 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
48594 there are no pending characters.
48595
e45deb9e 485962005-11-03 Hollis Blanchard <hollis@penguinppc.org>
48597
48598 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
48599 `grub_strndup' to drop device arguments. Replace unnecessary
48600 `grub_strndup' with `grub_strdup'.
48601
4ce32619 486022005-11-03 Hollis Blanchard <hollis@penguinppc.org>
48603
48604 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
48605 `debug' environment variable has been set.
48606
486072005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 48608
4ce32619 48609 * Makefile.in (install-local): Use $(DATA).
48610 (uninstall): Likewise.
48611 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
48612 (sbin_UTILITIES): ... to here.
48613 (sbin_SCRIPTS): New variable.
48614 (grub_install_SOURCES): New variable.
48615 * util/powerpc/ieee1275/grub-install.in: New file.
48616 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
48617 variable.
48618 (add_segments): Call `grub_util_get_path'.
48619
25fe6f03 486202005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
48621
48622 From Timothy Baldwin:
48623 * commands/ls.c (grub_ls_list_files): Close FILE with
48624 grub_file_close.
48625 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
48626
04ccf3ec 486272005-10-24 Marco Gerards <mgerards@xs4all.nl>
48628
48629 * include/grub/parser.h: New file.
48630
48631 * kern/parser.c: Likewise.
48632
48633 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
48634 (grub_setup_SOURCES): Likewise.
48635 (grub_probefs_SOURCES): Likewise.
48636 (grub_emu_SOURCES): Likewise.
48637 (kernel_img_HEADERS): Add `parser.h'.
48638
48639 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
48640 (grub_emu_SOURCES): Add `kern/parser.c'.
48641 (grubof_SOURCES): Likewise.
48642
48643 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
48644 (grubof_SOURCES): Add `kern/parser.c'.
48645
48646 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
48647
48648 * kern/misc.c (grub_split_cmdline): Removed function.
48649
48650 * kern/rescue.c: Include <grub/parser.h>.
48651 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
48652 of `grub_split_cmdline'.
48653
48654 * normal/command.c: Include <grub/parser.h>.
48655 (grub_command_execute): Use `grub_parser_split_cmdline' instead
48656 of `grub_split_cmdline'.
48657
48658 * normal/completion.c: Include <grub/parser.h>.
48659 (cmdline_state): New variable.
48660 (iterate_dir): End the filename with a quote depending on the
48661 command line state.
48662 (get_state): new function.
48663 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
48664 split the arguments and determine the current argument. When the
48665 argument string is not quoted, escape all spaces.
48666
6d8f4b0e 486672005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
48668
48669 * normal/sparc64/setjmp.S: New file.
48670
15cf03ed 486712005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
48672
48673 * include/grub/sparc64/libgcc.h: New file.
48674 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
48675 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
48676 normal/sparc64/setjmp.c.
48677
03e8661a 486782005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
48679
48680 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
48681 * kern/sparc64/cache.S: New file.
48682 * kern/sparc64/cache.c: Removed.
48683 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
48684 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
48685 -mtune=ultrasparc.
48686 (COMMON_LDFLAGS): Add -melf64_sparc.
48687 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
48688 (grubof_SOURCES): Use cache.S instead of cache.c.
48689 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
48690 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
48691 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
48692 commented though.
48693 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
48694 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
48695 (linux_mod_CFLAGS): Commented out.
48696 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
48697 out because module isn't built.
48698 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
48699 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
48700 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
48701 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
48702 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
48703 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
48704 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
48705 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
48706 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
48707 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
48708 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
48709 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
48710 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
48711 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
48712
34eeec8a 487132005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
48714
48715 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
48716 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
48717 longer, because HFS should not be used on PC.
48718
708367a3 487192005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48720
48721 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
48722 consistently within the loop.
48723
6fa1251a 487242005-10-15 Marco Gerards <mgerards@xs4all.nl>
48725
48726 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
48727 directory can not be read.
48728
4801580b 487292005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48730
48731 * configure.ac (AC_INIT): Increase the version number to 1.91.
48732
48733 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
48734 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
48735 term/i386/pc/serial.c.
48736
219ad426 487372005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48738
48739 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
48740 file size must be permitted.
48741
48742 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
48743 between %ah and %al.
48744
688e5699 487452005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48746
48747 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
48748 grub_uint64_t.
48749 Call the hook with a NUL-terminated filename.
48750 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
48751 grub_cpu_to_be32.
48752
48753 * kern/term.c (cursor_state): New variable.
48754 (grub_term_set_current): Reset the cursor state on a new
48755 terminal.
48756 (grub_setcursor): Rewritten to use CURSOR_STATE.
48757 (grub_getcursor): New function.
48758
48759 * include/grub/term.h (grub_getcursor): New prototype.
48760
48761 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
48762 integers on ARM. Reported by Timothy Baldwin
48763 <T.E.Baldwin99@members.leeds.ac.uk>.
48764
bb34586c 487652005-10-11 Marco Gerards <mgerards@xs4all.nl>
48766
48767 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
48768 allocated.
48769 (grub_sfs_dir): Likewise.
48770
9a909877 487712005-10-09 Marco Gerards <mgerards@xs4all.nl>
48772
48773 Add support for the SFS filesystem.
48774
48775 * fs/sfs.c: New file.
48776
48777 * DISTLIST: Added `fs/sfs.c'.
48778
48779 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
48780 (grub_probefs_SOURCES): Likewise.
48781 (grub_emu_SOURCES): Likewise.
48782 (pkgdata_MODULES): Add `sfs.mod'.
48783 (sfs_mod_SOURCES): New variable.
48784 (sfs_mod_CFLAGS): Likewise.
48785 (sfs_mod_LDFLAGS): Likewise.
48786
48787 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
48788 (pkgdata_MODULES): Add `sfs.mod'.
48789 (sfs_mod_SOURCES): New variable.
48790 (sfs_mod_CFLAGS): Likewise.
48791
48792 * util/grub-emu.c (main): Call `grub_sfs_init' and
48793 `grub_sfs_fini'.
48794
48795 * include/grub/fs.h (grub_sfs_init): New prototype.
48796 (grub_sfs_fini): Likewise.
48797
57bdbde3 487982005-10-07 Marco Gerards <mgerards@xs4all.nl>
48799
48800 Add support for the AFFS filesystem.
48801
48802 * fs/affs.c: New file.
48803
48804 * DISTLIST: Added `fs/affs.c'.
48805
48806 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
48807 (grub_probefs_SOURCES): Likewise.
48808 (grub_emu_SOURCES): Likewise.
48809 (pkgdata_MODULES): Add `affs.mod'.
48810 (affs_mod_SOURCES): New variable.
48811 (affs_mod_CFLAGS): Likewise.
48812 (affs_mod_LDFLAGS): Likewise.
48813
48814 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
48815 (pkgdata_MODULES): Add `affs.mod'.
48816 (affs_mod_SOURCES): New variable.
48817 (affs_mod_CFLAGS): Likewise.
48818
48819 * util/grub-emu.c (main): Call `grub_affs_init' and
48820 `grub_affs_fini'.
48821
48822 * include/grub/fs.h (grub_affs_init): New prototype.
48823 (grub_affs_fini): Likewise.
48824
047b67e0 488252005-10-01 Marco Gerards <mgerards@xs4all.nl>
48826
48827 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
48828
59b8208a 488292005-10-01 Marco Gerards <mgerards@xs4all.nl>
48830
48831 * configure.ac: Accept `x86_64' as host_cpu. In that case add
48832 `-m32' to CFLAGS.
48833
48834 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
48835 linking.
f19dbdb7 48836
59b8208a 48837 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
48838 (COMMON_LDFLAGS): New variable.
48839 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
48840 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
48841 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
48842 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
48843 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
48844 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
48845 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
48846 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
48847 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
48848 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
48849 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
48850 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
48851 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
48852 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
48853 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
48854 variables.
48855 (normal_mod_ASFLAGS): Add `-m32'.
48856
48857 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
48858 (grub_host_size_t, grub_host_ssize_t): New types.
48859 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 48860 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 48861 `GRUB_HOST_SIZEOF_VOID_P'.
48862
48863 * include/grub/kernel.h (struct grub_module_header): Type of
48864 member offset changed to `grub_host_off_t'. Type of member size
48865 changed to `grub_host_size_t'.
48866 (struct grub_module_info): Type of member offset changed to
48867 `grub_host_off_t'. Type of member size changed to
48868 `grub_host_size_t'.
48869
b4093103 488702005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
48871
48872 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 48873
b4093103 48874 * kern/i386/pc/startup.S (multiboot_header): New label.
48875 (multiboot_entry): Likewise.
48876 (multiboot_trampoline): Likewise.
48877
48878 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
48879 Increased to 0x4A0.
48880
48881 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
48882 put parentheses after a question mark.
48883 [!GRUB_UTIL] (my_mod): New variable.
48884
48885 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
48886
b2499b29 488872005-09-28 Marco Gerards <mgerards@xs4all.nl>
48888
48889 Adds support for the XFS filesystem. Btrees are not supported
48890 yet.
48891
48892 * fs/xfs.c: New file.
48893
48894 * DISTLIST: Added `fs/xfs.c'.
48895
48896 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
48897 (grub_probefs_SOURCES): Likewise.
48898 (grub_emu_SOURCES): Likewise.
48899 (pkgdata_MODULES): Add `xfs.mod'.
48900 (xfs_mod_SOURCES): New variable.
48901 (xfs_mod_CFLAGS): Likewise.
48902
48903 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
48904 (pkgdata_MODULES): Add `xfs.mod'.
48905 (xfs_mod_SOURCES): New variable.
48906 (xfs_mod_CFLAGS): Likewise.
48907
48908 * util/grub-emu.c (main): Call `grub_xfs_init' and
48909 `grub_xfs_fini'.
48910
48911 * include/grub/fs.h (grub_xfs_init): New prototype.
48912 (grub_xfs_fini): Likewise.
48913
f19dbdb7 48914
83d37a62 489152005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
48916
48917 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
48918 color modes, allow greater than 16 colors to be configured as
48919 a default palette.
48920
47d2d65e 489212005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
48922
48923 * normal/completion.c (complete_arguments): Add the qualifier
48924 const into OPTIONS.
48925
48926 From Omniflux <omniflux+lists@omniflux.com>:
48927 * include/grub/terminfo.h: New file.
48928 * include/grub/tparm.h: Likewise.
48929 * include/grub/i386/pc/serial.h: Likewise.
48930 * term/terminfo.c: Likewise.
48931 * term/tparm.c: Likewise.
48932 * term/i386/pc/serial.c: Likewise.
48933 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
48934 serial.mod.
48935 (terminfo_mod_SOURCES): New variable.
48936 (terminfo_mod_CFLAGS): Likewise.
48937 (serial_mod_SOURCES): Likewise.
48938 (serial_mod_CFLAGS): Likewise.
48939
48b671ff 489402005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
48941
48942 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
48943 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
48944 and kern/powerpc/ieee1275/cmain.c, respectively.
48945
48946 * boot/powerpc/ieee1275/crt0.S: Moved to ...
48947 * kern/powerpc/ieee1275/crt0.S: ... here.
48948
48949 * boot/powerpc/ieee1275/cmain.c: Moved to ...
48950 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 48951
48b671ff 48952 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
48953 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
48954 instead of boot/powerpc/ieee1275/crt0.S and
48955 boot/powerpc/ieee1275/cmain.c, respectively.
48956
48957 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
48958 sectors. It was not used anyway.
48959
09fc77a7 489602005-08-30 Hollis Blanchard <hollis@penguinppc.org>
48961
48962 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
48963 `unused parameter' warning.
48964
003789c7 489652005-08-30 Hollis Blanchard <hollis@penguinppc.org>
48966
48967 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
48968 function.
48969 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
48970 getcharwidth.
48971
67f44c86 489722005-08-28 Marco Gerards <metgerards@student.han.nl>
48973
48974 * include/grub/normal.h (enum grub_completion_type): Added
48975 `GRUB_COMPLETION_TYPE_ARGUMENT'.
48976
48977 * normal/cmdline.c (print_completion): Handle
48978 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
48979 * normal/menu_entry.c (store_completion): Likewise.
48980
48981 * normal/completion.c (complete_arguments): New function.
48982 (grub_normal_do_completion): Call `complete_arguments' when the
48983 current words start with a dash.
48984
0b5abe02 489852005-08-27 Marco Gerards <metgerards@student.han.nl>
48986
48987 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
48988 `gzio.mod' instead of `io.mod').
48989
d9864ee1 489902005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
48991
48992 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
48993 (DISTDIRS): Added io and video.
48994 Rewrite the search routine to make an output consistently.
48995
48996 * DISTLIST: Added conf/sparc64-ieee1275.mk,
48997 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
48998 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
48999 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
49000 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
49001 util/powerpc/ieee1275/misc.c.
f19dbdb7 49002
d9864ee1 49003 * include/grub/gzio.h: New file.
49004 * io/gzio.c: Likewise.
f19dbdb7 49005
d9864ee1 49006 * kern/file.c (grub_file_close): Call grub_device_close only if
49007 FILE->DEVICE is not NULL.
49008
49009 * include/grub/mm.h [!NULL] (NULL): New macro.
49010
49011 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
49012
49013 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
49014 (pkgdata_MODULES): Added gzio.mod.
49015 (gzio_mod_SOURCES): New variable.
49016 (gzio_mod_CFLAGS): Likewise.
49017
49018 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
49019 (pkgdata_MODULES): Added gzio.mod.
49020 (gzio_mod_SOURCES): New variable.
49021 (gzio_mod_CFLAGS): Likewise.
49022
49023 * commands/cat.c: Include grub/gzio.h.
49024 (grub_cmd_cat): Use grub_gzfile_open instead of
49025 grub_file_open.
f19dbdb7 49026
d9864ee1 49027 * commands/cmp.c: Include grub/gzio.h.
49028 (grub_cmd_cmp): Use grub_gzfile_open instead of
49029 grub_file_open.
49030
49031 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
49032 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
49033 grub_file_open.
49034 (grub_rescue_cmd_module): Likewise.
49035
fa46f4b5 490362005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49037
49038 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
49039 kern/sparc64/ieee1275/init.c because it contains _start.
49040 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
49041
e9211b5d 490422005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49043
49044 * configure.ac: Add support for sparc64 host with ieee1275
49045 firmware.
49046 * configure: Generated from configure.ac.
49047 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
49048 instead of int.
49049 (grub_ofdisk_read): Likewise.
49050 (grub_ofdisk_open): Use %p to print pointer values, and cast the
49051 pointers as (void *) to remove a warning.
49052 (grub_ofdisk_close): Likewise.
49053 (grub_ofdisk_read): Likewise.
49054 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
49055 returns, so make it return void to remove a warning.
49056 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
49057 Corresponding prototype change.
49058 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
49059 values, and cast the pointers as (void *) to remove a warning.
49060 (grub_mm_dump): Likewise.
49061 * conf/sparc64-ieee1275.mk: New file.
49062 * conf/sparc64-ieee1275.rmk: Likewise.
49063 * include/grub/sparc64/setjmp.h: Likewise.
49064 * include/grub/sparc64/types.h: Likewise.
49065 * include/grub/sparc64/ieee1275/console.h: Likewise.
49066 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
49067 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
49068 * include/grub/sparc64/ieee1275/time.h: Likewise.
49069 * kern/sparc64/cache.c: Likewise.
49070 * kern/sparc64/dl.c: Likewise.
49071 * kern/sparc64/ieee1275/init.c: Likewise.
49072 * kern/sparc64/ieee1275/openfw.c: Likewise.
49073
385c6a92 490742005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
49075
49076 * util/console.c (grub_ncurses_putchar): If C is greater than
49077 0x7f, set C to a question mark.
49078 (grub_ncurses_getcharwidth): New function.
49079 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
49080 getcharwidth.
49081
49082 * normal/menu.c (print_entry): Made aware of Unicode. First,
49083 convert TITLE to UCS-4, and predict the cursor position by
49084 grub_getcharwidth.
49085
49086 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
49087 const to SRC.
49088 * kern/misc.c (grub_utf16_to_utf8): Likewise.
49089
16ccb8b1 490902005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49091
49092 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
49093 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
49094 grub_strcat.
49095
49096 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
49097 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
49098 grub_strcpy and grub_strlen. Take it into account that a space
49099 character is inserted as a delimiter.
49100
6a85ce79 491012005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49102
49103 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 49104 invalid magic in the error.
6a85ce79 49105
49106 * commands/search.c: New file.
f19dbdb7 49107
6a85ce79 49108 * util/grub-emu.c (main): Call grub_search_init and
49109 grub_search_fini.
49110
49111 * kern/rescue.c (grub_rescue_print_disks): Removed.
49112 (grub_rescue_print_devices): New function.
49113 (grub_rescue_cmd_ls): Use grub_device_iterate with
49114 grub_rescue_print_devices instead of grub_disk_dev_iterate with
49115 grub_rescue_print_disks.
49116
49117 * kern/partition.c (grub_partition_iterate): Return the result of
49118 PARTMAP->ITERATE instead of GRUB_ERRNO.
49119
49120 * kern/device.c: Include grub/partition.h.
49121 (grub_device_iterate): New function.
49122
49123 * include/grub/partition.h (grub_partition_iterate): Return int
49124 instead of grub_err_t.
49125
49126 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
49127 prototype.
49128 [GRUB_UTIL] (grub_search_fini): Likewise.
49129
49130 * include/grub/device.h (grub_device_iterate): New prototype.
49131
49132 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
49133 commands/search.c.
49134 (pkgdata_MODULES): Added search.mod.
49135 (search_mod_SOURCES): New variable.
49136 (search_mod_CFLAGS): Likewise.
49137
49138 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
49139 (pkgdata_MODULES): Added search.mod.
49140 (search_mod_SOURCES): New variable.
49141 (search_mod_CFLAGS): Likewise.
49142
49143 * commands/ls.c (grub_ls_list_disks): Renamed to ...
49144 (grub_ls_list_devices): ... this, and use grub_device_iterate.
49145 All callers changed.
49146
49147 * DISTLIST: Added commands/search.c.
49148
ef095434 491492005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49150
49151 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
49152 conversion.
49153 (grub_getcharwidth): New function.
49154
49155 * kern/misc.c (grub_utf8_to_ucs4): New function.
49156
49157 * include/grub/term.h (struct grub_term): Added a new member
49158 "getcharwidth".
49159 (grub_getcharwidth): New prototype.
49160
49161 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
49162
49163 * term/i386/pc/console.c (map_char): New function. Segregated from
49164 grub_console_putchar.
49165 (grub_console_putchar): Use map_char.
49166 (grub_console_getcharwidth): New function.
49167 (grub_console_term): Specified grub_console_getcharwidth as
49168 getcharwidth.
49169
49170 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
49171 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
49172
49173 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
49174 GRUB_ERRNO.
49175 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
49176 on grub_strtoul completely.
49177 (write_char): Declare local variables in the beginning of the
49178 function.
49179 (grub_vesafb_getcharwidth): New function.
49180 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
49181 getcharwidth.
49182
1f0a95e4 491832005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
49184
49185 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
49186 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
49187 commands/i386/pc/vbetest.c.
49188
49189 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
49190 call grub_vbe_get_controller_info again, because the returned
49191 information is volatile.
49192 (grub_vbe_set_video_mode): Mostly rewritten.
49193 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
49194 grub_vbe_status_t correctly.
49195 (grub_vbe_get_video_mode_info): Likewise.
49196 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
49197 several if statements.
49198
49199 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
49200 * commands/i386/pc/vbeinfo.c: ... this.
49201
49202 * commands/i386/pc/vbe_test.c: Renamed to ...
49203 * commands/i386/pc/vbetest.c: ... this.
49204
49205 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
49206 ...
49207 (grub_cmd_vbeinfo): ... this. Save video modes before
49208 iterating. Skip a video mode, if it is not available, not enough
49209 information is given or it is monochrome. Show the memory
49210 model. Leave the interpretation of MODEVAR to grub_strtoul
49211 completely.
49212 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
49213 (GRUB_MOD_FINI): Likewise.
49214
49215 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
49216 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
49217 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
49218 duplicated grub_env_get. Leave the interpretation of MODEVAR to
49219 grub_strtoul completely.
49220 (real2pm): Removed.
49221 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
49222 (GRUB_MOD_FINI): Likewise.
49223
49224 * normal/misc.c: Include grub/mm.h.
49225
49226 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
49227 vbe_list_modes with vbetest.mod and vbeinfo.mod.
49228 (vbe_list_modes_mod_SOURCES): Removed.
49229 (vbe_list_modes_mod_CFLAGS): Likewise.
49230 (vbe_test_mod_SOURCES): Likewise.
49231 (vbe_test_mod_CFLAGS): Likewise.
49232 (vbeinfo_mod_SOURCES): New variable.
49233 (vbeinfo_mod_CFLAGS): Likewise.
49234 (vbetest_mod_SOURCES): Likewise.
49235 (vbetest_mod_CFLAGS): Likewise.
49236
992ffbbe 492372005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
49238
49239 * normal/misc.c: New file.
49240
49241 * DISTLIST: Added normal/misc.c.
f19dbdb7 49242
992ffbbe 49243 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
49244 DISK to HOOK. Call HOOK with DISK.
49245 * partmap/apple.c (apple_partition_map_iterate): Likewise.
49246 * partmap/pc.c (pc_partition_map_iterate): Likewise.
49247 * partmap/sun.c (sun_partition_map_iterate): Likewise.
49248
49249 * normal/menu_entry.c (struct screen): Added a new member
49250 "completion_shown".
49251 (completion_buffer): New global variable.
49252 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
49253 (store_completion): New function.
49254 (complete): Likewise.
49255 (clear_completions): Likewise.
49256 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
49257 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
49258 a tab, call complete.
49259
49260 * normal/completion.c (disk_dev): Removed.
49261 (print_simple_completion): Likewise.
49262 (print_partition_completion): Likewise.
49263 (print_func): New global variable.
49264 (add_completion): Do not take the arguments WHAT or PRINT any
49265 longer. Added a new argument TYPE. Instead of printing directly,
49266 call PRINT_FUNC if not NULL.
49267 All callers changed.
49268 (complete_device): Use a local variable DEV instead of
49269 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
49270 (grub_normal_do_completion): Take a new argument HOOK. Do not
49271 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
49272 empty string, return NULL instead.
49273 All callers changed.
49274
49275 * normal/cmdline.c (print_completion): New function.
49276
49277 * kern/partition.c (grub_partition_iterate): Add an argument DISK
49278 to HOOK.
49279 All callers changed.
49280
49281 * kern/disk.c (grub_print_partinfo): Removed.
49282
49283 * include/grub/partition.h (struct grub_partition_map): Add a new
49284 argument DISK into HOOK of ITERATE.
49285 (grub_partition_iterate): Add a new argument DISK to HOOK.
49286
49287 * include/grub/normal.h (enum grub_completion_type): New enum.
49288 (grub_completion_type_t): New type.
49289 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
49290 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
49291 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
49292 (GRUB_COMPLETION_TYPE_FILE): Likewise.
49293 (grub_normal_do_completion): Added a new argument HOOK.
49294 (grub_normal_print_device_info): New prototype.
49295
49296 * include/grub/disk.h (grub_print_partinfo): Removed.
49297
49298 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
49299 (normal_mod_SOURCES): Likewise.
49300 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49301 (normal_mod_SOURCES): Likewise.
49302
49303 * commands/ls.c (grub_ls_list_disks): Use
49304 grub_normal_print_device_info instead of grub_print_partinfo. Free
49305 PNAME.
49306 (grub_ls_list_files): Use grub_normal_print_device_info instead of
49307 duplicating the code.
49308
0bd41162 493092005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
49310
49311 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 49312 follow GCS more precisely.
49313 * commands/i386/pc/vbe_test.c: Likewise.
49314 * include/grub/i386/pc/vbe.h: Likewise.
49315 * term/i386/pc/vesafb.c: Likewise.
49316 * video/i386/pc/vbe.c: Likewise.
0bd41162 49317
6323696a 493182005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
49319
49320 * DISTLIST: Added term/i386/pc/vesafb.c
49321 DISTLIST: Added video/i386/pc/vbe.c
49322 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
49323 DISTLIST: Added commands/i386/pc/vbe_test.c.
49324 * commands/i386/pc/vbe_list_modes.c: New file.
49325 * commands/i386/pc/vbe_test.c: Likewise.
49326 * term/i386/pc/vesafb.c: Likewise.
49327 * video/i386/pc/vbe.c: Likewise.
49328 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
49329 (grub_vbe_probe) Added prototype.
49330 (grub_vbe_set_video_mode) Likewise.
49331 (grub_vbe_get_video_mode) Likewise.
49332 (grub_vbe_get_video_mode_info) Likewise.
49333 (grub_vbe_set_pixel_rgb) Likewise.
49334 (grub_vbe_set_pixel_index) Likewise.
49335 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
49336 (pkgdata_MODULES): Added vesafb.mod.
49337 (pkgdata_MODULES): Added vbe_list_modes.mod.
49338 (pkgdata_MODULES): Added vbe_test.mod.
49339 (vbe_mod_SOURCES): Added.
49340 (vbe_mod_CFLAGS): Likewise.
49341 (vesafb_mod_SOURCES): Likewise.
49342 (vesafb_mod_CFLAGS): Likewise.
49343 (vbe_list_modes_mod_SOURCES): Likewise.
49344 (vbe_list_modes_mod_CFLAGS): Likewise.
49345 (vbe_test_mod_SOURCES): Likewise.
49346 (vbe_test_mod_CFLAGS): Likewise.
49347
0a74e62f 493482005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
49349
0a74e62f 49350 * normal/command.c (grub_command_execute): If INTERACTIVE is
49351 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
49352 CMDLINE. Disable the pager if INTERACTIVE is true.
49353 All callers are changed.
49354
49355 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
49356 before reading a config file.
49357 * normal/main.c (read_config_file): Even if a command is not
49358 found, register it if it is within an entry.
49359
49360 * util/grub-emu.c: Include sys/types.h and unistd.h.
49361 (options): Added --hold.
49362 (struct arguments): Added a new member "hold".
49363 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
49364 missing.
49365 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
49366 cleared by a debugger, if it is not zero.
49367
49368 * include/grub/normal.h (grub_command_execute): Add an argument
49369 INTERACTIVE.
49370
e51f85ae 493712005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
49372
49373 * DISTLIST: Added include/grub/i386/pc/vbe.h.
49374
e9c6f39b 493752005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
49376
49377 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
49378 program with another one, because the old one didn't detect a bug
49379 in gcc-3.4. Always use regparm 2, because the new test is still
49380 not enough for gcc-4.0. Someone must investigate a simple test
49381 case which detects a bug in gcc-4.0.
49382
8de3495c 493832005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
49384
49385 * DISTLIST: Added normal/completion.c.
49386
49387 * normal/completion.c: New file.
f19dbdb7 49388
8de3495c 49389 * term/i386/pc/console.c (grub_console_getwh): New function.
49390 (grub_console_term): Assign grub_console_getwh to getwh.
49391
49392 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
49393 function is defined in normal/completion.c as
49394 grub_normal_do_completion.
49395 (grub_cmdline_get): Use grub_normal_do_completion instead of
49396 grub_tab_complete.
49397
49398 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
49399 returns non-zero, otherwise return 0.
49400 (grub_partition_iterate): First, probe the partition map. Then,
49401 call ITERATE only for this partition map.
49402
49403 * kern/misc.c (grub_strncmp): Rewritten.
49404
49405 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
49406 returns non-zero. Otherwise return 0.
49407
49408 * include/grub/partition.h (grub_partition_map_iterate): Return
49409 int instead of void.
49410
49411 * include/grub/normal.h (grub_normal_do_completion): New prototype.
49412
49413 * include/grub/misc.h (grub_strncmp): Change the type of N to
49414 grub_size_t.
49415
49416 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
49417 of void.
49418
49419 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 49420 unsigned explicitly before comparing it with I.
8de3495c 49421
49422 * kern/main.c (grub_env_write_root): Add the attribute unused into
49423 VAR.
49424
49425 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
49426 normal/completion.c.
49427 (normal_mod_SOURCES): Likewise.
49428 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
49429 (normal_mod_SOURCES): Likewise.
49430
49431 * normal/command.c (grub_iterate_commands): If ITERATE returns
49432 non-zero, return one immediately.
49433
e85e144b 494342005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
49435
49436 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
49437 * kern/i386/pc/startup.S: Updated Global Descriptor table's
49438 descriptions.
49439 (grub_vbe_get_controller_info): New function.
49440 (grub_vbe_get_mode_info): Likewise.
49441 (grub_vbe_set_mode): Likewise.
49442 (grub_vbe_get_mode): Likewise.
49443 (grub_vbe_set_memory_window): Likewise.
49444 (grub_vbe_get_memory_window): Likewise.
49445 (grub_vbe_set_scanline_length): Likewise.
49446 (grub_vbe_get_scanline_length): Likewise.
49447 (grub_vbe_set_display_start): Likewise.
49448 (grub_vbe_get_display_start): Likewise.
49449 (grub_vbe_set_palette_data): Likewise.
49450 * include/grub/i386/pc/vbe.h: New file.
49451
c46153d2 494522005-08-08 Hollis Blanchard <hollis@penguinppc.org>
49453
49454 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
49455 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
49456 * DISTLIST: Likewise.
49457 * kern/ieee1275/of.c: Moved to ...
49458 * kern/ieee1275/ieee1275.c: ... here.
49459
0cb90c45 494602005-08-08 Hollis Blanchard <hollis@penguinppc.org>
49461
49462 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
49463 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
49464 Pass 0 as `end' parameter to grub_strtoul().
49465
a19fb360 494662005-08-08 Hollis Blanchard <hollis@penguinppc.org>
49467
49468 * include/grub/powerpc/ieee1275/console.h: Do not include
49469 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
49470 ifdef.
49471 (grub_console_cur_color): Remove i386-specific prototype.
49472 (grub_console_real_putchar): Likewise.
49473 (grub_console_checkkey): Likewise.
49474 (grub_console_getkey): Likewise.
49475 (grub_console_getxy): Likewise.
49476 (grub_console_gotoxy): Likewise.
49477 (grub_console_cls): Likewise.
49478 (grub_console_setcursor): Likewise.
49479 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
49480 Include <grub/machine/console.h>.
49481 * term/ieee1275/ofconsole.c: Likewise.
49482
4ac9bd04 494832005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
49484
49485 * Makefile.in (LIBLZO): New variable.
49486
49487 * configure.ac: Check for LZO version 2.
49488
49489 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
49490 lzo/lzo1x.h instead of lzo1x.h.
49491
49492 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
49493 of -llzo.
49494
49495 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
49496 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
49497
49498 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
49499 copying the data from PARTITION to P.
49500
f4917dfd 495012005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
49502
49503 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
49504 negative, unload the module.
49505
49506 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
49507 map is "pc_partition_map" but not "pc".
49508 (usage): Fix the description. The options are --boot-image and
49509 --core-image but not --boot-file or --core-file.
49510 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
49511 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
49512 DEFAULT_DIRECTORY.
49513
49514 * util/i386/pc/grub-install.in: Do not specify --boot-file or
49515 --core-file. Specify INSTALL_DEVICE as an argument.
49516
49517 * util/console.c: Include config.h.
49518 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
49519 [HAVE_NCURSES_H]: Include ncurses.h.
49520 [HAVE_CURSES_H]: Include curses.h.
49521 [!A_NORMAL] (A_NORMAL): Defined as zero.
49522 [!A_STANDOUT] (A_STANDOUT): Likewise.
49523
49524 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
49525 -lncurses.
49526 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
49527
49528 * configure.ac: Check for curses libraries and headers.
49529
49530 * Makefile.in (LIBCURSES): New variable.
49531
49532 * genmk.rb (Script::rule): Set the executable bits.
49533
49534 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
49535 name of the PC partition map is "pc_partition_map" but not "pc".
49536
0e143073 495372005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
49538
49539 * util/i386/pc/grub-install.in (grub_probefs): New variable.
49540 (modules): Likewise.
49541 (usage): Added descriptions for --modules and --grub-probefs.
49542 Handle --modules and --grub-probefs. Save the arguments in MODULES
49543 and GRUB_PROBEFS, respectively.
49544 Auto-detect a filesystem module against GRUBDIR. If the result is
49545 empty and modules are not specified explicitly, abort the
49546 installation. Add the result to MODULES.
49547
49548 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
49549 disk/powerpc/ieee1275/ofdisk.c,
49550 include/grub/powerpc/ieee1275/init.h and
49551 term/powerpc/ieee1275/ofconsole.c.
49552 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
49553 term/ieee1275/ofconsole.c.
49554
49555 * include/grub/powerpc/ieee1275/console.h: Resurrected.
49556
49557 * COPYING: Upgraded to the latest version. Only the address of the
49558 FSF office has changed.
f19dbdb7 49559
efd6e6d5 495602005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
49561
49562 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
49563 kern/ieee1275.c with kern/ieee1275/of.c.
49564
49565 * kern/ieee1275.c: Moved to ...
49566 * kern/ieee1275/of.c: ... here.
49567
8ceafda2 495682005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
49569
49570 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 49571 readability.
8ceafda2 49572
49573 * config.guess: Updated to the latest version from gnulib.
49574 * config.sub: Likewise.
49575 * install.sh: Likewise.
49576 * mkinstalldirs: Likewise.
49577
49578 * include/grub/console.h: Removed. This file is arch-specific. Do
49579 not put this in include/grub.
49580
49581 * include/grub/i386/pc/console.h: Resurrected.
49582
49583 * util/console.c: Include grub/machine/console.h instead of
49584 grub/console.h.
49585 * util/grub-emu.c: Likewise.
49586
267f6cd9 495872005-08-04 Marco Gerards <metgerards@student.han.nl>
49588
49589 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
49590 hardcoded value.
f19dbdb7 49591
267f6cd9 49592 From Vincent Pelletier <subdino2004@yahoo.fr>
49593 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
49594 Redefined to use grub_getwh.
49595 (grub_term): New member named getwh.
49596 (grub_getwh): New prototype.
49597 * kern/term.c (grub_getwh): New function.
49598 * term/i386/pc/console.c (grub_console_getwh): New function.
49599 (grub_console_term): New member `getwh'.
49600 * term/i386/pc/vga.c (grub_vga_getwh): New function.
49601 (grub_vga_term): New member `getwh'.
0b5abe02 49602 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 49603 grub_ssize_t.
49604 (grub_ofconsole_getw): New function.
49605 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
49606 (grub_ofconsole_term): New field named getwh and new initial
49607 value.
49608
3be7266d 496092005-08-03 Hollis Blanchard <hollis@penguinppc.org>
49610
49611 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
49612 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
49613 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
49614 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
49615 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
49616 of <grub/machine/ieee1275.h>.
49617 * commands/ieee1275/reboot.c: Likewise.
49618 * boot/powerpc/ieee1275/ieee1275.c: Move ...
49619 * kern/ieee1275.c: ... to here. All users updated. Change all
49620 parameter structs to use new type `grub_ieee1275_cell_t'.
49621 * term/powerpc/ieee1275/ofconsole.c: Move ...
49622 * term/ieee1275/ofconsole.c: ... to here. All users updated.
49623 * disk/powerpc/ieee1275/ofdisk.c: Move ...
49624 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
49625 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
49626 to return int.
49627 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
49628 Remove unused prototypes. All users updated.
49629 * include/grub/powerpc/ieee1275/console.h: Removed.
49630 * include/grub/powerpc/ieee1275/ieee1275.h: Define
49631 `grub_ieee1275_cell_t'.
49632 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
49633 Cast comparisons with -1 to the correct type.
49634 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
49635 type to match `grub_ieee1275_entry_fn'.
49636
8b5f3938 496372005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
49638
49639 * DISTLIST: Added util/i386/pc/grub-probefs.c.
49640
49641 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
49642 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
49643 partmap/sun.c.
49644 (grub_probefs_SOURCES): New variable.
49645
49646 * util/i386/pc/grub-probefs.c: New file.
49647
49648 * util/i386/pc/grub-setup.c (main): Call
49649 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
49650 grub_hfs_init and grub_jfs_init to initialize the system. Call
49651 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
49652 grub_pc_partition_map_fini to finish the system.
49653
ea409713 496542005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
49655
49656 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
49657 function.
49658 (grub_multiboot_load_elf32): Likewise.
49659 (grub_multiboot_is_elf64): Likewise.
49660 (grub_multiboot_load_elf64): Likewise.
49661 (grub_multiboot_load_elf): Likewise.
49662 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
49663 an ELF32 or ELF64 file.
49664 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
49665
49666 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
49667 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
49668 NULL before calling FS->LABEL.
49669 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
49670 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
49671 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
49672 before calling FS->LABEL.
49673
141a288b 496742005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
49675
49676 * util/i386/pc/grub-install.in (datadir): New variable.
49677 (libdir): Removed.
49678 (pkgdatadir): New variable.
49679 (pkglibdir): Removed.
49680
0d5f8a54 496812005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
49682
49683 * DISTLIST: Added util/i386/pc/grub-install.in.
49684
49685 * util/i386/pc/grub-install.in: New file.
49686
49687 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
49688 (grub_install_SOURCES): Likewise.
49689
49690 * genmk.rb: Added support for scripts.
49691 (Script): New class.
49692 (scripts): New variable.
49693
49694 * Makefile.in (install-local): Install sbin_SCRIPTS by
49695 INSTALL_SCRIPT.
49696 (uninstall): Remove sbin_SCRIPTS.
49697
49698 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
49699 device, try to get a GRUB device by
49700 grub_util_biosdisk_get_grub_dev.
49701 Free DEST_DEV.
49702
49703 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
49704 description for --device-map.
49705
5f968e1e 497062005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
49707
49708 Change the semantics of variable hooks. They now return strings
49709 instead of error values.
f19dbdb7 49710
5f968e1e 49711 * util/i386/pc/grub-setup.c: Include grub/env.h.
49712 (setup): Use grub_device_set_root instead of grub_env_set.
49713
49714 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
49715 grub_env_get instead of grub_device_set_root and
49716 grub_device_get_root, respectively.
49717
49718 * kern/main.c (grub_env_write_root): New function.
49719 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
49720 grub_env_set instead of grub_device_set_root.
49721
49722 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
49723 many variables.
49724 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
49725 rather than calling ENV->WRITE_HOOK afterwards.
49726 (grub_env_get): Return the result of ENV->READ_HOOK rather than
49727 passing a pointer of a pointer.
49728 (grub_register_variable_hook): Change the types of "read_hook" and
49729 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
49730 respectively.
49731 Allocate the default empty string on the heap, because this string
49732 may be freed later.
49733
49734 * kern/device.c: Include grub/env.h.
49735 (grub_device_set_root): Removed.
49736 (grub_device_get_root): Likewise.
49737 (grub_device_open): Use grub_env_get instead of
49738 grub_device_get_root.
49739
49740 * include/grub/env.h (grub_env_read_hook_t): New type.
49741 (grub_env_write_hook_t): Likewise.
49742 (grub_env_var): Change the types of "read_hook" and "write_hook"
49743 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
49744 (grub_register_variable_hook): Likewise.
49745
49746 * include/grub/device.h (grub_device_set_root): Removed.
49747 (grub_device_set_root): Likewise.
49748
49749 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
49750 make sure that DIRNAME terminates with '/', so that
49751 grub_fat_find_dir will fail if PATH is not a directory.
49752
49753 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
49754 from DIRNAME.
49755 Use the qualifier auto for print_files and print_files_long.
49756 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
49757 as a regular file.
49758 Put a newline only if there is no error.
49759 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
49760 used.
49761
896f0afd 497622005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
49763
49764 * kern/partition.c (grub_partition_probe): Initialize PART to
49765 NULL. Otherwise, when no partition map is registered, this returns
49766 a garbage.
49767
b28b81b2 497682005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
49769
49770 * partmap/apple.c (apple_partition_map_iterate): Check if POS
49771 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
49772 valid.
49773
5f3607e0 497742005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
49775
49776 * commands/ls.c (grub_ls_list_disks): Print the filesystem
49777 information on each device, if it does not have partitions. Print
49778 "Device" instead of "Disk", because this function is not specific
49779 to disk devices.
49780
49781 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
49782 static to ensure that it is put on the memory rather than a
49783 register.
49784
502c87e8 497852005-07-17 Yoshinori Okuji <okuji@enbug.org>
49786
49787 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
49788 (grub_cat_init): Likewise.
49789 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
49790 (options): Likewise.
49791 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
49792 (grub_configfile_init): Likewise.
49793 * font/manager.c (GRUB_MOD_INIT): Likewise.
49794 * commands/help.c (GRUB_MOD_INIT): Likewise.
49795 (grub_help_init): Likewise.
49796 * normal/command.c (grub_command_init): Likewise.
49797 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
49798 * disk/loopback.c (grub_loop_init): Likewise.
49799 (GRUB_MOD_INIT): Likewise.
49800 * commands/ls.c (grub_ls_init): Likewise.
49801 (GRUB_MOD_INIT): Likewise.
49802 (options): Likewise.
49803 * commands/boot.c (grub_boot_init): Likewise.
49804 (GRUB_MOD_INIT): Likewise.
49805 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
49806 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
49807 (GRUB_MOD_INIT): Likewise.
49808 * commands/cmp.c (grub_cmp_init): Likewise.
49809 (GRUB_MOD_INIT): Likewise.
49810
49811 * normal/arg.c: Use <> instead of "" to include header files.
49812 (SHORT_ARG_HELP): New macro.
49813 (SHORT_ARG_USAGE): Likewise.
49814 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
49815 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
49816 descriptions.
49817 (find_short): Check if C is 'h' or 'u' explicitly.
49818 (grub_arg_show_help): Use space characters instead of tabs. Treat
49819 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
49820 are shown with --help and --usage only if they are not used for
49821 the command itself.
49822 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
49823 'h' and 'u'.
49824
49825 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
49826 const into "longarg". Change the type of "shortarg" to int.
49827
f806d18e 498282005-07-17 Yoshinori Okuji <okuji@enbug.org>
49829
49830 * boot/i386/pc/boot.S (boot_drive_check): New label.
49831
49832 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
49833 macro.
49834
49835 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
49836 which do not pass a boot drive correctly. Copied from GRUB Legacy.
49837
e293232b 498382005-07-17 Yoshinori Okuji <okuji@enbug.org>
49839
49840 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
49841 When turning off Gate A20, skip the check and return immediately,
49842 because this is not fatal usually.
49843
ebedfd00 498442005-07-17 Yoshinori Okuji <okuji@enbug.org>
49845
49846 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
49847 be 0x7C00 instead of 0x8000.
49848
49849 * boot/i386/pc/pxeboot.S: Rewritten.
49850
49851 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
49852 EXT_C.
49853 (gate_a20_check_state): Read a byte from 0x108000. Invert the
49854 result.
49855
654fc59f 498562005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
49857
49858 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
49859 robustness. This routine now supports a BIOS call and System
49860 Control Port A to modify the gate A20.
49861
49862 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
49863 Increased to 0x440.
49864
09f9923f 498652005-07-12 Hollis Blanchard <hollis@penguinppc.org>
49866
49867 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
49868 device path and resulting ihandle.
49869 (grub_ofdisk_close): dprintf the ihandle being closed.
49870 (grub_ofdisk_read): dprintf function parameters.
49871 * kern/mm.c (grub_mm_init_region): Likewise.
49872 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
49873 (grub_linux_boot): dprintf the Linux entry point, initrd address and
49874 size, and boot arguments.
49875 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
49876 before loading into memory.
49877 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
49878 before loading into memory.
49879
7ef504d8 498802005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
49881
49882 * kern/mm.c: Added much documentation.
49883 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
49884 8, set to 5 instead of 8.
49885
e0f050c2 498862005-07-10 Yoshinori Okuji <okuji@enbug.org>
49887
49888 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
49889
49890 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
49891 (grub_mkdevicemap_SOURCES): New variable.
49892
49893 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
49894 lib/device.c of GRUB Legacy.
49895
7224189a 498962005-07-10 Yoshinori Okuji <okuji@enbug.org>
49897
49898 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
49899 instead of PATH is NULL.
49900
68c864eb 499012005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
49902
49903 * commands/cmp.c (BUFFER_SIZE): New macro.
49904 (grub_cmd_cmp): Close the right file at the right time. Compare
49905 only data just read. Don't report files of different size as
49906 identical. Dynamically allocate buffers. Move variable
49907 declarations at the beginning of function.
49908
e6f3e614 499092005-07-09 Yoshinori Okuji <okuji@enbug.org>
49910
49911 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
49912 reverse.
49913
f8f1559a 499142004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
49915
49916 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
49917 when backspace is pressed at beginning of line.
49918
39c9d41d 499192005-07-03 Yoshinori Okuji <okuji@enbug.org>
49920
49921 * DISTLIST: Added genfslist.sh.
49922
49923 * normal/main.c (fs_module_list): New variable.
49924 (autoload_fs_module): New function.
49925 (read_fs_list): Likewise.
49926 (grub_normal_execute): Call read_fs_list.
49927
49928 * kern/fs.c (grub_fs_autoload_hook): New variable.
49929 (grub_fs_probe): Added support for auto-loading.
49930
49931 * include/grub/normal.h (struct grub_fs_module_list): New struct.
49932 (grub_fs_module_list_t): New type.
49933
49934 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
49935 (grub_fs_autoload_hook): New prototype.
49936
49937 * genfslist.sh: New file.
f19dbdb7 49938
39c9d41d 49939 * genmk.rb: Added a rule to generate a filesystem list.
49940
121c1d83 499412005-06-30 Marco Gerards <metgerards@student.han.nl>
49942
49943 * configure.ac: Fix the test for cross-compiling.
49944
49945 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
49946 define GRUB_UTIL anymore.
49947
49948 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
49949 so this function works on other systems than just big endian.
49950 (load_modules): Likewise.
49951 (add_segments): Likewise.
49952
e75d76e1 499532005-06-23 Hollis Blanchard <hollis@penguinppc.org>
49954
49955 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
49956 contains `l' modifier, get a long from va_arg().
49957
50b5a0a7 499582005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
49959
49960 * kern/mm.c (grub_free): If the next free block which is being
49961 merged is the first free block, set the first block to the block
49962 being freed.
49963 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
49964
89371b20 499652005-05-08 Hollis Blanchard <hollis@penguinppc.org>
49966
49967 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
49968 `grub_ieee1275_chosen'.
49969
168d6e58 499702005-05-08 Hollis Blanchard <hollis@penguinppc.org>
49971
49972 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
49973 (grub_ieee1275_chosen): New variable.
49974 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
49975 `chosen'.
49976 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
49977 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
49978 Rename first argument to `phandle' for consistency.
49979 (grub_ieee1275_get_property_length): Likewise.
49980 (grub_ieee1275_next_property): Likewise. Change type of first argument
49981 to grub_ieee1275_phandle_t.
49982 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
49983 Move export next to declaration.
49984 (grub_ieee1275_chosen): New variable.
49985 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
49986 Correct cosmetic typo.
49987 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
49988 `grub_ieee1275_chosen'.
49989 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
49990 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
49991 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
49992 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
49993 `grub_ieee1275_chosen'.
49994
ca5baa3f 499952005-05-10 Hollis Blanchard <hollis@penguinppc.org>
49996
49997 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
49998 /chosen/bootargs.
49999 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
50000 /chosen/bootargs as "variable=value" pairs.
50001
708b345f 500022005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
50003
50004 * include/grub/misc.h (grub_dprintf): New macro.
50005 (grub_real_dprintf): New prototype.
50006 (grub_strword): Likewise.
50007 (grub_iswordseparator): Likewise.
50008 * kern/misc.c (grub_real_dprintf): New function.
50009 (grub_strword): Likewise.
50010 (grub_iswordseparator): Likewise.
50011
f4c5e67c 500122005-04-30 Hollis Blanchard <hollis@penguinppc.org>
50013
50014 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
50015 (roundup): Remove macro.
50016 (grub_ieee1275_flags): Make static.
50017 (grub_ieee1275_realmode): Remove.
50018 (grub_ieee1275_test_flag): New function.
50019 (grub_ieee1275_set_flag): Likewise.
50020 (find_options): Rename to `grub_ieee1275_find_options'; update
50021 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
50022 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
50023 (cmain): New prototype.
50024 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
50025 `grub_ieee1275_flags' directly.
50026 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
50027 machine/biosdisk.h.
50028 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
50029 Don't include grub/machine/init.h.
50030 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
50031 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
50032 Remove prototype.
50033 (grub_ieee1275_realmode): Likewise.
50034 (grub_ieee1275_flag): New enum.
50035 (grub_ieee1275_test_flag): New prototype.
50036 (grub_ieee1275_set_flag): New prototype.
50037 * include/grub/powerpc/ieee1275/init.h: Remove file.
50038 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
50039 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
50040 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
50041 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
50042 comment.
50043 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
50044 `grub_ieee1275_test_flag'.
50045 (grub_ieee1275_encode_devname): Likewise.
50046
ed16607e 500472005-04-21 Hollis Blanchard <hollis@penguinppc.org>
50048
50049 * include/grub/powerpc/ieee1275/ieee1275.h
50050 (grub_ieee1275_encode_devname): New prototype.
50051 (grub_ieee1275_get_filename): Likewise.
50052 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
50053 function.
50054 (grub_set_prefix): Likewise.
50055 (grub_machine_init): Call grub_set_prefix.
50056 * kern/powerpc/ieee1275/openfw.c: Fix typos.
50057 (grub_parse_type): New enum.
50058 (grub_ieee1275_get_devargs): New function.
50059 (grub_ieee1275_get_devname): Likewise.
50060 (grub_ieee1275_parse_args): Likewise.
50061 (grub_ieee1275_get_filename): Likewise.
50062 (grub_ieee1275_encode_devname): Likewise.
50063
be369920 500642005-03-30 Marco Gerards <metgerards@student.han.nl>
50065
50066 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
50067 `grub_loader_unset'.
50068
a5ce3a4a 500692005-03-26 Hollis Blanchard <hollis@penguinppc.org>
50070
50071 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
50072 instead of grub_ieee1275_interpret.
50073 (grub_halt_init): New function.
50074 (grub_halt_fini): Likewise.
50075 (GRUB_MOD_INIT): Correct message grammar.
50076 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
50077 instead of grub_ieee1275_interpret.
50078 (grub_reboot_init): New function.
50079 (grub_reboot_fini): Likewise.
50080 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
50081 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
50082 util/i386/pc/misc.c with commands/ieee1275/halt.c,
50083 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
50084 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
50085 function.
50086 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
50087 Add prototype.
50088 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
50089 prototype.
50090 (grub_halt): Likewise.
50091 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
50092 (cmain): Remove __attribute__((unused)).
50093 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
50094 (grub_heap_len): Likewise.
50095 (grub_machine_fini): New function.
50096 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
50097 (grub_halt): Likewise.
50098 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
50099 function.
50100 * util/powerpc/ieee1275/misc.c: New file.
50101
0058f771 501022005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
50103
50104 * DISTLIST: New file.
50105 * gendistlist.sh: Likewise.
f19dbdb7 50106
0058f771 50107 * Makefile.in (COMMON_DISTFILES): Removed.
50108 (BOOT_DISTFILES): Likewise.
50109 (CONF_DISTFILES): Likewise.
50110 (DISK_DISTFILES): Likewise.
50111 (FS_DISTFILES): Likewise.
50112 (INCLUDE_DISTFILES): Likewise.
50113 (KERN_DISTFILES): Likewise.
50114 (LOADER_DISTFILES): Likewise.
50115 (TERM_DISTFILES): Likewise.
50116 (UTIL_DISTFILES): Likewise.
50117 (DISTFILES): Likewise.
50118 (uninstall): Uninstall files in $(pkgdata_DATA).
50119 (DISTLIST): New target.
50120 (distdir): Use the contents of the file DISTLIST to get a list of
50121 distributed files.
50122
46b3b8a5 501232005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
50124
50125 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
50126 descriptor. This is ported from GRUB Legacy.
50127
50128 * gencmdlist.sh: Added an extra semicolon to make it work with
50129 old sed versions. Reported by Robert Bihlmeyer
50130 <robbe@orcus.priv.at>.
50131
5822ff87 501322005-03-08 Yoshinori Okuji <okuji@enbug.org>
50133
50134 Automatic loading of commands is supported.
f19dbdb7 50135
5822ff87 50136 * normal/main.c (read_command_list): New function.
50137 (grub_normal_execute): Call read_command_list.
50138
50139 * normal/command.c (grub_register_command): Return zero or CMD.
50140 Allocate CMD->NAME from the heap.
50141 Initialize CMD->MODULE_NAME to zero.
50142 Find the same name as well. If the same command is found and it is
50143 a dummy command, overwrite members. If it is not a dummy command,
50144 return zero.
50145 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
50146 (grub_command_find): If a dummy command is found, load a module
50147 and retry to find a command only once.
50148
50149 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
50150 make sure that each command is loaded.
50151
50152 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
50153 macro.
50154 (struct grub_command): Remove const from the member `name'.
50155 Add a new member `module_name'.
50156 (grub_register_command): Return grub_command_t.
50157
50158 * commands/help.c (grub_cmd_help): Call grub_command_find to make
50159 sure that each command is loaded.
50160
50161 * genmk.rb (PModule::rule): Specify a module name without the
50162 suffix ".mod" to gencmdlist.sh.
50163
7b1f4b57 501642005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
50165
50166 * gencmdlist.sh: New file.
f19dbdb7 50167
7b1f4b57 50168 * genmk.rb (PModule::rule): Generate a rule for a command list.
50169 Clean command.lst.
50170 Generate command.lst from $(COMMANDFILES).
50171
50172 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
50173 (DATA): Added $(pkgdata_DATA).
50174 (install-local): Install files in $(pkgdata_DATA).
50175
062aaf39 501762005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
50177
50178 * term/i386/pc/vga.c (debug_command): Removed.
50179 (GRUB_MOD_INIT): Do not register the command "debug".
50180
50181 From Hollis Blanchard:
50182 * commands/configfile.c: New file.
50183 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
50184 commands/configfile.c.
50185 (pkgdata_MODULES): Added configfile.mod.
50186 (configfile_mod_SOURCES): New variable.
50187 (configfile_mod_CFLAGS): Likewise.
50188 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50189 commands/configfile.c.
50190 (pkgdata_MODULES): Added configfile.mod.
50191 (configfile_mod_SOURCES): New variable.
50192 (configfile_mod_CFLAGS): Likewise.
50193 * util/grub-emu.c (main): Call grub_configfile_init and
50194 grub_configfile_fini.
50195 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
50196 prototype.
50197 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 50198
cee01aa6 501992005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
50200
50201 * normal/arg.c (grub_arg_show_help): Do not show the bug report
50202 address.
50203
50204 * commands/help.c (grub_cmd_help): Do not print newlines after
50205 the last command in print_command_help.
50206
93f3a1d8 502072005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
50208
50209 * commands/default.h: New file.
50210 * commands/timeout.h: Likewise.
50211 * normal/context.c: Likewise.
f19dbdb7 50212
93f3a1d8 50213 * util/misc.c: Do not include sys/times.h.
50214 Include sys/time.h and grub/machine/time.h.
50215 (grub_get_rtc): Rewritten with gettimeofday.
50216
50217 * util/grub-emu.c (main): Call grub_default_init and
50218 grub_timeout_init before grub_normal_init, and call
50219 grub_timeout_fini and grub_default_fini after grub_main.
50220
50221 * util/console.c (grub_ncurses_checkkey): Return the read
50222 character or -1.
50223
50224 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
50225 timeouts.
50226
50227 * normal/main.c (read_config_file): Push MENU. If this fails,
50228 print an error and wait for a user input.
50229 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
50230 If a menu is empty or an error occurs, pop MENU.
50231 (grub_normal_execute): Pop and free MENU after grub_menu_run
50232 returns.
50233
50234 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
50235
50236 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
50237 include time.h.
50238 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
50239 without GRUB_UTIL.
50240 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
50241 time.h.
50242 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
50243 without GRUB_UTIL.
50244
50245 * include/grub/normal.h (struct grub_menu_list): New struct.
50246 (grub_menu_list_t): New type.
50247 (struct grub_context): New struct.
50248 (grub_context_t): New type.
50249 (grub_register_command): Got rid of EXPORT_FUNC.
50250 (grub_unregister_command): Likewise.
50251 (grub_context_get): New prototype.
50252 (grub_context_get_current_menu): Likewise.
50253 (grub_context_push_menu): Likewise.
50254 (grub_context_pop_menu): Likewise.
50255 [GRUB_UTIL] (grub_default_init): Likewise.
50256 [GRUB_UTIL] (grub_default_fini): Likewise.
50257 [GRUB_UTIL] (grub_timeout_init): Likewise.
50258 [GRUB_UTIL] (grub_timeout_fini): Likewise.
50259
50260 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
50261 commands/timeout.c and normal/context.c.
50262 (pkgdata_MODULES): Added default.mod and timeout.mod.
50263 (normal_mod_SOURCES): Added normal/context.c.
50264 (default_mod_SOURCES): New variable.
50265 (default_mod_CFLAGS): Likewise.
50266 (timeout_mod_SOURCES): Likewise.
50267 (timeout_mod_CFLAGS): Likewise.
50268 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
50269 conf/i386-pc.rmk.
50270 (pkgdata_MODULES): Added default.mod and timeout.mod.
50271 (normal_mod_SOURCES): Added normal/context.c.
50272 (default_mod_SOURCES): New variable.
50273 (default_mod_CFLAGS): Likewise.
50274 (timeout_mod_SOURCES): Likewise.
50275 (timeout_mod_CFLAGS): Likewise.
50276
50277 * Makefile.in (all-local): Added $(MKFILES).
50278
4ed2e1dd 502792005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
50280
50281 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
50282 (grub_emu_SOURCES): Likewise.
50283 (pkgdata_MODULES): Add `sun.mod'.
50284 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
50285 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50286 `partmap/sun.c'.
50287 (pkgdata_MODULES): Add `sun.mod'.
50288 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
50289 * include/grub/partition.h (grub_sun_partition_map_init): New
50290 prototype.
50291 (grub_sun_partition_map_fini): Likewise.
50292 * partmap/sun.c: New file.
50293 * util/grub-emu.c (main): Initialize and de-initialize the sun
50294 partitionmap support.
50295
4d4e372e 502962005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
50297
50298 This implements an Emacs-like menu entry editor.
f19dbdb7 50299
4d4e372e 50300 * normal/menu_entry.c: New file.
f19dbdb7 50301
4d4e372e 50302 * util/console.c (grub_ncurses_putchar): Translate some Unicode
50303 characters to ASCII.
50304 (saved_char): New variable.
50305 (grub_ncurses_checkkey): Rewritten completely.
50306 (grub_ncurses_getkey): Likewise.
50307 (grub_ncurses_init): Call raw instead of cbreak.
50308
50309 * normal/menu.c (print_entry): Do not put a space.
50310 (init_page): Renamed to ...
50311 (grub_menu_init_page): ... this. All callers changed.
50312 (edit_menu_entry): Removed.
50313 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
50314
50315 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
50316
50317 * kern/misc.c (grub_vprintf): Call grub_refresh.
50318
50319 * normal/menu.c (DISP_LEFT): Renamed to ...
50320 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
50321 * normal/menu.c (DISP_UP): Renamed to ...
50322 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
50323 * normal/menu.c (DISP_RIGHT): Renamed to ...
50324 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
50325 * normal/menu.c (DISP_DOWN): Renamed to ...
50326 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
50327 * normal/menu.c (DISP_HLINE): Renamed to ...
50328 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
50329 * normal/menu.c (DISP_VLINE): Renamed to ...
50330 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
50331 * normal/menu.c (DISP_UL): Renamed to ...
50332 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
50333 * normal/menu.c (DISP_UR): Renamed to ...
50334 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
50335 * normal/menu.c (DISP_LL): Renamed to ...
50336 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
50337 * normal/menu.c (DISP_LR): Renamed to ...
50338 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
50339 * normal/menu.c (TERM_WIDTH): Renamed to ...
50340 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
50341 * normal/menu.c (TERM_HEIGHT): Renamed to ...
50342 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
50343 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
50344 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
50345 * normal/menu.c (TERM_MARGIN): Renamed to ...
50346 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
50347 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
50348 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
50349 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
50350 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
50351 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
50352 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
50353 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
50354 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
50355 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
50356 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
50357 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
50358 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
50359 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
50360 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
50361 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
50362 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
50363 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
50364 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
50365 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
50366 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
50367 All callers changed.
50368
50369 * include/grub/normal.h: New prototype.
50370
50371 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
50372 normal/menu_entry.c.
50373 (normal_mod_SOURCES): Likewise.
50374 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50375 (normal_mod_SOURCES): Likewise.
50376
e6b92c8a 503772005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
50378
50379 * include/grub/normal.h (grub_halt_init): New prototype.
50380 (grub_halt_fini): Likewise.
50381 (grub_reboot_init): Likewise.
50382 (grub_reboot_fini): Likewise.
50383
50384 * util/grub-emu.c: Include signal.h.
50385 (main_env): New global variable.
50386 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
50387 catch C-c.
50388 (grub_machine_fini): New function.
50389 (main): Call grub_halt_init and grub_reboot_init before
50390 grub_main, and grub_reboot_fini and grub_halt_fini after it.
50391 Call setjmp with MAIN_ENV to go back afterwards.
50392 Call grub_machine_fini right before return.
50393
50394 * include/grub/util/misc.h: Include setjmp.h.
50395 (main_env): New prototype.
50396
50397 * include/grub/kernel.h (grub_machine_fini): New prototype.
50398 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
50399 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
50400
50401 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
50402 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
50403 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 50404
e6b92c8a 50405 * util/i386/pc/misc.c: New file.
f19dbdb7 50406
e6b92c8a 50407 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
50408 util/i386/pc/misc.c, commands/i386/pc/halt.c and
50409 commands/i386/pc/reboot.c.
50410
c642636f 504112005-02-14 Guillem Jover <guillem@hadrons.org>
50412
50413 * include/grub/dl.h (grub_dl_check_header): New prototype.
50414 (grub_arch_dl_check_header): Change return type to grub_err_t,
50415 remove size parameter and export function. Update all callers.
50416 * kern/dl.c (grub_dl_check_header): New function.
50417 (grub_dl_load_core): Use `grub_dl_check_header' instead of
50418 `grub_arch_dl_check_header'. Check ELF type. Check if sections
50419 are inside the core.
50420 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
50421 independent ELF header checks.
50422 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
50423 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
50424 `grub_dl_check_header' instead of explicit checks. Check for the
50425 ELF type.
50426 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
50427 `grub_dl_check_header' instead of explicit checks. Remove arch
50428 specific ELF header checks.
50429
e6b92c8a 50430 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
50431 argument SIZE.
50432
5eabe94b 504332005-02-13 Hollis Blanchard <hollis@penguinppc.org>
50434
50435 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
50436 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
50437
1b14a681 504382005-02-12 Hollis Blanchard <hollis@penguinppc.org>
50439
50440 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 50441 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 50442 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 50443 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 50444 * partmap/amiga.c (amiga_partition_map_iterate): Return
50445 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
50446 * partmap/apple.c (apple_partition_map_iterate): Likewise.
50447
aca108aa 504482005-02-01 Guillem Jover <guillem@hadrons.org>
50449
50450 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
50451 help info.
50452
c9f9c556 504532005-01-31 Marco Gerards <metgerards@student.han.nl>
50454
50455 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
50456 Removed prototype.
50457 (grub_rescue_cmd_linux): New prototype.
50458 (grub_rescue_cmd_initrd): Likewise.
50459 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
50460 `bi_rec'.
50461 (grub_linux_release_mem): Release the memory for the initrd.
50462 (grub_load_linux): Renamed from this...
50463 (grub_rescue_cmd_linux): ...To this. Changed all callers.
50464 Changed `entry' not to be static. Loop over memory regions to
50465 find another one when the default fails.
50466 (grub_rescue_cmd_initrd): New function.
50467 (grub_linux_init): Remove function.
50468 (grub_linux_fini): Likewise.
50469 (GRUB_MOD_INIT): Register `initrd'.
50470 (GRUB_MOD_FINI): Unregister `initrd'.
50471 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
50472 Function removed.
50473 (grub_linux_normal_fini): Likewise.
50474 (GRUB_MOD_INIT): Register `initrd'.
50475 (GRUB_MOD_FINI): Unregister `initrd'.
50476
990cf3aa 504772005-01-31 Marco Gerards <metgerards@student.han.nl>
50478
50479 * commands/help.c: New file.
50480 * normal/arg.c (show_help): Renamed to...
50481 (grub_arg_show_help): ... this.
50482 * commands/i386/pc/halt.c: New file.
50483 * commands/i386/pc/reboot.c: Likewise.
50484 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
50485 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
50486 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
50487 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
50488 variables.
50489 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50490 `commands/help.c'.
50491 (pkgdata_MODULES): Add `help.mod'.
50492 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
50493 * grub/i386/pc/init.h (grub_reboot): New prototype.
50494 (grub_halt): Likewise.
50495 * include/grub/normal.h (grub_arg_show_help): New prototype.
50496 (grub_help_init): Likewise.
50497 (grub_help_fini): Likewise.
50498 * util/grub-emu.c (main): Initialize and deinitialize the help
50499 command.
50500
50501 * normal/cmdline.c (grub_cmdline_get): Doc fix.
50502
50503 * normal/command.c (grub_command_init): Fixed the description of
50504 the `set' and `unset' commands.
50505
505062005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 50507
50508 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
50509 function.
50510 * commands/ieee1275/halt.c: New file.
50511 * commands/ieee1275/reboot.c: Likewise.
50512 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
50513 `__attribute__ ((unused))'. Some GCS related fixed.
50514 (grub_suspend_init) [GRUB_UTIL]: Function removed.
50515 (grub_suspend_fini): Likewise.
50516 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
50517 and `halt.mod'.
50518 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
50519 (halt_mod_CFLAGS): New variables.
50520 * include/grub/powerpc/ieee1275/ieee1275.h
50521 (grub_ieee1275_interpret): New prototype.
50522
1ab09cc7 505232005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
50524
50525 * include/grub/misc.h (memmove): New prototype.
50526 (memcpy): Likewise.
50527
8b8cbdb2 505282005-01-22 Hollis Blanchard <hollis@penguinppc.org>
50529
50530 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
50531 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
50532
e3741a27 505332005-01-22 Marco Gerards <metgerards@student.han.nl>
50534
50535 * kern/misc.c (grub_strndup): Function rewritten.
50536
776bd780 505372005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
50538
50539 * normal/menu.c (TERM_WIDTH): Macro redefined.
50540 (TERM_TOP_BORDER_Y): Likewise.
50541 (draw_border): Replaced while-loop by a for-loop. Make the number
50542 of lines consistent with the number of lines displayed in
50543 print_entries. Added a margin below the rectangle.
50544 (print_entry): Make the entry fit in the rectangle.
50545 (print_entries): Display the scroll arrows next to the right
50546 border.
50547
78026bce 505482005-01-21 Marco Gerards <metgerards@student.han.nl>
50549
50550 * fs/minix.c (grub_minix_find_file): Reserve more space for
50551 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
50552 `grub_strncpy' to copy `path' into it.
50553
67bbaf0f 505542005-01-21 Marco Gerards <metgerards@student.han.nl>
50555
50556 Add the loopback device, a device via which files can be accessed
50557 as devices.
f19dbdb7 50558
67bbaf0f 50559 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
50560 (pkgdata_MODULES): Add loopback.mod.
50561 (loopback_mod_SOURCES): New variable.
50562 (loopback_mod_CFLAGS): Likewise.
50563 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50564 `disk/loopback.c'.
50565 (pkgdata_MODULES): Add loopback.mod.
50566 (loopback_mod_SOURCES): New variable.
50567 (loopback_mod_CFLAGS): Likewise.
50568 * disk/loopback.c: new file.
50569 * include/grub/normal.h (grub_loop_init): New prototype.
50570 (grub_loop_fini): New prototype.
50571 * util/grub-emu.c (main): Initialize and de-initialize loopback
50572 support.
50573 * include/grub/disk.h (grub_disk_dev_id): Add
50574 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
50575
6f1c18bd 505762005-01-20 Hollis Blanchard <hollis@penguinppc.org>
50577
50578 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
50579 function.
50580 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
50581 (suspend_mod_SOURCES): New variable.
50582 (suspend_mod_CFLAGS): Likewise.
50583 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
50584 New prototype.
50585 * commands/ieee1275/suspend.c: New file.
50586
b38551da 505872005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50588
50589 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 50590 ((unused))' to `__attribute__ ((used))'.
b38551da 50591 (GRUB_MOD_FINI): Likewise.
50592 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
50593 * genmk.rb (PModule): Assign space to common symbols when linking
50594 modules.
50595
777aff39 505962005-01-20 Marco Gerards <metgerards@student.han.nl>
50597
50598 * include/grub/mm.h (grub_mm_init_region): Change the type of the
50599 `unsigned' arguments to `grub_size_t'.
50600 (grub_malloc): Likewise.
50601 (grub_realloc): Likewise.
50602 (grub_memalign): Likewise.
50603 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
50604 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
50605 * util/misc.c (grub_malloc): Likewise.
50606 (grub_realloc): Likewise.
50607 * kern/mm.c (get_header_from_pointer): Change the casts to
50608 `unsigned' into a cast to `grub_size_t'.
50609
50610 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
50611 point to `currnode' when `currnode' is changed.
50612
50613 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
50614 Schottelius <nico-linux@schottelius.org>.
50615
d0ff18e1 506162005-01-09 Hollis Blanchard <hollis@penguinppc.org>
50617
50618 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
50619 (note_path): Remove variable.
50620 (GRUB_IEEE1275_NOTE_NAME): New macro.
50621 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
50622 (grub_ieee1275_note_hdr): New structure.
50623 (grub_ieee1275_note_desc): Likewise.
50624 (grub_ieee1275_note): Likewise.
50625 (load_note): Remove `dir' argument. All callers updated. Remove
50626 `note_img' and `path'. Do not load a file from `note_path'.
50627 Initialize a struct grub_ieee1275_note and write that to `out'.
50628 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
50629
4ca7004c 506302005-01-05 Marco Gerards <metgerards@student.han.nl>
50631
50632 * util/misc.c (grub_util_read_image): Revert last change. It
50633 called `grub_util_read_at', which seeks from the beginning of the
50634 file.
50635
0b412211 506362005-01-04 Hollis Blanchard <hollis@penguinppc.org>
50637
50638 * TODO: Add note about endianness in grub-mkimage.
50639 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
50640 section.
50641 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
50642 (grub_mkimage_SOURCES): New target.
50643 * include/grub/kernel.h (grub_start_addr): Remove variable.
50644 (grub_end_addr): Likewise.
50645 (grub_total_module_size): Likewise.
50646 (grub_kernel_image_size): Likewise.
50647 (GRUB_MODULE_MAGIC): New constant.
50648 (grub_module_info): New structure.
50649 (grub_arch_modules_addr): New prototype.
50650 (grub_get_end_addr): Remove prototype.
50651 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
50652 * include/grub/powerpc/ieee1275/kernel.h: New file.
50653 * include/grub/util/misc.h (grub_util_get_fp_size): New
50654 prototype.
50655 (grub_util_read_at): Likewise.
50656 (grub_util_write_image_at): Likewise.
50657 * kern/main.c (grub_get_end_addr): Remove function.
50658 (grub_load_modules): Call grub_arch_modules_addr instead of using
50659 grub_end_addr. Look for a grub_module_info struct in memory. Use
50660 the grub_module_info fields instead of calling grub_get_end_addr
50661 as loop conditions. Move grub_add_unused_region code here.
50662 (grub_add_unused_region): Remove function.
50663 * kern/i386/pc/init.c: Include grub/cache.h.
50664 (grub_machine_init): Remove call to grub_get_end_addr. Remove
50665 one call to add_mem_region.
50666 (grub_arch_modules_addr): New function.
50667 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
50668 (grub_total_module_size): Likewise.
50669 Include grub/machine/kernel.h.
50670 (grub_arch_modules_addr): New function.
50671 * util/grub-emu.c (grub_end_addr): Remove variable.
50672 (grub_total_module_size): Likewise.
50673 (grub_arch_modules_addr): New function.
50674 * util/misc.c: Include unistd.h.
50675 (grub_util_get_fp_size): New function.
50676 (grub_util_read_at): Likewise.
50677 (grub_util_write_image_at): Likewise.
50678 (grub_util_read_image): Call grub_util_read_at.
50679 (grub_util_write_image): Call grub_util_write_image_at.
50680 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
50681 additional memory in kernel_img for a struct grub_module_info.
50682 Fill in that grub_module_info.
50683 * util/powerpc/ieee1275/grub-mkimage.c: New file.
50684
458786f8 506852005-01-03 Hollis Blanchard <hollis@penguinppc.org>
50686
50687 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
50688 New function.
50689 * include/grub/powerpc/ieee1275/ieee1275.h
50690 (grub_ieee1275_milliseconds): New prototype.
50691 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
50692 Change to 1000.
50693 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
50694 grub_ieee1275_milliseconds.
50695
ac507d1b 506962005-01-03 Hollis Blanchard <hollis@penguinppc.org>
50697
50698 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
50699 variable.
50700 (find_options): New function.
50701 (cmain): Call find_options.
50702 * include/grub/powerpc/ieee1275/ieee1275.h
50703 (grub_ieee1275_realmode): New extern variable.
50704 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
50705 grub_map if grub_ieee1275_realmode is false.
50706
6b8fd1c4 507072004-12-29 Marco Gerards <metgerards@student.han.nl>
50708
50709 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
50710 lines are inserted and make it work like readline. Reported by
50711 Vincent Pelletier <subdino2004@yahoo.fr>.
50712
8514a1e0 507132004-12-28 Marco Gerards <metgerards@student.han.nl>
50714
50715 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
50716
50717 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
50718 `kern/powerpc/cache.S'.
50719
924b6140 507202004-12-27 Marco Gerards <metgerards@student.han.nl>
50721
50722 * genmk.rb: Handle the `Program' class in the main loop. Written
50723 by Johan Rydberg <jrydberg@gnu.org>.
50724 (Program): New class.
50725 (programs): New variable.
50726 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
50727 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
50728 instead of "grub/kernel.h". Include <grub/machine/init.h>.
50729 (help_arch): Function removed.
50730 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
50731 `powerpc/libgcc.h' and `loader.h'.
50732 (pkgdata_PROGRAMS): New variable.
50733 (sbin_UTILITIES): Variable removed.
50734 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
50735 (grubof_SOURCES): Variable re-defined so it only includes the
50736 core functionality.
50737 (grubof_CFLAGS): Remove `-DGRUBOF'.
50738 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
50739 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
50740 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
50741 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
50742 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
50743 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
50744 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
50745 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
50746 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
50747 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
50748 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
50749 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
50750 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
50751 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
50752 (pc_mod_CFLAGS): New variables.
50753 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
50754 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
50755 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
50756 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
50757 Moved from here...
50758 * include/grub/i386/pc/init.h (grub_os_area_addr)
50759 (rub_os_area_size): ... to here.
50760 * include/grub/powerpc/ieee1275/ieee1275.h
50761 (grub_ieee1275_entry_fn): Export symbol.
50762 * include/grub/powerpc/ieee1275/init.h: New file.
50763 * include/grub/powerpc/libgcc.h: Likewise.
50764 * include/grub/cache.h: Likewise.
50765 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
50766 <hollis@penguinppc.org>.
50767 * kern/dl.c: Include <grub/cache.h>.
50768 (grub_dl_flush_cache): New function.
50769 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
50770 for this module.
50771 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
50772 (grub_console_init): Removed prototypes.
50773 (grub_machine_init): Don't initialize the modules anymore.
50774 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
50775 static.
50776 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
50777 Macro undef removed.
50778 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
50779 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
50780 relocation `R_PPC_REL32'. Return an error when the relocation is
50781 unknown.
50782 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
50783 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
50784 * util/misc.c (grub_arch_sync_caches): Likewise.
50785
e4b47e0c 507862004-12-19 Marco Gerards <metgerards@student.han.nl>
50787
50788 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
50789 `symlist.c', add `grubof_symlist.c'.
50790 (symlist.c): Variable removed.
50791 (grubof_HEADERS): Variable added.
50792 (grubof_symlist.c): New target.
50793 (kernel_syms.lst): Use `grubof_HEADERS' instead of
50794 `kernel_img_HEADERS'.
50795 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
50796 * kern/powerpc/dl.c: New file.
50797 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
50798 Function removed.
50799 (grub_arch_dl_relocate_symbols): Likewise.
50800 (grub_register_exported_symbols): Likewise.
50801
4ceb3636 508022004-12-13 Marco Gerards <metgerards@student.han.nl>
50803
50804 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
50805 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
50806 to fail instead. Reported by Vincent Pelletier
50807 <subdino2004@yahoo.fr>.
50808
50809 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
50810 it is not allocated. Reported by Vincent Pelletier
50811 <subdino2004@yahoo.fr>.
50812
50813 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
50814 output so the output looks better.
f19dbdb7 50815
3f1578fe 508162004-12-04 Marco Gerards <metgerards@student.han.nl>
50817
50818 Modulize the partition map support and add support for the amiga
50819 partition map.
f19dbdb7 50820
3f1578fe 50821 * commands/ls.c: Include <grub/partition.h> instead of
50822 <grub/machine/partition.h>.
50823 * kern/disk.c: Likewise.
50824 * kern/rescue.c: Likewise.
50825 * loader/i386/pc/chainloader.c: Likewise.
50826 * normal/cmdline.c: Likewise.
50827 * kern/powerpc/ieee1275/init.c: Likewise.
50828 (grub_machine_init): Call `grub_pc_partition_map_init',
50829 `grub_amiga_partition_map_init' and
50830 `grub_apple_partition_map_init'.
50831 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
50832 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
50833 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
50834 `partition.h' and `pc_partition.h'.
50835 (grub_setup_SOURCES): Remove
50836 `disk/i386/pc/partition.c'. Add `kern/partition.c',
50837 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
50838 (grub_emu_SOURCES): Likewise.
50839 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
50840 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
50841 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
50842 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
50843 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
50844 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
50845 (grubof_SOURCES): Likewise.
50846 * disk/i386/pc/partition.c: File removed.
50847 * disk/powerpc/ieee1275/partition.c: Likewise.
50848 * include/grub/powerpc/ieee1275/partition.h: Likewise.
50849 * include/grub/i386/pc/partition.h: Likewise.
50850 * kern/partition.c: New file.
50851 * partmap/amiga.c: Likewise.
50852 * partmap/apple.c: Likewise.
50853 * partmap/pc.c: Likewise.
50854 * include/grub/partition.h: Likewise..
50855 * include/grub/pc_partition.h: Likewise.
50856 * util/grub-emu.c: Include <grub/partition.h> instead of
50857 <grub/machine/partition.h>.
50858 (main): Call `grub_pc_partition_map_init',
50859 `grub_amiga_partition_map_init' and
50860 `grub_apple_partition_map_init' and deinitialize afterwards.
50861 * util/i386/pc/biosdisk.c: Include `#include
50862 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
50863 `<grub/machine/partition.h>'.
50864 * util/i386/pc/grub-setup.c: Likewise.
50865 * util/i386/pc/biosdisk.c: Likewise.
50866 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
50867 partition information in case of a PC partition.
50868 * util/i386/pc/grub-setup.c: Include `#include
50869 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
50870 `<grub/machine/partition.h>'.
50871 (setup): Only access the PC specific partition information in case
50872 of a PC partition.
50873
0ef4ced9 508742004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 50875
0ef4ced9 50876 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
50877 (grub_longjmp): Likewise.
50878 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
50879 20.
50880 * normal/powerpc/setjmp.S: New file.
50881 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
50882 `normal/powerpc/setjmp.S'.
50883 (grubof_CFLAGS): Add `-DGRUBOF'.
50884 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
50885 [GRUB_UTIL && !GRUBOF].
f19dbdb7 50886
19950e29 508872004-11-16 Marco Gerards <metgerards@student.han.nl>
50888
50889 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
50890 property named `name'. Correctly handle the error returned by
50891 `grub_ieee1275_finddevice' if a device can not be opened.
50892
a2fea427 508932004-11-02 Hollis Blanchard <hollis@penguinppc.org>
50894
50895 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
50896 `actual' for negativity.
50897 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
50898 kern/fshelp.c.
50899
41ea0ea3 509002004-11-01 Marco Gerards <metgerards@student.han.nl>
50901
50902 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
50903 (PAGE_OFFSET): New macro.
50904 (CRTC_ADDR_PORT): Likewise.
50905 (CRTC_DATA_PORT): Likewise.
50906 (START_ADDR_HIGH_REGISTER): Likewise.
50907 (START_ADDR_LOW_REGISTER): Likewise.
50908 (GRAPHICS_ADDR_PORT): Likewise.
50909 (GRAPHICS_DATA_PORT): Likewise.
50910 (READ_MAP_REGISTER): Likewise.
50911 (INPUT_STATUS1_REGISTER): Likewise.
50912 (INPUT_STATUS1_VERTR_BIT): Likewise.
50913 (page): New variable.
50914 (wait_vretrace): New function.
50915 (set_read_map): Likewise.
50916 (set_start_address): Likewise.
50917 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
50918 the right page.
50919 (check_vga_mem): Take the page into account.
50920 (write_char): Likewise.
50921 (write_cursor): Likewise.
50922 (scroll_up): Likewise. Copy the page to the page that is not
50923 shown and switch between both pages.
50924 (grub_vga_putchar): Fix off by one error.
50925 (grub_vga_cls): Wait for the vertical retrace. Take the page into
50926 account.
50927
ad0bd20b 509282004-11-01 Marco Gerards <metgerards@student.han.nl>
50929
50930 Add support for iso9660 (including rockridge).
f19dbdb7 50931
ad0bd20b 50932 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
50933 (iso9660_mod_SOURCES): New variable.
50934 (iso9660_mod_CFLAGS): Likewise.
50935 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
50936 * include/grub/fs.h (grub_iso9660_init): New prototype.
50937 * util/grub-emu.c (main): Call `grub_iso9660_init'.
50938 * fs/iso9660.c: New file.
50939
50940 * include/grub/misc.h (grub_strncat): New prototype.
50941 * kern/misc.c (grub_strncat): New function.
f19dbdb7 50942
ad0bd20b 50943 * fs/hfs.c (grub_hfs_mount): Translate the error
50944 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
50945 * fs/jfs.c (grub_jfs_mount): Likewise.
50946 * fs/ufs.c (grub_ufs_mount): Likewise.
50947
a5477a59 509482004-10-28 Hollis Blanchard <hollis@penguinppc.org>
50949
50950 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
50951 which initialized BAT registers.
50952 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
50953 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
50954 Move from here...
50955 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
50956 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
50957 ... to here.
50958 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
50959 (grub_mapclaim): Likewise.
50960 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
50961 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
50962 hand.
50963
9304c1f8 509642004-10-19 Hollis Blanchard <hollis@penguinppc.org>
50965
50966 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
50967 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
50968 -ffreestanding and -msoft-float.
50969
86f4ae25 509702004-10-15 Hollis Blanchard <hollis@penguinppc.org>
50971
50972 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
50973 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
50974 set in grub_ieee1275_flags.
50975
38912228 509762004-10-14 Hollis Blanchard <hollis@penguinppc.org>
50977
50978 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
50979 prototype.
50980 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
50981 grub_console_init first.
50982 Change the memory range used for grub_ieee1275_claim and
50983 grub_mm_init_region.
50984 Print an error message if the claim fails.
50985 Include <grub/misc.h>.
50986
d1923dc8 509872004-10-13 Hollis Blanchard <hollis@penguinppc.org>
50988
50989 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
50990 Call grub_children_iterate for device nodes of type `scsi',
50991 `ide', or `ata'.
50992 (grub_ofdisk_open): Remove manual device alias resolution.
50993 Fix memory leak when device cannot be opened.
f19dbdb7 50994 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 50995 (grub_children_iterate): New prototype.
50996 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
50997 New function.
50998 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
50999 Return -1 if args.size was -1.
51000
4512e4f3 510012004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51002
51003 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
51004 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
51005 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
51006 Open Firmware's memory for it; claim memory from _start to _end.
51007 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
51008 (_end): New extern.
51009 (_start): Zero BSS from __bss_start to _end.
51010 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
51011 New extern.
51012 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
51013
4d61feb0 510142004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51015
ad0bd20b 51016 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
51017 -1 if args.base was -1.
4d61feb0 51018
026fa2f9 510192004-10-08 Hollis Blanchard <hollis@penguinppc.org>
51020
51021 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
51022 escape sequence instead of a literal ^L. Also call
51023 grub_ofconsole_gotoxy.
51024
9f2220ef 510252004-10-03 Hollis Blanchard <hollis@penguinppc.org>
51026
51027 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
51028 void * arguments to grub_addr_t. All callers updated. Also make
51029 the `result' argument optional.
51030 (grub_ieee1275_release): change void * arguments to grub_addr_t.
51031 All callers updated.
51032
8a572cd7 510332004-09-22 Hollis Blanchard <hollis@penguinppc.org>
51034
51035 * commands/ls.c (grub_ls_list_files): Use the string following the
51036 initial ')', if present, as the filesystem path.
51037 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
51038
51039 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
51040
18aa81f2 510412004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
51042
51043 Make the source code of the menu interface more readable.
f19dbdb7 51044
18aa81f2 51045 * normal/menu.c: Include grub/mm.h.
51046 (TERM_WIDTH): New macro.
51047 (TERM_HEIGHT): Likewise.
51048 (TERM_INFO_HEIGHT): Likewise.
51049 (TERM_MARGIN): Likewise.
51050 (TERM_SCROLL_WIDTH): Likewise.
51051 (TERM_TOP_BORDER_Y): Likewise.
51052 (TERM_LEFT_BORDER_X): Likewise.
51053 (TERM_BORDER_WIDTH): Likewise.
51054 (TERM_MESSAGE_HEIGHT): Likewise.
51055 (TERM_BORDER_HEIGHT): Likewise.
51056 (TERM_NUM_ENTRIES): Likewise.
51057 (TERM_FIRST_ENTRY_Y): Likewise.
51058 (TERM_ENTRY_WIDTH): Likewise.
51059 (TERM_CURSOR_X): Likewise.
51060 (draw_border): Use macros instead of magic numbers.
51061 (print_entry): Likewise.
51062 (print_entries): Likewise.
51063 (run_menu): Likewise. Also, handle the key 'e'.
51064 (run_menu_entry): Ignore empty command lines.
51065 (print_message): Added a new argument EDIT. If EDIT is true,
51066 print a different message.
51067 (init_page): Likewise.
51068 (edit_menu_entry): New function. Not implemented yet.
51069
b47efe30 510702004-09-17 Marco Gerards <metgerards@student.han.nl>
51071
51072 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
51073 can be loaded from normal mode.
f19dbdb7 51074
b47efe30 51075 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
51076 `multiboot.mod'.
51077 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
51078 (multiboot_mod_CFLAGS): New variables.
51079 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 51080 * loader/i386/pc/multiboot_normal.c: Likewise.
51081
b47efe30 51082 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
51083 attribute `unused'.
f19dbdb7 51084
b47efe30 51085 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
51086 `fdiro' to read the mode information from instead of `diro'.
51087
51088 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
51089 looking up a symlink.
51090
51091 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
51092 macro.
51093 * normal/command.c (grub_command_execute): Don't parse the
51094 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
51095 flags of the command.
51096
51097 * normal/menu.c (grub_menu_run): Fix typo.
51098
da75ac71 510992004-09-14 Hollis Blanchard <hollis@penguinppc.org>
51100
51101 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
51102
51103 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
51104 `y + 1' instead of `y - 1'.
51105
51106 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 51107
062b24c2 511082004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
51109
51110 From Hollis Blanchard <hollis@penguinppc.org>:
51111 * kern/misc.c (memmove): New alias for grub_memmove.
51112 (memcmp): New alias for grub_memcmp.
51113 (memset): New alias for grub_memset.
f19dbdb7 51114 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 51115 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 51116 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 51117 (grub_ieee1275_get_property): Likewise.
f19dbdb7 51118
8ddad845 511192004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
51120
51121 Added normal mode command `chainloader' as module chain.mod, which
51122 depends on normal.mod and _chain.mod.
f19dbdb7 51123
8ddad845 51124 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
51125 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
51126 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
51127 Deleted prototype.
51128 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
51129 but arguments parsing moved to ...
51130 (grub_chainloader_cmd): ... here. New function.
51131 * include/grub/i386/pc/chainloader.h: New file.
51132 * loader/i386/pc/chainloader_normal.c: Likewise.
51133
2c1f4ce3 511342004-09-11 Marco Gerards <metgerards@student.han.nl>
51135
51136 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
51137 (grub_mkimage_LDFLAGS): Likewise.
51138 (grub_emu_SOURCES): Likewise.
51139 (kernel_img_HEADERS): Added fshelp.h.
51140 * fs/ext2.c: Include <grub/fshelp.h>.
51141 (FILETYPE_REG): New macro.
51142 (FILETYPE_INO_REG): Likewise.
51143 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
51144 Changed all users.
51145 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
51146 all users.
51147 (grub_fshelp_node): New struct.
51148 (grub_ext2_data): Added member `diropen'. Changed member `inode'
51149 to a pointer.
51150 (grub_ext2_get_file_block): Removed function.
51151 (grub_ext2_read_block): New function.
51152 (grub_ext2_read_file): Replaced parameter `data' by `node'.
51153 This function was written.
51154 (grub_ext2_mount): Read the root inode. Create a diropen struct.
51155 (grub_ext2_find_file): Removed function.
51156 (grub_ext2_read_symlink): New function.
51157 (grub_ext2_iterate_dir): Likewise.
51158 (grub_ext2_open): Rewritten.
51159 (grub_ext2_dir): Rewritten.
51160 * include/grub/fshelp.h: New file.
51161 * fs/fshelp.c: Likewise.
51162
3c52136a 511632004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
51164
51165 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
51166 (print_message): Add a missing newline.
51167 (run_menu): Added timeout support.
51168 (run_menu_entry): New local function.
51169 (grub_menu_run): Added support for booting.
51170
51171 * kern/loader.c (grub_loader_is_loaded): New function.
51172
51173 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
51174 (grub_get_rtc): Exported.
51175
51176 * include/grub/i386/pc/time.h: Include grub/symbol.h.
51177 (grub_get_rtc): Exported.
51178
51179 * include/grub/normal.h (struct grub_command_list): Remove
51180 constant from the member `command'.
51181
51182 * include/grub/loader.h (grub_loader_is_loaded): Declared.
51183
51184 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
51185
51186 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
51187
aa033560 511882004-08-28 Marco Gerards <metgerards@student.han.nl>
51189
51190 Add support for the JFS filesystem.
51191
51192 * fs/jfs.c: New file.
51193 * include/grub/fs.h (grub_jfs_init): New prototype.
51194 (grub_jfs_fini): New prototype.
51195 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
51196 (grub_emu_SOURCES): Likewise.
51197 (pkgdata_MODULES): Add jfs.mod.
51198 (jfs_mod_SOURCES): New variable.
51199 (jfs_mod_CFLAGS): Likewise.
51200 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
51201 (grubof_SOURCES): Likewise.
51202 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
51203
51204 * fs/fat.c (grub_fat_find_dir): Convert the filename little
51205 endian to the host endian.
51206 (grub_fat_utf16_to_utf8): Move function from there...
51207 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 51208 the endianness of the source string anymore.
aa033560 51209 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
51210
94bc45af 512112004-08-24 Marco Gerards <metgerards@student.han.nl>
51212
51213 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
51214 (grub_boot_fini) [GRUB_UTIL]: Likewise.
51215 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
51216 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 51217
94bc45af 51218 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
51219 (grub_hfs_iterate_dir): Make the function static. Add prototypes
51220 for `node_found' and `it_dir'.
51221 (grub_hfs_dir): Add prototype for `dir_hook'.
51222
51223 * fs/minix.c (grub_minix_get_file_block): Add prototype for
51224 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
51225 and `indir32' to silence a gcc warning.
51226
51227 * include/grub/fs.h (grub_hfs_init): New prototype.
51228 (grub_hfs_fini): Likewise.
f19dbdb7 51229
51230
97543f08 512312004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
51232
51233 Each disk device has its own id now. This is useful to make use
51234 of multiple disk devices.
f19dbdb7 51235
97543f08 51236 * include/grub/disk.h (grub_disk_dev_id): New enum.
51237 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
51238 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
51239
51240 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
51241 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
51242
51243 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
51244 GRUB_DISK_DEVICE_OFDISK_ID as an id.
51245
51246 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
51247 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
51248
51249 * include/grub/disk.h (struct grub_disk_dev): Added a new member
51250 "id" which is used by the cache manager.
51251
51252 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
51253 of just "GRUB".
51254
64372eb4 512552004-08-18 Marco Gerards <metgerards@student.han.nl>
51256
51257 * fs/hfs.c: New file.
51258 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
51259 (grub_emu_SOURCES): Likewise.
51260 (pkgdata_MODULES): Add hfs.mod.
51261 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
51262 (grubof_SOURCES): Likewise.
51263 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
51264
51265 * include/grub/misc.h (grub_strncasecmp): Add prototype.
51266 * kern/misc.c (grub_strncasecmp): Add function.
51267
cc61b58f 512682004-08-14 Marco Gerards <metgerards@student.han.nl>
51269
51270 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
51271 with parentheses.
51272
51273 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
51274 (grub_ext2_dir): In case the directory entry type is unknown, read
51275 it from the inode.
51276
0ef123f6 512772004-08-02 Peter Bruin <pjbruin@dds.nl>
51278
51279 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
51280 grub_load_linux instead of grub_rescue_cmd_linux as second
51281 argument of grub_rescue_register_command.
51282
51283 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
51284
a447c5df 512852004-07-27 Marco Gerards <metgerards@student.han.nl>
51286
51287 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
51288 function.
51289 * commands/boot.c: Remove the check for `GRUB_UTIL'.
51290 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
51291 `loader/powerpc/ieee1275/linux.c',
51292 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
51293 * include/grub/powerpc/ieee1275/ieee1275.h
51294 (grub_ieee1275_release): New prototype.
51295 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
51296 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
51297 normal, boot, linux and linux_normal.
51298 * loader/powerpc/ieee1275/linux.c: New file.
51299 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
51300
5a9e3546 513012004-07-12 Marco Gerards <metgerards@student.han.nl>
51302
51303 * normal/arg.c (grub_arg_parse): Correct error handling after
51304 reallocating the argumentlist (check if `argl' is not null instead
51305 of checking if `args' is not null).
51306 * kern/mm.c (grub_realloc): Return the same pointer when using the
51307 same region, instead of returning the header address.
51308
e15199cb 513092004-07-11 Marco Gerards <metgerards@student.han.nl>
51310
51311 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
51312 one block instead of two when looking for the initial partition.
51313 (grub_partition_probe): Initialize the local variable `p' with 0.
51314 Use base 10 for the grub_strtoul call.
51315 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
51316 need for one local variable.
51317 (grub_strtoul): Don't add the new value to `num', instead of that
51318 just assign it.
51319
020616c2 513202004-07-11 Marco Gerards <metgerards@student.han.nl>
51321
51322 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
51323 (pxeboot_img_SOURCES): New variable.
51324 (pxeboot_img_ASFLAGS): Likewise.
51325 (pxeboot_img_LDFLAGS): Likewise.
51326 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
51327 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
51328 <lode_leroy@hotmail.com>.
51329
6c51eb64 513302004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
51331
51332 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
51333 there was no input.
51334
cfb12aff 513352004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
51336
51337 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
51338 the history buffer logic.
51339
6eabba74 513402004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
51341
51342 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
51343 (FILETYPE_INO_SYMLINK): New macros.
51344 (grub_ext2_find_file): Check if the node is a directory using the
51345 inode stat information instead of using the filetype in the
51346 dirent. Exclude the first character of an absolute symlink.
51347 (grub_ext2_dir): Mask out the filetype part of the mode member of
51348 the inode.
51349
66e19ef8 513502004-05-24 Marco Gerards <metgerards@student.han.nl>
51351
51352 Add support for UFS version 1 and 2. Add support for the minix
51353 filesystem version 1 and 2, both the variants with 14 and 30 long
51354 filenames.
f19dbdb7 51355
66e19ef8 51356 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
51357 fs/minix.c.
51358 (grub_emu_SOURCES): Likewise.
51359 (pkgdata_MODULES): Add ufs.mod and minix.mod.
51360 (ufs_mod_SOURCES): New variable.
51361 (ufs_mod_CFLAGS): Likewise.
51362 (minix_mod_SOURCES): Likewise.
51363 (minix_mod_CFLAGS): Likewise.
51364 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
51365 fs/minix.c.
51366 (grubof_SOURCES): Likewise.
51367 * fs/ufs.c: New file.
51368 * fs/minix.c: New file.
51369 * include/grub/fs.h (grub_ufs_init): New prototype.
51370 (grub_ufs_fini): Likewise.
51371 (grub_minix_init): Likewise.
51372 (grub_minix_fini): Likewise.
51373 * util/grub-emu.c (main): Initialize and deinitialize UFS and
51374 minix fs.
51375
cc2e748a 513762004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
51377
51378 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
51379 commands/ls.c, commands/terminal.c, commands/boot.c,
51380 commands/cmp.c and commands/cat.c.
51381 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
51382
51383 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
51384 "env.h"
51385
4b13b216 513862004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
51387
51388 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
51389 and grub_, respectively. Because the conversion is trivial and
51390 mechanical, I omit the details here. Please refer to the CVS
51391 if you need more information.
51392
6a142551 513932004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
51394
51395 * include/pupa: Renamed to ...
51396 * include/grub: ... this.
51397 * util/i386/pc/pupa-mkimage.c: Renamed to ...
51398 * util/i386/pc/grub-mkimage.c: ... this.
51399 * util/i386/pc/pupa-setup.c: Renamed to ...
51400 * util/i386/pc/grub-setup.c: ... this.
51401 * util/pupa-emu.c: Renamed to ...
51402 * util/grub-emu.c: ... this.
51403
e56cdf21 514042004-03-29 Marco Gerards <metgerards@student.han.nl>
51405
51406 Add support for the newworld apple macintosh (PPC). This has been
51407 tested on the powerbook 2000 only. It only adds support for
51408 generic ieee1275 functions, console and disk support. This should
51409 be easy to port to other architectures with support for Open
51410 Firmware.
f19dbdb7 51411
e56cdf21 51412 * configure.ac: Accept the powerpc as host_cpu. In the case of
51413 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
51414 specific tests are only executed while building for the i386.
51415 Inverse test for crosscompile.
51416 * genmk.rb (Utility): Allow assembler files.
51417 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
51418 * conf/powerpc-ieee1275.rmk: New file.
51419 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
51420 * disk/powerpc/ieee1275/partition.c: Likewise.
51421 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
51422 * include/pupa/powerpc/ieee1275/console.h: Likewise.
51423 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
51424 * include/pupa/powerpc/ieee1275/time.h: Likewise.
51425 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
51426 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
51427 * include/pupa/powerpc/ieee1275/loader.h
51428 * include/pupa/powerpc/setjmp.h: Likewise.
51429 * include/pupa/powerpc/types.h: Likewise.
51430 * kern/powerpc/ieee1275/init.c: Likewise.
51431 * kern/powerpc/ieee1275/openfw.c: Likewise.
51432 * term/powerpc/ieee1275/ofconsole.c: Likewise.
51433
51434 These files were written by Johan Rydberg
51435 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 51436
e56cdf21 51437 * boot/powerpc/ieee1275/cmain.c: New file.
51438 * boot/powerpc/ieee1275/crt0.S: Likewise.
51439 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
51440 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
51441
8c8cc205 514422004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
51443
51444 * Makefile.in: Update copyright.
51445 * genmodsrc.sh: Likewise.
51446 * gensymlist.sh: Likewise.
51447 * term/i386/pc/vga.c: Indent correctly.
51448
51449 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
51450 bugreporting address.
51451 * util/i386/pc/pupa-setup.c (usage): Likewise,
51452 (main): Call pupa_ext2_init and pupa_ext2_fini.
51453
f19dbdb7 51454 * fs/fat.c (log2): Renamed to ...
8c8cc205 51455 (fat_log2): ... this.
51456 All callers changed.
51457 * kern/misc.c (memcpy): Alias to pupa_memmove.
51458 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
51459 lvalue cast.
51460 * util/console.c (pupa_ncurses_fini): Return 0.
51461
51462 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
51463 Move fail label here.
51464 [__GNU__]: Don't warn when using stat.
51465 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
51466 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
51467 long int. Use strtol instead of strtoul.
f19dbdb7 51468
db1771cf 514692004-03-14 Marco Gerards <metgerards@student.han.nl>
51470
51471 * commands/boot.c: New file.
51472 * commands/cat.c: Likewise.
51473 * commands/cmp.c: Likewise.
51474 * commands/ls.c: Likewise.
51475 * commands/terminal.c: Likewise.
51476 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
51477 (pupa_register_command): Changed interface to match the new
51478 argument parser.
51479 (pupa_command_execute): Changed (almost rewritten) so it uses
51480 pupa_split_command. Added support for setting variables using the
51481 syntax `foo=bar'.
51482 (rescue_command): Changed to work with the new argument parser.
51483 (terminal_command): Moved from here to commands/terminal.c.
51484 (set_command): New function.
51485 (unset_command): New function.
51486 (insmod_command): New function.
51487 (rmmod_command): New function.
51488 (lsmod_command): New function.
51489 (pupa_command_init): Don't initialize the command terminal
51490 anymore. Initialize the commands set, unset, insmod, rmmod and
51491 lsmod.
51492 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
51493 (kernel_img_HEADERS): Add arg.h and env.h.
51494 (pupa_mkimage_LDFLAGS): Add kern/env.c.
51495 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
51496 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
51497 normal/arg.c.
51498 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
51499 terminal.mod.
51500 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
51501 (boot_mod_SOURCES): New variable.
51502 (terminal_mod_SOURCES): Likewise.
51503 (ls_mod_SOURCES): Likewise.
51504 (cmp_mod_SOURCES): Likewise.
51505 (cat_mod_SOURCES): Likewise.
51506
51507 * normal/arg.c: New file.
51508 * kern/env.c: Likewise.
51509 * include/pupa/arg.h: Likewise.
51510 * include/pupa/env.h: Likewise.
51511 * font/manager.c (font_command): Changed to match argument parsing
51512 interface changes.
51513 (PUPA_MOD_INIT): Likewise.
51514 * hello/hello.c (pupa_cmd_hello): Likewise.
51515 (PUPA_MOD_INIT): Likewise.
51516 * include/pupa/disk.h: Include <pupa/device.h>.
51517 (pupa_print_partinfo): New prototype.
51518 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
51519 (pupa_dl_get_prefix): Likewise.
51520 * include/pupa/misc.h: Include <pupa/err.h>.
51521 (pupa_isgraph): New prototype.
51522 (pupa_isdigit): Likewise.
51523 (pupa_split_cmdline): Likewise.
51524 * include/pupa/normal.h: Include <pupa/arg.h>.
51525 (pupa_command): Changed the prototype of the member `func' to
51526 match the argument parsing interface. Added member `options'.
51527 (pupa_register_command): Updated to match function.
51528 (pupa_arg_parse): New prototype.
51529 (pupa_hello_init) [PUPA_UTIL]: New prototype.
51530 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
51531 (pupa_ls_init) [PUPA_UTIL]: Likewise.
51532 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
51533 (pupa_cat_init) [PUPA_UTIL]: Likewise.
51534 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
51535 (pupa_boot_init) [PUPA_UTIL]: Likewise.
51536 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
51537 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
51538 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
51539 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
51540 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
51541 * kern/disk.c: Include <pupa/file.h>.
51542 (pupa_print_partinfo): New function.
51543 * kern/dl.c: Include <pupa/env.h>.
51544 (pupa_dl_dir): Variable removed.
51545 (pupa_dl_load): Use the environment variable `prefix' instead of
51546 the variable pupa_dl_dir.
51547 (pupa_dl_set_prefix): Function removed.
51548 (pupa_dl_get_prefix): Likewise.
51549 * kern/i386/pc/init.c: Include <pupa/env.h>.
51550 (pupa_machine_init): Use the environment variable `prefix' instead of
51551 using pupa_dl_set_prefix to set the prefix.
51552 * kern/main.c: Include <pupa/env.h>.
51553 (pupa_set_root_dev): Use the environment variable `prefix' instead of
51554 using pupa_dl_get_prefix to get the prefix.
51555 * kern/misc.c: Include <pupa/env.h>.
51556 (pupa_isdigit): New function.
51557 (pupa_isgraph): Likewise.
51558 (pupa_ftoa): Likewise.
51559 (pupa_vsprintf): Added support for printing values of the type
51560 `double'. Make it possible to format variable output when using
51561 formatting like `%1.2%f'.
51562 (pupa_split_cmdline): New function.
51563 * kern/rescue.c: Include <pupa/env.h>.
51564 (next_word): Removed function.
51565 (pupa_rescue_cmd_prefix): Likewise.
51566 (pupa_rescue_cmd_set): New function.
51567 (pupa_rescue_cmd_unset): New function.
51568 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
51569 split the command line instead of splitting it here. Added
51570 support for setting variables using the syntax `foo=bar'. Don't
51571 initialize the prefix command anymore. Initialized the set and
51572 unset commands.
51573 * normal/cmdline.c: Include <pupa/env.h>.
51574 (pupa_tab_complete): Added prototypes for print_simple_completion,
51575 print_partition_completion, add_completion, iterate_commands,
51576 iterate_dev, iterate_part and iterate_dir. Moved code to print
51577 partition information from here to kern/disk.c.
fe6b695a 51578 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 51579 * normal/main.c: Include <pupa/env.h>.
51580 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
51581 instead of using pupa_dl_get_prefix to get the prefix.
51582 * term/i386/pc/vga.c: Include <pupa/arg.h>.
51583 (check_vga_mem): Cast pointers to `void *' to silence a gcc
51584 warning.
51585 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
51586 (pupa_vga_setcolor): Declare unused variables with `__attribute__
51587 ((unused))' to silence a gcc warning.
51588 (pupa_vga_setcolor): Likewise.
51589 (debug_command): Changed to match argument parsing
51590 interface changes.
51591 * util/pupa-emu.c: Include <pupa/env.h>.
51592 (options): Added 0's for unused fields to silence a gcc warning.
51593 (argp): Likewise.
51594 (main): Use the environment variable `prefix' instead of using
51595 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
51596 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
51597 and terminal.
51598
51599 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
51600 * util/misc.c: Include <malloc.h>.
51601 (pupa_malloc): Rewritten so errors are correctly reported.
51602 (pupa_realloc): Likewise.
51603 (pupa_memalign): Likewise.
51604 (pupa_mm_init_region): Declare unused variables with
51605 `__attribute__ ((unused))' to silence a gcc warning.
51606 * normal/i386/setjmp.S: Remove tab at the end of the file to
51607 silence a gcc warning.
51608 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
51609 variables with `__attribute__ ((unused))' to silence a gcc
51610 warning.
51611 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
51612 local variable i unsigned to silence a gcc warning.
51613
51614 * kern/term.c: Include <pupa/misc.h>.
51615 (pupa_more_lines): New variable.
51616 (pupa_more): Likewise.
51617 (pupa_putcode): When the pager is active pause at the end of every
51618 screen.
51619 (pupa_set_more): New function.
51620 * include/pupa/term.h (pupa_set_more): New prototype.
51621
51622
3b1139cb 516232004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
51624
51625 Now this project is GRUB 2 rather than PUPA. The location of
51626 the CVS repository was moved to GRUB's.
f19dbdb7 51627
3b1139cb 51628 * configure.ac: Use bug-grub as the reporting address.
51629 Use GRUB instead of PUPA.
51630 Change the version number to 1.90.
51631
8367695c 516322004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
51633
51634 * genkernsyms.sh: Updated copyright information.
51635 * genmk.rb: Likewise.
51636 * genmodsrc.sh: Likewise.
51637 * gensymlist.sh: Likewise.
51638 * boot/i386/pc/boot.S: Likewise.
51639 * boot/i386/pc/diskboot.S: Likewise.
51640 * disk/i386/pc/biosdisk.c: Likewise.
51641 * disk/i386/pc/partition.c: Likewise.
51642 * font/manager.c: Likewise.
51643 * fs/ext2.c: Likewise.
51644 * fs/fat.c: Likewise.
51645 * include/pupa/boot.h: Likewise.
51646 * include/pupa/device.h: Likewise.
51647 * include/pupa/disk.h: Likewise.
51648 * include/pupa/dl.h: Likewise.
51649 * include/pupa/elf.h: Likewise.
51650 * include/pupa/err.h: Likewise.
51651 * include/pupa/file.h: Likewise.
51652 * include/pupa/font.h: Likewise.
51653 * include/pupa/fs.h: Likewise.
51654 * include/pupa/kernel.h: Likewise.
51655 * include/pupa/loader.h: Likewise.
51656 * include/pupa/misc.h: Likewise.
51657 * include/pupa/mm.h: Likewise.
51658 * include/pupa/net.h: Likewise.
51659 * include/pupa/normal.h: Likewise.
51660 * include/pupa/rescue.h: Likewise.
51661 * include/pupa/setjmp.h: Likewise.
51662 * include/pupa/symbol.h: Likewise.
51663 * include/pupa/term.h: Likewise.
51664 * include/pupa/types.h: Likewise.
51665 * include/pupa/i386/setjmp.h: Likewise.
51666 * include/pupa/i386/types.h: Likewise.
51667 * include/pupa/i386/pc/biosdisk.h: Likewise.
51668 * include/pupa/i386/pc/boot.h: Likewise.
51669 * include/pupa/i386/pc/console.h: Likewise.
51670 * include/pupa/i386/pc/init.h: Likewise.
51671 * include/pupa/i386/pc/kernel.h: Likewise.
51672 * include/pupa/i386/pc/linux.h: Likewise.
51673 * include/pupa/i386/pc/loader.h: Likewise.
51674 * include/pupa/i386/pc/memory.h: Likewise.
51675 * include/pupa/i386/pc/multiboot.h: Likewise.
51676 * include/pupa/i386/pc/partition.h: Likewise.
51677 * include/pupa/i386/pc/time.h: Likewise.
51678 * include/pupa/i386/pc/vga.h: Likewise.
51679 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
51680 * include/pupa/util/getroot.h: Likewise.
51681 * include/pupa/util/misc.h: Likewise.
51682 * include/pupa/util/resolve.h: Likewise.
51683 * kern/device.c: Likewise.
51684 * kern/disk.c: Likewise.
51685 * kern/dl.c: Likewise.
51686 * kern/err.c: Likewise.
51687 * kern/file.c: Likewise.
51688 * kern/fs.c: Likewise.
51689 * kern/loader.c: Likewise.
51690 * kern/main.c: Likewise.
51691 * kern/misc.c: Likewise.
51692 * kern/mm.c: Likewise.
51693 * kern/rescue.c: Likewise.
51694 * kern/term.c: Likewise.
51695 * kern/i386/dl.c: Likewise.
51696 * kern/i386/pc/init.c: Likewise.
51697 * kern/i386/pc/lzo1x.S: Likewise.
51698 * kern/i386/pc/startup.S: Likewise.
51699 * loader/i386/pc/chainloader.c: Likewise.
51700 * loader/i386/pc/linux.c: Likewise.
51701 * loader/i386/pc/multiboot.c: Likewise.
51702 * normal/cmdline.c: Likewise.
51703 * normal/command.c: Likewise.
51704 * normal/main.c: Likewise.
51705 * normal/menu.c: Likewise.
51706 * normal/i386/setjmp.S: Likewise.
51707 * term/i386/pc/console.c: Likewise.
51708 * term/i386/pc/vga.c: Likewise.
51709 * util/console.c: Likewise.
51710 * util/genmoddep.c: Likewise.
51711 * util/misc.c: Likewise.
51712 * util/pupa-emu.c: Likewise.
51713 * util/resolve.c: Likewise.
51714 * util/unifont2pff.rb: Likewise.
51715 * util/i386/pc/biosdisk.c: Likewise.
51716 * util/i386/pc/getroot.c: Likewise.
51717 * util/i386/pc/pupa-mkimage.c: Likewise.
51718 * util/i386/pc/pupa-setup.c: Likewise.
51719
e6eced71 517202004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
51721
51722 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
51723 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
51724 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
51725 reading and reset it after reading.
51726 (pupa_ext2_close): Return PUPA_ERR_NONE.
51727
51728 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
51729 Correct value.
51730 (struct linux_kernel_header): Add kernel_version and
51731 initrd_addr_max.
51732 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
51733 pupa_file_read succeeds.
51734 (pupa_rescue_cmd_initrd): Implement.
51735
5aded270 517362003-12-03 Marco Gerards <metgerards@student.han.nl>
51737
51738 * fs/ext2.c (pupa_ext2_label): New function.
51739 (pupa_ext2_fs): Added label.
51740 * fs/fat.c (pupa_fat_label): New function.
51741 (pupa_fat_fs): Added label.
51742 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
51743
51744 * kern/misc.c (pupa_strndup): New function.
51745 * include/pupa/misc.h (pupa_strndup): New prototype.
51746
51747 * include/pupa/normal.h: Include <pupa/err.h>.
51748 (pupa_set_history): New prototype.
51749 (pupa_iterate_commands): New prototype.
51750 * normal/cmdline.c: Include <pupa/machine/partition.h>,
51751 <pupa/disk.h>, <pupa/file.h>.
51752 (hist_size): New variable.
51753 (hist_lines): Likewise.
51754 (hist_end): Likewise.
51755 (hist_used): Likewise.
51756 (pupa_set_history): New function.
51757 (pupa_history_get): Likewise.
51758 (pupa_history_add): Likewise.
51759 (pupa_history_replace): Likewise.
51760 (pupa_tab_complete): Likewise.
51761 (pupa_cmdline_run): Added tab completion and history buffer. Tab
51762 completion shows partitionnames while completing partitions, this
51763 feature was suggested by Jeff Bailey.
51764 * normal/command.c (pupa_iterate_commands): New function.
51765 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
51766 (pupa_normal_init): Initialize history buffer.
51767 (PUPA_MOD_INIT): Likewise.
51768 (pupa_normal_fini): Free the history buffer.
51769 (PUPA_MOD_FINI): Likewise.
51770
51771 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
51772 key.
51773
51774 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
51775 * configure.ac [i386]: Check for regparam bug.
51776 (NESTED_FUNC_ATTR) [! i386]: Defined.
51777
1f7315a3 517782003-11-17 Marco Gerards <metgerards@student.han.nl>
51779
51780 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
51781 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
51782 (pupa_emu_SOURCES): New variable.
51783 (pupa_emu_LDFLAGS): Likewise.
51784 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
51785 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
51786 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
51787 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
51788 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
51789 (pupa_jmp_buf): New typedef.
51790 (pupa_setjmp) [PUPA_UTIL]: New macro.
51791 (pupa_longjmp) [PUPA_UTIL]: Likewise.
51792 * include/pupa/term.h (struct pupa_term): New member `refresh'.
51793 (pupa_refresh): New prototype.
51794 * include/pupa/util/getroot.h: New file.
51795 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
51796 it.
51797 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
51798 (pupa_rescue_cmd_cat): Likewise.
51799 (pupa_rescue_cmd_ls): Likewise.
51800 (pupa_rescue_cmd_testload): Likewise.
51801 (pupa_rescue_cmd_lsmod): Likewise.
51802 * normal/cmdline.c (pupa_cmdline_get): Likewise.
51803 * normal/menu.c (run_menu): Likewise.
51804 * kern/term.c (pupa_cls): Likewise.
51805 (pupa_refresh): New function.
51806 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
51807 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
51808 * util/console.c: New file.
f19dbdb7 51809
1f7315a3 51810 * util/i386/pc/getroot.c: New file.
51811 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
51812 (pupa_putchar): New function.
51813 (pupa_refresh): Likewise.
51814 (xgetcwd): Function moved to ...
51815 (strip_extra_slashes): Likewise.
51816 (get_prefix): Likewise.
f19dbdb7 51817 * util/i386/pc/getroot.c: ... here.
1f7315a3 51818 (find_root_device): Function moved and renamed to...
51819 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
51820 Changed all callers.
51821 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
51822 and renamed to...
51823 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
51824 Changed all callers.
51825 * util/misc.c (pupa_memalign): New function.
51826 (pupa_mm_init_region): Likewise.
51827 (pupa_register_exported_symbols): Likewise.
51828 (pupa_putchar): Function removed.
51829 * util/pupa-emu.c: New file.
51830
9a5c1ade 518312003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
51832
51833 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
51834 (_multiboot_mod_SOURCES): New variable.
51835 (_multiboot_mod_CFLAGS): Likewise.
51836 * loader/i386/pc/multiboot.c: New file.
51837 * include/pupa/i386/pc/multiboot.h: Likewise.
51838 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
51839 (pupa_multiboot_real_boot): New function.
51840 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
51841 (pupa_multiboot_real_boot): New prototype.
51842 (pupa_rescue_cmd_multiboot): Likewise
51843 (pupa_rescue_cmd_module): Likewise.
51844
51845 * kern/loader.c (pupa_loader_set): Continue when
51846 pupa_loader_unload_func() fails.
51847 (pupa_loader_unset): New function.
51848 * include/pupa/loader.h (pupa_loader_unset): New prototype.
51849
51850 * kern/misc.c (pupa_stpcpy): New function.
51851 * include/pupa/misc.h (pupa_stpcpy): New prototype.
51852
8e72a9c0 518532003-11-12 Marco Gerards <metgerards@student.han.nl>
51854
51855 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
51856 for available extensions.
51857
51858 * include/pupa/i386/pc/time.h: New file.
51859 * kern/disk.c: Include <pupa/machine/time.h>.
51860 (PUPA_CACHE_TIMEOUT): New macro.
51861 (pupa_last_time): New variable.
51862 (pupa_disk_open): Flush the cache when there was a timeout.
51863 (pupa_disk_close): Reset the timer.
51864 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
51865 pupa_currticks.
51866 * util/misc.c: Include <sys/times.h>
51867 (pupa_get_rtc): New function.
51868
c4adbd32 518692003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
51870
51871 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
51872 as blocks.
51873 (pupa_ext2_get_file_block): Use blocks member.
51874
51875 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
51876 first block. Return -1 instead of pupa_errno on error.
51877
bfd30f06 518782003-10-27 Marco Gerards <metgerards@student.han.nl>
51879
51880 * README: In the pupa-mkimage example use _chain instead of chain
51881 and ext2 instead of fat.
51882 * TODO: Replace ext2fs with jfs as an example. Add an item for
51883 adding journal playback for ext2fs.
51884 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
51885 (pkgdata_MODULES): Added ext2.mod.
51886 (ext2_mod_SOURCES): New variable.
51887 (ext2_mod_CFLAGS): Likewise.
51888 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
51889 * include/pupa/misc.h (pupa_strncpy): New prototype.
51890 (pupa_strcat): Likewise.
51891 (pupa_strncmp): Likewise.
51892 * kern/misc.c (pupa_strcat): Enable function.
51893 (pupa_strncpy): New function.
51894 (pupa_strncmp): Likewise.
51895 * fs/ext2.c: New file.
f19dbdb7 51896
bfd30f06 51897 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
51898 when the read failed before retrying.
51899 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
51900 (_FILE_OFFSET_BITS): Likewise.
51901 * configure.ac: Added AC_SYS_LARGEFILE.
51902
98d15063 519032003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
51904
51905 * genmk.rb (PModule#rule): Make sure to get only symbol names
51906 from the output of nm.
59cad637 51907 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 51908
18d9c7cd 519092003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
51910
51911 I forgot to check in these changes for a long time. This adds
51912 incomplete support for VGA console, and this is still very
51913 buggy. Also, a lot of consideration is required for I18N,
51914 UNICODE, and VGA font issues. Therefore, assume that this is
51915 such that "better than nothing".
f19dbdb7 51916
18d9c7cd 51917 * font/manager.c: New file.
51918 * include/pupa/font.h: Likewise.
51919 * include/pupa/i386/pc/vga.h: Likewise.
51920 * term/i386/pc/vga.c: Likewise.
51921 * util/unifont2pff.rb: Likewise.
51922
51923 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
51924 (pkgdata_MODULES): Added vga.mod and font.mod.
51925 (vga_mod_SOURCES): New variables.
51926 (vga_mod_CFLAGS): Likewise.
51927 (font_mod_SOURCES): Likewise.
51928 (font_mod_CFLAGS): Likewise.
51929
51930 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
51931
51932 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 51933 (struct pupa_term): Added init and fini.
18d9c7cd 51934 Changed the argument of putchar to pupa_uint32_t.
51935
51936 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
51937 (pupa_console_real_putchar): New prototype.
51938 (pupa_console_putchar): Removed.
51939 (pupa_console_checkkey): Exported.
51940 (pupa_console_getkey): Likewise.
51941
51942 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
51943 characters.
51944
51945 * kern/term.c (pupa_term_set_current): Rewritten.
51946 (pupa_putchar): Likewise.
51947 (pupa_putcode): New function.
51948
51949 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
51950 (pupa_console_real_putchar): ... this.
51951 (pupa_vga_set_mode): New function.
51952 (pupa_vga_get_font): Likewise.
51953
51954 * normal/command.c: Include pupa/term.h.
51955 (terminal_command): New function.
51956 (pupa_command_init): Register the command "terminal".
51957
51958 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
51959 (DISP_UP): Likewise.
51960 (DISP_RIGHT): Likewise.
51961 (DISP_DOWN): Likewise.
51962 (DISP_HLINE): Likewise.
51963 (DISP_VLINE): Likewise.
51964 (DISP_UL): Likewise.
51965 (DISP_UR): Likewise.
51966 (DISP_LL): Likewise.
51967 (DISP_LR): Likewise.
51968
51969 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 51970
977329f5 519712003-02-08 NIIBE Yutaka <gniibe@m17n.org>
51972
51973 * util/resolve.c (pupa_util_resolve_dependencies): BUG
51974 FIX. Reverse the path_list.
51975
51976 * include/pupa/normal.h: Export pupa_register_command and
51977 pupa_unregister_command.
51978
51979 * hello/hello.c (pupa_cmd_hello): New module.
51980 * conf/i386-pc.rmk: Added hello.mod.
51981
1f5ab428 519822003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
51983
51984 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 51985
1f5ab428 51986 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
51987 (compress_kernel): New variable.
51988 (generate_image): Heavily modified to support compressing a
51989 large part of the core image.
51990
51991 * util/misc.c (pupa_util_read_image): Fix a file descriptor
51992 leak.
51993 (pupa_util_load_image): New function.
51994
51995 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
51996 (pupa_compressed_size): New variable.
51997 (codestart): Enable Gate A20 here.
51998 Decompress the compressed part of the core image.
51999 Rearrange the code to put functions and variables which are
52000 required for initialization in the non-compressed part.
52001 Include lzo1x.S.
52002
52003 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
52004 here.
52005
52006 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
52007
f19dbdb7 52008 * include/pupa/i386/pc/kernel.h
1f5ab428 52009 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
52010 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
52011 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
52012 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
52013 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
52014
52015 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
52016
52017 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
52018 (Utility#rule): Likewise.
52019
52020 * configure.ac: Check if LZO is available.
52021
ce5bf700 520222003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
52023
52024 * include/pupa/normal.h: New file.
52025 * include/pupa/setjmp.h: Likewise.
52026 * include/pupa/i386/setjmp.h: Likewise.
52027 * normal/cmdline.c: Likewise.
52028 * normal/command.c: Likewise.
52029 * normal/main.c: Likewise.
52030 * normal/menu.c: Likewise.
52031 * normal/i386/setjmp.S: Likewise.
f19dbdb7 52032
ce5bf700 52033 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
52034 (pupa_rescue_cmd_initrd): Likewise.
52035
52036 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
52037 Likewise.
52038
52039 * kern/i386/pc/startup.S (translation_table): New variable.
52040 (translate_keycode): New function.
52041 (pupa_console_getkey): Call translate_keycode.
52042
52043 * kern/rescue.c (attempt_normal_mode): New function.
52044 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
52045 it failed, print a message.
52046
52047 * kern/mm.c (pupa_real_malloc): Print more information when a
52048 free magic is broken.
52049 (pupa_free): If the first free header is not free actually, set
52050 it to P.
52051
52052 * kern/main.c (pupa_load_normal_mode): Just load the module
52053 "normal".
52054 (pupa_main): Don't print the message
52055 "Entering into rescue mode..." here.
52056
52057 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
52058 Declared.
52059 (pupa_rescue_cmd_initrd): Likewise.
52060 (pupa_rescue_cmd_initrd): Likewise.
52061
52062 * include/pupa/symbol.h (FUNCTION): Specify the type.
52063 (VARIABLE): Likewise.
52064
52065 * include/pupa/err.h (pupa_err_t): Added
52066 PUPA_ERR_UNKNOWN_COMMAND.
52067
52068 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
52069 (pupa_dl_get_prefix): Likewise.
52070
52071 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
52072 Added _chain.mod and _linux.mod instead of chain.mod and
52073 linux.mod.
52074 (chain_mod_SOURCES): Renamed to ...
52075 (_chain_mod_SOURCES): ... this.
52076 (chain_mod_CFLAGS): Renamed to ...
52077 (_chain_mod_CFLAGS): ... this.
52078 (linux_mod_SOURCES): Renamed to ...
52079 (_linux_mod_SOURCES): ... this.
52080 (linux_mod_CFLAGS): Renamed to ...
52081 (_linux_mod_CFLAGS): ... this.
52082 (normal_mod_SOURCES): New variable.
52083 (normal_mod_CFLAGS): Likewise.
52084 (normal_mod_ASFLAGS): Likewise.
52085
520862003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
52087
52088 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
52089 possible.
52090
fe6b695a 52091 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 52092 recursively.
52093 (pupa_dl_unref): Unrefer depending modules recursively.
52094 Don't call pupa_dl_unload implicitly, because PUPA can crash if
52095 a module is unloaded before one depending on that module is
52096 unloaded.
52097 (pupa_dl_unload): Unload depending modules explicitly,
52098 if possible.
52099
c04da074 521002003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
52101
52102 * include/pupa/i386/pc/linux.h: New file.
52103 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 52104
c04da074 52105 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
52106 Removed.
52107 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
52108 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
52109 of PUPA_CHAINLOADER_BOOT_SECTOR.
52110
52111 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
52112 (pupa_linux_prot_size): New variable.
52113 (pupa_linux_tmp_addr): Likewise.
52114 (pupa_linux_real_addr): Likewise.
52115 (pupa_linux_boot_zimage): New function.
52116 (pupa_linux_boot_bzimage): Likewise.
52117
52118 * kern/i386/pc/init.c (struct mem_region): New structure.
52119 (MAX_REGIONS): New macro.
52120 (mem_regions): New variable.
52121 (num_regions): Likewise.
52122 (pupa_os_area_addr): Likewise.
52123 (pupa_os_area_size): Likewise.
52124 (pupa_lower_mem): Likewise.
52125 (pupa_upper_mem): Likewise.
52126 (add_mem_region): New function.
52127 (compact_mem_regions): Likewise.
52128 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
52129 the size of the conventional memory and that of so-called upper
52130 memory (before the first memory hole).
52131 Instead of adding each found region to free memory, use
52132 add_mem_region and add them after removing overlaps.
52133 Also, add only 1/4 of the upper memory to free memory. The rest
52134 is used for loading OS images. Maybe this is ad hoc, but this
52135 makes it much easier to relocate OS images when booting.
52136
52137 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
52138 (pupa_enter_rescue_mode): Don't register initrd and module.
52139
52140 * kern/mm.c: Include pupa/dl.h.
52141
52142 * kern/main.c: Include pupa/file.h and pupa/device.h.
52143
52144 * kern/loader.c (pupa_loader_load_module_func): Removed.
52145 (pupa_loader_load_module): Likewise.
52146
52147 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
52148 ``.o''.
52149
52150 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
52151 (pupa_linux_tmp_addr): Likewise.
52152 (pupa_linux_real_addr): Likewise.
52153 (pupa_linux_boot_zimage): Likewise.
52154 (pupa_linux_boot_bzimage): Likewise.
52155
52156 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
52157 (pupa_upper_mem): Likewise.
52158 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
52159 module is too dangerous.
52160
52161 * include/pupa/loader.h (pupa_os_area_addr): Declared.
52162 (pupa_os_area_size): Likewise.
52163 (pupa_loader_set): Remove the first argument. Loader doesn't
52164 manage modules or initrd any longer.
52165 (pupa_loader_load_module): Removed.
52166
52167 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
52168 (linux_mod_SOURCES): New variable.
52169 (linux_mod_CFLAGS): Likewise.
52170
a13f9237 521712003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
52172
52173 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
52174 the length of a blocklist correctly.
52175
52176 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
52177 Use ioctl only if the OS file is a block device.
52178 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
52179 not very useful for normal files.
52180
52181 * kern/main.c (pupa_set_root_dev): New function.
52182 (pupa_load_normal_mode): Likewise.
52183 (pupa_main): Call those above.
52184
52185 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
52186 pupa_uint16_t.
52187
52188 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
52189
a5ffe966 521902003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
52191
52192 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
52193 (setup): Configure the installed partition information and the
52194 dl prefix.
52195
52196 * loader/i386/pc/chainloader.c (my_mod): New variable.
52197 (pupa_chainloader_unload): New function.
52198 (pupa_rescue_cmd_chainloader): Refer itself.
52199 (PUPA_MOD_INIT): Save its own module in MY_MOD.
52200
52201 * kern/i386/pc/startup.S (install_partition): Removed.
52202 (version_string): Likewise.
52203 (config_file): Likewise.
52204 (pupa_install_dos_part): New variable.
52205 (pupa_install_bsd_part): Likewise.
52206 (pupa_prefix): Likewise.
52207 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
52208
52209 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
52210 and pupa/misc.h.
52211 (make_install_device): New function.
52212 (pupa_machine_init): Set the dl prefix.
52213
52214 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
52215 (buf): Renamed to ...
52216 (linebuf): ... this.
52217 (pupa_rescue_cmd_prefix): New function.
52218 (pupa_rescue_cmd_insmod): Likewise.
52219 (pupa_rescue_cmd_rmmod): Likewise.
52220 (pupa_rescue_cmd_lsmod): Likewise.
52221 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
52222 rmmod and lsmod.
52223
52224 * kern/mm.c (pupa_memalign): If failed even after invalidating
52225 disk caches, unload unneeded modules and retry.
52226
52227 * kern/misc.c (pupa_memmove): New function.
52228 (pupa_memcpy): Removed.
52229 (pupa_strcpy): New function.
52230 (pupa_itoa): Made static.
52231
52232 * kern/dl.c (pupa_dl_iterate): New function.
52233 (pupa_dl_ref): Likewise.
52234 (pupa_dl_unref): Likewise.
52235 (pupa_dl_unload): Return if succeeded or not.
52236 (pupa_dl_unload_unneeded): New function.
52237 (pupa_dl_unload_all): Likewise.
52238 (pupa_dl_init): Renamed to ...
52239 (pupa_dl_set_prefix): ... this.
52240 (pupa_dl_get_prefix): New function.
52241
52242 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
52243 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
52244 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
52245 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
52246 (pupa_install_dos_part): Declared.
52247 (pupa_install_bsd_part): Likewise.
52248 (pupa_prefix): Likewise.
52249 (pupa_boot_drive): Likewise.
52250
52251 * include/pupa/types.h: Fix a typo.
52252
52253 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
52254 pupa_memmove.
52255 (pupa_memmove): Declared.
52256 (pupa_strcpy): Likewise.
52257
52258 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
52259 pupa_mod_init takes one argument, its own module.
52260 (pupa_dl_unload_unneeded): Declared.
52261 (pupa_dl_unload_all): Likewise.
52262 (pupa_dl_ref): Likewise.
52263 (pupa_dl_unref): Likewise.
52264 (pupa_dl_iterate): Likewise.
52265 (pupa_dl_init): Renamed to ...
52266 (pupa_dl_set_prefix): ... this.
52267 (pupa_dl_get_prefix): Declared.
52268
52269 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 52270 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 52271 unloaded.
52272 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
52273 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
52274
52275 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
52276 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
52277
012d7999 522782003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
52279
52280 * util/i386/pc/pupa-setup.c (setup): Define the internal
52281 function find_first_partition_start at the top level, because GCC
52282 3.0.x cannot compile internal functions in deeper scopes
52283 correctly.
52284 (find_root_device): Use lstat instead of stat.
52285 Don't follow symbolic links.
52286 Fix the path-constructing code.
52287
52288 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
52289 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
52290 by a BLKGETSIZE ioctl first, because block devices don't fill
52291 the member st_mode of the structure stat on Linux.
52292 [__linux__] (linux_find_partition): Use a temporary buffer
52293 REAL_DEV for the working space. Copy it to DEV before returning.
52294 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
52295 buffer cache consistent.
52296 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
52297 strncmp. The previous value was merely wrong.
52298 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
52299
52300 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
52301 FAT size is 12. The previous value was merely wrong.
52302
52303 * kern/main.c (pupa_main): Don't split the starting message from
52304 newlines.
52305
52306 * kern/term.c (pupa_putchar): Put CR after LF instead of before
52307 LF, because BIOS goes crazy about character attributes in this
52308 case.
52309
1cc73a62 523102003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
52311
52312 * include/i386/pc/util/biosdisk.h: New file.
52313 * util/i386/pc/biosdisk.c: Likewise.
52314 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 52315
1cc73a62 52316 * Makefile.in (INCLUDE_DISTFILES): Added
52317 include/pupa/i386/pc/util/biosdisk.h.
52318 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
52319 directory util/i386/pc.
52320 (install-local): Added a rule for sbin_UTILITIES.
52321 (uninstall): Likewise.
52322
52323 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
52324
52325 * util/misc.c (xrealloc): New function.
52326 (pupa_malloc): Likewise.
52327 (pupa_free): Likewise.
52328 (pupa_realloc): Likewise.
52329 (pupa_stop): Likewise.
52330 (pupa_putchar): Likewise.
52331
52332 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
52333
52334 * include/pupa/util/misc.h (xrealloc): Declared.
52335
52336 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
52337 macro.
52338 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
52339 (PUPA_BOOT_MACHINE_BPB_END): ... this.
52340
52341 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
52342 [PUPA_UTIL] (pupa_fat_fini): Likewise.
52343
52344 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
52345 way should be implemented.
52346 [PUPA_UTIL] (pupa_fat_fini): Likewise.
52347
52348 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
52349 the size of NAME for safety.
52350 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
52351 0x88.
52352
52353 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
52354 (pupa_setup_SOURCES): Likewise.
52355
52356 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
52357
08b70fe8 523582002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
52359
52360 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
52361 bunch of pushl's from pusha, because this destroys the return
52362 value.
52363
62ddcc8f 523642002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
52365
52366 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
52367 This means that any missing prototypes could be fatal. Also, you
52368 must take care when writing assembly code. See the comments at
52369 the beginning of startup.S, for more details.
f19dbdb7 52370
62ddcc8f 52371 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
52372 compilation mechanism.
52373 (pupa_chainloader_real_boot): Likewise.
52374 (pupa_biosdisk_rw_int13_extensions): Likewise.
52375 (pupa_biosdisk_rw_standard): Likewise.
52376 (pupa_biosdisk_check_int13_extensions): Likewise.
52377 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
52378 (pupa_biosdisk_get_diskinfo_standard): Likewise.
52379 (pupa_get_memsize): Likewise.
52380 (pupa_get_mmap_entry): Likewise.
52381 (pupa_console_putchar): Likewise.
52382 (pupa_console_setcursor): Likewise.
52383 (pupa_getrtsecs): Use pushl instead of push.
52384
52385 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
52386 memory instead of the stack for a mmap entry, because some
52387 BIOSes may ignore the maximum size and overflow.
52388
52389 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
52390
52391 * genmk.rb (PModule#rule): Compile automatically generated
52392 sources with module-specific CFLAGS as well as other sources.
52393
9962ed99 523942002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
52395
52396 * configure.ac: Check ld.
52397 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
52398 respectively, before checking endianness and sizes.
52399
52400 * Makefile.in (LD): New variable.
f19dbdb7 52401
abdfc3c5 524022002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
52403
52404 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
52405
6a161fa9 524062002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
52407
52408 * Changelog: New file.
52409