]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
[grub2.git] / ChangeLog
1 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
4 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
5 asm to stay in arm even if surrounding is thumb.
6
7 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8
9 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
10 helper functions are needed for thumb.
11
12 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13
14 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
15 level / 3 division explicitly unsigned. Saves few bytes.
16
17 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18
19 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
20
21 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22
23 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
24 division.
25
26 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
27
28 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
29 grub_uboot_boot_data to asm part.
30
31 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
32
33 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
34 literal load.
35 (grub_uboot_syscall): Save/restore r9 and align stack.
36
37 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
38
39 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
40
41 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
42
43 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
44 occurencies with END.
45
46 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
47
48 * util/grub-editenv.c (help_filter, argp): Document how to delete
49 the whole environment block.
50 Reported by Dan Jacobson. Fixes Debian bug #726265.
51
52 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
53
54 * docs/grub.texi (Internationalisation, Supported kernels): Fix
55 sectioning.
56
57 2013-11-13 Josh Triplett <josh@joshtriplett.org>
58
59 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
60 increment/decrement.
61
62 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
63
64 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
65 compiling with clang.
66
67 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
68
69 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
70 ".".
71
72 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
73
74 Redirect all divisions to grub_divmod64.
75
76 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
77
78 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
79
80 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
81
82 Add missing includes of loader.h.
83
84 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
85
86 * configure.ac: Allow disabling themes.
87
88 2013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
89
90 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
91
92 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
93
94 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
95 until it becomes operational.
96
97 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
98
99 * grub-core/Makefile.core.def (legacy_password_test): Disable
100 on platforms where no legacycfg is compiled.
101 * grub-core/tests/lib/functional_test.c: Tolerate failure to
102 load legacy_password_test.
103
104 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
105
106 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
107
108 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
109
110 * grub-core/efiemu/prepare.c: Remove variable length arrays.
111
112 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
113
114 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
115 strict-aliasing warning.
116 (fsync): Silence cast warning.
117
118 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
119
120 * grub-core/commands/verify.c: Remove variable length arrays.
121 Load gcry_dsa/gcry_rsa automatically.
122
123 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
124
125 * grub-core/tests/signature_test.c: New test.
126
127 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
128
129 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
130 API.
131
132 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
133
134 * grub-core/tests/legacy_password_test.c (vectors): Make static.
135 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
136
137 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
138
139 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
140
141 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
142
143 * grub-core/fs/proc.c: Allow \0 in proc files.
144
145 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
146
147 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
148
149 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
150
151 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
152
153 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
154
155 * grub-core/fs/ext2.c: Remove variable length arrays.
156
157 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
158
159 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
160 length arrays.
161
162 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
163
164 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
165 * grub-core/disk/cryptodisk.c: Likewise.
166 * grub-core/disk/geli.c: Likewise.
167 * grub-core/disk/luks.c: Likewise.
168
169 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
170
171 * grub-core/tests/legacy_password_test.c: New test.
172 * grub-core/commands/legacycfg.c: Remove variable length arrays.
173
174 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
175
176 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
177
178 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
179
180 * grub-core/tests/pbkdf2_test.c: New test.
181
182 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
183
184 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
185
186 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
187
188 * grub-core/io/lzopio.c: Remove variable length arrays.
189
190 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
191
192 * include/grub/crypto.h: Add maximums on hash size and cipher block
193 size.
194
195 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
196
197 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
198
199 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
200
201 * grub-core/tests/xnu_uuid_test.c: New test.
202
203 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
204
205 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
206 covers it).
207
208 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
209
210 * grub-core/commands/hashsum.c: Remove variable length arrays.
211
212 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
213
214 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
215 condition.
216 * tests/grub_func_test.in: Increase memory allocation.
217
218 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
219
220 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
221 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
222 sys/mount.h.
223
224 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
225
226 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
227 (grub_util_get_fd_size_os): ...this.
228 (grub_hostdisk_flush_initial_buffer): New empty function.
229
230 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
231
232 * grub-core/gensyminfo.sh.in: Handle the case of portable output
233 without --defined-only.
234
235 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
236
237 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
238 rip-relative addressing in prologue.
239
240 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
241
242 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
243 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
244
245 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
246
247 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
248 Add missing semicolon.
249
250 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
251
252 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
253
254 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
255
256 * configure.ac: Check for lzma.h for enabling liblzma and allow
257 manual disabling.
258
259 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
260
261 Add missing includes of loader.h.
262
263 2013-11-11 Fam Zheng <famcool@gmail.com>
264
265 * util/grub.d/30_os-prober.in: Add minix entry.
266
267 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
268
269 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
270 right buffer for temporary load.
271
272 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
273
274 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
275
276 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
277
278 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
279 payload.
280
281 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
282
283 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
284 not Types.h.
285 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
286 environment.
287 (LzmaDec_InitDicAndState): Make static.
288
289 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
290
291 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
292
293 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
294
295 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
296
297 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
298
299 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
300
301 * docs/grub-dev.texi: Replace bzr references with git ones.
302
303 2013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
304
305 * docs/grub.texi (Simple configuration): Remove reference to
306 grub-reboot from saved default entry description - grub-default
307 does not use it anymore.
308
309 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
310
311 * configure.ac: Make efiemu test cflags match the cflags efiemu is
312 compiled with.
313
314 2013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
315
316 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
317
318 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
319
320 Fix grub_machine_fini bitrot.
321
322 Reported by: Glenn Washburn.
323
324 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
325
326 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
327
328 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
329
330 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
331 -DELF.
332 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
333 instead of ELF*.
334
335 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
336
337 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
338 Add -march=core2 when testing compile of efiemu64.
339
340 Thanks Andrey Borzenkov for spotting this.
341
342 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
343
344 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
345 XEN PV environment and load kernels.
346
347 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
348
349 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
350 * grub-core/loader/multiboot_mbi2.c: Likewise.
351
352 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
353
354 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
355 handling.
356
357 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
358
359 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
360
361 Tested by: Denis 'GNUtoo' Carikli.
362
363 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
364
365 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
366
367 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
368
369 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
370 Use to get rounded angle rather than truncated.
371
372 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
373
374 * grub-core/term/serial.c: Add option for enabling/disabling
375 RTS/CTS flow control.
376
377 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
378
379 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
380 divisions.
381
382 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
383
384 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
385 Use grub_fatal rather than divide by zero.
386 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
387
388 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
389
390 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
391 truncate.
392 (grub_fixed_fsf_divide): Likewise.
393
394 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
395
396 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
397 division by-zero and senseless negative divisions.
398
399 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
400
401 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
402 division by-zero and senseless negative divisions.
403 (circprog_set_property): Don't accept negative num_ticks.
404
405 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
406
407 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
408 division by-zero and senseless negative divisions.
409
410 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
411
412 * configure.ac: Use elf_*_fbsd on kfreebsd.
413
414 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
415
416 * grub-core/tests/div_test.c: New test.
417
418 2013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
419
420 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
421 * grub-core/gfxmenu/gui_canvas.c: Likewise.
422 * grub-core/gfxmenu/view.c: Likewise.
423 * grub-core/video/fb/video_fb.c: Introduce new functions:
424 grub_video_set_area_status, grub_video_get_area_status,
425 grub_video_set_region, grub_video_get_region.
426 * grub-core/video/bochs.c: Likewise.
427 * grub-core/video/capture.c: Likewise.
428 * grub-core/video/video.c: Likewise.
429 * grub-core/video/cirrus.c: Likewise.
430 * grub-core/video/efi_gop.c: Likewise.
431 * grub-core/video/efi_uga.c: Likewise.
432 * grub-core/video/emu/sdl.c: Likewise.
433 * grub-core/video/radeon_fuloong2e.c: Likewise.
434 * grub-core/video/sis315pro.c: Likewise.
435 * grub-core/video/sm712.c: Likewise.
436 * grub-core/video/i386/pc/vbe.c: Likewise.
437 * grub-core/video/i386/pc/vga.c: Likewise.
438 * grub-core/video/ieee1275.c: Likewise.
439 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
440 * include/grub/video.h: Likewise.
441 * include/grub/video_fb.h: Likewise.
442 * include/grub/fbfill.h: Updated render_target structure.
443 grub_video_rect_t viewport, region, area
444 int area_offset_x, area_offset_y, area_enabled
445 * include/grub/gui.h: New helper function
446 grub_video_bounds_inside_region.
447 * docs/grub-dev.texi: Added information about new functions.
448
449 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
450
451 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
452 for alignment.
453
454 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
455
456 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
457 missing attribute.
458 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
459
460 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
461
462 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
463 simple division on arm and ia64.
464
465 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
466
467 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
468 link with libgcc.
469
470 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
471
472 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
473
474 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
475
476 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
477 prefix symbol, not @.
478
479 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
480
481 * INSTALL: Add note about older gcc and clang.
482
483 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
484
485 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
486
487 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
488
489 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
490 NULL pointer dereference.
491
492 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
493
494 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
495 clang.
496
497 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
498
499 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
500 warnings.
501
502 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
503
504 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
505 function.
506 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
507 * grub-core/disk/geli.c (ascii2hex): Likewise.
508
509 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
510
511 * configure.ac: Run linker tests without -Werror.
512 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
513 Change all occurences of -static-libgcc resp -lgcc to
514 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
515
516 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
517
518 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
519
520 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
521
522 Allow compiling with clang (not really supported though).
523
524 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
525 unconditionally.
526 * configure.ac: Add -no-integrated-as when using clangfor asm files.
527 Add -mrtd -mregparm=3 on i386 when not using clang.
528 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
529
530 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
531
532 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
533 bindings.
534 * grub-core/lib/reed_solomon.c: Likewise.
535 * include/grub/i386/gdb.h: Likewise.
536 * include/grub/i386/pc/int.h: Likewise.
537 * include/grub/i386/pc/pxe.h: Likewise.
538 * include/grub/ieee1275/ieee1275.h: Likewise.
539
540 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
541
542 Import libgcrypt 1.5.3.
543
544 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
545
546 * configure.ac: Don't add -Wcast-align on x86.
547
548 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
549
550 * configure.ac: Add -freg-struct-return on all platforms that
551 support it.
552
553 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
554
555 * acinclude.m4: Use -Werror on parameter tests.
556 * configure.ac: Likewise.
557
558 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
559
560 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
561
562 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
563
564 * configure.ac: Check that -malign-loops works rather than assuming that
565 either -falign-loops or -malign-loops work.
566
567 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
568
569 * configure.ac: Remove -fnested-functions. We don't need it anymore.
570
571 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
572
573 * configure.ac: Prevent cflags leaking to subsequent tests by always
574 resetting cflags to target_cflags in target tests.
575
576 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
577
578 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
579 function.
580
581 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
582
583 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
584
585 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
586
587 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
588
589 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
590
591 * grub-core/normal/cmdline.c (grub_cmdline_get):
592 Remove nested functions.
593
594 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
595
596 * tests/test_sha512sum.in: Make it work on emu.
597
598 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
599
600 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
601 functions.
602 (grub_bidi_line_logical_to_visual): Likewise.
603
604 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
605
606 Remove vestiges of -Wunsafe-loop-optimisations.
607
608 * conf/Makefile.common (CFLAGS_GNULIB): Remove
609 -Wno-unsafe-loop-optimisations.
610 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
611 pragma.
612 * grub-core/io/gzio.c: Likewise.
613 * grub-core/script/parser.y: Likewise.
614 * grub-core/script/yylex.l: Likewise.
615 * util/grub-mkfont.c: Likewise.
616
617 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
618
619 * util/grub-mkfont.c (process_cursive): Remove nested function.
620
621 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
622
623 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
624 (grub_boot_time): Likewise.
625
626 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
627
628 * include/grub/symbol.h (FUNCTION): Use @function rather than
629 "function".
630 (VARIABLE): Likewise.
631
632 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
633
634 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
635
636 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
637
638 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
639 (parse_dhcp_vendor): Likewise.
640
641 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
642
643 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
644
645 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
646
647 * grub-core/gettext/gettext.c (main_context), (secondary_context):
648 Define after defining type and not before.
649
650 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
651
652 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
653 type.
654 (grub_gcm_decrypt): Likewise.
655 (algo_decrypt): Likewise.
656 (grub_zfs_decrypt_real): Transform error type.
657
658 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
659
660 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
661
662 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
665 (grub_usbms_cbi_reset): Likewise.
666 (grub_usbms_bo_reset): Likewise.
667 (grub_usbms_reset): Likewise.
668 (grub_usbms_attach): Likewise.
669 (grub_usbms_transfer_cbi): Likewise.
670
671 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
672
673 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
674 "checksum = checksum;".
675
676 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
677
678 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
679 entry_type.
680
681 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
682
683 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
684 BIOS disk check.
685
686 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
687
688 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
689 type.
690 (grub_ehci_fini_hw): Likewise.
691 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
692
693 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
694
695 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
696 return grub_usb_err_t for cosistency. All users updated.
697
698 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
699
700 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
701 assigning to itself.
702
703 2013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
704 2013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
705
706 Issue separate DNS queries for ipv4 and ipv6
707
708 Adding multiple questions on a single DNS query is not supportted by
709 most DNS servers. This patch issues two separate DNS queries
710 sequentially for ipv4 and then for ipv6.
711
712 Fixes: https://savannah.gnu.org/bugs/?39710
713
714 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
715 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
716 * (grub_net_dns_lookup): Now using separated dns packages.
717 * (grub_cmd_nslookup): Add error condition.
718 * (grub_cmd_list_dns): Print DNS option.
719 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
720 --prefer-ipv4, and --prefer-ipv6.
721 * include/grub/net.h (grub_dns_option_t): New enum.
722 * (grub_net_network_level_address): option added.
723
724 2013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
725
726 * grub-core/video/fb/video_fb.c: Merge two blit functions
727 into one.
728
729 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
730
731 * grub-core/term/terminfo.c: Add sequences for home and end.
732
733 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
734
735 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
736 graphics console.
737
738 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
739
740 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
741 add mode 0x12.
742
743 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
744
745 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
746 e-mail by Per Öberg.
747
748 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
749
750 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
751 name.
752
753 2013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
754
755 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
756 emu platforms.
757 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
758
759 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
760
761 * docs/grub.texi: Document usage of menuentry id.
762
763 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
764
765 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
766
767 2013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
768
769 * grub-core/commands/i386/nthibr.c: New command.
770
771 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
772
773 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
774
775 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
776
777 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
778 coordinate.
779
780 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
781
782 Support GRUB_DISABLE_SUBMENU config.
783
784 Inspired by patch from Prarit Bhargava.
785
786 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
787
788 * docs/grub.texi: Mention RSA support.
789
790 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
791
792 * grub-core/commands/verify.c: Add RSA support.
793
794 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
795
796 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
797 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
798 device is known to be ATAPI.
799
800 2013-11-03 Mike Frysinger <vapier>
801
802 * configure.ac: Don't add target-prefix.
803
804 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
805
806 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
807 variables.
808
809 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
810
811 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
812 if language is English.
813
814 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
815
816 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
817
818 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
819
820 * configure.ac: Don't add -m32/-m64 on emu.
821
822 2013-11-02 neil
823
824 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
825 broken linux headers.
826
827 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
828
829 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
830
831 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
832
833 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
834 Reed-Solomon recovery if more than half of redundancy info is 0.
835
836 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
837
838 * util/grub-mount.c: Handle symlinks to directories.
839
840 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
841
842 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
843 find_file recursively for symlink.
844
845 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
846
847 * tests/util/grub-shell.in: Copy themes.
848
849 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
850
851 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
852
853 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
854
855 * configure.ac: Use 0x8000 for address instead of 8000.
856
857 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
860 signature.
861
862 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
863
864 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
865 variable.
866
867 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
868
869 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
870
871 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
872
873 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
874 file_progress_read_hook.
875 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
876
877 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
878
879 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
880 and double.
881
882 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
883
884 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
885
886 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
887
888 Rewrite blocklist functions in order to get progress when
889 reading large extents and decrease amount of blocklist hook calls.
890
891 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
892
893 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
894 of SI suffixes.
895
896 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
897
898 Support --base-clock for serial command to handle weird cards with
899 non-standard base clock.
900
901 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
902
903 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
904 strncpy.
905 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
906 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
907 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
908 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
909 + strcpy rather than strncpy.
910
911 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
914 (check_pool_label): Likewise. Fixes overflow.
915 (nvlist_find_value): Fix comparison.
916
917 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * include/grub/misc.h (grub_strcat): Removed. All users changed to
920 more appropriate functions.
921
922 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
923
924 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
925 realloc.
926
927 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
928
929 * util/grub-mkrescue.in: Do not use UUID search on EFI.
930
931 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
932
933 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
934 on core size.
935
936 2013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
937
938 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
939
940 2013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
941
942 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
943 (initialize_tables): reset tl and td to NULL after freeing.
944
945 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
946
947 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
948
949 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
950
951 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
952 of supported tags.
953
954 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
955
956 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
957
958 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
959
960 * grub-core/loader/multiboot.c: Add support for multiboot kernels
961 quirks.
962
963 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
964
965 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
966 a page in protected space.
967
968 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
969
970 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
971 allocate space for zero-sized modules.
972
973 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
974
975 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
976
977 2013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
978
979 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
980
981 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
982
983 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
984 safeguards. Fixes a crash with i386/pc/console.c.
985
986 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
987
988 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
989 and grub_hostfs_init.
990
991 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
992
993 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
994 windows method on other platforms without good stat as well.
995
996 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
997
998 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
999
1000 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1001
1002 Make / in btrfs refer to real root, not the default volume.
1003 Modify mkrelpath to work even if device is mounted with subvolid option.
1004
1005 2013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
1006
1007 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
1008 extra_dist.
1009 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
1010 extra_dist.
1011
1012 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
1015 fails.
1016
1017 2013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
1018
1019 * docs/autoiso.cfg: New file.
1020
1021 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
1024 COND_GRUB_PE2ELF conditions.
1025
1026 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
1029 "vnd", "rd" and "fd" disks.
1030
1031 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1032
1033 Move grub_disk_write out of kernel into disk.mod.
1034
1035 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1036
1037 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
1038 handling.
1039
1040 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1041
1042 * grub-core/kern/misc.c (grub_abort): Make static
1043
1044 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
1047 transform invalid unicode codepoints.
1048
1049 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1050
1051 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
1052 \0 checking.
1053
1054 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1055
1056 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
1057
1058 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 Consolidate cpuid code.
1061
1062 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1063
1064 Move cpuid code to cpuid.h and TSC code to tsc.c.
1065
1066 2013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1067
1068 * util/grub.d/00_header.in: Don't use LANG if it's not set.
1069
1070 2013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1071
1072 * util/grub-mkconfig.in: Replace $0 with $self.
1073 * util/grub-reboot.in: Likewise.
1074 * util/grub-set-default.in: Likewise.
1075
1076 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1077
1078 * docs/osdetect.cfg: New file.
1079
1080 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1081
1082 * tests/util/grub-shell.in: Add new --debug option.
1083
1084 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1085
1086 * tests/test_unset.in: New test.
1087
1088 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1089
1090 * tests/test_sha512sum.in: New test.
1091
1092 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
1095 * include/grub/misc.h: Remove strncat.
1096 * grub-core/lib/posix_wrap/string.h: Likewise.
1097
1098 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1099
1100 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
1101 Try to handle more than 0xFFFF packets.
1102 Reported by: Bernhard Übelacker <bernhardu>.
1103 He also spotted few overflows in first version of this patch.
1104
1105 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 * tests/date_unit_test.c: New test.
1108
1109 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1110
1111 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
1112 of first three years after start of validity of unixtime.
1113
1114 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1115
1116 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
1117 division as the one making more sense.
1118 (update_screen): Likewise.
1119 (complete): Likewise.
1120
1121 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
1124
1125 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1126
1127 Make char and string width grub_size_t rather than grub_ssize_t.
1128
1129 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1130
1131 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
1132 unsigned.
1133 (grub_history_replace): Likewise.
1134
1135 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
1138 appropriate.
1139
1140 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
1143 appropriate.
1144
1145 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1146
1147 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
1148 Use unsigned divisions rather than signed variants.
1149
1150 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1151
1152 * grub-core/video/readers/png.c (grub_png_convert_image): Use
1153 unsigned arithmetics.
1154 Add missing break.
1155
1156 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
1159
1160 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1161
1162 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
1163 rather than signed one.
1164 (recovery): Likewise.
1165
1166 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1167
1168 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
1169
1170 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
1173 than signed.
1174
1175 2013-10-25 Jon McCune <jonmccune@google.com>
1176
1177 * docs/grub.texi: Cleanup security documentation around signatures.
1178
1179 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
1182
1183 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1184
1185 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
1186 than int.
1187
1188 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
1191 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
1192 functions when compiling for kernel.
1193
1194 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1195
1196 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
1197 unsigned long long when using %llu.
1198
1199 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1200
1201 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
1202 terminal after updating progress.
1203
1204 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1205
1206 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
1207 argument. We don't disable Gate A20 in this code.
1208
1209 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
1212 Conceptually based on change in branch "vbe-on-coreboot".
1213
1214 2013-10-24 Robert Millan <rmh@gnu.org>
1215
1216 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
1217 numeric constants with their symbolic equivalent.
1218 Taken from branch "vbe-on-coreboot".
1219
1220 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1221
1222 * docs/grub.texi: Fix ordering and use pxref rather than xref.
1223
1224 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1225
1226 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
1227 divmod64 for offset division.
1228
1229 2013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1230
1231 Rename .bzrignore to .gitignore. Add "*.o" rule.
1232
1233 * .bzrignore: Renamed to...
1234 * .gitignore: ...this.
1235
1236 2013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1237
1238 Add new progress module that displays the load progress of files.
1239
1240 * grub-core/lib/progress.c: New file.
1241 * grub-core/Makefile.core.def (progress): New module.
1242 * grub-core/kern/file.c (grub_file_open): File name added.
1243 * (grub_file_read): Progress hook added.
1244 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
1245 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
1246 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
1247 * include/grub/file.h (struct grub_file): Add progress module members.
1248 * include/grub/term.h (struct grub_term_output): Likewise.
1249 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
1250 Terminal velocity added.
1251 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
1252 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
1253 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
1254 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
1255 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
1256 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
1257 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
1258 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
1259 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
1260 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
1261 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
1262 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
1263
1264 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1265
1266 Verify signatures of signatures unless --skip-sig is specified.
1267
1268 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
1271 \0 checking.
1272
1273 Saves 70 bytes on compressed image.
1274
1275 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
1278 check.
1279
1280 Saves 10 bytes on compressed image.
1281
1282 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1283
1284 * grub-core/kern/misc.c (grub_isprint): Move to ...
1285 * include/grub/misc.h (grub_isprint): ... here. Make inline.
1286
1287 Saves 20 bytes on compressed image due to remving exporting.
1288
1289 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1290
1291 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
1292
1293 Saves 5 bytes on compressed image.
1294
1295 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1296
1297 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
1298 function get_utf8.
1299
1300 Saves 379 bytes on compressed image.
1301
1302 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1303
1304 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
1305
1306 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
1309
1310 Saves 40 bytes on compressed image.
1311
1312 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1313
1314 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
1315 mask rather than 64-bit type.
1316
1317 Saves 20 bytes on compressed image.
1318
1319 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1320
1321 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
1322 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
1323
1324 Saves 273 bytes on compressed image.
1325
1326 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1327
1328 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
1329 variable length arrays.
1330
1331 Saves 50 bytes on compressed image.
1332
1333 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
1336
1337 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1338
1339 * grub-core/fs/ufs.c: Remove variable length arrays.
1340
1341 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1342
1343 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
1344
1345 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1346
1347 * grub-core/fs/zfs.c: Remove variable length arrays.
1348 Reduces zfs.mod by 160 bytes (208 compressed).
1349
1350 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1351
1352 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
1353
1354 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1355
1356 * grub-core/net/arp.c: Remove variable length arrays.
1357 * grub-core/net/bootp.c: Likewise.
1358 * grub-core/net/dns.c: Likewise.
1359 * grub-core/net/icmp6.c: Likewise.
1360 * grub-core/net/net.c: Likewise.
1361
1362 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1363
1364 * grub-core/fs/ntfs.c: Remove variable length arrays.
1365 Increases ntfs.mod by 64 bytes (but decreases by 3 when
1366 compressed).
1367
1368 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1369
1370 * grub-core/fs/hfs.c: Remove variable length arrays.
1371 Reduces hfs.mod by 8 bytes (52 compressed).
1372
1373 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1374
1375 * grub-core/fs/udf.c: Remove variable length arrays.
1376 Increases udf.mod by 128 bytes (but decreases by 13 when
1377 compressed).
1378
1379 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1380
1381 * grub-core/fs/iso9660.c: Remove variable length arrays.
1382 Increases iso9660.mod by 200 bytes (but decreases by 79 when
1383 compressed).
1384
1385 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1386
1387 * grub-core/fs/nilfs2.c: Remove variable length arrays.
1388 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
1389 compressed).
1390
1391 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1392
1393 * grub-core/fs/xfs.c: Remove variable length arrays.
1394 Reduces xfs.mod by 40 bytes (43 compressed).
1395
1396 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1397
1398 * grub-core/fs/fshelp.c: Remove variable length arrays.
1399 Reduces fshelp.mod by 116 bytes (23 compressed).
1400
1401 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1402
1403 * grub-core/normal/completion.c: Remove variable length arrays.
1404 * grub-core/normal/menu_entry.c: Likewise.
1405
1406 Reduces normal.mod by 496 bytes.
1407
1408 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
1411 by 356 bytes (158 compressed).
1412
1413 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
1416 by 364 bytes (169 compressed).
1417
1418 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1419
1420 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
1421 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
1422 * include/grub/types.h (grub_unaligned_uint64_t): New type.
1423
1424 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1425
1426 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
1427 bitmasks to small structures of size chosen to fit in registers.
1428
1429 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1430
1431 * conf/Makefile.common: Use -freg-struct-return on i386. This
1432 decreases code size and improves performance.
1433
1434 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
1437
1438 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1439
1440 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
1441 "(null)" string.
1442 Simplify expressions to save around 256 bytes in kernel.img.
1443 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
1444
1445 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
1448 Use GRUB_UTIL_FD_O_* rather than O_*.
1449
1450 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1451
1452 Add haiku-specific functions.
1453
1454 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1455
1456 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
1457
1458 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1459
1460 Move stat () and device mode checking into OS-dependent files as
1461 long as performance doesn't suffer.
1462
1463 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1464
1465 Split make_system_path_relative_to_its_root into separate file
1466 relpath.c from getroot.c as it's common between unix and haiku
1467 but otherwise haiku doesn't use any functions from unix getroot.c.
1468
1469 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1470
1471 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
1472 New function.
1473 (grub_util_is_special_file): Likewise.
1474
1475 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1476
1477 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
1478 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
1479
1480 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1481
1482 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
1483 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
1484
1485 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1486
1487 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
1488 (load_image): Likewise.
1489
1490 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1491
1492 * util/grub-render-label.c: Move backend part to ...
1493 * util/render-label.c: ... here.
1494
1495 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1496
1497 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
1498 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
1499
1500 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
1503
1504 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1505
1506 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
1507 CD-ROM in case when it's declared as having subpartitions.
1508
1509 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1510
1511 Don't add -lm on haiku.
1512
1513 * configure.ac: Define BUILD_LIBM to -lm on most platforms
1514 and empty on haiku.
1515 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
1516 -lm.
1517
1518 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1519
1520 * configure.ac: Use -melf_*_haiku as target on haiku.
1521
1522 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1523
1524 * Makefile.util.def: Add util/setup.c to extra_dist.
1525
1526 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1527
1528 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
1529 unknown types through.
1530
1531 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1532
1533 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
1534 (grub_util_check_char_device): Likewise.
1535 * include/grub/emu/getroot.h: Likewise.
1536
1537 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1538
1539 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
1540 memset rather than inline static function.
1541
1542 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1543
1544 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
1545 not doing embedded decompressor.
1546
1547 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
1550 shadowing.
1551 * grub-core/kern/disk.c: Likewise.
1552 * grub-core/kern/misc.c: Likewise.
1553 * include/grub/parser.h: Likewise.
1554 * include/grub/script_sh.h: Likewise.
1555 * include/grub/zfs/zfs.h: Likewise.
1556
1557 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1558
1559 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
1560
1561 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1562
1563 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
1564 defined before trying to use it.
1565
1566 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1567
1568 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
1569 warning.
1570
1571 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
1574 Use __unused__ rather than __used__ on gcc < 3.2.
1575
1576 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1577
1578 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
1579 gcc < 4.0.
1580 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
1581
1582 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1583
1584 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
1585
1586 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1587
1588 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
1589 * include/grub/emu/misc.h: Likewise.
1590
1591 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1592
1593 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
1594 cur_color.
1595
1596 2013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
1597
1598 * grub-core/tests/checksums.h: Regenerated due to progress bar
1599 get_minimal_size changes.
1600
1601 2013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
1602
1603 Added `tr' command support.
1604
1605 * grub-core/commands/tr.c: New file.
1606 * grub-core/Makefile.core.def: Build rules for new module.
1607
1608 * tests/grub_cmd_tr.in: New test.
1609 * Makefile.util.def: Build rules for new test.
1610
1611 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
1612
1613 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
1614
1615 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
1616
1617 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
1618 * docs/gurb.texi: Likewise.
1619
1620 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
1621
1622 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
1623 Pixmap highlighted section with east and west slices was displayed
1624 incorrectly due to negative width of the central slice.
1625
1626 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
1627
1628 * docs/grub.texi: Graphical options information update.
1629 Removed outdated. Updated current. Inserted missed.
1630
1631 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 * docs/grub.texi: Mention few new platform-specific commands.
1634
1635 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
1638 currently used so this doesn't really have any effect.
1639 Reported by: Douglas Ray <dougray>
1640
1641 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1642
1643 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
1644 compilation but prevents gcc from displaying messages in non-Latin
1645 alphabets.
1646 * conf/Makefile.common: Likewise.
1647
1648 2013-10-16 Hiroyuki YAMAMORI
1649
1650 Handle Japanese special keys.
1651 Reported by: Hiroyuki YAMAMORI.
1652 Codes supplied by: Hiroyuki YAMAMORI.
1653
1654 2013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
1655
1656 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
1657
1658 2013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
1659
1660 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
1661 * docs/grub.texi: Likewise.
1662
1663 2013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1664
1665 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
1666 value in case of incomplete read.
1667 (grub_util_fd_write): Likewise.
1668
1669 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1670
1671 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
1672
1673 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1674
1675 * util/grub-editenv.c (create_envblk_file): More from here ...
1676 * util/editenv.c (grub_util_create_envblk_file): ... to here.
1677
1678 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1679
1680 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
1681 canonicalize file name before doing the rest.
1682
1683 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1684
1685 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
1686 mingw32.
1687
1688 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1689
1690 Define grub_util_is_directory/regular/special_file and
1691 use OS-dependent versions rather than to rely on stat().
1692
1693 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 * util/grub-mkimage.c: Move backend part to ...
1696 * util/mkimage.c: ... here.
1697
1698 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1699
1700 Allow compilation with mingw64 albeit with warnings due to lack of
1701 %llx/%llu.
1702
1703 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
1704 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
1705 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
1706 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
1707 on mingw64.
1708 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
1709
1710 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1711
1712 Remove leftover references to some of the system headers.
1713
1714 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1715
1716 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
1717 read.
1718
1719 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1720
1721 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
1722 of strerror.
1723
1724 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1725
1726 Split out blocklist retrieving from setup.c to
1727 grub-core/osdep/blocklist.c and add windows implementation since
1728 generic version doesn't work on NTFS on Windows due to aggressive
1729 unflushable cache.
1730
1731 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1732
1733 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
1734 files.
1735
1736 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1737
1738 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
1739 Cut tailing newline. Remove arbitrary limitation. Always use
1740 grub_util_tchar_to_utf8.
1741
1742 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1743
1744 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
1745 * tests/printf_unit_test.c (printf_test): Add %% tests.
1746 Reported by: Paulo Flabiano Smorigo.
1747
1748 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1749
1750 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
1751 implement fsync.
1752
1753 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1754
1755 * configure.ac: Check for nvlist_lookup_string in nvpair since we
1756 use nvlist_lookup_string and don't use nvlist_print.
1757
1758 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1759
1760 Add wrappers around rename, unlink, mkdir, opendir, readdir and
1761 closedir to handle filename charset translation.
1762
1763 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1764
1765 * include/grub/emu/hostdisk.h: Move file operations to
1766 * include/grub/emu/hostfile.h: ... here.
1767
1768 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1769
1770 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
1771 unicode path.
1772
1773 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1774
1775 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
1776
1777 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
1780 and remove export.h.
1781
1782 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1783
1784 * grub-core/kern/emu/error.c: Removed.
1785 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
1786 explicitly as it's already in libgnu.a.
1787
1788 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
1791 config-util.h include.
1792
1793 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1794
1795 Split emunet into platform-dependent and GRUB-binding parts. Keep
1796 platform-dependent part in kernel for easy access to OS functions.
1797
1798 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1799
1800 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
1801 open/read/write.
1802
1803 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1804
1805 * grub-core/osdep/windows/emuconsole.c: New file.
1806
1807 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
1808
1809 * conf/Makefile.extra-dist: Add osdep/*/init.c
1810
1811 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1812
1813 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
1814
1815 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1816
1817 * util/grub-probe.c (probe): Separate different drives in hint-str
1818 by spaces and not newlines.
1819 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
1820
1821 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
1822
1823 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
1824 Handle CD-ROMs.
1825
1826 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1827
1828 Pass-through unknown E820 types. It required reorganisation of mmap
1829 module.
1830
1831 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
1832
1833 * Makefile.util.def: Add osdep/init.c to grub-mount files.
1834
1835 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1836
1837 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
1838 fseeko.
1839
1840 2013-10-14 qwertial <qwertial>
1841
1842 * grub-core/gdb_grub.in: Fix overflow and wrong field.
1843
1844 2013-10-14 Jon McCune <jonmccune@google.com>
1845
1846 * docs/grub.texi: Document new signatures possibility.
1847
1848 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
1851
1852 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1853
1854 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
1855 missing prototype.
1856 (grub_util_tchar_to_utf8): Likewise.
1857
1858 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
1861 * grub-core/kern/emu/main.c: Add missing include.
1862 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
1863 Don't call grub_util_init_nls.
1864 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
1865 Likewise.
1866
1867 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1868
1869 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
1870 stat.
1871
1872 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1873
1874 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
1875
1876 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
1879
1880 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1881
1882 Add a wrapper for fopen. On unix-like systems just pass-through. On
1883 windows use unicode version.
1884
1885 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1886
1887 Move set_program_name and init_nls to host_init. On windows
1888 fix in this fuction console and argument charset as well.
1889
1890 2013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
1891
1892 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
1893 GRUB_ENABLE_CRYPTODISK.
1894
1895 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
1896 GRUB_ENABLE_CRYPTODISK.
1897 * util/grub-mkconfig_lib.in: Likewise.
1898
1899 2013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
1900
1901 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
1902
1903 2013-10-12 Melki Christian <Christian.melki@saabgroup.com>
1904
1905 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
1906 error when enabling debug.
1907
1908 2013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
1909
1910 * configure.ac: Use -melf_*_obsd on openbsd.
1911
1912 2013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
1913
1914 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
1915
1916 2013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
1917
1918 * include/grub/misc.h: Use gnu_printf rather than printf as format
1919 template since our functions are independent of libc.
1920
1921 2013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
1922
1923 * util/grub-setup.c (setup): Move copying of partition table as
1924 futher up as possible to avoid possible overwrite by floppy routines.
1925
1926 2013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
1927
1928 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
1929
1930 2013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
1931
1932 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
1933 * docs/grub.texi: Likewise.
1934
1935 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1936
1937 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
1938 it's mostly unused. Move vestiges to the callers.
1939
1940 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1941
1942 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
1943 version of salt and hash. Use grub_snprintf rather than snprintf.
1944
1945 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1946
1947 * docs/grub.texi: Fix problem with braces.
1948
1949 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1950
1951 * conf/Makefile.extra-dist: Fix extra-dist list.
1952 * grub-core/Makefile.core.def: Likewise.
1953
1954 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1955
1956 * docs/grub.texi: Document disk names used on Windows and AROS.
1957
1958 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1959
1960 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
1961 with AROS devs.
1962 * grub-core/osdep/aros/hostdisk.c: Likewise.
1963
1964 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1965
1966 Avoid including hostfile.h when not necessarry as it pulls
1967 in OS-specific headers which may redefine generic names
1968 like "far".
1969
1970 2013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
1971
1972 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
1973 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
1974 scrollbar_bottom_pad
1975 * docs/grub.texi: Likewise.
1976
1977 2013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
1978
1979 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
1980
1981 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1982
1983 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
1984
1985 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
1988 Removed.
1989 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
1990 Made static.
1991
1992 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1993
1994 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
1995 leftover.
1996
1997 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1998
1999 Move OS-specific driver configuration to grub_util_fd_open. This
2000 moves OS-dependent parts from kern/emu/hostdisk.c to
2001 grub-core/osdep/*/hostdisk.c.
2002
2003 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2004
2005 * util/grub-mkimage.c (generate_image): Use size_t instead of
2006 grub_size_t.
2007 * util/grub-mkimagexx.c (locate_sections): Likewise.
2008 (load_image): Likewise.
2009
2010 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2011
2012 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
2013 size_t.
2014 (grub_util_write_image): Likewise.
2015
2016 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2017
2018 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
2019 get random when no RNG is available.
2020 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
2021
2022 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2023
2024 * include/grub/util/lvm.h: Removed.
2025
2026 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2027
2028 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
2029 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
2030
2031 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2032
2033 * grub-core/osdep/windows/sleep.c: Add missing config.h.
2034
2035 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
2038
2039 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2040
2041 * grub-core/net/drivers/emu/emunet.c: Move to ..
2042 * grub-core/osdep/linux/emunet.c: ..here.
2043
2044 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2045
2046 * util/ieee1275/ofpath.c: Move to ...
2047 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
2048 * grub-core/osdep/basic/ofpath.c: ..here.
2049
2050 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2051
2052 Move password-querying (util-version) routines to grub-core/osdep.
2053
2054 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 Move sleep routines to grub-core/osdep.
2057
2058 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2059
2060 Move OS-dependent files to grub-core/osdep and document it.
2061
2062 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2063
2064 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
2065 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
2066
2067 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2068
2069 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
2070
2071 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * util/misc.c: Remove leftover inclusion of malloc.h.
2074
2075 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2076
2077 * include/grub/setjmp.h: Remove leftover GRUBOF.
2078
2079 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2080
2081 * util/raid.c: Fold into ...
2082 * util/getroot_linux.c: ... here. Make all functions static.
2083
2084 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2085
2086 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
2087 macros to GRUB ones.
2088
2089 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2090
2091 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
2092 occasional bug. If there are too many boot entries or too low
2093 scrollbar height then we need to use another formula to calculate
2094 the position and size of the scrollbar thumb.
2095
2096 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2097
2098 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
2099
2100 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2101
2102 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
2103 * docs/grub.texi: Likewise.
2104
2105 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2106
2107 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
2108 viewport.
2109
2110 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2111
2112 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
2113 minimal width calculations.
2114
2115 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2116
2117 * docs/grub.texi: Update note on colors on emu console.
2118
2119 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
2122 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
2123 it's FS and not GRUB limitation.
2124
2125 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2126
2127 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
2128
2129 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2130
2131 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
2132
2133 2013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
2134
2135 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
2136 kernels by version order.
2137
2138 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2139
2140 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
2141
2142 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2143
2144 Add AROS hostdisk and getroot routines.
2145
2146 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2147
2148 Make cryptodisk and diskfilter probe data retrievable programmatically
2149 and not just printable.
2150
2151 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2152
2153 Split random retrieving code into separate files.
2154
2155 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2156
2157 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
2158 R_ARM_V4BX.
2159
2160 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2161
2162 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
2163 condition.
2164 * grub-core/tests/fake_input.c: Likewise.
2165 * grub-core/tests/cmdline_cat_test.c: Likewise.
2166
2167 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2168
2169 * grub-core/video/capture.c: Do not do finalization when .fini
2170 is called as there is explicit capture_end.
2171
2172 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2173
2174 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
2175 changing windows to avoid crash.
2176
2177 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2178
2179 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
2180
2181 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2182
2183 * po/exclude.pot: Add several strings to exclude.
2184
2185 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
2188
2189 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2190
2191 * autogen.sh: Add ./util/grub-gen-widthspec.c and
2192 ./util/grub-gen-asciih.c to exclude list.
2193
2194 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
2197 and don't mark error strings for translation.
2198
2199 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2200
2201 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
2202 properly in case of missing block size.
2203
2204 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2205
2206 * grub-core/lib/arm/setjmp.S: Add missing license section.
2207
2208 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2209
2210 * po/swiss.sed: Add replacement for key names and for term computer.
2211
2212 2013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
2213
2214 * grub-core/gfxmenu/theme_loader.c: New global options for the
2215 theme background image handling. desktop-image-scale-method,
2216 desktop-image-h-align, desktop-image-v-align.
2217 * grub-core/gfxmenu/view.c: Likewise.
2218 * include/gfxmenu_view.h: Likewise.
2219 * include/bitmap_scale.h: Proportional scale functions introduced.
2220 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
2221 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
2222 cases of unexpected input variables for scale functions.
2223 * docs/grub.texi: Updated documentation for new options.
2224
2225 2013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
2226
2227 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
2228
2229 2013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
2230
2231 * grub-core/tests/checksums.h: Corrected due to changes in
2232 bilinear interpolation function.
2233
2234 2013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
2235
2236 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
2237 to eliminate artefacts in bilinear interpolation.
2238
2239 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2240
2241 * grub-core/video/readers/tga.c: Support paletted tga.
2242
2243 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2244
2245 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
2246 incorrect cbcr setting when in color mode.
2247
2248 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2249
2250 * grub-core/video/readers/png.c: Support paletted images and clean up
2251 greyscale support.
2252
2253 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2254
2255 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
2256 usage of wrong table which resulted in mishandling of 4-byte
2257 sequences.
2258
2259 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2260
2261 * grub-core/term/terminfo.c: Add Home and End key sequences.
2262
2263 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2264
2265 * grub-core/video/readers/png.c (grub_png_decode_image_header):
2266 Fix formula for computing total number of bytes.
2267
2268 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
2271 image processing, fix big-endian and support grayscale.
2272
2273 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
2276 Correctly will with maximum transparency when using index color.
2277
2278 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2279
2280 * grub-core/video/readers/png.c: Support grayscale
2281
2282 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2283
2284 * grub-core/video/readers/jpeg.c: Support grayscale.
2285
2286 2013-09-26 Jon McCune <jonmccune@google.com>
2287
2288 * grub-core/commands/loadenv.c: Support skipping signature check
2289 and variable names filtering.
2290
2291 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2292
2293 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
2294 * grub-core/kern/emu/hostfs.c: Likewise.
2295 * util/getroot_unix.c: Likewise.
2296
2297 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
2300 Migrate all explicit defines to this new one.
2301
2302 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
2305 grub_util_fd_strerror when using grub_util_fd_*.
2306 (grub_util_fd_open_device): Likewise.
2307 (grub_util_biosdisk_read): Likewise.
2308 (grub_util_biosdisk_write): Likewise.
2309 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
2310 (grub_util_fd_strerror): Likewise.
2311 (grub_util_fd_sync): Likewise.
2312 (grub_util_fd_close): Likewise.
2313 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
2314 (grub_util_fd_close): Likewise.
2315 (grub_util_fd_strerror): Likewise.
2316 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
2317 function proto rather than macro.
2318 (grub_util_fd_sync): Likewise.
2319 (grub_util_fd_open): Likewise.
2320 (grub_util_fd_strerror): New proto.
2321
2322 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
2325 platforms on which it doesn't work.
2326
2327 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2328
2329 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
2330 stat immediately to where it's used.
2331
2332 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2333
2334 * util/getroot.c (grub_util_check_block_device): Move to ...
2335 * util/getroot_unix.c (grub_util_check_block_device): ... here.
2336 * util/getroot.c (grub_util_check_char_device): Move to ...
2337 * util/getroot_unix.c (grub_util_check_char_device): ... here.
2338
2339 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
2342 disk closing logic.
2343
2344 2013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
2345
2346 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
2347
2348 2013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
2349
2350 * docs/grub.texi (File name syntax): Document ZFS filenames
2351 (/volume@snapshot/...).
2352
2353 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
2356 Always return full path. Fixes a problem with mkrelpath.
2357
2358 2013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2359
2360 * util/grub-install.in: Add GPT PReP support.
2361 * util/grub-probe.c (probe): Support GPT partition type.
2362 (main): Support -t gpt_parttype.
2363
2364 2013-09-23 Aleš Nesrsta <starous@volny.cz>
2365
2366 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
2367
2368 2013-09-23 Massimo Maggi <me@massimo-maggi.eu>
2369
2370 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
2371
2372 2013-09-23 Tim Hardeck <thardeck>
2373
2374 * util/grub.d/10_hurd.in: Filter out character for the class.
2375 * util/grub.d/10_kfreebsd.in: Likewise.
2376 * util/grub.d/10_linux.in: Likewise.
2377 * util/grub.d/20_linux_xen.in: Likewise.
2378
2379 2013-09-23 Melki Christian <Christian.melki@saabgroup.com>
2380
2381 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
2382 "changed".
2383
2384 2013-09-23 Josh Triplett <josh@joshtriplett.org>
2385
2386 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
2387 boot partition.
2388
2389 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2390
2391 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
2392 doesn't use posix_wrap. Keep literal -fno-builtin however.
2393
2394 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2395
2396 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
2397
2398 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2399 2013-09-23 neil
2400
2401 * configure.ac: Do not enable -Wmissing-noreturn as its
2402 usefulness is limited and creates problems on some OS notably with
2403 code generated by bison.
2404
2405 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2406 2013-09-23 neil
2407
2408 * configure.ac: Do not explicitly enable -Waddress as it's not
2409 supported by all gcc and when it is, it's already enabled by -Wall.
2410
2411 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2412
2413 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
2414 desactivated use of EDID at all.
2415
2416 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2417 2013-09-23 neil
2418
2419 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
2420 video if no text is available.
2421
2422 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2423 2013-09-23 neil
2424
2425 * configure.ac: Substitute TARGET_RANLIB.
2426
2427 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2428 2013-09-23 neil
2429
2430 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
2431
2432 Based on patches from AROS.
2433
2434 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2435 2013-09-23 neil
2436
2437 * grub-core/Makefile.am: Override STRIP and RANLIB.
2438 * configure.ac: compute TARGET_RANLIB.
2439 * INSTALL: Document TARGET_RANLIB
2440
2441 Based on patches from AROS.
2442
2443 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
2446 that floppies are unpartitioned.
2447
2448 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2449
2450 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
2451 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
2452
2453 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2454
2455 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
2456 less nice but more portable.
2457 * grub-core/lib/posix_wrap/wchar.h: Likewise.
2458
2459 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2460
2461 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
2462 for cheat_fd.
2463 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
2464 functions.
2465 (grub_cryptodisk_cheat_insert): Likewise.
2466 (grub_cryptodisk_close): Likewise.
2467
2468 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2469
2470 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
2471 Use windows path for DEFAULT_DIRECTORY.
2472
2473 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2474
2475 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
2476 difference was likely just gcc version, not anything mingw-related.
2477
2478 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2479
2480 Use Winapi on both cygwin and mingw32 to share more code between both.
2481
2482 2013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
2483
2484 * util/grub-install.in: Add --grub-editenv option.
2485 * util/grub-install_header (grub_compress_file): Explicitly check for
2486 plain file to avoid cp error.
2487
2488 2013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
2489
2490 * docs/grub.texi (Device syntax): Document new LVM UUID based device
2491 names; fix LVM driver name (lvm, not lv).
2492 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
2493 names.
2494
2495 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2496
2497 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
2498 files rather than one file with loads of #if's.
2499 * util/getroot.c: Likewise.
2500
2501 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2502
2503 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
2504
2505 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2506
2507 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
2508 GNU/Hurd to the list of checked PRNG.
2509
2510 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2511
2512 * configure.ac: On FreeBSD use -melf_*_fbsd format.
2513
2514 2013-09-21 Ales Nesrsta <starous@volny.cz>
2515
2516 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
2517
2518 2013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2519
2520 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
2521 * grub-core/disk/lvm.c: Add LVM UUIDs.
2522 * util/getroot.c: Use LVM UUIDs whenever possible.
2523
2524 2013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
2525
2526 * docs/grub.texi (Networking commands): Add documentation for
2527 network related commands.
2528
2529 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2530
2531 * util/getroot.c (grub_util_open_dm): Check major rather than the name
2532 to determine if device is handled by devmapper.
2533 (convert_system_partition_to_system_disk): Likewise.
2534 (get_dm_uuid): Don't check explicitly if device is mapped, it's
2535 already done in grub_util_open_dm.
2536
2537 2013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
2538
2539 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
2540 Clean up stack manipulation (sync_caches_armv*)
2541
2542 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2543
2544 * util/lvm.c: Remove since unused. Remove remaining references.
2545
2546 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2547
2548 Handle the case of partitioned LVM properly.
2549
2550 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
2551 Stop on meeting LVM, mpath or DMRAID.
2552 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
2553 (read_device_map): Likewise.
2554 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
2555 device is full disk rather than erroring out on LVM and similar cases.
2556
2557 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2558
2559 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
2560
2561 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2562
2563 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
2564 4K before the end.
2565 Reported by: Leif Lindholm
2566
2567 2013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
2568 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2569
2570 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
2571 codes.
2572
2573 2013-09-18 Colin Watson <cjwatson@ubuntu.com>
2574
2575 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
2576 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
2577
2578 2013-09-18 Douglas Ray <dougray@cpan.org>
2579
2580 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
2581 as secure.
2582
2583 2013-09-18 Aleš Nesrsta <starous@volny.cz>
2584
2585 * docs/grub.texi: Fix broken link.
2586
2587 2013-09-18 Melki Christian <Christian.melki@saabgroup.com>
2588
2589 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
2590 to break endless loop.
2591
2592 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2593
2594 * util/grub-fstest.c: Fix several printf formats.
2595 * util/grub-mkimage.c: Likewise.
2596 * util/grub-mkimagexx.c: Likewise.
2597 * util/grub-script-check.c: Likewise.
2598
2599 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2600
2601 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
2602 error.
2603
2604 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2605
2606 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
2607
2608 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2609
2610 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
2611 removed in current versions cygwin_conv_*.
2612
2613 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2614
2615 * configure.ac: Disable efiemu runtime on cygwin.
2616
2617 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2618
2619 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
2620 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
2621
2622 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2623
2624 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
2625 error message.
2626
2627 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2628
2629 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
2630 windows variant.
2631 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
2632 data.
2633
2634 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2635
2636 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
2637 when on x86 and not cygwin.
2638 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
2639 -Wl,-melf_x86_64.
2640
2641 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2642
2643 * configure.ac: Set CPP to build one when checkoing for freetype for
2644 build.
2645
2646 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2647
2648 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
2649 [!GRUB_BUILD]: Remove has_argument.
2650
2651 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2652
2653 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
2654 Replace with a dummy.
2655
2656 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2657
2658 * configure.ac: Don't change host_os from mingw to cygwin.
2659
2660 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2661
2662 * configure.ac: Change target_os from windows to cygwin.
2663
2664 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2665
2666 Handle grub-pe2elf and grub-mkfont for cases when build != host.
2667
2668 * Makefile.am (build-grub-mkfont): Don't include gnulib.
2669 (build-grub-gen-asciih): Likewise.
2670 (build-grub-gen-widthspec): Likewise.
2671 * Makefile.util.def (grub-pe2elf): Remove.
2672 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
2673 * configure.ac: Separate tests for build.
2674 Move ./build-grub-pe2elf to grub-core.
2675 Fix typo.
2676 * grub-core/Makefile.am (build-grub-pe2elf): New target.
2677 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
2678 defined.
2679 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
2680 constants.
2681 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
2682 * util/grub-pe2elf.c: Simplify not to rely on getopt.
2683 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
2684
2685 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2686
2687 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
2688 mingw32 as well based on grub_util_get_disk_size.
2689 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
2690 grub_util_get_fd_size.
2691 (sync): Removed.
2692 (fsync): Moved to ...
2693 * grub-core/kern/emu/misc.c (fsync): ... here.
2694
2695 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2696
2697 * include/grub/mm.h (grub_extend_alloc): Remove.
2698 * grub-core/loader/i386/pc/plan9.c: Use own version of
2699 grub_extend_alloc with appropriate types.
2700
2701 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2702
2703 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
2704
2705 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2706
2707 * util/getroot.c: Include sys/wait.h only when we need waitpid.
2708
2709 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2710
2711 Fix dependencies on cygwin.
2712
2713 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
2714 dependencies when used and defined.
2715 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
2716
2717 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2718
2719 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
2720 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
2721
2722 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2723
2724 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
2725 implementation available to cause compile-time rather than runtime
2726 error.
2727
2728 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2729
2730 * util/grub-fstest.c: Don't check for symlinks on windows.
2731
2732 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2733
2734 * INSTALL: Mention unavailability of man pages when cross-compiling.
2735
2736 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2737
2738 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
2739 and gcry_log_bug.
2740 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
2741
2742 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2743
2744 * INSTALL: Document cross-compilation.
2745 * acinclude.m4: Determine whether nm support -P and --defined-only.
2746 * configure.ac: Add TARGET_ to all variables pertaining to target
2747 that don't have it yet.
2748 * gentpl.py: Likewise.
2749 * grub-core/Makefile.am: Likewise.
2750 * grub-core/genmod.sh.in: Likewise.
2751 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
2752 as well.
2753
2754 2013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
2755
2756 * configure.ac: Remove -Wempty-body. It's not essential and needs
2757 recent gcc.
2758
2759 2013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
2760
2761 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
2762 * util/getroot.c: Likewise.
2763
2764 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 * grub-core/disk/ahci.c: Add needed explicit cast.
2767 * grub-core/lib/backtrace.c: Likewise.
2768 * grub-core/net/ip.c: Likewise.
2769 * grub-core/net/tcp.c: Likewise.
2770 * grub-core/net/udp.c: Likewise.
2771
2772 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2773
2774 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
2775
2776 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2777
2778 * util/import_gcry.py: Add final newline in visibility.h.
2779
2780 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2781
2782 * conf/Makefile.common: Fix typo.
2783
2784 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
2787
2788 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2789
2790 * Makefile.am (widthspec.h): Fix typo.
2791 * util/grub-gen-widthspec.c: Likewise.
2792
2793 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2794
2795 Move ascii.h and widthspec.h generation to a separate build-time-only
2796 tool.
2797
2798 2013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
2799
2800 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
2801 Always fill bootdisk info and improve check for NetBSD disklabel.
2802
2803 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2804
2805 * conf/Makefile.extra-dist: Add util/bin2h.c.
2806 Reported by: floppym.
2807
2808 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2809
2810 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
2811
2812 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2813
2814 * configure.ac: Disable unifont and starfield if no freetype was found.
2815
2816 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
2819 on NetBSD and OpenBSD.
2820
2821 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
2822
2823 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
2824
2825 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
2826
2827 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
2828 reduced. Inheritant options are processed during the theme loading.
2829
2830 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
2831
2832 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
2833
2834 2013-08-14 Avik Sil <aviksil@in.ibm.com>
2835
2836 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
2837
2838 2013-08-14 Avik Sil <aviksil@in.ibm.com>
2839
2840 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
2841 using qemu.
2842
2843 2013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2844
2845 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
2846 remove-potcdate.sed.
2847
2848 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
2849
2850 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
2851 unused attribute from pull argument.
2852
2853 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
2854
2855 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
2856 memory leak.
2857
2858 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
2859
2860 * util/getroot.c (pull_lvm_by_command): add --separator option
2861 to vgs call to disable padding of output to 10 characters.
2862
2863 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2864
2865 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
2866 here ...
2867 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
2868 here.
2869
2870 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2871
2872 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
2873 length.
2874
2875 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 Fix handling of build-time grub-bin2h and grub-mkfont when doing
2878 full Canadian cross. Tested with build=x86_64, host=arm,
2879 target=ppc-ieee1275.
2880
2881 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2882
2883 * configure.ac: Error if no $BUILD_CC could be found.
2884 Reported by: DevHC.
2885
2886 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2887
2888 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
2889 i386-multiboot.
2890
2891 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2892
2893 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
2894 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
2895
2896 2013-08-13 Colin Watson <cjwatson@ubuntu.com>
2897
2898 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
2899 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
2900 falling back to the partition device, otherwise a later call to this
2901 function may fail spuriously.
2902 Reported by Axel Beckert. Fixes Debian bug #708614.
2903
2904 2013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
2905
2906 * autogen.sh: Replace find -not by the POSIX-compliant find !.
2907
2908 2013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
2909
2910 Prevent shadowing of stdlib's devname(3) on BSD.
2911
2912 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
2913 and devlast to diskname and disklast, respectively.
2914
2915 2013-08-11 Colin Watson <cjwatson@ubuntu.com>
2916
2917 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
2918
2919 2013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2920
2921 * docs/grub.texi: Introduce terminal window position options:
2922 terminal-left: terminal window's left position
2923 terminal-top: terminal window's top position
2924 terminal-width: terminal window's width
2925 terminal-height: terminal window's height
2926 terminal-border: terminal window's border width
2927 * grub-core/gfxmenu/theme-loader.c: Likewise.
2928 * include/grub/gfxmenu_view.h: Likewise.
2929 * po/exlude.pot: Likewise.
2930 * grub-core/gfxmenu/view.c: Likewise.
2931 Also updated minimal window size.
2932 Also terminal_sanity_check function has been introduced.
2933 * grub-core/tests/checksums.h: Update (terminal window height
2934 is adjusted now for low resolution screen)
2935
2936 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2937
2938 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
2939 position).
2940
2941 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2942
2943 * po/exclude.pot: Add few recent exceptions.
2944
2945 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2946
2947 * tests/grub_func_test.in: Add unicode.pf2.
2948
2949 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
2952 standard rather than noral color, in line with other terminals.
2953
2954 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2955
2956 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
2957 analysis.
2958
2959 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2960
2961 * grub-core/loader/arm/linux.c: Change printf to dprintf.
2962
2963 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2964
2965 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
2966 inappropriate printf.
2967
2968 2013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
2969
2970 * .bzrignore: Remove grub-core/lib/dtc-grub,
2971 grub-core/Makefile.libfdt.def
2972 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
2973
2974 2013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2975
2976 * include/grub/video.h (grub_video_register): Keep double-linked as
2977 well as single-linked invariants.
2978 Reported by: qwertial.
2979
2980 2013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2981
2982 * grub-core/commands/nativedisk.c (get_uuid): Handle
2983 GRUB_DISK_DEVICE_UBOOTDISK_ID.
2984
2985 2013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
2986
2987 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
2988 maximum of NW, N, NE heights instead of N's height and maximum of
2989 NW, W, SW widths instead of W's width. (So the box will be always
2990 correctly drawn)
2991
2992 2013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
2993
2994 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
2995 Fix misuse of variable count.
2996
2997 2013-07-18 Leif Lindholm <leif.lindholm@arm.com>
2998 2013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
2999 2013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
3000
3001 New ports to arm-uboot and arm-efi.
3002 Mostly by Leif Lindholm with some additions from
3003 Francesco Lavra and cleanup by Vladimir Serbinenko.
3004
3005 2013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3006
3007 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
3008 and not before.
3009 Reported by: Leon Drugi.
3010
3011 2013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3012
3013 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
3014 Reported by: Paulo Flabiano Smorigo.
3015
3016 2013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3017
3018 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
3019
3020 2013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3021
3022 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
3023
3024 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3025
3026 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
3027
3028 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3029
3030 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
3031
3032 2013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
3033
3034 * grub-core/net/bootp.c: Export net_* variables.
3035 * grub-core/net/net.c: Likewise.
3036
3037 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3038
3039 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
3040
3041 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3042
3043 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
3044
3045 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3046
3047 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
3048
3049 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
3052
3053 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3054
3055 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
3056 <= 0.
3057
3058 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3059
3060 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
3061 functions.
3062
3063 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3064
3065 * grub-core/fs/zfs/zfs_lz4.c: New file.
3066 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
3067
3068 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3069
3070 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
3071
3072 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3073
3074 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
3075 (check_pool_label): Likewise.
3076 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
3077
3078 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3079
3080 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
3081
3082 2013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3083
3084 * docs/grub.texi (Commands): Document postition parameters
3085 for menuentry command.
3086
3087 2013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3088
3089 * util/grub-mknetdir.in: Remove stray line from help output.
3090
3091 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3092
3093 Remove early sm712 init as there is no reason for it (the "watchdog"
3094 effect was due to wrong GPIO map).
3095
3096 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3097
3098 * grub-core/commands/pcidump.c: Remove static variables.
3099
3100 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3101
3102 * grub-core/commands/sleep.c: Refresh screen before sleeping.
3103
3104 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3105
3106 * configure.ac: Move delimiter after the infos.
3107
3108 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
3111
3112 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
3115 not filling whole 8x16 space.
3116
3117 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
3120
3121 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 * configure.ac: Indicate which liblzma is used if any.
3124
3125 2013-06-21 Paul Wise <pabs3@bonedaddy.net>
3126 2013-06-21 Craig Sanders <savannah@taz.net.au>
3127
3128 * util/grub-reboot.in: Document submenu usage.
3129
3130 2013-06-25 Colin Watson <cjwatson@ubuntu.com>
3131
3132 * .bzrignore: Update with a number of new test-related files.
3133
3134 2013-06-25 Colin Watson <cjwatson@ubuntu.com>
3135
3136 * util/grub-script-check.c: Fail on scripts containing no
3137 commands, to guard against corrupted grub-mkconfig setups that
3138 produce no useful output.
3139 * tests/grub_script_no_commands.in: New test.
3140 * Makefile.util.def (grub_script_no_commands): Add.
3141 Reported by Hans Putter. Fixes Debian bug #713886.
3142
3143 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3144
3145 * grub-core/disk/diskfilter.c: Forgot to remove comment
3146 from previous commit.
3147
3148 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3149
3150 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
3151 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
3152
3153 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3154
3155 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
3156
3157 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3158
3159 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
3160 rescan diskfilter devices until nothing new is found.
3161
3162 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3163
3164 Fix casts when compiling coreboot-specific code for 64-bit EFI.
3165
3166 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3167
3168 Don't try to detect cbfs on *-emu.
3169
3170 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3171
3172 * grub-core/term/gfxterm.c: USe right background color when scrolling.
3173
3174 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3175
3176 Add support for processed coreboot payload chainloading.
3177
3178 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3179
3180 Enable coreboot information commands even when not loaded as
3181 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
3182
3183 2013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3184
3185 Support for cbfs. Also factor out the part which is common
3186 for all archives to a separate module. This splits tar from cpio
3187 as they are very different but keeps cpio, cpio_be, odc and newc
3188 together since they're very similar.
3189
3190 2013-06-15 David Michael <fedora.dm0@gmail.com>
3191
3192 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
3193 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
3194
3195 2013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 * tests/grub_script_eval.in: Really add the eval test.
3198
3199 2013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 Move flavour-specific parts out of common cpio.c file and
3202 rename remaining to cpio_common.c
3203
3204 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3205
3206 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
3207 off new function grub_script_execute_new_scope. Change callers to use
3208 either of them as appropriate.
3209 * grub-core/commands/eval.c: New command eval.
3210 * docs/grub.texi (Commands): Document it.
3211
3212 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3213
3214 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
3215 to fetch values when listing.
3216
3217 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3218
3219 Fix make dist on non-pc.
3220
3221 2013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
3222
3223 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
3224 without a device name.
3225
3226 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3227
3228 Remove enable_executable_check as it's not needed anymore.
3229 Reported by: dougray.
3230
3231 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3232
3233 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
3234 ambigouos RAID before discovering RAIDs on top of it.
3235 Reported by: bodom.
3236
3237 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3238
3239 Fix typo (failback vs fallback).
3240
3241 2013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
3242
3243 * util/grub.d/30_os-prober.in: Add support for probing EFI
3244 System Partition (as of os-prober 1.58).
3245
3246 2013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3247
3248 * configure.ac: Add yet another path to unifont. For parabola.
3249
3250 2013-05-30 Josh Triplett <josh@joshtriplett.org>
3251
3252 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
3253 handling to copy the killed characters to the kill buffer as
3254 UCS4 stored as grub_uint32_t rather than as 8-bit characters
3255 stored as char. Eliminates UCS4 truncation and corruption
3256 observed when killing characters with Ctrl-u and yanking them
3257 back with Ctrl-y.
3258
3259 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3260
3261 Detach optional parts of gfxterm and integrate in with coreboot init.
3262
3263 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 Move blit and fill dispatcher to appropriate files to decrease export
3266 and relocation overhead.
3267
3268 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3269
3270 * grub-core/font/font.c, include/grub/font.h: Inline simple font
3271 functions.
3272
3273 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3274
3275 * grub-core/Makefile.am: Fix compilation problem with some
3276 automake versions.
3277
3278 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
3281
3282 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3283
3284 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
3285 automake versions.
3286
3287 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3288
3289 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
3290 SSDT.
3291
3292 2013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
3293
3294 * grub-core/partmap/dfly.c: New partition map.
3295
3296 2013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3297
3298 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
3299 checking.
3300 Reported by: Francesco Lavra.
3301
3302 2013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
3303
3304 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
3305 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
3306 false conditions.
3307 * conf/Makefile.common: define dist_grubconf_DATA
3308
3309 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3310
3311 Progressively skip menu elements on small terminals rather
3312 than crashing.
3313
3314 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3315
3316 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
3317 to avoid losing last column.
3318
3319 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3320
3321 * po/exclude.pot: Add missing string "%C".
3322
3323 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3324
3325 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
3326 after the test.
3327
3328 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3329
3330 * util/grub-install.in: Gettextize "Not found" message.
3331
3332 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3333
3334 Fix distfiles list.
3335 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
3336
3337 2013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3338
3339 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
3340 present.
3341 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
3342
3343 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3344
3345 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
3346
3347 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3348
3349 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
3350 attribute since structure is not necessarily aligned.
3351
3352 2013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
3353
3354 * docs/grub.texi (Device syntax): Clarify description of network
3355 drives.
3356
3357 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3358
3359 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
3360 for vasprintf presence.
3361
3362 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3363
3364 * util/grub-install.in: Handle efibootmgr presence check.
3365 Reported by: Leif Lindholm.
3366
3367 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3368
3369 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
3370 new strings to translate.
3371
3372 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3373
3374 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
3375 yet another string (pun intended) to translate.
3376
3377 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3378
3379 * po/POTFILES-shell.in: Autogenerate it.
3380
3381 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3382
3383 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
3384
3385 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3386
3387 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
3388 misnomer.
3389
3390 2013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
3391
3392 * docs/grub.texi (Network): Add description of net_default_interface,
3393 net_default_ip and net_default_mac. Rewrite variables description
3394 to emphasize that they are per-interface.
3395
3396 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3397
3398 New test: cmdline and cat.
3399
3400 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3401
3402 * grub-core/commands/cat.c: Show UTF-8 characters.
3403
3404 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3405
3406 * conf/Makefile.common: Poison float and double on non-emu.
3407
3408 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3409
3410 * configure.ac: Don't disable extended registers on emu.
3411
3412 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3413
3414 * configure.ac: Don't use extended registers on x86_64.
3415 Reported by: Peter Jones.
3416
3417 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3418
3419 * grub-core/term/efi/console.c: Fix compile error.
3420
3421 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3422
3423 Compressed HFS+ support.
3424
3425 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3426
3427 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
3428 pixel".
3429
3430 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3431
3432 Menu color test.
3433
3434 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3435
3436 * grub-core/tests/setjmp_test.c: New test.
3437
3438 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 New variables 'net_default_*' to determine MAC/IP of default interface.
3441
3442 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3443
3444 * tests/gettext_strings_test.in: A test to check for strings not
3445 marked for translation.
3446
3447 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3448
3449 * autogen.sh: Exclude unused libgcrypt files from translation.
3450
3451 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3452
3453 Simplify few strings.
3454
3455 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 Mark few forgotten strings for translation.
3458
3459 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3460
3461 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
3462 rather than printf.
3463
3464 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3465
3466 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
3467 rather than printf.
3468 * grub-core/video/readers/tga.c: Likewise.
3469
3470 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3471
3472 * tests/priority_queue_unit_test.cc: New test.
3473
3474 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3475
3476 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
3477 than printf.
3478
3479 2013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
3480
3481 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
3482 variable for one time boot menu entry.
3483
3484 2013-05-05 Bean <bean123ch@gmail.com>
3485
3486 * grub-core/commands/testspeed.c: New command testspeed.
3487
3488 2013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3489
3490 Factor-out human-size printing.
3491
3492 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3493
3494 Agglomerate more mallocs to speed-up gfxterm.
3495
3496 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 Speed-up gfxterm by slightly agglomerating mallocs.
3499
3500 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3501
3502 More video checks.
3503
3504 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3505
3506 Speed-up gfxterm by saving intermediate results in index+alpha
3507 format.
3508
3509 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3510
3511 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
3512 test.
3513
3514 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3515
3516 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
3517 line of timeout as it may contain the rest of long line.
3518
3519 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3520
3521 * grub-core/normal/main.c: Fix freed memory dereference.
3522
3523 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3524
3525 Fix several memory leaks.
3526
3527 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3528
3529 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
3530
3531 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3532
3533 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
3534
3535 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3536
3537 Fix test -a and -o precedence.
3538 Reported by: adrian15.
3539
3540 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3541
3542 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
3543
3544 2013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
3545
3546 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
3547 and add it as source to functional_test module.
3548
3549 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3550
3551 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
3552
3553 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3554
3555 New series of tests for gfxterm and gfxmenu.
3556
3557 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3558
3559 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
3560 the theme path relative to $prefix/themes.
3561
3562 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3563
3564 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
3565 Fix order bug.
3566 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
3567
3568 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3569
3570 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
3571 descriptor.
3572
3573 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3574
3575 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
3576 grub_gfxmenu_timeout_notifications.
3577 (grub_gfxmenu_view_destroy): Likewise.
3578
3579 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3580
3581 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
3582
3583 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3584
3585 Several fixes to ieee1275 and big-endian video.
3586
3587 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3588
3589 Add missing exports on mips.
3590
3591 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3592
3593 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
3594 if no unifont is found.
3595 Restore original keyboard.
3596
3597 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3598
3599 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
3600 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
3601
3602 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3603
3604 First automated video test (running videotest and comparing results)
3605
3606 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3607
3608 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
3609 instead of 2 to have full RGB/CMY test pattern.
3610
3611 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
3612
3613 Add few more tests.
3614
3615 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
3616
3617 * include/grub/arc/arc.h: Account for missing "other" peripheral on
3618 ARCS. All users updated.
3619
3620 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
3621
3622 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
3623
3624 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 * grub-core/partmap/amiga.c: Fix size of checksummed block.
3627
3628 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3629
3630 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
3631 Reported by: qwertial.
3632
3633 2013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
3634
3635 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
3636 with syntax "XXX deg"/"XXX °".
3637
3638 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3639
3640 Make PCI init in i386-qemu port more robust.
3641
3642 2013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
3643
3644 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
3645 cached view is reused.
3646 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
3647 open boot menus.
3648
3649 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3650
3651 Unify more code in grub-install_header.
3652
3653 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3654
3655 Add few new tests.
3656
3657 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3658
3659 Enforce disabling of firmware disk drivers when native drivers kick in.
3660
3661 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3662
3663 * grub-core/commands/nativedisk.c: Customize the list of modules on
3664 platform. Don't try to search for disks already using native drivers.
3665
3666 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3667
3668 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
3669 platforms.
3670
3671 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3672
3673 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
3674 handling of variables containing backslash.
3675
3676 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
3679 dereference.
3680 Reported by: qwertial.
3681
3682 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3683
3684 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
3685
3686 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3687
3688 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
3689 dereference.
3690 Reported by: qwertial.
3691
3692 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3693
3694 * docs/grub.texi: Add a comment about usefullness of nativedisk.
3695
3696 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3697
3698 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
3699
3700 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3701
3702 New command `nativedisk'.
3703
3704 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3705
3706 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
3707 * grub-core/loader/i386/bsd.c: Likewise.
3708
3709 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3710
3711 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
3712
3713 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3714
3715 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
3716 grub_get_unaligned16 rather than shifts.
3717
3718 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3719
3720 * grub-core/kern/file.c: Use const char * rather than casting to
3721 non-const.
3722
3723 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3724
3725 * grub-core/commands/probe.c: Add missing grub_device_close.
3726
3727 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3728
3729 * INSTALL: Document linguas.sh.
3730
3731 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3732
3733 Remove POTFILES.in and regenerate it in autogen.sh.
3734
3735 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3736
3737 Move --directory/--override-directorry to grub-install_header and unify.
3738
3739 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3740
3741 * grub-core/term/morse.c: Macroify dih and dah.
3742
3743 2013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3744
3745 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
3746
3747 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3748
3749 * grub-core/term/ns8250.c: Systematically probe ports by writing
3750 to SR before using them.
3751
3752 2013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3753
3754 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
3755 disks.
3756 (check_sas): Get sas_adress info.
3757
3758 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3759
3760 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
3761 ports.
3762
3763 2013-04-27 Leon Drugi <eyak>
3764
3765 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
3766 BSS clearing.
3767
3768 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 Core compression test.
3771
3772 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3773
3774 Implement grub_machine_get_bootlocation for ARC.
3775
3776 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3777
3778 Improve AHCI detection and command issuing.
3779
3780 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3781
3782 Fix pseries test.
3783
3784 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3785
3786 Make 'make check' work on emu.
3787
3788 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3789
3790 Replace libcurses with our own vt100 handling for the ease of testing
3791 and decreasing prerequisites.
3792
3793 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
3796
3797 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3798
3799 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
3800 compile when not needed.
3801
3802 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3803
3804 * tests/pseries_test.in: New test.
3805
3806 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3807
3808 Add test to check that different boot mediums work.
3809
3810 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3811
3812 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
3813 ofw limited ISO support.
3814
3815 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3816
3817 * configure.ac: Fix loongson conditional.
3818
3819 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3820
3821 Enable mipsel-arc.
3822
3823 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3824
3825 Add serial on ARC platform.
3826
3827 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3828
3829 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
3830 commit.
3831
3832 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3833
3834 * tests/partmap_test.in: Add missing double semicolon.
3835
3836 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3837
3838 * util/grub-mkrescue.in: Fix loongson filename.
3839
3840 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3841
3842 * util/grub-mkrescue.in: Move all files that don't have a location
3843 set in stone under /boot/grub. Use ISO hard links rather than copies
3844 to save some space.
3845
3846 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3847
3848 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
3849 bogus SLOF values.
3850
3851 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3852
3853 Make check work on mips-arc.
3854
3855 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3856
3857 * util/grub-mkrescue.in: Alias sashARCS as sash.
3858
3859 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
3862 it's serial.
3863
3864 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3865
3866 * util/grub-install.in: Fix target fo qemu_mips.
3867 Fix extension on EFI.
3868
3869 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3870
3871 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
3872 in front of chosen entry to mark it even if highlighting is lost.
3873
3874 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3875
3876 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
3877 gfxpayload=keep if cbfb is active.
3878
3879 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3880
3881 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
3882
3883 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3884
3885 Add missing video ids to coreboot and ieee1275 video.
3886
3887 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3888
3889 * util/grub-mkrescue.in: Add mips-arc support.
3890
3891 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3892
3893 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
3894
3895 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3896
3897 Move mips-arc link address. Previous link address was chosen
3898 in belief that RAM on SGI platforms grows down while in fact it
3899 grows up from an unusual base.
3900
3901 2013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3902
3903 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
3904 Fix a type which prevented CD-ROM and floppy boot.
3905
3906 2013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3907
3908 Support coreboot framebuffer.
3909
3910 * grub-core/video/i386/coreboot/cbfb.c: New file.
3911
3912 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3913
3914 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
3915 detecting too small regions.
3916
3917 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3918
3919 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
3920
3921 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
3924 Remove dprintf.
3925 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
3926
3927 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3928
3929 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
3930 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
3931 * grub-core/loader/powerpc/ieee1275/linux.c
3932 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
3933
3934 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3935
3936 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
3937 Look for /boot-rom as well as /rom/boot-rom.
3938
3939 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3940
3941 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
3942 handling when creating text_layer failed.
3943 * grub-core/video/video.c (grub_video_create_render_target):
3944 Set result to 0 on error.
3945 (grub_video_delete_render_target): Do not dereference NULL.
3946
3947 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3948
3949 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
3950 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
3951 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
3952 (grub_linux_load64): Mask out 2 high bits.
3953
3954 2013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
3955
3956 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
3957 more place.
3958
3959 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3960
3961 Add support for pseries and other bootinfo machines to grub-mkrescue.
3962
3963 Tested by: Paulo Flabiano Smorigo.
3964
3965 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3966
3967 * util/grub-mkrescue.in: Add GPT for EFI boot.
3968
3969 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3970
3971 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
3972 It improves performance in qemu.
3973
3974 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3975
3976 * build-aux/snippet: Add missing gnulib files.
3977
3978 2013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
3979
3980 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
3981
3982 2013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
3983
3984 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
3985
3986 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3987 2013-04-15 Peter Jones <pjones@redhat.com>
3988
3989 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
3990 sectors.
3991 Based on patch by Peter Jones.
3992
3993 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3994
3995 Fix DMRAID partition handling.
3996
3997 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3998
3999 * tests/grub_cmd_date.in: Skip on sparc64.
4000
4001 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4002
4003 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
4004 firmware error messages.
4005
4006 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4007
4008 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
4009 source and destination differ.
4010
4011 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4012
4013 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
4014 detection.
4015
4016 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4017
4018 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
4019 match config-util.h to avoid warnings and increase compatibility.
4020
4021 2013-04-14 Szymon Janc <szymon@janc.net.pl>
4022 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4023
4024 Add option to compress files on install/image creation.
4025
4026 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 * docs/grub-dev.texi: Rearrange menu to match the section order.
4029 Reported by: Bryan Hundven.
4030
4031 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4032
4033 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
4034
4035 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4036
4037 Move GRUB out of system area when using xorriso 1.2.9 or later.
4038
4039 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4040
4041 * tests/grub_cmd_date.in: Add missing exit 1.
4042
4043 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4044
4045 * tests/partmap_test.in: Skip on sparc64.
4046
4047 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4048
4049 Support grub-shell on sparc64.
4050
4051 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4052
4053 Support mkrescue on sparc64.
4054
4055 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4056
4057 Allow IEEE1275 ports on path even if it wasn't detected automatically.
4058 Needed on OpenBIOS due to incomplete device tree.
4059
4060 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4061
4062 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
4063 would be otherwise excluded.
4064
4065 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4066
4067 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4068 Inline name defines used only once.
4069
4070 2013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4071
4072 Fix memory leaks in ofnet.
4073 Reported by: Francesco Lavra.
4074
4075 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 * docs/man/grub-glue-efi.h2m: Add missing file.
4078
4079 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4080
4081 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
4082
4083 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4084
4085 Better support Apple Intel Macs on CD.
4086
4087 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4088
4089 Replace stpcpy with grub_stpcpy in tools.
4090
4091 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4092
4093 Handle Japanese special keys.
4094 Reported by: Hiroyuki YAMAMORI.
4095 Codes supplied by: Hiroyuki YAMAMORI.
4096
4097 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4098
4099 * util/grub-mkimage.c: Document memdisk implying --prefix.
4100
4101 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4102
4103 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
4104 much we can do about it anyway.
4105
4106 2013-04-12 Aleš Nesrsta <starous@volny.cz>
4107
4108 Fix handling of split transfers.
4109
4110 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4111
4112 * grub-core/net/http.c: Fix bad free.
4113
4114 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4115
4116 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
4117 than buffer size.
4118
4119 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4120
4121 Disable partmap check on i386-ieee1275 due to openfirmware issues.
4122
4123 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4124
4125 * tests/util/grub-shell.in: Fix it on powerpc.
4126
4127 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4128
4129 Turn off QEMU ACPI-way since new releases don't have shutdown port
4130 anymore.
4131
4132 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4133
4134 * docs/grub.texi: Update coreboot status info.
4135
4136 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4137
4138 * tests/grub_cmd_date.in: New test for datetime.
4139
4140 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4141
4142 * tests/partmap_test.in: Fix missing qemudisk setting.
4143
4144 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4145
4146 Support i386-ieee1275 grub-mkrescue and make check on it.
4147
4148 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4149
4150 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
4151 feature for it.
4152
4153 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4154
4155 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
4156 GRUB_CMDLINE_XEN_DEFAULT.
4157 Reported by: Marc Warne (GigaTux) <gigatux>
4158
4159 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4160
4161 Import new gnulib.
4162
4163 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4164
4165 Use ACPI shutdown intests as traditional port was removed.
4166
4167 2013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
4168
4169 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
4170 distinction.
4171
4172 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4173
4174 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
4175 Fix few warining messages and leaks while on it.
4176
4177 2013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
4178
4179 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
4180 links under grub-core/lib/libgcrypt-grub/mpi.
4181
4182 2013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4183
4184 Fix ia64-efi image generation on big-endian machines. Deduplicate
4185 some code while on it.
4186 Reported by: Leif Lindholm.
4187
4188 2013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
4189
4190 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
4191 as extra_dist.
4192
4193 2013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
4194
4195 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
4196
4197 2013-04-08 Bryan Hundven <bryanhundven@gmail.com>
4198
4199 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
4200 texinfo-5.1.
4201
4202 2013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4203
4204 * grub-core/normal/term.c: Few more fixes for menu entry editor
4205 rendering.
4206 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4207
4208 2013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4209
4210 * grub-core/normal/term.c: Few more fixes for menu entry editor
4211 rendering.
4212 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4213
4214 2013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
4215
4216 * conf/Makefile.extra-dist (EXTRA_DIST): Add
4217 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
4218
4219 2013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
4220
4221 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
4222 instead of hardcoding grub.mo.
4223
4224 2013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
4225
4226 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
4227
4228 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4229
4230 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
4231 grub-core/disk/geli.c.
4232
4233 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4234
4235 * util/grub-mkfont.c: Prefer enum to #define.
4236
4237 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4238
4239 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
4240
4241 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4242
4243 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
4244
4245 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4246
4247 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
4248
4249 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4250
4251 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
4252
4253 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4254
4255 * include/grub/bsdlabel.h: Use enums.
4256
4257 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 Move GRUB_CHAR_BIT to types.h.
4260
4261 2013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
4262
4263 * docs/grub.texi: Document more user commands.
4264
4265 2013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
4266
4267 * docs/grub.texi: Document menuentry --id option.
4268
4269 2013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
4270
4271 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
4272
4273 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4274
4275 Unify file copying setup across different install scripts. Add
4276 options for performing partial install.
4277
4278 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4279 2013-04-04 Peter Jones <pjones@redhat.com>
4280
4281 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
4282
4283 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4284
4285 Use TSC as a possible time source on i386-ieee1275.
4286
4287 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4288
4289 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
4290 Init err.
4291
4292 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4293
4294 * util/grub-setup.c (setup): Handle some corner cases.
4295
4296 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4297
4298 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
4299
4300 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4301
4302 * grub-core/commands/verify.c: Save verified file to avoid it being
4303 tampered with after verification was done.
4304
4305 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4306
4307 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
4308 reported width by one to compensate for curesor algorithm problem.
4309
4310 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4311
4312 Fix screen corruption in menu entry editor and simplify the code
4313 flow while on it.
4314
4315 2013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
4316
4317 * util/grub-mount.c (fuse_init): Return error if fuse_main
4318 failed.
4319
4320 2013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
4321
4322 * include/grub/elf.h: Add missing ARM relocation codes and fix
4323 existing ones.
4324
4325 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
4326
4327 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
4328
4329 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
4330 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4331
4332 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
4333 into account when calculating radius.
4334
4335 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
4336
4337 * grub-core/gfxmenu/view.c: Fix off-by-one error.
4338
4339 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
4340
4341 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
4342
4343 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
4344
4345 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
4346 missing closing bracket.
4347
4348 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
4349
4350 * INSTALL: Mention xorriso requirement.
4351
4352 2013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
4353
4354 * grub-core/commands/verify.c: Fix hash algorithms values for
4355 the first three hashes - they start with 1, not with 0.
4356
4357 2013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4358
4359 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
4360 Try terminating EFI services several times due to quirks in some
4361 implementations.
4362
4363 2013-03-26 Colin Watson <cjwatson@ubuntu.com>
4364
4365 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
4366 skipping Event, Device, Processor, PowerRes, ThermalZone, and
4367 BankField extended opcodes.
4368 (get_sleep_type): Add minimal scope handling (just enough to
4369 handle setting the scope to the root path).
4370 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
4371 * include/grub/acpi.h: Add enumeration values for Event, Device,
4372 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
4373
4374 2013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
4375
4376 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
4377 memory leak.
4378
4379 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
4380
4381 * grub-core/disk/ahci.c: Give more time for AHCI request.
4382
4383 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
4384
4385 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
4386 command.
4387
4388 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
4389
4390 Replace the region at 0 from coreboot tables to available in BSD
4391 memory map.
4392
4393 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4394
4395 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
4396 non-BIOS platforms.
4397
4398 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
4401 platforms.
4402
4403 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4404
4405 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
4406 handling of multi-device filesystems.
4407
4408 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4409
4410 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
4411 platforms.
4412
4413 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4414
4415 Add new 'proc' filesystem framework and put luks_script into it.
4416
4417 2013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4418
4419 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
4420 and qemu.
4421
4422 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
4423
4424 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
4425
4426 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
4427
4428 Add ability to generate newc additions on runtime.
4429
4430 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
4431
4432 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
4433 description.
4434
4435 2013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
4436
4437 * po/POTFILES.in: Regenerate.
4438
4439 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4440
4441 * grub-core/commands/verify.c (hashes): Add several hashes
4442 from the spec.
4443
4444 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4445
4446 Slight improve in USB-related boot-time checkpoints.
4447
4448 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4449
4450 * grub-core/commands/boottime.c: Fix copyright header.
4451
4452 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4453
4454 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
4455 coreboot tables content. Support for cbmemc.
4456
4457 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4458
4459 Fix a conflict between ports structures with 2 controllers of
4460 same kind.
4461
4462 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4463
4464 * include/grub/boottime.h: Add missing file.
4465
4466 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4467
4468 Initialize USB ports in parallel to speed-up boot.
4469
4470 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4471
4472 Fix USB devices not being detected when requested
4473 due to delayed attach.
4474
4475 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4476
4477 Implement boot time analysis framework.
4478
4479 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4480
4481 Remove get_endpoint_descriptor and change all functions needing
4482 descriptor to just receive it as argument rather than endpoint
4483 address.
4484
4485 2013-03-19 Aleš Nesrsta <starous@volny.cz>
4486
4487 Better estimate the maximum USB transfer size.
4488
4489 2013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
4490
4491 Resend a packet if we got the wrong buffer in status.
4492
4493 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4494
4495 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
4496 multiplication rather than division.
4497
4498 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4499
4500 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
4501 than divisions.
4502
4503 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4504
4505 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
4506 operations to have intended shifts and not divisions.
4507
4508 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4509
4510 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
4511 intended shifts rather than division.
4512
4513 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4514
4515 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
4516 computation for some years before epoch. Avode confusing division
4517 while on it.
4518
4519 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4520
4521 * grub-core/video/i386/pc/vbe.c
4522 (grub_video_vbe_print_adapter_specific_info): Replace division by
4523 shifts.
4524
4525 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4526
4527 Adjust types in gdb module to have intended unsigned shifts rather than
4528 signed divisions.
4529
4530 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4531
4532 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
4533 maximum size is 4G - 1 on hfs
4534
4535 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4536
4537 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
4538
4539 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4540
4541 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
4542 function.
4543
4544 2013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
4545
4546 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
4547 causing gcc error with gcc 4.7.1.
4548
4549 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
4550
4551 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
4552 dereference null pointer. While the code is technically correct, gcc
4553 may eliminate a null check if pointer is already dereferenced.
4554
4555 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
4556
4557 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
4558 OOM check.
4559 * grub-core/normal/term.c (read_terminal_list): Likewise.
4560
4561 2013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
4562
4563 Lift up core size limits on some platforms. Fix potential memory
4564 corruption with big core on small memory systems. Document remaining
4565 limits.
4566
4567 2013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4568
4569 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
4570 gotoxy to 0,0.
4571
4572 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4573
4574 Remove all trampoline support. Add -Wtrampolines when
4575 present. Remove symbols used for trampolines to make
4576 link fail if trampolines are present.
4577
4578 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4579
4580 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
4581 append out of its parent.
4582
4583 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4584
4585 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
4586 parent.
4587
4588 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4589
4590 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
4591 all vars to a macro. All users updated.
4592
4593 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4594
4595 * grub-core/disk/ieee1275/nand.c: Fix compilation on
4596 i386-ieee1275.
4597
4598 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4599
4600 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
4601
4602 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4603
4604 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
4605
4606 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 Move to more hookless approach in IEEE1275 devices handling.
4609
4610 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4611
4612 * grub-core/kern/term.c (grub_term_normal_color),
4613 (grub_term_highlight_color): Add back lost defaults.
4614
4615 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4616
4617 Make elfload not use hooks. Opt for flags and iterators instead.
4618
4619 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4620
4621 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
4622 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
4623
4624 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4625
4626 * grub-core/script/execute.c (gettext_append): Remove nested functions.
4627
4628 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4629
4630 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
4631 hook pass-through parameter. All users updated and unnested.
4632
4633 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4634
4635 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
4636 out of its parent.
4637
4638 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4639
4640 * grub-core/fs/hfs.c: Remove nested functions.
4641
4642 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4643
4644 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
4645 the context through.
4646 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
4647
4648 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4649
4650 * util/grub-editenv.c (list_variables): Move print_var out of its
4651 parent.
4652
4653 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4654
4655 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
4656 function.
4657
4658 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4659
4660 * grub-core/gentrigtables.c: Make tables const.
4661
4662 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4663
4664 Remove nested functions from videoinfo iterators.
4665
4666 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4667
4668 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
4669 for 64-bit platforms.
4670
4671 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4672
4673 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
4674 a FOR_CHILDREN macro.
4675
4676 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4677
4678 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
4679 platform from firmware path.
4680
4681 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4682
4683 Enable linux16 on non-BIOS systems for i.a. memtest.
4684
4685 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
4686 correctly.
4687 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
4688
4689 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4690
4691 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
4692 Fix end of table condition.
4693
4694 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4695
4696 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
4697 out of its parent.
4698
4699 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4700
4701 * grub-core/fs/jfs.c: Remove nested functions.
4702
4703 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4704
4705 * grub-core/fs/minix.c: Remove nested functions.
4706
4707 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4708
4709 * grub-core/fs/iso9660.c: Remove nested functions.
4710
4711 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4712
4713 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
4714 of parent function.
4715
4716 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4717
4718 * util/grub-fstest.c: Remove nested functions.
4719
4720 2013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4721
4722 * grub-core/loader/machoXX.c: Remove nested functions.
4723
4724 2013-02-27 Colin Watson <cjwatson@ubuntu.com>
4725
4726 Remove nested functions from disk and file read hooks.
4727
4728 * include/grub/disk.h (grub_disk_read_hook_t): New type.
4729 (struct grub_disk): Add read_hook_data member.
4730 * include/grub/file.h (struct grub_file): Likewise.
4731 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
4732 argument.
4733
4734 Update all callers.
4735
4736 2012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
4737
4738 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
4739 Fix off by one error in enumerating extended partitions.
4740
4741 2013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
4742
4743 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
4744 memory leak if device name is not found.
4745
4746 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
4747
4748 * grub-core/normal/menu_entry.c (update_screen): remove
4749 unused variable `off' which caused scroll down arrow to be always shown.
4750
4751 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
4752
4753 * grub-core/normal/menu_entry.c (insert_string): fix off by one
4754 access to unallocated memory.
4755
4756 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
4757
4758 * Makefile.util.def: Add partmap/msdos.c to common library.
4759 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
4760 * grub-core/disk/ldm.c: Check for existence of
4761 GRUB_PC_PARTITION_TYPE_LDM.
4762
4763 2013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4764
4765 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
4766 sizes and display sector size.
4767
4768 2013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4769
4770 Implement new command cmosdump.
4771
4772 2013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4773
4774 Support Openfirmware disks with non-512B sectors.
4775
4776 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
4777 size of the disk.
4778 * (grub_ofdisk_get_block_size): New function.
4779 * (grub_ofdisk_prepare): Use the correct block size.
4780 * (grub_ofdisk_read): Likewise.
4781 * (grub_ofdisk_write): Likewise.
4782 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
4783 New proto.
4784
4785 2013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4786
4787 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
4788
4789 2013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4790
4791 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
4792 on first error.
4793
4794 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4795
4796 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
4797 freeing it.
4798
4799 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4800
4801 Implement USBDebug (full USB stack variant).
4802
4803 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4804
4805 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
4806 unless they have unexpected values.
4807
4808 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4809
4810 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
4811 grub_print_error.
4812
4813 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4814
4815 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
4816 zero-out of port structure.
4817
4818 2013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4819
4820 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
4821 of extended attributes.
4822
4823 2013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
4824
4825 * util/grub-install.in: change misleading comment about
4826 device.map creation
4827
4828 2013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
4831 when menu highlight color isn't set.
4832
4833 2013-01-27 C. Masloch <pushbx@38.de>
4834
4835 Improve FreeDOS direct loading support compatibility.
4836
4837 * include/grub/i386/relocator.h (grub_relocator16_state):
4838 New member ebp.
4839 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
4840 variable.
4841 (grub_relocator16_boot): Handle %ebp.
4842 * grub-core/lib/i386/relocator16.S: Likewise.
4843 * grub-core/loader/i386/pc/freedos.c:
4844 Load BPB to pass kernel which partition to load from.
4845 Check that kernel file is not too large.
4846 Set register dl to BIOS unit number as well.
4847
4848 2013-01-22 Colin Watson <cjwatson@ubuntu.com>
4849
4850 * util/grub-reboot.in (usage): Document the need for
4851 GRUB_DEFAULT=saved.
4852 * util/grub-set-default.in (usage): Likewise.
4853 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
4854
4855 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4856
4857 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
4858 than defining WORDS_BIGENDIAN manually.
4859
4860 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4861
4862 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
4863 invariants.
4864
4865 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
4866
4867 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
4868 nested.
4869 (blit_comb: add_device_width): Likewise.
4870
4871 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
4872
4873 Remove nested functions from USB iterators.
4874
4875 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
4876 (grub_usb_controller_iterate_hook_t): Likewise.
4877 (grub_usb_iterate): Add hook_data argument.
4878 (grub_usb_controller_iterate): Likewise.
4879 (struct grub_usb_controller_dev.iterate): Likewise.
4880
4881 Update all implementations and callers.
4882
4883 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4884
4885 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
4886 margin when not needed.
4887
4888 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4889
4890 Make color variables global instead of it being per-terminal.
4891
4892 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4893
4894 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
4895 asterisk.
4896
4897 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
4898
4899 Fix powerpc and sparc64 build failures caused by un-nesting memory
4900 map iterators.
4901
4902 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
4903
4904 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
4905 parameter declarations.
4906
4907 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4908
4909 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
4910
4911 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4912
4913 Improve spkmomdem reliability by adding a separator between bytes.
4914
4915 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
4916
4917 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
4918 an Acer registration utility with several sightings in the wild.
4919 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
4920
4921 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
4922
4923 Remove nested functions from filesystem directory iterators.
4924
4925 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
4926 (struct grub_fs.dir): Add hook_data argument.
4927
4928 Update all implementations and callers.
4929
4930 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
4931
4932 * docs/grub.texi (Multi-boot manual config): Fix typo for
4933 "recommended".
4934
4935 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
4936
4937 * util/grub-mkimage.c (main): Postpone freeing arguments.output
4938 until after its use in generate_image.
4939
4940 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
4941
4942 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
4943 initrd size to addr_min, since the initrd will be allocated after
4944 this address.
4945
4946 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
4947
4948 * conf/Makefile.common: Fix autogen rules to pass definition
4949 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
4950
4951 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
4952
4953 * include/grub/elf.h: Update ARM definitions based on binutils.
4954
4955 2013-01-20 Aleš Nesrsta <starous@volny.cz>
4956
4957 Split long USB transfers into short ones.
4958
4959 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
4960
4961 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
4962 is interrupted by ESC.
4963
4964 2013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4965
4966 * util/grub-script-check.c (main): Uniform the error message.
4967
4968 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
4969
4970 Remove nested functions from ELF iterators.
4971
4972 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
4973
4974 Remove nested functions from device iterators.
4975
4976 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
4977 (grub_arc_iterate_devs): Add hook_data argument.
4978 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
4979 (struct grub_ata_dev.iterate): Add hook_data argument.
4980 * include/grub/device.h (grub_device_iterate_hook_t): New type.
4981 (grub_device_iterate): Add hook_data argument.
4982 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
4983 (struct grub_disk_dev.iterate): Add hook_data argument.
4984 (grub_disk_dev_iterate): Likewise.
4985 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
4986 Likewise.
4987 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
4988 Likewise.
4989 * include/grub/partition.h (grub_partition_iterate_hook_t): New
4990 type.
4991 (struct grub_partition_map.iterate): Add hook_data argument.
4992 (grub_partition_iterate): Likewise.
4993 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
4994 (struct grub_scsi_dev.iterate): Add hook_data argument.
4995
4996 Update all callers.
4997
4998 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
4999
5000 Fix typos for "developer" and "development".
5001
5002 2013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 Add license header to spkmodem-recv.c.
5005
5006 2013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
5007
5008 Rewrite spkmodem to use PIT for timing. Double the speed.
5009
5010 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5011
5012 Add new command pcidump.
5013
5014 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5015
5016 New terminal outputs using serial: morse and spkmodem.
5017
5018 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5019
5020 Improve bidi handling in entry editor.
5021
5022 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5023
5024 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5025 argument to prevent name collision.
5026
5027 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
5028
5029 Remove nested functions from script reading and parsing.
5030
5031 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
5032 getline_data argument, passed to getline.
5033 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
5034 getline_data argument, passed to grub_parser_split_cmdline.
5035 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
5036 lexerstate->getline_data to lexerstate->getline.
5037 (grub_script_lexer_init): Add getline_data argument, saved in
5038 lexerstate->getline_data.
5039 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
5040 argument, passed to grub_script_parse.
5041 * grub-core/script/script.c (grub_script_parse): Add getline_data
5042 argument, passed to grub_script_lexer_init.
5043 * include/grub/parser.h (grub_parser_split_cmdline): Update
5044 prototype. Update all callers to pass appropriate getline data.
5045 (struct grub_parser.parse_line): Likewise.
5046 (grub_rescue_parse_line): Likewise.
5047 * include/grub/reader.h (grub_reader_getline_t): Add void *
5048 argument.
5049 * include/grub/script_sh.h (struct grub_lexer_param): Add
5050 getline_data member.
5051 (grub_script_parse): Update prototype. Update all callers to pass
5052 appropriate getline data.
5053 (grub_script_lexer_init): Likewise.
5054 (grub_normal_parse_line): Likewise.
5055
5056 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
5057 data argument.
5058 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
5059 static instead of nested. Rename to ...
5060 (grub_parser_execute_getline): ... this.
5061 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
5062 data argument.
5063 * grub-core/normal/main.c (read_config_file: getline): Make static
5064 instead of nested. Rename to ...
5065 (read_config_file_getline): ... this.
5066 (grub_normal_read_line): Add unused data argument.
5067 * grub-core/script/execute.c (grub_script_execute_sourcecode:
5068 getline): Make static instead of nested. Rename to ...
5069 (grub_script_execute_sourcecode_getline): ... this.
5070 * util/grub-script-check.c (main: get_config_line): Make static
5071 instead of nested.
5072
5073 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
5074
5075 Remove nested functions from memory map iterators.
5076
5077 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
5078 argument, passed to hook.
5079 * grub-core/kern/i386/coreboot/mmap.c
5080 (grub_linuxbios_table_iterate): Likewise.
5081 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
5082 instead of nested.
5083 (grub_machine_mmap_iterate): Add hook_data argument.
5084 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
5085 Add hook_data argument, passed to hook.
5086 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
5087 Likewise.
5088 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
5089 Likewise.
5090 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
5091 Likewise.
5092 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
5093 Likewise.
5094 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
5095 Likewise.
5096 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
5097 Likewise.
5098 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
5099 (grub_machine_mmap_iterate): Likewise.
5100 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
5101 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
5102 prototype.
5103 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
5104 Remove NESTED_FUNC_ATTR from here and from all users.
5105 (grub_mmap_iterate): Update prototype.
5106 (grub_efi_mmap_iterate): Update prototype. Update all callers to
5107 pass appropriate hook data.
5108 (grub_machine_mmap_iterate): Likewise.
5109
5110 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
5111 static instead of nested.
5112 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
5113 Rename to ...
5114 (lsmmap_hook): ... this.
5115 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
5116 Likewise.
5117 (grub_efiemu_mmap_fill: fill_hook): Likewise.
5118 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
5119 heap_init): Likewise.
5120 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
5121 Rename to ...
5122 (mmap_iterate_hook): ... this.
5123 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
5124 Likewise.
5125 * grub-core/lib/ieee1275/relocator.c
5126 (grub_relocator_firmware_get_max_events: count): Likewise.
5127 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
5128 to ...
5129 (grub_relocator_firmware_fill_events_iter): ... this.
5130 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
5131 hook): Likewise. Rename to ...
5132 (grub_relocator_alloc_chunk_align_iter): ... this.
5133 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
5134 Rename to ...
5135 (generate_e820_mmap_iter): ... this.
5136 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
5137 Rename to ...
5138 (count_hook): ... this.
5139 (grub_linux_boot: hook): Likewise. Rename to ...
5140 (grub_linux_boot_mmap_find): ... this.
5141 (grub_linux_boot: hook_fill): Likewise. Rename to ...
5142 (grub_linux_boot_mmap_fill): ... this.
5143 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
5144 hook): Likewise. Rename to ...
5145 (grub_fill_multiboot_mmap_iter): ... this.
5146 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
5147 hook): Likewise. Rename to ...
5148 (count_hook): ... this.
5149 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
5150 hook): Likewise. Rename to ...
5151 (grub_fill_multiboot_mmap_iter): ... this.
5152 * grub-core/loader/powerpc/ieee1275/linux.c
5153 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
5154 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
5155 Likewise. Rename to ...
5156 (alloc_phys_choose): ... this.
5157 (determine_phys_base: get_physbase): Likewise.
5158 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
5159 find_hook): Likewise.
5160 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
5161 (malloc_hook: count_hook): Likewise.
5162 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
5163 Likewise. Rename to ...
5164 (lower_hook): ... this.
5165 (grub_mmap_get_upper: hook): Likewise. Rename to ...
5166 (upper_hook): ... this.
5167 (grub_mmap_get_post64: hook): Likewise. Rename to ...
5168 (post64_hook): ... this.
5169 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
5170 Likewise. Rename to ...
5171 (lower_hook): ... this.
5172 (grub_mmap_get_upper: hook): Likewise. Rename to ...
5173 (upper_hook): ... this.
5174 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
5175 (grub_mmap_iterate: fill_hook): Likewise.
5176 (fill_mask): Pass addr and mask within a single struct.
5177 (grub_cmd_badram: hook): Make static instead of nested. Rename
5178 to ...
5179 (badram_iter): ... this.
5180 (grub_cmd_cutmem: hook): Likewise. Rename to ...
5181 (cutmem_iter): ... this.
5182
5183 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5184
5185 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
5186 delimit path in strings using quotes.
5187 * util/getroot.c (grub_guess_root_devices): Likewise.
5188 (grub_make_system_path_relative_to_its_root): Likewise.
5189 * util/grub-probe.c (probe): Likewise.
5190 * util/ieee1275/ofpath.c (find_obppath): Likewise.
5191 (xrealpath): Likewise.
5192
5193 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5194
5195 Fix compilation with older compilers.
5196
5197 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
5198 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
5199 declarations.
5200 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
5201 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
5202 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
5203 identifier with b.
5204 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
5205 * include/grub/crypto.h: Add type defines.
5206 * util/import_gcrypth.sed: Remove duplicate type defines.
5207
5208 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5209
5210 New command list_trusted.
5211
5212 * grub-core/commands/verify.c (grub_cmd_list): New function.
5213
5214 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
5215
5216 * util/grub-mkimage.c (generate_image): Fix "size of public key"
5217 info message.
5218
5219 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
5220
5221 Remove nested functions from PCI iterators.
5222
5223 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
5224 passed to hook. Update all callers to pass appropriate hook data.
5225 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
5226 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
5227 Remove NESTED_FUNC_ATTR from here and from all users.
5228 (grub_pci_iterate): Update prototype.
5229 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
5230 instead of nested. Rename to ...
5231 (grub_cs5536_find_iter): ... this.
5232 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
5233 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
5234 Likewise.
5235 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
5236 Likewise.
5237 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
5238 Likewise.
5239 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
5240 Likewise.
5241 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
5242 * grub-core/video/radeon_fuloong2e.c
5243 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
5244 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
5245 find_card): Likewise.
5246 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
5247 Likewise.
5248
5249 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5250
5251 * grub-core/commands/verify.c: Mark messages for translating.
5252
5253 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5254
5255 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
5256 fatal.
5257
5258 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5259
5260 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
5261 fatal.
5262
5263 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5264
5265 * autogen.sh: Do not try to delete nonexistant files.
5266 * util/import_gcrypth.sed: Add some missing header removals.
5267
5268 2013-01-12 Colin Watson <cjwatson@ubuntu.com>
5269
5270 Clean up dangling references to grub-setup.
5271 Fixes Ubuntu bug #1082045.
5272
5273 * docs/grub.texi (Images): Refer generally to grub-install rather
5274 than directly to grub-setup.
5275 (Installing GRUB using grub-install): Remove direct reference to
5276 grub-setup.
5277 (Device map) Likewise.
5278 (Invoking grub-install): Likewise.
5279 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
5280 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
5281 * util/grub-install.in (usage): Likewise.
5282
5283 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
5284 Apply to grub-bios-setup and grub-sparc64-setup rather than to
5285 grub-setup.
5286 * configure.ac: Remove grub_setup output variable.
5287
5288 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
5289 to grub-bios-setup.
5290 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
5291 grub-setup to grub-sparc64-setup.
5292
5293 2013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5294
5295 Import gcrypt public-key cryptography and implement signature checking.
5296
5297 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5298
5299 * grub-core/fs/ntfs.c: Ue more appropriate types.
5300 * grub-core/fs/ntfscomp.c: Likewise.
5301 * include/grub/ntfs.h: Likewise.
5302
5303 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5304
5305 Support Apple FAT binaries on non-Apple platforms.
5306
5307 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
5308 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
5309 Likewise.
5310 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
5311 Apple FAT binaries.
5312
5313 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5314
5315 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
5316 sector devices.
5317
5318 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
5319
5320 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
5321 explicitly zeroing elements.
5322 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
5323 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
5324 of elements in a structure already allocated using grub_zalloc.
5325 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
5326
5327 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
5328
5329 * docs/grub.texi (grub_cpu): New subsection.
5330 (grub_platform): Likewise.
5331
5332 2013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5333
5334 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
5335
5336 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5337
5338 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
5339 divisions.
5340
5341 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5342
5343 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
5344 * grub-core/fs/ntfscomp.c: Likewise.
5345 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
5346 (grub_ntfs_comp): Likewise.
5347
5348 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5349
5350 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
5351 Rename to ...
5352 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
5353 of groups_per_block. All users updated.
5354
5355 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5356
5357 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
5358 grub_error properly.
5359 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
5360 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
5361
5362 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5363
5364 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
5365 always in /boot/zfs.
5366 Reported by: Yuta Satoh.
5367
5368 2013-01-03 Yuta Satoh <nigoro>
5369
5370 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
5371 ${grub_probe}
5372
5373 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5374
5375 * configure.ac: Extend -Wno-trampolines to host.
5376
5377 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5378
5379 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
5380 entry->len = 0.
5381
5382 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
5383
5384 * docs/grub.texi (Invoking grub-mkrelpath): New section.
5385 (Invoking grub-script-check): Likewise.
5386
5387 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
5388
5389 * docs/grub.texi (Invoking grub-mount): New section.
5390 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
5391
5392 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
5393
5394 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
5395 test failures, so that a failing unit test correctly causes 'make
5396 check' to fail.
5397
5398 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
5399
5400 Fix failing printf test.
5401
5402 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
5403 '$' in the correct order when collecting type information.
5404
5405 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
5406
5407 * docs/grub.texi (configfile): Explain environment variable
5408 handling.
5409 (source): New section.
5410 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
5411
5412 2012-12-31 Colin Watson <cjwatson@ubuntu.com>
5413
5414 Remove several trivially-unnecessary uses of nested functions.
5415
5416 * grub-core/commands/i386/pc/sendkey.c
5417 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
5418 instead of nested.
5419 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
5420 Rename to ...
5421 (legacy_file_getline): ... this.
5422 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
5423 Likewise.
5424 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
5425 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
5426 to ...
5427 (probe_dummy_iter): ... this.
5428 * grub-core/kern/i386/coreboot/mmap.c
5429 (grub_linuxbios_table_iterate: check_signature): Likewise.
5430 * grub-core/kern/parser.c (grub_parser_split_cmdline:
5431 check_varstate): Likewise. Mark inline.
5432 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
5433 an additional parameter.
5434 (find_long: fnd_long): Likewise. Pass two additional parameters.
5435 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
5436 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
5437 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
5438 Likewise. Rename to ...
5439 (grub_cmos_find_port_iter): ... this.
5440 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
5441 Rename to ...
5442 (find_rtc_iter): ... this.
5443
5444 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
5445 function directly into the function body, since it is only called
5446 once.
5447
5448 2012-12-30 Colin Watson <cjwatson@ubuntu.com>
5449
5450 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
5451 __attribute__ ((unused)).
5452 * grub-core/video/bochs.c (find_card): Likewise.
5453 * grub-core/video/cirrus.c (find_card): Likewise.
5454 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
5455 * grub-core/video/sis315pro.c (find_card): Likewise.
5456 * grub-core/video/sm712.c (find_card): Likewise.
5457
5458 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
5459
5460 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
5461 Fixes Savannah bug #37821.
5462
5463 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
5464
5465 Apply program name transformations at build-time rather than at
5466 run-time. Fixes Debian bug #696465.
5467
5468 * acinclude.m4 (grub_TRANSFORM): New macro.
5469 * configure.ac: Create output variables with transformed names for
5470 most programs.
5471 * util/bash-completion.d/grub-completion.bash.in: Use
5472 pre-transformed variables for program names.
5473 * util/grub-install.in: Likewise.
5474 * util/grub-kbdcomp.in: Likewise.
5475 * util/grub-mkconfig.in: Likewise.
5476 * util/grub-mkconfig_lib.in: Likewise.
5477 * util/grub-mknetdir.in: Likewise.
5478 * util/grub-mkrescue.in: Likewise.
5479 * util/grub-mkstandalone.in: Likewise.
5480 * util/grub-reboot.in: Likewise.
5481 * util/grub-set-default.in: Likewise.
5482 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5483 * tests/util/grub-shell-tester.in: Remove unused assignment.
5484 * tests/util/grub-shell.in: Likewise.
5485 * util/grub.d/00_header.in: Likewise.
5486
5487 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
5488
5489 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
5490
5491 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
5492 HAVE_RAW_DECL_GETS.
5493 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
5494
5495 2012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
5496
5497 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
5498 Reported by: Eriks Latosheks <foresterlv>.
5499
5500 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5501
5502 * docs/grub.texi (Network): Update instructions on generating netboot
5503 image.
5504
5505 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5506
5507 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
5508 around device name if necessarry.
5509
5510 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5511
5512 * util/grub-install.in: Follow the symbolic link parameter added
5513 to the file command.
5514
5515 2012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
5516
5517 * util/grub-install.in: Remove stale TODO.
5518
5519 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5520
5521 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
5522 dynamic allocation for the bootpath buffer.
5523
5524 2012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
5525
5526 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
5527 window too small.
5528
5529 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5530
5531 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
5532 argument rather than font name. All users updated.
5533 (grub_gfxterm_set_window): Likewise.
5534
5535 2012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
5536
5537 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
5538 from working.
5539
5540 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5541
5542 * util/getroot.c (convert_system_partition_to_system_disk): Support
5543 nbd disks.
5544
5545 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5546
5547 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
5548 infinite loop on corrupted FS.
5549
5550 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
5551
5552 Fix big-endian mtime.
5553
5554 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
5555 together sec and usec.
5556 (grub_ufs_dir): Use correct byteswapping for UFS time.
5557
5558 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
5559
5560 Support big-endian UFS1.
5561
5562 * Makefile.util.def (libgrubmods): Add ufs_be.c
5563 * grub-core/Makefile.core.def (ufs1_be): New module.
5564 * grub-core/fs/ufs_be.c: New file.
5565 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
5566 the file.
5567
5568 2012-11-28 Leif Lindholm <leif.lindholm@arm.com>
5569
5570 * include/grub/types.h: Fix functionality unaffecting typo in
5571 GRUB_TARGET_WORDSIZE conditional macro.
5572
5573 2012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5574
5575 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
5576
5577 2012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
5578
5579 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
5580 that /netbsd appears first (when it exists).
5581
5582 2012-10-12 Christoph Junghans <ottxor@gentoo.org>
5583
5584 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
5585 Fixes Savannah bug #37558.
5586
5587 2012-10-12 Colin Watson <cjwatson@ubuntu.com>
5588
5589 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
5590 description of extract_entries_configfile.
5591
5592 2012-10-05 Colin Watson <cjwatson@ubuntu.com>
5593
5594 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
5595 preferred_address.
5596 (grub_cmd_linux): Likewise.
5597 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
5598 preferred_lifetime. Update all users.
5599
5600 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
5601
5602 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
5603 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
5604
5605 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
5606
5607 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
5608 errors from grub-probe to /dev/null, not stdout.
5609
5610 2012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
5611
5612 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
5613 sector 1.
5614
5615 2012-09-24 Colin Watson <cjwatson@ubuntu.com>
5616
5617 * util/grub-install.in: Make the error message if $source_dir
5618 doesn't exist more useful.
5619
5620 2012-09-22 Colin Watson <cjwatson@ubuntu.com>
5621
5622 Fix grub-emu build on FreeBSD.
5623
5624 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
5625 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
5626 headers on Linux.
5627 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
5628 implementation is currently Linux-specific.
5629 * util/getroot.c (exec_pipe): Define only on Linux or when either
5630 libzfs or libnvpair is unavailable.
5631 (find_root_devices_from_poolname): Remove unused path variable.
5632
5633 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
5634
5635 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
5636 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
5637 should fit before end == 63.
5638
5639 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
5640
5641 * util/grub-setup.c (write_rootdev): Remove unused core_img
5642 parameter. Update all callers.
5643 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
5644 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
5645 GRUB_SETUP_BIOS.
5646
5647 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5648
5649 * util/grub-mkconfig_lib.in (grub_tab): New variable.
5650 (grub_add_tab): New function.
5651 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
5652 * util/grub.d/10_illumos.in: Likewise.
5653 * util/grub.d/10_kfreebsd.in: Likewise.
5654 * util/grub.d/10_linux.in: Likewise.
5655 * util/grub.d/10_netbsd.in: Likewise.
5656 * util/grub.d/10_windows.in: Likewise.
5657 * util/grub.d/10_xnu.in: Likewise.
5658 * util/grub.d/20_linux_xen.in: Likewise.
5659 * util/grub.d/30_os-prober.in: Likewise.
5660
5661 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5662
5663 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5664 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
5665 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
5666 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
5667 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
5668 ieee1275-nocursor.
5669 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
5670 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
5671
5672 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5673
5674 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
5675 le-conversion.
5676 Reported by: BURETTE, Bernard.
5677
5678 2012-09-17 Colin Watson <cjwatson@ubuntu.com>
5679
5680 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
5681 from comment.
5682
5683 2012-09-14 Colin Watson <cjwatson@ubuntu.com>
5684
5685 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
5686 IEEE1275 machines. Fixes powerpc-emu compilation.
5687 * include/grub/terminfo.h: Likewise.
5688
5689 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
5690
5691 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
5692 a const pointer.
5693 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
5694 const pointer.
5695 (efiemu_set_variable): Make vendor_guid a const pointer.
5696
5697 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
5698
5699 Don't require grub-mkconfig_lib to generate manpages for programs.
5700
5701 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
5702 dependencies, don't add grub-mkconfig_lib.
5703 (program): Pass empty adddeps.
5704 (script): Pass grub-mkconfig_lib as adddeps.
5705
5706 2012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
5707
5708 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
5709 * util/getroot.c (grub_find_device): Likewise.
5710 (get_mdadm_uuid): Likewise.
5711 (grub_util_is_imsm): Likewise.
5712 (grub_util_pull_device): Likewise.
5713 * util/grub-probe.c (probe): Likewise.
5714
5715 2012-09-10 Benoit Gschwind <gschwind>
5716
5717 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
5718 (devs): Add devpath_8.
5719
5720 2012-09-08 Peter Jones <pjones@redhat.com>
5721
5722 * grub-core/Makefile.core.def (efifwsetup): New module.
5723 * grub-core/commands/efi/efifwsetup.c: New file.
5724 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
5725 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
5726 New define.
5727 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
5728
5729 2012-09-05 Jiri Slaby <jslaby@suse.cz>
5730
5731 * configure.ac: Add SuSe path.
5732
5733 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
5734
5735 * NEWS: Fix typo.
5736
5737 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
5738
5739 * util/import_gcry.py: Sort cipher_files, to make build system
5740 generation more deterministic.
5741
5742 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5743
5744 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
5745 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
5746 (grub_set_datetime): Likewise.
5747
5748 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5749
5750 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
5751 warnings.
5752
5753 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5754
5755 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
5756
5757 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5758
5759 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
5760
5761 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
5762
5763 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
5764 required for checkouts from bzr, but it may be useful for users or
5765 distributors wishing to update translations against a tarball
5766 distribution, and it can be helpful for the tarball to be a superset
5767 of what's in bzr.
5768
5769 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
5770
5771 * Makefile.am (EXTRA_DIST): Add
5772 grub-core/tests/boot/linux.init-mips.S,
5773 grub-core/tests/boot/linux.init-ppc.S, and
5774 grub-core/tests/boot/linux-ppc.cfg.
5775
5776 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
5777
5778 * grub-core/mmap/mips/loongson: Remove empty directory.
5779
5780 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
5781
5782 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
5783 gone.
5784
5785 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
5786
5787 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
5788 grub-sparc64-setup.
5789
5790 2012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
5791
5792 * configure.ac: Strengthen the test for working -nostdinc -isystem.
5793
5794 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
5795
5796 * po/POTFILES.in: Regenerated.
5797
5798 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
5799
5800 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
5801 (NetBSD): New subsection.
5802
5803 2012-07-22 Ales Nesrsta <starous@volny.cz>
5804
5805 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
5806 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
5807
5808 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5809
5810 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
5811 * util/grub.d/10_hurd.in: Add missing quoting.
5812 * util/grub.d/10_illumos.in: Likewise.
5813 * util/grub.d/10_kfreebsd.in: Likewise.
5814 * util/grub.d/10_linux.in: Likewise.
5815 * util/grub.d/20_linux_xen.in: Likewise.
5816
5817 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5818
5819 New command `lsefi'.
5820
5821 * grub-core/Makefile.core.def (lsefi): New module.
5822 * grub-core/commands/efi/lsefi.c: New file.
5823 * include/grub/efi/api.h: Add more GUIDs.
5824
5825 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5826
5827 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
5828 (grub_bsd_elf32_hook): Likewise.
5829 (grub_bsd_elf64_size_hook): Likewise.
5830 (grub_bsd_elf64_hook): Likewise.
5831 (grub_bsd_load_elf): Likewise.
5832
5833 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5834
5835 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
5836 if hash function is unavailable.
5837 (dec_stream_header): Likewise.
5838
5839 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5840
5841 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
5842 filter state.
5843
5844 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5845
5846 Fix coreboot compilation.
5847
5848 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
5849 (grub_vga_text_init_real): ... this.
5850 (grub_vga_text_fini): Rename to ...
5851 (grub_vga_text_fini_real): ... this.
5852
5853 2012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
5856
5857 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5858
5859 * grub-core/lib/legacy_parse.c: Support clear and testload.
5860
5861 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5862
5863 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
5864
5865 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5866
5867 * grub-core/fs/ext2.c: Experimental support for 64-bit.
5868
5869 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5870
5871 * grub-core/net/tftp.c (ack): Fix endianness problem.
5872 (tftp_receive): Likewise.
5873 Reported by: Michael Davidsaver.
5874
5875 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5876
5877 * gentpl.py: Make mans depend on grub-mkconfig_lib.
5878
5879 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5880
5881 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
5882 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
5883 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
5884
5885 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5886
5887 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
5888 efi_mmap_size.
5889 Reported by: Stuart Hayes.
5890
5891 2012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
5892
5893 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
5894
5895 * grub-core/Makefile.core.def (mda_text): New module.
5896 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
5897 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
5898 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
5899 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
5900 here.
5901 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
5902 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
5903 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
5904 here.
5905 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
5906 to ..
5907 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
5908 ... here
5909 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
5910 here.
5911 * grub-core/term/i386/vga_common.c: Removed.
5912 * include/grub/i386/vga_common.h: Likewise.
5913 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
5914 (grub_vga_cr_bw_read): Likewise.
5915 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
5916 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
5917 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
5918 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
5919 grub_vga_cr_read/grub_vga_cr_write.
5920 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
5921
5922 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5923
5924 * configure.ac: Bump version to 2.00.
5925 * grub-core/normal/main.c (features): Add feature_200_final.
5926
5927 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5928 2012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
5929
5930 * NEWS: Fix unclarity and language mistakes.
5931
5932 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5933
5934 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
5935 additional size to 3 pages.
5936 Reported by: Stuart Hayes.
5937
5938 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 * NEWS: Add 2.00 entry.
5941
5942 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5943
5944 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
5945 put explicit "/" for empty path.
5946 (wildcard_expand): Improve dprintf.
5947
5948 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5949
5950 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
5951 it's equal to currnode. This can happen with "" symlink.
5952
5953 2012-06-27 Yves Blusseau <blusseau@zetam.org>
5954
5955 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
5956 echo shell command by printf command.
5957
5958 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5959
5960 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
5961 the value returned by firmware is the maximal position, not diumension.
5962 (grub_terminfo_output_state): Use a more sane fallback.
5963
5964 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5965
5966 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
5967
5968 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5969
5970 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
5971 frequency to 150 MHz.
5972
5973 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5974
5975 Apple fixes.
5976
5977 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
5978 __APPLE_
5979 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
5980 definition.
5981 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
5982
5983 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5984
5985 Handle slash in HFS label.
5986
5987 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
5988 (grub_hfs_dir): Tanslate slash.
5989 (grub_hfs_label): Don't translate slash.
5990
5991 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5992
5993 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
5994 network protocol listing since it introduces problematic dependency on
5995 net module.
5996
5997 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5998
5999 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
6000
6001 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6002
6003 Init video early on yeeloong to avoid being rebooted by watchdog.
6004
6005 * grub-core/Makefile.am (gensm712): New target.
6006 (sm712_start.S): Likewise.
6007 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
6008 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
6009 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
6010 description.
6011 * include/grub/vga.h: Move registry definitions to...
6012 * include/grub/vgaregs.h: ... here.
6013
6014 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6015
6016 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
6017 signedness.
6018
6019 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6020
6021 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
6022 platforms with firmware disk drivers in the core.
6023
6024 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6025
6026 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
6027 informative verbose message.
6028 (read_lv): Handle 64-bit segment size.
6029
6030 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6031
6032 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
6033
6034 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6035
6036 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
6037 character but still remove trainling spaces.
6038 (grub_fat_label): Ignore archive flag.
6039
6040 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6041
6042 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
6043 cast between linux_kernel_header and linux_kernel_params.
6044
6045 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6046
6047 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
6048 type for size.
6049 (grub_raid6_recover_func_t): Likewise.
6050 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
6051 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
6052
6053 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6054
6055 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
6056
6057 2012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
6058
6059 Fix overflow.
6060
6061 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
6062 [__NetBSD__]: Add explicit cast before bitshift.
6063
6064 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6065
6066 * configure.ac: Bump to 2.00~rc1.
6067
6068 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6069
6070 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
6071 half of $a0.
6072
6073 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6074 2012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
6075
6076 * docs/grub.texi: Fix search syntax.
6077 (Multi-boot manual config): Put msdos rather than GPT example.
6078 Grammar corrections.
6079
6080 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6081
6082 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
6083
6084 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6085
6086 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
6087
6088 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6089
6090 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
6091 message on double free. Put the value of magic in case of mismatch.
6092
6093 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6094
6095 Speed-up video on yeeloong.
6096
6097 * grub-core/video/sm712.c (framebuffer): Remove render_target and
6098 add cached_ptr.
6099 (grub_video_sm712_video_fini): Unmap cached_ptr.
6100 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
6101 (grub_video_sm712_set_active_render_target): Removed.
6102 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
6103 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
6104 sync caches.
6105
6106 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 Avoid flushing the same line multiple times on loongson.
6109
6110 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
6111 Step in 32 bytes and not 1 byte.
6112 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
6113 Likewise.
6114
6115 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6116
6117 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
6118 subvolumes.
6119
6120 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6121
6122 Implement flow control for http.
6123
6124 * grub-core/net/http.c (parse_line): Handle response 206.
6125 (http_receive): Stall if too many packets are in the queue.
6126 (http_establish): Fix range header.
6127 (http_seek): Fix double free.
6128 (http_close): Likewise.
6129 (http_packets_pulled): New function.
6130 (grub_http_protocol): Set http_seek
6131 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
6132 (ack_real): Set window depending on i_stall.
6133 (grub_net_send_tcp_packet): Likewise.
6134 (grub_net_tcp_stall): New function.
6135 (grub_net_tcp_unstall): Likewise.
6136 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
6137 (grub_net_tcp_unstall): Likewise.
6138
6139 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6140
6141 * grub-core/net/tftp.c: Decrease stall to 50 packets.
6142
6143 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6144
6145 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
6146
6147 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6148
6149 * tests/util/grub-shell.in: Fix a typo.
6150
6151 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6152
6153 Implement flow control for tftp.
6154
6155 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
6156 packets but stop only if stop condition is satisfied.
6157 (grub_net_fs_read_real): Call packets_pulled after real read. Use
6158 `stall' instead of `eof' as stop condition.
6159 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
6160 (http_err): Likewise.
6161 * grub-core/net/tftp.c (ack): Replace the first argument with data
6162 instead of socket.
6163 (tftp_receive): Stall if too many packets are in wait queue.
6164 (tftp_packets_pulled): New function.
6165 (grub_tftp_protocol): Set packets_pulled.
6166 * include/grub/net.h (grub_net_packets): New field count.
6167 (grub_net_put_packet): Increment count.
6168 (grub_net_remove_packet): Likewise.
6169 (grub_net_app_protocol): New field `packets_pulled'.
6170 (grub_net): New field `stall'.
6171
6172 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6173
6174 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
6175 sync part to handle them.
6176
6177 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6178
6179 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
6180 * grub-core/net/drivers/ieee1275/ofnet.c
6181 (grub_ieee1275_net_config_real): Likewise.
6182
6183 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6184
6185 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
6186 the direct route for server/gateway.
6187
6188 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6189
6190 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
6191 IP address to server name since we may not hame the DNS.
6192
6193 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6194
6195 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
6196 freeing random buffer on failure.
6197 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
6198
6199 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6200
6201 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
6202
6203 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6204
6205 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
6206 reserved bytes.
6207 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
6208 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
6209 Handle malloc error correctly.
6210
6211 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
6214 blocks.
6215
6216 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6217
6218 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
6219 increment.
6220
6221 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6222
6223 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
6224 none is explicitly specified.
6225
6226 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6227
6228 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
6229 while reallocating.
6230
6231 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6232
6233 Respect netmask from bootp/dhcp.
6234
6235 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
6236 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
6237 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
6238 into ...
6239 (grub_net_add_ipv4_local): ... this.
6240 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
6241 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
6242 (grub_net_add_ipv4_local): New proto.
6243
6244 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6245
6246 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
6247 determining EFI memory map size.
6248
6249 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6250
6251 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
6252
6253 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6254
6255 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
6256 when looking for partition separator.
6257
6258 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6259
6260 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6261 Escape commas.
6262
6263 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6264
6265 Restructure FAT driver to avoid hook in label reading as it hits a
6266 GCC bug.
6267
6268 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
6269 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
6270 (grub_fat_iterate_dir): Split into ...
6271 (grub_fat_iterate_init): ... this, ...
6272 (grub_fat_iterate_fini): ... this, ...
6273 (grub_fat_iterate_dir_next): ... and this. All users updated.
6274
6275 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6276
6277 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6278 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
6279 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6280 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
6281 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
6282 New fields last_key and last_key_time.
6283 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
6284 extended key-esc into extended key-extended key.
6285
6286 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6287
6288 Avoid unnecessary memcpy of whole video buffer.
6289
6290 * grub-core/video/fb/video_fb.c (dirty): New struct.
6291 (framebuffer): Add members current_dirty and previous_dirty.
6292 (dirty): New function.
6293 (grub_video_fb_fill_rect): Update dirty.
6294 (common_blitter): Likewise.
6295 (grub_video_fb_scroll): Likewise.
6296 (doublebuf_blit_update_screen): Copy only dirty part.
6297 (doublebuf_pageflipping_update_screen): Likewise.
6298 (grub_video_fb_doublebuf_blit_init): Init dirty.
6299 (doublebuf_pageflipping_init): Likewise.
6300 (grub_video_fb_setup): Likewise.
6301
6302 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6303
6304 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
6305 poll rate.
6306
6307 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6308
6309 Fix wildcard regexp dot and other special characters handling.
6310 Reported by: Robert Mabee.
6311
6312 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
6313 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
6314 (split_path): Trigger expansion on '?'.
6315 (unescape): New function.
6316 (wildcard_expand): Unescape parts copied without globbing.
6317 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
6318 (grub_script_arglist_to_argv): Don't unescape expansions.
6319
6320 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6321
6322 * include/grub/net.h (grub_net_card): New member txbufsize.
6323 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
6324 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
6325 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
6326 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
6327 txbufsize.
6328 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
6329 compatible property to check for macs. Set
6330 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
6331 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
6332 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
6333 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
6334 (send_card_buffer): Use txbuf.
6335 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
6336 nested function out of the parent while on it.
6337
6338 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6339
6340 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
6341 presence check.
6342 (grub_ieee1275_net_config_real): Fix config pointer.
6343
6344 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6345
6346 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
6347 filename parsing to non-block devices.
6348
6349 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6350
6351 * grub-core/kern/device.c (grub_device_open): Remove dead code.
6352
6353 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6354
6355 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
6356 All users updated.
6357
6358 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6359
6360 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
6361 UUID search command even if hints probing failed.
6362
6363 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6364
6365 * po/POTFILES.in: Regenerated.
6366
6367 2012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
6368
6369 Speed-up video on fuloong.
6370
6371 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
6372 New function.
6373 (grub_pci_device_unmap_range): Handle non-cached address.
6374 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
6375 add direct_ptr.
6376 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
6377 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
6378 (grub_video_sis315pro_set_active_render_target): Removed.
6379 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
6380 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
6381 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
6382 sync caches.
6383 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
6384 New proto.
6385
6386 2012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6387
6388 * docs/grub.texi (Multi-boot manual config): New section.
6389
6390 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6391
6392 Avoid slow read-back from VRAM.
6393
6394 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
6395 Move from here ...
6396 * grub-core/video/fb/video_fb.c
6397 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
6398 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
6399 (front_target): Remove front_target. Add pages.
6400 (grub_video_fb_init): Skip setting front_pages.
6401 (grub_video_fb_fini): Likewise.
6402 (doublebuf_blit_update_screen): Use pages.
6403 (grub_video_fb_doublebuf_blit_init): Likewise.
6404 (doublebuf_pageflipping_init): Allocate offscreen buffer.
6405 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
6406 (grub_video_fb_setup): Prefer doublebuffing.
6407
6408 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6409
6410 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
6411 gzio.
6412
6413 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6414
6415 Add loongson tests.
6416
6417 * tests/util/grub-shell.in: Handle loongson.
6418 * tests/partmap_test.in: Add loongson to the list of platform using ATA
6419 drivers.
6420 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
6421 Reboot instead of shutdown if REBOOT is defined.
6422
6423 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6424
6425 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
6426 sized ports since unlike on real hardware qemu supports only 32-bit
6427 regs.
6428
6429 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6430
6431 * Makefile.util.def (grub-mkrescue): Enable on loongson.
6432 * util/grub-mkrescue.in: Handle loongson.
6433
6434 2012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
6435
6436 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
6437 Set is_part appropriately.
6438 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
6439 names. Canonicalize partition without full disk.
6440
6441 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6442
6443 Revert usb-quiesce since it's wrong.
6444
6445 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
6446 (grub_ofdisk_init): Don't do quiesce.
6447
6448 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6449
6450 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
6451 PowerMac workaround to Xserves as well.
6452 Information supplied by: Benjamin Herrenschmidt.
6453
6454 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6455
6456 Don't assume that beginning address is also the entry point on ppc.
6457
6458 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
6459 (grub_linux_boot): Use linux_entry.
6460 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
6461 (grub_linux_load64): Likewise.
6462
6463 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6464
6465 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
6466
6467 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6468
6469 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
6470 needlessly lose the console.
6471
6472 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6473
6474 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
6475 space.
6476
6477 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
6478
6479 Remove non-functional EFI grub_get_rtc. Put a better fatal message
6480 than current grub_get_rtc() not implemented when booted with
6481 coreboot without TSC.
6482
6483 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
6484 Add machine/time.h to kernel headers on loongson.
6485 * grub-core/Makefile.core.def (kernel): Remove
6486 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
6487 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
6488 (grub_get_rtc): Likewise.
6489 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
6490 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
6491 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
6492 * grub-core/kern/i386/tsc.c (grub_tsc_init)
6493 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
6494 rather than installing known non-working time source.
6495 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
6496 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
6497 * include/grub/time.h: Don't include machine/time.h.
6498 * include/grub/efi/time.h: Removed.
6499 * include/grub/i386/efi/time.h: Likewise.
6500 * include/grub/i386/ieee1275/time.h: Likewise.
6501 * include/grub/powerpc/ieee1275/time.h: Likewise.
6502 * include/grub/sparc64/ieee1275/time.h: Likewise.
6503 * include/grub/x86_64/efi/time.h: Likewise.
6504
6505 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
6506
6507 Remove dot on i and j when combining with above diacritics.
6508
6509 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
6510 value.
6511 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
6512 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
6513 with dotless variants when any combining above is present.
6514
6515 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6516
6517 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
6518 text and not binary.
6519
6520 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6521
6522 Stop polling as soon as we have the packet we were waiting for.
6523
6524 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
6525 All users updated.
6526 * grub-core/net/arp.c (have_pending): New var.
6527 (pending_req): Likewise.
6528 (grub_net_arp_send_request): Fill pending_req and use have_pending as
6529 stop indicator.
6530 (grub_net_arp_receive): Set have_pending.
6531 * grub-core/net/dns.c (recv_data): New field stop.
6532 (recv_hook): Set stop.
6533 (grub_net_dns_lookup): Init stop and use as stop condition.
6534 * grub-core/net/http.c (http_establish): Use headers_recv as stop
6535 condition.
6536 * grub-core/net/net.c (grub_net_poll_cards): New argument
6537 stop_condition. Stop when it goes true.
6538 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
6539 indicator.
6540 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
6541
6542 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6543
6544 Keep TX and RX buffers on EFI rather than always allocate new ones.
6545
6546 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
6547 card. All users updated.
6548 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
6549 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
6550 (get_card_packet): Likewise.
6551 (grub_efinet_findcards): Init new fields.
6552
6553 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6554
6555 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
6556 compilation error on sparc64.
6557
6558 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6559
6560 Use ITC on IA64 rather than broken routine based on daytime.
6561
6562 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
6563 ia64.
6564 (grub_get_rtc) [__ia64__]: Likewise.
6565 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
6566 (get_itc): New function.
6567 (grub_rtc_get_time_ms): Likewise.
6568 (grub_machine_init): Calibrate ITC.
6569 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
6570 Keep only on non-ia64. Don't export since it's broken and used only
6571 if TSC is unavailable.
6572
6573 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6574
6575 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
6576 even if it's used.
6577 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
6578 Skip if parent is unused.
6579
6580 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6581
6582 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
6583
6584 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6585
6586 Fix wildcard escaping.
6587
6588 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
6589 * grub-core/script/execute.c (wildcard_escape): .. to here.
6590 Don't escape dot.
6591 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
6592 * grub-core/script/execute.c (wildcard_unescape): .. to here.
6593 Don't escape dot.
6594 * grub-core/script/execute.c (gettext_append): Always escape.
6595 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
6596 * grub-core/script/yylex.l: Don't cut away the escaping.
6597 * tests/grub_script_echo1.in: Add tests with wildcard.
6598
6599 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6600
6601 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
6602 (ftdi_hw_configure): Likewise.
6603 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
6604 define.
6605 (real_config): Handle 1.5 stop bits.
6606 (pl2303_hw_configure): Likewise.
6607
6608 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6609
6610 * Makefile.am: Add ppc linux bootcheck.
6611 * grub-core/tests/boot/linux-ppc.cfg: New file.
6612 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
6613
6614 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6615
6616 * tests/grub_script_expansion.in: Skip network protocols.
6617
6618 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6619
6620 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
6621
6622 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6623
6624 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
6625 --rom-directory.
6626 Add -graft-points.
6627
6628 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6629
6630 ESCC serial driver for conducting sautomated tests in qemu.
6631 Not tested on real hardware.
6632
6633 * include/grub/serial.h (grub_serial_port): New field escc_desc.
6634 * grub-core/term/ieee1275/escc.c: New file.
6635 * grub-core/Makefile.core.def (escc): New module.
6636
6637 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6638
6639 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
6640 invalid on error.
6641 (serial_hw_fetch): Don't read invalid handle.
6642 (serial_hw_put): Don't write into invalid handle.
6643
6644 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6645
6646 Add a 1.5 stop bits value.
6647
6648 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
6649 * include/grub/serial.h (grub_serial_stop_bits_t): Add
6650 GRUB_SERIAL_STOP_BITS_1_5.
6651
6652 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6653
6654 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
6655 value rather than let it uninited.
6656
6657 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6658
6659 * grub-core/commands/wildcard.c (+check_file): New function.
6660 (wildcard_expand): Don't expand to non-existing files, expand with
6661 suffix and not attempt to expand if not needed.
6662
6663 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6664
6665 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
6666 out of partitions containing other partitions.
6667
6668 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6669
6670 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
6671 on some qemu versions with GRUB.
6672
6673 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
6674 define.
6675 (grub_openbsd_bootarg_pcibios): New struct.
6676 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
6677 Add PCIINFO.
6678
6679 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6680
6681 * tests/util/grub-shell.in: Trim firmware output on EFI.
6682
6683 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6684
6685 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
6686 and coreboot since it's already in kernel.
6687
6688 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6689
6690 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
6691 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
6692 to here. New return value start. All users updated.
6693 Recursively scan linear mappings.
6694 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
6695 proto.
6696 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
6697 Use grub_util_get_dm_node_linear_info.
6698 * util/getroot.c (convert_system_partition_to_system_disk): Use
6699 grub_util_info rather than grub_dprintf.
6700 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
6701
6702 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6703
6704 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
6705
6706 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
6707 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
6708
6709 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6710
6711 * include/grub/types.h (grub_set_unaligned64): New function.
6712 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
6713 (setup): Likewise.
6714
6715 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6716
6717 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
6718 (grub_ofdisk_fini): Quiesce USB devices.
6719
6720 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6721
6722 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
6723 caches.
6724
6725 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6726
6727 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
6728
6729 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6730
6731 * grub-core/disk/pata.c (grub_pata_pio_read)
6732 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
6733 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
6734
6735 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6736
6737 Extend automated tests to qemu-mips.
6738
6739 * Makefile.am: reorganise tests and enable qemu-mips.
6740 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
6741 * grub-core/tests/boot/linux.init-mips.S: New file.
6742 * tests/partmap_test.in: Handle ata0 disks.
6743 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
6744 non-pc i386.
6745
6746 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6747
6748 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
6749 ia64.
6750 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
6751 quotes while on it.
6752
6753 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6754
6755 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
6756 (grub_halt): Likewise.
6757 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
6758
6759 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6760
6761 * grub-core/term/serial.c (grub_serial_register)
6762 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
6763 the behaviour in line with x86 platforms.
6764
6765 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6766
6767 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
6768 (grub_ata_strncpy): Likewise.
6769 (grub_ata_identify): Add missing byteswaps.
6770
6771 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6772
6773 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
6774 byte-swap.
6775 (screen_read_char): Likewise.
6776 (grub_vga_text_cls): Likewise.
6777
6778 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6779
6780 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
6781 filenames.
6782 (make_file_path): Likewise.
6783
6784 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6785
6786 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
6787 machines.
6788 Tested by: Paulo Flabiano Smorigo.
6789 Crucial information about API supplied by: Coleen <Last name unknown>.
6790 Reviewed by: Coleen <Last name unknown>.
6791
6792 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6793
6794 * util/grub-mkimage.c: Disable -Wcast-align.
6795
6796 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6797
6798 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
6799 as they are fatal.
6800
6801 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6802
6803 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
6804
6805 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6806
6807 * util/grub-probe.c (escape_of_path): Fix double free.
6808
6809 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6810
6811 * grub-core/commands/videoinfo.c (hook): Show pitch.
6812
6813 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6814
6815 * util/grub.d/20_linux_xen.in: Skip xen-syms.
6816
6817 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6818
6819 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
6820 (probe): Add ieee1275 to OFW devices.
6821
6822 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6823
6824 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
6825
6826 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6827
6828 Handle IBM OFW path.
6829
6830 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
6831 available.
6832 (of_path_of_scsi): Handle vdevice.
6833
6834 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
6835
6836 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
6837 Allocate in multiples of 16 to avoid adding a few bytes free region the
6838 windows bugs upon.
6839
6840 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
6841
6842 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
6843 Allocate in multiples of 16 to avoid adding a few bytes free region the
6844 windows bugs upon.
6845 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
6846
6847 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6848
6849 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
6850 resolutions.
6851 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
6852 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
6853
6854 2012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
6855
6856 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
6857
6858 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6859
6860 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
6861 resulted in \\ at the end of the line.
6862
6863 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6864
6865 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
6866 (grub_parser_cmdline_state): Likewise.
6867 (grub_parser_split_cmdline): Likewise.
6868
6869 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6870
6871 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
6872 /dev/root and /dev/dm-*.
6873
6874 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6875
6876 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
6877 fix partially stale display.
6878
6879 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6880
6881 * grub-core/normal/menu_entry.c (backward_char): Use right line for
6882 substraction.
6883
6884 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6885
6886 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
6887 Fix MBR remapping workaround.
6888 (grub_util_biosdisk_read) [__linux__]: Likewise.
6889
6890 2012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
6891
6892 * util/grub-install.in: Check for ieee1275 and not ieee1276.
6893
6894 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6895
6896 * configure.ac: Bump to beta6.
6897
6898 2012-05-31 Christer Weinigel <christer@weinigel.se>
6899
6900 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
6901
6902 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6903
6904 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
6905 (grub_cmd_linux): Likewise.
6906
6907 2012-05-31 Christer Weinigel <christer@weinigel.se>
6908
6909 Fix EHCI low-speed.
6910
6911 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
6912 (GRUB_EHCI_MULT_TWO): Likewise.
6913 (GRUB_EHCI_MULT_THREE): Likewise.
6914 (GRUB_EHCI_CMASK_MASK): New enum value.
6915 (GRUB_EHCI_SMASK_MASK): Likewise.
6916 (GRUB_EHCI_CMASK_OFF): Likewise.
6917 (GRUB_EHCI_SMASK_OFF): Likewise.
6918 (grub_ehci_pci_iter): Enable periodic schedule.
6919 (grub_ehci_parse_notrun): Likewise.
6920 (grub_ehci_restore_hw): Likewise.
6921 (grub_ehci_setup_qh): Set flags for low speed transfers.
6922 (grub_ehci_find_qh): Use periodic list for low speed.
6923 (grub_ehci_setup_transfer): Check periodic queue as well.
6924 (grub_ehci_check_transfer): Likewise.
6925 (grub_ehci_cancel_transfer): Cancel periodic transfer.
6926
6927 2012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6928
6929 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
6930 parameter is used.
6931
6932 2012-05-31 Peter Jones <pjones@redhat.com>
6933
6934 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
6935 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
6936 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
6937
6938 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6939
6940 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
6941 uninited variable. Allocate at least setup_sects.
6942
6943 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6944
6945 Fix handling of EFI with big memory maps.
6946
6947 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
6948 (real_mode_mem): Likewise.
6949 (real_mode_target): Likewise.
6950 (real_mode_pages): Likewise.
6951 (prot_mode_pages): Likewise.
6952 (linux_params): New var.
6953 (linux_cmdline): Likewise.
6954 (free_pages): Don't set real mode variables.
6955 (allocate_pages): Don't allocate real mode memory.
6956 (grub_e820_add_region): Remove the limit.
6957 (grub_linux_boot): Allocate and copy real mode memory.
6958 (grub_linux_unload): Free linux_cmdline.
6959 (grub_cmd_linux): Use temporary storage for parameters.
6960 (grub_cmd_initrd): Likewise.
6961 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
6962 (linux_kernel_params): Make it 1K big.
6963
6964 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6965
6966 * Makefile.util.def: Remove -Wno-format.
6967 * grub-core/Makefile.core.def: Likewise.
6968
6969 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6970
6971 * tests/cmp_unit_test.c: Add missing failure message.
6972 * tests/example_unit_test.c: Likewise.
6973 * tests/printf_unit_test.c: Likewise.
6974
6975 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6976
6977 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
6978 relaxation of protective MBR requirements.
6979
6980 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
6981
6982 * configure.ac: Add condition for COND_HOST_XNU.
6983 * Makefile.util.def (10_xnu): New script.
6984 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
6985
6986 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
6987
6988 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
6989 objconv bug.
6990
6991 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
6992
6993 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
6994 Binary on other platforms stays identical.
6995
6996 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6997
6998 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
6999 Apple.
7000
7001 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7002
7003 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
7004
7005 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7006
7007 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
7008 rather than defining size_t ourselves to avoid conflict.
7009
7010 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7011
7012 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
7013 initialisation to avoid __bzero reference.
7014
7015 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7016
7017 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
7018 version.
7019 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
7020 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
7021 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
7022 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
7023 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
7024
7025 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7026
7027 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
7028 * grub-core/kern/misc.c: Likewise.
7029 * grub-core/loader/i386/xnu.c: Likewise.
7030 * include/grub/i386/tsc.h: Likewise.
7031 * include/grub/symbol.h: Likewise.
7032
7033 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7034
7035 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
7036 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
7037 on older compiler.
7038
7039 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7040
7041 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
7042 Implement Apple flavour.
7043 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
7044
7045 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7046
7047 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
7048 (memmove) [__APPLE__]: Likewise.
7049 (memcpy) [__APPLE__]: Likewise.
7050 (memset) [__APPLE__]: Likewise.
7051 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
7052 (memmove) [__APPLE__]: Likewise.
7053 (memcpy) [__APPLE__]: Likewise.
7054 (memset) [__APPLE__]: Likewise.
7055
7056 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7057
7058 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
7059 dependency discard.
7060
7061 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7062
7063 * grub-core/normal/main.c (read_config_file): Provide config_file and
7064 config_directory.
7065 * util/grub.d/41_custom.in: Use config_directoy when available.
7066
7067 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7068
7069 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
7070 (grub_bfs_dir): Likewise.
7071
7072 2012-05-27 Peter Jones <pjones@redhat.com>
7073
7074 The old code gives arguments to a printf function which can't work
7075 correctly, and the compiler complains.
7076
7077 * grub-core/tests/example_functional_test.c (example_test): Add
7078 missing text.
7079 * grub-core/tests/lib/test.c (add_failure): Rewrite.
7080 * include/grub/test.h (grub_test_assert_helper): New declaration.
7081 (grub_test_assert): Use grub_test_assert_helper.
7082
7083 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7084
7085 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
7086 (exfctest): ... this to avoid overlong filenames.
7087 All users updated.
7088
7089 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7090
7091 Handle "." and ".." on squashfs.
7092
7093 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
7094 Make inode numbers into stack.
7095 (grub_squash_read_symlink): Use stack.
7096 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
7097 (make_root_node): Fill stack.
7098 (grub_squash_open): Use stack.
7099
7100 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7101
7102 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
7103 freeing.
7104
7105 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7106
7107 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
7108 stderr on test calls.
7109
7110 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7111
7112 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
7113
7114 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7115
7116 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
7117
7118 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7119
7120 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
7121 "..".
7122
7123 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7124
7125 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
7126 (grub_hfsplus_iterate_dir): Add "." and "..".
7127
7128 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7129
7130 * grub-core/fs/cpio.c (canonicalize): Handle "..".
7131 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
7132
7133 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7134
7135 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
7136 (find_path): Handle "." and "..".
7137
7138 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7139
7140 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
7141 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
7142 (grub_affs_iterate_dir): Handle hardlinks.
7143
7144 2012-05-26 Matthew Garrett <mjg@redhat.com>
7145
7146 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
7147 (grub_efi_console_fini): Likewise.
7148 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
7149 (grub_video_gop_fill_mode_info): Rename to ...
7150 (grub_video_gop_fill_real_mode_info): ... this.
7151 (grub_video_gop_fill_mode_info): New function.
7152 (grub_video_gop_setup): Setup double framebuffer.
7153 (grub_video_gop_get_info_and_fini): Use original framebuffer.
7154 Free offscreen.
7155 (grub_video_gop_swap_buffers): Copy framebuffer.
7156 (grub_video_gop_fini): Free offscreen buffer.
7157 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
7158 New enum.
7159 (grub_efi_gop_blt_pixel): New struct.
7160
7161 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
7162
7163 * gentpl.py: Remove error disabling for objconv.
7164
7165 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
7166
7167 * configure.ac: Remove -Wunitialized as it's not available on older
7168 compilers.
7169
7170 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
7171
7172 Fix extent overflow comparator.
7173
7174 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
7175 (grub_hfsplus_read_block): Set type.
7176 (grub_hfsplus_cmp_extkey): Compare type.
7177
7178 2012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
7179
7180 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
7181
7182 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7183
7184 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
7185 than 0.
7186
7187 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7188
7189 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
7190 (dejavu_bold_14.pf2): New target.
7191
7192 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7193
7194 * configure.ac: Fix djvu font detection.
7195
7196 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7197
7198 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
7199 ext* instead of ext2.
7200
7201 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7202
7203 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
7204 name with \0.
7205
7206 2012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
7207
7208 * docs/grub-dev.texi: Remove dot from .png.
7209
7210 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7211
7212 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
7213 protective entry in any slot.
7214 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
7215 if protective entry is found in any slot.
7216
7217 Protective entry in non-first slot make no sense but is a widespread
7218 brain damage.
7219
7220 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7221
7222 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
7223
7224 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7225
7226 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
7227 with old reiserfs.
7228 (grub_reiserfs_open): Don't free root.
7229
7230 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7231
7232 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
7233 after freeing for safety.
7234
7235 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7236
7237 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
7238 Reported by: Jordan Uggla.
7239
7240 2012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
7241
7242 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
7243 actual implementation. Specifically, clarify that the grub menu will
7244 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
7245 passed.
7246
7247 2012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
7248
7249 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
7250 of r0.
7251
7252 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7253
7254 Remove unjustified hard dependency of normal.mod on gfxterm.
7255
7256 * include/grub/term.h (grub_term_output): New member fullscreen.
7257 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
7258 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
7259 (grub_gfxterm): Set .fullscreen.
7260 * grub-core/normal/menu.c (menu_init): Use fullscreen.
7261 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
7262
7263 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7264
7265 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
7266 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7267 Mention case-insensitive AFFS, SFS and JFS.
7268
7269 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7270
7271 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
7272
7273 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7274
7275 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
7276 a bad FS.
7277
7278 2012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7279
7280 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
7281 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
7282
7283 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7284
7285 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
7286 (grub_jfs_mount): Fill caseins.
7287 (grub_jfs_find_file): Respect caseins.
7288
7289 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7290
7291 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
7292 through UTF-16.
7293
7294 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7295
7296 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
7297 New argument origpath. All users updated.
7298
7299 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7300
7301 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
7302 (read_attr): Ensure that we read start of possibly compressed block.
7303
7304 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7305
7306 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
7307 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
7308 All users updated.
7309
7310 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7311
7312 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
7313 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
7314 (dejavu.pf2): Replace with ...
7315 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
7316 this.
7317
7318 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7319
7320 * util/grub.d/20_linux_xen.in: Add missing line.
7321
7322 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7323
7324 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
7325 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
7326 (grub_utf16_to_utf8): Likewise.
7327
7328 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7329
7330 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
7331 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
7332 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7333 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
7334 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
7335 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
7336
7337 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7338
7339 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
7340 a bad FS.
7341
7342 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7343
7344 * grub-core/fs/udf.c (read_string): Bail out on size=0.
7345 (grub_udf_read_symlink): Handle read_string failure.
7346
7347 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7348
7349 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
7350 comment.
7351
7352 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7353
7354 Fix handling of UDF symlinks.
7355
7356 * grub-core/fs/udf.c (read_string): New argument outbuf.
7357 All users updated.
7358 (grub_ufs_read_symlink): Rename to ...
7359 (grub_udf_read_symlink): ... this. All users updated.
7360 Handle symlinks with more than one component.
7361
7362 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7363
7364 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
7365 symlinks. Replace leading colon with a slash.
7366
7367 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7368
7369 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
7370 filename.
7371
7372 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7373
7374 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
7375 match in inner node.
7376
7377 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7378
7379 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
7380 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
7381 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
7382 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
7383 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
7384 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
7385 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
7386 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
7387 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
7388
7389 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
7390
7391 Use grub-probe and not cmp to check that disk is empty.
7392
7393 * util/grub-install.in: Use grub-probe for zero-check.
7394 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
7395 (probe): Handle PRINT_ZERO_CHECK.
7396 (argp_parser): Handle -t zero_check.
7397
7398 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
7399
7400 Flush block cache on adding disk to device map.
7401
7402 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
7403 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
7404 adding.
7405 (read_device_map): Likewise.
7406 (open_device): Flush on opening.
7407
7408 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7409
7410 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
7411 (handle_symlink): Fix off-by-one error.
7412 Canonicalize the target.
7413 (grub_cpio_dir): Canonicalize the name.
7414 Fix memory leak.
7415 Set directory.
7416 (grub_cpio_open): Canonicalize the name.
7417
7418 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7419
7420 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
7421 handling.
7422
7423 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7424
7425 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
7426 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
7427
7428 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7429
7430 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
7431 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
7432 All users updated.
7433
7434 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7435
7436 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
7437 counterpart.
7438
7439 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7440
7441 Fix UFS1 big file support.
7442
7443 * grub-core/fs/ufs.c (INODE): Removed.
7444 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
7445 64-bit.
7446 (INODE_MODE): Simplify.
7447 (grub_ufs_inode): Use uint64_t for size and not int64_t.
7448 (grub_ufs_lookup_symlink): Don't use INODE.
7449
7450 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7451
7452 Fix minixfs with non-power-of-two blocks since it's supported by minix.
7453
7454 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
7455 (grub_minix_data): Replace log_block_size with block_size.
7456 (grub_minix_read_file): Use block_size but avoid 64-bit division.
7457 (grub_minix_mount): Fill block_size.
7458
7459 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7460
7461 * configure.ac: Bump to beta5.
7462
7463 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7464
7465 Fix wrapped HFS+ handling.
7466
7467 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
7468 blocks_start. All users updated.
7469 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
7470 wrapping offset.
7471 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
7472
7473 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7474
7475 Fix long symlinks on reiserfs.
7476
7477 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
7478 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
7479 (grub_reiserfs_iterate_dir): Save size for non-directories.
7480 (grub_reiserfs_open): Don't reread stat block as we already know the
7481 size.
7482 (grub_reiserfs_read): Split into...
7483 (grub_reiserfs_read_real): ... and ...
7484 (grub_reiserfs_read): ...this.
7485
7486 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7487
7488 Fix non-indexed JFS.
7489
7490 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
7491 (grub_jfs_data): New field namecomponentlen.
7492 (grub_jfs_mount): Fill namecomponentlen.
7493 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
7494
7495 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7496
7497 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
7498 * tests/grub_script_echo1.in: Add tests.
7499
7500 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7501
7502 * util/grub-install.in: Ignore empty devicetree directory.
7503
7504 2012-05-08 Bean <bean123ch@gmail.com>
7505
7506 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
7507 All users updated.
7508 (free_rsm): Free header as well.
7509 (free_old_fragments): Fix memory leak.
7510 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
7511 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
7512 (destroy_pq): Likewise.
7513 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
7514
7515 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7516
7517 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
7518 resulting hash as a precaution.
7519
7520 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7521
7522 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
7523 '_' in variable names.
7524 * grub-core/net/net.c (grub_net_network_level_interface_register):
7525 Likewise.
7526
7527 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7528
7529 Fix AFFS with non-512B blocks.
7530
7531 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
7532 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
7533 (grub_affs_data): Replace blocksize with log_blocksize.
7534 (grub_affs_read_block): Fix non-512B blocks.
7535 (grub_affs_read_symlink): Likewise.
7536 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
7537 (grub_affs_read): Fix non-512B blocks.
7538 (grub_affs_label): Likewise.
7539 (grub_affs_mtime): Likewise.
7540 (grub_affs_mount): Fix block detection routine.
7541
7542 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7543
7544 Add filesystem mtime to AFFS.
7545
7546 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
7547 (aftime2ctime): New function.
7548 (grub_affs_dir): Use aftime2ctime.
7549 (grub_affs_label): Fix return value.
7550 (grub_affs_mtime): New function.
7551 (grub_affs_fs): Add mtime.
7552
7553 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
7554
7555 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
7556 UTF-8.
7557
7558 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
7559
7560 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
7561 UTF-8.
7562
7563 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
7564
7565 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
7566
7567 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
7568
7569 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
7570 flags.
7571 (FLAGS_CASE_SENSITIVE): New enum value.
7572 (cache_entry): New struct.
7573 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
7574 cache_size and cache.
7575 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
7576 Add log_blocksize and fshelp_flags.
7577 (grub_sfs_read_extent): Handle non-512 blocks.
7578 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
7579 (grub_sfs_read_file): Handle non-512 blocks.
7580 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
7581 fshelp_flags.
7582 (grub_sfs_read_symlink): Handle non-512 blocks.
7583 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
7584 (grub_sfs_dir): Free cache.
7585 (grub_sfs_close): Likewise.
7586
7587 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
7588
7589 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
7590 filesystems.
7591
7592 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
7593
7594 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
7595
7596 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
7597
7598 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
7599
7600 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
7601
7602 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
7603 (grub_sfs_read_extent): Likewise.
7604 (grub_sfs_read_block): Likewise.
7605 (grub_sfs_mount): Likewise.
7606 (grub_sfs_iterate_dir): Likewise.
7607 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
7608 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
7609
7610 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7611
7612 Fix errors on compressed NTFS with 512B clusters.
7613
7614 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
7615 types.
7616 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
7617 not 0.
7618 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
7619 Relax check for inline extents.
7620 (ntfscomp): Return correct -1 on error and not 0.
7621
7622 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7623
7624 * util/grub-install.in: Fix handling of prefix containing spaces.
7625
7626 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7627
7628 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
7629 (grub_squash_read_data): Fix offset byte-swapping.
7630
7631 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7632
7633 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
7634 per common usage and preffered in several parts of code.
7635 (grub_memcmp): Likewise.
7636 (grub_strncmp): Likewise.
7637 * include/grub/misc.h (grub_strcasecmp): Likewise.
7638 (grub_strncasecmp): Likewise.
7639 * Makefile.util.def (cmp_test): New test.
7640 (grub_script_strcmp): Likewise.
7641 * tests/cmp_unit_test.c: New file.
7642 * tests/grub_script_strcmp.in: Likewise.
7643 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
7644
7645 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7646
7647 * include/grub/pci.h: Move enums into no-asm part.
7648
7649 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7650
7651 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
7652
7653 2012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
7654
7655 * util/getroot.c (find_hurd_root_device): Try to make error message
7656 and comments to translators clearer.
7657
7658 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7659
7660 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
7661
7662 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7663
7664 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
7665 btrfs.
7666
7667 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7668
7669 * docs/grub.cfg: Update.
7670
7671 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7672
7673 * docs/grub.texi (PXE): Remove not present variables.
7674
7675 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7676
7677 * grub-core/net/net.c (defserver_set_env): New function.
7678 (defserver_get_env): Likewise.
7679 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
7680
7681 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7682
7683 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
7684 entries.
7685
7686 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7687
7688 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
7689 * grub-core/kern/emu/hostdisk.c: Likewise.
7690
7691 2012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
7692
7693 Handle hurd userspace partitions.
7694
7695 * util/getroot.c (find_hurd_root_device): New function.
7696 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
7697
7698 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7699
7700 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
7701 names.
7702 Reported by: Bastian Blank.
7703
7704 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7705
7706 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
7707 crossing page boundary.
7708
7709 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7710
7711 Fix B-tree search in BFS, especially in presence of non-ASCII
7712 characters.
7713
7714 * grub-core/fs/bfs.c (bfs_strcmp): New function.
7715 (find_in_b_tree): Use standard bsearch + btree algorithm.
7716
7717 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7718
7719 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
7720 and so on.
7721
7722 2012-05-03 Matthew Garrett <mjg@redhat.com>
7723 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7724
7725 Suspend broadcom cards in order to stop their DMA.
7726
7727 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
7728 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
7729 (pci): Don't build on x86 EFI.
7730 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
7731 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
7732 New function.
7733 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
7734 stop_broadcom if running on EFI.
7735 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
7736 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
7737 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
7738 (grub_pci_find_capability): New proto.
7739
7740 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7741
7742 * docs/grub.texi: Remove dot from the extension as it apparently
7743 doesn't work with some makeinfo versions.
7744
7745 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7746
7747 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
7748 with GRUB expectance.
7749
7750 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7751
7752 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
7753
7754 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7755
7756 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
7757 zero after directory block since last entry may be not 0-terminated if
7758 it ends on block boundary. Use continue instead of if spanning whole
7759 loop.
7760
7761 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7762
7763 Support 4K sectors UDF inline files.
7764
7765 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
7766 (grub_udf_extended_file_entry): Likewise.
7767 (grub_fshelp_node): Name the anonymous union. Put block at the end.
7768 All users updated.
7769 (get_fshelp_size): New function.
7770 (grub_udf_read_icb): Read whole block.
7771 (grub_udf_iterate_dir): Likewise.
7772 (grub_udf_dir): Likewise.
7773 (grub_udf_open): Likewise.
7774
7775 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7776
7777 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
7778
7779 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7780
7781 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
7782 inline symlinks in addition to workaround.
7783
7784 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7785
7786 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
7787
7788 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7789
7790 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
7791
7792 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7793
7794 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
7795
7796 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7797
7798 Fix reiserfs big seek times.
7799
7800 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
7801 exact. All users updated.
7802 (grub_reiserfs_read): Use nearest btree search for seeking.
7803 Fix return value on error.
7804
7805 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7806
7807 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
7808 entries.
7809 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
7810 * docs/grub.texi: Update menuentry description.
7811
7812 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7813
7814 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
7815 crash when embedding onto filesystem.
7816
7817 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7818
7819 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
7820 name.
7821
7822 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7823
7824 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
7825
7826 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7827
7828 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
7829 commit.
7830
7831 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7832 2012-05-01 Bean <bean123ch@gmail.com>
7833
7834 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
7835
7836 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7837
7838 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
7839 Special behaviour for len = 0 to read whole file isn't used anywhere and
7840 can cause buffer ovewrflows in several places.
7841
7842 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7843
7844 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
7845
7846 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7847
7848 Handle RAIDZ on non-512B sectors.
7849
7850 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
7851 max_children_ashift.
7852 (fill_vdev_info_real): Fill max_children_ashift.
7853 (read_device): Use max_children_ashift.
7854
7855 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7856
7857 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
7858
7859 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7860
7861 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
7862 disk names.
7863 * docs/grub.texi: Update device.map parts.
7864
7865 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7866
7867 Don't scan into non-diskfilter devices having diskfilter names.
7868
7869 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
7870 (scan_disk): New argument accept_diskfilter. Fix recursion depth
7871 handling.
7872 (scan_disk_hook): New function.
7873
7874 2012-04-29 Bean <bean123ch@gmail.com>
7875
7876 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
7877 allocation.
7878
7879 2012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
7880
7881 * configure.ac: Detect starfield theme font path
7882 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
7883
7884 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7885
7886 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
7887 geometry on serial consoles.
7888
7889 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7890
7891 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
7892 because of network consoles.
7893
7894 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7895
7896 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
7897 handling.
7898
7899 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7900
7901 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
7902 falls on Q syndrom.
7903
7904 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7905
7906 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
7907 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
7908
7909 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7910
7911 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
7912 Allocate at lest 8192 for temporary buffer as required for lzo.
7913
7914 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7915
7916 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
7917 to cluster_bits, since it's already added in.
7918 (grub_fat_read_data): Likewise.
7919
7920 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7921
7922 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
7923 as long as cluster size is multiple of 512 bytes.
7924
7925 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
7926
7927 * util/grub-mkrescue.in: Fix locale directory.
7928
7929 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
7930
7931 * grub-core/kern/emu/hostdisk.c (map): Make static.
7932
7933 2012-04-23 Bean <bean123ch@gmail.com>
7934
7935 * util/grub-fstest.c (fstest): Add missing break.
7936
7937 2012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
7938
7939 Fix hurd build.
7940
7941 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
7942 not define nr variable.
7943 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
7944 find_root_devices_from_poolname, find_root_devices_from_libzfs,
7945 grub_find_device): Do not define.
7946
7947 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
7948
7949 Fix kfreebsd compile and behaviour.
7950
7951 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
7952 format-security.
7953 * util/getroot.c: Fix wait.h include.
7954 (grub_guess_root_devices): Error if grub_find_device fails.
7955 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
7956 (grub_util_get_dev_abstraction): Likewise.
7957 (grub_util_pull_device): Likewise.
7958 (grub_util_get_grub_dev): Likewise.
7959 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
7960
7961 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
7962
7963 Fix and unify wholedisk detection.
7964
7965 * util/getroot.c (convert_system_partition_to_system_disk): New argument
7966 is_part. All users updated.
7967 (device_is_wholedisk): Removed.
7968 (grub_util_biosdisk_get_grub_dev): Use is_part.
7969
7970 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7971
7972 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
7973 mode.
7974
7975 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7976
7977 * configure.ac: Bump to beta4.
7978
7979 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7980
7981 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
7982 --fs-uuid --set UUID syntax.
7983
7984 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7985
7986 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
7987 disunification.
7988
7989 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7990
7991 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
7992
7993 2012-04-18 Mads Kiilerich <mads@kiilerich.com>
7994
7995 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
7996
7997 2012-04-18 Mike Gilbert <floppym@gentoo.org>
7998
7999 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
8000
8001 2012-04-18 Bean <bean123ch@gmail.com>
8002
8003 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
8004 place.
8005
8006 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8007
8008 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
8009 users updated.
8010 (grub_util_biosdisk_read): Handle Linux partitions not exactly
8011 corresponding to GRUB partitions.
8012 (grub_util_biosdisk_write): Likewise.
8013
8014 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8015
8016 Scan mdraid before LVM.
8017
8018 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
8019 (grub_diskfilter_register_front): ... this.
8020 (grub_diskfilter_register_back): New function.
8021 All users of grub_diskfilter_register updated.
8022
8023 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8024
8025 * util/grub-install.in: Fix an automatic target detection bug.
8026
8027 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8028
8029 * util/grub-install.in: New option --efi-directory.
8030
8031 2012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8032
8033 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
8034 boot services if we have no other choice.
8035
8036 2012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
8037
8038 * util/grub-mknetdir.in: Rename --override-directory to --directory and
8039 document it.
8040 * tests/util/grub-shell.in: Update to --directory.
8041
8042 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8043
8044 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
8045
8046 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8047
8048 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
8049 (grub_minix_read_file): Likewise.
8050 (grub_minix_read_inode): Likewise.
8051 (grub_minix_find_file): Likewise.
8052 (grub_minix_dir): Likewise.
8053
8054 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8055
8056 * util/grub-setup.c (setup): Fix partition handling and blocklist
8057 check.
8058
8059 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8060
8061 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
8062 redundant buggy overlap check.
8063
8064 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8065
8066 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
8067 and grub-mknetdir.
8068
8069 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8070
8071 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
8072 kh.loadflags on pre-2.00 kernels.
8073
8074 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8075
8076 Terminate UNDI and PXE before launching the payload to avoid problems
8077 with DMA.
8078
8079 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
8080 (grub_loader_flags): ... this. All users updated.
8081 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
8082 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
8083 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
8084 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
8085 function.
8086 (grub_pxe_restore): Likewise.
8087 (fini_hnd): New var.
8088 (GRUB_MOD_INIT): Register shutdown hook.
8089 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
8090 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
8091 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
8092 (grub_loader_set): Rename second argument to flags.
8093
8094 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
8097 written bytes.
8098 (grub_get_num_of_utf8_bytes): New function.
8099 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
8100 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
8101 executing it.
8102 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
8103 (grub_ucs4_to_utf8): Change return type.
8104
8105 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8106
8107 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
8108 warning.
8109 * grub-core/fs/bfs.c (hop_level): Likewise.
8110 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
8111
8112 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8113
8114 * grub-core/lib/adler32.c: Recode due to license unclearness.
8115
8116 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8117
8118 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
8119 (test_header): Likewise.
8120
8121 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8122
8123 Fix --help formatting.
8124
8125 * util/grub-mkconfig_lib.in (print_option_help): New function.
8126 (grub_fmt): Likewise.
8127 * util/grub-install.in: Use print_option_help and grub_fmt.
8128 * util/grub-kbdcomp.in: Likewise.
8129 * util/grub-mkconfig.in: Likewise.
8130 * util/grub-mknetdir.in: Likewise.
8131 * util/grub-mkrescue.in: Likewise.
8132 * util/grub-mkstandalone.in: Likewise.
8133 * util/grub-reboot.in: Likewise.
8134 * util/grub-set-default.in: Likewise.
8135 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8136
8137 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8138
8139 * linguas.sh: Remove autogenerated *.po.
8140
8141 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8142
8143 * po/README: Move language fetcing to ...
8144 * linguas.sh: ... here.
8145 * po/README: Point to linguas.sh.
8146
8147 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8148
8149 * po/README: Exclude ko.po due to disclaimer problems.
8150
8151 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8152
8153 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
8154 len = 0.
8155 (grub_gettext_translate_real): Handle 0th string.
8156 (grub_gettext_translate): Ensure that "" isn't translated.
8157
8158 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8159
8160 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
8161 TRANSLATORS comment.
8162 (grub_diskfilter_print_partmap): Propagate changing of error into
8163 warning.
8164
8165 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8166
8167 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
8168 to uint64_t to prevent overflow.
8169 (grub_diskfilter_lv): Increase start_extent and extent_count
8170 to uint64_t to prevent overflow.
8171
8172 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8173
8174 * configure.ac: Increase version.
8175
8176 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8177
8178 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
8179
8180 * po/Rules-translit: New file.
8181 * po/arabic.sed: Likewise.
8182 * po/cyrillic.sed: Likewise.
8183 * po/greek.sed: Likewise.
8184 * po/hebrew.sed: Likewise.
8185 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
8186 * po/Makefile.in.in: Add extra_dist4.
8187
8188 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8189
8190 Handle big-endian minixfs (fixes minixfs tests on bigendian).
8191
8192 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
8193 modify names. Introduce MODE_BIGENDIAN.
8194 * grub-core/fs/minix_be.c: New file.
8195 * grub-core/fs/minix2_be.c: Likewise
8196 * grub-core/fs/minix3_be.c: Likewise.
8197 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
8198 minix3_be.
8199 * grub-core/Makefile.core.def (minix_be): New module.
8200 (minix2_be): Likewise.
8201 (minix3_be): Likewise.
8202
8203 2012-04-01 Felix <email@hamburg.de>
8204
8205 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
8206 (devs): Add MBP 2011.
8207
8208 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8209
8210 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
8211
8212 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8213
8214 * grub-core/normal/cmdline.c (print_completion): New field
8215 prompt_len.
8216 (grub_cmdline_get): Handle width properly.
8217
8218 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8219
8220 * grub-core/commands/lsacpi.c (options): Add missing terminator.
8221
8222 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8223
8224 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
8225 after 29th of February.
8226
8227 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8228
8229 Fix exfat endianness handling.
8230
8231 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
8232 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
8233 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
8234 Byte-swap utf16 when necessary.
8235 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
8236
8237 2012-03-31 Anton Blanchard <anton@samba.org>
8238 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8239
8240 Fix btrfs endianness handling.
8241
8242 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
8243 (lower_bound): Make root uint64_t. Use root in le.
8244 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
8245 (find_path): Fix template key init.
8246 (grub_btrfs_dir): Fix mtime byteswap.
8247 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
8248
8249 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8250
8251 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
8252 recursion_depth. Break infinite resursions. All users updated.
8253
8254 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8255
8256 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
8257 after free.
8258 Reported by: Peter Jones.
8259
8260 2012-03-31 Anton Blanchard <anton@samba.org>
8261
8262 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
8263 8 bit values.
8264
8265 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8266
8267 * util/grub-install.in: Fix nvram call for PreP.
8268
8269 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8270
8271 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
8272 the error when some elements are missing into a warning.
8273
8274 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8275
8276 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
8277
8278 2012-03-28 Colin Watson <cjwatson@ubuntu.com>
8279
8280 * docs/grub.texi (Invoking grub-probe): New section.
8281 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
8282
8283 2012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
8284
8285 Fix tab and wide character handling in editor and menu.
8286
8287 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
8288 agglomerate control characters with combining marks.
8289 (bidi_line_wrap): Allow break on tab.
8290 (grub_unicode_get_comb_start): New function.
8291 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
8292 and tab correctly.
8293 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
8294 with a space.
8295 * grub-core/normal/term.c (print_ucs4_terminal): New argument
8296 fixed_tab_size. All users updated.
8297 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
8298 (grub_term_getcharwidth): Handle \t.
8299 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
8300 and copy.
8301
8302 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8303
8304 Handle big-endian mdraid.
8305
8306 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
8307 * grub-core/Makefile.core.def (mdraid09_be): New module.
8308 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
8309 rather than grub_le_to_cpu* and grub_cpu_to_le*.
8310 * grub-core/disk/mdraid_linux_be.c: New file.
8311
8312 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8313
8314 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
8315
8316 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8317
8318 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
8319 missing quotes which caused confusion among translators.
8320
8321 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8322
8323 * util/grub-mkconfig_lib.in: Fix typo.
8324
8325 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8326
8327 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
8328 spaces.
8329 * tests/grub_script_leading_whitespace.in: New file.
8330 * Makefile.util.def (grub_script_leading_whitespace): New test.
8331
8332 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8333
8334 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
8335 to work.
8336
8337 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8338
8339 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
8340 starts with control character.
8341
8342 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8343
8344 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
8345 overflow.
8346 (grub_gdb_outbuf): Likewise.
8347
8348 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8349
8350 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
8351 zero terminator. Fixes a crash.
8352
8353 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8354
8355 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
8356 beyond 4 GiB.
8357 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
8358 images independently of preffered adderss field.
8359
8360 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8361
8362 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
8363 * grub-core/commands/regexp.c: Likewise.
8364 * grub-core/loader/i386/linux.c: Likewise.
8365 * grub-core/partmap/msdos.c: Likewise.
8366 * grub-core/script/execute.c: Likewise.
8367 * grub-core/term/gfxterm.c: Likewise.
8368
8369 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8370
8371 Add variable parsing in $"..." and fix several mismatches with bash.
8372
8373 * Makefile.util.def (grub_script_gettext): New test.
8374 * grub-core/script/execute.c (parse_string): New function.
8375 (gettext_append): Likewise.
8376 (grub_script_arglist_to_argv): Use gettext_append.
8377 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
8378 * tests/grub_script_gettext.in: New file.
8379
8380 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8381
8382 Fix handling of leading spaces in scripts.
8383
8384 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
8385 spaces.
8386 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
8387 other than skipping \r. All users updated.
8388 * tests/grub_script_echo1.in: Add space-related tests.
8389 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
8390
8391 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8392
8393 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
8394
8395 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8396
8397 * configure.ac: Bump up the version to beta2.
8398
8399 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8400
8401 Fix gettext reload bugs (e.g. inability to disable gettext
8402 once enabled).
8403
8404 * grub-core/gettext/gettext.c: Encapsulate all static variables in
8405 main_context and secondary_context. All functions updated.
8406 (grub_gettext_translate): Rename to ...
8407 (grub_gettext_translate_real): ... this. Return NULL on failed
8408 translate.
8409 (grub_gettext_translate): Handle secondary context.
8410 (grub_gettext_delete_list): Close file and zero-out the context.
8411 (grub_mofile_open): Don't call grub_gettext_delete_list.
8412 Don't close file.
8413 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
8414 if locale="" to avoid pointless error message.
8415 (grub_gettext_env_write_lang): Update lang even if load fails.
8416 Handle secondary context.
8417 (grub_gettext_reread_prefix): New function.
8418 (read_main): Likewise.
8419 (read_secondary): Likewise.
8420 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
8421 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
8422 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
8423 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
8424
8425 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8426
8427 * configure.ac: Decrease warning level to avoid spurious warnings and
8428 to be able to compile with GCC 4.2.
8429 * Makefile.util.def: Remove -Wno-error=logical-op.
8430
8431 2012-03-10 William Bittner <william.bittner@gmail.com>
8432
8433 * util/import_unicode.py: Add missing brackets around string for
8434 python 3 support.
8435
8436 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8437
8438 Fix efi chainloader on network root.
8439
8440 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
8441 network devices.
8442 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
8443 New function.
8444
8445 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8446
8447 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
8448 unused show_text member.
8449 * docs/grub.texi: Document "text" property.
8450
8451 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8452
8453 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
8454 in dprintf.
8455
8456 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8457
8458 Fix IMSM handling on Fedora.
8459
8460 * util/getroot.c (grub_util_is_imsm): New function.
8461 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
8462
8463 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8464
8465 * Makefile.am: Strip gold section.
8466 * conf/Makefile.common: Likewise.
8467 * gentpl.py: Likewise.
8468 * grub-core/Makefile.core.def: Likewise.
8469 * grub-core/genmod.sh.in: Likewise.
8470
8471 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8472
8473 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
8474 * util/grub.d/20_linux_xen.in: Likewise.
8475 Based on Debian patch.
8476
8477 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8478
8479 * util/grub.d/10_linux.in: Fix syntax error resulting in
8480 Richard Laager's patch.
8481 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
8482
8483 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8484
8485 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
8486 dependencies.
8487
8488 2012-03-10 Richard Laager <rlaager@wiktel.com>
8489
8490 * util/grub.d/10_linux.in: Fix ZFS root passing.
8491
8492 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8493
8494 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
8495 * grub-core/commands/xnu_uuid.c: Likewise.
8496 * grub-core/loader/efi/appleloader.c: Likewise.
8497 * grub-core/script/execute.c: Likewise.
8498 * grub-core/script/main.c: Likewise.
8499 * util/grub-mkfont.c: Likewise.
8500
8501 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8502
8503 * util/grub-mkfont.c (options): Use more appropriate "select" that
8504 "set" for face index.
8505
8506 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8507
8508 * util/grub-editenv.c (options): Gettextize command summaries.
8509
8510 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8511
8512 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
8513 "out of memory" error messagge.
8514
8515 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8516
8517 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
8518 of diskfilter for diskfilter on diskfilter support.
8519
8520 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8521
8522 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
8523
8524 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8525
8526 * util/grub-install.in: Check for themes/starfield/theme.txt and not
8527 themes/starfield.
8528
8529 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8530
8531 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
8532
8533 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8534
8535 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
8536
8537 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8538
8539 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
8540 of error message.
8541
8542 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
8543
8544 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
8545
8546 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
8547
8548 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
8549 message.
8550 * util/grub-install.in: Fix and gettextize error message.
8551
8552 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8553
8554 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
8555 Gettextize.
8556 * util/grub-mount.c (options): Likewise.
8557
8558 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8559
8560 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
8561 gettextize.
8562 * grub-core/commands/search_wrap.c (options): Likewise.
8563
8564 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8565
8566 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
8567
8568 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8569
8570 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
8571 size calculation.
8572 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
8573 none is known.
8574
8575 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8576
8577 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
8578 "temporary" since it's used in identifier and is limited in space.
8579
8580 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8581
8582 * po/POTFILES.in: Regenerate. Include *.h since they contain
8583 translatable strings as well.
8584
8585 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8586
8587 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
8588 byte-swap on big-endian.
8589 Reported by: Lennart Sorensen
8590
8591 2012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
8592
8593 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
8594 (allocate_pages): Improve dprintf.
8595 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
8596 code32_start. Fill code32_start and kernel_alignment in params.
8597 (grub_cmd_initrd): Use prot_init_space.
8598
8599 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8600
8601 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
8602
8603 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8604
8605 * util/grub-install.in: Add missing dot at the end of sentence.
8606
8607 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8608
8609 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
8610 * grub-core/commands/videotest.c: Likewise.
8611 * grub-core/loader/i386/linux.c: Likewise.
8612
8613 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8614
8615 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
8616 sentence.
8617 Reported by: Milo Casagrande.
8618
8619 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8620
8621 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
8622 * grub-core/commands/gptsync.c: Likewise.
8623 * grub-core/commands/hashsum.c: Likewise.
8624 * grub-core/commands/i386/pc/sendkey.c: Likewise.
8625 * grub-core/commands/legacycfg.c: Likewise.
8626 * grub-core/io/gzio.c: Likewise.
8627 * grub-core/net/net.c: Likewise.
8628 * grub-core/term/gfxterm.c: Likewise.
8629 * grub-core/term/terminfo.c: Likewise.
8630 * grub-core/tests/test_blockarg.c: Likewise.
8631 * grub-core/video/video.c: Likewise.
8632 * util/grub-install.in: Likewise.
8633 * util/grub-mkfont.c: Likewise.
8634
8635 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8636
8637 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
8638
8639 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8640
8641 * grub-core/commands/search_wrap.c (options): Fix a typo.
8642 Reported by: David Prévot.
8643
8644 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8645
8646 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
8647 description.
8648
8649 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8650
8651 * util/grub-script-check.c (main): Fix a syntax error message which was
8652 unclear.
8653
8654 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8655
8656 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
8657
8658 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8659
8660 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
8661 messages.
8662
8663 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8664
8665 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
8666 without argument.
8667 * util/grub-mount.c (options): Likewise.
8668
8669 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8670
8671 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
8672
8673 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8674
8675 * grub-core/net/http.c: Add TRANSLATORS comments.
8676 * grub-core/normal/cmdline.c: Likewise.
8677 * grub-core/normal/misc.c: Likewise.
8678 * grub-core/partmap/msdos.c: Likewise.
8679 * grub-core/parttool/msdospart.c: Likewise.
8680 * grub-core/script/execute.c: Likewise.
8681 * grub-core/script/main.c: Likewise.
8682 * grub-core/term/terminfo.c: Likewise.
8683 * grub-core/video/bitmap.c: Likewise.
8684 * util/grub-install.in: Likewise.
8685 * util/grub-mkimage.c: Likewise.
8686 * util/grub-mklayout.c: Likewise.
8687 * util/grub-setup.c: Likewise.
8688
8689 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8690
8691 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
8692 with similar messages in grub-fstest.
8693
8694 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8695
8696 * util/grub-install.in: Unify "option requires an argument" message
8697 with similar messages in other files.
8698 * util/grub-mkconfig.in: Likewise.
8699
8700 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8701
8702 * util/grub-set-default.in: Replace printf with gettext_printf (the
8703 string in in question is already translated from grub-reboot)
8704
8705 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8706
8707 * configure.ac: Bump up the version to beta1.
8708
8709 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8710
8711 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
8712 case when min_align = 0.
8713
8714 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8715
8716 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
8717 and fix a case when line_start overflows.
8718
8719 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8720
8721 * util/grub-reboot.in (usage): Mention id posibility.
8722 * util/grub-set-default.in (usage): Likewise.
8723
8724 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8725
8726 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
8727 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
8728 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
8729 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
8730 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
8731 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8732 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8733
8734 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8735
8736 * grub-core/commands/menuentry.c (options): Remove
8737 GRUB_ARG_OPTION_REPEATABLE.
8738 Reported by: Andreas Vogel
8739
8740 2012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
8741
8742 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
8743
8744 2012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
8745
8746 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
8747 error.
8748
8749 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8750
8751 Use sort -V by the idea of Georgi Georgiev.
8752
8753 * util/grub-mkconfig_lib.in (version_sort): New function.
8754 (version_test_numeric): Use version_sort.
8755
8756 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8757
8758 Use submenus in grub-mkconfig.
8759
8760 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
8761 * util/grub-mkconfig_lib.in (grub_quote): New function.
8762 (gettext_printf): Use gettext and not gettext_quoted to fix several
8763 messages.
8764 * util/grub.d/10_hurd.in: Use submenus.
8765 * util/grub.d/10_kfreebsd.in: Likewise.
8766 * util/grub.d/10_linux.in: Likewise.
8767 * util/grub.d/10_netbsd.in: Likewise.
8768 * util/grub.d/20_linux_xen.in: Likewise.
8769 * util/grub.d/30_os-prober.in: Likewise.
8770 * util/grub.d/10_illumos.in: Add missing quoting.
8771 * util/grub.d/10_windows.in: Likewise.
8772
8773 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8774
8775 Fix menu title instability bug.
8776
8777 * grub-core/commands/menuentry.c (options): New option --id.
8778 (grub_normal_add_menu_entry): New argument id. All users updated.
8779 (grub_cmd_menuentry): Handle --id.
8780 (grub_menu_init): Accept unknown arguments.
8781 * grub-core/normal/main.c (features): Add feature_menuentry_id and
8782 feature_menuentry_options.
8783 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
8784 saved_entry.
8785 (get_entry_number): Match with id as well.
8786 * include/grub/menu.h (grub_menu_entry): New member id.
8787 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
8788 * util/grub.d/00_header.in: Define menuentry_id_option.
8789 * util/grub.d/10_hurd.in: Define id.
8790 * util/grub.d/10_illumos.in: Likewise.
8791 * util/grub.d/10_kfreebsd.in: Likewise.
8792 * util/grub.d/10_linux.in: Likewise.
8793 * util/grub.d/10_netbsd.in: Likewise.
8794 * util/grub.d/10_windows.in: Likewise.
8795 * util/grub.d/20_linux_xen.in: Likewise.
8796 * util/grub.d/30_os-prober.in: Likewise.
8797
8798 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8799
8800 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
8801 "scope" with "body".
8802
8803 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8804
8805 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
8806 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
8807 prot_size and prot_file_size.
8808
8809 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8810
8811 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
8812 All users updated. If easily=1 require raid-5/-6 to be full.
8813 (is_node_readable): Likewise.
8814 (scan_devices): Scan incomplete but readable LVs at the end.
8815 (grub_diskfilter_memberlist): Pull missing devices.
8816 (insert_array): Skip scanning until device is complete or scan is
8817 done otherwise.
8818 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
8819 check.
8820 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
8821 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
8822
8823 2012-03-03 Matthew Garrett <mjg@redhat.com>
8824 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8825
8826 Avoid EFI boot services when loading Linux.
8827
8828 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
8829 avoid_efi_bootservices. All users updated.
8830 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
8831 argument avoid_efi_bootservices. All users updated.
8832 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
8833 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
8834 align, min_align, relocatable, prefered_address. All users updated.
8835 Allocate avoiding boot services if kernel is relocatable.
8836 (grub_cmd_linux): Check if kernel is relocatable.
8837 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
8838 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
8839 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
8840 avoid_efi_boot_services.
8841 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
8842 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
8843 (linux_kernel_params): Likewise.
8844
8845 2012-03-03 Matthew Garrett <mjg@redhat.com>
8846 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8847
8848 Use EDID on EFI.
8849
8850 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
8851 datasize_out.
8852 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
8853 modes. Set gop_handle.
8854 (grub_video_gop_get_edid): New function.
8855 (grub_gop_get_preferred_mode): Likewise.
8856 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
8857 (grub_video_efi_gop_adapter): Set .get_edid.
8858 * include/grub/efi/edid.h: New file.
8859 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
8860
8861 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8862
8863 * util/grub-install.in: Load efivars unconditionally.
8864
8865 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8866
8867 * po/Rules-piglatin: Change suffix from .po-update-en to
8868 .po-update-en-piglatin.
8869
8870 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 Add a pig farm.
8873
8874 * po/piglatin.sed: New file.
8875 * po/en@piglatin.header: Likewise.
8876 * po/Rules-piglatin: Likewise.
8877 * po/README: Add en@piglatin to autogenerated languages.
8878
8879 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8880
8881 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
8882 "Command for ...".
8883 * grub-core/commands/hdparm.c (options): Use "Display" rather than
8884 "Check" since we don't check anything.
8885 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
8886 is 64-bit one.
8887 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
8888 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
8889 (grub_md_sha512_real): Likewise.
8890
8891 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8892
8893 * grub-core/commands/gptsync.c: Fix typographic quoting.
8894 * grub-core/commands/ieee1275/suspend.c: Likewise.
8895 * grub-core/commands/parttool.c: Likewise.
8896 * grub-core/commands/search_wrap.c: Likewise.
8897 * grub-core/commands/videoinfo.c: Likewise.
8898 * grub-core/gfxmenu/gui_label.c: Likewise.
8899 * grub-core/hello/hello.c: Likewise.
8900 * grub-core/kern/emu/main.c: Likewise.
8901 * grub-core/net/net.c: Likewise.
8902 * grub-core/normal/menu.c: Likewise.
8903 * grub-core/normal/menu_text.c: Likewise.
8904 * grub-core/normal/misc.c: Likewise.
8905 * util/grub-editenv.c: Likewise.
8906 * util/grub-install.in: Likewise.
8907 * util/grub-kbdcomp.in: Likewise.
8908 * util/grub-mkconfig.in: Likewise.
8909 * util/grub-mknetdir.in: Likewise.
8910 * util/grub-mkrescue.in: Likewise.
8911 * util/grub-mkstandalone.in: Likewise.
8912 * util/grub-reboot.in: Likewise.
8913 * util/grub-set-default.in: Likewise.
8914 * util/grub-setup.c: Likewise.
8915 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8916
8917 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8918
8919 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
8920 * grub-core/commands/keystatus.c: Likewise.
8921 * grub-core/commands/loadenv.c: Likewise.
8922 * grub-core/commands/probe.c: Likewise.
8923 * grub-core/commands/regexp.c: Likewise.
8924 * grub-core/commands/true.c: Likewise.
8925 * grub-core/commands/videoinfo.c: Likewise.
8926 * grub-core/disk/cryptodisk.c: Likewise.
8927 * grub-core/disk/ldm.c: Likewise.
8928 * grub-core/disk/loopback.c: Likewise.
8929 * grub-core/disk/luks.c: Likewise.
8930 * grub-core/fs/zfs/zfsinfo.c: Likewise.
8931 * grub-core/kern/disk.c: Likewise.
8932 * grub-core/kern/emu/hostdisk.c: Likewise.
8933
8934 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8935
8936 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
8937 * util/grub-install.in: Add missing quote in the comment.
8938
8939 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8940
8941 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
8942 * grub-core/commands/lsmmap.c: Likewise.
8943 * grub-core/commands/minicmd.c: Likewise.
8944 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
8945 * grub-core/commands/regexp.c: Likewise.
8946 * grub-core/gdb/gdb.c: Likewise.
8947 * grub-core/term/gfxterm.c: Likewise.
8948 * util/grub-mkconfig.in: Likewise.
8949 * util/grub-mkfont.c: Likewise.
8950 * util/grub-mklayout.c: Likewise.
8951 * util/grub-mknetdir.in: Likewise.
8952 * util/grub-mkrescue.in: Likewise.
8953 * util/grub.d/30_os-prober.in: Likewise.
8954
8955 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8956
8957 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
8958 with "Direct color" and "Packed" with "Packed pixel".
8959 (grub_cmd_videoinfo): Simplify legend.
8960
8961 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8962
8963 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
8964 absolutely unclear error message.
8965
8966 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8967
8968 * util/grub-mkstandalone.in: Remove confusing leftover print.
8969
8970 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8971
8972 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
8973 comments.
8974 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
8975 (GRUB_MOD_INIT): Likewise.
8976 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
8977 VGA mode.
8978 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
8979 comments.
8980 * util/grub-install.in (usage): Likewise.
8981 Spell ID in whole letters.
8982 Add missing ending dot.
8983 Quote variables.
8984 * util/grub-reboot.in: Fix capitalisation.
8985 * util/grub-set-default.in: Likewise.
8986
8987 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8988
8989 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
8990 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
8991 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
8992 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
8993 Disable -Werror for -Wdeprecated-declarations.
8994 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
8995 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
8996 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
8997 (grub_util_get_grub_dev): Make luks handling dependent on
8998 HAVE_DEVICE_MAPPER and not __linux__.
8999 (get_win32_path): Fix format security.
9000 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
9001 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
9002 Don't try grub_find_zpool_from_dir.
9003 (grub_make_system_path_relative_to_its_root) [!__linux__]:
9004 #ifdef-out paresdir.
9005
9006 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9007
9008 * util/grub-pe2elf.c (usage): Add missing noreturn.
9009 (write_section_data): Rename name to shname to avoid shadowing.
9010 (write_symbol_table): Rename name to symname to avoid shadowing.
9011 Fix write_reloc_section call.
9012
9013 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9014
9015 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
9016 to ensure that it's after the last byte of .text.
9017
9018 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9019
9020 * util/ieee1275/ofpath.c (my_isdigit): New function.
9021 (trailing_digits): Use my_isdigit.
9022 (strip_trailing_digits): Likewise.
9023
9024 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9025
9026 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
9027 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
9028
9029 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9030
9031 * grub-core/kern/i386/pc/startup.S: Define __start.
9032
9033 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9034
9035 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
9036 strip already transforms he format.
9037
9038 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9039
9040 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
9041
9042 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9043
9044 * util/grub-install.in: Add missing gettext init.
9045 * util/grub-kbdcomp.in: Likewise.
9046 * util/grub-mkconfig.in: Likewise.
9047 * util/grub-mknetdir.in: Likewise.
9048 * util/grub-mkrescue.in: Likewise.
9049 * util/grub-mkstandalone.in: Likewise.
9050 * util/grub-reboot.in: Likewise.
9051 * util/grub-set-default.in: Likewise.
9052 * util/grub.d/00_header.in: Likewise.
9053 * util/grub.d/10_hurd.in: Likewise.
9054 * util/grub.d/10_windows.in: Likewise.
9055 * util/grub.d/30_os-prober.in: Likewise.
9056 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9057
9058 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9059
9060 * po/Rules-swiss: Fix header comment.
9061
9062 2012-02-29 Andreas Vogel <anvoit>
9063
9064 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
9065 resulted in leak of arguments.
9066
9067 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9068
9069 * grub-core/boot/i386/pc/startup_raw.S: Use separate
9070 reed_solomon_size const definition instead of computing it since
9071 Apple assembler doesn't support the later.
9072
9073 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9074
9075 * gentpl.py (kernel): Rewrite Apple part.
9076
9077 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9078
9079 * include/grub/kernel.h (FOR_MODULES): Check module magic.
9080
9081 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9082
9083 * util/grub-mkimagexx.c (locate_sections): Support non-standard
9084 ELF section gap.
9085 (load_image): Likewise.
9086
9087 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9088
9089 * configure.ac: Fix a typo in previous commit.
9090
9091 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9092
9093 Don't add -Wl,-N on Apple platform.
9094
9095 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
9096 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
9097
9098 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9099
9100 * grub-core/Makefile.core.def (lzma_decompress): Use
9101 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
9102
9103 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9104
9105 * grub-core/genmod.sh.in: Rewrite the Apple part.
9106
9107 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9108
9109 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
9110 comparison.
9111
9112 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9113
9114 * acinclude.m4 (grub_CHECK_PIC): New test.
9115 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
9116
9117 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9118
9119 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
9120 to avoid the warning.
9121
9122 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9123
9124 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
9125 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
9126 after. All users updated.
9127
9128 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9129
9130 Use the common size routine in hostfs so we can read disks as well.
9131
9132 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
9133 (grub_util_get_fd_size): ... this. Return size in bytes.
9134 All users updated.
9135 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
9136 grub_util_get_fd_size.
9137
9138 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9139
9140 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
9141 Add blocksize retrieval.
9142
9143 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9144
9145 * configure.ac: Restore CFLAGS after efiemu check.
9146
9147 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9148
9149 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
9150 Apple bug.
9151
9152 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9153
9154 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
9155
9156 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9157
9158 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
9159 (grub_cmd_halt): Likewise.
9160
9161 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9162
9163 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
9164 for local arithmetics.
9165 Break %sp init into 2 instructions.
9166 Add 0 byte at the end.
9167
9168 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9169
9170 * grub-core/disk/diskfilter.c (read_segment): Initialise err
9171 before loops.
9172
9173 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9174
9175 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
9176 for context.
9177
9178 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9179
9180 * grub-core/disk/ldm.c (make_vg): Init part.name.
9181 (grub_ldm_detect): Silence spurious warning.
9182 (grub_util_is_ldm): Likewise.
9183
9184 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9185
9186 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
9187 sane value to avoid a spurious warning.
9188
9189 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9190
9191 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
9192 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
9193
9194 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9195
9196 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
9197 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
9198
9199 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9200
9201 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
9202 hardcoding the relevant info.
9203
9204 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9205
9206 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
9207 missing const qualifiers.
9208 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
9209
9210 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 * util/getroot.c [__APPLE__]: Add missing includes.
9213 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
9214
9215 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9216
9217 * util/grub-mkimage.c (generate_image): Silence spurious warning.
9218
9219 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9220
9221 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
9222 avoid conflicts.
9223
9224 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9225
9226 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
9227
9228 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9229
9230 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
9231 and grub_file_close call.
9232
9233 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9234
9235 Add LZSS Mach-O support (needed for new xnu kernelcache).
9236
9237 * grub-core/Makefile.core.def (xnu): Add file lzss.c
9238 * grub-core/loader/lzss.c: New file.
9239 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
9240 on Mach-O open failure.
9241 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
9242 Don't free cmdsXX in uncompressedXX is set.
9243 (grub_macho_file): Init new fields.
9244 New argument is_64bit. All users updated.
9245 Handle compressed. Error out if no suitable architecture is found.
9246 Don't close file.
9247 (grub_macho_open): New argument is_64bit. All users updated.
9248 * grub-core/loader/macho32.c: Add defines for new fields.
9249 * grub-core/loader/macho64.c: Likewise.
9250 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
9251 (grub_macho_parse): Handle compressed.
9252 Defer actual processing if compressed.
9253 (grub_macho_cmds_iterate): Decompress if compressed. New argument
9254 "filename". All users updated.
9255 (grub_macho_size): New argument "filename". All users updated.
9256 (grub_macho_get_entry_point): Likewise.
9257 (grub_macho_load): Handle compressed.
9258 * include/grub/macho.h (grub_macho_lzss_header): New struct.
9259 (GRUB_MACHO_LZSS_OFFSET): New define.
9260 (grub_decompress_lzss): New proto.
9261 * include/grub/machoload.h (grub_macho_file): New fields to handle
9262 compressed.
9263 (grub_macho_contains_macho64): Remove proto.
9264 (grub_macho_contains_macho32): Likewise.
9265 * util/grub.d/30_os-prober.in: Use kernel cache if available.
9266
9267 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9268
9269 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
9270
9271 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
9272
9273 Fix make dist.
9274
9275 * Makefile.am (starfield_theme_files): New var.
9276 (starfield_DATA): Use starfield_theme_files.
9277 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
9278 Add bootcheck-related files.
9279 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
9280 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
9281 and font_char_metrics.txt.
9282 * grub-core/Makefile.core.def (kernel): Update extra_dist.
9283 (setjmp): Add lib/ia64/longjmp.S.
9284 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
9285 * po/POTFILES.in: Regenerate.
9286 * po/Rules-swiss: use DISTFILES.common.extra2 and not
9287 DISTFILES.common.extra1.
9288 * util/devicemap.c: Removed.
9289 * grub-core/lib/i386/relocator_backward.S: Likewise.
9290 * util/import_gcry.py: Remove unused files. Add extra_dist for
9291 ChangeLog.
9292
9293 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
9294
9295 * grub-core/gettext/gettext.c (grub_mofile_open): Call
9296 grub_gettext_delete_list before changing grub_gettext_max to avoid
9297 running out of array bounds.
9298
9299 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
9300
9301 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
9302 grub_vga_text_init/grub_vga_text_fini.
9303
9304 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
9305
9306 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
9307
9308 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9309
9310 * configure.ac: Bump to 2.00~beta0.
9311
9312 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9313
9314 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
9315 missing initialisation.
9316
9317 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9318
9319 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
9320
9321 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9322
9323 Support v2 xnu boot arguments.
9324
9325 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
9326 New argument fsbfreq_out.
9327 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
9328 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
9329 be used.
9330 * grub-core/loader/machoXX.c (grub_macho_load): New argument
9331 darwin_version.
9332 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
9333 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
9334 (grub_xnu_boot_params): Rename to ...
9335 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
9336 (grub_xnu_boot_params_v2): New struct.
9337
9338 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9339
9340 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
9341 zeroing of CRC field before computing CRC.
9342
9343 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9344
9345 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
9346 Change order of allocations to decrease fragmentation.
9347
9348 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9349
9350 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
9351
9352 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
9353
9354 Use write-combining MTRR to speed up video with buggy BIOSes.
9355
9356 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
9357 (cpuid): New define.
9358 (rdmsr): Likewise.
9359 (wrmsr): Likewise.
9360 (mtrr_base): Likewise.
9361 (mtrr_mask): Likewise.
9362 (grub_vbe_enable_mtrr_entry): New function.
9363 (grub_vbe_enable_mtrr): Likewise.
9364 (grub_vbe_disable_mtrr): Likewise.
9365 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
9366 control off to BIOS.
9367 (grub_video_vbe_init): Fill mtrr.
9368 (grub_video_vbe_fini): Disable mtrr.
9369 (grub_video_vbe_get_info_and_fini): Likewise.
9370 (grub_video_vbe_setup): Enable mtrr.
9371
9372 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
9373
9374 * include/grub/partition.h (grub_partition_map): Change prototype of
9375 embed to take a maximum value for nsectors.
9376 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
9377 * include/grub/fs.h (grub_fs): Likewise.
9378 * grub-core/partmap/msdos.c (embed_signatures): New array.
9379 (pc_partition_map_embed): Check for and avoid sectors matching any
9380 of the signatures in embed_signatures, up to max_nsectors.
9381 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
9382 returned sector map to max_nsectors.
9383 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
9384 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
9385 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
9386 * util/grub-setup.c (setup): Allow for the embedding area being
9387 split into multiple blocklists. Tell dest_partmap->embed the
9388 maximum number of sectors we care about.
9389
9390 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9391
9392 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
9393 Specify blocklist_install and reserver_first_sector for all fs.
9394 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
9395 blocklists.
9396
9397 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9398
9399 * util/grub-install.in: Clarify strings.
9400 Fix source dir check.
9401
9402 2012-02-27 Richard Laager <rlaager@wiktel.com>
9403
9404 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
9405 "zfs" and "fuse.zfs" as synonyms.
9406
9407 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9408
9409 * configure.ac: Put platform and target_cpu substitutions back since
9410 they are used for directories.
9411
9412 2012-02-27 Richard Laager <rlaager@wiktel.com>
9413 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9414
9415 * util/grub.d/10_linux.in: Add ZFS-related arguments.
9416 * util/grub.d/20_linux_xen.in: Likewise.
9417
9418 2012-02-27 Richard Laager <rlaager@wiktel.com>
9419
9420 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
9421 with full paths.
9422
9423 2012-02-27 Richard Laager <rlaager@wiktel.com>
9424
9425 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
9426 unescape.
9427
9428 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9429
9430 Don't use insecure popen in getroot.
9431
9432 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
9433 (exec_pipe): ... here.
9434 (find_root_devices_from_poolname): Use exec_pipe.
9435
9436 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9437
9438 Remove platform and target_cpu replacement.
9439
9440 * configure.ac: Remove platform and target_cpu substitutions.
9441 * tests/util/grub-shell.in: Use modinfo.
9442 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
9443 explicitly.
9444
9445 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9446
9447 Autodetect platform in grub-install but allow override.
9448
9449 * util/grub-install.in: Autodetect platform. Support --target and
9450 --directory. Read platform from modinfo.sh.
9451
9452 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9453
9454 Support btrfs multi-volume probe.
9455
9456 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
9457 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
9458 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
9459 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
9460 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
9461 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
9462 grub_find_root_devices_from_btrfs if on btrfs.
9463
9464 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9465
9466 Remove any awareness of *.c util files about target.
9467
9468 * Makefile.util.def (grub-setup): Split to ...
9469 (grub-bios-setup): ... and this.
9470 (grub-sparc64-setup): ... and this.
9471 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
9472 * docs/man/grub-setup.h2m: Split into ...
9473 * docs/man/grub-sparc64-setup.h2m: ... this.
9474 * docs/man/grub-bios-setup.h2m: ... and this.
9475 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
9476 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
9477 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
9478 (grub_target_addr_t): Remove.
9479 (grub_target_size_t): Remove.
9480 (grub_target_ssize_t): Remove.
9481 * util/grub-install.in: Use new grub-*-setup.
9482 * util/grub-mkimagexx.c (Elf_Word): New define.
9483 (Elf_Half): Likewise.
9484 (Elf_Section): Likewise.
9485 (ELF_ST_TYPE): Likewise.
9486 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
9487 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
9488
9489 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9490
9491 Replace grub_target_addr with more appropriate types.
9492
9493 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
9494 grub_target_addr with grub_addr.
9495 * grub-core/commands/iorw.c (grub_cmd_read): Replace
9496 grub_target_addr with grub_port.
9497 (grub_cmd_write): Likewise.
9498 * grub-core/commands/memrw.c (grub_cmd_read): Replace
9499 grub_target_addr with grub_addr.
9500 (grub_cmd_write): Likewise.
9501 * grub-core/video/efi_uga.c (find_line_len): Likewise.
9502
9503 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9504
9505 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
9506 const qualifier for vendor_guid.
9507
9508 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9509
9510 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
9511 const qualifier.
9512 (efiemu_memequal): Likewise.
9513 (find_variable): Likewise.
9514
9515 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9516
9517 Fix missing console prototype on qemu-mips.
9518
9519 * include/grub/mips/qemu_mips/console.h: New file.
9520
9521 2012-02-27 Matthew Garrett <mjg@redhat.com>
9522 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9523
9524 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
9525 * include/grub/efi/efi.h: Likewise.
9526 * include/grub/efi/api.h: Add guid for EFI-specified variables.
9527 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
9528 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
9529 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
9530 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
9531 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
9532
9533 2012-02-27 Matthew Garrett <mjg@redhat.com>
9534
9535 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
9536
9537 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9538
9539 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
9540 error.
9541
9542 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9543
9544 * configure.ac: Remove inappropriate use of program_transform_name
9545 on grubdir and bootdir but allow explicit specification of those
9546 variables.
9547
9548 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9549
9550 * util/grub-mknetdir.in (grub_prefix): Removed.
9551 (subdir): Use @bootdirname@ and @grubdirname@.
9552
9553 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9554
9555 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
9556
9557 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9558
9559 * po/POTFILES.in: Regenerated.
9560
9561 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9562
9563 Remove improper use of program_transform_name on pkglibrootdir.
9564
9565 * configure.ac (pkglibrootdir): Removed.
9566 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
9567 * util/grub-mkimage.c: Likewise.
9568
9569 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9570
9571 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
9572 warning.
9573
9574 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9575
9576 * util/grub-install.in: Use file identifier if no UUID is available
9577 or user explicitly prompted for it.
9578
9579 2012-02-27 Navdeep Parhar <nparhar@gmail.com>
9580
9581 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
9582 (freebsd_get_zfs): New function.
9583 (grub_freebsd_boot): Pass zfs UUID.
9584 (grub_cmd_freebsd): Set zfs UUID.
9585
9586 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9587
9588 * conf/Makefile.common (platformdir): Base on pkglibdir and not
9589 pkglibrootdir.
9590
9591 2012-02-27 Mike Gilbert <floppym@gentoo.org>
9592
9593 Add configure flag to control libzfs integration.
9594
9595 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
9596
9597 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9598
9599 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
9600 device.
9601 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
9602 small devices.
9603
9604 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9605
9606 Remove grub_{modname}_init and grub_{modname}_fini. They should never
9607 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
9608 be used on non-modules.
9609
9610 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
9611 Rename to grub_boot_init.
9612 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
9613 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
9614 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
9615 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
9616 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
9617 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
9618 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
9619 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
9620 includes.
9621 (grub_machine_init): Remove empty inits.
9622 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
9623 includes.
9624 (grub_machine_init): Remove empty inits.
9625 * grub-core/term/arc/console.c: Remove explicit proto.
9626 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
9627 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
9628 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
9629 grub_at_keyboard_fini.
9630 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
9631 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
9632 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
9633 grub_gfxterm_fini.
9634 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
9635 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
9636 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
9637 grub_vgatext_fini.
9638 * grub-core/term/ieee1275/console.c: Remove explicit proto.
9639 * grub-core/term/serial.c (GRUB_MOD_INIT)
9640 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
9641 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
9642 grub_serial_fini.
9643 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
9644 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
9645 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
9646 grub_terminfo_fini.
9647 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
9648 (GRUB_MOD_FINI): Likewise.
9649 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
9650 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
9651 (GRUB_MOD_FINI) [LOONGSON]: Rename to
9652 grub_video_radeon_fuloong2e_fini.
9653 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
9654 [LOONGSON]: Rename to grub_video_sis315pro_init.
9655 (GRUB_MOD_FINI) [LOONGSON]: Rename to
9656 grub_video_sis315pro_fini.
9657 * grub-core/video/sm712.c (GRUB_MOD_INIT)
9658 [LOONGSON]: Rename to grub_video_sm712_init.
9659 (GRUB_MOD_FINI) [LOONGSON]: Rename to
9660 grub_video_sm712_fini.
9661 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
9662 (grub_at_keyboard_fini): Likewise.
9663 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
9664 Don't declare grub_{modname}_init.
9665 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
9666 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
9667 New proto.
9668 (grub_keylayouts_fini) [!EMU]: Likewise.
9669 * include/grub/serial.h (grub_serial_init) [!EMU]:
9670 New proto.
9671 (grub_serial_fini) [!EMU]: Likewise.
9672 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
9673 New proto.
9674 (grub_terminfo_fini) [!EMU]: Likewise.
9675 * include/grub/video.h (grub_font_init) [!EMU]:
9676 New proto.
9677 (grub_font_fini) [!EMU]: Likewise.
9678 (grub_gfxterm_init) [!EMU]: Likewise.
9679 (grub_gfxterm_fini) [!EMU]: Likewise.
9680 (grub_video_sm712_init) [!EMU]: Likewise.
9681 (grub_video_sm712_fini) [!EMU]: Likewise.
9682 (grub_video_sis315pro_init) [!EMU]: Likewise.
9683 (grub_video_sis315pro_fini) [!EMU]: Likewise.
9684 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
9685 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
9686
9687 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9688
9689 Make nand a prefix for nand devices.
9690
9691 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
9692
9693 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9694
9695 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
9696 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
9697
9698 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9699
9700 * include/grub/env.h (grub_env_find): Remove prototype.
9701 * grub-core/kern/env.c (grub_env_find): Make static.
9702 (grub_env_set): Remove useless set.
9703
9704 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9705
9706 * grub-core/kern/i386/realmode.S: Remove useless align.
9707
9708 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9709
9710 * include/grub/dl.h (grub_dl_load_file): Don't export.
9711
9712 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9713
9714 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
9715 grub_dprintf.
9716
9717 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9718
9719 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
9720 grub_errors.
9721 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
9722 not reloading whole superblock but only the part which is really needed.
9723 Remove useless grub_errors.
9724 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
9725 grub_errors.
9726
9727 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9728
9729 Don't export grub_get_rtc.
9730
9731 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
9732 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
9733
9734 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9735
9736 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
9737
9738 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9739
9740 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
9741 argument since it can be deduced from diskfilter. All users updated.
9742
9743 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9744
9745 Remove prio_list.
9746
9747 * include/grub/list.h (grub_prio_list): Removed.
9748 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
9749 GRUB_COMMAND_PRIO_MASK.
9750 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
9751 GRUB_COMMAND_FLAG_ACTIVE.
9752 (grub_prio_list_insert): Removed.
9753 (grub_prio_list_remove): Likewise.
9754 (GRUB_AS_PRIO_LIST): Likewise.
9755 (GRUB_AS_PRIO_LIST_P): Likewise.
9756 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
9757 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
9758 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
9759 * grub-core/kern/command.c (grub_register_command_prio): Inline
9760 the prio_list code.
9761 (grub_unregister_command): Likewise.
9762
9763 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9764
9765 Fix interrupt mixup from previous commit.
9766
9767 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
9768 (grub_realidt): New var.
9769 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
9770 Load idt.
9771 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
9772 New declaration.
9773 (grub_relocator16_boot): Set grub_relocator16_idt.
9774 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
9775 (LOCAL(realidt)): ... this.
9776 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
9777 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
9778 (grub_realidt): New variable.
9779
9780 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9781
9782 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
9783 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
9784 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
9785 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
9786 Gettextize.
9787 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
9788 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
9789 * po/POTFILES.in: Regenerate.
9790
9791 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9792
9793 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
9794 errors.
9795
9796 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9797
9798 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
9799 \0.
9800 (add_length): Likewise.
9801
9802 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9803 2012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
9804
9805 GDB serial and backtrace support.
9806
9807 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
9808 (prot_to_real): Likewise.
9809 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
9810 * grub-core/Makefile.core.def (backtrace): New module.
9811 (gdb): Likewise.
9812 * grub-core/gdb/cstub.c: New file.
9813 * grub-core/gdb/gdb.c: Likewise.
9814 * grub-core/gdb/i386/idt.c: Likewise.
9815 * grub-core/gdb/i386/machdep.S: Likewise.
9816 * grub-core/gdb/i386/signal.c: Likewise.
9817 * grub-core/lib/i386/backtrace.c: Likewise.
9818 * grub-core/lib/backtrace.c: Likewise.
9819 * include/grub/backtrace.h: Likewise.
9820 * include/grub/gdb.h: Likewise.
9821 * include/grub/i386/gdb.h: Likewise.
9822
9823 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9824
9825 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
9826 New function.
9827 (add_length): Likewise.
9828 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
9829 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
9830 proto.
9831 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
9832 __argp_get_display_len.
9833
9834 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9835
9836 $"..." support in scripts.
9837
9838 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
9839 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
9840 * grub-core/script/yylex.l: Likewise.
9841 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
9842 value.
9843
9844 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9845
9846 * gentpl.py: Remove obsolete pkglib_DATA handling.
9847
9848 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9849
9850 Don't transform PACKAGE_TARNAME following a discussion on autoconf
9851 mailing list.
9852
9853 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
9854 * util/grub-kbdcomp.in: Likewise.
9855 * util/grub-mkconfig.in: Likewise.
9856 * util/grub-mkconfig_lib.in: Likewise.
9857 * util/grub-mknetdir.in: Likewise.
9858 * util/grub-mkrescue.in: Likewise.
9859 * util/grub-mkstandalone.in: Likewise.
9860 * util/grub-reboot.in: Likewise.
9861 * util/grub-set-default.in: Likewise.
9862 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9863
9864 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9865
9866 Remove GRUB_PREFIX.
9867
9868 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
9869 * util/grub.d/00_header.in: Compute prefix in the only place it's still
9870 used for backward compatibility.
9871
9872 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9873
9874 Add new all_video module.
9875
9876 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
9877 * grub-core/Makefile.core.def (all_video): New module.
9878 * grub-core/genmoddep.awk: Generate dependency of all_video from
9879 video.lst.
9880 * grub-core/lib/fake_module.c: New file.
9881 * grub-core/normal/main.c (features): Add feature_all_video_module.
9882 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
9883 don't do explicit search again.
9884 insmod all_video in load_video if available.
9885
9886 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9887
9888 Another round of string clarification and adding TRANSLATORS comments.
9889
9890 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9891
9892 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
9893
9894 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9895
9896 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
9897 to grub_ssize_t.
9898 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
9899 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
9900
9901 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9902
9903 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
9904 trailing newline implicitly. All users updated.
9905
9906 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9907
9908 Implement serial on IEEE1275 and EFI.
9909
9910 * docs/grub.texi (Platform-specific limitations): Fix the columen video
9911 on emu. Mention arc and emu as the only platforms without serial
9912 support.
9913 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
9914 ieee1275 platforms.
9915 * grub-core/term/efi/serial.c: New file.
9916 * grub-core/term/ieee1275/serial.c: Likewise.
9917 * grub-core/term/serial.c (grub_serial_find): Disable direct port
9918 specification if no ns8250 driver is available.
9919 (grub_cmd_serial): Likewise.
9920 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
9921 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
9922 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
9923 (grub_efi_parity_type_t): New type.
9924 (grub_efi_stop_bits_t): Likewise.
9925 (grub_efi_serial_io_interface): New struct.
9926 * include/grub/serial.h (grub_serial_port): Make 'broken' field
9927 available for all interfaces.
9928 Add EFI and IEEE1275 fields.
9929 (grub_ofserial_init): New proto.
9930 (grub_efiserial_init): Likeiwse.
9931 * util/grub.d/00_header.in: Don't check for the presence of serial
9932 module.
9933
9934 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9935
9936 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
9937 name as if it was an alias.
9938
9939 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
9940
9941 * grub-core/commands/lsacpi.c (options): Fix typo.
9942
9943 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
9944
9945 Convert grub-emu to argp.
9946
9947 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
9948 emu.
9949 * util/argp_common.c: Rename to ...
9950 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
9951 Add missing includes.
9952 * grub-core/kern/emu/main.c: Convert to argp.
9953 * po/POTFILES.in: Regenerate.
9954 * util/grub-install.in (usage): Make first letter lowcase in messages
9955 for uniformity.
9956 * util/grub-setup.c (options): Likewise.
9957
9958 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9959
9960 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
9961 Put back accidently commented-out code.
9962
9963 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9964
9965 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
9966 loop check using Brent algorithm.
9967 (grub_hfsplus_btree_search): Likewise.
9968
9969 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9970
9971 * util/grub-install.in: Fix usage of wrong device for PreP install.
9972
9973 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9974
9975 * conf/Makefile.common (CFLAGS_GNULIB): Add
9976 -Wno-unsafe-loop-optimizations.
9977 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
9978 on tools.
9979 * grub-core/commands/legacycfg.c: Add pragma to skip
9980 -Wunsafe-loop-optimizations.
9981 (check_password_md5_real): Fix loop counter type.
9982 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
9983 reading.
9984 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
9985 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
9986 loop condition.
9987 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
9988 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
9989 * grub-core/net/net.c (grub_net_route_address): Add safety loop
9990 condition.
9991 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
9992 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
9993 avoid possible infinite loops.
9994 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
9995 and -Wunsafe-loop-optimizations.
9996 * grub-core/script/yylex.l: Likewise.
9997 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
9998 (print_glyphs): Avoid infinite loops.
9999 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
10000
10001 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
10002
10003 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
10004 to avoid infinite loop.
10005 (disp_acpi_rsdt_table): Likewise.
10006
10007 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10008
10009 * grub-core/font/font.c (grub_font_load): Add support for default
10010 path for fonts ($prefix/fonts).
10011 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
10012 for checking if string is a path.
10013 * grub-core/normal/main.c (features): Add feature_default_font_path.
10014 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
10015 * util/grub.d/00_header.in: Use default directory if possible.
10016 * util/grub-install.in: Install unicode.pf2.
10017
10018 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10019
10020 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
10021 * po/Rules-swiss: New file.
10022 * po/swiss.sed: Likewise.
10023
10024 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10025
10026 * grub-core/fs/btrfs.c (find_device): Fix typos.
10027 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
10028 * util/grub-mkrelpath.c (argp_parser): Likewise.
10029 Reported by: Yuri Chornoivan.
10030
10031 2012-02-23 Dalet Omega <daletomega@gmail.com>
10032
10033 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
10034 for usual informative messages.
10035
10036 2012-02-23 Dalet Omega <daletomega@gmail.com>
10037
10038 Starfield theme.
10039
10040 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
10041 * conf/Makefile.common: Define starfielddir.
10042 * configure.ac: Configure starfield.
10043 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
10044 * themes/starfield/README: Likewise.
10045 * themes/starfield/blob_w.png: Likewise.
10046 * themes/starfield/boot_menu_c.png: Likewise.
10047 * themes/starfield/boot_menu_e.png: Likewise.
10048 * themes/starfield/boot_menu_n.png: Likewise.
10049 * themes/starfield/boot_menu_ne.png: Likewise.
10050 * themes/starfield/boot_menu_nw.png: Likewise.
10051 * themes/starfield/boot_menu_s.png: Likewise.
10052 * themes/starfield/boot_menu_se.png: Likewise.
10053 * themes/starfield/boot_menu_sw.png: Likewise.
10054 * themes/starfield/boot_menu_w.png: Likewise.
10055 * themes/starfield/slider_c.png: Likewise.
10056 * themes/starfield/slider_n.png: Likewise.
10057 * themes/starfield/slider_s.png: Likewise.
10058 * themes/starfield/src/blob_nw.xcf: Likewise.
10059 * themes/starfield/src/bootmenu/: Likewise.
10060 * themes/starfield/src/bootmenu/center.xcf: Likewise.
10061 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
10062 * themes/starfield/src/bootmenu/side.xcf: Likewise.
10063 * themes/starfield/src/slider_c.xcf: Likewise.
10064 * themes/starfield/src/slider_n.xcf: Likewise.
10065 * themes/starfield/src/slider_s.xcf: Likewise.
10066 * themes/starfield/src/terminalbox/: Likewise.
10067 * themes/starfield/src/terminalbox/center.xcf: Likewise.
10068 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
10069 * themes/starfield/src/terminalbox/side.xcf: Likewise.
10070 * themes/starfield/starfield.png: Likewise.
10071 * themes/starfield/terminal_box_c.png: Likewise.
10072 * themes/starfield/terminal_box_e.png: Likewise.
10073 * themes/starfield/terminal_box_n.png: Likewise.
10074 * themes/starfield/terminal_box_ne.png: Likewise.
10075 * themes/starfield/terminal_box_nw.png: Likewise.
10076 * themes/starfield/terminal_box_s.png: Likewise.
10077 * themes/starfield/terminal_box_se.png: Likewise.
10078 * themes/starfield/terminal_box_sw.png: Likewise.
10079 * themes/starfield/terminal_box_w.png: Likewise.
10080 * themes/starfield/theme.txt: Likewise.
10081
10082 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10083
10084 * util/grub.d/00_header.in: Add missing export theme.
10085
10086 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10087
10088 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
10089 already included.
10090 Reported by: Eren D.
10091
10092 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10093
10094 * conf/Makefile.common (grubdatadir): Removed.
10095 (Makefile.am): Move eveything grubdata to pkgdata.
10096
10097 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10098
10099 * grub-core/commands/acpihalt.c (get_sleep_type):
10100 Remove unused variable.
10101
10102 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10103
10104 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
10105 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
10106 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
10107 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
10108 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
10109 i18n with gettext no-op.
10110 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
10111 GRUB_ACPI_OPCODE_STRING_CONST.
10112 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
10113 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
10114
10115 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10116
10117 * po/POTFILES.in: Regenerate.
10118
10119 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10120
10121 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
10122 -Wno-error=missing-noreturn.
10123
10124 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10125
10126 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
10127 condition to avoid possibly infinite loops.
10128 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
10129 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
10130
10131 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10132
10133 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
10134 condition to avoid possibly infinite loops.
10135
10136 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10137
10138 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
10139 on show_error.
10140
10141 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10142
10143 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
10144
10145 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10146
10147 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
10148
10149 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10150
10151 * util/bin2h.c (usage): Add missing attribute noreturn.
10152
10153 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10154
10155 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
10156 if the size isn't divisible by 512.
10157
10158 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10159
10160 Make list_push and list_remove functions rather than inline functions
10161 to decrease size and avoid aliasing violations.
10162
10163 * include/grub/list.h (grub_list_push): Move to ...
10164 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
10165 * include/grub/list.h (grub_list_remove): Move to ...
10166 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
10167
10168 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10169
10170 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
10171 and -Wunused-result.
10172
10173 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
10174
10175 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
10176 Reported by: Seth Goldberg
10177
10178 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
10179
10180 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
10181
10182 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
10183
10184 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
10185 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
10186 command line.
10187 * docs/grub.texi (Simple configuration): Document
10188 GRUB_CMDLINE_GNUMACH.
10189
10190 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
10191
10192 * conf/Makefile.common (platform_SCRIPTS): New variable.
10193 (platform_PROGRAMS): Likewise.
10194 * gentpl.py: Mark *,module and *.image for install.
10195 * grub-core/gdb_grub.in: Add a notice of expected environment.
10196 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
10197 (gmodule.pl): Likewise.
10198
10199 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
10200
10201 Replace grub_checkkey with grub_getkey_noblock.
10202
10203 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
10204 (grub_getkey_noblock): ... this. All users updated.
10205
10206 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
10207
10208 * grub-core/kern/emu/console.c: Move to ...
10209 * grub-core/term/emu/console.c: ...here.
10210 (grub_ncurses_getkey): Fix return value if no key is detected.
10211
10212 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10213
10214 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
10215 (grub_unit_test_fini): Likewise.
10216 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
10217
10218 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10219
10220 * include/grub/test.h (GRUB_UNIT_TEST)
10221
10222 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10223
10224 * grub-core/script/execute.c (grub_script_break): Clarify logic.
10225 Better error handling.
10226 (grub_script_return): Likewise.
10227 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
10228
10229 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10230
10231 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
10232 rimplicit redifinition.
10233
10234 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10235
10236 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
10237 GRUB.
10238
10239 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10240
10241 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
10242 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
10243 prompt here.
10244
10245 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10246
10247 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
10248 as GRUB_ERR_BUG. Don't malloc if no device is available.
10249
10250 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10251
10252 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
10253 Mark calling with invalid term as GRUB_ERR_BUG.
10254
10255 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10256
10257 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
10258 packets rather than raising an error.
10259
10260 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10261
10262 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
10263 in if.
10264
10265 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10266
10267 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
10268 diagnostic to dprintf.
10269 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10270
10271 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10272
10273 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
10274 device name.
10275
10276 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10277
10278 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
10279 (grub_ntfs_iterate_dir): Likewise.
10280
10281 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10282
10283 Efiemu stylistic fixes and gettext.
10284
10285 * grub-core/efiemu/i386/loadcore32.c
10286 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
10287 * grub-core/efiemu/i386/loadcore64.c
10288 (grub_arch_efiemu_relocate_symbols64): Likewise.
10289 * grub-core/efiemu/i386/pc/cfgtables.c
10290 (grub_machine_efiemu_init_tables): Likewise.
10291 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
10292 (grub_efiemu_loadcore_initXX): Add a filename argument.
10293 All users updated.
10294 Improved error message.
10295 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
10296 Add a filename argument.
10297 All users updated.
10298 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
10299 Reclassify double relocation as GRUB_ERR_BUG.
10300
10301 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10302
10303 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
10304 handling.
10305
10306 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10307
10308 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
10309 on partition.
10310
10311 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10312
10313 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
10314
10315 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10316
10317 Improve string. Gettextize.
10318
10319 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10320
10321 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
10322 utils.
10323 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
10324
10325 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10326
10327 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
10328 [GRUB_UTIL]: New function.
10329 (insert_array) [GRUB_UTIL]: Store partmaps.
10330 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
10331 partmaps.
10332 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
10333 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
10334 (probe_abstraction): Print diskfilter and not raid.
10335 Reported by: Lennart Sorensen
10336
10337 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10338
10339 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
10340 * util/grub-mkimagexx.c (MASK3): New define.
10341 (add_value_to_slot_20b): Use MASK3.
10342 (add_value_to_slot_21): Likewise.
10343 (relocate_addresses): Fix format specification.
10344 (load_image): Explicitly init symtab_section.
10345
10346 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10347
10348 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
10349 (grub_util_biosdisk_get_grub_dev): Fix format specification.
10350
10351 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10352
10353 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
10354 on powerpc.
10355 Reported by: Lennart Sorensen
10356
10357 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10358
10359 * gentpl.py: Add missing license header.
10360 * docs/grub.texi: Update copyright year.
10361
10362 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
10363
10364 Source grub-mkconfig_lib from the build directory at build time.
10365 Suggested by: Vladimir Serbinenko.
10366
10367 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
10368 * util/grub-install.in: Define pkgdatadir if not already set, and source
10369 grub-mkconfig_lib from there.
10370 * util/grub-kbdcomp.in: Likewise.
10371 * util/grub-mkconfig.in: Likewise.
10372 * util/grub-mknetdir.in: Likewise.
10373 * util/grub-mkrescue.in: Likewise.
10374 * util/grub-mkstandalone.in: Likewise.
10375 * util/grub-reboot.in: Likewise.
10376 * util/grub-set-default.in: Likewise.
10377 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10378
10379 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10380
10381 Increase warning level.
10382
10383 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
10384 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
10385 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
10386 (TARGET_CFLAGS): Likewise.
10387 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
10388 * grub-core/Makefile.core.def (decompressor_xz): Add
10389 -Wno-unreachable-code.
10390 (normal): Add -Wno-redundant-decls.
10391 (xzio): Add -Wno-unreachable-code.
10392 (lzopio): Add -Wno-redundant-decls -Wno-error.
10393 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
10394 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
10395 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
10396 * grub-core/kern/dl.c: Add exception to -Wcast-align.
10397 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
10398 * grub-core/kern/i386/coreboot/init.c: Add exception to
10399 -Wsuggest-attribute=noreturn.
10400 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
10401 * grub-core/kern/ia64/dl_helper.c: Likewise.
10402 * grub-core/kern/mips/dl.c: Likewise.
10403 * grub-core/kern/sparc64/dl.c: Likewise.
10404 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
10405 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
10406 (memcmp): Likewise.
10407 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
10408 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
10409 * grub-core/loader/mips/linux.c: Likewise.
10410 * grub-core/loader/multiboot_elfxx.c: Likewise.
10411 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
10412 * grub-core/video/sm712.c: Add exception to -Wcast-align.
10413 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
10414 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
10415 fixme.
10416 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
10417 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
10418 Fix prototype.
10419
10420 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10421
10422 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
10423 address.
10424
10425 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10426
10427 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
10428 Avoid improper use of strings.
10429 (grub_cmd_legacy_initrdnounzip): Likewise.
10430
10431 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10432
10433 * include/grub/emu/misc.h (grub_util_warn): Add missing format
10434 attribute.
10435 (grub_util_info): Likewise.
10436 (grub_util_error): Likewise.
10437
10438 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10439
10440 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
10441 * util/grub-fstest.c (fstest): Likewise.
10442
10443 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10444
10445 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
10446 (grub_md_sha512_real): Likewise.
10447 (grub_util_get_geli_uuid): Likewise.
10448 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
10449 (grub_util_biosdisk_open): Fix format specification.
10450 Respect format security.
10451 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
10452 (xrealloc): Likewise.
10453 (xasprintf): Likewise.
10454
10455 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10456
10457 * util/import_gcry.py: Include grub/crypto.h in init.c.
10458
10459 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10460
10461 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
10462 (generate_image): Make prefix a const char *.
10463 Fix format specifications. Respect format security.
10464 Avoid void * arithmetics.
10465 Avoid shadowing.
10466 (argp_parser): Remove unused variable. Respect format security.
10467 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
10468 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
10469 (count_funcs): Remove unused variable.
10470 (relocate_addresses): Fix format specification.
10471 Disable x86-64 with elf32. Remove unused variables.
10472 (add_fixup_entry): Avoid shadowing.
10473 (make_reloc_section): Fix format specification.
10474 Use assert.
10475 (locate_sections): Fix format specifications.
10476 (load_image): Avoid shadowing.
10477
10478 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10479
10480 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
10481 Fix format specifications. Respect format security.
10482 Don't translate already translated grub_errmsg.
10483 (argp_parser): Remove unused variable
10484
10485 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10486
10487 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
10488
10489 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10490
10491 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
10492 (main): Likewise. Use xmalloc. Respect format security.
10493
10494 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10495
10496 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
10497 a const char *.
10498 (argp_parser): Remove unused variable.
10499
10500 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10501
10502 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
10503 (add_pixel): Make static.
10504 (add_font): Likewise.
10505 (write_string_section): Make name and str a const char *.
10506 (write_be16_section): Make name a const char *.
10507 (print_glyphs): Make static.
10508 (write_font_ascii_bitmap): Likewise.
10509 (write_font_width_spec): Likewise.
10510 (write_font_pf2): Likewise.
10511 (argp_parser): Remove unused variable.
10512 Respect format security.
10513 (main): Avoid shadowing. Respect format security.
10514
10515 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10516
10517 * util/grub-editenv.c (argp_parser): Make static.
10518 (create_envblk_file): Use xmalloc.
10519 (open_envblk_file): Likewise.
10520 Resepect format security.
10521 (set_variables): Respect format security.
10522
10523 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10524
10525 * util/getroot.c (grub_find_device): Respect format security.
10526 (get_mdadm_uuid): Remove unused variable.
10527 (grub_util_pull_device): Dont call gettext on already translated
10528 grub_errmsg.
10529 (find_system_device): Remove unused variable.
10530 (grub_util_get_grub_dev): Likewise.
10531 (grub_make_system_path_relative_to_its_root): Respect format security.
10532
10533 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10534
10535 * util/grub-fstest.c (execute_command): Make first argument
10536 a const char *.
10537 (read_file): Avoid shadowing.
10538 Reuse underlying error message if device open fails.
10539 (cmd_cmp): Respect format security.
10540 (root): Make const char *.
10541 (fstest): Remove args argument and use global copy.
10542 Respect format security.
10543 (argp_parser): Make static.
10544 (main): Make default_root const char *.
10545
10546 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10547
10548 * util/grub-mount.c (root): Make const char *.
10549 (execute_command): Make first argument a const char *.
10550 (fuse_init): Respect format security.
10551 (argp_parser): Make static. Remove unused variable.
10552 (main): Make default_root a const char *.
10553 Respect format security.
10554
10555 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10556
10557 * util/grub-probe.c (probe): Don't call gettext on already translated
10558 grub_errmsg.
10559 Remove unused variables.
10560 (argp_parser): Remove unused variable.
10561
10562 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10563
10564 * util/grub-script-check.c (argp_parser): Remove unused variable.
10565 (main): Rename read to curread to avoid shadowing.
10566
10567 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10568
10569 * util/misc.c (grub_util_write_image_at): Fix format specification.
10570 (grub_util_write_image): Likewise.
10571 (grub_script_execute_argument_to_string): Removed (unused).
10572 (grub_script_execute_menuentry): Likewise.
10573 (grub_putchar): Likewise.
10574
10575 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10576
10577 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
10578 (FUNCTION) [GRUB_UTIL]: Likewise.
10579 (VARIABLE) [GRUB_UTIL]: Likewise.
10580
10581 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10582
10583 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
10584 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
10585
10586 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10587
10588 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
10589 buffer.
10590
10591 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10592
10593 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
10594 (LzmaEnc_SaveState): Removed (unused).
10595 (LzmaEnc_RestoreState): Likewise.
10596 (LzmaEnc_InitPriceTables): Made static.
10597 (LzmaEnc_Construct): Likewise.
10598 (LzmaEnc_FreeLits): Likewise.
10599 (LzmaEnc_Destruct): Likewise.
10600 (LzmaEnc_Init): Likewise.
10601 (LzmaEnc_InitPrices): Likewise.
10602 (LzmaEnc_Finish): Likewise.
10603 (LzmaEnc_PrepareForLzma2): Removed (unused).
10604 (LzmaEnc_MemPrepare): Likewise.
10605 (LzmaEnc_GetNumAvailableBytes): Likewise.
10606 (LzmaEnc_GetCurBuf): Likewise.
10607 (LzmaEnc_CodeOneMemBlock): Likewise.
10608
10609 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10610
10611 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
10612 (grub_util_ldm_embed): Likewise.
10613
10614 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10615
10616 * util/grub-editenv.c (print_var): Rename name to varname to
10617 avoid shadowing.
10618 (main): Rename index to curindex to avoid shadowing.
10619 Make filename a const char *.
10620
10621 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10622
10623 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
10624 to arg_getline to avoid shadowing.
10625
10626 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10627
10628 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
10629 disk_ to avoid shadowing.
10630
10631 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10632
10633 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
10634 curindex to avoid shadowing.
10635 Make static.
10636 (MatchFinder_GetNumAvailableBytes): Make static.
10637
10638 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10639
10640 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
10641 avoid shadowing.
10642
10643 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10644
10645 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
10646 argument from encrypt to do_encrypt to avoid shadowing.
10647
10648 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10649
10650 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
10651 incorrect nesting of #if's.
10652
10653 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10654
10655 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
10656 checks which are always false on some platforms.
10657 (grub_cmd_lsacpi): Likewise.
10658 * grub-core/kern/misc.c (grub_strtoul): Likewise.
10659 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
10660 Likewise.
10661
10662 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10663
10664 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
10665 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
10666
10667 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10668
10669 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
10670 re_dfa_t to avoid breaking alignment invariants.
10671 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
10672 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
10673
10674 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10675
10676 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
10677 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
10678
10679 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10680
10681 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
10682 Fix declaration.
10683
10684 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10685
10686 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
10687 conserve alignment invariants.
10688 (grub_ehci_ehcc_read16): Likewise.
10689 (grub_ehci_oper_read32): Likewise.
10690 (grub_ehci_oper_write32): Likewise.
10691 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
10692 Conserve alignment invariants.
10693
10694 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10695
10696 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
10697 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
10698 declarations.
10699
10700 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10701
10702 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
10703 Remove unused variable.
10704
10705 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10706
10707 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
10708 Remove set in if.
10709
10710 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10711
10712 * include/grub/net.h: Remove double declarations.
10713
10714 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10715
10716 Remove "payload" command in ia64 Linux loader since I couldn't
10717 find any evidence of it being used for anything.
10718 Replace "relocate" command with an environment variable
10719
10720 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
10721 fields.
10722 (ia64_boot_payload): Removed.
10723 (last_payload): Likewise.
10724 (RELOCATE_OFF): Likewise.
10725 (RELOCATE_ON): Likewise.
10726 (RELOCATE_FORCE): Likewise.
10727 (relocate): Likewise.
10728 (free_pages): Don't free payloads.
10729 (grub_load_elf64): Use common error messages.
10730 Use "linux_relocate" variable.
10731 Increase the space after boot_params.
10732 (grub_cmd_payload): Removed.
10733 (grub_cmd_relocate): Likewise.
10734 (grub_cmd_fpswa): Improve messages.
10735 (cmd_payload): Removed.
10736 (cmd_relocate): Likewise.
10737 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
10738 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
10739
10740 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10741
10742 Convert UHCI to DMA framework.
10743
10744 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
10745 (grub_uhci_pci_iter): Fill new members
10746 (grub_alloc_td): Use P2V and V2P functions.
10747 (grub_free_queue): Likewise.
10748 (grub_alloc_qh): Likewise.
10749 (grub_uhci_setup_transfer): Likewise.
10750 (grub_uhci_check_transfer): Likewise.
10751
10752 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10753
10754 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
10755 Remove assignment in if while on it.
10756
10757 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10758
10759 * util/grub-mkstandalone.in: Fix modules directory.
10760
10761 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10762
10763 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
10764 on i386-pc target.
10765 (argp_parser): Accept "auto" as compression specification.
10766
10767 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10768
10769 Fix `help' with unloaded modules.
10770
10771 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
10772 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
10773 (grub_dyncmd_dispatcher): Small stylistic fix.
10774 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
10775 explicit help is requested.
10776
10777 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10778
10779 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
10780 Explicitly init restart while on it.
10781
10782 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10783
10784 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
10785 uninited variable.
10786
10787 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10788
10789 * util/grub-mknetdir.in: Use . rather than source for POSIX
10790 compatibility.
10791
10792 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10793
10794 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
10795
10796 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10797
10798 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
10799 variable.
10800
10801 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10802
10803 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
10804 without quotes.
10805
10806 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10807
10808 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
10809
10810 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10811
10812 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
10813 iteration of partitions.
10814
10815 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10816
10817 Improve gettext support. Stylistic fixes and error handling fixes while
10818 on it.
10819
10820 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10821
10822 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
10823 part. Instead setup the correct stack in RM.
10824 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
10825 for stack.
10826 * include/grub/i386/relocator_private.h: New file.
10827
10828 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10829
10830 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
10831 argument.
10832 * util/grub-fstest.c (options): Add missing DEVICE part.
10833
10834 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10835
10836 Clarify and unify messages.
10837
10838 * grub-core/commands/hashsum.c (options): Unify messages.
10839 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
10840 literal-only message as translatable.
10841 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
10842 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
10843 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
10844 commands.
10845 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
10846 key, not the key used to unlock. Clarify what it's used for.
10847 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
10848 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
10849 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
10850 * util/grub-editenv.c (options): Unify "verbose" message.
10851 * util/grub-fstest.c (read_file): Unify error message.
10852 (fstest): Add quotes around commands.
10853 (options): Unify "verbose" message.
10854 * util/grub-install.in: Add quotes around variable name.
10855 * util/grub-kbdcomp.in: Unify error message.
10856 * util/grub-mkfont.c (main): Likewise.
10857 * util/grub-mkrescue.in: Likewise.
10858 * util/grub-mklayout.c (options): Unify "verbose" message.
10859 * util/grub-mkstandalone.in: Unify help and verbose messages.
10860 * util/grub-mount.c (options): Unify "verbose" message.
10861 * util/grub-probe.c (options): Likewise.
10862 * util/grub-script-check.c (options): Likewise.
10863 * util/grub-setup.c (setup): Unify no-terminator message.
10864 (options): Use DEVICE and not DEV.
10865 Unify "verbose" message.
10866 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
10867
10868 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10869
10870 Improve and unify messages.
10871
10872 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
10873 name. All users updated.
10874 Print filename in error.
10875 (read_device_map): Print filename in error.
10876 * util/getroot.c (grub_guess_root_devices): Print filename in error.
10877 (grub_util_get_os_disk): Likewise.
10878 (grub_util_biosdisk_get_grub_dev): Likewise.
10879 (grub_util_check_block_device): Likewise.
10880 (grub_util_check_char_device): Likewise.
10881 (grub_make_system_path_relative_to_its_root): Likewise.
10882 * util/grub-editenv.c (create_envblk_file): Likewise.
10883 (open_envblk_file): Likewise.
10884 (write_envblk): Likewise.
10885 * util/grub-fstest.c (cmd_cp): Likewise.
10886 (cmd_cat): Likewise.
10887 (cmd_cmp): Likewise.
10888 * util/grub-menulst2cfg.c (main): Likewise.
10889 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
10890 (write_font_width_spec): Likewise.
10891 (write_font_pf2): Likewise.
10892 * util/grub-mkimage.c (generate_image): New argument outname.
10893 All users updated.
10894 Remove unreacheable message.
10895 (options): Unify messages.
10896 (help_filter): Likewise.
10897 * util/grub-mklayout.c (usage): Removed (unused).
10898 (main): Print filename in error.
10899 * util/grub-mkrescue.in: Fix wrong quoting.
10900 * util/grub-setup.c (setup): Print filename in error.
10901 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
10902 (check_sas): Likewise.
10903 * util/misc.c (grub_util_get_fp_size): Removed.
10904 (grub_util_get_image_size): Print filename in error.
10905 (grub_util_read_at): Removed.
10906 (grub_util_read_image): Print filename in error.
10907 (grub_util_load_image): Likewise.
10908 (grub_util_write_image_at): New argument filename. All users updated.
10909 Print filename in error.
10910 (grub_util_write_image): New argument filename. All users updated.
10911 Print filename in error.
10912 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
10913 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
10914
10915 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10916
10917 * grub-core/Makefile.core.def (pxechain): New module.
10918 * grub-core/loader/i386/pc/pxechainloader.c: New file.
10919 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
10920 function.
10921 (grub_pc_net_config_real): Use grub_pxe_get_cached.
10922 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
10923
10924 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10925
10926 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
10927 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
10928 * include/grub/err.h (grub_error_saved): New struct.
10929 (grub_errmsg): Make array size explicit.
10930 * include/grub/misc.h (grub_error_save): New function.
10931 (grub_error_load): Likewise.
10932 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
10933 (grub_error_push): Update `errno' member name.
10934 (grub_error_pop): Likewise
10935 * grub-core/net/tftp.c (tftp_data): New member save_err.
10936 (tftp_receive): Save error.
10937 (tftp_open): Restore error.
10938
10939 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10940
10941 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
10942 to real mode down to execute A20-related code in protected mode as
10943 intended.
10944
10945 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
10946
10947 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
10948 NULL when the argument `level' has an unexpected value.
10949
10950 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10951
10952 Move platform-dependent files from $prefix to $prefix/$platform.
10953
10954 * config.h.in (GRUB_TARGET_CPU): New definition.
10955 (GRUB_PLATFORM): Likewise.
10956 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
10957 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
10958 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
10959 * grub-core/kern/dl.c (grub_dl_load): Likewise.
10960 * grub-core/normal/autofs.c (read_fs_list): Likewise.
10961 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
10962 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
10963 * grub-core/normal/term.c (read_terminal_list): Likewise.
10964 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
10965 $prefix/locale.
10966 (grub_gettext_init_ext): Likewise.
10967 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
10968 grub_platform.
10969 * util/grub-install.in: Update directories.
10970 * util/grub-mknetdir.in: Likewise.
10971 * util/grub-mkrescue.in: Likewise.
10972
10973 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10974
10975 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
10976 grub_error framework. All users updated.
10977
10978 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10979
10980 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
10981 lists (by always binsearching), improve caching (cache strings
10982 used for binsearch, not only results), improve
10983 maintainability (by using more structured binary search) and correct
10984 error handling.
10985
10986 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10987
10988 * grub-core/script/execute.c (grub_script_return): Fix warning.
10989
10990 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10991
10992 * grub-core/script/execute.c (grub_script_return): Fix potential
10993 NULL-dereference.
10994 Reported by: Jim Meyering.
10995
10996 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10997
10998 * po/POTFILES.in: Regenerate.
10999 * util/grub-install.in: Gettextize the strings missed in first pass.
11000
11001 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11002
11003 * Makefile.util.def (grub-mkdevicemap): Removed.
11004 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
11005 * include/grub/util/deviceiter.h: Removed.
11006 * util/deviceiter.c: Likewise.
11007 * util/getroot.c (grub_util_get_os_disk): New function.
11008 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
11009 replacement for EFI.
11010 * util/grub-mkdevicemap.c: Removed.
11011 * util/grub-probe.c (probe): Handle PRINT_DISK.
11012 (argp_parser): Handle -t disk.
11013
11014 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11015
11016 * util/grub-mkfont.c: Migrate to argp.
11017 * util/grub-mklayout.c: Likewise.
11018 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11019 * util/grub-mkrelpath.c: Likewise.
11020 * util/grub-probe.c: Likewise.
11021 * util/grub-script-check.c: Likewise.
11022
11023 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11024
11025 * util/grub-reboot.in: Add missing datarootdir.
11026 Add missing newline.
11027 * util/grub-set-default.in: Add missing datarootdir.
11028 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
11029 * util/grub-mkrescue.in: Likewise.
11030
11031 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11032
11033 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
11034
11035 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11036
11037 * util/grub-kbdcomp.in: Add decent help and gettextize.
11038 * docs/man/grub-kbdcomp.h2m: New file.
11039
11040 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11041
11042 Migrate grub-mkimage.c to argp.
11043
11044 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
11045 (grub-setup): Likewise.
11046 * util/grub-setup.c (print_version): Move to ...
11047 * util/argp_common.c (print_version): ... here.
11048 * util/grub-setup.c (argp_program_version_hook): Move to ...
11049 * util/argp_common.c (argp_program_version_hook): ... here.
11050 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
11051 safety.
11052 * util/grub-mkimage.c (main): Migrate to argp.
11053
11054 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11055
11056 * util/grub-mkrescue.in: Use same message as
11057 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
11058 for better translations.
11059
11060 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11061
11062 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
11063 options with generic grub-mkrescue.in with the goal of future
11064 merge.
11065
11066 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11067
11068 * grub-core/kern/mm.c: Add missing include of i18n.h
11069 * grub-core/lib/relocator.c: Likewise.
11070
11071 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11072
11073 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
11074 error.
11075 (allocate_pages): Check return value.
11076 Replace fatal with error.
11077 (grub_linux_boot): Replace printf with dprintf.
11078 Check find_mmap_size return value.
11079 Replace fatal with error.
11080 Don't call grub_machine_fini.
11081 (grub_load_elf64): Replace printf with dprintf.
11082 (grub_cmd_linux): Likewise.
11083 (grub_cmd_initrd): Likewise.
11084 (grub_cmd_payload): Likewise.
11085
11086 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11087
11088 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
11089 message.
11090 * grub-core/video/radeon_fuloong2e.c
11091 (grub_video_radeon_fuloong2e_setup): Likewise.
11092 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
11093 * grub-core/video/video.c (grub_video_set_mode): Don't override
11094 standard out of memory message.
11095
11096 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11097
11098 NetBSD disk wedge support.
11099
11100 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
11101 [__NetBSD__]: Handle NetBSD disk wedges.
11102 * util/getroot.c (convert_system_partition_to_system_disk)
11103 [__NetBSD__]: Likewise.
11104
11105 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
11106
11107 * util/grub-mkconfig.in: Use umask rather than chmod to create
11108 grub.cfg.new to avoid insecure grub.cfg.
11109
11110 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11111
11112 * grub-core/commands/ls.c: Gettextize.
11113 * grub-core/commands/setpci.c: Likewise.
11114 * grub-core/commands/videotest.c: Likewise.
11115 * grub-core/disk/geli.c: Likewise.
11116 * grub-core/kern/mm.c: Likewise.
11117 * grub-core/lib/relocator.c: Likewise.
11118 * grub-core/loader/efi/appleloader.c: Likewise.
11119 * grub-core/loader/i386/xnu.c: Likewise.
11120 * grub-core/loader/ia64/efi/linux.c: Likewise.
11121 * grub-core/loader/xnu.c: Likewise.
11122 * grub-core/net/dns.c: Likewise.
11123 * grub-core/net/net.c: Likewise.
11124 * grub-core/script/lexer.c: Likewise.
11125 * grub-core/script/parser.y: Likewise.
11126 * grub-core/script/yylex.l: Likewise.
11127 * util/getroot.c: Likewise.
11128 * util/grub-setup.c: Likewise.
11129
11130 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11131
11132 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
11133 number.
11134
11135 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11136
11137 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
11138
11139 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11140
11141 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
11142 macro.
11143 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
11144 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
11145
11146 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11147
11148 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
11149 * util/grub-install.in: Gettextize.
11150 * util/grub-mkconfig.in: Likewise.
11151 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
11152 if not available.
11153 (grub_warn): Gettextize.
11154 * util/grub-mknetdir.in: Gettextize.
11155 * util/grub-mkrescue.in: Likewise.
11156 * util/grub-mkstandalone.in: Likewise.
11157 * util/grub-reboot.in: Likewise.
11158 * util/grub-set-default.in: Likewise.
11159 * util/grub.d/00_header.in: Likewise.
11160 * util/grub.d/10_hurd.in: Likewise.
11161 * util/grub.d/10_kfreebsd.in: Likewise.
11162 * util/grub.d/10_linux.in: Likewise.
11163 * util/grub.d/10_netbsd.in: Likewise.
11164 * util/grub.d/10_windows.in: Likewise.
11165 * util/grub.d/20_linux_xen.in: Likewise.
11166 * util/grub.d/30_os-prober.in: Likewise.
11167 * po/POTFILES-shell.in: Regenerate.
11168
11169 2012-02-03 Richard Laager <rlaager@wiktel.com>
11170
11171 * util/grub-mkimage.c (main): Fix format-security warning.
11172 * util/grub-mkrelpath.c (main): Likewise.
11173 * util/grub-probe.c (main): Likewise.
11174
11175 2012-02-03 Richard Laager <rlaager@wiktel.com>
11176
11177 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
11178 failure.
11179 Put back lost PRINT_DRIVE.
11180
11181 2012-02-03 Richard Laager <rlaager@wiktel.com>
11182
11183 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
11184 (grub_guess_root_devices): Replace strlen with sizeof.
11185 Avoid crash.
11186 (find_root_devices_from_poolname): Remove unused variable.
11187 Handle raidzN.
11188
11189 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11190
11191 Support install on multi-device filesystems.
11192
11193 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
11194 (grub_guess_root_devices): ...this. Return char **. All users updated.
11195 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
11196 Removed.
11197 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
11198 (find_root_devices_from_poolname): ... here.
11199 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
11200 Support zfs-fuse.
11201 (grub_guess_root_device): Rename to ...
11202 (grub_guess_root_devices): ... this. Return char **. All users updated.
11203 * util/grub-install.in: Handle multi-device filesystems.
11204 * util/grub-probe.c (probe). Make device_names a char **. Add delim
11205 argument. All users updated.
11206 Handle multi-device filesystems.
11207 Use 'delim' as separator.
11208 Remove device check to allow filesystems on file.
11209 (main): Support -0 argument. Handle multi-device.
11210 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
11211 Fix a cross-device check while on it.
11212 (arguments): Remove root_dev.
11213 (argp_parser): Remove -r.
11214 (main): Remove root_dev.
11215
11216 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11217
11218 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
11219
11220 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11221
11222 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
11223 symbol.
11224 Reported by: NODA, Kai <nodakai>.
11225
11226 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11227
11228 Fix ehci on amd64.
11229
11230 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
11231 pointers.
11232 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
11233 (grub_ehci_setup_qh): Likewise.
11234 (grub_ehci_find_qh): Likewise.
11235 (grub_ehci_transaction): Likewise.
11236 (grub_ehci_setup_transfer): Likewise.
11237 (grub_ehci_check_transfer): Likewise.
11238 (grub_ehci_portstatus): Likewise.
11239 (grub_ehci_detect_dev): Likewise.
11240 (grub_ehci_transfer_controller_data): New field td_last_phys.
11241 (grub_ehci_setup_transfer): Fill td_last_phys.
11242 (grub_ehci_check_transfer): Use td_last_phys.
11243
11244 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
11245
11246 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
11247 if no submenu is present.
11248
11249 2012-02-01 Aleš Nesrsta <starous@volny.cz>
11250
11251 CBI support.
11252
11253 * include/grub/usb.h (grub_usbms_protocol_t): New values
11254 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
11255 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
11256 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
11257 (grub_usbms_dev): Add subclass, protocol and intrpt.
11258 Remove in_maxsz and out_maxsz.
11259 (grub_usbms_reset): Rename to ...
11260 (grub_usbms_bo_reset): .. this.
11261 (grub_usbms_cbi_cmd): New function.
11262 (grub_usbms_cbi_reset): Likewise.
11263 (grub_usbms_reset): Likewise.
11264 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
11265 (grub_usbms_transfer): Rename to ...
11266 (grub_usbms_transfer_bo): ... this.
11267 (grub_usbms_transfer_cbi): Likewise.
11268 (grub_usbms_transfer): Likewise.
11269
11270 2012-02-01 Aleš Nesrsta <starous@volny.cz>
11271 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11272
11273 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
11274 the support for the CS5536 modification thereos and few bugfixes.
11275
11276 * grub-core/Makefile.core.def (ehci): New module.
11277 * grub-core/bus/usb/ehci.c: New file.
11278 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
11279 port and hubaddr. All users updated.
11280 Save port and hubaddr into dev structure.
11281 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
11282 define.
11283 * include/grub/pci.h (grub_dma_phys2virt): New function.
11284 (grub_dma_virt2phys): Likewise.
11285 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
11286
11287 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11288
11289 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
11290 check as some mkfs implementations omit it.
11291
11292 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11293
11294 * docs/grub.texi (Unicode): Mention identifier and space limitations.
11295
11296 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11297
11298 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
11299 Add new member volname2.
11300 (grub_jfs_label): Use volname2 if available.
11301
11302 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11303
11304 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
11305 over last_mounted as seen in image generated by mkfs.nilfs2.
11306 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
11307
11308 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11309
11310 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
11311 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
11312 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
11313
11314 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11315
11316 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
11317 over the sector.
11318
11319 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11320
11321 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
11322 subvolume name (by removing a bogus and useless check).
11323
11324 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11325
11326 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
11327 sizeof while on it.
11328
11329 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11330
11331 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
11332 (grub_scsi_read_capacity10): ... this.
11333 (grub_scsi_read_capacity16): New function.
11334 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
11335 0xffffffff.
11336 Fix off-by-one error.
11337 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
11338 64-bit unsigned.
11339 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
11340 (grub_scsi_read_capacity10): ... this.
11341 (grub_scsi_read_capacity_data): Rename to ...
11342 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
11343 (grub_scsi_read_capacity16): New struct.
11344 (grub_scsi_read_capacity16_data): Likewise.
11345 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
11346 grub_scsi_cmd_read_capacity10.
11347 New command grub_scsi_cmd_read_capacity16.
11348
11349 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11350
11351 SCSI >2TiB support.
11352
11353 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
11354 (grub_scsi_write16): Likewise.
11355 (grub_scsi_read): Use read16 when necessary.
11356 (grub_scsi_write): Likewise.
11357 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
11358 (grub_scsi_write16): Likewise.
11359 (grub_scsi_cmd_t): Add READ16 and WRITE16.
11360
11361 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11362
11363 SCSI write support (for usbms mainly).
11364
11365 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
11366 a const pointer.
11367 (grub_scsi_write): Implement.
11368 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
11369
11370 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11371
11372 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
11373 variable.
11374
11375 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11376
11377 * grub-core/lib/posix_wrap/string.h (memchr): New function.
11378
11379 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11380
11381 * po/POTFILES.in: Regenerate.
11382
11383 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11384
11385 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
11386 with grub_printf to avoid unnecessary fatal failure.
11387
11388 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11389
11390 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
11391 (INT_MAX): Likewise.
11392 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
11393 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
11394 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
11395 (strcpy): Likewise.
11396 (strstr): Likewise.
11397 (strchr): Likewise.
11398 (strncpy): Likewise.
11399 (strcat): Likewise.
11400 (strncat): Likewise.
11401 (strcoll): Likewise.
11402 * include/grub/types.h (GRUB_SHRT_MAX): New define.
11403 (GRUB_INT_MAX): Likewise.
11404
11405 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11406
11407 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
11408 unexpected error.
11409 (optimize_utf8): Likewise.
11410 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
11411
11412 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11413
11414 * grub-core/boot/i386/pc/lnxboot.S: Use
11415 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
11416 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
11417 location.
11418 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
11419 definition.
11420 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
11421
11422 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11423
11424 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
11425 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
11426 now to avoid double free.
11427 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
11428 hostdisk.
11429 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
11430 * util/grub-probe.c (escape_of_path): Always return a new copy.
11431 (print_full_name): Escape path.
11432 (probe): Don't call grub_util_devname_to_ofpath on NULL.
11433 Fix hints on abstractions.
11434
11435 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11436
11437 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
11438 Don't add "root" line if no compatibility hont is available.
11439 Suggested by: Seth Goldberg.
11440
11441 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11442
11443 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
11444 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
11445 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
11446 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
11447
11448 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11449
11450 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
11451
11452 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11453
11454 * util/grub-pe2elf.c (ehdr): Make static.
11455 (shdr): Likewise.
11456 (num_sections): Likewise.
11457 (offset): Likewise.
11458
11459 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11460
11461 Eliminate ofpath limits and possible overflows.
11462
11463 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
11464 (OF_PATH_MAX): Removed.
11465 (MAX_DISK_CAT): New const.
11466 (find_obppath): Use allocated rather than preallocated buffer.
11467 Return result. Argument of_path removed. All users updated.
11468 Add missing fdstat.
11469 (xrealpath): New function.
11470 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
11471 Allocate rather than use preallocated buffer. All users updated.
11472 (__of_path_common): Use allocated rather than preallocatecd buffer.
11473 Return result. Argument of_path removed. All users updated.
11474 (vendor_is_ATA): Read only needed part form the file.
11475 (check_sas): Allocate depending on contents rather than fixed.
11476 (main) [STANDALONE]: Handle NULL result.
11477
11478 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11479
11480 * grub-core/normal/completion.c (iterate_dev): Close the disk.
11481
11482 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11483
11484 Cryptodisk write support.
11485
11486 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
11487 (grub_cryptodisk_decrypt): Moved logic to ...
11488 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
11489 (grub_cryptodisk_write): Implement.
11490 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
11491 (grub_util_fd_write): ... this. Make global.
11492 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
11493
11494 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11495
11496 * include/grub/list.h (grub_list_remove): Don't crash if element is
11497 removed twice.
11498
11499 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11500
11501 Rename ofconsole to console.
11502
11503 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
11504 as sysnonym to console.
11505 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
11506 * grub-core/term/ieee1275/console.c: ... this. All users updated.
11507 Rename grub_ofconsole_ to grub_console_. All users updated
11508 (grub_console_term_output): Rename "ofconsole" to "console".
11509 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
11510 as "console".
11511
11512 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11513
11514 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
11515 handling.
11516 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
11517 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
11518 GRUB_DISK_DEVICE_FILE_ID.
11519
11520 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11521
11522 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
11523 and improve performance.
11524
11525 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11526
11527 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
11528 missing ieee1275/ prefix on whole disk.
11529
11530 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11531
11532 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
11533 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
11534
11535 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11536
11537 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
11538
11539 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11540
11541 Merge common RAID and LVM logic to an abstract diskfilter.
11542 Add LDM support using the same framework.
11543
11544 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
11545 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
11546 (libgrubmods): Remove grub-core/disk/raid.c and
11547 grub-core/partmap/gpt.c.
11548 * grub-core/Makefile.core.def (ldm): New module.
11549 (raid): Renamed to diskfilter. All users updated.
11550 * grub-core/disk/raid.c: Moved to ...
11551 * grub-core/disk/diskfilter.c: ... here.
11552 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
11553 (lv_num): New var.
11554 (find_array): Renamed to ...
11555 (find_lv): ... this. Support multi-LV. Skip nameless LVs
11556 (grub_is_array_readable): Renamed to ...
11557 (grub_is_lv_readable): ... this. Support multinode hierarchy.
11558 (insert_array): New argument id.
11559 (is_node_readable): New function.
11560 (scan_device): Rename to ...
11561 (scan_disk): .. this. Restrict to one disk.
11562 (scan_devices): New function.
11563 (grub_diskfilter_iterate): Support multi-LV.
11564 Skip invisible and nameless LVs.
11565 (grub_diskfilter_memberlist): Support multi-LV.
11566 (grub_diskfilter_read_node): New function.
11567 (grub_raid_read): Most of logic moved to ...
11568 (read_segment): ... here
11569 (read_lv): New function.
11570 (grub_diskfilter_get_vg_by_uuid): New function.
11571 (grub_diskfilter_make_raid): Likewise.
11572 * grub-core/disk/ldm.c: New file.
11573 * grub-core/disk/lvm.c (vg_list): Removed.
11574 (lv_count): Likewise.
11575 (scan_depth): Likewise.
11576 (is_lv_readable): Likewise.
11577 (grub_lvm_getvalue): Advance pointer past the number.
11578 (find_lv): Removed.
11579 (do_lvm_scan): Refactored into ...
11580 (grub_lvm_detect): ... this. Support raid.
11581 (grub_lvm_iterate): Removed.
11582 (grub_lvm_memberlist): Likewise.
11583 (grub_lvm_open): Likewise.
11584 (grub_lvm_close): Likewise.
11585 (read_lv): Likewise.
11586 (read_node): Likewise.
11587 (is_node_readable): Likewise.
11588 (is_lv_readable): Likewise.
11589 (grub_lvm_read): Likewise.
11590 (grub_lvm_write): Likewise.
11591 (grub_lvm_dev): Use diskfilter
11592 (GRUB_MOD_INIT): Likewise.
11593 (GRUB_MOD_FINI): Likewise.
11594 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
11595 new interface.
11596 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
11597 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11598 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
11599 grub_diskfilter_read_node.
11600 Fix a bug with xor.
11601 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
11602 grub_diskfilter_read_node.
11603 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
11604 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
11605 (grub_disk_dev_iterate): Move from here...
11606 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
11607 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
11608 Make global.
11609 (grub_hostdisk_find_partition_start): Likewise.
11610 (grub_hostdisk_os_dev_to_grub_drive): New function.
11611 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
11612 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
11613 * util/getroot.c (make_device_name): ... here.
11614 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
11615 Move to ...
11616 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
11617 * grub-core/kern/emu/hostdisk.c
11618 (convert_system_partition_to_system_disk): Move to ...
11619 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
11620 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
11621 * util/getroot.c (device_is_wholedisk): ... here.
11622 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
11623 * util/getroot.c (find_system_device): ... here.
11624 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
11625 Move to ...
11626 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
11627 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
11628 Move to ...
11629 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
11630 Handle LDM.
11631 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
11632 Move to ...
11633 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
11634 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
11635 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
11636 DISKFILTER.
11637 * include/grub/raid.h: Renamed to ...
11638 * include/grub/diskfilter.h: ... this.
11639 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
11640 (GRUB_RAID_LAYOUT_*): Make into array.
11641 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
11642 (grub_diskfilter_vg): New struct.
11643 (grub_diskfilter_pv_id): Likewise.
11644 (grub_raid_member): Removed.
11645 (grub_raid_array): Likewise.
11646 (grub_diskfilter_pv): New struct.
11647 (grub_diskfilter_lv): Likewise.
11648 (grub_diskfilter_segment): Likewise.
11649 (grub_diskfilter_node): Likewise.
11650 (grub_diskfilter_get_vg_by_uuid): New proto.
11651 (grub_raid_register): Inline.
11652 (grub_diskfilter_unregister): Likewise.
11653 (grub_diskfilter_make_raid): New proto.
11654 (grub_diskfilter_vg_register): Likewise.
11655 (grub_diskfilter_read_node): Likewise.
11656 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
11657 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
11658 (grub_util_is_ldm): Likewise.
11659 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
11660 (grub_hostdisk_find_partition_start): Likewise.
11661 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
11662 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
11663 New definition.
11664 (grub_gpt_partition_map_iterate): New proto.
11665 * include/grub/lvm.h (grub_lvm_vg): Removed.
11666 (grub_lvm_pv): Likewise.
11667 (grub_lvm_lv): Likewise.
11668 (grub_lvm_segment): Likewise.
11669 (grub_lvm_node): Likewise.
11670 * util/getroot.c [...]
11671 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
11672 (probe_abstraction): Likewise.
11673 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
11674 (main): Remove dead logic.
11675
11676 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
11677
11678 Simplify root device discover and don't fail when trying to open
11679 incorrect devices.
11680
11681 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
11682 function.
11683 (get_diskname_from_path): Likewise.
11684 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
11685 of iterating.
11686
11687 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
11688
11689 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
11690
11691 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
11692
11693 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
11694 pastthe end.
11695
11696 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
11697
11698 * util/grub-install.in: Add missing \.
11699 Reported by: gentoofan
11700
11701 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
11702
11703 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
11704 (direct_read): Use correct compressed size.
11705 (grub_squash_read_data): Likewise.
11706
11707 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
11708
11709 * docs/grub.texi (Platform limitations): New section.
11710 (Platform-specific operations): Likewise.
11711 * docs/grub-dev.texi (Porting): Likewise.
11712
11713 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11714
11715 IEEE1275 disk write support.
11716
11717 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
11718 const void *.
11719 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
11720 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
11721 and seek loginc to ...
11722 (grub_ofdisk_prepare): ... here.
11723 (grub_ofdisk_write): Implement.
11724
11725 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11726
11727 ARC disk write support.
11728
11729 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
11730 (reopen): New argument writable. All users updated.
11731 Handle required access mode.
11732 (grub_arcdisk_write): Implement.
11733 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
11734 (grub_arc_firmware_vector): Make buffer to write a const buffer.
11735
11736 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11737
11738 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
11739 (read_sblock): Don't attempt to read superblocks outside the disk size.
11740
11741 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11742
11743 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
11744 first superblock to find the second one when possible.
11745
11746 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11747
11748 * util/grub-install.in: Fix an ARC bug.
11749 Print a warning if no platform-specific setup is available.
11750
11751 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11752
11753 Use static allocation rather than scratch pointer in reed_solomon.
11754 It decreases its size significantly and avoids a variable in .text.
11755
11756 * grub-core/lib/reed_solomon.c (scratch): Removed.
11757 (chosenstat): New const or static array.
11758 (sigma): Likewise.
11759 (errpot): Likewise.
11760 (errpos): Likewise.
11761 (sy): Likewise.
11762 (mstat): Likewise.
11763 (errvals): Likewise.
11764 (eqstat): Likewise.
11765 (pol_evaluate): Replace x with log_x argument. All users updated.
11766 (syndroms): Removed.
11767 (gauss_solve): Use statically allocated arrays.
11768 (rs_recover): Likewise.
11769 Calculate syndroms directly.
11770 (decode_block): Use statically allocated arrays.
11771 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
11772 (main) [TEST]: Allow -DTEST -DSTANDALONE.
11773
11774 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11775
11776 Eliminate fixed limit on reed solomon decoder length.
11777
11778 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
11779 rather than hardcoding the address.
11780 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
11781 no_reed_solomon_length.
11782 Move gate_a20 to no-reed-solomon part.
11783 Don't force a particular size of no reed-solomon part.
11784 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
11785 Removed.
11786 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
11787 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
11788
11789 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11790
11791 * grub-core/commands/wildcard.c (match_files): Handle filenames
11792 without explicit device.
11793 (wildcard_expand): Don't add explicit device if not already present.
11794 * tests/grub_script_echo1.in: Add a new expansion test.
11795
11796 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11797
11798 Replace single-linked with double-linked lists. It results in more
11799 compact and more efficient code.
11800
11801 * grub-core/kern/list.c (grub_list_push): Moved from here ...
11802 * include/grub/list.h (grub_list_push): ... to here. Set prev.
11803 (grub_list_remove): Moved from here ...
11804 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
11805 (grub_prio_list_insert): Set prev.
11806 * include/grub/list.h (grub_list): Add prev. All users updated.
11807
11808 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11809
11810 Handle newer autotools. Add some missing quotes while on it.
11811
11812 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
11813 (pkglib_DATA): Move grub-mkconfig_lib from here ...
11814 (pkgdata_DATA): ... here.
11815 * Makefile.util.def (update-grub_lib): Removed.
11816 * conf/Makefile.common (pkglib_DATA): Removed.
11817 (pkglib_SCRIPTS): Likewise.
11818 (pkgdata_DATA): New variable.
11819 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
11820 needed.
11821 Add missing quotes.
11822 Remove unused variable while on it.
11823 * tests/util/grub-shell.in: Likewise.
11824 * util/grub-install.in: Likewise.
11825 * util/grub-mkconfig.in: Likewise.
11826 * util/grub-mknetdir.in: Likewise.
11827 * util/grub-mkrescue.in: Likewise.
11828 * util/grub-mkstandalone.in: Likewise.
11829 * util/grub.d/00_header.in: Likewise.
11830 * util/grub.d/10_hurd.in: Likewise.
11831 * util/grub.d/10_illumos.in: Likewise.
11832 * util/grub.d/10_kfreebsd.in: Likewise.
11833 * util/grub.d/10_linux.in: Likewise.
11834 * util/grub.d/10_netbsd.in: Likewise.
11835 * util/grub.d/10_windows.in: Likewise.
11836 * util/grub.d/20_linux_xen.in: Likewise.
11837 * util/grub.d/30_os-prober.in: Likewise.
11838 * util/update-grub_lib.in: Removed.
11839
11840 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
11841
11842 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
11843 a workaround for intel problem.
11844
11845 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
11846 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
11847 2012-01-23 pfsmorigo
11848
11849 * util/grub-install.in: Support dd'in into PreP partition.
11850 * util/grub-probe.c (probe): Support discovering partition type.
11851 (main): Support -t msdos_parttype.
11852
11853 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
11854
11855 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
11856 infinite recursion using counter.
11857 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
11858 init to skip it if the magic check fails.
11859 (dec_stream_header): Init s->crc32.
11860
11861 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11862 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
11863 2012-01-22 Richard Laager <rlaager@wiktel.com>
11864
11865 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
11866 All users updated.
11867 (find_bestub): Determine correct size.
11868 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
11869 (scan_disk): Align the size down.
11870 Call check pool before find_bestub to have ashift.
11871
11872 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11873
11874 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
11875 dprintf in no-malloc zone.
11876
11877 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
11878
11879 * configure.ac: Add back in test for limits.h.
11880
11881 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11882
11883 Support 4K-sector NTFS.
11884
11885 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
11886 (grub_ntfs_data): Remove blocksize.
11887 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
11888 Remove data argument. All users updated.
11889
11890 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11891
11892 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
11893 being in .text to avoid dprel references.
11894 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
11895 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
11896 (grub_arch_highmemsize): Likewise.
11897 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
11898 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
11899 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
11900
11901 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11902
11903 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
11904
11905 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
11906 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
11907
11908 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11909
11910 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
11911 GRUB_UTIL.
11912 (grub_set_datetime_cmos): Likewise.
11913
11914 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11915
11916 Make XZ compression parameters dependent on target and not host CPU.
11917
11918 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
11919 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
11920
11921 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11922
11923 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
11924 set but not used variable.
11925
11926 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11927
11928 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
11929 created when no uuid support is compiled into mkfs.reiser.
11930
11931 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11932
11933 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
11934 (utf8_to_macroman): Do the opposite.
11935 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
11936
11937 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11938
11939 * configure.ac: Refise build qemu_mips w/o unifont.
11940
11941 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11942
11943 Eliminate grub_min/grub_max prone to overflow usage.
11944
11945 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
11946 (poll_nonroot_hub): Likewise.
11947 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
11948 (grub_affs_label): Likewise.
11949 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
11950 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
11951 (grub_hfs_label): Likewise.
11952 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
11953 * grub-core/fs/zfs/zfs.c (MIN): Remove.
11954 (zap_leaf_array_equal): Use grub_size. Remove MIN.
11955 (zap_leaf_array_get): Likewise.
11956 (dnode_get_path): Likewise.
11957 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
11958 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
11959 * grub-core/script/execute.c (grub_script_break): Likewise.
11960 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
11961 grub_max.
11962 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
11963 * include/grub/misc.h (grub_min): Removed.
11964 (grub_max): Likewise.
11965
11966 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
11967
11968 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
11969 direct.inode = 0.
11970
11971 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11972
11973 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
11974
11975 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11976
11977 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
11978
11979 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11980
11981 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
11982 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
11983
11984 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11985
11986 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
11987 rather than a hack for grub_strncasemap.
11988
11989 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11990
11991 Support multiple initrds
11992 Note: part of this was accidently committed in r3739.
11993
11994 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
11995 initrd.
11996 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
11997 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
11998 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
11999 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12000 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12001
12002 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12003
12004 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
12005 disks with unknown size.
12006 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
12007
12008 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12009
12010 Remove defines pertaining to arbitrary limits not affecting GRUB
12011 anymore.
12012
12013 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
12014 (EXT2_MAX_SYMLINKCNT): Likewise.
12015 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
12016 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
12017 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
12018 (GRUB_PXE_MAX_BLKSIZE): Likewise.
12019 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
12020 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
12021 (DN_MAX_OBJECT_SHIFT): Likewise.
12022 (DN_MAX_OFFSET_SHIFT): Likewise.
12023 (DN_MAX_OBJECT): Likewise.
12024 (DNODES_PER_LEVEL_SHIFT): Likewise.
12025 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
12026 (SPA_MAXBLOCKSIZE): Likewise.
12027 (SPA_BLOCKSIZES): Likewise.
12028 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
12029 (MZAP_MAX_BLKSZ): Likewise.
12030
12031 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12032
12033 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
12034 handle NULL appropriately.
12035 Remove MIN.
12036
12037 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12038
12039 Fix efiemu.
12040
12041 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
12042 cpu/types.h.
12043 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
12044 * configure.ac: Fix efiemu check.
12045
12046 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12047
12048 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
12049 grub_probe.
12050 Reported by: adamwill
12051
12052 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
12053
12054 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
12055
12056 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12057
12058 Fix handling of wide characters in gfxterm.
12059
12060 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
12061 (clear_char): Likewise.
12062 (paint_char): Skip code == NULL chars.
12063 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
12064
12065 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12066
12067 * grub-core/normal/charset.c: Move comment to right place.
12068
12069 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12070
12071 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
12072 (GRUB_AFFS_FLAG_FFS): Put back where it was.
12073 (grub_affs_mount): Revert the correct version checking.
12074
12075 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12076
12077 * docs/grub.texi (Unicode): Mention several other unsupported features.
12078
12079 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12080
12081 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
12082 case statements as compile-time one.
12083 (direct_read): Prevent spurious warnings.
12084 (grub_squash_read_data): Likewise.
12085
12086 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12087
12088 Various squash4 fixes and LZO and XZ support.
12089
12090 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
12091 Add xzembed source files.
12092 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
12093 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
12094 (grub_squash_inode): New subtype long_dir.
12095 (SQUASH_TYPE_LONG_DIR): New inode type.
12096 (COMPRESSION): New enum.
12097 (XZBUFSIZ): New const.
12098 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
12099 (read_chunk): Use data->decompress.
12100 (zlib_decompress): New function.
12101 (lzo_decompress): Likewise.
12102 (xz_decompress): Likewise.
12103 (squash_mount): Set new data fields.
12104 (grub_squash_iterate_dir): Handle long dir.
12105 (squash_unmount): Free xzdec and xzbuf.
12106 (grub_squash_open): Check ino type.
12107 (direct_read): Stylistic fixes. Use data->decompress.
12108 (grub_squash_read_data): Likewise.
12109 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
12110 (get_byte): Likewise.
12111 (grub_zlib_disk_read): Removed.
12112 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
12113 (GRUB_POSIX_BOOL_DEFINED): New define.
12114 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
12115 * grub-core/lib/xzembed/xz.h: Addmissing includes.
12116 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
12117 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
12118
12119 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12120
12121 Don't override more informative errors.
12122
12123 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
12124 * grub-core/font/font.c (open_section): Likewise.
12125 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
12126 filename. Don't override errors.
12127 (grub_cmd_openbsd_ramdisk): Don't override errors.
12128 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
12129 (grub_cmd_initrd): Likewise.
12130 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12131 (grub_cmd_initrd): Likewise.
12132 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
12133 (grub_cmd_linux): Likewise.
12134 (grub_cmd_initrd): Likewise.
12135 (grub_cmd_payload): Likewise.
12136 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
12137 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
12138 (grub_cmd_module): Likewise.
12139 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12140 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12141 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
12142 (grub_cmd_xnu_mkext): Likewise.
12143 (grub_cmd_xnu_ramdisk): Likewise.
12144 (grub_xnu_check_os_bundle_required): Likewise.
12145 (grub_xnu_load_kext_from_dir): Likewise.
12146 (grub_cmd_xnu_kextdir): Likewise.
12147 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
12148
12149 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12150
12151 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
12152 as 1024 in block size field. Found on one of my test images.
12153 Small optimisation while on it.
12154
12155 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12156
12157 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
12158 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
12159 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
12160 performance fixes while on it.
12161 (grub_sfs_close): Fix memory leak while on it.
12162 (grub_sfs_label): Convert Latin1 to UTF-8.
12163
12164 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12165
12166 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
12167 space to avoid overflows.
12168 (grub_hfs_label): Convert from macroman to UTF-8.
12169
12170 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12171
12172 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
12173
12174 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12175
12176 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
12177
12178 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12179
12180 * unicode: Import Unicode 6.0 data.
12181
12182 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12183
12184 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
12185 outside of range.
12186
12187 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12188
12189 Avoid cutting in the middle of UTF-8 character.
12190
12191 * include/grub/charset.h (grub_getend): New function.
12192 * grub-core/script/function.c (grub_script_function_find): Use
12193 grub_getend.
12194 * grub-core/normal/completion.c (add_completion): Likewise.
12195
12196 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12197
12198 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
12199 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
12200 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
12201 (GRUB_UNICODE_TAG_END): Likewise.
12202 (GRUB_UNICODE_LAST_VALID): Likewise.
12203
12204 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12205
12206 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
12207 len and make it smaller. All users updated.
12208 * util/import_unicode.py: Put length and not end character.
12209 Check length.
12210
12211 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12212
12213 Make better Unicode-compliant and unify some UTF-8 code pathes.
12214
12215 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
12216 valid character.
12217 (grub_is_valid_utf8): Use grub_utf8_process.
12218 Check resulting code range.
12219 (grub_utf8_to_ucs4): Use grub_utf8_process.
12220 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
12221 valid character.
12222
12223 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12224
12225 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
12226
12227 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12228
12229 * docs/grub.texi (Filesystems): Mention AFS.
12230
12231 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12232
12233 * docs/grub.texi (Filesystems): Clarify restrictions.
12234 (Regexp): Mention non-Unicode regexp behaviour.
12235 (Other): Mention non-Unicode matching behaviour.
12236
12237 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12238
12239 Make HFS implementation use MacRoman.
12240
12241 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
12242 (macroman): New const array.
12243 (macroman_to_utf8): New function.
12244 (utf8_to_macroman): Likewise.
12245 (grub_hfs_find_dir): Use utf8_to_macroman.
12246 (grub_hfs_dir): Use macroman_to_utf8.
12247 Set case_insensitive.
12248
12249 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12250
12251 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
12252
12253 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12254
12255 Integrate hints into autogeneration scripts.
12256
12257 * docs/grub.texi (Filesystems): Add a hostdisk example.
12258 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
12259 (grub-probe): Add ofpath.
12260 * gentpl.py: Remove group nosparc64.
12261 * grub-core/commands/search.c (cache_entry): New struct.
12262 (cache): New var.
12263 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
12264 * grub-core/commands/search_wrap.c (options): Add platform-specific
12265 hint options.
12266 (grub_cmd_search): Handle platform-specific hints.
12267 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
12268 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
12269 (grub_util_biosdisk_data): Likewise.
12270 (grub_util_biosdisk_open): Set device_map.
12271 (read_device_map): Handle "" as indication of no map.
12272 Set device_map.
12273 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
12274 (grub_util_biosdisk_get_compatibility_hint): New function.
12275 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
12276 * include/grub/emu/hostdisk.h
12277 (grub_util_biosdisk_get_compatibility_hint): New proto.
12278 * util/grub-install.in: Don't call grub-mkdevicemap.
12279 Add platform-specific hint to load.cfg.
12280 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
12281 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
12282 hints. Set root preliminary to compatibility hint, not to OS name.
12283 * util/grub-probe.c (PRINT_*): Add hints.
12284 (print): Make static.
12285 (escape_of_path): New function.
12286 (guess_bios_drive): Likewise.
12287 (guess_efi_drive): Likewise.
12288 (guess_baremetal_drive): Likewise.
12289 (print_full_name): Likewise.
12290 (probe): Handle hints.
12291 (main): Likewise.
12292 * util/ieee1275/devicemap.c: Removed.
12293 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
12294 updated.
12295 (grub_util_devname_to_ofpath): Return NULL on failure.
12296
12297 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
12298 resource leak.
12299 * util/getroot.c (grub_util_pull_device): Fix memory leak.
12300
12301 * po/POTFILES.in: Regenerated.
12302
12303 Allow purely long options
12304
12305 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
12306 (SHORT_ARG_USAGE): Likewise.
12307 (grub_arg_show_help): Compare opt with help_options.
12308 (parse_option): Receive opt as argument. If makes big simplificatons.
12309 All users updated
12310
12311 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12312
12313 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
12314 Restructure to avoid warning.
12315
12316 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12317
12318 * util/grub-install.in: Account for possible escaped comma in device
12319 name.
12320
12321 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12322
12323 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
12324 channel.
12325
12326 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12327
12328 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
12329 allocation and zero-setting.
12330 (grub_ieee1275_get_devname): Check that alias is complete.
12331
12332 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12333
12334 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
12335 unaligned segments.
12336
12337 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12338
12339 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
12340 prefix.
12341 (grub_ofdisk_open): Check and discard ieee1275 prefix.
12342 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
12343 Add ieee1275 prefix.
12344
12345 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12346
12347 * docs/grub.texi (Filesystems): Update.
12348
12349 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12350
12351 Support odc, newc and bigendian cpio formats.
12352
12353 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
12354 * grub-core/Makefile.core.def (newc): New module.
12355 (odc): Likewise.
12356 (cpio_be): Likewise.
12357 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
12358 (MAGIC): Likewise.
12359 (MAGIC2): Likewise.
12360 (head) [MODE_ODC]: Adapt for the format.
12361 (head) [MODE_NEWC]: Likewise.
12362 (head) [!MODE_*]: Write fields of interest as arrays.
12363 (MAGIC_USTAR): Removed.
12364 (read_number) [MODE_NEWC]: Change to hex.
12365 (read_number) [!MODE_*]: Parse binary arrays.
12366 (grub_cpio_find_file): Factor out the code for better structure and
12367 always use read_number.
12368 (grub_cpio_mount): Use MAGIC and MAGIC2.
12369 (grub_cpio_dir): Exit on first hook non-0 return.
12370 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
12371 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
12372 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
12373 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
12374 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
12375 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
12376 * grub-core/fs/newc.c: New file.
12377 * grub-core/fs/odc.c: Likewise.
12378 * grub-core/fs/cpio_be.c: Likewise.
12379
12380 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12381
12382 Fix handling of tar numbers occupying the whole field.
12383
12384 * grub-core/fs/cpio.c (read_number): New function.
12385 (grub_cpio_find_file): Use read_number instead of strtoull.
12386
12387 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12388
12389 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
12390 occupying the whole field size.
12391
12392 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
12393
12394 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
12395
12396 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12397
12398 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
12399
12400 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
12401
12402 * grub-core/Makefile.core.def (lzma_decompress): Add missing
12403 TARGET_IMG_LDFLAGS.
12404
12405 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12406
12407 * util/getroot.c (ESCAPED_PATH_MAX): New define.
12408 (mountinfo_entry): Increase the field size to take escaping into
12409 account.
12410 (find_root_device_from_libzfs): Add one byte to size of strings for
12411 security.
12412
12413 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12414
12415 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
12416 an assert.
12417 * util/grub-setup.c (setup): Likewise.
12418
12419 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12420
12421 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
12422 _LzmaDecodeA.
12423
12424 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12425
12426 * docs/grub.texi (Internationalisation): New section.
12427
12428 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12429
12430 * docs/grub.texi (Loopback booting): New section.
12431
12432 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
12433
12434 * util/grub-mkstandalone.in: Fix minor typo errors.
12435
12436 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
12437
12438 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
12439
12440 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
12441 net/icmp.c and net/icmp6.c.
12442 (http): New module.
12443 (priority_queue): Likewise.
12444 * grub-core/io/bufio.c: Rewritten.
12445 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
12446 TYPE_WITH_CONFIGFILE_OPTION.
12447 (legacy_commands): Add bootp and dhcp.
12448 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
12449 (grub_legacy_parse): Likewise.
12450 * grub-core/lib/priority_queue.c: New file.
12451 * grub-core/net/arp.c: Add missing license header.
12452 (arp_find_entry): Removed.
12453 (arp_find_entry): Likewise.
12454 (grub_net_arp_resolve): Rename to ...
12455 (grub_net_arp_send_request): ...this.
12456 (grub_net_arp_receive): New card argument.
12457 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
12458 Set router and DNS server.
12459 (grub_net_configure_by_dhcp_ack): Handle routing information.
12460 (grub_cmd_bootp): Set checksum.
12461 (grub_bootp_init): Remove net_dhcp.
12462 * grub-core/net/dns.c: New file.
12463 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
12464 completion.
12465 (get_card_packet): Handle allocation.
12466 (grub_efinet_findcards): Set mtu.
12467 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
12468 (get_card_packet): Handle allocation.
12469 (emucard): Set mtu.
12470 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
12471 (GRUB_MOD_INIT): Set mtu.
12472 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
12473 mtu.
12474 (get_card_packet): Handle allocation.
12475 (grub_ofnet_findcards): Set mtu.
12476 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
12477 assert.
12478 (grub_net_recv_ethernet_packet): Handle IPv6.
12479 * grub-core/net/http.c: New file.
12480 * grub-core/net/icmp.c: Likewise.
12481 * grub-core/net/icmp6.c: Likewise.
12482 * grub-core/net/ip.c (ip6addr): New type.
12483 (ip6hdr): Likewise.
12484 (reassemble): Likewise.
12485 (cmp): New function.
12486 (reassembles): New variable.
12487 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
12488 (id): New variable.
12489 (send_fragmented): New function.
12490 (grub_net_send_ip_packet): Rename to ...
12491 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
12492 Handle non-UDP.
12493 (grub_net_recv_ip_packets): Rename to ...
12494 (handle_dgram): ... this. Check checksum. Handle non-UDP.
12495 (free_rsm): New function.
12496 (free_old_fragments): Likewise.
12497 (grub_net_recv_ip4_packets): New function.
12498 (grub_net_send_ip6_packet): Likewise.
12499 (grub_net_send_ip_packet): Likewise.
12500 (grub_net_recv_ip6_packets): Likewise.
12501 (grub_net_recv_ip_packets): Likewise.
12502 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
12503 (LINK_LAYER_CACHE_SIZE): New const.
12504 (link_layer_find_entry): New function.
12505 (grub_net_link_layer_add_address): Likewise.
12506 (grub_net_link_layer_resolve_check): Likewise.
12507 (grub_net_link_layer_resolve): Likewise.
12508 (grub_net_ipv6_get_slaac): Likewise.
12509 (grub_net_ipv6_get_link_local): Likewise.
12510 (grub_cmd_ipv6_autoconf): Likewise.
12511 (parse_ip): Handle one number representation.
12512 (parse_ip6): New functoion.
12513 (match_net): Handle IPv6.
12514 (grub_net_resolve_address): Handle IPv6 and DNS.
12515 (grub_net_resolve_net_address): Handle IPv6.
12516 (route_cmp): New function.
12517 (grub_net_route_address): Find best route.
12518 (grub_net_addr_to_str): Handle IPv6.
12519 (grub_net_addr_cmp): New function.
12520 (grub_net_add_addr): Register local route.
12521 (print_net_address): Handle net address.
12522 (grub_net_poll_cards): Retransmit TCP.
12523 (grub_net_poll_cards_idle_real): Likewise.
12524 (have_ahead): New function.
12525 (grub_net_seek_real): Use underlying seek.
12526 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
12527 * grub-core/net/tcp.c: New file.
12528 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
12529 (cmp): New function.
12530 (ack): Likewise.
12531 (tftp_receive): Handle unordered input.
12532 (destroy_pq): New function.
12533 (tftp_close): Close pq.
12534 * grub-core/net/udp.c: Put missing license header.
12535 (grub_net_udp_socket): New function.
12536 (udp_socket_register): Likewise.
12537 (grub_net_udp_close): Likewise.
12538 (grub_net_recv_udp_packet): Check checksum.
12539 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
12540 * include/grub/misc.h (grub_memchr): New function.
12541 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
12542 (grub_net_card_driver): Return buf in recv.
12543 (grub_net_slaac_mac_list): New struct.
12544 (grub_network_level_protocol_id): Add ipv6.
12545 (grub_net_network_level_addr): Likewise.
12546 (grub_net_network_level_net_addr): Likewise.
12547 (grub_net_app_protocol): Add seek.
12548 (grub_net_socket): Removed.
12549 (grub_net_sockets): Likewise.
12550 (grub_net_socket_register): Likewise.
12551 (grub_net_socket_unregister): Likewise.
12552 (FOR_NET_SOCKETS): Likewise.
12553 (grub_net_add_addr): Add const.
12554 (GRUB_NET_BOOTP_*): New enum.
12555 (grub_net_addr_cmp): New proto.
12556 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
12557 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
12558 (grub_net_hwaddr_to_str): NEw proto.
12559 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
12560 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
12561 (grub_dns_init): New proto.
12562 (grub_dns_fini): Likewise.
12563 (grub_net_tcp_retransmit): Likewise.
12564 (grub_net_link_layer_add_address): Likewise.
12565 (grub_net_link_layer_resolve_check): Likewise.
12566 (grub_net_link_layer_resolve): Likewise.
12567 (grub_net_dns_lookup): Likewise.
12568 (grub_net_add_dns_server): Likewise.
12569 (grub_net_remove_dns_server): Likewise.
12570 (GRUB_NET_TRIES): New const.
12571 (GRUB_NET_INTERVAL): Likewise.
12572 * include/grub/net/arp.h: Mostly rewritten.
12573 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
12574 * include/grub/net/ip.h: Mostly rewritten.
12575 * include/grub/net/netbuff.h: Indent.
12576 * include/grub/net/tcp.h: New file.
12577 * include/grub/net/udp.h: Mostly rewritten.
12578 * include/grub/priority_queue.h: New file.
12579 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
12580 (grub_swap_bytes64_compile_time): Likewise.
12581 (grub_cpu_to_be16_compile_time): Likewise.
12582 (grub_cpu_to_be32_compile_time): Likewise.
12583 (grub_cpu_to_be64_compile_time): Likewise.
12584 (grub_be_to_cpu64_compile_time): Likewise.
12585
12586 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
12587
12588 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
12589 UINT_TO_PTR with cast.
12590
12591 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12592
12593 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
12594 don't use them.
12595
12596 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12597
12598 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
12599 already there.
12600
12601 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12602
12603 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
12604 confusing ipxe.
12605
12606 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12607
12608 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
12609 Add missing const attribute.
12610 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
12611 Likewise.
12612 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
12613 Likewise.
12614
12615 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12616
12617 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
12618 misaligned access.
12619 (serpent_setkey): Likewise.
12620 (serpent_encrypt_internal): Likewise.
12621 (serpent_decrypt_internal): Likewise.
12622 (serpent_encrypt): Don't put an alignment-increasing cast.
12623 (serpent_decrypt): Likewise.
12624 (serpent_test): Likewise.
12625
12626 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12627
12628 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
12629
12630 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12631
12632 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
12633
12634 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
12635 grub_addr_t casts.
12636 (PTR_TO_UINT64): Likewise.
12637 (PTR_TO_UINT32): Likewise.
12638
12639 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12640
12641 * util/grub-mkimage.c (generate_image): Decrease the higher limit
12642 because of stack.
12643 * util/grub-setup.c (setup): Don't add redundancy past the higher load
12644 limit.
12645
12646 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12647
12648 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
12649 text_width > available width a bit more gracefully.
12650
12651 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12652
12653 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
12654 current address calculation.
12655
12656 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12657
12658 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
12659 stack.
12660 (encode_block): Likewise.
12661
12662 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12663
12664 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
12665 certainety.
12666
12667 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12668
12669 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
12670 non-RS part to avoid RS messing with GDT.
12671 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
12672 Increase to suit in realmode routines.
12673
12674 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12675
12676 * grub-core/kern/i386/realmode.S: Increase alignment.
12677 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
12678
12679 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12680
12681 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
12682 be deterministic.
12683 (syndroms): Compute 0 syndrom.
12684 (rs_recover): Use 0 syndrom.
12685
12686 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12687
12688 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
12689
12690 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12691
12692 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
12693 brackets.
12694
12695 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12696
12697 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
12698 account.
12699 (get_top_pad): Likewise.
12700 (get_right_pad): Likewise.
12701 (get_bottom_pad): Likewise.
12702
12703 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12704
12705 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
12706
12707 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12708
12709 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
12710 attribute as the structure isn't guaranteed to be properly aligned.
12711 (grub_efi_pci_device_path): Likewise.
12712 (grub_efi_pccard_device_path): Likewise.
12713 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
12714 specify the size of `memory_type'.
12715 (grub_efi_vendor_device_path): Likewise.
12716 (grub_efi_controller_device_path): Likewise.
12717 (grub_efi_acpi_device_path): Likewise.
12718 (grub_efi_expanded_acpi_device_path): Likewise.
12719 (grub_efi_atapi_device_path): Likewise.
12720 (grub_efi_scsi_device_path): Likewise.
12721 (grub_efi_fibre_channel_device_path): Likewise.
12722 (grub_efi_1394_device_path): Likewise.
12723 (grub_efi_usb_device_path): Likewise.
12724 (grub_efi_usb_class_device_path): Likewise.
12725 (grub_efi_i2o_device_path): Likewise.
12726 (grub_efi_mac_address_device_path): Likewise.
12727 (grub_efi_ipv4_device_path): Likewise.
12728 (grub_efi_ipv6_device_path): Likewise.
12729 (grub_efi_infiniband_device_path): Likewise.
12730 (grub_efi_uart_device_path): Likewise.
12731 (grub_efi_vendor_messaging_device_path): Likewise.
12732 (grub_efi_hard_drive_device_path): Likewise.
12733 (grub_efi_cdrom_device_path): Likewise.
12734 (grub_efi_vendor_media_device_path): Likewise.
12735 (grub_efi_file_path_device_path): Likewise.
12736 (grub_efi_protocol_device_path): Likewise.
12737 (grub_efi_piwg_device_path): Likewise.
12738 (grub_efi_bios_device_path): Likewise.
12739
12740 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12741
12742 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
12743 (grub_ucs4_to_utf8_alloc): Likewise.
12744 (grub_ucs4_to_utf8): Likewise.
12745 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
12746 (grub_ucs4_to_utf8_alloc): Likewise.
12747
12748 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12749
12750 AFFS never uses unicode.
12751
12752 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
12753 (grub_latin1_to_utf8): New inline function.
12754 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
12755
12756 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12757
12758 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
12759 overflow.
12760
12761 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12762
12763 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
12764 (grub_squash_dirent_header): Likewise.
12765 (read_chunk): Don't double swap.
12766 (grub_squash_iterate_dir): Fix swap sizes.
12767
12768 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12769
12770 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
12771
12772 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12773
12774 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
12775 (grub_hfs_iterate_dir): Likewise.
12776
12777 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12778
12779 Fix video on platforms where unaligned access is forbidden.
12780 Make several optimisations while on it.
12781
12782 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
12783 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
12784 (grub_video_fbblit_replace_32bit_1bit): Likewise.
12785 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
12786 Disable.
12787 (grub_video_fbblit_replace_16bit_1bit):
12788 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
12789 (grub_video_fbblit_replace_8bit_1bit): Likewise.
12790 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
12791 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
12792 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
12793 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
12794 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
12795 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
12796 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
12797 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
12798 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
12799 (grub_video_fbblit_replace_index_RGB888): Likewise.
12800 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
12801 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
12802 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
12803 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
12804 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
12805 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
12806 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
12807 Disable.
12808 (grub_video_fbblit_blend_XXX565_1bit):
12809 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
12810 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
12811 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
12812 void *.
12813 * grub-core/video/fb/video_fb.c (common_blitter)
12814 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
12815 (grub_video_fb_create_render_target_from_pointer)
12816 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
12817 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
12818 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
12819 definition.
12820 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
12821
12822 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12823
12824 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
12825 HH22 and HM10 relocations.
12826
12827 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12828
12829 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
12830
12831 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12832
12833 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
12834 allocation succeeded.
12835
12836 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12837
12838 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
12839 argument a u8 pointer. All users updated.
12840 Handle unaligned buffers.
12841
12842 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12843
12844 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
12845 add_part to workaround compiler bug.
12846
12847 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12848
12849 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
12850
12851 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12852
12853 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
12854 Reserve alignment invariants.
12855 (grub_multiboot_load): Likewise.
12856 (retrieve_video_parameters): Likewise.
12857 (grub_multiboot_make_mbi): Likewise.
12858
12859 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12860
12861 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
12862 incorrect pointer.
12863
12864 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12865
12866 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
12867 (grub_pata_pio_write): Likewise.
12868
12869 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12870
12871 Add noreturn attributes and remove unreachable code.
12872
12873 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
12874 code.
12875 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
12876 code. Mark as noreturn.
12877 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
12878 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
12879 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
12880 unreachable code.
12881 * grub-core/kern/main.c (grub_main): Mark as noreturn.
12882 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
12883 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
12884 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
12885 * include/grub/kernel.h (grub_main): Mark as noreturn.
12886 * include/grub/reader.h (grub_rescue_run): Likewise.
12887
12888 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12889
12890 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
12891 redundant declaration.
12892
12893 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12894
12895 * include/grub/net.h (grub_net_network_level_interfaces): Remove
12896 redundant declaration.
12897 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
12898
12899 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12900
12901 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
12902 to ensure alignment.
12903 (grub_hdparm_print_identify): Make argument uint16 * to ensure
12904 alignment. Ensure tmp alignment.
12905 (grub_cmd_hdparm): Ensure buf alignment.
12906 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
12907 to ensure alignment.
12908 (grub_ata_dumpinfo): Ensure text alignment.
12909 (grub_atapi_identify): Preserve alignment invariant.
12910 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
12911
12912 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12913
12914 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
12915 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
12916 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
12917 * include/grub/misc.h (grub_reboot)
12918 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
12919 (grub_halt) [__mips__]: Likewise.
12920
12921 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12922
12923 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
12924 Remove redundant declaration.
12925 (grub_mmap_get_post64): Likewise.
12926 (grub_mmap_get_upper): Likewise.
12927 (grub_mmap_get_lower): Likewise.
12928
12929 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12930
12931 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
12932 uint32_t * to ensure alignment.
12933 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
12934
12935 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12936
12937 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
12938 uint16_t * to ensure alignment.
12939 (sun_pc_partition_map_iterate): Make `block' a union to ensure
12940 alignment.
12941
12942 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12943
12944 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
12945 to ensure alignment.
12946 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
12947
12948 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12949
12950 * grub-core/fs/ntfs.c (u16at): Make into inline function.
12951 Handle unaligned pointers.
12952 (u32at): Likewise.
12953 (u64at): Likewise.
12954 (fixup): Use byte access instead of v16at.
12955 (find_attr): Fix imporper usage of v32at.
12956 (read_data): Likewise.
12957 (list_file): Handle byte-swapping and unaligned strings.
12958 (grub_ntfs_label): Likewise.
12959
12960 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12961
12962 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
12963 as it's not necessarily aligned.
12964
12965 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12966
12967 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
12968 redundant declaration.
12969 (grub_serial_init): Likewise.
12970 (grub_terminfo_init): Likewise.
12971
12972 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12973
12974 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
12975 function.
12976 (ZAP_HASH_IDX): Likewise.
12977 (ZAP_LEAF_HASH_SHIFT): Likewise.
12978 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
12979 (LEAF_HASH): Likewise.
12980 (ZAP_LEAF_NUMCHUNKS): Likewise.
12981 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
12982 alignment invariants. Return pointer. All users updated.
12983 (ZAP_LEAF_ENTRY): Make into inline function.
12984 (NBBY): Removed.
12985 (xor): LIkewise.
12986 (xor_out): Use grub_crypto_xor.
12987 (dnode_get_path): Use grub_get_unaligned.
12988 (nvlist_find_value): Likewise.
12989 (grub_zfs_nvlist_lookup_uint64): Likewise.
12990 (grub_zfs_nvlist_lookup_string): Likewise.
12991 (get_nvlist_size): Likewise.
12992 (grub_zfs_open): Likewise.
12993 (fill_fs_info): Likewise.
12994 (grub_zfs_dir): Likewise.
12995 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
12996 alignment invariants.
12997 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
12998 necessarily aligned.
12999
13000 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13001
13002 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
13003
13004 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13005
13006 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
13007 arithmetic to conserve alignment invariants.
13008
13009 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13010
13011 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
13012 redundant declaration.
13013 (grub_efiemu_mm_obtain_request): Likewise.
13014 (grub_efiemu_prepare): Likewise.
13015
13016 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13017
13018 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
13019 to match types.
13020
13021 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13022
13023 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
13024 case of aunaligned recptr.
13025 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
13026 alignment.
13027 (grub_hfsplus_btree_search): Handle unaligned index.
13028
13029 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13030
13031 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
13032 to get freetag and skip.
13033
13034 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13035
13036 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
13037 array.
13038 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
13039 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
13040
13041 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13042
13043 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
13044 name for checksum and fix allocation algorithm.
13045
13046 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13047
13048 * include/grub/types.h (grub_properly_aligned_t): New type.
13049 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
13050 (grub_get_unaligned16): Add explicit casts.
13051 (grub_get_unaligned32): Likewise.
13052 (grub_get_unaligned64): Likewise.
13053 (grub_set_unaligned16): New function.
13054 (grub_set_unaligned32): Likewise.
13055
13056 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13057
13058 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
13059
13060 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13061
13062 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
13063 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
13064 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
13065
13066 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13067
13068 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
13069 conditionals.
13070
13071 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13072
13073 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
13074 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
13075
13076 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13077
13078 Unify and improve RAID and crypto xor.
13079
13080 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
13081 changed to grub_crypto_xor
13082 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
13083 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
13084 Use bigger types when possible.
13085
13086 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13087
13088 * grub-core/disk/raid.c (scan_devices): Fix condition.
13089
13090 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13091
13092 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
13093 Make name a const ptr.
13094
13095 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13096
13097 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
13098 first argument a const pointer.
13099 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
13100 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
13101 proto.
13102 (grub_children_iterate): Likewise.
13103 (grub_machine_mmap_iterate): Remove redundant declaration.
13104
13105 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13106
13107 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
13108 (grub_cmd_acpi) [!x86]: Disable EBDA.
13109
13110 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13111
13112 Enable UTF8 in gnulib regexp.
13113
13114 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
13115 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
13116 (isupper): Use grub_isupper.
13117 (isascii): New inline function.
13118 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
13119 * grub-core/lib/posix_wrap/wctype.h: Likewise.
13120 * grub-core/normal/charset.c (grub_utf8_process): New function.
13121 (grub_utf8_to_utf16): Use grub_utf8_process.
13122 (grub_encode_utf8_character): New function.
13123 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
13124 * include/grub/charset.h (grub_utf8_process): New declaration.
13125 (grub_encode_utf8_character): Likewise.
13126 * include/grub/misc.h (grub_islower): New inline function.
13127 (grub_isupper): Likewise.
13128 (grub_strchrsub): Moved down to fix the definitions.
13129
13130 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13131
13132 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
13133 specification.
13134
13135 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13136
13137 * include/grub/loader.h (grub_loader_register_preboot_hook):
13138 Use struct preboot * and not void * for handle. All users updated.
13139 (grub_loader_unregister_preboot_hook): Likewise.
13140
13141 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
13142
13143 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
13144 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
13145 UTF-16-BE. All users updated.
13146 (grub_hfsplus_cmp_catkey): Fix unicode handling.
13147 (grub_hfsplus_iterate_dir): Likewise.
13148 (grub_hfsplus_label): Likewise.
13149
13150 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
13151
13152 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
13153
13154 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
13155
13156 Add missing const qualifiers.
13157
13158 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
13159 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
13160 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
13161 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
13162 (grub_lvm_check_flag): Likewise.
13163 * grub-core/efiemu/i386/coredetect.c
13164 (grub_efiemu_get_default_core_name): Likewise
13165 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
13166 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
13167 * grub-core/fs/ntfs.c (fixup): Likewise.
13168 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
13169 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
13170 (fzap_lookup): Likewise.
13171 (zap_lookup): Likewise.
13172 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
13173 * grub-core/lib/legacy_parse.c (check_option): Likewise.
13174 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
13175 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
13176 (grub_freebsd_add_meta_module): Likewise.
13177 (grub_cmd_freebsd_module): Likewise.
13178 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
13179 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
13180 (grub_xnu_writetree_get_size): Likewise.
13181 (grub_xnu_writetree_toheap_real): Likewise.
13182 (grub_xnu_find_key): Likewise.
13183 (grub_xnu_create_key): Likewise.
13184 (grub_xnu_create_value): Likewise.
13185 (grub_xnu_register_memory): Likewise.
13186 (grub_xnu_check_os_bundle_required): Likewise.
13187 (grub_xnu_scan_dir_for_kexts): Likewise.
13188 (grub_xnu_load_kext_from_dir): Likewise.
13189 * grub-core/normal/color.c (color_list): Likewise.
13190 * grub-core/normal/completion.c (current_word): Likewise.
13191 * grub-core/normal/menu_entry.c (insert_string): Likewise.
13192 * grub-core/term/serial.c (grub_serial_find): Likewise.
13193 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
13194 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
13195 Likewise.
13196 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
13197 (grub_freebsd_add_meta_module): Likewise.
13198 * include/grub/lib/arg.h (grub_arg_option): Likewise.
13199 * include/grub/net.h (grub_net_card_driver): Likewise.
13200 (grub_net_card): Likewise.
13201 (grub_net_app_protocol): Likewise.
13202 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
13203 * include/grub/serial.h (grub_serial_find): Likewise.
13204 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
13205 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
13206 (grub_xnu_create_value): Likewise.
13207 (grub_xnu_find_key): Likewise.
13208 (grub_xnu_scan_dir_for_kexts): Likewise.
13209 (grub_xnu_load_kext_from_dir): Likewise.
13210
13211 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
13212 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
13213 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
13214 Moved from here ...
13215 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
13216
13217 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
13218
13219 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
13220
13221 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
13222
13223 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
13224 (read_device): Fix size calculation.
13225
13226 2011-11-25 Robert Millan <rmh@gnu.org>
13227
13228 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
13229 (find_root_device_from_libzfs): Add zpool output parser to be used
13230 as fallback when libzfs isn't available.
13231
13232 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
13233
13234 * po/Makefile.in.in: Add missing escape-continuation.
13235
13236 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
13237
13238 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
13239
13240 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13241
13242 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
13243
13244 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13245
13246 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
13247
13248 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13249
13250 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
13251
13252 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13253
13254 * grub-core/lib/adler32.c: Add missing license specification.
13255 * grub-core/lib/crc64.c: Likewise.
13256 * grub-core/loader/i386/pc/plan9.c: Likewise.
13257 * grub-core/partmap/plan.c: Likewise.
13258
13259 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
13260
13261 Add facility to debug GRUB with gdb under qemu.
13262
13263 * grub-core/gdb_grub.in: New file.
13264 * grub-core/gmodule.pl.in: Likewise.
13265 * grub-core/Makefile.core.def (gmodule.pl): New script.
13266 (gdb_grub): Likewise.
13267
13268 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13269
13270 * util/grub-mount.c (argp_parser): Accept relative pathes.
13271 * util/grub-fstest.c (argp_parser): Likewise.
13272
13273 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13274
13275 Plan9 support.
13276
13277 * Makefile.util.def (libgrubmods): Add
13278 grub-core/partmap/plan.c.
13279 * docs/grub.texi: Notice Plan9 support.
13280 * grub-core/Makefile.core.def (plan9): New module.
13281 (part_plan): Likewise.
13282 * grub-core/loader/i386/pc/plan9.c: New file.
13283 * grub-core/partmap/plan.c: Likewise.
13284 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
13285 define.
13286 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
13287 * include/grub/mm.h (grub_extend_alloc): New inline function.
13288
13289 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13290
13291 Make Reed-Solomon faster by using power of generator representation of
13292 GF(256)*.
13293
13294 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
13295 (gf_double_t): Likewise.
13296 (gf_invert): Removed.
13297 (gf_powx): New array.
13298 (gf_powx_inv): Likewise.
13299 (scratch): Move higher.
13300 (gf_reduce): Removed.
13301 (gf_mul): Use powx.
13302 (gf_invert): Likewise.
13303 (init_inverts): Replaced with ...
13304 (init_powx): ...this. All users updated.
13305 (pol_evaluate): Replace multiplications with additions.
13306 (rs_encode): Likewise.
13307 (gauss_eliminate): Call gf_invert.
13308 (grub_reed_solomon_add_redundancy): Call init_powx.
13309 (grub_reed_solomon_recover): Call init_powx unconditionally.
13310
13311 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13312
13313 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
13314
13315 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13316
13317 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
13318 disk->partiton for safety.
13319
13320 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13321
13322 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
13323 Fix a memory leak.
13324 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
13325
13326 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13327
13328 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
13329
13330 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13331
13332 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
13333
13334 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13335
13336 Fix spaces handling in proc/self/mountinfo.
13337
13338 * util/getroot.c (unescape): New function.
13339 (grub_find_root_device_from_mountinfo): Use unescape.
13340
13341 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13342
13343 Support ZFS embedding.
13344
13345 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
13346 (grub_zfs_fs): Register grub_zfs_embed.
13347
13348 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13349
13350 Fix MIPS compilation.
13351
13352 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
13353 * include/grub/offsets.h: Rename decompressor fields from
13354 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
13355 * util/grub-mkimage.c (image_targets): Use new names.
13356
13357 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13358
13359 Defer multiboot device parsing until we're in compressed part.
13360
13361 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
13362 bsd_part. setdevice has fallen into disuse.
13363 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
13364 (bsd_part): Likewise.
13365 (boot_dev): New variable.
13366 (multiboot_trampoline): Don't parse multiboot device.
13367 Pass multiboot device in %edx.
13368 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
13369 grub_boot_device.
13370 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
13371 Likewise.
13372 * grub-core/kern/i386/pc/startup.S: Save edx.
13373 (grub_boot_drive): Removed.
13374 (grub_install_dos_part): Likewise.
13375 (grub_install_bsd_part): Likewise.
13376 (grub_boot_device): New variable.
13377 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
13378 (grub_install_bsd_part): Likewise.
13379 (grub_boot_drive): Likewise.
13380 (grub_boot_device): New variable.
13381 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
13382 Removed.
13383 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
13384 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
13385 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
13386 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
13387 * util/grub-install.in: Remove redundant condition.
13388
13389 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13390
13391 Fix bug introduced by previous commit.
13392
13393 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
13394
13395 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13396
13397 Use decompressors framework on i386-pc. It increases core size
13398 by 46 bytes but improves compatibility and maintainability.
13399
13400 * grub-core/Makefile.core.def (lzma_decompress): New image.
13401 (kernel): Add i386_pc_ldflags.
13402 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
13403 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
13404 to real_to_prot, prot_to_real and device info.
13405 * include/grub/offsets.h: Renamed decompressor offsets.
13406 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
13407 (image_target_desc): Remove raw_size and rename decompressor fields.
13408 (compress_kernel): Handle lzma.
13409 (generate_image): Handle decompressors on i386-pc.
13410
13411 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13412
13413 * configure.ac: Add -fno-asynchronous-unwind-tables.
13414
13415 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13416
13417 Move assembly code to C by using intwrap. It increases core size
13418 by 88 bytes but improves compatibility and maintainability.
13419
13420 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
13421 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
13422 ... here. Translated to C.
13423 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
13424 * grub-core/term/i386/pc/console.c (grub_console_getkey):
13425 ... here. Translated to C.
13426 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
13427 * grub-core/term/i386/pc/console.c (grub_console_getxy):
13428 ... here. Translated to C.
13429 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
13430 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
13431 ... here. Translated to C.
13432 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
13433 * grub-core/term/i386/pc/console.c (grub_console_cls):
13434 ... here. Translated to C.
13435 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
13436 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
13437 ... here. Translated to C.
13438 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
13439 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
13440 Translated to C.
13441 * grub-core/term/i386/pc/console.c (int10_9): New function.
13442 (grub_console_putchar): Likewise.
13443 * include/grub/i386/pc/console.h: Removed the not anymore shared
13444 functions.
13445
13446 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13447
13448 Move grub_chainloader_real_boot out of the kernel.
13449
13450 * grub-core/Makefile.am: Remove machine/loader.h.
13451 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
13452 Removed.
13453 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
13454 variable.
13455 (grub_relocator16_keep_a20_enabled): Likewise.
13456 (grub_relocator16_boot): Fill new variables.
13457 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
13458 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
13459 relocator.
13460 (grub_chainloader_unload): Likewise.
13461 (grub_chainloader_cmd): Likewise.
13462 * include/grub/i386/pc/loader.h: Removed.
13463 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
13464 and esi. All initialisers updated.
13465
13466 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13467 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
13468
13469 * Makefile.util.def (grub-mount): New util.
13470 * .bzrignore: Add grub-mount.
13471 * configure.ac: Check for fuse and enable grub-mount if available.
13472 * docs/man/grub-mount.h2m: New file.
13473 * util/grub-mount.c: Likewise.
13474
13475 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13476
13477 * grub-core/commands/efi/fixvideo.c: Gettextize.
13478 * grub-core/commands/hashsum.c: Likewise.
13479 * grub-core/commands/i386/cmostest.c: Likewise.
13480 * grub-core/commands/i386/pc/drivemap.c: Likewise.
13481 * grub-core/commands/i386/pc/lsapm.c: Likewise.
13482 * grub-core/commands/i386/pc/sendkey.c: Likewise.
13483 * grub-core/commands/lsmmap.c: Likewise.
13484 * grub-core/commands/menuentry.c: Likewise.
13485 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
13486 * grub-core/commands/setpci.c: Likewise.
13487 * grub-core/loader/i386/bsd.c: Likewise.
13488 * grub-core/loader/i386/linux.c: Likewise.
13489 * util/getroot.c: Likewise.
13490 * util/grub-editenv.c: Likewise.
13491 * util/grub-fstest.c: Likewise.
13492 * util/grub-mkfont.c: Likewise.
13493 * util/grub-mkimage.c: Likewise.
13494 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13495 * util/grub-pe2elf.c: Likewise.
13496 * util/grub-probe.c: Likewise.
13497 * util/grub-setup.c: Likewise.
13498 * util/ieee1275/ofpath.c: Likewise.
13499 * util/misc.c: Likewise.
13500 * util/raid.c: Likewise.
13501
13502 2011-11-11 Robert Millan <rmh@gnu.org>
13503
13504 * util/getroot.c (grub_util_get_geom_abstraction): Remove
13505 __attribute__((unused)) from `os_dev', which *is* being used.
13506
13507 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13508
13509 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
13510 forgotten define.
13511 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
13512 GRUB_IA64_DL_GOT_ALIGN.
13513 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
13514 GRUB_IA64_DL_TRAMP_ALIGN.
13515
13516 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13517
13518 Replace grub_fatal with normal errors in i386 linux loader.
13519
13520 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
13521 (allocate_pages): Check find_efi_mmap_size return value.
13522 (grub_e820_add_region): Return error.
13523 (grub_linux_boot): Check mmap return value.
13524
13525 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13526
13527 * grub-core/commands/acpihalt.c: Gettextized.
13528 * grub-core/commands/cacheinfo.c: Likewise.
13529 * grub-core/commands/cmp.c: Likewise.
13530 * grub-core/commands/efi/loadbios.c: Likewise.
13531 * grub-core/commands/gptsync.c: Likewise.
13532 * grub-core/commands/ieee1275/suspend.c: Likewise.
13533 * grub-core/commands/legacycfg.c: Likewise.
13534 * grub-core/commands/memrw.c: Likewise.
13535 * grub-core/commands/minicmd.c: Likewise.
13536 * grub-core/commands/parttool.c: Likewise.
13537 * grub-core/commands/time.c: Likewise.
13538 * grub-core/commands/videoinfo.c: Likewise.
13539 * grub-core/disk/geli.c: Likewise.
13540 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
13541 * grub-core/disk/luks.c: Likewise.
13542 * grub-core/disk/lvm.c: Likewise.
13543 * grub-core/font/font_cmd.c: Likewise.
13544 * grub-core/fs/zfs/zfscrypt.c: Likewise.
13545 * grub-core/fs/zfs/zfsinfo.c: Likewise.
13546 * grub-core/gfxmenu/view.c: Likewise.
13547 * grub-core/kern/emu/hostdisk.c: Likewise.
13548 * grub-core/kern/emu/main.c: Likewise.
13549 * grub-core/kern/emu/misc.c: Likewise.
13550 * grub-core/kern/emu/mm.c: Likewise.
13551 * grub-core/kern/mips/arc/init.c: Likewise.
13552 * grub-core/kern/mips/loongson/init.c: Likewise.
13553 * grub-core/kern/partition.c: Likewise.
13554 * grub-core/lib/i386/halt.c: Likewise.
13555 * grub-core/lib/mips/arc/reboot.c: Likewise.
13556 * grub-core/lib/mips/loongson/reboot.c: Likewise.
13557 * grub-core/loader/i386/pc/chainloader.c: Likewise.
13558 * grub-core/loader/i386/xnu.c: Likewise.
13559 * grub-core/loader/multiboot.c: Likewise.
13560 * grub-core/net/bootp.c: Likewise.
13561 * grub-core/net/net.c: Likewise.
13562 * grub-core/normal/term.c: Likewise.
13563 * grub-core/partmap/bsdlabel.c: Likewise.
13564 * grub-core/parttool/msdospart.c: Likewise.
13565 * grub-core/term/gfxterm.c: Likewise.
13566 * grub-core/term/terminfo.c: Likewise.
13567 * grub-core/video/i386/pc/vbe.c: Likewise.
13568 * util/grub-menulst2cfg.c: Likewise.
13569 * util/grub-mkdevicemap.c: Likewise.
13570 * util/grub-mklayout.c: Likewise.
13571 * util/grub-mkrelpath.c: Likewise.
13572 * util/grub-script-check.c: Likewise.
13573 * util/ieee1275/grub-ofpathname.c: Likewise.
13574 * util/resolve.c: Likewise.
13575
13576 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13577
13578 Support %1$d syntax.
13579
13580 * tests/printf_unit_test.c: New file.
13581 * Makefile.util.def (printf_test): New test.
13582 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
13583
13584 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13585
13586 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
13587 fix.
13588
13589 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13590
13591 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
13592 dprintf.
13593 * grub-core/font/font.c (grub_font_load): Likewise.
13594
13595 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13596
13597 * util/grub-macho2img.c: Add comment concerning gettext.
13598 * grub-core/lib/legacy_parse.c: Likewise.
13599
13600 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13601
13602 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
13603 (grub_xvasprintf): Likewise.
13604
13605 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13606
13607 Add const keyword to grub_env_get and gettextize week days.
13608
13609 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
13610 (grub_read_hook_datetime): Return const char *.
13611 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
13612 updated.
13613 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
13614 Mark for gettext.
13615 (grub_get_weekday_name): Return const char *. Call gettext.
13616 * grub-core/script/argv.c (grub_script_argv_append): Receive const
13617 char * and len as the argument. All users updated.
13618 (grub_script_argv_split_append): Receive const char *.
13619 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
13620 * include/grub/env.h (grub_env_get): Likewise.
13621 (grub_env_read_hook_t): Return const char *.
13622 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
13623 (grub_script_argv_split_append): Likewise.
13624
13625 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13626
13627 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
13628
13629 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13630
13631 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
13632 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
13633
13634 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13635
13636 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
13637 Fix prototype.
13638
13639 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13640
13641 Fix mips compilation.
13642
13643 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
13644 normal decoder.
13645 (hashes): Use in embed decoder as well (for sizes).
13646 (dec_stream_header): Fix embed decompressor logic.
13647 (dec_stream_footer): Likewise.
13648
13649 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13650
13651 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
13652 an error and not a fatal on unrecognised relocation types.
13653
13654 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13655
13656 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
13657 Issue error rather than printf on unknown arguments.
13658
13659 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13660
13661 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
13662 Make buf a const.
13663
13664 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13665
13666 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
13667 Fix module name.
13668
13669 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13670
13671 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
13672 leftover debug printf.
13673
13674 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13675
13676 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
13677
13678 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13679
13680 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
13681 A stylistic fix.
13682
13683 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13684
13685 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
13686
13687 2011-11-10 Shea Levy <slevy@tieronedesign.com>
13688
13689 Allow all modules to perform serial IO
13690
13691 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
13692 * include/grub/serial.h (grub_serial_port_configure): New inline
13693 function.
13694 (grub_serial_port_fetch): Likewise.
13695 (grub_serial_port_put): Likewise.
13696 (grub_serial_port_fini): Likewise.
13697 (grub_serial_find): New proto.
13698
13699 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13700
13701 Put symlink at the end of the node and fix a potential
13702 memory corruption.
13703
13704 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
13705 Make symlink into an array.
13706 (set_rockridge): Set have_symlink and alloc_dirents.
13707 (grub_iso9660_read_symlink): Use new layout.
13708 (grub_iso9660_iterate_dir): Fix memory corruption.
13709 Use new layout.
13710 (grub_iso9660_dir): Set have_symlink.
13711 (grub_iso9660_open): Likewise.
13712
13713 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13714
13715 Remove local keyword.
13716
13717 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
13718 (version_test_gt): Likewise.
13719 (version_find_latest): Likewise.
13720 (gettext_printf): Likewise.
13721 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
13722
13723 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13724
13725 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
13726
13727 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13728
13729 Fix ZFS memory and resource leaks.
13730
13731 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
13732 All users updated.
13733 Free type on exit.
13734 (fill_vdev_info): New parameter inserted. All users updated.
13735 (check_pool_label): Likewise.
13736 (scan_disk): Likewise.
13737 (scan_devices): Close non-inserted disks.
13738 (fzap_iterate): Free l.
13739 (unmount_device): Free children descripto memory.
13740
13741 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13742
13743 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
13744 argument (access out of bounds).
13745
13746 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13747
13748 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
13749 >= 6 drives.
13750
13751 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13752
13753 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
13754 Fix declaration.
13755
13756 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13757
13758 Fix several memory leaks.
13759
13760 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
13761 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
13762 (grub_cpio_dir): Likewise.
13763 * grub-core/fs/fat.c (grub_fat_label): Likewise.
13764 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
13765 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
13766 (grub_romfs_label): Likewise.
13767 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
13768 (squash_unmount): New function.
13769 (grub_squash_dir): Fix memory leak.
13770 (grub_squash_open): Likewise.
13771 (grub_squash_read): Likewise.
13772 (grub_squash_mtime): Likewise.
13773 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
13774 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
13775 * util/grub-fstest.c (fstest): Likewise.
13776
13777 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13778
13779 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
13780 avoid accessing beyond the array.
13781
13782 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13783
13784 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
13785
13786 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13787
13788 Several AFFS fixes.
13789
13790 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
13791 (GRUB_AFFS_FLAG_FFS): Removed.
13792 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
13793 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
13794 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
13795 (grub_fshelp_node): Make block 32-bit.
13796 Add block_cache and last_block_cache.
13797 (grub_affs_read_block): Fill and use block cache.
13798 (grub_affs_read_file): Removed.
13799 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
13800 boot block.
13801 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
13802 safety.
13803 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
13804 space.
13805 (grub_affs_close): Free block cache.
13806 (grub_affs_read): Use grub_fshelp_read_file directly.
13807
13808 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13809
13810 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
13811 with no error set.
13812
13813 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13814
13815 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
13816 used variable.
13817 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
13818 Likewise.
13819
13820 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13821
13822 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
13823
13824 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
13825 byteswap when needed.
13826
13827 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13828
13829 Fix FreeBSD compilation.
13830
13831 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
13832 to avoid circular dependency.
13833 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
13834 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
13835 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
13836
13837 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13838
13839 Fix ZFS crypto error types.
13840
13841 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
13842 (grub_gcm_decrypt): Likewise.
13843 (grub_zfs_load_key_real): Fix error code type. Handle possible error
13844 from PBKDF2.
13845
13846 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13847
13848 Illumos support.
13849
13850 * Makefile.util.def (10_illumos): New script.
13851 * configure.ac: Set COND_HOST_ILLUMOS.
13852 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
13853 Support Illumos calls.
13854 (find_partition_start) [__sun__]: Likewise.
13855 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
13856 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
13857 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
13858 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
13859 device.
13860 * util/grub-probe.c (probe) [__sun__]: Do character check.
13861 * util/grub.d/10_illumos.in: New file.
13862
13863 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13864
13865 Support escaped commas in hostdisk.
13866
13867 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
13868 (find_grub_drive): Use unescape_cmp.
13869 (make_device_name): Escape commas.
13870
13871 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13872
13873 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
13874
13875 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13876
13877 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
13878 variable.
13879
13880 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13881
13882 Support trampoline jumps on powerpc.
13883
13884 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
13885 __ia64__ path.
13886 (grub_dl_load_segments): Set mod->sz.
13887 (grub_dl_flush_cache): Flush whole space occupied by module, not just
13888 segments.
13889 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
13890 (jump): Likewise.
13891 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
13892 function.
13893 (trampoline): New struct.
13894 (trampoline_template): New const.
13895 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
13896 * include/grub/dl.h (grub_dl): Add sz element.
13897 [__powerpc__]: Follow __ia64__.
13898 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
13899 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
13900 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
13901 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
13902
13903 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13904
13905 ZFS crypto support.
13906
13907 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
13908 * grub-core/Makefile.core.def (zfscrypt): New module.
13909 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
13910 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
13911 it. All users updated.
13912 (grub_zfs_decrypt): New var.
13913 (grub_zfs_load_key): Likewise.
13914 (zio_checksum_functions): Add SHA256+MAC.
13915 (zio_checksum_verify): Handle incomplete comparison due to MAC.
13916 (zio_read): Handle encrypted blocks.
13917 (zap_verify): Remove incorrect check.
13918 (fzap_iterate): Handle non-standard fzap.
13919 (zap_iterate): Likewise.
13920 (zap_iterate_u64): New function.
13921 (dnode_get_fullpath): Load keys.
13922 * grub-core/fs/zfs/zfscrypt.c: New file.
13923 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
13924 (grub_crypto_ecb_encrypt): Make input const.
13925 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
13926 (grub_crypto_ecb_encrypt): Make input const.
13927 (GRUB_CIPHER_AES): New macro.
13928 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
13929 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
13930 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
13931 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
13932 prefix. All users updated.
13933 (grub_zfs_add_key): New proto.
13934 (grub_zfs_decrypt): Likewise.
13935 (grub_zfs_load_key): Likewise.
13936 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
13937 * util/grub-fstest.c (options): Add -K option.
13938 (argp_parser): Likewise.
13939
13940 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
13941
13942 Support zle compression on ZFS.
13943
13944 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
13945 (decomp_table): Add zle.
13946 * include/grub/zfs/zio.h (zio_compress): Add zle.
13947
13948 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
13949
13950 Support BtrFS embedding.
13951
13952 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
13953 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
13954 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
13955 * util/grub-setup.c (setup): Use fs embedding if available.
13956 Add additional sanity check.
13957
13958 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
13959
13960 * util/grub-install.in: Fix condition for config_opt.
13961
13962 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13963
13964 Support third redundancy strip on raidz3.
13965
13966 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
13967 Return error on singularity. All users updated.
13968 (read_device): Don't stop on 3rd failure on raidz3.
13969
13970 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13971
13972 Support case-insensitive ZFS subvolumes.
13973
13974 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
13975 All users updated.
13976 (zap_hash): Likewise.
13977 (name_cmp): New function.
13978 (zap_leaf_array_equal): New parameter case_insensitive.
13979 All users updated.
13980 (zap_leaf_lookup): Likewise.
13981 (fzap_lookup): Likewise.
13982 (zap_lookup): Likewise.
13983 (dnode_get_path): New parameter case_insensitive. Retrieve case
13984 sensitiviness of a volume. All users updated.
13985 (dnode_get_fullpath): New parameter case_insensitive.
13986 All users updated.
13987 (grub_zfs_dir): Set info.case_insensitiveness.
13988
13989 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13990
13991 Support second redundancy strip on raidz(2,3).
13992
13993 * grub-core/fs/zfs/zfs.c (powx): New array.
13994 (powx_inv): Likewise.
13995 (poly): New const.
13996 (xor_out): New function.
13997 (gf_mul): Likewise.
13998 (recovery): Likewise.
13999 (read_device): Use second redundancy strip.
14000
14001 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14002
14003 Use a power of generator representation of GF(256) multiplication group
14004 to save space time and complexity.
14005
14006 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
14007 (raid6_table2): Likewise.
14008 (powx): New array.
14009 (powx_inv): Likewise.
14010 (poly): New const.
14011 (grub_raid_block_mul): Replace with ...
14012 (grub_raid_block_mulx): ...this.
14013 (grub_raid6_init_table): Rewritten.
14014 (grub_raid6_recover): Use power of generator representation.
14015
14016 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14017
14018 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
14019 for the right device.
14020
14021 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14022
14023 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
14024 expected by grub-mkimage and it's more clear since there is no implicit
14025 padding.
14026
14027 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14028
14029 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
14030 disk.
14031 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
14032
14033 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
14034
14035 * util/grub-mkrescue.in: Fix handling xorriso option.
14036
14037 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14038
14039 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
14040 NULL.
14041
14042 2011-11-03 crocket <crockabiscuit@gmail.com>
14043
14044 * util/grub.d/10_linux.in: Add Slackware initrd naming.
14045
14046 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14047
14048 XZ CRC64 and SHA256 support.
14049
14050 * Makefile.util.def (libgrubmods): Add crc64.c.
14051 * grub-core/Makefile.core.def (crc64): New module.
14052 * grub-core/lib/crc64.c: New file.
14053 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
14054 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
14055 Fix the type.
14056 (MAX_HASH_SIZE): New define.
14057 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
14058 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
14059 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14060 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14061 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
14062 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
14063 Handle non-crc32 hashes.
14064 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
14065 (dec_stream_header): Handle non-crc32 hashes.
14066 (dec_stream_footer): Likewise.
14067 (dec_block_header): Likewise.
14068 (dec_main): Likewise.
14069 (xz_dec_init): Likewise.
14070 (xz_dec_reset): Likewise.
14071 (xz_dec_end): Likewise.
14072 * util/import_gcry.py: Add CRC64 line.
14073
14074 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14075
14076 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
14077 as well.
14078
14079 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14080
14081 Make reiserfs label retrieval similar to other *_label functions.
14082
14083 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
14084 (REISERFS_MAX_LABEL_LENGTH): Removed.
14085 (REISERFS_LABEL_OFFSET): Likewise.
14086 (grub_reiserfs_label): Rewritten.
14087
14088 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14089
14090 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
14091 field.
14092
14093 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14094
14095 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
14096
14097 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
14098
14099 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
14100 drive failure on both raidz and raidz2.
14101
14102 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
14103
14104 Fix RAIDZ(2) for >= 5 devices.
14105
14106 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
14107 asize argument. All users updated.
14108
14109 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14110
14111 Fix RAIDZ(2).
14112
14113 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
14114 (fill_vdev_info_real): Set ashift.
14115 (read_device): Rewrite RAIDZ part based on reverse engineering.
14116
14117 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14118
14119 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
14120 don't report potentially unavialiable fields in debug output.
14121 (find_path): Fix double-free and memory leak.
14122
14123 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14124
14125 Read label on UFS1.
14126
14127 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
14128 (grub_ufs_fs): Always set .label.
14129
14130 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14131
14132 Use shifts in UFS.
14133
14134 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
14135 (grub_ufs_data): New field log2_blksz.
14136 (grub_ufs_read_file): Use shifts.
14137 (grub_ufs_mount): Check block size and logarithm it.
14138
14139 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14140
14141 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
14142 long symlinks.
14143
14144 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14145
14146 Handle symlinks and long names on tar and cpio.
14147
14148 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
14149 (ATTR_FILE): Likewise.
14150 (ATTR_DIR): Likewise.
14151 (ATTR_LNK): Likewise.
14152 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
14153 (grub_cpio_find_file): Fill mode, handle linkname field as well as
14154 L and K entries.
14155 (grub_cpio_mount): Zero-fill data.
14156 (handle_symlink): New function.
14157 (grub_cpio_dir): Handle symlinks.
14158 (grub_cpio_open): Likewise.
14159 (grub_cpio_close) [MODE_USTAR]: Free linkname.
14160
14161 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14162
14163 Fix iso9660 filename limitations and fix memory leaks.
14164
14165 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
14166 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
14167
14168 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14169
14170 Fix JFS file name length limitations.
14171
14172 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
14173 (grub_jfs_diropen): Fix maximum filename length.
14174 (grub_jfs_getent): Fix filename length.
14175 (grub_jfs_lookup_symlink): Fix size checks.
14176
14177 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14178
14179 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
14180 string.
14181
14182 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14183
14184 Leverage BFS implementation to read AFS.
14185
14186 * Makefile.util.def (libgrubmods): Add afs.c.
14187 * grub-core/Makefile.core.def (afs): New module
14188 * grub-core/fs/afs.c: New file.
14189 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
14190
14191 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14192
14193 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
14194
14195 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14196
14197 * grub-core/fs/bfs.c: Run indent.
14198
14199 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14200
14201 BFS implementation based on the specification.
14202
14203 * grub-core/fs/bfs.c: New file.
14204 * Makefile.util.def (libgrubmods): Add bfs.c.
14205 * grub-core/Makefile.core.def (bfs): New module.
14206
14207 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14208
14209 * util/grub-fstest.c (cmd_cp): Clarify error message.
14210 (cmd_cmp): Likewise.
14211
14212 2011-10-30 Yves Blusseau <blusseau@zetam.org>
14213
14214 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
14215 and befs_be.
14216
14217 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
14218
14219 Remove afs and befs because of copyright problem.
14220
14221 * grub-core/fs/afs.c: Removed.
14222 * grub-core/fs/afs_be.c: Removed.
14223 * grub-core/fs/befs.c: Removed.
14224 * grub-core/fs/befs_be.c: Removed.
14225 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
14226 * grub-core/Makefile.core.def (afs): Removed.
14227 (afs_be): Likewise.
14228 (befs): Likewise.
14229 (befs_be): Likewise.
14230
14231 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14232
14233 Prefer rockridge over Joliet.
14234
14235 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
14236 to ...
14237 (set_rockridge): ... here.
14238 (grub_iso9660_mount): Check rockridge on the primary label when
14239 discovering. Ignore Joliet if Rockridge is present.
14240
14241 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14242
14243 Use shifts in nilfs2.
14244
14245 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
14246 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
14247 (grub_nilfs2_palloc_entries_per_group): Replace with ...
14248 (grub_nilfs2_log_palloc_entries_per_group): ... this.
14249 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
14250 (grub_nilfs2_entries_per_block): Replaced with ...
14251 (grub_nilfs2_log_entries_per_block_log): ... this.
14252 (grub_nilfs2_blocks_per_group): Replaced with ...
14253 (grub_nilfs2_blocks_per_group_log): ... this.
14254 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
14255 (grub_nilfs2_blocks_per_desc_block_log): ... this.
14256 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
14257 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
14258 (grub_nilfs2_palloc_entry_offset): Replaced ...
14259 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
14260 (grub_nilfs2_dat_translate): Use shifts.
14261 (grub_nilfs2_read_inode): Likewise.
14262 (GRUB_MOD_INIT): Ensure that logs are correct.
14263
14264 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14265
14266 Use shifts in minix filesystem.
14267
14268 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
14269 (GRUB_MINIX_ZONE2SECT): Likewise.
14270 (grub_minix_data): Replace block_size with log_block_size.
14271 (grub_minix_read_file): Use shifts.
14272 (grub_minix_mount): Check block size and take a logarithm.
14273
14274 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14275
14276 Use shifts in squash4.
14277
14278 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
14279 (squash_mount): Check block size and take logarithm.
14280 (direct_read): Use shifts.
14281
14282 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14283
14284 Correct befs block counting logic.
14285
14286 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
14287 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
14288 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
14289 (grub_afs_read_inode): Use block_shift.
14290 (RANGE_SHIFT): New definition.
14291 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
14292 unexpected conditions, use shifts and appropriate types.
14293 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
14294
14295 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14296
14297 * grub-core/disk/raid.c (scan_devices): Check partition.
14298 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
14299
14300 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
14301
14302 Support BFS (befs) UUID.
14303
14304 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
14305 (grub_afs_small_data_element_header): New struct.
14306 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
14307 (grub_afs_read_attribute) [MODE_BFS]: New function.
14308 (grub_afs_iterate_dir): Allocate for complete inode.
14309 (grub_afs_mount): Likewise.
14310 (grub_afs_uuid) [MODE_BFS]: New function.
14311 (grub_afs_fs) [MODE_BFS]: Add .uuid.
14312
14313 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
14314
14315 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
14316 (zfs_unmount): Fix memory leak.
14317
14318 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14319
14320 Support NTFS reparse points.
14321
14322 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
14323 (symlink_descriptor): New struct.
14324 (grub_ntfs_read_symlink): New function.
14325 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
14326 (grub_ntfs_open): Likewise.
14327
14328 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14329
14330 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
14331
14332 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14333
14334 fstest xnu_uuid subcommand.
14335
14336 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
14337 grub-core/commands/xnu_uuid.c.
14338 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
14339 (fstest): Handle xnu_uuid.
14340 (options): Document xnu_uuid.
14341 (argp_parser): Parse xnu_uuid.
14342
14343 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14344
14345 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
14346 -l argument. Add newline at the end if printing.
14347 (GRUB_MOD_INIT): Document -l.
14348
14349 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14350
14351 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
14352
14353 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14354
14355 ZFS multi-device and version 33 support.
14356
14357 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
14358 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
14359 (grub_zfs_data): Add multidev-ice-related fields.
14360 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
14361 (dva_get_offset): Make dva const.
14362 (zfs_fetch_nvlist): New function.
14363 (fill_vdev_info_real): Likewise.
14364 (fill_vdev_info): Likewise.
14365 (check_pool_label): Likewise.
14366 (scan_disk): Likewise.
14367 (scan_devices): Likewise.
14368 (read_device): Likewise.
14369 (read_dva): Likewise.
14370 (zio_read_gang): Use read_dva.
14371 (zio_read_data): Likewise.
14372 (zap_leaf_lookup): Add missing endian conversion.
14373 (zap_verify): Add missing endian conversion. All users updated.
14374 (fzap_lookup): Likewise.
14375 (fzap_iterate): Likewise.
14376 (dnode_get_path): Handle SA bonus.
14377 (nvlist_find_value): Make input const. All users updated.
14378 (unmount_device): New function.
14379 (zfs_unmount): Use unmount_device.
14380 (zfs_mount): Use scan_disk.
14381 (zfs_mtime): New function.
14382 (grub_zfs_open): Handle system attributes.
14383 (fill_fs_info): Likewise.
14384 (grub_zfs_dir): Likewise.
14385 (grub_zfs_fs): Add mtime.
14386 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
14387 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
14388 (SA_MTIME_OFFSET): Likewise.
14389 (SA_SYMLINK_OFFSET): Likewise.
14390 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
14391 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
14392 (fstest): Support zfsinfo.
14393 (argp_parser): Likewise.
14394
14395 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14396
14397 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
14398 error.
14399
14400 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14401
14402 ZFS fixes.
14403
14404 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
14405 sharing the same block. Iterate over correct number of indices.
14406 (dnode_get_path): Handle symlinks correctly.
14407
14408 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14409
14410 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
14411
14412 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14413
14414 Read label on HFS+.
14415
14416 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
14417 (grub_hfsplus_btree_search): Fix types.
14418 (grub_hfsplus_label): Implement.
14419
14420 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14421
14422 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
14423
14424 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14425
14426 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
14427
14428 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14429
14430 Fix symlink handling on iso9660.
14431
14432 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
14433 All users updated.
14434 (grub_iso9660_susp_iterate): Accept zero-size iterate.
14435 (grub_iso9660_read_symlink): Moved most of code ...
14436 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
14437
14438 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14439
14440 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
14441 Use union to avoid breaking strict-aliasing rules.
14442
14443 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14444
14445 Support multi-extent iso files.
14446
14447 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
14448 Add node.
14449 (grub_fshelp_node): Revamp. All users updated.
14450 (FLAG_*): New enum.
14451 (read_node): New function.
14452 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
14453 All users updated.
14454 (grub_iso9660_mount): Don't attempt to read sua when there is none.
14455 (get_node_size): New function.
14456 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
14457 entries.
14458 Fix memory leak on . and ..
14459 (grub_iso9660_read): Use read_node.
14460 (grub_iso9660_close): Free node.
14461
14462 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14463
14464 Fix tar 4G limit and handle paths containing dot.
14465
14466 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
14467 (canonicalize): New function.
14468 (grub_cpio_find_file): Use canonicalize. Store offs in
14469 grub_disk_addr_t.
14470 (grub_cpio_dir): Use grub_disk_addr_t.
14471 (grub_cpio_open): Likewise.
14472
14473 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14474
14475 Fix handling of uncompressed blocks on squashfs and break 4G limit.
14476
14477 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
14478 unused flags.
14479 (grub_squash_inode): Add long_file and block_size.
14480 (grub_squash_cache_inode): New struct.
14481 (grub_squash_dirent): Make types into enum.
14482 (SQUASH_TYPE_LONG_REGULAR): New type.
14483 (grub_squash_frag_desc): Add field size.
14484 (SQUASH_BLOCK_FLAGS): New enum.
14485 (grub_squash_data): Use grub_squash_cache_inode.
14486 (grub_fshelp_node): Make ino_chunk 64-bit.
14487 (read_chunk): Minor argument change. All users updated.
14488 (squash_mount): Use correct le_to_cpu.
14489 (grub_squash_open): Handle LONG_REGULAR.
14490 (direct_read): New function.
14491 (grub_squash_read_data): Handle blocks correctly.
14492
14493 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14494
14495 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
14496
14497 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14498
14499 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
14500
14501 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
14502
14503 Fix 2G limit on ZFS.
14504
14505 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
14506 types.
14507 (uberblock_verify): Likewise.
14508 (dmu_read): Likewise.
14509 (grub_zfs_read): Likewise. Remove invalid cast.
14510
14511 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
14512
14513 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
14514 (grub_jfs_blkno): Fix incorrect shift.
14515 (grub_jfs_read_file): Use more appropriate types.
14516
14517 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
14518
14519 Support triple indirect on minix2 and minix3.
14520
14521 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
14522 Declare triple_indir_zone.
14523 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
14524 indirect.
14525
14526 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
14527
14528 Minix FS fixes.
14529
14530 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
14531 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
14532 Rename ctime to mtime. All users updated.
14533 (grub_minix_get_file_block): Fix types and double indirect computations.
14534
14535 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14536
14537 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
14538 if no label is found.
14539 (grub_fat_iterate_dir): Fix file size type.
14540 (grub_fat_iterate_dir): Likewise.
14541
14542 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14543
14544 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
14545 save some space.
14546 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
14547 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
14548
14549 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14550
14551 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
14552
14553 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14554
14555 * util/import_gcry.py: Accept space between # and include.
14556
14557 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14558
14559 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
14560
14561 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14562
14563 Fine grainely disable warnings on lexer. Remove Wno-error on it.
14564
14565 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
14566 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
14567 yylex_strncpy.
14568 * grub-core/script/yylex.l: Add fine-grained #pragma.
14569
14570 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14571
14572 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
14573 New inline function.
14574 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
14575 Likewise.
14576 (memset) [GRUB_UTIL]: Likewise.
14577 (memcmp) [GRUB_UTIL]: Likewise.
14578
14579 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14580
14581 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
14582 inline function rather than a define.
14583
14584 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14585
14586 * util/grub-setup.c: Add missing include.
14587
14588 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14589
14590 * util/ieee1275/grub-ofpathname.c: Add missing include.
14591
14592 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14593
14594 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
14595 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
14596 Likewise.
14597
14598 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14599
14600 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
14601 grub_memcmp usage.
14602
14603 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14604
14605 * util/grub-install.in: Add datarootdir as per automake manual
14606 suggestion.
14607 * util/grub-mknetdir.in: Likewise.
14608
14609 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14610
14611 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
14612 suggestion.
14613 * util/grub.d/10_kfreebsd.in: Likewise.
14614 * util/grub.d/10_linux.in: Likewise.
14615 * util/grub.d/10_netbsd.in: Likewise.
14616 * util/grub.d/10_windows.in: Likewise.
14617 * util/grub.d/20_linux_xen.in: Likewise.
14618
14619 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
14620
14621 Remove redundant grub_kernel_image_size.
14622
14623 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
14624 _edata and _start.
14625 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
14626 the small code. It moves it only by few bytes but simplifies the code.
14627 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
14628 _start.
14629 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
14630 (grub_kernel_image_size): Removed.
14631 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
14632 (grub_kernel_image_size): Removed.
14633 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
14634 compiled with Apple toolchain.
14635 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
14636 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
14637 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
14638 (grub_total_module_size): Likewise.
14639 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
14640 Removed.
14641 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
14642 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
14643 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
14644 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
14645 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
14646 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
14647 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
14648 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
14649 Removed.
14650 (grub_total_module_size): Removed.
14651 * util/grub-mkimage.c (image_target_desc): Remove image_size.
14652 (image_targets): Likewise.
14653 Set .compressed_size to no field on sparc.
14654 (generate_image): Remove kernel_image_size handling.
14655
14656 2011-10-19 Szymon Janc <szymon@janc.net.pl>
14657
14658 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
14659 NULL pointer dereference.
14660
14661 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14662
14663 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
14664 done with a dedicated section.
14665
14666 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
14667 Ensure the correct position of boot_path.
14668 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
14669 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
14670 other fields.
14671 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
14672 * include/grub/boot.h: Removed. All references removed.
14673 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
14674 Removed.
14675 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
14676
14677 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14678
14679 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
14680 name.
14681
14682 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14683
14684 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
14685
14686 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14687
14688 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
14689 Don't add the bogus brackets.
14690
14691 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14692
14693 ExFAT support.
14694
14695 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
14696 * grub-core/Makefile.core.def (exfat): New module.
14697 * grub-core/fs/exfat.c: New file.
14698 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
14699 (GRUB_FAT_ATTR_*): Make into an enum.
14700 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
14701 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
14702 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
14703 (GRUB_FAT_MAXFILE): Removed.
14704 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
14705 (grub_current_fat_bpb_t): New type.
14706 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
14707 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
14708 (grub_fat_dir_node_t): New type.
14709 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
14710 (fat_log2) [MODE_EXFAT]: Removed.
14711 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
14712 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
14713 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
14714 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
14715 (grub_fat_label) [MODE_EXFAT]: New function.
14716 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
14717 reserved_first_sector to 0.
14718
14719 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14720
14721 Move grub_reboot out of the kernel.
14722
14723 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
14724 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
14725 * grub-core/lib/efi/reboot.c: ... here.
14726 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
14727 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
14728 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
14729 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
14730 * grub-core/lib/i386/reboot_trampoline.S: ... here.
14731 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
14732 * grub-core/lib/ieee1275/reboot.c: ... here.
14733 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
14734 * grub-core/lib/mips/arc/reboot.c: ... here.
14735 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
14736 * grub-core/lib/mips/loongson/reboot.c: ...here.
14737 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
14738 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
14739 * include/grub/emu/misc.h (grub_reboot): New function declaration.
14740 * include/grub/i386/reboot.h: New file.
14741 * include/grub/mips/loongson/ec.h: Fix includes.
14742 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
14743 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
14744 * grub-core/lib/i386/reboot.c: New file.
14745
14746 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
14747
14748 Make grub_prefix into module to fix the arbitrary limit and save
14749 some space.
14750
14751 * grub-core/kern/emu/main.c (grub_prefix): Removed.
14752 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
14753 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
14754 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
14755 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
14756 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
14757 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
14758 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
14759 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
14760 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
14761 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
14762 * include/grub/ia64/efi/kernel.h: Removed.
14763 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
14764 (grub_prefix): Removed.
14765 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
14766 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
14767 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
14768 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
14769 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
14770 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
14771 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
14772 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
14773 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
14774 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
14775 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
14776 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
14777 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
14778 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
14779 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
14780 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
14781 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
14782 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
14783 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
14784 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
14785 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
14786 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
14787 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
14788 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
14789 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
14790 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
14791 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
14792 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
14793 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
14794 from module.
14795 * util/grub-mkimage.c (image_target_desc): Removed prefix and
14796 prefix_end.
14797 (image_targets): Likewise.
14798 (generate_image): Put prefix as a module.
14799
14800 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14801
14802 Replace grub_module_iterate with FOR_MODULES.
14803
14804 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
14805 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
14806 (grub_efi_modules_addr): ...this.
14807 * grub-core/kern/efi/init.c (grub_modbase): New variable.
14808 (grub_efi_init): Set grub_modbase.
14809 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
14810 (grub_modbase): New variable.
14811 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
14812 (grub_modbase): New variable.
14813 (grub_machine_init): Set grub_modbase.
14814 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
14815 (grub_modbase): New variable.
14816 (grub_machine_init): Set grub_modbase.
14817 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
14818 (grub_modbase): New variable.
14819 (grub_machine_init): Set grub_modbase.
14820 * grub-core/kern/main.c (grub_module_iterate): Remove.
14821 (grub_modules_get_end): Use grub_modbase.
14822 (grub_load_modules): Use FOR_MODULES.
14823 (grub_load_config): Likewise.
14824 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
14825 (grub_modbase): New variable.
14826 (grub_machine_init): Set grub_modbase.
14827 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
14828 (grub_modbase): New variable.
14829 (grub_machine_init): Set grub_modbase.
14830 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
14831 Removed.
14832 (grub_modbase): New variable.
14833 (grub_machine_init): Set grub_modbase.
14834 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
14835 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
14836 (grub_module_iterate): Likewise.
14837 (grub_modbase): New variable declaration.
14838 (FOR_MODULES): New macro.
14839
14840 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14841
14842 * configure.ac: Check for __ctzdi2 and __ctzsi2.
14843 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
14844
14845 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14846
14847 Fix few obvious type discrepancies.
14848
14849 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
14850 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
14851 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
14852 variable.
14853 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
14854 and connected types.
14855 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
14856 offset.
14857 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
14858 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
14859 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
14860 and connected types.
14861
14862 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14863
14864 Fix python 3.x incompatibilities.
14865
14866 * gentpl.py: Put brackets around print strings.
14867 * util/import_gcry.py: Open explicitly as utf-8.
14868 Use in instead of has_key.
14869
14870 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14871
14872 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
14873 (GRUB_XFS_INO_AGBITS): Make into inline function.
14874 (GRUB_XFS_INO_INOINAG): Likewise.
14875 (GRUB_XFS_INO_AG): Likewise.
14876 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
14877 (GRUB_XFS_EXTENT_OFFSET): Likewise.
14878 (GRUB_XFS_EXTENT_BLOCK): Likewise.
14879 (GRUB_XFS_EXTENT_SIZE): Likewise.
14880 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
14881 (GRUB_XFS_NEXT_DIRENT): Likewise.
14882 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
14883 (grub_xfs_read_file): Fix offset type.
14884
14885 2011-10-15 Robert Millan <rmh@gnu.org>
14886
14887 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
14888
14889 2011-10-15 Robert Millan <rmh@gnu.org>
14890
14891 Fix build problem on FreeBSD and GNU/kFreeBSD.
14892
14893 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
14894
14895 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14896
14897 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
14898
14899 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
14900 types.
14901 (grub_hfsplus_btree_recoffset): Likewise.
14902 (grub_hfsplus_btree_recptr): Likewise.
14903 (grub_hfsplus_find_block): Likewise.
14904 (grub_hfsplus_btree_search): Likewise.
14905 (grub_hfsplus_read_block): Likewise.
14906 (grub_hfsplus_read_file): Likewise.
14907 (grub_hfsplus_mount): Likewise.
14908 (grub_hfsplus_btree_iterate_node): Likewise.
14909 (grub_hfsplus_btree_search): Likewise.
14910 (grub_hfsplus_iterate_dir): Likewise.
14911 (grub_hfsplus_read): A small code simplification.
14912
14913 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14914
14915 * grub-core/kern/emu/hostdisk.c
14916 (convert_system_partition_to_system_disk): Don't assume that children
14917 of mapper nodes are mapper nodes.
14918
14919 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14920
14921 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
14922 * include/grub/misc.h (grub_isxdigit): New function.
14923 * grub-core/video/colors.c (my_isxdigit): Removed. All users
14924 switched to grub_isxdigit.
14925 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
14926 number starting with a letter.
14927
14928 2011-10-09 Robert Millan <rmh@gnu.org>
14929
14930 LVM support for FreeBSD and GNU/kFreeBSD.
14931
14932 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
14933 GNU/kFreeBSD.
14934 (LVM_DEV_MAPPER_STRING): Move from here ...
14935 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
14936 * util/getroot.c: Include `<grub/util/lvm.h>'.
14937 (grub_util_get_dev_abstraction): Enable
14938 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
14939 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
14940 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
14941 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
14942 support it.
14943 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
14944 GNU/kFreeBSD.
14945 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
14946 when LVM abstraction is required for ${GRUB_DEVICE}.
14947
14948 2011-10-06 Szymon Janc <szymon@janc.net.pl>
14949
14950 Add support for LZO compression in GRUB:
14951 - import of minilzo library,
14952 - LZO decompression for btrfs,
14953 - lzop files decompression.
14954
14955 * grub-core/io/lzopio.c: New file.
14956 * grub-core/lib/adler32.c: Likewise.
14957 * grub-core/lib/minilzo/lzoconf.h: Likewise.
14958 * grub-core/lib/minilzo/lzodefs.h: Likewise.
14959 * grub-core/lib/minilzo/minilzo.c: Likewise.
14960 * grub-core/lib/minilzo/minilzo.h: Likewise.
14961 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
14962 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
14963 grub-core/lib/minilzo/minilzo.c to common.
14964 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
14965 cflags in cppflags.
14966 * grub-core/Makefile.core.def (btrfs): Likewise.
14967 * grub-core/Makefile.core.def (lzopio): New module.
14968 (adler32): Likewise.
14969 * grub-core/fs/btrfs.c: Include minilzo.h.
14970 (GRUB_BTRFS_COMPRESSION_LZO): New define.
14971 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
14972 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
14973 (grub_btrfs_lzo_decompress): New function.
14974 (grub_btrfs_extent_read): Add support for LZO compression type.
14975 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
14976 (GRUB_USHRT_MAX): Likewise.
14977 (GRUB_UINT_MAX): Likewise.
14978 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
14979 (UINT_MAX): Likewise.
14980 (CHAR_BIT): Likewise.
14981 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
14982 grub-core/lib/posix_wrap/limits.h
14983 (UCHAR_MAX): Likewise.
14984 * include/grub/file.h (grub_file_filter_id): New compression filter
14985 GRUB_FILE_FILTER_LZOPIO.
14986 * include/grub/file.h (grub_file_filter_id): Set
14987 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
14988 * include/grub/types.h (grub_get_unaligned16): New function.
14989 (grub_get_unaligned32): Likewise.
14990 (grub_get_unaligned64): Likewise.
14991 * util/import_gcry.py (cryptolist): Add adler32.
14992
14993 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
14994
14995 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
14996 in perspective decreases the complexity of build system and fixes
14997 compilation right now.
14998
14999 2011-10-01 Ales Nesrsta <starous@volny.cz>
15000
15001 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
15002 (fixed problem related to using UHCI with coreboot).
15003
15004 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
15005
15006 * gentpl.py: Use Autogen macros so that the output template file
15007 (Makefile.tpl) size is reduced.
15008
15009 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
15010
15011 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
15012 extra_dist.
15013
15014 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15015
15016 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
15017 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
15018
15019 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15020
15021 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
15022 _fullpath.
15023
15024 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15025
15026 Remove extra declaration of sleep for mingw32.
15027
15028 * util/misc.c (sleep) [__MINGW32__]: Removed.
15029 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
15030
15031 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
15032
15033 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
15034 type and packname.
15035 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
15036 Resurrected.
15037 (NETBSD_BTINFO_BOOTWEDGE): New definition.
15038 (grub_netbsd_btinfo_bootwedge): New struct.
15039 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15040 New function.
15041 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
15042
15043 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
15044
15045 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
15046 loader.
15047
15048 2011-09-28 Andreas Born <futur.andy@googlemail.com>
15049
15050 Fix incorrect identifiers in bash-completion.
15051
15052 * util/bash-completion.d/grub-completion.bash.in
15053 (_grub_mkpasswd-pbkdf2): Rename to ...
15054 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
15055 (_grub_script-check): Rename to ...
15056 (_grub_script_check): ... this. All users updated.
15057
15058 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
15059
15060 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
15061 Return 0 if disk isn't biosdisk.
15062
15063 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15064
15065 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
15066 on NetBSD.
15067 * Makefile.util.def (grub-fstest): Likewise.
15068
15069 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15070
15071 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
15072 Get sector size from disk label.
15073
15074 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
15075
15076 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
15077 */README* as well as README*.
15078 Reported by: Axel Beckert.
15079
15080 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15081
15082 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
15083 case of less than 256 MiB of RAM.
15084
15085 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15086
15087 * grub-core/commands/wildcard.c (make_regex): Handle @.
15088
15089 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15090
15091 * util/grub-install.in: Move cryptodisk logic to appropriate place.
15092
15093 2011-08-21 Szymon Janc <szymon@janc.net.pl>
15094
15095 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
15096 AC_LANG_CONFTEST macros.
15097
15098 2011-08-20 Szymon Janc <szymon@janc.net.pl>
15099
15100 Add grub-fstest option to uncompress data for commands.
15101
15102 * util/grub-fstest.c (uncompress): New var.
15103 (options): New option -u.
15104
15105 2011-08-20 Szymon Janc <szymon@janc.net.pl>
15106
15107 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
15108 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
15109
15110 2011-08-20 Szymon Janc <szymon@janc.net.pl>
15111
15112 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
15113 file type was not recognized correctly (not gzip or corrupted).
15114
15115 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15116
15117 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
15118 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
15119
15120 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15121
15122 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
15123 loongson.
15124 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
15125 video_radeon_fuloong2e.
15126 * grub-core/video/radeon_fuloong2e.c: New file.
15127 * include/grub/video.h (grub_video_id_t): Add new ID
15128 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
15129
15130 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15131
15132 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
15133 define.
15134 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
15135 that PRID matches the detected subplatform and reset the subplatform
15136 if it doesn't.
15137
15138 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15139
15140 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
15141
15142 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15143
15144 Fix PCI iterating on functions >= 4.
15145
15146 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
15147 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
15148 Removed.
15149 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
15150 (grub_pci_read): Fix bitmask.
15151 (grub_pci_read_word): Likewise.
15152 (grub_pci_read_byte): Likewise.
15153 (grub_pci_write): Likewise.
15154 (grub_pci_write_word): Likewise.
15155 (grub_pci_write_byte): Likewise.
15156
15157 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15158
15159 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
15160 can still be specified in TARGET_CFLAGS)
15161
15162 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15163
15164 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
15165
15166 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
15167 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
15168 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
15169 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
15170 (FULOONG): Rename to ...
15171 (FULOONG2F): ... this. All users updated.
15172 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
15173 (machtype_fuloong2f_str): ... this.
15174 (machtype_fuloong2e_str): New string.
15175 Check for machtype_fuloong2e_str.
15176 * grub-core/loader/mips/linux.c (loongson_machtypes)
15177 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
15178 * grub-core/term/serial.c (loongson_defserial)
15179 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
15180 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
15181 loongson_defserial.
15182 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
15183 Rename to ...
15184 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
15185 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
15186 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
15187 to IMAGE_FULOONG2F_FLASH. All users updated.
15188 (image_targets): Rename images.
15189 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
15190
15191 2011-08-19 Szymon Janc <szymon@janc.net.pl>
15192
15193 Make enable of disk cache statistics code configurable.
15194
15195 * configure.ac: --enable-cache-stats added.
15196 * config.h.in (DISK_CACHE_STATS): New define.
15197 * grub-core/Makefile.core.def (cacheinfo): New command.
15198 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
15199 * grub-core/commands/cacheinfo.c: New file.
15200 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
15201 moved to cacheinfo.c.
15202 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
15203 debug code.
15204 * include/grub/disk.h: Likewise.
15205
15206 2011-08-19 Szymon Janc <szymon@janc.net.pl>
15207
15208 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
15209 * grub-core/Makefile.am: Likewise.
15210
15211 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15212
15213 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
15214 non-zero pull.
15215
15216 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15217
15218 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
15219 All users updated.
15220 (grub_jfs_lookup_symlink): Use correct starting inode.
15221
15222 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15223
15224 * util/grub-setup.c (main): Add missing gcry initialisation.
15225
15226 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15227
15228 Don't accept text modes on EFI when booting Linux.
15229
15230 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
15231 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
15232
15233 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
15234 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
15235
15236 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
15237 use of "/path/.." as in grub-install for EFI as well as handling
15238 symlinks correctly.
15239 Fixes Debian bug #637768.
15240
15241 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
15242
15243 * util/grub-probe.c: Remove duplicate #include.
15244
15245 2011-08-10 Robert Millan <rmh@gnu.org>
15246
15247 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
15248
15249 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
15250 function.
15251 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
15252 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
15253
15254 2011-08-03 Robert Millan <rmh@gnu.org>
15255
15256 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
15257 la_array as packed.
15258 Reported by: Zachary Bedell
15259
15260 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
15261
15262 * configure.ac: The Loongson port requires grub-mkfont due to its
15263 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
15264 be built.
15265
15266 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
15267
15268 * util/grub-install.in: Don't source grub-mkconfig_lib until after
15269 processing arguments (otherwise help2man fails when GRUB has not yet
15270 been installed).
15271
15272 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15273
15274 New script grub-mkstandalone.
15275
15276 * Makefile.util.def (grub-mkstandalone): New script.
15277 * docs/man/grub-mkstandalone.h2m: New file.
15278 * util/grub-mkstandalone.in: Likewise.
15279
15280 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15281
15282 Support ATA disks with 4K sectors.
15283
15284 * include/grub/ata.h (grub_ata): New member log_sector_size.
15285 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
15286 (grub_ata_identify): Read sector size.
15287 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
15288
15289 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15290
15291 * util/grub-install.in: Don't use uhci outside of x86.
15292
15293 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15294
15295 * util/grub-mkrescue.in: Add missing quotes.
15296
15297 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15298
15299 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
15300 dereference.
15301
15302 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15303
15304 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
15305
15306 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15307
15308 * include/grub/video.h: add missing EXPORT_FUND on
15309 grub_video_edid_checksum and grub_video_edid_preferred_mode.
15310
15311 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15312
15313 * include/grub/mips/kernel.h: Fix define conflict.
15314
15315 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15316
15317 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
15318 all four ways.
15319
15320 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
15321
15322 Preferred resolution detection for VBE.
15323
15324 * grub-core/video/video.c (grub_video_edid_checksum): New function.
15325 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
15326 the Flat Panel extension, in line with the X.org VESA driver.
15327 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
15328 New function.
15329 (grub_vbe_bios_get_ddc_capabilities): Likewise.
15330 (grub_vbe_bios_read_edid): Likewise.
15331 (grub_vbe_get_preferred_mode): Likewise.
15332 (grub_video_vbe_setup): When the mode is "auto", try to get the
15333 preferred mode from VBE, and use the largest mode that is no larger
15334 than the preferred mode (some BIOSes expose a preferred mode that is
15335 not in their mode list!). If this fails, fall back to 640x480 as a
15336 safe conservative choice.
15337 (grub_video_vbe_get_edid): New function.
15338 (grub_video_vbe_adapter): Add get_edid.
15339 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
15340 (struct grub_video_adapter): Add get_edid.
15341 (grub_video_edid_checksum): Add prototype.
15342 (grub_video_edid_preferred_mode): Likewise.
15343 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
15344 structure.
15345
15346 * grub-core/commands/videoinfo.c (print_edid): New function.
15347 (grub_cmd_videoinfo): Print EDID if available.
15348
15349 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
15350 is more appropriate on a wider range of platforms than 640x480.
15351 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
15352 documentation.
15353
15354 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15355
15356 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
15357
15358 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15359
15360 * po/POTFILES.in: Regenerate.
15361
15362 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15363
15364 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
15365 incorrect memory usage.
15366
15367 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15368
15369 * util/grub-install.in: Source grub-mkconfig_lib.
15370
15371 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
15372
15373 Remove getroot.c from core on emu platform.
15374
15375 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
15376 kern/emu/raid.c.
15377 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
15378 useless.
15379 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
15380 * util/getroot.c (get_win32_path): ... here.
15381 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
15382 * util/getroot.c (fini_libzfs): ... here.
15383 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
15384 * util/getroot.c (grub_get_libzfs_handle): ... here.
15385 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
15386 Moved from here...
15387 * util/getroot.c (grub_find_zpool_from_dir): ... here.
15388 * grub-core/kern/emu/misc.c
15389 (grub_make_system_path_relative_to_its_root): Moved from here...
15390 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
15391 * grub-core/kern/emu/getroot.c: Moved from here ...
15392 * util/getroot.c: ... here. All users updated.
15393 * grub-core/kern/emu/raid.c: Moved from here ...
15394 * util/raid.c: ... here. All users updated.
15395
15396 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
15397
15398 * po/POTFILES.in: Regenerate.
15399
15400 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
15401
15402 Fix compilation on GNU/Linux.
15403
15404 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
15405 Disable geli.
15406 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
15407 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
15408 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
15409
15410 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
15411 2011-07-07 Michael Gorven <michael@gorven.za.net>
15412 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
15413
15414 LUKS and GELI support.
15415
15416 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
15417 grub-core/disk/luks.c, grub-core/disk/geli.c,
15418 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
15419 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
15420 grub-core/lib/arg.c.
15421 (libgrubmods.a): Remove gcrypts cflags and cppflags.
15422 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
15423 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
15424 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
15425 (grub-bin2h): Add libgcry.a.
15426 (grub-mkimage): Likewise.
15427 (grub-mkrelpath): Likewise.
15428 (grub-script-check): Likewise.
15429 (grub-editenv): Likewise.
15430 (grub-mkpasswd-pbkdf2): Likewise.
15431 (grub-pe2elf): Likewise.
15432 (grub-fstest): Likewise.
15433 (grub-mkfont): Likewise.
15434 (grub-mkdevicemap): Likewise.
15435 (grub-probe): Likewise.
15436 (grub-ofpath): Likewise.
15437 (grub-mklayout): Likewise.
15438 (example_unit_test): Likewise.
15439 (grub-menulst2cfg): Likewise.
15440 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
15441 * grub-core/Makefile.core.def (cryptodisk): New module.
15442 (luks): Likewise.
15443 (geli): Likewise.
15444 * grub-core/disk/AFSplitter.c: New file.
15445 * grub-core/disk/cryptodisk.c: Likewise.
15446 * grub-core/disk/geli.c: Likewise.
15447 * grub-core/disk/luks.c: Likewise.
15448 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
15449 grub_util_is_lvm.
15450 (grub_util_get_dm_abstraction): New function.
15451 (grub_util_follow_gpart_up): Likewise.
15452 (grub_util_get_geom_abstraction): Likewise.
15453 (grub_util_get_dev_abstraction): Use new functions.
15454 (grub_util_pull_device): Pull GELI and LUKS.
15455 (grub_util_get_grub_dev): Handle LUKS and GELI.
15456 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
15457 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
15458 (follow_geom_up): Removed.
15459 (grub_util_fd_seek): New function.
15460 (open_device): Use grub_util_fd_seek.
15461 (nread): Rename to ..
15462 (grub_util_fd_read): ... this. All users updated.
15463 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
15464 (grub_crypto_cbc_decrypt): Likewise.
15465 (grub_crypto_hmac_write): Likewise.
15466 (grub_crypto_hmac_buffer): Likewise.
15467 (grub_password_get): Extend to util.
15468 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
15469 New member modname.
15470 (gcry_md_spec) [GRUB_UTIL]: Likewise.
15471 * include/grub/cryptodisk.h: New file.
15472 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
15473 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
15474 LUKS and GELI.
15475 (grub_util_follow_gpart_up): New proto.
15476 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
15477 (grub_util_fd_read): Likewise.
15478 (grub_cryptodisk_cheat_mount): Likewise.
15479 (grub_util_cryptodisk_print_uuid): Likewise.
15480 (grub_util_get_fd_sectors): Likewise.
15481 * util/grub-fstest.c (mount_crypt): New var.
15482 (fstest): Mount crypto if requested.
15483 (options): New option -C.
15484 (argp_parser): Parse -C.
15485 (main): Init and fini gcry.
15486 * util/grub-install.in: Support cryptodisk install.
15487 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
15488 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
15489 cryptodisk.
15490 (prepare_grub_to_access_device): Likewise.
15491 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
15492 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
15493 (probe_cryptodisk_uuid): New function.
15494 (probe_abstraction): Likewise.
15495 (probe): Use new functions.
15496 * util/import_gcry.py: Create Makefile.utilgcry.def.
15497 Add modname member.
15498
15499 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
15500
15501 Lazy device scanning.
15502
15503 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
15504 (grub-setup): Remove util/raid.c.
15505 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
15506 * grub-core/disk/lvm.c (scan_depth): New variable.
15507 (grub_lvm_iterate): Rescan if necessary.
15508 (find_lv): New function based on grub_lvm_open.
15509 (grub_lvm_open): Use find_lv. Rescan on error.
15510 (is_node_readable): New function.
15511 (is_lv_readable): Likewise.
15512 (grub_lvm_scan_device): Skip already found disks.
15513 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
15514 Stop if searched device is found and readable.
15515 * grub-core/disk/raid.c (inscnt): New variable.
15516 (scan_depth): Likewise.
15517 (scan_devices): New function based on grub_raid_register. Abort if
15518 looked for device is found.
15519 (grub_raid_iterate): Rescan if needed.
15520 (find_array): NEw function based on -grub_raid_open.
15521 (grub_raid_open): Use find_array and rescan.
15522 (insert_array): Set became_readable_at.
15523 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
15524 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
15525 New function.
15526 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
15527 (grub_util_pull_device): New function.
15528 (grub_util_get_grub_dev): Call grub_util_pull_device.
15529 * util/raid.c: Moved to ..
15530 * grub-core/kern/emu/raid.c: ... here.
15531 (grub_util_raid_getmembers): New parameter "bootable".
15532 All users updated. Support 1.x.
15533 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
15534 All users updated.
15535 * include/grub/disk.h (grub_disk_pull_t): New enum.
15536 (grub_disk_dev): Change iterate prototype.
15537 All users updated.
15538 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
15539 New proto.
15540 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
15541 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
15542 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
15543 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
15544 All users updated.
15545 * include/grub/util/raid.h: Removed.
15546
15547 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
15548
15549 * po/POTFILES.in: Regenerate.
15550
15551 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
15552
15553 Unify sparc init with other ieee1275.
15554
15555 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
15556 instead of kern/sparc64/ieee1275/init.c.
15557 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
15558 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
15559 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
15560 grub/machine/kernel.h.
15561 (grub_ieee1275_original_stack) [__sparc__]: New variable.
15562 (grub_claim_heap) [__sparc__]: Use sparc version.
15563 (grub_machine_init): Moved args parsing to
15564 (grub_parse_cmdline): ...this.
15565 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
15566 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
15567 New definition.
15568 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
15569
15570 Move BOOTP to separate file.
15571
15572 * grub-core/Makefile.core.def (net): Add net/bootp.c.
15573 * grub-core/net/net.c: Move all BOOTP functions to
15574 * grub-core/net/bootp.c: ... here.
15575
15576 Use frame interface on PXE.
15577
15578 * grub-core/Makefile.core.def (pxecmd): Removed.
15579 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
15580 * grub-core/commands/i386/pc/pxecmd.c: Removed.
15581 * grub-core/i386/pc/pxe.c: Moved from here ...
15582 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
15583 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
15584 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
15585
15586 EFI network support.
15587
15588 * grub-core/Makefile.core.def (efinet): New module.
15589 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
15590 here...
15591 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
15592 All users updated.
15593 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
15594 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
15595 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
15596 * grub-core/net/drivers/efi/efinet.c: New file.
15597 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
15598 (grub_efi_net_config): New extern var.
15599
15600 Various cleanups and bugfixes.
15601
15602 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
15603 error.
15604 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
15605 disk declared as partition.
15606 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
15607 leak on failure.
15608 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
15609 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
15610 (grub_debug_zalloc): Likewise.
15611 (grub_debug_realloc): Likewise.
15612 (grub_debug_memalign): Likewise.
15613 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
15614 Check that target is IPv4.
15615 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
15616 local-mac-address as fallback.
15617 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
15618 memory leak.
15619 * grub-core/net/ip.c (ipchksum): Rename to ...
15620 (grub_net_ip_chksum): ... this. All users updated.
15621 (grub_net_recv_ip_packets): Special handling for DHCP.
15622 * util/grub-mkimage.c (generate_image): Zero-out aout header.
15623
15624 Unify prefix handling
15625
15626 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
15627 (grub_machine_get_bootlocation): ... this.
15628 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
15629 (grub_machine_get_bootlocation): ... this.
15630 (grub_prefix): New variable.
15631 (prefix): Removed.
15632 (root_dev): New variable.
15633 (dir): Likewise.
15634 (main): Use new variables.
15635 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
15636 Revamped into ...
15637 (grub_machine_get_bootlocation): ... this.
15638 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
15639 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
15640 (grub_machine_get_bootlocation): ... this.
15641 (grub_machine_set_prefix): Removed.
15642 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
15643 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
15644 Revamped into ...
15645 (grub_machine_get_bootlocation): ... this.
15646 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
15647 (grub_set_prefix_and_root): ... this. All users updated.
15648 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
15649 Revamped into ...
15650 (grub_machine_get_bootlocation): ... this.
15651 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
15652 (grub_machine_get_bootlocation): New proto.
15653 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
15654
15655 Less intrusive and more reliable seek on network implementation.
15656
15657 * grub-core/kern/file.c (grub_file_net_seek): Removed.
15658 (grub_file_seek): Don't call grub_file_net_seek.
15659 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
15660 (grub_net_fs_read_real): .. this.
15661 (grub_net_seek_real): Use net->offset.
15662 (grub_net_fs_read): Seek if necessary.
15663
15664 Unify IEEE1275 netwotk config with the other platforms.
15665
15666 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
15667 New variable.
15668 (grub_machine_get_bootlocation): Support network.
15669 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
15670 Support type and device parsing.
15671 (grub_ieee1275_get_device_type): New function.
15672 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
15673 into ...
15674 (grub_ieee1275_net_config_real): ... this.
15675 (grub_ofnet_probecards): Removed.
15676 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
15677 * include/grub/ieee1275/ofnet.h: Removed.
15678 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
15679 extern var.
15680 (grub_ieee1275_get_device_type): New function.
15681
15682 Unify network device closing across platforms and make more robust.
15683
15684 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
15685 grub_grubnet_fini.
15686 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
15687 already.
15688 * grub-core/net/net.c (grub_net_network_level_interface_register):
15689 Update num_ifaces.
15690 (grub_net_card_unregister): Close all interfaces.
15691 (receive_packets): Don't poll if no iterfaces are registered.
15692 Open if necessary.
15693 (grub_net_fini_hw): New function.
15694 (grub_net_restore_hw): Likewise.
15695 (fini_hnd): New variable.
15696 (GRUB_MOD_INIT): Register preboot hook.
15697 (GRUB_MOD_FINI): Run and unregister preboot hook.
15698
15699 Poll network cards when idle.
15700
15701 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
15702 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
15703 * grub-core/net/net.c (receive_packets): Save last poll time.
15704 (grub_net_poll_cards_idle_real): New function.
15705 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
15706 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
15707 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
15708
15709 Rename ofnet interfaces.
15710
15711 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
15712 (grub_ofnet_findcards): Use ofnet_%s names.
15713
15714 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
15715
15716 Cleanup socket opening.
15717
15718 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
15719 (grub_net_fs_close): Likewise.
15720 (grub_net_fs_read_real): Use eof member.
15721 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
15722 (+grub_net_udp_close): New inline function.
15723
15724 * include/grub/net/tftp.h: Moved to the top of ...
15725 * grub-core/net/tftp.c: ... here.
15726 * include/grub/net/ip.h: Moved mostly to the top of ...
15727 * grub-core/net/ip.c: ... here.
15728 * include/grub/net/ethernet.h: Moved mostly to the top of ...
15729 * grub-core/net/ethernet.c: ... here.
15730
15731 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
15732
15733 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
15734 FS name.
15735
15736 * include/grub/net/ip.h (ipv4_ini): Removed.
15737 (ipv4_fini): Likewise.
15738
15739 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
15740 (grub_net_send_ip_packets): Likewise.
15741
15742 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15743
15744 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
15745 grub_read_cmos prototype.
15746
15747 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15748
15749 VGA text support in qemu-mips
15750
15751 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
15752 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
15753 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
15754 text.
15755 * grub-core/kern/i386/qemu/init.c: Renamed to ...
15756 * grub-core/kern/vga_init.c: ... this.
15757 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
15758 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
15759 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
15760 Adjust.
15761 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
15762 GRUB_MACHINE_PCI_IO_BASE.
15763
15764 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15765
15766 MIPS qemu flash support.
15767
15768 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
15769 magic.
15770 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
15771 (grub_machine_init): Probe memory if its size isn't known.
15772 * util/grub-mkimage.c (image_targets): Add flash targets.
15773 (generate_image): Handle flash targets.
15774
15775 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15776
15777 MIPS qemu at_keyboard support.
15778
15779 * gentpl.py (videoinkernel): Add qemu-mips.
15780 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
15781 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
15782 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
15783 modules.
15784 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
15785 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
15786 * grub-core/term/serial.c (grub_serial_register)
15787 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
15788
15789 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15790
15791 CMOS support on sparc.
15792
15793 * gentpl.py (cmos): Add powerpc and sparc.
15794 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
15795 powerpc and sparc.
15796 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
15797 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
15798 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
15799 grub_set_datetime_cmos.
15800 * grub-core/lib/ieee1275/cmos.c: New file.
15801 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
15802 (find_rtc): Set no_ieee1275_rtc on error.
15803 (grub_get_datetime): Call grub_get_datetime_cmos on error.
15804 (grub_set_datetime): Call grub_set_datetime_cmos on error.
15805 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
15806 fail. Move value to argument. All users updated
15807 (grub_cmos_write): Likewise.
15808 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
15809 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
15810 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
15811 grub_get_datetime_cmos and grub_set_datetime_cmos.
15812
15813 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
15814
15815 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
15816 sourcing grub-mkconfig_lib.
15817 * util/update-grub_lib.in: Likewise.
15818 * util/grub.d/00_header.in: Likewise.
15819 * util/grub.d/10_hurd.in: Likewise.
15820 * util/grub.d/10_kfreebsd.in: Likewise.
15821 * util/grub.d/10_linux.in: Likewise.
15822 * util/grub.d/10_netbsd.in: Likewise.
15823 * util/grub.d/10_windows.in: Likewise.
15824 * util/grub.d/20_linux_xen.in: Likewise.
15825 * util/grub.d/30_os-prober.in: Likewise.
15826
15827 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
15828
15829 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
15830 default_bg_color rather than black.
15831 (grub_gfxterm_fullscreen): Likewise.
15832 (grub_gfxterm_background_color_cmd): Save new background color in
15833 default_bg_color.
15834
15835 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15836
15837 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
15838
15839 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15840
15841 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
15842 mismerge.
15843
15844 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15845
15846 Chainloading on coreboot support.
15847
15848 * grub-core/Makefile.core.def (chain): Add coreboot.
15849 * grub-core/loader/i386/coreboot/chainloader.c: New file.
15850
15851 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15852
15853 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
15854 if it happens.
15855
15856 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15857
15858 Implement time command.
15859
15860 * grub-core/Makefile.core.def (time): New module.
15861 * grub-core/commands/time.c: New file.
15862 * grub-core/script/parser.y: Remove "time" keyword.
15863 * grub-core/script/yylex.l: Likewise.
15864
15865 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15866
15867 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
15868
15869 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15870
15871 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
15872 when handling leftovers.
15873
15874 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15875
15876 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
15877 so that help2man doesn't fail.
15878
15879 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15880
15881 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
15882 type in pointers on sparc64.
15883 (get_card_packet): Likewise.
15884
15885 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
15886
15887 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
15888 with `*'.
15889 (grub_cmd_videoinfo): Fetch current video mode.
15890
15891 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15892
15893 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
15894 because of underlying system restrictions.
15895
15896 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15897
15898 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
15899 necessary.
15900
15901 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15902
15903 Coreboot video support.
15904
15905 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
15906 (vbe): Likewise.
15907 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
15908 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
15909 here ...
15910 * grub-core/kern/i386/int.S: ... here.
15911 * grub-core/video/i386/pc/vbe.c: Updated includes.
15912 * grub-core/video/i386/pc/vga.c: Likewise.
15913 * include/grub/i386/coreboot/memory.h
15914 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
15915 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
15916 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
15917 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
15918 Disable interrupts.
15919 * include/grub/i386/pc/vga.h: Removed. All users updated.
15920
15921 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15922
15923 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
15924 definitions for dprintf.
15925 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
15926
15927 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15928
15929 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
15930 prototype.
15931 (get_card_packet): Likewise.
15932
15933 2011-06-26 Yves Blusseau <blusseau@zetam.org>
15934
15935 Display the path of the file when file is not found
15936
15937 * grub-core/fs/fat.c: Display the filename when file is not found.
15938 * grub-core/fs/fshelp.c: Likewise.
15939 * grub-core/fs/hfs.c: Likewise.
15940 * grub-core/fs/jfs.c: Likewise.
15941 * grub-core/fs/minix.c: Likewise.
15942 * grub-core/fs/ufs.c: Likewise.
15943 * grub-core/fs/btrfs.c: Likewise.
15944 * grub-core/commands/i386/pc/play.c: Likewise.
15945
15946 2011-06-26 Szymon Janc <szymon@janc.net.pl>
15947
15948 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
15949 pointer checks before calling grub_free().
15950 * grub-core/commands/wildcard.c (match_devices): Likewise.
15951 * grub-core/commands/wildcard.c (match_files): Likewise.
15952 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
15953 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
15954 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
15955 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
15956 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
15957 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
15958 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
15959 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
15960 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
15961
15962 2011-06-25 Patrick <p55@mailinator.com>
15963
15964 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
15965
15966 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
15967
15968 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
15969 (grub_pxe_send): Likewise.
15970 (GRUB_MOD_INIT): Fix types.
15971
15972 2011-06-24 Szymon Janc <szymon@janc.net.pl>
15973
15974 * grub-core/io/xzio.c: Fix code style issues
15975
15976 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15977 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
15978
15979 Network infrastructure.
15980 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
15981
15982 * include/grub/net/arp.h: New file.
15983 * include/grub/net/device.h: Likewise.
15984 * include/grub/net/ethernet.h: Likewise.
15985 * include/grub/net/ip.h: Likewise.
15986 * include/grub/net/netbuff.h: Likewise.
15987 * include/grub/net/tftp.h: Likewise.
15988 * include/grub/net/udp.h: Likewise.
15989 * include/grub/ieee1275/ofnet.h: Likewise.
15990 * include/grub/emu/export.h: Likewise.
15991 * include/grub/net.h: Likewise.
15992 * grub-core/net/arp.c: Likewise.
15993 * grub-core/net/ethernet.c: Likewise.
15994 * grub-core/net/ip.c: Likewise.
15995 * grub-core/net/udp.c: Likewise.
15996 * grub-core/net/tftp.c: Likewise.
15997 * grub-core/net/netbuff.c: Likewise.
15998 * grub-core/net/net.c: Likewise.
15999 * grub-core/net/drivers/emu/emunet.c: Likewise.
16000 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
16001 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
16002 export.h.
16003 * grub-core/Makefile.core.def (net): New module.
16004 (tftp): Likewise.
16005 (ofnet): Likewise.
16006 (emunet): Likewise.
16007 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
16008 network protocols.
16009 * grub-core/kern/device.c (grub_net_open) : New variable.
16010 (grub_device_open): Handle network device.
16011 (grub_device_close): Likewise.
16012 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
16013 (grub_grubnet_fini): Likewise.
16014 (grub_file_seek): Seek in network device.
16015 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
16016 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
16017 network root.
16018 (grub_machine_fini): Call grub_grubnet_fini.
16019 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
16020 network.
16021 (grub_ieee1275_get_aliasdevname): New function.
16022 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16023 Add unofficial Solaris network info.
16024 (grub_multiboot_make_mbi): Likewise.
16025 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
16026 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
16027 * include/grub/device.h (grub_fs): Removed.
16028 * include/grub/err.h (grub_err_t): Add network-related values.
16029 * include/grub/i386/pc/pxe.h: Removed bootp parts.
16030 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
16031 (grub_ieee1275_get_aliasdevname): New proto.
16032 * include/grub/net.h: Rewritten.
16033
16034 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16035
16036 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
16037 names.
16038
16039 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16040
16041 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
16042 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
16043 it truncates the output.
16044 Reported by: Ximin Luo.
16045
16046 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16047
16048 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
16049
16050 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16051
16052 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
16053 partmap before abstraction.
16054
16055 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
16056
16057 * util/grub-mkconfig_lib.in: Add missing quotes.
16058
16059 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16060
16061 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
16062 old method if mountinfo would return /dev/root and /dev/root doesn't
16063 exist.
16064
16065 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16066
16067 ZFS zlib support
16068
16069 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
16070 (decomp_table): Add zlib entries.
16071 (zio_read): USe 8 bits for compression function rather than 3.
16072 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
16073
16074 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16075
16076 * grub-core/disk/ahci.c: Add missing license statements.
16077 * grub-core/fs/romfs.c: Likewise.
16078 * grub-core/lib/ia64/setjmp.S: Likewise.
16079 * grub-core/loader/i386/pc/freedos.c: Likewise.
16080 * grub-core/loader/ia64/efi/linux.c: Likewise.
16081 * grub-core/video/colors.c: Likewise.
16082 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
16083
16084 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16085
16086 AHCI support.
16087
16088 * grub-core/Makefile.core.def (ata_pthru): Removed.
16089 (ahci): New module.
16090 (pata): Likewise.
16091 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
16092 on unload.
16093 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
16094 readwrite.
16095 (grub_hdparm_do_check_powermode_cmd): Likewise.
16096 (grub_hdparm_do_smart_cmd): Likewise.
16097 (grub_hdparm_set_val_cmd): Likewise.
16098 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
16099 * grub-core/disk/ahci.c: New file.
16100 * grub-core/disk/ata.c: Factor out the low-level part into ...
16101 * grub-core/disk/pata.c: ... here.
16102 * grub-core/disk/ata_pthru.c: Contents moved to ...
16103 * grub-core/disk/pata.c: ... here.
16104 * grub-core/disk/scsi.c (grub_scsi_names): New array.
16105 (grub_scsi_iterate): Use grub_scsi_names.
16106 (grub_scsi_open): Likewise.
16107 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
16108 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
16109 (grub_ata_regs_t): New struct.
16110 (grub_disk_ata_pass_through_parms): Likewise.
16111 (grub_ata_device): Renamed to ...
16112 (grub_ata): ... this.
16113 (grub_ata_dev): New struct.
16114 Removed all low-level inline functions.
16115 * include/grub/scsi.h: Add PATA and AHCI subsystems.
16116 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
16117 iterate hooks and open. All users updated.
16118 * util/grub-install.in: Handle AHCI disk module.
16119
16120 2011-06-23 Szymon Janc <szymon@janc.net.pl>
16121
16122 Add support for DRI and RSTn markers in JPEG files.
16123
16124 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
16125 (JPEG_MARKER_RST0): Likewise.
16126 (JPEG_MARKER_RST1): Likewise.
16127 (JPEG_MARKER_RST2): Likewise.
16128 (JPEG_MARKER_RST3): Likewise.
16129 (JPEG_MARKER_RST4): Likewise.
16130 (JPEG_MARKER_RST5): Likewise.
16131 (JPEG_MARKER_RST6): Likewise.
16132 (JPEG_MARKER_RST7): Likewise.
16133 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
16134 (grub_jpeg_decode_dri): New function.
16135 (grub_jpeg_decode_sos): Move image data related part into
16136 grub_jpeg_decode_data function.
16137 (grub_jpeg_decode_data): New function.
16138 (grub_jpeg_reset): New function.
16139 (grub_jpeg_decode_jpeg): Handle new markers.
16140
16141 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16142
16143 * util/ieee1275/ofpath.c (check_sas): Close fd.
16144 (main): Free of_path.
16145 Reported by: David Volgyes <dvolgyes>.
16146
16147 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16148
16149 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
16150 Reported by: David Volgyes <dvolgyes>.
16151
16152 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16153
16154 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
16155 file after stat.
16156 Reported by: David Volgyes <dvolgyes>.
16157
16158 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16159
16160 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
16161
16162 Reported by: David Volgyes <dvolgyes>.
16163
16164 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16165
16166 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
16167 Prevent memory leak.
16168
16169 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16170
16171 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
16172 (main): Close file.
16173 Reported by: David Volgyes <dvolgyes>.
16174
16175 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16176
16177 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
16178 to continue if allocation is failed.
16179
16180 Reported by: David Volgyes <dvolgyes>.
16181
16182 2011-06-23 David Volgyes <dvolgyes>
16183
16184 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
16185 dereference.
16186
16187 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16188
16189 Fix spurious warning.
16190
16191 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
16192 (acorn_partition_map_find): Use .bin member.
16193
16194 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16195
16196 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
16197 /dev/root as a valid device.
16198
16199 2011-06-23 Jim Meyering <meyering@redhat.com>
16200
16201 Avoid NULL deref in grub_device_open.
16202
16203 * grub-core/kern/device.c (grub_device_open): Don't dereference
16204 a NULL pointer upon failed grub_env_get.
16205
16206 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16207
16208 Support non-512B sectors and agglomerate reads.
16209
16210 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
16211 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
16212 (disk_io_guid): Removed.
16213 (make_devices): Locate solely by BlockIO.
16214 (grub_efidisk_open): Fill log_sector_size and total_sectors.
16215 (grub_efidisk_read): Use read_blocks.
16216 (grub_efidisk_write): Use write_blocks.
16217 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
16218 log_sector_size.
16219 (get_safe_sectors): Handle non-512B sectors.
16220 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
16221 sectors.
16222 (grub_biosdisk_write): Handle non-512B sectors.
16223 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
16224 (grub_scsi_read): Remove special non-512B block handling (now handled
16225 one level up).
16226 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
16227 and do sanity checks.
16228 (grub_disk_adjust_range): Handle non-512B sectors.
16229 (transform_sector): New function.
16230 (grub_disk_read_small): Likewise.
16231 (grub_disk_read): Rewritten.
16232 (grub_disk_write): Handle non-512B sectors.
16233 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
16234 log_sector_size.
16235 (open_device): Use log_sector_size.
16236 (grub_util_biosdisk_read): Likewise.
16237 (grub_util_biosdisk_write): Likewise.
16238 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
16239 non-512B sectors.
16240 (pc_partition_map_embed): Likewise.
16241 * include/grub/disk.h (grub_disk): New field log_sector_size.
16242 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
16243 (GRUB_DISK_CACHE_BITS): Increased to 6.
16244 * util/grub-fstest.c (fstest): New command testload.
16245 (argp_parser): Likewise.
16246
16247 2011-06-16 Robert Millan <rmh@gnu.org>
16248
16249 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
16250 `ata' driver on kernel of FreeBSD 9.
16251
16252 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
16253 (get_ataraid_disk_name): New functions.
16254 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
16255 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
16256 get_ataraid_disk_name() and get_ada_disk_name().
16257
16258 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
16259
16260 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
16261 input format.
16262
16263 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
16264
16265 * docs/grub.texi (Obtaining and Building GRUB): Substitute
16266 `ftp.gnu.org' for `alpha.gnu.org'.
16267
16268 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
16269
16270 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
16271 partitions under /dev/disk/by-id/.
16272
16273 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
16274
16275 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
16276 after ten consecutive open failures. Scanning all the way up to
16277 10000 is excessive and can cause serious performance problems in
16278 some configurations.
16279 Fixes Ubuntu bug #787461.
16280
16281 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16282
16283 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
16284 opening new one.
16285
16286 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
16287 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16288
16289 Don't stat devices unless we have to.
16290
16291 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
16292 dir == /dev/mapper.
16293 (grub_guess_root_device): Use already known os_dev if possible.
16294 * grub-core/kern/emu/hostdisk.c
16295 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
16296 if device is known to be a dm one.
16297
16298 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
16299
16300 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
16301 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
16302 Reported by: Pawel Tecza.
16303
16304 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
16305
16306 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
16307 (lsefisystab): Likewise.
16308 (lssal): Likewise.
16309 (lsefimmap): Likewise.
16310 (hdparm): Enable on qemu-mips.
16311 (setjmp): Add ia64 nodist.
16312 (serial): Simplify tags.
16313
16314 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
16315
16316 * Makefile.util.def (grub-ofpathname): Install manual page.
16317
16318 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
16319
16320 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
16321
16322 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
16323
16324 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
16325
16326 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16327
16328 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
16329 into dprintf.
16330
16331 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16332
16333 Use full 64-bit division.
16334
16335 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
16336 (grub_divmod64): ... this.
16337 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
16338 version.
16339
16340 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
16341
16342 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
16343 `source'.
16344
16345 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
16346
16347 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
16348 to avoid accidents when debugging with 'sh -x'.
16349 * grub-core/gensyminfo.sh.in: Likewise.
16350 * tests/example_scripted_test.in: Likewise.
16351 * tests/grub_cmd_regexp.in: Likewise.
16352 * tests/grub_script_blanklines.in: Likewise.
16353 * tests/grub_script_dollar.in: Likewise.
16354 * tests/grub_script_expansion.in: Likewise.
16355 * tests/grub_script_final_semicolon.in: Likewise.
16356 * tests/partmap_test.in: Likewise.
16357 * tests/util/grub-shell-tester.in: Likewise.
16358 * tests/util/grub-shell.in: Likewise.
16359
16360 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
16361
16362 Move gfxmenu color handling to video, so that gfxterm can use it
16363 too.
16364
16365 * grub-core/gfxmenu/named_colors.c: Move to ...
16366 * grub-core/video/colors.c: ... here. Rename
16367 grub_gui_get_named_color to grub_video_get_named_color.
16368 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
16369 * grub-core/video/colors.c (my_isxdigit): ... here.
16370 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
16371 Move to ...
16372 * grub-core/video/colors.c (parse_hex_color_component): ... here.
16373 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
16374 to ...
16375 * grub-core/video/colors.c (grub_video_parse_color): ... here.
16376
16377 * include/grub/gui.h (grub_gui_color_t): Move to ...
16378 * include/grub/video.h (grub_video_rgba_color_t): ... here.
16379 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
16380 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
16381 * include/grub/gui.h (grub_gui_map_color): Move to ...
16382 * include/grub/video.h (grub_video_map_rgba_color): ... here.
16383 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
16384 to ...
16385 * include/grub/video.h (grub_video_get_named_color): ... here.
16386 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
16387 * include/grub/video.h (grub_video_parse_color): ... here.
16388
16389 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
16390 video/colors.c.
16391 (gfxmenu): Remove gfxmenu/named_colors.c.
16392 (video) [videomodules]: Add video/colors.c.
16393
16394 Add a background_color command.
16395
16396 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
16397 function.
16398 (GRUB_MOD_INIT): Register background_color command.
16399 (GRUB_MOD_FINI): Unregister background_color command.
16400 (redraw_screen_rect): Allow blend/replace of text layer to be
16401 controlled independently from whether there is a background bitmap.
16402 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
16403 changing bitmap.
16404
16405 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16406
16407 Patch BPB in ntldr and chainloader --bpb.
16408
16409 * grub-core/fs/fat.c: Include grub/fat.h.
16410 (grub_fat_bpb): Moved to ...
16411 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
16412 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
16413 grub/ntfs.h.
16414 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
16415 Moved from here...
16416 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
16417 here.
16418 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
16419 New function.
16420 (grub_chainloader_cmd): Patch BPB if --bpb is given.
16421 (GRUB_MOD_INIT): Show --bpb.
16422 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
16423 * grub-core/normal/main.c (features): New variable.
16424 (GRUB_MOD_INIT): Set feature_* variables.
16425 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
16426 proto.
16427 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
16428
16429 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16430
16431 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
16432 for cleanness.
16433
16434 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16435
16436 FreeDOS direct loading support.
16437
16438 * docs/grub.texi (Supported OS): Add FreeDOS.
16439 * grub-core/Makefile.core.def (freedos): New module.
16440 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
16441 variable.
16442 (grub_relocator16_boot): Handle %ebx.
16443 * grub-core/lib/i386/relocator16.S: Likewise.
16444 * grub-core/loader/i386/pc/freedos.c: New file.
16445
16446 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16447
16448 Long Linux command line support.
16449
16450 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
16451 (maximal_cmdline_size): New variable.
16452 (allocate_pages): Use maximal_cmdline_size.
16453 (grub_cmd_linux): Set and use maximal_cmdline_size.
16454 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
16455 (allocate_pages): Use maximal_cmdline_size.
16456 (grub_cmd_linux): Set and use maximal_cmdline_size.
16457 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
16458 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
16459 and cmdline_size.
16460
16461 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16462 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
16463
16464 Improve devmapper support
16465
16466 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
16467 (grub_util_is_lvm): New function.
16468 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
16469 than lvm if not dmraid.
16470 Handle mapped md nodes.
16471 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
16472 (grub_util_device_is_mapped): ... this. Make always available. All users
16473 updated.
16474 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
16475 (convert_system_partition_to_system_disk): Handle lvm, mpath and
16476 dmraid nodes.
16477 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
16478
16479 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16480
16481 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
16482
16483 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
16484 * grub-core/modinfo.sh.in: New file.
16485 * grub-core/Makefile.core.def (modinfo.sh): New script.
16486 * util/grub-mknetdir.in: Use modinfo.sh.
16487 * util/grub-mkrescue.in: Likewise.
16488
16489 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16490
16491 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
16492 Fix potential usage of Elf32 instead of Elf64 when compiling on
16493 32-bit architecture. Add endianness macros while on it.
16494
16495 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16496
16497 Use mipsel- rather than mips- in directories involving mipsel ports to
16498 allow both endiannesses coexist.
16499
16500 * configure.ac: proparate target_cpu=mipsel rather than resetting to
16501 mips. All conditions adjusted.
16502 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
16503 variable.
16504 * util/grub-install.in: Adjust conditions to take renaming into account.
16505 * util/grub-mkimage.c (image_targets): Likewise. New target
16506 mips-qemu_mips-elf for bigendian mips.
16507
16508 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16509
16510 Avoid unnecessary copying on MIPS.
16511
16512 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
16513 early if src == dest.
16514 * util/grub-mkimage.c (generate_image): Arange for src == dest if
16515 compression is none.
16516
16517 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16518
16519 Reduce memory footprint on SGI by putting modules before the kernel
16520 as opposed to after.
16521
16522 * grub-core/Makefile.core.def (kernel): Increase linking address.
16523 (none_decompress): Likewise.
16524 (xz_decompress): Likewise.
16525 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
16526 address.
16527 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
16528 layout change.
16529 (grub_arch_modules_addr): New function.
16530 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
16531 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
16532 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
16533 here.
16534 * grub-core/kern/mips/startup.S (total_size): Rename to ...
16535 (grub_total_modules_size): ... this. Make global.
16536 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
16537 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
16538 New definition.
16539 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
16540 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
16541 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
16542 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
16543 * util/grub-mkimage.c (image_target_desc): New flag
16544 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
16545 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
16546 (generate_image): Handle images with modules before kernel.
16547
16548 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16549
16550 Prevent potential loss of memory map by overwrite on qemu-mips.
16551
16552 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
16553 Save ram size in $s4.
16554 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
16555 All users changed to grub_arch_memsize.
16556 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
16557 Loongson.
16558 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
16559 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
16560 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
16561 external variable.
16562
16563 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
16564
16565 * .bzrignore: Remove grub-dumpbios.
16566
16567 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
16568
16569 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
16570 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
16571 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
16572 existing options which append).
16573 * docs/grub.texi (Simple configuration): Document new options.
16574 Reported by: Ian Jackson. Fixes Debian bug #617538.
16575
16576 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
16577
16578 * util/grub-fstest.c (cmd_cat): New function.
16579 (fstest): Handle CMD_CAT.
16580 (options): Add cat.
16581 (argp_parser): Handle cat.
16582
16583 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
16584
16585 * Makefile.util.def (grub-bin2h): Don't install.
16586 * docs/man/grub-bin2h.h2m: Remove.
16587
16588 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16589
16590 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
16591 place.
16592
16593 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16594
16595 Reenable qemu-mips port.
16596
16597 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
16598 Fix small arc bug while on it.
16599 * gentpl.py: Handle qemu_mips.
16600 * grub-core/Makefile.am: Likewise.
16601 * grub-core/Makefile.core.def: Likewise.
16602 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
16603 inappropriate includes.
16604 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
16605 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
16606 * grub-core/kern/main.c (grub_modules_get_end)
16607 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
16608 * grub-core/kern/mips/qemu-mips: Moved to ..
16609 * grub-core/kern/mips/qemu_mips: ... this.
16610 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
16611 (grub_machine_init): Call terminfo_init and serial_init.
16612 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
16613 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
16614 New variable.
16615 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
16616 parameter passing.
16617 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
16618 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
16619 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
16620 * include/grub/mips/qemu_mips/cmos.h: New file.
16621 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
16622 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
16623 Removed.
16624 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
16625 Use correct mips-style address.
16626 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
16627 (GRUB_TICKS_PER_SECOND): Removed.
16628 (grub_get_rtc): Likewise.
16629 (grub_cpu_idle): Likewise.
16630 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
16631 New definition.
16632 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
16633 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
16634 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
16635 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
16636 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
16637 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
16638 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
16639 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
16640
16641 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16642
16643 SGI ARCS port.
16644
16645 * Makefile.util.def (libgrubmods.a): Add dvh.c.
16646 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
16647 platforms.
16648 * configure.ac: New target mips-arc.
16649 * gentpl.py: Likewise.
16650 * grub-core/Makefile.am: Likewise.
16651 * grub-core/Makefile.core.def: Likewise.
16652 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
16653 (none_decompress): Likewise.
16654 (lsdev): New module.
16655 (datetime): Use lib/arc/datetime.c on ARC.
16656 (part_dvh): New module.
16657 * grub-core/commands/arc/lsdev.c: New file.
16658 * grub-core/disk/arc/arcdisk.c: Likewise.
16659 * grub-core/kern/mips/arc/init.c: Likewise.
16660 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
16661 aligned addresses.
16662 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
16663 support.
16664 (grub_arch_dl_relocate_symbols): Likewise.
16665 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
16666 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
16667 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
16668 platforms.
16669 * grub-core/lib/arc/datetime.c: New file.
16670 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
16671 pci.h on non-loongson.
16672 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
16673 (grub_linux_boot): Set unused registers to 0.
16674 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
16675 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
16676 * grub-core/mmap/mips/uppermem.c: ...here.
16677 * grub-core/partmap/dvh.c: New file.
16678 * grub-core/term/arc/console.c: Likewise.
16679 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
16680 (grub_terminfo_set_current): Add terminal "arc".
16681 (grub_terminfo_readkey): Support ARC sequences.
16682 * include/grub/arc/arc.h: New file.
16683 * include/grub/arc/console.h: Likewise.
16684 * include/grub/disk.h (grub_disk_dev_id): Add
16685 GRUB_DISK_DEVICE_ARCDISK_ID.
16686 * include/grub/mips/arc/kernel.h: New file.
16687 * include/grub/mips/arc/memory.h: Likewise.
16688 * include/grub/mips/arc/time.h: Likewise.
16689 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
16690 * include/grub/mips/kernel.h (grub_halt): ... here.
16691 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
16692 here...
16693 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
16694 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
16695 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
16696 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
16697 proto.
16698 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
16699 from here ...
16700 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
16701 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
16702 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
16703 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
16704 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
16705 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
16706 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
16707 (grub_phys_addr_t): Moved from here ...
16708 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
16709 (grub_vtop): Moved from here ...
16710 * include/grub/mips/memory.h (grub_vtop): ... here.
16711 (grub_map_memory): Moved from here ...
16712 * include/grub/mips/memory.h (grub_map_memory): ... here.
16713 (grub_unmap_memory): Moved from here ...
16714 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
16715 (grub_machine_mmap_iterate): Moved from here ...
16716 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
16717 (grub_mmap_get_lower): Moved from here ...
16718 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
16719 (grub_mmap_get_upper): Moved from here ...
16720 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
16721 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
16722 here ...
16723 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
16724 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
16725 here ...
16726 * include/grub/mips/time.h (grub_get_rtc): ... here.
16727 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
16728 here ...
16729 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
16730 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
16731 here ...
16732 * include/grub/mips/time.h (grub_cpu_idle): ... here.
16733 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
16734 definition.
16735 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
16736 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
16737 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
16738 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
16739 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
16740 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
16741 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
16742 (GRUB_MACHINE_LINK_ADDR): Likewise.
16743 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
16744 to 6.
16745 * util/grub-install.in: Run dvhtool on ARC.
16746 * util/grub-mkimage.c (image_targets): Add mips-arc.
16747 (generate_image): Handle ECOFF output for mips-arc.
16748
16749 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
16750
16751 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
16752 blocks.
16753
16754 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
16755
16756 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
16757 after enabling port.
16758
16759 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
16760
16761 Skip incorrect USB devices.
16762
16763 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
16764 configcnt == 0.
16765 * include/grub/usb.h (grub_usb_err_t): New enum value
16766 GRUB_USB_ERR_BADDEVICE.
16767
16768 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
16769
16770 Fuloong video init support.
16771
16772 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
16773 well.
16774 (grub_vga_read_arx): New function.
16775 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
16776 definition.
16777 (framebuffer): New members io, mmioptr and mmiobase.
16778 (read_sis_cmd): New function.
16779 (write_sis_cmd): Likewise.
16780 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
16781 rather than 640x400.
16782 * grub-core/video/sis315_init.c: New file.
16783
16784 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16785
16786 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
16787 non-loongson.
16788 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
16789 to grub_dl_register_symbol.
16790
16791 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16792
16793 Fix compilation errors.
16794
16795 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
16796 potentially unused.
16797 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
16798 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
16799 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
16800 to loongson machines.
16801
16802 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16803
16804 Several FS mtime support.
16805
16806 * grub-core/fs/affs.c (grub_affs_time): New struct.
16807 (grub_affs_file): New field mtime.
16808 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
16809 type. Removed 'size'. New field 'di'. All users updated.
16810 (grub_affs_mount): Simplify checsum checking.
16811 (grub_affs_iterate_dir): New helper grub_affs_create_node.
16812 (grub_affs_dir): Handle mtime.
16813 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
16814 (grub_cpio_dir): Likewise.
16815 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
16816 (grub_hfs_filerec): New field mtime.
16817 (grub_hfs_dir): Handle mtime.
16818 (grub_hfs_mtime): New function.
16819 (grub_hfs_fs): Register grub_hfs_mtime.
16820 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
16821 (grub_iso9660_dir): New field mtime.
16822 (grub_fshelp_node): New field dirent.
16823 (iso9660_to_unixtime): New function.
16824 (iso9660_to_unixtime2): Likewise.
16825 (grub_iso9660_read_symlink): Use node->dirent.
16826 (grub_iso9660_iterate_dir): Likewise.
16827 (grub_iso9660_dir): Set mtime.
16828 (grub_iso9660_mtime): New function.
16829 (grub_iso9660_fs): Register grub_iso9660_mtime.
16830 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
16831 (grub_jfs_inode): New fields atime, ctime and mtime.
16832 (grub_jfs_dir): Set mtime.
16833 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
16834 * grub-core/fs/ntfs.c (list_file): Set mtime.
16835 (grub_ntfs_dir): Likewise.
16836 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
16837 (grub_reiserfs_iterate_dir): Set mtime.
16838 (grub_reiserfs_dir): Likewise.
16839 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
16840 (grub_fshelp_node): Likewise.
16841 (grub_sfs_iterate_dir): Set mtime.
16842 (grub_sfs_dir): Likewise.
16843 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
16844 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
16845 (grub_xfs_inode): New fields atime, mtime, ctime.
16846 (grub_xfs_dir): Set mtime.
16847 * include/grub/datetime.h (grub_datetime2unixtime): New function.
16848 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
16849 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
16850
16851 Support UDF symlinks.
16852
16853 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
16854 (grub_ufs_read_symlink): New function. All users updated.
16855
16856 Check amiga partmap checksum.
16857
16858 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
16859 (grub_amiga_partition): Likewise.
16860 (amiga_partition_map_checksum): New function.
16861 (amiga_partition_map_iterate): Check checksum.
16862
16863 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16864
16865 ROMFS support.
16866
16867 * Makefile.util.def (libgrubmods.a): Add romfs.
16868 * grub-core/Makefile.core.def (romfs): New module.
16869 * grub-core/fs/romfs.c: New file.
16870
16871 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16872
16873 Squashfs v4 support.
16874
16875 * Makefile.util.def (libgrubmods.a): Add squash4.
16876 * grub-core/Makefile.core.def (squash4): New module.
16877 * grub-core/fs/squash4.c: New file.
16878 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
16879 disk_input_start, disk_input.
16880 (get_byte): Handle disk_input.
16881 (grub_zlib_disk_read): New function.
16882 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
16883
16884 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16885 2011-05-15 Feiran Zheng <famcool@gmail.com>
16886
16887 * Makefile.util.def (libgrubmods.a): Add minix3.
16888 * grub-core/Makefile.core.def (minix3): New module.
16889 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
16890 (GRUB_MINIX_BSIZE): Removed.
16891 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
16892 (grub_minix_ino_t): New type.
16893 (grub_minix_le_to_cpu_ino): New macro.
16894 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
16895 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
16896 (grub_minix_data): New field block_size.
16897 (grub_minix_read_file): Handle 64-bit correctly.
16898 * grub-core/fs/minix3.c: New file.
16899
16900 2011-05-15 Tristan Gingold <gingold@free.fr>
16901 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
16902 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16903
16904 IA64 support.
16905
16906 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
16907 * configure.ac: Add ia64-efi target.
16908 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
16909 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
16910 * gentpl.py: Add ia64_efi platform.
16911 Rename x86_efi to efi and Add ia64-efi. All users updated.
16912 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
16913 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
16914 Remove kern/generic/rtc_get_time_ms.c on EFI.
16915 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
16916 kern/ia64/dl_helper.c on ia64-efi.
16917 Add kern/emu/cache.c on emu.
16918 (linux): Use on loader/ia64/efi/linux.c on ia64.
16919 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
16920 whether symbol is a function.
16921 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
16922 (grub_symbol): New field 'isfunc'.
16923 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
16924 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
16925 (grub_dl_load_segments): Place all sections into the same region.
16926 [__ia64__]: Create trampolines and got.
16927 [GRUB_MACHINE_EMU]: Call mprotect.
16928 (grub_dl_resolve_symbols): Resolve symbol type as well.
16929 [__ia64__]: Create function descriptors.
16930 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
16931 (grub_rtc_get_time_ms): ... this. Expressions simplified.
16932 (grub_get_rtc): New function.
16933 * grub-core/kern/emu/cache.c [__ia64__]: New file.
16934 * grub-core/kern/emu/cache.S: Renamed to ...
16935 * grub-core/kern/emu/cache_s.S: ... this.
16936 [__ia64__]: Add a nop.
16937 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
16938 [__ia64__]: New function.
16939 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
16940 * grub-core/kern/ia64/dl.c: New file.
16941 * grub-core/kern/ia64/dl_helper.c: Likewise.
16942 * grub-core/kern/ia64/efi/init.c: New file.
16943 * grub-core/kern/ia64/efi/startup.S: Likewise.
16944 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
16945 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
16946 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
16947 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
16948 * grub-core/loader/ia64/efi/linux.c: New file.
16949 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
16950 (GRUB_MOD_DEP): Likewise.
16951 (grub_dl) [__ia64__]: New fields got and tramp.
16952 (grub_dl): New field 'base'.
16953 (grub_dl_register_symbol): New argument isfunc. All users updated.
16954 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
16955 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
16956 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
16957 (grub_ia64_dl_get_tramp_got_size): New proto.
16958 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
16959 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
16960 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
16961 * include/grub/efi/api.h: Skip call wrappers on ia64.
16962 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
16963 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
16964 * include/grub/elf.h (ELF_ST_INFO): New definition.
16965 * include/grub/ia64/efi/kernel.h: New file.
16966 * include/grub/ia64/efi/memory.h: Likewise.
16967 * include/grub/ia64/efi/time.h: Likewise.
16968 * include/grub/ia64/kernel.h: Likewise.
16969 * include/grub/ia64/setjmp.h: Likewise (from glibc).
16970 * include/grub/ia64/time.h: New file.
16971 * include/grub/ia64/types.h: Likewise.
16972 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
16973 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
16974 New protos.
16975 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
16976 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
16977 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
16978 * util/grub-mkimage.c (image_target_desc): New field pe_target.
16979 All users updated.
16980 (EFI64_HEADER_SIZE): New definition. All users updated.
16981 (image_targets): Add ia64-efi.
16982 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
16983 jumpers_addr. All users updated.
16984 Create function descriptors.
16985 (count_funcs): New function.
16986 (unaligned_uint32): New struct.
16987 (MASK20): New definition.
16988 (MASK19): Likewise.
16989 (MASKF21): Likewise.
16990 (add_value_to_slot_20b): New function.
16991 (add_value_to_slot_21_real): Likewise.
16992 (add_value_to_slot_21): Likewise.
16993 (ia64_kernel_trampoline): New struct.
16994 (nopm): New variable.
16995 (jump): Likewise.
16996 (make_trampoline): New function.
16997 (relocate_addresses): Handle ia64.
16998 (make_reloc_section): Likewise.
16999 (load_image): Likewise.
17000
17001 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17002
17003 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
17004 warning. Move variables before code while on it.
17005
17006 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17007
17008 Fuloong support.
17009
17010 * configure.ac: Rename yeeloong platform to loongson. All users updated.
17011 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
17012 * grub-core/boot/mips/loongson/fuloong.S: New file.
17013 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
17014 Explicitly init CS5536.
17015 [FULOONG]: Don't use serial until CS5536 is available.
17016 Set GPIO based on dumps.
17017 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
17018 [FULOONG]: Handle GPIO and memory controller differences.
17019 Parse machine type in $a2.
17020 * grub-core/boot/mips/startup_raw.S: Determine and save the
17021 architecture.
17022 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
17023 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
17024 init on architecture type.
17025 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
17026 SIS315E. Don't init at_keyboard on fuloong.
17027 (grub_halt): Support Fuloong.
17028 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
17029 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
17030 (loongson_machtypes): New array.
17031 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
17032 type.
17033 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
17034 config. All users updated. Handle CS5536 serial.
17035 * grub-core/term/serial.c (grub_serial_register): Conditionalise
17036 default port on machine type. Register serial as inactive.
17037 * grub-core/video/sis315pro.c: New file.
17038 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
17039 definition.
17040 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
17041 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
17042 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
17043 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
17044 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
17045 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
17046 to ...
17047 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
17048 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
17049 definition.
17050 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
17051 (grub_arch_machine): New extern var.
17052 * include/grub/mips/loongson/serial.h
17053 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
17054 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
17055 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
17056 (GRUB_MACHINE_SERIAL_PORT0): ... this.
17057 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
17058 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
17059 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
17060 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
17061 * include/grub/term.h (grub_term_register_input_inactive): New inline
17062 function.
17063 (grub_term_register_output_inactive): Likewise.
17064 * include/grub/video.h (grub_video_driver_id): New value
17065 GRUB_VIDEO_DRIVER_SIS315PRO.
17066 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
17067 New field "names". All users updated.
17068 New field value IMAGE_FULOONG_FLASH.
17069 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
17070
17071 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
17072
17073 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
17074 and add some clarification.
17075
17076 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17077
17078 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
17079 platforms if kernel is compressed.
17080
17081 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17082
17083 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
17084 unused modules since currently referrence counter isn't reliable and
17085 there isn't much memory to recover there anyway.
17086
17087 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17088
17089 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
17090 rather than resetting it to allow modules to reference themselves
17091 in init.
17092
17093 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17094
17095 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
17096 counter on dependencies since grub_dl_unref already handles this.
17097
17098 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17099
17100 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
17101 on error if not already done.
17102
17103 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17104
17105 Fix few potential memory misusage.
17106
17107 * grub-core/font/font.c (load_font_index): Don't free char_index to
17108 avoid double free.
17109 (grub_font_load): Zero-fill font at alloc for safety.
17110 Close file on error.
17111 (free_font): Free bmp_idx.
17112
17113 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17114
17115 * docs/grub.texi (Installation): Fix several outdated claims.
17116
17117 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17118
17119 Handle module_license on windows.
17120
17121 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
17122 sections shifted.
17123 (insert_string): Make argument const char * instead of char *.
17124 (write_section_data): Handle long section names.
17125 Handle module_license.
17126
17127 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17128
17129 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
17130 handle class-free menuentries.
17131 (grub_normal_add_menu_entry): Add a check to be sure.
17132
17133 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17134
17135 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
17136 PgUp and PgDown.
17137
17138 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17139
17140 * configure.ac: Bump version to 1.99.
17141
17142 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17143
17144 Give ATA device a bit more time on first try in order to allow disks
17145 to spin up.
17146
17147 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
17148 if dev->present is 1. Reset dev->present on failure.
17149 (grub_ata_device_initialize): Set dev->present to 1.
17150 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
17151 (grub_ata_device): New member 'present'.
17152
17153 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17154
17155 * util/grub-mkimage.c (generate_image): Update hash.
17156
17157 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17158
17159 Flush caches on DMA memory.
17160
17161 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
17162 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
17163 (grub_dma_free): Likewise.
17164 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
17165
17166 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17167
17168 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
17169 to avoid asm treating ld and sd as macros.
17170
17171 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17172
17173 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
17174 decompressor.
17175
17176 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17177
17178 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
17179 grub_decompress_core since later would fail if grub_decompress_core
17180 is too far.
17181
17182 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17183
17184 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
17185 R_MIPS_JALR since it's used by newer compiler.
17186
17187 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
17188
17189 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
17190
17191 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17192
17193 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
17194 file_path to 0 for surety.
17195 (grub_chainloader_boot): Set exit_data to NULL.
17196 Unset the loader once done.
17197 (grub_cmd_chainloader): Fix confusing error message if file is empty.
17198
17199 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17200
17201 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
17202 unknown key into a dprintf.
17203
17204 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17205
17206 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
17207 on first non-existant partition.
17208
17209 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17210
17211 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
17212 openning fails.
17213 Reported by: Mark Korenberg.
17214
17215 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17216
17217 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
17218 overflow.
17219
17220 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17221
17222 * util/grub-mkimage.c (main): Explicitely flush and sync the output
17223 before closing to ensure that it will be readable by grub-setup.
17224
17225 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17226
17227 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
17228 (devpath_1): Use MAKE_PIWG_PATH.
17229 (devpath_2): Likewise.
17230 (devpath_3): Likewise.
17231 (devpath_4): Likewise.
17232 (devpath_5): Likewise.
17233 (devpath_6): Likewise.
17234
17235 The appleldr.mod was checked that to be binary identical to previous
17236 version.
17237
17238 2011-05-05 Zach <mikezackles>
17239
17240 Support 2010 Macbooks.
17241
17242 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
17243 (devs): Add devpath_6.
17244
17245 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17246
17247 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
17248 /dev/random. /dev/urandom is good enough for our purposes (salting).
17249
17250 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17251
17252 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
17253
17254 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17255
17256 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
17257 hexadecimal.
17258
17259 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17260
17261 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
17262 and not 0 on failure.
17263
17264 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
17265
17266 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
17267 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
17268 disk; otherwise grub_fs_probe will not fall back to the next
17269 filesystem.
17270 (grub_pxefs_open): Likewise, for consistency.
17271 Reported and tested by: Ezekiel Grave.
17272
17273 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
17274
17275 * tests/partmap_test.in: Don't hardcode path to parted.
17276 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
17277
17278 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
17279
17280 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
17281 of `ls' to find out which devices are available.
17282
17283 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17284
17285 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
17286 than source address for efi mmap buffer.
17287
17288 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17289
17290 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
17291 wrong action on non-detecting the magic.
17292
17293 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17294
17295 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
17296 already supplied by another part of the module (fixes compilation on
17297 FreeBSD).
17298
17299 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17300
17301 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
17302 match the one used by mdadm.
17303
17304 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
17305
17306 * po/README: Add instructions for creating po/LINGUAS.
17307
17308 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
17309
17310 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
17311 #551428.
17312
17313 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
17314 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
17315 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
17316 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
17317 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
17318 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
17319 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
17320 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
17321 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
17322 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
17323 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
17324 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
17325 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
17326 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
17327 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
17328 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
17329 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
17330 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
17331 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
17332 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
17333 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
17334 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
17335
17336 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
17337
17338 * grub-core/kern/emu/getroot.c
17339 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
17340 test that was incorrectly reintroduced in r3214.
17341 Reported by: Ian Dall. Fixes Savannah bug #33133.
17342
17343 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
17344
17345 Fix stack pointer handling in 16-bit relocator.
17346
17347 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
17348 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
17349 Fixes Ubuntu bug #683904.
17350
17351 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
17352
17353 * configure.ac: Bump version to 1.99~rc2.
17354
17355 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
17356
17357 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
17358 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
17359 * grub-core/lib/x86_64/setjmp.S: Likewise.
17360 * grub-core/lib/mips/setjmp.S: Likewise.
17361 * grub-core/lib/powerpc/setjmp.S: Likewise.
17362 * grub-core/lib/sparc64/setjmp.S: Likewise.
17363
17364 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
17365
17366 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
17367 * grub-core/lib/efi/datetime.c: Likewise.
17368
17369 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17370
17371 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
17372 New function.
17373 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
17374 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
17375 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
17376
17377 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17378
17379 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
17380 bitmap.
17381 (grub_gfxterm_term_init): Likewise.
17382
17383 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17384
17385 Take into account the decorations the computing menu entry width.
17386
17387 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
17388 (grub_gfxmenu_create_box): Register get_border_width.
17389 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
17390 if available.
17391 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
17392 get_border_width.
17393
17394 2011-04-18 Endres Puschner <code@e7p.de>
17395
17396 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
17397 Don't skip first class.
17398
17399 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17400
17401 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
17402 chunks.
17403 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
17404
17405 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17406
17407 Complete 64-bit division support.
17408
17409 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
17410 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
17411 * include/grub/misc.h (grub_divmod64): Rename to ...
17412 (grub_divmod64_full): ... this.
17413 (grub_divmod64): New inline function.
17414
17415 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17416
17417 * util/grub-mkimage.c (generate_image): Add forgotten comma.
17418
17419 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17420
17421 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
17422 performing the necessary test.
17423
17424 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
17425
17426 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
17427 (kfreebsd.elf): Likewise.
17428 (pc-chainloader.elf): Likewise.
17429 (ntldr.elf): Likewise.
17430
17431 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
17432
17433 Identify RAID by its UUID rather than (guessed) name.
17434
17435 * grub-core/disk/raid.c (ascii2hex): New function.
17436 (grub_raid_open): Accept mduuid/%s specification.
17437 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
17438 (get_mdadm_uuid): ... this.
17439 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
17440
17441 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
17442
17443 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
17444 to negative size.
17445
17446 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
17447
17448 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
17449 btrfs subvolume.
17450 * util/grub.d/20_linux_xen.in: Likewise.
17451
17452 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
17453
17454 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
17455 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
17456
17457 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
17458 Build a list of relevant visible mounts using the mnt_id and
17459 parent_mnt_id fields, and then scan that list at the end.
17460
17461 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
17462
17463 * docs/grub.texi (normal): New section.
17464 (normal_exit): New section.
17465 (Embedded configuration): Add reference to normal.
17466 (GRUB only offers a rescue shell): Likewise.
17467 * docs/grub-dev.texi (Error Handling): Fix typo.
17468
17469 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
17470
17471 * NEWS: Drop obsolete entry about probe-only btrfs support.
17472
17473 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
17474
17475 * util/import_gcry.py: Fix typo.
17476
17477 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17478
17479 * NEWS: Add btrfs support.
17480
17481 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17482 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
17483
17484 BtrFS support. Written by me (Vladimir) with important bugfixes and
17485 even more important testing by Colin.
17486
17487 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
17488 * grub-core/Makefile.core.def (btrfs): Add crc.c.
17489 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
17490 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
17491 mem_input_off and mem_input. All users updated to accept in-RAM input.
17492 (gzio_seek): New function.
17493 (test_zlib_header): Likewise.
17494 (grub_gzio_read): Likewise.
17495 (grub_zlib_decompress): Likewise.
17496 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
17497 Accept partial and non-virtual mounts.
17498 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
17499 avoid receiving /dev/dm-X as device.
17500 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
17501 Handle bind and partial mounts.
17502 * grub-core/lib/crc.c: New file.
17503 * include/grub/deflate.h: Likewise.
17504 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
17505 proto.
17506 * include/grub/lib/crc.h: New file.
17507
17508 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17509
17510 Implement automatic module license checking according to new GNU
17511 guidelines.
17512
17513 * grub-core/kern/dl.c (grub_dl_check_license): New function.
17514 (grub_dl_load_core): Use grub_dl_check_license.
17515 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
17516 (GRUB_MOD_LICENSE): Likewise.
17517 (GRUB_MOD_DUAL_LICENSE): Likewise.
17518 All modules updated.
17519
17520 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
17521
17522 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
17523 reserved_first_sector to 1. btrfs reserves plenty of space for boot
17524 loaders.
17525 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
17526
17527 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17528
17529 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
17530
17531 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17532
17533 * util/grub-fstest.c (read_file): Report GRUB error if file opening
17534 failed.
17535
17536 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17537
17538 * grub-core/kern/file.c (grub_file_open): Don't take into account the
17539 parenthesis in the middle of the filename.
17540
17541 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17542
17543 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
17544 rather than trying to put initrd way too high.
17545 Reported by: Ryan Lortie <desrt@desrt.ca>
17546
17547 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17548
17549 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
17550 improperly removed string.
17551
17552 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17553
17554 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
17555 is_disk.
17556 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
17557 (open_device) Likewise.
17558 (grub_util_biosdisk_close): Likewise.
17559 Reported by: Mark Korenberg.
17560
17561 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
17562
17563 * util/grub-mkconfig_lib.in: Add missing quotes.
17564
17565 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
17566
17567 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
17568 is NULL.
17569
17570 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17571
17572 Dynamically count the number of lines for the lower banner.
17573
17574 * grub-core/normal/menu_entry.c (per_term_screen): New member
17575 num_entries.
17576 (print_down): Use num_entries.
17577 (update_screen): Likewise.
17578 (grub_menu_entry_run): Set num_entries.
17579 * grub-core/normal/menu_text.c (menu_viewer_data): New member
17580 num_entries.
17581 (grub_print_message_indented): Move real part to ...
17582 (grub_print_message_indented_real): ... here. Additional argument
17583 dry_run.
17584 (draw_border): Additional argument num_entries.
17585 (print_message): Additional argument dry_run.
17586 (print_entries): Receive menu viewer data.
17587 (grub_menu_init_page): New argment num_entries.
17588 (menu_text_set_chosen_entry): Use num_entries.
17589 (grub_menu_try_text): Likewise.
17590 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
17591 All users updated.
17592 (grub_ucs4_count_lines): New function.
17593 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
17594 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
17595 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
17596 (grub_term_border_height): Likewise.
17597 (grub_term_num_entries): Likewise.
17598
17599 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17600
17601 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
17602 Remove now unused string.
17603
17604 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
17605
17606 * docs/grub-dev.texi (Finding your way around): Update for 1.99
17607 build system.
17608 (Getting started): GRUB is developed in Bazaar now, not Subversion.
17609
17610 (Comment): Fix typo.
17611 (Getting started): General copy-editing.
17612 (Typical Development Experience): Likewise.
17613 (Error Handling): Likewise.
17614 (Video API): Likewise.
17615
17616 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
17617
17618 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
17619 throughout.
17620
17621 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17622
17623 * util/grub-mkimage.c (main): Handle special naming of yeeloong
17624 directory.
17625
17626 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
17627
17628 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
17629 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
17630 "development".
17631
17632 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17633
17634 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
17635 grub_strcpy since the lines aren't necessarily 0-terminated.
17636
17637 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17638
17639 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
17640 root on legacy.
17641
17642 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17643
17644 * grub-core/commands/probe.c (options): Argument to set isn't optional.
17645 (GRUB_MOD_INIT): DEVICE isn't optional.
17646
17647 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17648
17649 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
17650 word on new line if it's too long anyway. Fixes a hang.
17651
17652 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17653
17654 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
17655 const.
17656 * util/grub-setup.c (main): Reuse md device name if available.
17657 * util/raid.c (grub_util_raid_getmembers): Receive device name and
17658 not GRUB name as argument.
17659 Based on patch by: Florian Wagner <fwagner>.
17660
17661 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17662
17663 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17664 Place mbi on low memory for better compatibility.
17665
17666 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17667
17668 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
17669
17670 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17671 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
17672
17673 * autogen.sh: Ensure that collate and ctype locale is C.
17674 * conf/Makefile.common: Likewise.
17675
17676 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17677
17678 * grub-core/normal/menu.c: Add missing include.
17679
17680 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17681
17682 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
17683
17684 2011-04-08 Martin Zuther <mzuther@mzuther.de>
17685
17686 * util/grub-mkconfig.in: Ignore emacsen backup.
17687
17688 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17689
17690 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
17691 on open.
17692 (grub_util_biosdisk_close): Likewise.
17693
17694 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17695
17696 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
17697 const attribute and use grub_isdigit.
17698
17699 2011-04-06 Andrey <dev_null@ukr.net>
17700
17701 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
17702 gcc warning.
17703
17704 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17705
17706 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
17707 useful grub_dprintf's.
17708
17709 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17710
17711 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
17712
17713 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17714
17715 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
17716
17717 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17718
17719 Output errors if theme loading failed.
17720
17721 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
17722 grub_gfxterm_fullscreen on error paths to ...
17723 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
17724 theme loading error.
17725
17726 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17727
17728 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
17729 space for older compilers.
17730 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17731
17732 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17733
17734 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
17735 and report them as not RAID members since they are useless for GRUB.
17736 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17737
17738 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17739
17740 Increase LVM implementation robustness in order not to crash on
17741 configurations like pvmove. Previously code assumed that in some places
17742 only lvs or only pvs are used whereas it seems that they are used
17743 interchangeably.
17744
17745 * grub-core/disk/lvm.c (read_node): New function.
17746 (read_lv): Use read_node.
17747 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
17748 Match volumes only at the end when all lvs are found. Take both
17749 pvs (first) and lvs (second) into account.
17750 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
17751 mirror_* into node_*. All users updated.
17752 (grub_lvm_stripe): Merge this ...
17753 (grub_lvm_mirror): ... and this ...
17754 (grub_lvm_node): ... into this. All users updated.
17755
17756 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17757
17758 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
17759 of function to allow further scanning for LVMs.
17760
17761 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17762
17763 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
17764 on failed seek as it breaks open fd reusage.
17765
17766 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17767
17768 * util/grub-install.in: Add a recommendation to use --recheck before
17769 reporting bugs.
17770
17771 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17772
17773 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
17774 are obtained.
17775
17776 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17777
17778 GRUB developper manual based on existing Internals section and
17779 contributions by the various authors with active copyright assignment.
17780
17781 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
17782 * docs/font_char_metrics.png: New file.
17783 * docs/font_char_metrics.txt: Likewise.
17784 * docs/grub-dev.texi: Likewise.
17785 * docs/grub.texi (Internals): Move from here ...
17786 * docs/grub-dev.texi: ... here.
17787
17788 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
17789
17790 Store the loopback device as data on loopback grub_disk structures,
17791 rather than the file it points to. This fixes use of freed memory
17792 if an existing loopback device is replaced.
17793
17794 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
17795 disk->data, not dev->file.
17796 (grub_loopback_read): Adjust file assignment to match.
17797 Fixes Ubuntu bug #742967.
17798
17799 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
17800
17801 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
17802 when replacing an existing device.
17803
17804 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
17805
17806 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
17807 memory corruptions.
17808
17809 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
17810 unsigned.
17811 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
17812 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
17813 (grub_jfs_read_inode): Likewise.
17814 (grub_jfs_opendir): Likewise. Remove now useless casts.
17815 (grub_jfs_getent): Likewise.
17816 Make ino a grub_uint32_t rather than int.
17817 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
17818 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
17819 division and module with bit operations.
17820 (grub_jfs_find_file): Make ino a grub_uint32_t.
17821 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
17822
17823 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
17824
17825 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
17826 warning. (This was in fact always initialised before use, but GCC
17827 wasn't smart enough to prove that.)
17828 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
17829
17830 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
17831
17832 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
17833 stack alignment.
17834 (efi_wrap_1): Likewise.
17835 (efi_wrap_2): Likewise.
17836 (efi_wrap_3): Likewise.
17837 (efi_wrap_4): Likewise.
17838 (efi_wrap_5): Likewise.
17839 (efi_wrap_6): Likewise.
17840 (efi_wrap_10): Likewise.
17841 Based on information by: Red Hat/Peter Jones.
17842
17843 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
17844
17845 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
17846 set-but-not-used variable.
17847
17848 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
17849
17850 * docs/grub.texi (Simple configuration): Be more explicit about
17851 GRUB_DEFAULT, and add an example.
17852 Reported by: Leslie Rhorer.
17853
17854 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
17855
17856 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
17857 shell".
17858
17859 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
17860
17861 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
17862 * util/grub.d/20_linux_xen.in: Likewise.
17863
17864 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17865
17866 * util/grub.d/10_linux.in: Try alternative config filenames where
17867 we parse config file.
17868 * util/grub.d/20_linux_xen.in: Likewise.
17869
17870 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
17871
17872 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
17873 * util/grub.d/20_linux_xen.in: Likewise.
17874
17875 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17876
17877 * grub-core/disk/raid.c (insert_array): Add few potentially
17878 useful grub_util_info.
17879 (grub_raid_register): Likewise.
17880
17881 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17882
17883 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
17884 Preserve partition number in mdadm code path.
17885
17886 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17887
17888 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
17889 few potentially useful grub_util_info.
17890
17891 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17892
17893 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
17894
17895 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
17896
17897 * docs/grub.texi (default): Use @example rather than nested
17898 itemized lists to avoid breaking gendocs.
17899
17900 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
17901
17902 * docs/grub.texi (Future): Update.
17903
17904 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
17905
17906 * docs/grub.texi (Environment): New chapter.
17907 (Changes from GRUB Legacy): Link to "Environment block" section for
17908 details of limitations.
17909 (Simple configuration): Likewise. Link to documentation of gfxmode
17910 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
17911 respectively.
17912 (Shell-like scripting): Note that normal variables are stored in the
17913 environment.
17914 (gettext): Link to documentation of lang and locale_dir.
17915 (list_env): New section.
17916 (load_env): New section.
17917 (save_env): New section.
17918
17919 (Reporting bugs): Fix typo.
17920
17921 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17922
17923 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
17924 the example.
17925
17926 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17927
17928 * grub-core/term/at_keyboard.c (set_scancodes)
17929 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
17930
17931 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
17932
17933 * docs/grub.texi (Menu-specific commands): Remove some semantics
17934 that were true in GRUB Legacy but not in GRUB 2.
17935 (submenu): New section.
17936 (false): New section.
17937 (read): New section.
17938 (true): New section.
17939
17940 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
17941
17942 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
17943
17944 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
17945
17946 * docs/grub.texi (Simple configuration): Explain some of the
17947 current limitations of grub-mkconfig.
17948 Reported by: Leslie Rhorer.
17949
17950 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17951
17952 Old macs search for boot.efi rather than for bootia32.efi.
17953
17954 * util/grub-install.in: Copy bootia32.efi to boot.efi.
17955 * util/grub-mkrescue.in: Likewise.
17956 Suggested by: Peter Jones.
17957
17958 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17959
17960 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
17961
17962 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17963
17964 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
17965 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
17966 (grub_lvm_mirror): New struct.
17967 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
17968 (grub_lvm_iterate): Iterate only visible volumes.
17969 (grub_lvm_read): Factor out to ..
17970 (read_lv): ... this. Support mirrors.
17971 (grub_lvm_read): New wrapper function.
17972 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
17973 stripped or mirrored.
17974
17975 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17976
17977 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
17978
17979 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
17980
17981 * docs/grub.texi (loopback): New section.
17982
17983 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
17984
17985 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
17986 removed -p option.
17987
17988 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
17989
17990 * docs/grub.texi (BIOS installation): New section, partly based on
17991 previous text in other sections.
17992 (Installing GRUB using grub-install): Replace BIOS discussion with a
17993 cross-reference.
17994 (Images): Likewise.
17995
17996 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17997
17998 * grub-core/kern/emu/hostdisk.c (find_partition_start)
17999 [HAVE_DIOCGDINFO]: Add safety checks.
18000
18001 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18002
18003 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
18004 per default compiled in kernel and prior to 8.0 isn't shipped at all.
18005
18006 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
18007
18008 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
18009 real_sb->size is zero (e.g. RAID-0), get the disk size from
18010 real_sb->data_size instead.
18011 Fixes Ubuntu bug #743136.
18012
18013 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18014
18015 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
18016 printf clauses for printing size and start.
18017
18018 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18019
18020 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
18021 Reported and tested by: Timothy Nikkel.
18022
18023 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18024
18025 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
18026 (dirty_region_add_real): ... this.
18027 (dirty_region_add): Don't discard margin refresh when performing
18028 scheduled repaint.
18029
18030 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18031
18032 * grub-core/lib/relocator.c (allocate_regstart)
18033 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
18034 terminals are capabple of malloc-free operation.
18035 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18036 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18037
18038 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
18039
18040 * util/grub-setup.c: Copy the partition table zone if floppy support
18041 is disabled, even if no partition table is found.
18042
18043 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
18044 during POST if an invalid partition table is contained in the PBR
18045 of the active partition when GRUB is installed to a partition.
18046
18047 2011-03-28 Colin Watson <cjwatson@debian.org>
18048
18049 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
18050 comment.
18051
18052 2011-03-28 Colin Watson <cjwatson@debian.org>
18053
18054 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
18055 to be specific about what kind of RAID device we're scanning for.
18056
18057 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
18058
18059 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
18060 return freed string.
18061
18062 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18063
18064 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
18065
18066 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18067
18068 Use libgeom on FreeBSD to detect partitions.
18069
18070 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
18071 (grub-mkrelpath): Likewise.
18072 (grub-script-check): Likewise.
18073 (grub-editenv): Likewise.
18074 (grub-mkpasswd-pbkdf2): Likewise.
18075 (grub-fstest): Likewise.
18076 (grub-mkfont): Likewise.
18077 (grub-mkdevicemap): Likewise.
18078 (grub-probe): Likewise.
18079 (grub-setup): Likewise.
18080 (grub-ofpathname): Likewise.
18081 (grub-mklayout): Likewise.
18082 (example_unit_test): Likewise.
18083 (grub-menulst2cfg): Likewise.
18084 * grub-core/Makefile.core.def (grub-emu): Likewise.
18085 (grub-emu-lite): Likewise.
18086 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
18087 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
18088 define HAVE_DIOCGDINFO.
18089 (follow_geom_up) [FreeBSD]: New function.
18090 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
18091 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
18092 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
18093 unconditionally of HAVE_DIOCGDINFO.
18094
18095 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18096
18097 Fix FreeBSD compilation problem.
18098
18099 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
18100 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
18101
18102 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
18103
18104 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
18105 Switch back to page zero before loading a kernel, since some kernel
18106 drivers expect that.
18107 Thanks to: Felix Kuehling.
18108
18109 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18110
18111 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
18112 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
18113 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
18114
18115 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18116
18117 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
18118 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
18119
18120 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18121
18122 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
18123 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
18124 malloc is disabled.
18125
18126 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18127
18128 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
18129 for modules headers when counting the needed allocation size.
18130
18131 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18132
18133 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
18134 if no ASCII character is found to prevent crash.
18135
18136 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
18137
18138 * grub-core/video/bitmap.c (match_extension): Ignore case.
18139
18140 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18141
18142 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
18143
18144 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18145
18146 * grub-core/script/parser.y: Declare "time" as valid argument.
18147
18148 2011-03-23 Peter Jones <pjones@redhat.com>
18149
18150 Fix incorrect assert failure reporting.
18151
18152 * grub-core/tests/example_functional_test.c (example_test): Add
18153 a failure comment.
18154 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
18155 (failure_start): ...this. Check that malloc succeeded.
18156 Don't call xvasprintf. Return failure struct.
18157 (failure_append_vtext): New function.
18158 (failure_append_text): Likewise.
18159 (add_failure): Likewise.
18160 (grub_test_assert_helper): Likewise.
18161 * include/grub/test.h (grub_test_assert_helper): New declaration.
18162 (grub_test_assert): Macro rewritten.
18163
18164 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18165
18166 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
18167
18168 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18169
18170 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
18171
18172 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18173
18174 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
18175 into GRUB-style one.
18176
18177 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18178
18179 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
18180 error and not grub_errno.
18181 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
18182
18183 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18184
18185 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
18186 GRUB_USB_SPEED_NONE in case of failure and not the error code.
18187
18188 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18189
18190 * grub-core/efiemu/i386/pc/cfgtables.c
18191 (grub_machine_efiemu_init_tables): Make declaration a prototype.
18192 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
18193 (grub_xnu_unlock): Likewise.
18194 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
18195
18196 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18197
18198 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
18199 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
18200 * grub-core/commands/hashsum.c (aliases): Likewise.
18201 * grub-core/commands/setpci.c (pci_registers): Likewise.
18202 * grub-core/disk/usbms.c (attach_hook): Likewise.
18203 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
18204 (zio_checksum_table): Likewise.
18205 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
18206 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
18207 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
18208 * grub-core/lib/relocator.c (leftovers): Likewise.
18209 (extra_blocks): Likewise.
18210 * grub-core/loader/i386/bsd.c (relocator): Likewise.
18211 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
18212 (modules_last): Likewise.
18213 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
18214 (devices): Likewise.
18215 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
18216 (modules_last): Likewise.
18217 * grub-core/normal/auth.c (users): Likewise.
18218 * grub-core/normal/context.c (initial_menu): Likewise.
18219 (current_menu): Likewise.
18220 * grub-core/normal/crypto.c (crypto_specs): Likewise.
18221 * grub-core/term/serial.c (grub_serial_ports): Likewise.
18222 (grub_serial_terminfo_input_template): Likewise.
18223 (grub_serial_terminfo_output_template): Likewise.
18224 (grub_serial_terminfo_input): Likewise.
18225 (grub_serial_terminfo_output): Likewise.
18226 (registered): Likewise.
18227 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
18228
18229 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18230
18231 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
18232 grub_video_mode_type_t.
18233 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
18234 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
18235 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
18236
18237 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18238
18239 * util/grub-install.in: Correct the x86-64 name as x86_64.
18240
18241 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
18242
18243 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
18244 initial chunk read from the kernel always includes GRUB's multiboot
18245 header, which is now outside the first sector.
18246
18247 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
18248
18249 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
18250 cached mmap_size, so that this works correctly when called multiple
18251 times.
18252 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
18253
18254 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
18255
18256 * docs/grub.texi (Simple configuration): Tidy up formatting.
18257
18258 2011-03-07 Szymon Janc <szymon@janc.net.pl>
18259
18260 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
18261 Set-but-not-used variable removed.
18262
18263 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
18264
18265 Workaround yet another IEEE1275 bug.
18266
18267 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
18268 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
18269 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
18270 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
18271 is set.
18272 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18273 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
18274
18275 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
18276
18277 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
18278 error.
18279
18280 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
18281
18282 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
18283 empty, since in that case we can only generate either nothing or a
18284 syntactically invalid configuration file.
18285 Reported by: Michal Suchanek. Fixes Debian bug #612898.
18286
18287 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
18288
18289 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
18290 (Making a GRUB bootable CD-ROM): Likewise.
18291 (Invoking grub-mkrescue): New section.
18292 Reported by: Yann Dirson. Fixes Debian bug #612585.
18293
18294 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
18295
18296 * util/grub-install.in: Remove unnecessary brackets from tr
18297 arguments.
18298 * util/grub.d/10_hurd.in: Likewise.
18299 * util/grub.d/10_kfreebsd.in: Likewise.
18300 * util/grub.d/10_linux.in: Likewise.
18301 * util/grub.d/20_linux_xen.in: Likewise.
18302 Reported by: Jamie Heilman. Fixes Debian bug #612564.
18303
18304 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
18305
18306 * include/grub/file.h (not_easly_seekable): Rename to ...
18307 (not_easily_seekable): ... this. Update all users.
18308
18309 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
18310
18311 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
18312 grub-mkrescue.
18313
18314 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
18315
18316 * util/grub-mkimage.c (generate_image): Refuse to create the images
18317 bigger than the actual flash (512K) in Loongson machines. 512K is also
18318 the biggest chip supported by them.
18319
18320 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18321
18322 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
18323
18324 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
18325
18326 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
18327 super_offset field.
18328
18329 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18330
18331 * util/grub-install.in: Ignore install device on platforms
18332 where it doesn't make sense. Always use UUIDs except on pc, efi and
18333 sparc64.
18334 Reported by: Daniel Kahn Gillmor.
18335
18336 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18337
18338 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
18339
18340 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18341
18342 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
18343 (iterate_real): Don't rely on partition being non-NULL.
18344
18345 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18346
18347 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
18348 supported platforms. Put a compile time assert for this rather than
18349 generate a warning with 32-bit shift.
18350
18351 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18352
18353 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
18354 logical expression more readable.
18355
18356 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18357
18358 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
18359 even if some elements have a name.
18360 Reported by: Alexander GQ Gerasiov.
18361
18362 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
18363
18364 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
18365 path unreadable if `grub-probe -t abstraction' fails, for example if
18366 memberlist fails on an LVM volume group.
18367 Reported by: Darius Jahandarie.
18368
18369 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
18370
18371 * docs/grub.texi (Simple configuration): Document
18372 GRUB_PRELOAD_MODULES.
18373
18374 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
18375
18376 * .bzrignore: Remove nonexistent grub-pbkdf2.
18377
18378 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
18379
18380 * configure.ac: Bump version to 1.99~rc1.
18381
18382 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
18383
18384 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
18385 for safety.
18386
18387 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
18388
18389 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
18390 module.
18391
18392 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
18393
18394 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
18395
18396 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
18397
18398 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
18399 diskdevid.
18400
18401 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
18402
18403 Fix compilation on cygwin.
18404
18405 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
18406 -R .drectve on cygwin.
18407 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
18408 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
18409 (COND_CYGWIN): New condition.
18410 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
18411 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
18412 not @TARGET_OBJ2ELF@.
18413 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
18414 type to determine whether aux is to be used.
18415
18416 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18417
18418 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
18419 realpath'ed device string.
18420 Handle floppy (somewhat).
18421 Issue error in unknown case rather than garbage.
18422 Reported by: Axel Beckert.
18423
18424 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18425
18426 * util/grub.d/00_header.in (load_video): Handle the case when no video
18427 drivers available.
18428 Thanks to: Axel Beckert.
18429
18430 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18431
18432 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
18433 variable. Fixes problem on big endian platforms.
18434
18435 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18436
18437 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
18438 It doesn't work well there.
18439
18440 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18441
18442 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
18443 warning.
18444 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
18445 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
18446 counter.
18447
18448 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18449
18450 Use alias->path rather than buggy "canon".
18451
18452 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
18453 (ofdisk_hash_add): New argument curcan. All users updated.
18454
18455 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
18456
18457 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
18458
18459 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
18460
18461 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
18462 loadmask before doing any calculations. Use correct type for offset.
18463 (grub_linux_load64): Likewise.
18464
18465 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
18466
18467 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
18468 with NULL.
18469 (console_grub_equivalences_unshift): Likewise.
18470 Reported by: Daniel Dehennin.
18471
18472 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
18473
18474 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
18475 (set_env_limn_ro): Likewise.
18476 (GRUB_MOD_INIT): Likewise.
18477 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
18478 ARRAY_SIZE while on it.
18479 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
18480 * grub-core/normal/context.c (grub_env_export): Move from here ...
18481 * grub-core/kern/env.c (grub_env_export): ... here.
18482 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
18483 prefix.
18484 * grub-core/kern/main.c (grub_main): Export root and prefix.
18485 * include/grub/env.h (grub_env_export): Export.
18486 Reported by: Seth Goldberg.
18487
18488 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
18489
18490 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18491 Take into account space used by ELF sections and multiboot palette.
18492 Reported by: Grégoire Sutre.
18493
18494 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
18495
18496 * BUGS: New file.
18497
18498 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18499
18500 Pass more appropriate video id to Linux.
18501
18502 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
18503 grub_video_get_driver_id and variable gfxpayloadforcelfb to
18504 fill have_vga.
18505 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
18506 shift params->lfb_size.
18507 * include/grub/i386/linux.h: Make an enume out of have_vga values.
18508
18509 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18510
18511 * util/grub-menulst2cfg.c: Add missing include of misc.h.
18512
18513 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18514
18515 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
18516 separator and pass bootpath/devid even if only one of them is available.
18517 Reported by: Seth Goldberg.
18518
18519 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18520
18521 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
18522 implementations bug on them.
18523
18524 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
18525 memory.
18526 (filter_memory_map): Likewise.
18527
18528 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18529
18530 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
18531 Reported by: nebuchadnezzar.
18532
18533 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18534
18535 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
18536 Reported by: nebuchadnezzar.
18537
18538 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18539
18540 Submenu default support.
18541
18542 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
18543 auto_boot. All users updated.
18544 Declared static.
18545 Handle chosen and default with submenus.
18546 (grub_menu_execute_with_fallback): Declared static.
18547 Don't notify failure if autobooted. Upper level does it.
18548 (menuentry_eq): New function.
18549 (get_entry_number): Use menuentry_eq.
18550 (show_menu): New parameter "autobooted". All users updated.
18551 (grub_show_menu): Likewise.
18552 * include/grub/normal.h (grub_show_menu): Likewise.
18553 * include/grub/menu.h (grub_menu_execute_entry): Removed.
18554 (grub_menu_execute_with_fallback): Likewise.
18555
18556 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18557
18558 * util/grub-mklayout.c (usage): Update help text.
18559
18560 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18561
18562 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
18563
18564 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18565
18566 * util/grub-menulst2cfg.c (main): Trim the line.
18567
18568 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18569
18570 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
18571 (grub_machine_init): Don't check amount of low memory as reportedly
18572 INT 12h can be broken and if low memory is too low we wouldn't have
18573 gotten into grub_machine_init anyway.
18574
18575 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18576
18577 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
18578 (grub_machine_mmap_iterate): Take low memory into account
18579
18580 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18581
18582 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
18583 badfs.
18584 Reported by: TiCPU.
18585
18586 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18587
18588 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
18589 members errors.
18590
18591 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
18592
18593 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
18594 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
18595
18596 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
18597
18598 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
18599 openbsd and netbsd types being in part_bsd module.
18600
18601 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18602
18603 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
18604 (_FILE_OFFSET_BITS): Likewise.
18605 Reported by: Seth Goldberg.
18606
18607 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18608
18609 * configure.ac: Check for libdevmapper header.
18610
18611 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18612
18613 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
18614 avoid aliasing.
18615 (fzap_lookup): Likewise.
18616 (dnode_get): Likewise.
18617 (make_mdn): Likewise.
18618 (zfs_mount): Likewise.
18619 (fzap_iterate): Use temporary pointer to avoid aliasing.
18620 (grub_zfs_read): Likewise.
18621 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
18622 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
18623 pointers to avoid aliasing.
18624 (grub_cmd_xnu_kernel64): Likewise.
18625 (grub_xnu_load_driver): Likewise.
18626
18627 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18628
18629 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
18630 aliasing warning.
18631 (grub_cmd_terminal_output): Likewise.
18632 Reported and tested by: Grégoire Sutre.
18633
18634 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18635
18636 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
18637 warning.
18638 Reported and tested by: Grégoire Sutre.
18639
18640 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18641
18642 * configure.ac: Do CPU substitution even if it's specified explicitly.
18643 Reported and tested by: Alain Greppin.
18644
18645 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18646
18647 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
18648 Reported and tested by: Alain Greppin.
18649
18650 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18651
18652 Satisfy some bison versions need for inttypes.h.
18653
18654 * grub-core/lib/posix_wrap/inttypes.h: New file.
18655 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
18656 (int16_t): Likewise.
18657 (int32_t): Likewise.
18658 (int64_t): Likewise.
18659 Reported and tested by: Alain Greppin.
18660
18661 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18662
18663 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
18664 Silence spurious warning.
18665 Reported and tested by: Alain Greppin.
18666
18667 2011-01-07 Szymon Janc <szymon@janc.net.pl>
18668
18669 * docs/grub.texi (Support automatic decompression): Update with xz
18670 decompression support.
18671
18672 2011-01-07 Szymon Janc <szymon@janc.net.pl>
18673
18674 Improve loaders' kernel command line handling.
18675
18676 * grub-core/lib/cmdline.c: New file.
18677 * include/grub/lib/cmdline.h: Likewise.
18678 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
18679 grub_create_loader_cmdline to create kernel command line.
18680 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
18681 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
18682 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
18683 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
18684 (linux): Add lib/cmdline.c on common.
18685
18686 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
18687
18688 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
18689 inopos might be unaligned.
18690
18691 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
18692
18693 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
18694 endian transformations.
18695 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18696 Based on report by: Doug Nazar.
18697
18698 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
18699
18700 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
18701 array->members[i].start_sector.
18702 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
18703
18704 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
18705
18706 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
18707 Reported and tested by: Grégoire Sutre.
18708
18709 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
18710
18711 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
18712 avoid causing test failures by clearing the screen.
18713
18714 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
18715
18716 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
18717 Fix prefix check to handle the case where dir ends with a slash
18718 (most significantly, "/" itself).
18719 Reported by: Michael Vogt.
18720
18721 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
18722
18723 Run terminfo_cls on initing terminfo output to clear the screen and
18724 move the cursor to (0,0).
18725
18726 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
18727 Call grub_terminfo_output_init.
18728 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
18729 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
18730 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
18731
18732 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
18733
18734 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
18735 only when needed.
18736
18737 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
18738
18739 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
18740 CTRL.
18741
18742 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
18743
18744 The E820 type 5 is BADRAM, not EXEC_CODE.
18745
18746 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
18747 (GRUB_E820_BADRAM): New define.
18748 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
18749 into reserved. Propagate BADRAM.
18750 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
18751 (GRUB_E820_BADRAM): New define.
18752
18753 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18754
18755 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
18756 Ignore the memory post-4G.
18757 (grub_relocator_firmware_alloc_region): Additional debug statement.
18758
18759 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18760
18761 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
18762 names.
18763 Reported by: David Pravec.
18764
18765 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18766
18767 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
18768 BIOSes.
18769
18770 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18771
18772 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
18773 Prevent overflow.
18774 (grub_reed_solomon_recover): Likewise.
18775
18776 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18777
18778 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
18779
18780 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18781
18782 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
18783 variable.
18784
18785 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
18786
18787 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
18788 descriptions of extract_legacy_entries_source and
18789 extract_legacy_entries_configfile.
18790 Reported by: Seung Soo, Ha.
18791
18792 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
18793
18794 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
18795 on devices that do not implement function 0.
18796
18797 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
18798
18799 * grub-core/fs/hfsplus.c: Make parent unsigned.
18800 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
18801 overflows.
18802 (grub_hfsplus_cmp_extkey): Likewise
18803
18804 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
18805
18806 * util/grub-install.in: Correctly use bootloader_id and not
18807 GRUB_DISTRIBUTOR on efibootmgr line.
18808
18809 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
18810
18811 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
18812
18813 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
18814
18815 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
18816 Xen and reorder menu item wording to make it clearer that this entry
18817 will launch Xen. Print separate messages when loading Xen and
18818 Linux.
18819
18820 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
18821
18822 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
18823 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
18824 loop in case of incorrect amiga partmap.
18825
18826 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
18827
18828 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
18829 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
18830 Reported by:EHeM.
18831
18832 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
18833
18834 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
18835 spurious warning.
18836 Reported by: crocket
18837
18838 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18839
18840 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
18841 Preload EFIemu.
18842 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
18843
18844 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18845
18846 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
18847 is loaded
18848 (grub_cmd_xnu_kextdir): Likewise.
18849 (grub_cmd_xnu_splash): Likewise.
18850
18851 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18852
18853 Avoid using Reed-Solomon with 0 redundancy.
18854
18855 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
18856 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
18857 or 0 redundancy.
18858 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
18859 (grub_reed_solomon_recover): Likewise.
18860
18861 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18862
18863 Don't use disk subsystem in freebsd_boot.
18864
18865 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
18866 (freebsd_biosdev): Likewise.
18867 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
18868 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
18869
18870 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
18871
18872 Handling of files of unknown size is currently limited. They can't be
18873 used e.g. for initrd or modules. Moreover gzip handling of not
18874 easily seekable files is buggy. Disable unknown file size for now. May
18875 be inefficient but works.
18876
18877 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
18878 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
18879
18880 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
18881
18882 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
18883 floppy probe.
18884
18885 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
18886
18887 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
18888
18889 2010-12-25 Shea Levy <shlevy>
18890
18891 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
18892
18893 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18894
18895 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
18896 Windows Server 2008.
18897 Reported by: Devin Giddings.
18898
18899 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18900
18901 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
18902 writing an error message because of async power management.
18903 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
18904 (grub_reboot): Likewise.
18905
18906 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
18907
18908 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
18909 keep unit tests from failing when they shouldn't.
18910
18911 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
18912
18913 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
18914 previous patch increased the size of the RS code by 20 bytes (at
18915 least with gcc-4.4), so increase this by 20 bytes to match.
18916 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
18917
18918 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
18919
18920 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
18921 scratch area. Make sure to initialise chosen in standalone mode as
18922 well as non-standalone.
18923 Reported by: Robert Hooker and Andy Whitcroft.
18924 Tested by: Andy Whitcroft.
18925
18926 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
18927
18928 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
18929 constructing a new unescaped string and passing it to grub_xputs in
18930 one go, rather than passing characters to grub_printf one at a time.
18931
18932 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
18933
18934 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
18935 initialising utf16.
18936
18937 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
18938
18939 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
18940 comment. Add an extra layer of quotation, requiring the output of
18941 this function to be used in a printf format string.
18942 (gettext_printf): New function.
18943 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
18944 Extract translatable strings from here-documents and use a temporary
18945 variable instead, so that xgettext can find them.
18946 * util/grub.d/10_kfreebsd.in: Likewise.
18947 * util/grub.d/10_linux.in: Likewise.
18948 * util/grub.d/20_linux_xen.in: Likewise.
18949
18950 * po/grub.d.sed: New file.
18951 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
18952 arguments. Set c-format flags on all strings extracted from
18953 util/grub.d/ (xgettext refuses to include these itself for strings
18954 it extracted from a shell file, but these really are c-format).
18955
18956 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18957
18958 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
18959 Avoid next pointing to nowhere.
18960
18961 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18962
18963 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
18964 rather than assuming than rootblock is exactly in the middle.
18965 (grub_affs_label): Likewise.
18966
18967 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18968
18969 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
18970 reserved_first_sector to 0.
18971 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
18972 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
18973 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
18974
18975 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18976
18977 Fix handling of UTF-16 UDF labels.
18978
18979 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
18980 (read_string): .. here.
18981 (grub_udf_label): Use read_string.
18982
18983 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
18984
18985 * grub-core/normal/menu_entry.c (run): Execute commands from menu
18986 editor under argument scope.
18987 Reported by: Jordan Uggla
18988
18989 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18990
18991 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
18992
18993 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
18994
18995 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
18996 line, and other keys scroll an entire page (previous handling was
18997 for \r and \n to scroll a page and other keys to scroll two lines).
18998
18999 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19000
19001 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19002 Set ptrdest to correct get_physical_target_address rather than
19003 incorrect get_virtual_current_address.
19004
19005 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
19006
19007 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
19008 correct cat to grub_uint8_t * rather than grub_uint32_t *.
19009
19010 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
19011
19012 * .bzrignore: Ignore grub-core/rs_decoder.S.
19013
19014 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
19015
19016 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
19017 .mo/.mo.gz opening sequence to ...
19018 (grub_mofile_open_lang): ... here.
19019 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
19020 * util/grub.d/00_header.in (grub_lang): Include country part of
19021 locale.
19022 Reported by: Mario Limonciello.
19023
19024 2010-12-09 Robert Millan <rmh@gnu.org>
19025
19026 * NEWS: Document addition of ZFS support.
19027
19028 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
19029
19030 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
19031 rather than `/ 2', as the latter requires -Wa,--divide which would
19032 require bumping our minimum binutils version.
19033
19034 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
19035
19036 * util/grub-script-check.c (main): Print script line number on
19037 error.
19038
19039 2010-12-01 Robert Millan <rmh@gnu.org>
19040
19041 * grub-core/fs/zfs/zfs.c: New file.
19042 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
19043 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
19044 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
19045 * grub-core/fs/zfs/zfsinfo.c: Likewise.
19046
19047 * include/grub/zfs/dmu.h: Likewise.
19048 * include/grub/zfs/dmu_objset.h: Likewise.
19049 * include/grub/zfs/dnode.h: Likewise.
19050 * include/grub/zfs/dsl_dataset.h: Likewise.
19051 * include/grub/zfs/dsl_dir.h: Likewise.
19052 * include/grub/zfs/sa_impl.h: Likewise.
19053 * include/grub/zfs/spa.h: Likewise.
19054 * include/grub/zfs/uberblock_impl.h: Likewise.
19055 * include/grub/zfs/vdev_impl.h: Likewise.
19056 * include/grub/zfs/zap_impl.h: Likewise.
19057 * include/grub/zfs/zap_leaf.h: Likewise.
19058 * include/grub/zfs/zfs.h: Likewise.
19059 * include/grub/zfs/zfs_acl.h: Likewise.
19060 * include/grub/zfs/zfs_znode.h: Likewise.
19061 * include/grub/zfs/zil.h: Likewise.
19062 * include/grub/zfs/zio.h: Likewise.
19063 * include/grub/zfs/zio_checksum.h: Likewise.
19064
19065 * Makefile.util.def: Build ZFS into libgrubmods.
19066 * grub-core/Makefile.core.def: Build zfs.mod.
19067
19068 2010-11-30 Szymon Janc <szymon@janc.net.pl>
19069
19070 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
19071 variable.
19072 * grub-core/commands/wildcard.c (match_files): Likewise.
19073
19074 2010-11-30 Robert Millan <rmh@gnu.org>
19075
19076 * grub-core/loader/i386/bsd.c
19077 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
19078 whether kernel is loaded using grub_loader_is_loaded(), rather
19079 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
19080 certain error conditions.
19081
19082 2010-11-30 Robert Millan <rmh@gnu.org>
19083
19084 * grub-core/commands/echo.c: Include `<grub/term.h>'.
19085 (grub_cmd_echo): Call grub_refresh() after printing a message.
19086
19087 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
19088
19089 Avoid using tricks for initialising endian variables.
19090
19091 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
19092 Make const.
19093 (GRUB_MOD_INIT): Don't byte-swap.
19094 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
19095 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
19096 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
19097 (grub_swap_bytes32_compile_time): Likewise.
19098 (grub_cpu_to_le32_compile_time): Likewise.
19099 (grub_cpu_to_le16_compile_time): Likewise.
19100
19101 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
19102
19103 * util/grub-setup.c (setup): Stop recommending --force. People who
19104 understand the dangers of blocklists are able to find this option
19105 anyway and the ones who don't shouldn't use it anyway.
19106
19107 2010-11-26 Robert Millan <rmh@gnu.org>
19108
19109 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
19110 Update all users.
19111
19112 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
19113
19114 Fix LVM-on-RAID probing.
19115
19116 * util/grub-probe.c (probe): Remember which disk was detected as
19117 RAID (perhaps an LVM physical volume). Use that disk's raidname
19118 rather than that of the top-level disk.
19119
19120 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
19121
19122 Fix cmdline argument quotes for setparams command of menuentry
19123 definitions.
19124
19125 * grub-core/commands/menuentry.c (setparams_prefix): Use single
19126 quotes for arguments.
19127 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
19128 grub_strchrsub function instead.
19129
19130 * include/grub/misc.h (grub_strchrsub): New function.
19131
19132 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
19133
19134 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
19135 effort by skipping "." and ".." entries up-front.
19136 Suggested by: Michael Lazarev.
19137
19138 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
19139
19140 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
19141 ldflags to ldadd, to fix link line ordering.
19142 (none_decompress): Likewise.
19143
19144 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
19145
19146 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
19147 platforms.
19148 (grub-emu-lite): Remove kern/emu/cache.S.
19149
19150 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
19151
19152 * util/deviceiter.c (compare_devices): If the by-id link for a
19153 device couldn't be resolved, fall back to sorting by the by-id link
19154 rather than segfaulting.
19155 Reported and tested by: Daniel Mierswa.
19156
19157 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
19158
19159 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
19160 ldflags, to fix link line ordering.
19161
19162 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
19163
19164 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
19165 linkers are picky about this.
19166
19167 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
19168
19169 * grub-core/Makefile.am (command.lst): Adjust sed expression
19170 ordering so that extended and priority commands aren't treated as
19171 ordinary commands.
19172
19173 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
19174
19175 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
19176 Remove byte-swapping function calls, which are not valid in
19177 structure initialisers.
19178 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
19179 non-const.
19180 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
19181 grub_gpt_partition_type_bios_boot.
19182
19183 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
19184
19185 Fix test program build on GNU/kFreeBSD.
19186
19187 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
19188 $(LIBNVPAIR)' library dependencies.
19189
19190 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
19191
19192 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
19193
19194 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
19195
19196 * util/grub-install.in: Remove excessive quoting that broke
19197 installations to RAID devices.
19198
19199 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19200
19201 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
19202 bootloader version instead of 0.
19203
19204 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19205
19206 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
19207 warning.
19208
19209 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19210
19211 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
19212 retrieve the metadat sector if size isn't known.
19213 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19214
19215 2010-11-18 Robert Millan <rmh@gnu.org>
19216
19217 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
19218 with grub_memcmp().
19219
19220 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
19221
19222 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
19223 arrow.
19224 Reported by: Jordan Uggla.
19225
19226 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19227
19228 Make better UTF compliant.
19229
19230 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
19231 sequences as incorrect.
19232 (grub_is_valid_utf8): Likewise.
19233 (grub_utf8_to_ucs4): Likewise.
19234 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
19235 (grub_ucs4_to_utf8_alloc): Likewise.
19236 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
19237
19238 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19239
19240 Make legacy_source behave like source.
19241
19242 * grub-core/commands/legacycfg.c (legacy_file): Don't call
19243 grub_show_menu.
19244 (grub_cmd_legacy_source): Call grub_show_menu if needed.
19245
19246 2010-11-16 Colin Watson <cjwatson@debian.org>
19247
19248 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
19249 (-Wunused implies -Wunused-parameter, but not vice versa).
19250
19251 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
19252
19253 * configure.ac: Make error messages less confusing by testing for
19254 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
19255 accepted, but produces a diagnostic if something else is wrong).
19256
19257 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
19258
19259 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
19260 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
19261 (now unused).
19262 (grub_keyboard_controller_init)
19263 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
19264 read the initial state since controller isn't inited yet.
19265
19266 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
19267
19268 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
19269 allocate_regbeg may need to create new chunk header.
19270
19271 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19272
19273 Fix quoting in legacy parser.
19274
19275 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
19276 single quotes.
19277 (grub_legacy_parse): Likewise.
19278 Reported by: Jordan Uggla.
19279 Tested by: Jordan Uggla.
19280
19281 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19282
19283 Don't add -lgcc on i386 and x86_64.
19284
19285 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
19286 * conf/Makefile.common (LDADD_KERNEL): Likewise.
19287 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
19288
19289 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19290
19291 * configure.ac: Add -Wno-trampolines when supported.
19292
19293 2010-11-14 Modestas Vainius <modax@debian.org>
19294
19295 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
19296 fakeraid.
19297
19298 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19299
19300 Add generic logical block size support for UDF.
19301
19302 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
19303 (GRUB_UDF_BLKSZ): Removed.
19304 (struct grub_udf_data): New field "lbshift" to hold the logical block
19305 size of the file system in log2 format. All users updated.
19306 (sblocklist): Change type to unsigned.
19307 (grub_udf_mount): Change type of "sblklist" to unsigned.
19308 Move AVDP search before VRS recognition, because the latter requires
19309 knowledge of the logical block size, which is detected during the
19310 former.
19311 Detect and validate logical block size during AVDP search, adding
19312 support for block sizes 512, 1024 and 4096.
19313 Make VRS recognition independent of block size.
19314
19315 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19316
19317 Properly handle deleted files on UDF.
19318
19319 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
19320 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
19321 set.
19322
19323 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19324
19325 Support reading files larger than 2 GiB.
19326
19327 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
19328 "offset" to grub_off_t.
19329 (grub_udf_read_file): Likewise for parameter "pos".
19330
19331 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19332
19333 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
19334 unavailable.
19335 (Simple configuration): Refer to Changes from GRUB Legacy about
19336 save_env availability.
19337
19338 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19339
19340 * util/grub-install.in: Ignore empty partition table detection
19341 instead of trying to include part_ module.
19342
19343 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19344
19345 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
19346 LVM on RAID support.
19347
19348 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19349
19350 Properly define WORDS_BIGENDIAN in wrapped environments.
19351
19352 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
19353 definition.
19354 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
19355
19356 Reported by: Manoel Rebelo Abranches.
19357 Tested by: Manoel Rebelo Abranches.
19358
19359 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19360
19361 * util/grub-mkconfig.in: Fix quoting.
19362
19363 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19364
19365 Support big ext2 files.
19366
19367 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
19368 (grub_ext2_read_block): Support triple indirect blocks.
19369 (grub_ext2_read_file): Use 64-bit types and read size_high.
19370 (grub_ext2_open): Read size_high.
19371 Reported by: Ximin Luo.
19372 Tested by: Manoel Rebelo Abranches.
19373
19374 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19375
19376 * util/grub-install.in: Handle filenames containing spaces.
19377 Reported by: Jordan Uggla.
19378 Tested by: Jordan Uggla.
19379
19380 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19381
19382 * util/grub-mkconfig.in (grub_script_check): New variable.
19383 Use grub_script_check instead of grub-script-check.
19384 Reported by: Barry Jackson.
19385
19386 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19387
19388 * docs/grub.texi (menu): Correct the order.
19389 Reported by: D. Hugh Redelmeier.
19390
19391 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
19392
19393 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
19394 jump.
19395
19396 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
19397
19398 * include/grub/elfload.h (grub_elf32_size): New parameter.
19399 All users updated.
19400 Return maximum segments alignment.
19401 (grub_elf64_size): Likewise.
19402 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
19403 Return maximum segments alignment.
19404 (grub_elf64_size): Likewise.
19405 * grub-core/loader/powerpc/ieee1275/linux.c:
19406 (grub_linux_claimmap_iterate): New function. Uses the
19407 "available" property in the "memory" node for memory allocation
19408 for kernel in the PowerPC loader.
19409 (grub_linux_load32): Correctly find linux entry point offset.
19410 (grub_linux_load64): Likewise.
19411
19412 2010-11-07 Robert Millan <rmh@gnu.org>
19413
19414 On mips-yeeloong, build with -march=loongson2f when this flag is
19415 available (GCC >= 4.4).
19416 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
19417 `-march=mips3'.
19418 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
19419 or otherwise add -march=mips3.
19420
19421 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
19422
19423 Suppress shell expansion on echo '*' and echo "*" like cases.
19424 Reported by: Jordan Uggla.
19425
19426 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
19427 string arguments before shell expansion.
19428 * tests/grub_cmd_echo.in: New testcases.
19429
19430 2010-11-07 Robert Millan <rmh@gnu.org>
19431
19432 * conf/mips-qemu-mips.rmk: Remove stale file from previous
19433 transition.
19434
19435 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
19436
19437 * grub-core/kern/emu/hostdisk.c
19438 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
19439
19440 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
19441
19442 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
19443 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
19444 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
19445
19446 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
19447
19448 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
19449
19450 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
19451
19452 * util/grub-install.in: Replace useless recomendation to pass
19453 --modules with a recomendation to report a bug.
19454
19455 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
19456
19457 Properly register serial terminfo.
19458 Reported by: Jordan Uggla
19459
19460 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
19461 const.
19462 (grub_serial_terminfo_output_template): Likewise.
19463 (grub_cmd_serial): Register "serial" with terminfo.
19464 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
19465 grub_serial_terminfo_output.
19466
19467 2010-11-05 Robert Millan <rmh@gnu.org>
19468
19469 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
19470 needed).
19471
19472 2010-11-05 Robert Millan <rmh@gnu.org>
19473
19474 On Yeeloong, pass machine type information to Linux.
19475
19476 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
19477 (LOONGSON_MACHTYPE): New macro, set to
19478 "machtype=lemote-yeeloong-2f-8.9inches".
19479 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
19480 additional argument to Linux.
19481
19482 2010-11-04 Robert Millan <rmh@gnu.org>
19483
19484 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
19485 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
19486 (its SATA disks are detected as slaveless IDE master drives on
19487 kFreeBSD).
19488 Reported by Carsten Aulbert.
19489
19490 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
19491
19492 * util/bin2h.c (main): Fix spelling error in generated output.
19493
19494 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
19495
19496 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
19497
19498 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19499
19500 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
19501 vga= option is supplied.
19502
19503 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19504
19505 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
19506 * util/grub.d/10_kfreebsd.in: Likewise.
19507 * util/grub.d/10_linux.in: Likewise.
19508 * util/grub.d/20_linux_xen.in: Likewise.
19509
19510 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19511
19512 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
19513 argument as an argument to no-argument option.
19514
19515 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19516
19517 * util/grub.d/10_linux.in: Add missing load_video with explicit
19518 GRUB_GFXPAYLOAD_LINUX.
19519
19520 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19521
19522 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
19523
19524 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19525
19526 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
19527 elements with invlid index.
19528 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19529 * grub-core/disk/raid.c (insert_array): Automatically reallocate
19530 members.
19531 * include/grub/raid.h (grub_raid_member): New struct.
19532 (grub_raid_array): Transform devices and start_sector into usage of
19533 grub_raid_member. All users updated
19534 (allocated_devs): New member.
19535
19536 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19537
19538 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
19539 is modified
19540
19541 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
19542
19543 NetBSD build fix for getline function conflict from gnulib.
19544
19545 * Makefile.util.def (libgrubkern.a): New library for grub kernel
19546 components that depend on gnulib headers.
19547 (libgrubmods.a): Renamed from earlier libgrub.a.
19548 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
19549
19550 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
19551
19552 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
19553 install rather than creating a broken install.
19554
19555 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
19556
19557 * util/grub-setup.c (argp): Remove misleading example of installing to
19558 a partition.
19559
19560 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
19561
19562 * util/grub-setup.c (setup): Clarify the error message.
19563
19564 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
19565
19566 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
19567
19568 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
19569
19570 * grub-core/kern/emu/misc.c
19571 (grub_make_system_path_relative_to_its_root)
19572 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
19573
19574 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
19575
19576 * grub-core/kern/emu/misc.c
19577 (grub_make_system_path_relative_to_its_root): Revert r2882.
19578
19579 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
19580
19581 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
19582 useless field head. All users updated.
19583 (free_subchunk): Correct handling of IN_REGION subchunk.
19584
19585 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
19586
19587 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
19588 (Supported kernels): Likewise.
19589
19590 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
19591
19592 Make mktemp invocations portable.
19593
19594 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
19595 exit if mktemp fails.
19596 * tests/grub_script_blockarg.in: Likewise.
19597 * tests/partmap_test.in: Likewise.
19598 * tests/util/grub-shell-tester.in: Likewise.
19599 * tests/util/grub-shell.in: Likewise.
19600 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19601 * Makefile.am: Likewise, and chain shell commands with `&&'
19602 instead of ';'.
19603 * util/grub-mkrescue.in: Use the same explicit template as above, and
19604 exit if mktemp fails.
19605
19606 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
19607
19608 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
19609 Linux kernel, reported by Dennis Schridde.
19610
19611 2010-10-17 Szymon Janc <szymon@janc.net.pl>
19612
19613 * grub-core/normal/auth.c (grub_auth_check_authentication):
19614 Set-but-not-used variable removed.
19615
19616 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19617
19618 * docs/grub.texi (GNU/Linux): Document APM unavailability with
19619 32-bit linux protocol.
19620
19621 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19622
19623 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
19624 cursor shape for sanity.
19625
19626 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19627
19628 * docs/grub.texi (Installation): Document buggy BIOS install.
19629
19630 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19631
19632 * docs/grub.texi (Installation): Indent.
19633
19634 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19635
19636 * util/grub-setup.c (setup): New parameter allow_floppy.
19637 (arguments): New member allow_floppy.
19638 (argp_parser): Handle --allow-floppy.
19639 (main): Pass allow_floppy.
19640 * util/grub-install.in: New option --allow-floppy passed though to
19641 grub-setup.
19642
19643 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19644
19645 * util/grub-install.in: Handle partitionless disks.
19646
19647 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19648
19649 * util/grub-setup.c (setup): Don't clean blocklists before readability
19650 verfification.
19651
19652 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19653
19654 * docs/grub.texi (Installation): Document embedding zone. Remove
19655 obsolete grub-install example.
19656
19657 2010-10-16 Szymon Janc <szymon@janc.net.pl>
19658
19659 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
19660 Set-but-not-used variable ifdef'ed.
19661 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
19662 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
19663 variable removed.
19664 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
19665 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
19666 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
19667 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
19668 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
19669 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
19670 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
19671 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
19672 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
19673 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
19674 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
19675 Likewise.
19676
19677 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19678
19679 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
19680 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
19681 enum value.
19682
19683 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19684
19685 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
19686 synonym to _S5_. Needed for some DSDTs.
19687
19688 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19689
19690 Userspace ACPI parser debugging.
19691
19692 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
19693 headers and add relevant defines. Don't include standard headers.
19694 (main) [GRUB_DSDT_TEST]: New function.
19695 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
19696 Don't declare functions.
19697
19698 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19699
19700 Remove dead grub_efi_mm_fini.
19701
19702 * grub-core/kern/efi/mm.c (allocated_page): Removed.
19703 (ALLOCATED_PAGES_SIZE): Likewise.
19704 (MAX_ALLOCATED_PAGES): Likewise.
19705 (allocated_pages): Likewise.
19706 (grub_efi_allocate_pages): Don't record allocated pages.
19707 (grub_efi_free_pages): Likewise.
19708 (grub_efi_mm_init): Likewise.
19709 (grub_efi_mm_fini): Removed.
19710
19711 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19712
19713 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
19714 (grub_efi_mm_init): Take into account the memory map size increase.
19715
19716 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19717
19718 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
19719 (serial_hw_put): Wait based on real time rather than port reads. Don't
19720 roken ports.
19721 * include/grub/serial.h (grub_serial_port): New field broken.
19722
19723 2010-10-16 Robert Millan <rmh@gnu.org>
19724
19725 * grub-core/kern/emu/misc.c
19726 (grub_make_system_path_relative_to_its_root): Fix premature return
19727 when processing non-root ZFS filesystems.
19728 Reported by Sergio Talens-Oliag.
19729
19730 2010-10-15 Robert Millan <rmh@gnu.org>
19731
19732 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
19733 guarantee compressed ones are processed first.
19734
19735 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
19736
19737 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
19738 grub_efiemu_autocore.
19739
19740 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
19741
19742 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
19743 rather than 0x1b.
19744 (grub_console_getkey): Use correct jae opcode rather than ja.
19745
19746 2010-10-12 Robert Millan <rmh@gnu.org>
19747
19748 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
19749 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
19750 variable. All references updated.
19751
19752 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
19753
19754 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
19755
19756 Correctly distinguish mdraid flavours.
19757
19758 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
19759 (insert_array): New argument raid.
19760 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
19761 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
19762 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
19763
19764 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
19765
19766 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
19767 handling of special keys.
19768
19769 2010-10-02 Aleš Nesrsta <starous@volny.cz>
19770
19771 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
19772 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
19773
19774 2010-10-02 Aleš Nesrsta <starous@volny.cz>
19775
19776 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
19777 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
19778 users updated.
19779 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
19780 Use right endpoint when querying descriptor.
19781
19782 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
19783
19784 Clear out 0x80 color bit on EFI.
19785 Tested by: decoder
19786 Reported by: decoder and meta tech.
19787
19788 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
19789 (grub_console_setcolorstate): Clear out 0x80 bit.
19790 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
19791 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
19792 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
19793
19794 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
19795
19796 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
19797 Set to "auto".
19798
19799 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19800
19801 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
19802 mo_file after freeing.
19803
19804 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19805
19806 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
19807
19808 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19809
19810 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
19811 flags.
19812
19813 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19814
19815 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
19816 usage.
19817
19818 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19819
19820 Put terminfo into core on ieee1275 and yeeloong (needed for console).
19821
19822 * gentpl.py: New groups terminfoinkernel and terminfomodule.
19823 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
19824 and terminfo.h when needed.
19825 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
19826 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
19827 (terminfo): Enable only on terminfokernel.
19828 (extcmd): Likewise.
19829 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
19830 * include/grub/lib/arg.h: Likewise.
19831 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
19832 incorrect usage of ->.
19833
19834 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19835
19836 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
19837 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
19838
19839 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19840
19841 Fix coreboot compilation.
19842
19843 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
19844 Take VBE info into account even if only text is supported.
19845 (fill_vbe_info): Take into account the case when only VGA text
19846 is supported.
19847 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
19848 on coreboot, multiboot and qemu.
19849
19850 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19851
19852 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
19853 debug messages.
19854 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
19855
19856 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19857
19858 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
19859 parameters.
19860
19861 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19862
19863 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
19864 if they were BSD-style.
19865
19866 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19867
19868 * grub-core/boot/i386/pc/lnxboot.S: Replace
19869 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
19870 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
19871
19872 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19873
19874 Write embedding zone using Reed-Solomon.
19875
19876 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
19877 * grub-core/Makefile.am (rs_decoder.S): New target.
19878 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
19879 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
19880 (multiboot): Move to RS part.
19881 (post_reed_solomon): New label.
19882 (grub_boot_drive): Move to non-RS part since it's modified in memory
19883 on boot.
19884 Include rs_decoder.S.
19885 * grub-core/lib/reed_solomon.c: New file.
19886 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
19887 New definition.
19888 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
19889 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
19890 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
19891 * include/grub/partition.h (grub_partition_map): Change prototype of
19892 embed to allow returning additional sectors.
19893 * include/grub/reed_solomon.h: New file.
19894 * util/grub-setup.c (setup): Handle Reed-Solomon.
19895
19896 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
19897
19898 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
19899 i386 and x86-64 definedness tests.
19900
19901 2010-09-27 Yves Blusseau <blusseau@zetam.org>
19902
19903 Fix generation of kernel_syms.lst
19904
19905 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
19906 ASM_PREFIX
19907
19908 2010-09-26 Robert Millan <rmh@gnu.org>
19909
19910 Support degraded ZFS arrays in "grub-probe -t device" resolution.
19911
19912 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
19913 the pool is an array of devices, iterate through it and return the
19914 first device that passes a stat() test (instead of blindly returning
19915 the first one).
19916
19917 2010-09-26 Robert Millan <rmh@gnu.org>
19918
19919 Build fixes for GNU/kFreeBSD.
19920
19921 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
19922 to programs that require ZFS conversion.
19923 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
19924 kernels that don't have FLOPPY_MAJOR.
19925
19926 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
19927
19928 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
19929
19930 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
19931
19932 Fix grub-emu build.
19933
19934 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
19935 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
19936 mdraid09 and mdraid1x.
19937
19938 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
19939
19940 Re-enable grub-extras.
19941
19942 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
19943 avoid confusing Automake. Run autogen only twice, once for the top
19944 level and once for grub-core. Add Makefile.util.def and
19945 Makefile.core.def from extra modules to the appropriate autogen
19946 invocations. If Makefile.common exists in an extra module, include
19947 it in both Makefile.util.am and grub-core/Makefile.core.am;
19948 similarly, include any Makefile.util.common file in Makefile.util.am
19949 and any Makefile.core.common file in grub-core/Makefile.core.am.
19950 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
19951 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
19952 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
19953 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
19954
19955 * gentpl.py (gvar_add): Turn GVARS into a set.
19956 (global_variable_initializers): Sort global variables on output.
19957 (vars_init): New function.
19958 (first_time): Likewise.
19959 (library): Ensure that non-global variable initialisations are
19960 emitted before the first time we emit code for a library block.
19961 Append to variables rather than setting them. Only emit
19962 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
19963 each conditional path.
19964 (program): installdir() emits an Autogen macro, so must be passed to
19965 var_add rather than gvar_add.
19966 (data): Likewise.
19967 (script): Likewise.
19968 (rules): New function, centralising handling for different target
19969 types. Set up Guile association lists for first_time and vars_init,
19970 and send most output to a diversion so that variable initialisations
19971 can be emitted first.
19972 (module_rules): Use new rules function.
19973 (kernel_rules): Likewise.
19974 (image_rules): Likewise.
19975 (library_rules): Likewise.
19976 (program_rules): Likewise.
19977 (script_rules): Likewise.
19978 (data_rules): Likewise.
19979
19980 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
19981
19982 * .bzrignore: Add contrib and grub-core/contrib. Remove
19983 grub-core/Makefile.gcry.am.
19984
19985 2010-09-24 Yves Blusseau <blusseau@zetam.org>
19986
19987 * grub-core/lib/LzFind.c: Add missing include.
19988 * grub-core/lib/LzmaEnc.c: Likewise.
19989 * grub-core/script/lexer.c: Likewise.
19990 * grub-core/script/yylex.l: Likewise.
19991 * util/grub-macho2img.c: Likewise.
19992 * util/grub-menulst2cfg.c: Likewise.
19993 * util/grub-mklayout.c: Likewise.
19994 * util/grub-mkpasswd-pbkdf2.c
19995 * util/grub-mkrelpath.c: Likewise.
19996 * util/resolve.c: Likewise.
19997
19998 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
19999
20000 * Makefile.util.def (example_unit_test): Add
20001 grub-core/gnulib/libgnu.a.
20002
20003 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
20004
20005 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
20006
20007 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
20008
20009 Support xz compression on yeeloong.
20010
20011 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
20012 * configure.ac: Check for LZMA.
20013 * grub-core/Makefile.core.def (xz_decompress): New target.
20014 (none_decompress): Likewise.
20015 * grub-core/boot/decompressor/minilib.c: New file.
20016 * grub-core/boot/decompressor/none.c: Likewise.
20017 * grub-core/boot/decompressor/xz.c: Likewise.
20018 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
20019 * grub-core/kern/mips/cache_flush.S: Likewise.
20020 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
20021 * grub-core/kern/mips/startup.S: Move first stage to ...
20022 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
20023 nomacro.
20024 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
20025 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
20026 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
20027 Allocate statically.
20028 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
20029 Allocate statically or use scratch. Don't check CRC32.
20030 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
20031 Allocate statically. Don't check CRC32.
20032 * include/grub/decompressor.h: New file.
20033 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
20034 Removed.
20035 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
20036 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
20037 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
20038 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
20039 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
20040 * util/grub-mkimage.c (grub_compression_t): New type.
20041 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
20042 (image_target_desc): New field default_compression.
20043 (image_targets): Adjust yeeloong targets.
20044 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
20045 (compress_kernel): New parameter comp.
20046 (generate_image): Likewise. Handle new compression case.
20047 (options): New option --compression
20048 (help): Likewise.
20049 (main): Handle new option.
20050
20051 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
20052
20053 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
20054
20055 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
20056
20057 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20058 typo in __i386__ conditional.
20059
20060 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20061
20062 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
20063 include.
20064
20065 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20066
20067 Implement EFI and ACPI multiboot2 extensions.
20068
20069 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
20070 new tags as supported.
20071 (acpiv2_size): New function.
20072 (grub_multiboot_get_mbi_size): Take new tags into account.
20073 (grub_multiboot_make_mbi): Add new tags.
20074 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
20075
20076 2010-09-21 Aleš Nesrsta <starous@volny.cz>
20077
20078 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
20079 Added missing configuration of USB device.
20080
20081 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
20082
20083 * grub-core/normal/menu_entry.c (run): Make sure we always return
20084 a value.
20085
20086 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
20087
20088 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
20089 NumberOfPages is UINT64 according to the UEFI specification, not
20090 UINTN. Fix printf format.
20091
20092 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
20093
20094 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
20095 `err' to grub_usb_err_t.
20096 Reported and tested by: KESHAV P.R.
20097
20098 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
20099
20100 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
20101 tpart non-const, so that we can assign to it. (Since this is a
20102 typedef, the constness refers to the pointer rather than what it
20103 points to.)
20104
20105 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
20106
20107 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
20108 $(top_srcdir)/grub-core/gnulib as well as
20109 $(top_builddir)/grub-core/gnulib.
20110 Reported by: KESHAV P.R.
20111
20112 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
20113
20114 * util/grub-install.in: Fix the bootloader ID option to be
20115 consistently --bootloader-id, not --bootloader_id.
20116 Reported by: KESHAV P.R.
20117
20118 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
20119
20120 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
20121 check hash checksum." consistently translatable.
20122
20123 2010-09-21 Yves Blusseau <blusseau@zetam.org>
20124
20125 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
20126 $(top_builddir).
20127
20128 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
20129
20130 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
20131 (GRUB_MOD_INIT): Register sha1sum command.
20132 (GRUB_MOD_FINI): Unregister sha1sum command.
20133
20134 2010-09-21 Yves Blusseau <blusseau@zetam.org>
20135
20136 Keep boot and grub directory names in sync with utils scripts
20137
20138 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
20139 * config.h.in: Add previous macros.
20140 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
20141 * util/grub-install.in: Use $bootdir and $grubdir variables.
20142
20143 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
20144
20145 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
20146 convert partition names to disk names if the new `convert' parameter
20147 is set.
20148 (grub_util_biosdisk_get_grub_dev): If opening the disk device
20149 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
20150 disk in its own right. This can happen with Xen disk images.
20151
20152 2010-09-21 Yves Blusseau <blusseau@zetam.org>
20153
20154 * util/grub-editenv.c: Update strings to avoid warnings when generating
20155 grub.pot file.
20156 * util/grub-setup.c: Likewise.
20157
20158 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
20159
20160 * configure.ac: Change version to 1.99~beta0.
20161
20162 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
20163
20164 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
20165 Add BADRAM.
20166 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
20167 Likewise.
20168 * include/multiboot.h: Resynced with specification.
20169 * include/multiboot2.h: Likewise.
20170
20171 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
20172
20173 Fix po directory handling.
20174
20175 * configure.ac: Create po/Makefile.in rather than po/Makefile.
20176 * grub-core/gnulib/Makefile.am: Import gettext module.
20177 * m4/gnulib-cache.m4: Likewise.
20178 * m4/gnulib-comp.m4: Likewise.
20179 * m4/gettext.m4: New file, from gnulib.
20180 * m4/glibc2.m4: Likewise.
20181 * m4/iconv.m4: Likewise.
20182 * m4/intdiv0.m4: Likewise.
20183 * m4/intl.m4: Likewise.
20184 * m4/intldir.m4: Likewise.
20185 * m4/intlmacosx.m4: Likewise.
20186 * m4/intmax.m4: Likewise.
20187 * m4/inttypes-pri.m4: Likewise.
20188 * m4/lcmessage.m4: Likewise.
20189 * m4/lib-ld.m4: Likewise.
20190 * m4/lib-link.m4: Likewise.
20191 * m4/lib-prefix.m4: Likewise.
20192 * m4/lock.m4: Likewise.
20193 * m4/nls.m4: Likewise.
20194 * m4/po.m4: Likewise.
20195 * m4/printf-posix.m4: Likewise.
20196 * m4/progtest.m4: Likewise.
20197 * m4/threadlib.m4: Likewise.
20198 * m4/uintmax_t.m4: Likewise.
20199 * m4/visibility.m4: Likewise.
20200 * po/Makefile.am: Remove.
20201 * po/Makefile.in.in: New file, from gettext.
20202 ($(DOMAIN).pot-update): Support POTFILES-shell.
20203 * po/Makevars: New file.
20204 * po/POTFILES-shell: Rename to ...
20205 * po/POTFILES-shell.in: ... this. Update.
20206 * po/POTFILES: Rename to ...
20207 * po/POTFILES.in: ... this. Update.
20208 * po/Rules-quot: New file, from gettext.
20209 * po/boldquot.sed: Likewise.
20210 * po/en@boldquot.header: Likewise.
20211 * po/en@quot.header: Likewise.
20212 * po/insert-header.sin: Likewise.
20213 * po/quot.sed: Likewise.
20214 * po/remove-potcdate.sin: Likewise.
20215
20216 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20217
20218 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
20219
20220 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20221
20222 * util/grub.d/20_linux_xen.in: Use submenus.
20223
20224 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20225
20226 Support submenus.
20227
20228 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
20229 parameter submenu. All users updated.
20230 * grub-core/normal/main.c (free_menu): Rename to ...
20231 (grub_normal_free_menu): ... this. Made global.
20232 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
20233 if requested.
20234 * grub-core/normal/menu_entry.c (screen): New field submenu.
20235 (make_screen): Set submenu.
20236 (run): Open new context if requested.
20237 * include/grub/menu.h (grub_menu_entry): New field submenu.
20238 * include/grub/normal.h (grub_normal_free_menu): New proto.
20239
20240 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20241
20242 Menu entries extractor.
20243
20244 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
20245 variants.
20246 (GRUB_MOD_INIT): Register new variants.
20247 (GRUB_MOD_FINI): Unregister new variants.
20248 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
20249 into grub_cmd_legacy_source.
20250 (grub_cmd_legacy_source): Implement extractor variants.
20251 (GRUB_MOD_INIT): Register new variants.
20252 (GRUB_MOD_FINI): Unregister new variants.
20253 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
20254 as an extractor.
20255 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
20256 search as an extractor.
20257 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
20258 test as an extractor.
20259 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
20260 as an extractor.
20261 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
20262 (grub_env_new_context): New function.
20263 (grub_env_context_open): Likewise.
20264 (grub_env_extractor_open): Likewise.
20265 (grub_env_extractor_close): Likewise.
20266 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
20267 grub_extractor_level.
20268 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
20269 * include/grub/env.h (grub_env_extractor_open): New proto.
20270 (grub_env_extractor_close): Likewise.
20271 * include/grub/normal.h (grub_extractor_level): New external variable.
20272
20273 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20274
20275 Make cutmem accept a region specification.
20276 Suggested by: Samuel Thibault
20277
20278 * grub-core/mmap/mmap.c (parsemem): New function.
20279 (grub_cmd_cutmem): Handle new arguments.
20280
20281 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20282
20283 New command cutmem.
20284
20285 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
20286 (GRUB_MOD_INIT): Register new command.
20287 (GRUB_MOD_FINI): Unregister new command.
20288
20289 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20290
20291 Support some annoying BSD and Minix subpartitions.
20292
20293 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
20294 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
20295 Properly handle concatenation.
20296 * grub-core/kern/device.c (grub_device_iterate): Likewise.
20297 * grub-core/normal/completion.c (iterate_partition): Likewise.
20298 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
20299 contain partition. All users updated.
20300 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
20301 struct.
20302 (grub_openbsdlabel_partition_map): Likewise.
20303 (bsdlabel_partition_map_iterate): Rename to ..
20304 (iterate_real): ... this. New arguments sector, freebsd and pmap.
20305 (bsdlabel_partition_map_iterate): New function.
20306 (netopenbsdlabel_partition_map_iterate): Likewise.
20307 (netbsdlabel_partition_map_iterate): Likewise.
20308 (openbsdlabel_partition_map_iterate): Likewise.
20309 (GRUB_MOD_INIT): Register new partmaps.
20310 (GRUB_MOD_FINI): Unregister new partmaps.
20311 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
20312 (grub_partition_msdos_iterate): ... this. All users updated.
20313 Don't support embedding other than in a minix partition.
20314 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
20315 proto.
20316 * include/grub/partition.h (grub_partition): New field msdostype.
20317 * util/grub-install.in: Handle openbsd and netbsd types being in
20318 part_bsd module.
20319
20320 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20321
20322 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
20323
20324 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
20325 * grub-core/Makefile.core.def (mdraid): Renamed to ...
20326 (mdraid09): ... this.
20327 (mdraid1x): New module.
20328 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
20329 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
20330
20331 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20332
20333 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
20334 vsprintf.
20335
20336 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
20337
20338 * grub-core/commands/efi/lsefimmap.c: Correct header.
20339 * NEWS: Update.
20340
20341 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
20342
20343 * util/grub-editenv.c (argp_parser): Don't pass translated strings
20344 as printf format strings; the translations might contain '%' which
20345 could cause a crash.
20346 (main): Likewise.
20347 * util/grub-fstest.c (argp_parser): Likewise.
20348 * util/grub-setup.c (argp_parser): Likewise.
20349 (main): Likewise.
20350
20351 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20352
20353 Use argp in grub-fstest.
20354
20355 * util/grub-fstest.c: Don't include getopt.h.
20356 Include argp.h.
20357 (root): New variable.
20358 (args_count): Likewise.
20359 (nparm): Likewise.
20360 (num_disks): Likewise.
20361 (images): Likewise.
20362 (cmd): Likewise.
20363 (debug_str): Likewise.
20364 (args): Likewise.
20365 (options): Transformed to argp.
20366 (usage): Removed.
20367 (main): Split argument parsing into ...
20368 (argp_parser): ... this. Changed to argp format.
20369 (argp): New variable.
20370 (main): Use argp_parse.
20371
20372 2010-09-20 Tristan Gingold <gingold@free.fr>
20373 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
20374 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20375
20376 * grub-core/commands/efi/lsefimmap.c: New file.
20377 * grub-core/Makefile.core.def (lsefimmap): New module.
20378 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
20379
20380 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20381
20382 Pause the execution (10s max) if any errors are displayed so the user
20383 has a chance to see them.
20384
20385 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
20386 (grub_print_error): Increment grub_err_printed_errors.
20387 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
20388 execution if any errors were displayed.
20389 (show_menu): Remove old code for pause.
20390 * grub-core/normal/menu_entry.c (run): Likewise.
20391 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
20392 users updated.
20393 (grub_normal_get_char_counter): Likewise.
20394 * include/grub/err.h (grub_err_printed_errors): New external variable.
20395 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
20396
20397 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20398
20399 Support multiboot VBE info.
20400
20401 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
20402 Take VBE info into account.
20403 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
20404 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
20405 Call fill_vbe_info when appropriate.
20406 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
20407 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
20408 as supported.
20409 (grub_multiboot_get_mbi_size): Take new tags into account.
20410 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
20411 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
20412 Call fill_vbe_tag when appropriate.
20413 (grub_multiboot_make_mbi): Properly align tags.
20414 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
20415 function.
20416 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
20417 proto.
20418 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
20419
20420 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20421
20422 Suport manual terminal geometry specification.
20423
20424 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
20425 Save state in grub_ofconsole_terminfo_output.
20426 (grub_ofconsole_term): Use grub_terminfo_getwh.
20427 (grub_ofconsole_getwh): Removed.
20428 * grub-core/term/serial.c (grub_serial_getwh): Removed.
20429 (grub_serial_term): Use grub_terminfo_getwh.
20430 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
20431 (options): New struct.
20432 (OPTION_*): New enum.
20433 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
20434 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
20435 width and height.
20436 (grub_terminfo_getwh): New proto.
20437 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
20438
20439 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20440
20441 Handle legacy "terminal" command.
20442
20443 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
20444 and FLAG_TERMINAL.
20445 (legacy_commands): Add terminal and title.
20446 (grub_legacy_parse): Handle terminal. Simplify title handling.
20447
20448 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20449
20450 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
20451 parameters overflow.
20452
20453 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
20454
20455 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
20456 widthspec.h.
20457
20458 * docs/grub.texi (Shell-like scripting): Document `!'.
20459 (Network): Simplify using new i386-pc-pxe format. Mention
20460 grub-mknetdir.
20461
20462 * NEWS: Update.
20463
20464 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
20465
20466 * Makefile.am (SUBDIRS): Restore "."; it's important to force
20467 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
20468 when needed.
20469
20470 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
20471
20472 * grub-core/commands/efi/lsefisystab.c: Correct header.
20473 * grub-core/commands/efi/lssal.c: Likewise.
20474 * grub-core/commands/testload.c: Likewise.
20475
20476 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
20477
20478 * util/grub-mkrescue.in: Add explicit root argument to --set to
20479 prevent the UUID being interpreted as an argument to --set (matches
20480 previous change to prepare_grub_to_access_device).
20481
20482 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
20483
20484 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
20485 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
20486 the verbosity of later #ifs.
20487 (find_partition_start): Define this function on FreeBSD too.
20488 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
20489 function.
20490 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
20491 on FreeBSD.
20492
20493 2010-09-20 Yves Blusseau <blusseau@zetam.org>
20494
20495 * util/grub-editenv.c: Use argp instead of getopt.
20496
20497 2010-09-20 Yves Blusseau <blusseau@zetam.org>
20498
20499 * util/grub-setup.c: Use argp instead of getopt.
20500
20501 2010-09-20 Yves Blusseau <blusseau@zetam.org>
20502
20503 Use gnulib-tool to create gnulib source files.
20504
20505 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
20506 grub-core/gnulib directories
20507 * .bzignore: Add **/.deps and autogenerated gnulib files
20508 * configure.ac: Assign auxiliary directory to build-aux, add invocation
20509 of gnulib macros, add grub-core/gnulib/Makefile
20510 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
20511 include m4 directory to aclocal.
20512 * Makefile.util.def: Remove direct compilation of gnulib source files
20513 and use the new grub-core/gnulib/libgnu.a.
20514 * build-aux/config.rpath: move config.rpath from top directory to
20515 build-aux
20516 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
20517 in gnulib headers
20518 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
20519 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
20520 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
20521 header.
20522 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
20523 string.
20524
20525 2010-09-20 Yves Blusseau <blusseau@zetam.org>
20526
20527 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
20528 grub-core/genmod.sh and grub-core/gensyminfo.sh
20529
20530 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
20531
20532 Add a test for echo command options.
20533
20534 * tests/grub_cmd_echo.in: New test.
20535 * Makefile.util.def: Rules for new test.
20536
20537 2010-09-20 Szymon Janc <szymon@janc.net.pl>
20538
20539 Remove crc.mod and move crc command to hashsum.mod.
20540 Remove lib/crc.c - users updated to use gcrypt implementation.
20541
20542 * grub-core/commands/crc.c: Removed.
20543 * grub-core/Makefile.core.def (crc): Module removed.
20544 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
20545 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
20546 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
20547 * grub-core/lib/crc.c: Removed.
20548 * include/grub/lib/crc.h: Removed.
20549 * Makefile.util.def (crc): Remove lib/crc.c
20550 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
20551 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
20552 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
20553 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
20554 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
20555 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
20556
20557 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20558
20559 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
20560
20561 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20562
20563 Split config.h for util and core.
20564
20565 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
20566 (ADDR32): Likewise.
20567 (DATA32): Likewise.
20568 (BSS_START_SYMBOL): Likewise.
20569 (END_SYMBOL): Likewise.
20570 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
20571 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
20572 * config.h.in: New file.
20573 * configure.ac: Use config-util.h as config define file.
20574 Rename MACHINE into GRUB_MACHINE. All users updated.
20575 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
20576 updated.
20577 (NESTED_FUNC_ATTR): Likewise.
20578 Substitue new variables.
20579 (COND_HAVE_ASM_USCORE): New conditional.
20580 * grub-core/Makefile.am (ASM_PREFIX): New variable.
20581 (kernel_syms.lst): Use ASM_PREFIX.
20582 * grub-core/kern/emu/console.c: Include config-util.h.
20583 * grub-core/kern/emu/misc.c: Likewise.
20584 * grub-core/kern/emu/mm.c: Likewise.
20585 * include/grub/emu/misc.h: Likewise.
20586 * include/grub/libgcc.h: Likewise.
20587
20588 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20589
20590 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
20591 constants usage.
20592 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
20593 Fix GRUB_TERM_KEY_* constants usage.
20594 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
20595
20596 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20597
20598 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
20599 print pointer.
20600 * grub-core/bus/usb/uhci.c: Remove empty define.
20601 (grub_uhci_check_transfer): Add missing cast.
20602 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
20603 print pointer.
20604 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
20605 PRIuGRUB_SIZE.
20606 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
20607
20608 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20609
20610 * grub-core/Makefile.core.def (legacycfg): Add
20611 lib/i386/pc/vesa_modes_table.c on emu.
20612
20613 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
20614
20615 Reduce number of temporary files generated by build system.
20616
20617 * grub-core/gencmdlist.sh: Removed.
20618 * grub-core/genfslist.sh: Removed.
20619 * grub-core/genhandlerlist.sh: Removed.
20620 * grub-core/genmodsrc.sh: Removed.
20621 * grub-core/genpartmaplist.sh: Removed.
20622 * grub-core/genparttoollist.sh: Removed.
20623 * grub-core/gentermiinallist.sh: Removed.
20624 * grub-core/genvideolist.sh: Removed.
20625
20626 * grub-core/genmod.sh.in: New file.
20627 * grub-core/gensyminfo.sh.in: New file.
20628
20629 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
20630 * conf/Makefile.extra-dist: Update with new files.
20631 * gentpl.py: Remove rules related to unnecessary temporary files.
20632 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
20633 and und-* files.
20634 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
20635 genmod.sh scripts.
20636 * grub-core/bus/usb/uhci.c: Remove empty #define.
20637 * grub-core/genmoddep.awk: Updated with new syminfo format.
20638 * util/bash-completion.d/Makefile.am: Add config.log to
20639 CLEANFILES.
20640
20641 2010-09-19 Yves Blusseau <blusseau@zetam.org>
20642
20643 * Makefile.util.def: Add forgotten $(LIBINTL) library.
20644
20645 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
20646
20647 * util/grub-mkconfig.in: Check the config script for syntax errors
20648 before saving.
20649
20650 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
20651 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20652
20653 * Makefile.util.def (grub-install): Use util/grub-install.in on all
20654 platforms.
20655 * util/grub-install.in: Add EFI and IEEE1275 support.
20656 * util/i386/efi/grub-install.in: Removed.
20657 * util/ieee1275/grub-install.in: Likewise.
20658
20659 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20660
20661 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
20662 (grub_cmd_cmosclean): Likewise.
20663 (GRUB_MOD_INIT): Register command cmosclean.
20664 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
20665 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
20666
20667 2010-09-18 Carles Pina i Estany <carles@pina.cat>
20668 2010-09-18 Aleš Nesrsta <starous@volny.cz>
20669 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
20670
20671 Add keyboard layouts support.
20672
20673 * Makefile.util.def (grub-mklayout): New file.
20674 (grub-kbdcomp): New script.
20675 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
20676 Add keyboard_layouts.h.
20677 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
20678 commands/boot.c on yeeloong.
20679 (keylayouts): New module.
20680 * grub-core/bus/usb/ohci.c
20681 * grub-core/bus/usb/uhci.c
20682 * grub-core/bus/usb/usbhub.c (rescan): New variable.
20683 (grub_usb_add_hub): Poll interrupt pipe for device handling.
20684 (attach_root_port): Likewise.
20685 (poll_nonroot_hub): Likewise.
20686 (grub_usb_poll_devices): Likewise.
20687 (detach_device): Close transfer.
20688 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
20689 function.
20690 (grub_usb_bulk_setup_readwrite): Likewise.
20691 (grub_usb_bulk_finish_readwrite): Likewise.
20692 * grub-core/commands/keylayouts.c: New file.
20693 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
20694 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
20695 aliases.
20696 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
20697 support scancode 2.
20698 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
20699 * include/grub/keyboard_layouts.h: New file.
20700 * util/grub-mklayout.c: New file.
20701 * util/grub-kbdcomp.in: Likewise.
20702
20703 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
20704
20705 Unify memory types.
20706
20707 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
20708 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
20709 types.
20710 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
20711 (grub_upper_mem): Likewise.
20712 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
20713 * include/grub/memory.h (grub_memory_type_t): New enum.
20714 All users updated.
20715
20716 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
20717
20718 * grub-core/Makefile.core.def (lsapm): New module.
20719 * grub-core/commands/i386/pc/lsapm.c: New file.
20720 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
20721 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
20722 Likewise.
20723 * include/grub/i386/pc/apm.h: New file.
20724 * include/multiboot.h (multiboot_apm_info): New struct.
20725
20726 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
20727
20728 GRUB-legacy configuration file support.
20729
20730 * Makefile.util.def (grub-menulst2cfg): New util.
20731 * docs/man/grub-menulst2cfg.h2m: New file.
20732 * grub-core/Makefile.core.def (legacycfg): New module.
20733 * grub-core/commands/legacycfg.c: New file.
20734 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
20735 (grub_normal_add_menu_entry): ... this.
20736 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
20737 (grub_normal_set_password): ...this.
20738 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
20739 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
20740 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
20741 * grub-core/lib/legacy_parse.c: New file.
20742 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
20743 * include/grub/i386/pc/vesa_modes_table.h: New file.
20744 * include/grub/legacy_parse.h: Likewise.
20745 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
20746 * util/grub-menulst2cfg.c: New file.
20747
20748 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
20749
20750 * grub-core/kern/emu/hostdisk.c
20751 (convert_system_partition_to_system_disk): Initialise node.
20752
20753 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
20754
20755 * grub-core/kern/emu/hostdisk.c
20756 (convert_system_partition_to_system_disk): Fix devmapper memory pool
20757 leak.
20758 Reported and based on patch by: Modestas Vainius.
20759
20760 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
20761
20762 Fix DM-RAID probing with recent versions of device-mapper udev
20763 rules.
20764
20765 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
20766 canonicalise device paths under /dev/mapper/.
20767 (convert_system_partition_to_system_disk): Compare the
20768 uncanonicalised path to /dev/mapper/ rather than the canonicalised
20769 path, since device nodes under /dev/mapper/ are often symlinks.
20770
20771 2010-09-17 Yves Blusseau <blusseau@zetam.org>
20772
20773 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
20774
20775 2010-09-16 Yves Blusseau <blusseau@zetam.org>
20776
20777 * configure.ac: Avoid some annoying error messages if freetype-config
20778 program is not found.
20779
20780 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
20781
20782 Support RAID on virtio devices, and others.
20783
20784 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
20785 Rename to ...
20786 [__MINGW32__] (grub_find_device): ... this.
20787 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
20788 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
20789 reasonable default if dir is NULL.
20790 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
20791 ...
20792 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
20793 (grub_guess_root_device): Update callers.
20794 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
20795
20796 * util/raid.c (grub_util_getdiskname): Remove.
20797 (grub_util_raid_getmembers): Use grub_find_device rather than
20798 grub_util_getdiskname.
20799
20800 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
20801
20802 * docs/grub.texi (serial): Remove obsolete comment about GRUB
20803 needing to be compiled with serial support.
20804 (ls): Indicate that multiple files are accepted.
20805 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
20806 indicate that multiple files are accepted.
20807
20808 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
20809
20810 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
20811 libgrub_a_init.c, and util/bash-completion.d/grub.
20812
20813 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20814
20815 * util/grub-setup.c (setup): Fix incorrect container semantics.
20816
20817 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20818
20819 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
20820 misusage.
20821 Reported by: J. Nick Terry
20822
20823 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20824
20825 Move embedding routines to partmap sources files.
20826
20827 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
20828 [GRUB_UTIL]: New variable.
20829 (gpt_partition_map_iterate): Set part.parent.
20830 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
20831 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
20832 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
20833 New function.
20834 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
20835 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
20836 (grub_partition_map) [GRUB_UTIL]: New field embed.
20837 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
20838 (setup): Use ->embed.
20839
20840 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20841
20842 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
20843 function.
20844 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
20845 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
20846
20847 2010-09-15 Yves Blusseau <blusseau@zetam.org>
20848
20849 Add function to get completions from usage.
20850
20851 * util/bash-completion.d/grub-completion.bash.in: Add function to get
20852 completions from usage. Use LC_ALL=C to get options properly.
20853
20854 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20855
20856 * grub-core/gnulib/basename-lgpl.c: Imported.
20857 * grub-core/gnulib/basename.c: Likewise.
20858 * grub-core/gnulib/dirname-lgpl.c: Likewise.
20859 * grub-core/gnulib/dirname.c: Likewise.
20860 * grub-core/gnulib/dirname.h: Likewise.
20861 * grub-core/gnulib/stripslash.c: Likewise.
20862
20863 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20864
20865 * grub-core/gnulib/error.c: Resynced.
20866 * grub-core/gnulib/getopt.c: Likewise.
20867 * grub-core/gnulib/getopt_int.h: Likewise.
20868 * grub-core/gnulib/regex.h: Likewise.
20869 * grub-core/gnulib/regex_internal.c: Likewise.
20870 * grub-core/gnulib/regex_internal.h: Likewise.
20871
20872 2010-09-15 Szymon Janc <szymon@janc.net.pl>
20873
20874 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
20875 CRC calculations and validity checks.
20876 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
20877 calculations.
20878
20879 2010-09-15 Szymon Janc <szymon@janc.net.pl>
20880
20881 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
20882
20883 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20884
20885 Fix incorrect echo options handling.
20886 Reported by: Yves Blusseau.
20887
20888 * include/grub/command.h (grub_command_flags_t): New flags
20889 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
20890 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
20891 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
20892
20893 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20894
20895 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
20896 users updated.
20897 (GRUB_COMMAND_FLAG_MENU): Likewise.
20898 (GRUB_COMMAND_FLAG_BOTH): Likewise.
20899 (GRUB_COMMAND_FLAG_TITLE): Removed.
20900 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
20901 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
20902 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
20903 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
20904 (grub_command_flags_t): New enum. All users updated.
20905
20906 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
20907
20908 Fix solaris compilation.
20909
20910 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
20911 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
20912 (grub-emu-list): Likewise.
20913
20914 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20915
20916 Remove deprecated root command.
20917
20918 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
20919 updated.
20920
20921 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20922
20923 * util/i386/pc/grub-setup.c: Merge this ...
20924 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
20925 * util/grub-setup.c: ... into this.
20926 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
20927 New struct.
20928
20929 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20930
20931 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
20932 possible.
20933
20934 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20935
20936 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
20937 allocate p.
20938
20939 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20940
20941 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
20942 explicit root argument to set to prevent UUID to be interpreted as
20943 argument to set.
20944
20945 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20946
20947 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
20948
20949 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20950
20951 Don't export grub_gate_a20.
20952
20953 * grub-core/kern/i386/pc/init.c: Remove leftovers.
20954 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
20955 to ...
20956 (grub_gate_a20): ... this. All users updated.
20957 * include/grub/i386/pc/init.h: Removed. All users updated.
20958
20959 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20960
20961 Create euro.pf2 which supports most European languages.
20962
20963 * Makefile.am (grubdata_DATA): Add euro.pf2.
20964 (euro.pf2): New target.
20965 (CLEANFILES): Add euro.pf2.
20966
20967 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20968
20969 * configure.ac: Disable emu-usb by default to prevent inadvertent
20970 device takeover.
20971
20972 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20973
20974 Disable usbserial on grub-emu since our libusb code isn't good enough
20975 yet.
20976
20977 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
20978 (usbserial_pl2303): Likewise.
20979 (usbserial_ftdi): Likewise.
20980
20981 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20982
20983 * include/grub/disk.h (grub_disk): Remove has_partitions.
20984 All users updated.
20985 * disk/loopback.c (grub_loopback): Remove has_partitions.
20986 All users updated.
20987 (options): Remove partitions. All users updated.
20988 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
20989 * util/i386/pc/grub-setup.c (setup): copy partition table only when
20990 actual partition table is found.
20991
20992 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20993
20994 Remove readability checks (too many false negatives).
20995
20996 * util/grub-install.in: Remove readability checks.
20997 * util/grub-mkconfig.in: Likewise.
20998 * util/grub.d/10_hurd.in: Likewise.
20999 * util/grub.d/10_kfreebsd.in: Likewise.
21000 * util/grub.d/10_linux.in: Likewise.
21001 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
21002 way.
21003
21004 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21005
21006 Enable acpi shutdown on all ACPI platforms.
21007
21008 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
21009 on coreboo, multiboot and EFI.
21010 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
21011 (grub_acpi_halt): Likewise.
21012 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
21013 (grub_cmd_halt): Don't call grub_acpi_halt directly.
21014 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
21015 * grub-core/lib/i386/halt.c (grub_halt)
21016 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
21017
21018 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21019
21020 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
21021 context.
21022
21023 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21024
21025 * grub-core/video/efi_gop.c: Fix over-80-chars line.
21026 * grub-core/video/efi_uga.c: Likewise.
21027
21028 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21029
21030 Filter devaliases and never open same device twice.
21031
21032 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
21033 (last_ihandle): Likewise.
21034 (ofdisk_hash_ent): New member shortest.
21035 (ofdisk_hash_add): Add canonical path too.
21036 (scan): New function.
21037 (grub_ofdisk_iterate): Iterate over hashed entries.
21038 (compute_dev_path): Don't add :0.
21039 (grub_ofdisk_open): Don't really open the disk.
21040 (grub_ofdisk_close): Avoid closing unrelated disk.
21041 (grub_ofdisk_read): Implement reopen logic.
21042 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
21043 New function.
21044 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
21045 New proto.
21046
21047 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21048
21049 Fix sparc64.
21050
21051 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
21052 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
21053 right address. Add sparc64_ieee1275_ldflags.
21054 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
21055 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
21056 to grub_host_to_target_addr
21057 (load_image): Likewise.
21058
21059 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21060
21061 * grub-core/normal/completion.c (complete_file): Handle device
21062 containing slash.
21063 Fix based on patch by Doug Nazar.
21064
21065 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21066
21067 grub-mknetdir script.
21068
21069 * Makefile.util.def (grub-mknetdir): New module.
21070 * tests/util/grub-shell.in: Support boot=net
21071 * util/grub-mknetdir.in: New file.
21072
21073 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21074
21075 videoinfo on non-vbe.
21076
21077 * grub-core/Makefile.core.def (vbeinfo): Removed.
21078 (vbetest): Removed.
21079 (videoinfo): New module.
21080 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
21081 * grub-core/commands/i386/pc/vbetest.c: Removed.
21082 * grub-core/commands/videoinfo.c: New file.
21083 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
21084 specification.
21085 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
21086 as vbetest.
21087 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
21088 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
21089 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
21090 mode_number. New parameter mode. All users updated.
21091 (grub_video_gop_iterate): New function.
21092 (grub_video_efi_gop): New member iterate.
21093 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
21094 (grub_vbe_set_video_mode): Remove setting useless fields.
21095 (vbe2videoinfo): New function.
21096 (grub_video_vbe_iterate): Likewise.
21097 (grub_video_vbe_setup): Use vbe2videoinfo.
21098 (grub_video_vbe_print_adapter_specific_info): New function.
21099 (grub_video_vbe_adapter): New fields iterate and
21100 print_adapter_specific_info.
21101 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
21102 All users updated.
21103 (grub_video_mode_info): New field mode_number.
21104 (grub_video_adapter): New fields iterate and
21105 print_adapter_specific_info.
21106
21107 2010-09-13 Tristan Gingold <gingold@free.fr>
21108 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
21109 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21110
21111 * grub-core/commands/efi/lsefisystab.c: New file.
21112 * grub-core/commands/efi/lssal.c: Likewise.
21113 * grub-core/Makefile.core.def (lsacpi): New module.
21114 (lsefisystab): Likewise.
21115 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
21116 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
21117 (grub_efi_sal_system_table): New struct.
21118 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
21119 (grub_efi_sal_system_table_memory_descriptor): Likewise.
21120 (grub_efi_sal_system_table_platform_features): Likewise.
21121 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
21122 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
21123 (grub_efi_sal_system_table_ap_wakeup): Likewise.
21124 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
21125
21126 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21127
21128 Support explicit user claim that a device is BIOS-visible.
21129
21130 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
21131 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
21132 * grub-core/kern/emu/hostdisk.c
21133 (convert_system_partition_to_system_disk): Support mdX.
21134 (find_system_device): New parameter add. All users updated.
21135 (grub_util_biosdisk_is_present): New function.
21136 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
21137 proto.
21138
21139 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21140
21141 Search hints support.
21142
21143 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
21144 All users updated.
21145
21146 2010-09-13 Yves Blusseau <blusseau@zetam.org>
21147
21148 Bash completion script for util commands
21149
21150 * Makefile.am: Add util/bash-completion.d directory
21151 * configure.ac: Likewise.
21152 * util/bash-completion.d/Makefile.am: New file.
21153 * util/bash-completion.d/grub-completion.bash.in: Likewise.
21154
21155 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21156
21157 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
21158 (print_backlog): set backlog_ucs4 and backlog_glyphs.
21159 Reported by: Yves Blusseau.
21160
21161 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21162
21163 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
21164 partition size and offset.
21165
21166 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21167
21168 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
21169
21170 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21171
21172 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
21173
21174 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21175
21176 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
21177 (grub_xvasprintf): Likewise.
21178
21179 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21180
21181 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
21182
21183 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21184
21185 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
21186 args ending with NULL.
21187
21188 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21189
21190 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
21191 pointer.
21192
21193 2010-09-11 Szymon Janc <szymon@janc.net.pl>
21194
21195 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
21196
21197 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21198
21199 Shutdown using ACPI.
21200
21201 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
21202 * grub-core/commands/acpihalt.c: New file.
21203 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
21204 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
21205 (grub_acpi_halt): New proto.
21206 (GRUB_ACPI_SLP_EN): New const.
21207 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
21208 (GRUB_ACPI_OPCODE_*): New enum.
21209 (GRUB_ACPI_EXTOPCODE_*): Likewise.
21210
21211 2010-09-11 Tristan Gingold <gingold@free.fr>
21212 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
21213 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21214
21215 * commands/lsacpi.c: New file.
21216 * grub-core/Makefile.core.def (lsacpi): New module.
21217 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
21218 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
21219 (grub_acpi_madt_entry_header): New struct.
21220 (grub_acpi_madt): Likewise.
21221 (grub_acpi_madt_entry_interrupt_override): Likewise.
21222 (grub_acpi_madt_entry_sapic): Likewise.
21223 (grub_acpi_madt_entry_lsapic): Likewise.
21224 (grub_acpi_madt_entry_platform_int_source): Likewise.
21225 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
21226 (PRIuGRUB_UINT32_T): Likewise.
21227 (PRIxGRUB_UINT64_T): Likewise.
21228
21229 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21230
21231 Implement loading palette on ieee1275_fb.
21232
21233 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
21234 (have_setcolors): Likewise.
21235 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
21236 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
21237 (grub_video_ieee1275_set_palette): Implement.
21238
21239 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21240 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
21241
21242 * util/grub-install.in (grub_partition): New variable.
21243 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
21244 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
21245 Fixes a bug reported by Yves Blusseau.
21246
21247 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21248
21249 Fix emu on mipsel.
21250
21251 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
21252 =grub_cpu_flush_cache on all mips and not only yeeloong.
21253 * configure.ac (COND_mips): New conditional.
21254 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
21255 platforms.
21256 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
21257 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
21258 [GRUB_LINKER_HAVE_INIT]: New function.
21259 (grub_emu_post_init): Likewise.
21260 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
21261 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
21262 * include/grub/cache.h (_mips): Include mips/cache.h.
21263 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
21264 LVM and RAID prototypes.
21265 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
21266 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
21267 function.
21268
21269 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
21270
21271 * util/grub-install.in: Don't try to verify core.img until after
21272 running grub-mkimage to create it.
21273
21274 2010-09-10 Robert Millan <rmh@gnu.org>
21275
21276 * util/grub.d/10_hurd.in: Add misc readability checks.
21277 * util/grub.d/10_kfreebsd.in: Likewise.
21278 * util/grub.d/10_linux.in: Likewise.
21279
21280 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
21281
21282 * util/grub-install.in: ${imgext} won't be defined here until the
21283 install branch is merged. For the meantime, only verify core.img on
21284 i386-pc and sparc64-ieee1275 platforms.
21285
21286 2010-09-10 Robert Millan <rmh@gnu.org>
21287
21288 Solaris support in grub_find_zpool_from_dir(). Thanks
21289 Seth Goldberg for referring to getextmntent() facility.
21290
21291 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
21292 `sys/mkdev.h'.
21293 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
21294 `<sys/mnttab.h>'.
21295 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
21296 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
21297 method for finding zpool name.
21298
21299 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
21300
21301 grub-fstest needs the host and hostfs modules while other utilities
21302 actively require those modules to be absent, so grub-fstest needs
21303 its own initialisation and finalisation code.
21304
21305 * Makefile.am (grub_fstest.pp): New target.
21306 (grub_fstest_init.lst): Likewise.
21307 (grub_fstest_init.c): Likewise.
21308 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
21309
21310 2010-09-10 Robert Millan <rmh@gnu.org>
21311
21312 * configure.ac: Check for `struct statfs.f_fstypename' and
21313 `struct statfs.f_mntfromname'.
21314
21315 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
21316 kFreeBSD-specific code.
21317
21318 2010-09-10 Robert Millan <rmh@gnu.org>
21319
21320 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
21321 on ZFS. Now non-main filesystems are supported as / too.
21322
21323 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
21324
21325 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
21326 and grub-core/disk/host.c to ...
21327 (grub-fstest): ... here. Having the host disk implementation
21328 present confuses grub-probe and other utility programs.
21329
21330 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
21331 when writing to a file, not when writing to stdout.
21332
21333 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
21334
21335 * tests/partmap_test.in: New test for partitions.
21336 * Makefile.util.def: Rules for new test.
21337
21338 2010-09-09 Robert Millan <rmh@gnu.org>
21339
21340 * util/grub-probe.c (probe): Fix a pair of unhandled error
21341 conditions.
21342
21343 2010-09-09 Robert Millan <rmh@gnu.org>
21344
21345 Basic Btrfs support (detection and UUID).
21346
21347 * grub-core/fs/btrfs.c: New file.
21348 * Makefile.util.def (library): Register btrfs.c.
21349 * grub-core/Makefile.core.def: Likewise.
21350
21351 2010-09-08 Robert Millan <rmh@gnu.org>
21352
21353 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
21354 with (optional) parameters to specify device and relative path.
21355 * util/grub-install.in: Use is_path_readable_by_grub() to
21356 verify readability of a few critical files.
21357 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
21358 verify readability of grub.cfg.new.
21359
21360 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
21361
21362 Split minix.mod into minix.mod and minix2.mod.
21363
21364 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
21365 * grub-core/Makefile.core.def (minix2): New module.
21366 * grub-core/fs/minix.c: Use definitions instead of runtime version
21367 checking.
21368 * grub-core/fs/minix2.c: New file.
21369
21370 2010-09-08 Yves Blusseau <blusseau@zetam.org>
21371
21372 Add new --boot-directory option to replace --root-directory
21373
21374 * util/grub-install.in: Add new --boot-directory option
21375 * util/grub-reboot.in: Likewise.
21376 * util/grub-set-default.in: Likewise.
21377
21378 2010-09-08 Yves Blusseau <blusseau@zetam.org>
21379
21380 * util/grub-mkconfig.in: Use new variable.
21381
21382 2010-09-08 Yves Blusseau <blusseau@zetam.org>
21383
21384 * configure.ac: Define some useful variables.
21385
21386 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
21387
21388 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21389 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
21390 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
21391 Use terminfo and don't use cursor-on/cursor-off unless it's known
21392 to work.
21393 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
21394 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
21395
21396 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
21397
21398 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
21399 starts with "(,", fill the drive containing the loaded image in
21400 between those two characters, but expect that a full partition
21401 specification including partition map names will follow.
21402
21403 2010-09-08 Robert Millan <rmh@gnu.org>
21404
21405 * configure.ac: Remove `--enable-grub-fstest' option.
21406 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
21407
21408 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
21409 `grub-fstest' instead of `grub-probe' for readability verification.
21410 * util/grub-probe.c (probe): Remove readability verification kludge.
21411
21412 2010-09-08 Robert Millan <rmh@gnu.org>
21413
21414 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
21415 initializing `GRUB_FS'.
21416
21417 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
21418
21419 Not command (!) support to GRUB script.
21420
21421 * tests/grub_script_not.in: New test.
21422 * Makefile.util.def: Rules for new test.
21423
21424 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
21425 ! command as a special case.
21426 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
21427
21428 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
21429
21430 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
21431 grub_free.
21432
21433 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
21434
21435 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
21436
21437 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
21438
21439 * docs/grub.texi (Shell-like scripting): Documentation for break,
21440 continue, shift and return commands.
21441
21442 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
21443
21444 Rename CD-ROM to cd on BIOS.
21445
21446 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
21447 "cd".
21448 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
21449
21450 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21451
21452 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
21453 * util/grub-probe.c (main): Likewise.
21454 * util/i386/pc/grub-setup.c (main): Likewise.
21455 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
21456 Reported and debugged by: alexxy
21457
21458 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21459
21460 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
21461 diagnostic info.
21462
21463 2010-09-05 Jo Shields <directhex@apebox.org>
21464
21465 * util/grub.d/30_os-prober.in: Add missing classes.
21466
21467 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21468
21469 * docs/grub.texi (Theme file format): Document new position format.
21470
21471 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21472
21473 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
21474 a table. Use @code instead of @verbatim.
21475
21476 2010-09-05 Colin D Bennett <colin@gibibit.com>
21477
21478 Gfxmenu documentation.
21479
21480 * docs/grub.texi (Theme file format): New chapter.
21481
21482 2010-09-05 Szymon Janc <szymon@janc.net.pl>
21483
21484 * grub-core/Makefile.core.def (xzio): New module.
21485 * grub-core/io/xzio.c: New file.
21486 * grub-core/lib/xzembed/xz.h: New file (from xembed).
21487 * grub-core/lib/xzembed/xz_config.h: Likewise.
21488 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
21489 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
21490 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
21491 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
21492 * grub-core/lib/xzembed/xz_private.h: Likewise.
21493 * grub-core/lib/xzembed/xz_stream.h: Likewise.
21494 * include/grub/file.h (grub_file_filter_id): New compression filter
21495 GRUB_FILE_FILTER_XZIO.
21496
21497 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21498
21499 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
21500 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
21501 size.
21502
21503 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21504
21505 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
21506 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
21507
21508 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21509
21510 Uncompressed checksum support.
21511
21512 * grub-core/commands/hashsum.c (options): Add option --uncompress.
21513 (check_list): New parameter uncompress.
21514 (grub_cmd_hashsum): Handle --uncompress.
21515
21516 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21517
21518 Reintroduce testload.
21519
21520 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
21521 from here ...
21522 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
21523 (GRUB_MOD_INIT): New function.
21524 (GRUB_MOD_FINI): Likewise.
21525 * grub-core/Makefile.core.def (testload): New module.
21526
21527 2010-09-05 Szymon Janc <szymon@janc.net.pl>
21528
21529 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
21530 (uint8_t): New type.
21531 (uint16_t): Likewise.
21532 (uint32_t): Likewise.
21533 (uint64_t): Likewise.
21534
21535 2010-09-05 Szymon Janc <szymon@janc.net.pl>
21536
21537 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
21538
21539 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21540
21541 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
21542 Made static.
21543 (grub_gzfile_open): Removed. All users updated.
21544 (GRUB_MOD_INIT): New function.
21545 (GRUB_MOD_FINI): Likewise.
21546 * grub-core/kern/file.c (grub_file_filters_all): New variable.
21547 (grub_file_filters_enabled): Likewise.
21548 (grub_file_open): Handle filters.
21549 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
21550 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
21551 * include/grub/file.h (grub_file_filter_id_t): New type.
21552 (grub_file_filter_t): Likewise.
21553 (grub_file_filters_all): New extern variable.
21554 (grub_file_filters_enabled): Likewise.
21555 (grub_file_filter_register): New inline function.
21556 (grub_file_filter_unregister): Likewise.
21557 (grub_file_filter_disable): Likewise.
21558 (grub_file_filter_disable_compression): Likewise.
21559 * include/grub/gzio.h: Removed.
21560
21561 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21562
21563 Filename expansion support for wildcards in GRUB script.
21564
21565 * tests/grub_script_expansion.in: New test.
21566 * Makefile.util.def: Rule for new test.
21567
21568 * grub-core/commands/wildcard.c: New file, implements filename
21569 expansion support for GRUB script.
21570 * grub-core/Makefile.core.def: Rule update for regexp.mod.
21571 * grub-core/script/argv.c: Cosmetic changes.
21572 * grub-core/script/execute.c (grub_script_arglist_to_argv):
21573 Refactored to perform wildcard expansion on arguments.
21574 * include/grub/script_sh.h (grub_script_wildcard_translator): New
21575 struct.
21576
21577 * tests/util/grub-shell.in: Fix quoting for read input.
21578
21579 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21580
21581 Support for updating environment variables with matched substrings
21582 of regexp.
21583
21584 * tests/grub_cmd_regexp.in: New test.
21585 * Makefile.util.def: Rule for new test.
21586
21587 * grub-core/commands/regexp.c: New option -s to update environment
21588 variables with regexp matches.
21589
21590 2010-09-04 Szymon Janc <szymon@janc.net.pl>
21591
21592 * include/grub/file.h (grub_file): New member not_easly_seekable.
21593 (grub_file_seekable): New inline function.
21594 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
21595 easily seekable.
21596 (grub_gzio_open): Set not_easly_seekable.
21597 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
21598 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
21599
21600 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21601
21602 Support for options to appear multiple times on cmdline.
21603
21604 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
21605 * grub-core/commands/extcmd.c: Support for repeatable option.
21606 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
21607 repeatable option support.
21608
21609 Refactor menuentry into a regular command.
21610
21611 * grub-core/commands/menuentry.c: New file, menuentry command
21612 implementation.
21613 * grub-core/Makefile.core.def: Rule update for normal.mod.
21614 * grub-core/normal/main.c: Moved menuentry creation to
21615 grub-core/commands/menuentry.c.
21616 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
21617 (grub_menu_execute_entry_real): Removed.
21618 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
21619 function.
21620 (grub_script_execute_menuentry): Removed.
21621 * grub-core/script/parser.y (menuentry): Removed.
21622 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
21623 * grub-core/script/yylex.l (menuentry): Removed.
21624 * include/grub/menu.h (grub_menu_init): New prototype.
21625 (grub_menu_fini): New prototype.
21626 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
21627 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
21628 (grub_script_execute_sourcecode): New prototype.
21629
21630 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21631
21632 "return" command for GRUB script functions.
21633
21634 * tests/grub_script_return.in: New test.
21635 * Makefile.util.def: Rules for new test.
21636
21637 * grub-core/script/execute.c (grub_script_return): New function.
21638 * grub-core/script/main.c: Register/unregister return commaond.
21639 * include/grub/script_sh.h (grub_script_return): New prototype.
21640
21641 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21642
21643 "setparams" command to update positional parameters.
21644
21645 * tests/grub_script_setparams.in: New test.
21646 * Makefile.util.def: Rules for new test.
21647
21648 * grub-core/script/argv.c (grub_script_argv_make): New function.
21649 * grub-core/script/execute.c (replace_scope): New function.
21650 (grub_script_setparams): New function.
21651 * grub-core/script/lexer.c: Remove unused variables.
21652 * grub-core/script/main.c: Register/unregister setparams command.
21653 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
21654 (grub_script_setparams): New prototype.
21655
21656 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21657
21658 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
21659 grub_free order.
21660
21661 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21662
21663 Support for passing block of commands as an argument to extcmds.
21664
21665 * Makefile.util.def: Rules for new test.
21666 * tests/grub_script_blockarg.in: New test.
21667 * grub-core/tests/test_blockarg.c: New file, block argument
21668 command used in the test.
21669
21670 * include/grub/extcmd.h (grub_extcmd_context): New struct.
21671 (grub_register_extcmd_prio): New function prototype.
21672 (grub_extcmd_dispatcher): New function prototype.
21673 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
21674 type.
21675 * include/grub/script_sh.h (struct grub_script): New members
21676 `children', `next_siblings' and `refcnt' for block arguments and
21677 reference counting.
21678 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
21679 (grub_script_arg): New member `script' for block argument.
21680 (grub_script_argv): New member `script' for block argument.
21681 (grub_parser_param): New member `scripts' for block argument.
21682 (grub_script_mem_free): New extern function prototype.
21683 (grub_script_ref): New function prototype.
21684 (grub_script_unref): New function prototype.
21685
21686 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
21687 extcmd form to support block arguments.
21688 * grub-core/script/argv.c: Block arguments support.
21689 * grub-core/script/execute.c: Likewise.
21690 * grub-core/script/lexer.c: Likewise.
21691 * grub-core/script/main.c: Likewise.
21692 * grub-core/script/script.c: Likewise.
21693 * grub-core/script/parser.y: Likewise. New `block' and `block0'
21694 non-terminals.
21695
21696 * grub-core/commands/acpi.c: Update extcmd implementations with
21697 grub_extcmd_context_t.
21698 * grub-core/commands/cat.c: Likewise.
21699 * grub-core/commands/echo.c: Likewise.
21700 * grub-core/commands/extcmd.c: Likewise.
21701 * grub-core/commands/hashsum.c: Likewise.
21702 * grub-core/commands/hdparm.c: Likewise.
21703 * grub-core/commands/help.c: Likewise.
21704 * grub-core/commands/hexdump.c: Likewise.
21705 * grub-core/commands/i386/cpuid.c: Likewise.
21706 * grub-core/commands/i386/pc/drivemap.c: Likewise.
21707 * grub-core/commands/i386/pc/halt.c: Likewise.
21708 * grub-core/commands/i386/pc/sendkey.c: Likewise.
21709 * grub-core/commands/iorw.c: Likewise.
21710 * grub-core/commands/keystatus.c: Likewise.
21711 * grub-core/commands/loadenv.c: Likewise.
21712 * grub-core/commands/ls.c: Likewise.
21713 * grub-core/commands/lspci.c: Likewise.
21714 * grub-core/commands/memrw.c: Likewise.
21715 * grub-core/commands/probe.c: Likewise.
21716 * grub-core/commands/search_wrap.c: Likewise.
21717 * grub-core/commands/setpci.c: Likewise.
21718 * grub-core/commands/sleep.c: Likewise.
21719 * grub-core/disk/loopback.c: Likewise.
21720 * grub-core/hello/hello.c: Likewise.
21721 * grub-core/loader/i386/bsd.c: Likewise.
21722 * grub-core/loader/xnu.c: Likewise.
21723 * grub-core/term/gfxterm.c: Likewise.
21724 * grub-core/term/serial.c: Likewise.
21725 * grub-core/tests/lib/functional_test.c: Likewise.
21726
21727 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21728
21729 Multi-line quoted strings support.
21730
21731 * grub-core/script/lexer.c (append_newline): Removed.
21732 (grub_script_lexer_yywrap): Refactored.
21733 (grub_script_lexer_init): Refactored.
21734 * grub-core/script/yylex.l (yywrap): New function.
21735 (grub_lexer_resplit): New function.
21736 (grub_lexer_unput): New function.
21737 * include/grub/script_sh.h (grub_lexer_param): New members, unput
21738 and resplit.
21739 * tests/grub_script_echo1.in: Added few more testcases.
21740
21741 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
21742
21743 * grub-core/kern/misc.c: Don't add abort alias in utils.
21744 Reported by: echoline.
21745
21746 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
21747
21748 Add missing files into "make dist" tarball for other platforms.
21749
21750 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
21751 * conf/Makefile.common (dist_noinst_DATA): New variable.
21752 * conf/Makefile.extra-dist: Added missing make dist files.
21753 * grub-core/Makefile.core.def: Likewise.
21754
21755 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
21756
21757 Compress grub_prefix.
21758
21759 * grub-core/boot/i386/pc/lnxboot.S: Use
21760 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
21761 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
21762 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
21763 GRUB_MACHINE_PREFIX_END. All users updated.
21764 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
21765 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
21766 + 0x40.
21767 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
21768 * util/grub-mkimage.c (image_target_desc): Change data_end to
21769 prefix_end. All users updated.
21770
21771 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
21772
21773 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
21774 value.
21775 (grub_openbsd_boot): Likewise.
21776 (grub_netbsd_boot): Likewise.
21777 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
21778 (grub_xnu_boot): Likewise.
21779
21780 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21781
21782 * configure.ac: Clean LIBS variable after tests.
21783
21784 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
21785
21786 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
21787
21788 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21789
21790 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
21791 echo if libdevmapper will be used.
21792
21793 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
21794
21795 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
21796 constant for the same file.
21797
21798 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21799
21800 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
21801
21802 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
21803
21804 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
21805 grub-core/*.pp.
21806
21807 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
21808
21809 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
21810 required by the boot protocol.
21811
21812 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
21813 ebp and edi members.
21814 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
21815 state.ebp and state.edi.
21816 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
21817 %ebp and %edi according to grub_relocator32_ebp and
21818 grub_relocator32_edi respectively.
21819 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
21820 and state.edi.
21821
21822 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21823
21824 Add i386-pc-pxe image target.
21825
21826 * util/grub-mkimage.c (image_target_desc): New enum value
21827 IMAGE_I386_PC_PXE.
21828 (image_targets): New target i386-pc-pxe.
21829 (generate_image): Handle i386-pc-pxe image.
21830
21831 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21832
21833 Fix grub_pxe_scan.
21834
21835 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
21836 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
21837 All users updated.
21838 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
21839 (grub_pxe_pxenv): Correct type.
21840
21841 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
21842
21843 * NEWS: Document most of the important changes since 1.98.
21844
21845 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
21846
21847 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
21848 generated manual page) a little.
21849
21850 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
21851
21852 * docs/grub.texi: Add myself as an author.
21853
21854 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
21855
21856 * Makefile.util.def (libgrub.a): Add missing sunpc.
21857 Reported by: Seth Goldberg.
21858
21859 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21860
21861 Interrupt wrapping and code simplifications.
21862
21863 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
21864 x86_noieee1275 which are functionaly equivalent in this case.
21865 (grub-install): Make source on each platform explicit. Enable on
21866 all noemu.
21867 * gentpl.py (x86_efi_pc): Removed group.
21868 (x86_noefi): Likewise.
21869 (i386_noefi): Likewise.
21870 (x86_noieee1275): Likewise.
21871 (i386_noieee1275): Likewise.
21872 (i386_noefi_noieee1275): Likewise.
21873 (i386_pc_qemu_coreboot): Likewise.
21874 (i386_coreboot_multiboot): Likewise.
21875 (i386_pc_coreboot_multiboot_qemu): Likewise.
21876 (x86_noefi_mips): Likewise.
21877 (noieee1275): Likewise.
21878 (ieee1275_mips): Likewise.
21879 (noemu_noieee1275): Likewise.
21880 (cmos): New group.
21881 (usb): Likewise.
21882 (videoinkernel): Likewise.
21883 (videomodules): Likewise.
21884 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
21885 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
21886 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
21887 include/grub/loader.h, include/grub/msdos_partition.h,
21888 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
21889 include/grub/machine/console.h, include/grub/machine/vga.h,
21890 include/grub/machine/vbe.h, include/grub/machine/init.h,
21891 include/grub/machine/kernel.h, include/grub/cpu/time.h,
21892 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
21893 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
21894 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
21895 * grub-core/Makefile.core.def (kernel): Explicit the source for
21896 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
21897 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
21898 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
21899 Use videoinkernel tag.
21900 (usb): Enable on all usb.
21901 (usbserial_common): Likewise.
21902 (usbserial_pl2303): Likewise.
21903 (usbserial_ftdi): Likewise.
21904 (uhci): Enable on all x86.
21905 (ohci): Enable on all pci.
21906 (cmostest): Enable on all CMOS.
21907 (acpi): Include commands/acpi.c on all platforms.
21908 (halt): Add relevant lib/*/halt.c.
21909 (hdparm): Enable on all pci.
21910 (lspci): Likewise.
21911 (usbtest): Enable on all usb.
21912 (ata): Enable on all pci.
21913 (ata_pthru): Likewise.
21914 (usbms): Enable on all usb.
21915 (usb_keyboard): Likewise.
21916 (font): Use tag videomodules.
21917 (bufio): Likewise.
21918 (datetime): Use tag cmos. Enable on all noemu.
21919 (mmap): Use tags common and x86.
21920 (gfxterm): Use tag videomodules.
21921 (bitmap): Likewise.
21922 (bitmap_scale): Likewise.
21923 (video_fb): Likewise.
21924 (video): Likewise.
21925 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
21926 adjust padding accordingly. All users updated.
21927 (grub_ohci_transaction): Fix bad format specification.
21928 (GRUB_MOD_INIT): Add asserts for struct size.
21929 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
21930 (grub_alloc_td): Likewise.
21931 (grub_free_queue): Likewise.
21932 (grub_uhci_transfer): Likewise.
21933 (grub_uhci_transaction): Fix bad format specification.
21934 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
21935 (grub_usb_bulk_readwrite): Likewise.
21936 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
21937 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
21938 Made static.
21939 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
21940 Made static.
21941 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
21942 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
21943 Transformed into C.
21944 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
21945 Moved from here ...
21946 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
21947 ... here. Transformed into C. Made static.
21948 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
21949 Moved from here ...
21950 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
21951 ... here. Transformed into C. Made static.
21952 * grub-core/kern/i386/pc/startup.S
21953 (grub_biosdisk_check_int13_extensions): Moved from here ...
21954 * grub-core/disk/i386/pc/biosdisk.c
21955 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
21956 Made static.
21957 * grub-core/kern/i386/pc/startup.S
21958 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
21959 * grub-core/disk/i386/pc/biosdisk.c
21960 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
21961 Transformed into C. Made static.
21962 * grub-core/kern/i386/pc/startup.S
21963 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
21964 * grub-core/disk/i386/pc/biosdisk.c
21965 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
21966 Transformed into C. Made static.
21967 * grub-core/kern/i386/pc/startup.S
21968 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
21969 * grub-core/disk/i386/pc/biosdisk.c
21970 (grub_biosdisk_get_diskinfo_standard): ... here.
21971 Transformed into C. Made static.
21972 * grub-core/kern/i386/pc/startup.S
21973 (grub_biosdisk_get_num_floppies): Moved from here ...
21974 * grub-core/disk/i386/pc/biosdisk.c
21975 (grub_biosdisk_get_num_floppies): ... here.
21976 Transformed into C. Made static.
21977 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
21978 New function.
21979 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
21980 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
21981 Transformed into C. Made static.
21982 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
21983 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
21984 Transformed into C. Made static.
21985 * grub-core/kern/i386/ieee1275/init.c: Removed.
21986 * grub-core/kern/i386/misc.S: Likewise.
21987 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
21988 Splitted from here ...
21989 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
21990 Transformed into C. Made static. All users updated.
21991 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
21992 Transformed into C. Made static. All users updated.
21993 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
21994 Moved from here...
21995 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
21996 Transformed into C. Made static. All users updated.
21997 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
21998 Moved from here...
21999 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
22000 Transformed into C. Made static. All users updated.
22001 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
22002 Removed (replaced by C version).
22003 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
22004 Moved from here...
22005 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
22006 Transformed into C. Made static.
22007 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
22008 Moved from here...
22009 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
22010 ... here. Transformed into C.
22011 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
22012 Moved from here...
22013 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
22014 ... here. Transformed into C.
22015 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
22016 Moved from here...
22017 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
22018 ... here. Transformed into C. Made static.
22019 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
22020 Moved from here...
22021 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
22022 ... here. Transformed into C.
22023 * grub-core/kern/i386/pc/startup.S
22024 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
22025 * grub-core/video/i386/pc/vbe.c
22026 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
22027 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
22028 Moved from here...
22029 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
22030 ... here. Transformed into C.
22031 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
22032 Moved from here...
22033 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
22034 ... here. Transformed into C.
22035 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
22036 Moved from here...
22037 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
22038 ... here. Transformed into C.
22039 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
22040 Moved from here...
22041 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
22042 ... here. Transformed into C.
22043 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
22044 Moved from here...
22045 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
22046 ... here. Transformed into C. Made static.
22047 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
22048 Moved from here...
22049 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
22050 ... here. Transformed into C. Made static.
22051 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
22052 Moved from here...
22053 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
22054 ... here. Transformed into C. Made static.
22055 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
22056 pxe_rm_entry as third argument.
22057 (grub_bios_interrupt): New function.
22058 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
22059 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
22060 of calling grub_stop.
22061 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
22062 * grub-core/lib/efi/halt.c (grub_halt): ...here.
22063 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
22064 * grub-core/lib/emu/halt.c (grub_halt): ... here.
22065 * grub-core/lib/i386/halt.c: Moved from here ...
22066 * grub-core/lib/i386/halt.c: ... here.
22067 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
22068 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
22069 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
22070 grub_stop_floppy.
22071 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
22072 * include/grub/i386/coreboot/init.h: Removed.
22073 * include/grub/i386/multiboot/init.h: Likewise.
22074 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
22075 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
22076 * include/grub/i386/pc/int.h: New file.
22077 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
22078 (grub_pxe_scan): Removed.
22079 (grub_pxe_call): Update prototype.
22080 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
22081 prototypes.
22082 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
22083 * include/grub/i386/qemu/init.h: Removed.
22084 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
22085 noreturn.
22086 (grub_halt): Likewise.
22087 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
22088 (grub_reboot): Likewise.
22089 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
22090 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
22091 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
22092
22093 2010-08-30 Robert Millan <rmh@gnu.org>
22094
22095 * NEWS: Document addition of ZFS support in `grub-install' and
22096 `grub-mkconfig'.
22097
22098 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
22099
22100 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
22101 dprintf output.
22102
22103 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22104
22105 Remove leftover embedding of font objects.
22106
22107 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
22108 * util/grub-install.in (font): Removed.
22109 * util/grub-mkimage.c (generate_image): Remove font support. All users
22110 updated.
22111
22112 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22113
22114 Remove leftover embedding of font objects.
22115
22116 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
22117 * util/grub-install.in (font): Removed.
22118 * util/grub-mkimage.c (generate_image): Remove font support. All users
22119 updated.
22120
22121 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22122
22123 * docs/grub.texi (Network): Fix reference to pxe_blksize.
22124 Reported by: Ian Turner
22125
22126 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22127
22128 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
22129 timeout to avoid indefinite boot stalling.
22130
22131 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22132
22133 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
22134 (grub_env_write_color_highlight): Likewise.
22135
22136 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22137
22138 * grub-core/normal/term.c (print_more): Return to normal and not
22139 to standard state after printing "---MORE---".
22140
22141 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22142
22143 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
22144 Mask out the bit 0x80 since it has other meaning that specifiing color.
22145
22146 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22147
22148 New relocator. Allows for more kernel support and more straightforward
22149 loader writing.
22150
22151 * Makefile.am (BOOTTARGET): New variable.
22152 (QEMU32): Likewise.
22153 (linux.init.x86_64): New target.
22154 (linux.init.i386): Likewise.
22155 (multiboot.elf): Likewise.
22156 (kfreebsd.elf): Likewise.
22157 (kfreebsd.aout): Likewise.
22158 (pc-chainloader.elf): Likewise.
22159 (pc-chainloader.bin): Likewise.
22160 (ntldr.elf): Likewise.
22161 (ntldr.bin): Likewise.
22162 (multiboot2.elf): Likewise.
22163 (kfreebsd.init.x86_64): Likewise.
22164 (kfreebsd.init.i386): Likewise.
22165 (knetbsd.init.i386): Likewise.
22166 (kopenbsd.init.i386): Likewise.
22167 (knetbsd.init.x86_64): Likewise.
22168 (kopenbsd.init.x86_64): Likewise.
22169 (linux-initramfs.i386): Likewise.
22170 (linux-initramfs.x86_64): Likewise.
22171 (kfreebsd-mfsroot.i386.img): Likewise.
22172 (knetbsd.image.i386): Likewise.
22173 (kopenbsd.image.i386): Likewise.
22174 (kopenbsd.image.x86_64): Likewise.
22175 (knetbsd.miniroot-image.i386.img): Likewise.
22176 (kfreebsd-mfsroot.x86_64.img): Likewise.
22177 (knetbsd.image.x86_64): Likewise.
22178 (knetbsd.miniroot-image.x86_64.img): Likewise.
22179 (kfreebsd-mfsroot.i386.gz): Likewise.
22180 (bootcheck-kfreebsd-i386): Likewise.
22181 (kfreebsd-mfsroot.x86_64.gz): Likewise.
22182 (bootcheck-kfreebsd-x86_64): Likewise.
22183 (knetbsd.miniroot-image.i386.gz): Likewise.
22184 (bootcheck-knetbsd-i386): Likewise.
22185 (bootcheck-kopenbsd-i386): Likewise.
22186 (bootcheck-kopenbsd-x86_64): Likewise.
22187 (knetbsd.miniroot-image.x86_64.gz): Likewise.
22188 (bootcheck-knetbsd-x86_64): Likewise.
22189 (bootcheck-linux-i386): Likewise.
22190 (bootcheck-linux-x86_64): Likewise.
22191 (bootcheck-linux16-i386): Likewise.
22192 (bootcheck-linux16-x86_64): Likewise.
22193 (bootcheck-multiboot): Likewise.
22194 (bootcheck-multiboot2): Likewise.
22195 (bootcheck-kfreebsd-aout): Likewise.
22196 (bootcheck-pc-chainloader): Likewise.
22197 (bootcheck-ntldr): Likewise.
22198 (CLEANFILES): Add new targets.
22199 (BOOTCHECKS): New variable.
22200 (.PHONY): Add bootchecks.
22201 (SUCCESSFUL_BOOT_STRING): New variable.
22202 (BOOTCHECK_TIMEOUT): Likewise.
22203 (bootcheck): New target
22204 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
22205 * configure.ac: Correct efiemu excuse.
22206 * docs/grub.texi (Supported kernels): New chapter.
22207 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
22208 include/grub/mm_private.h. Simplify inclusion of
22209 include/grub/boot.h, include/grub/loader.h
22210 and include/grub/msdos_partition.h
22211 (KERNEL_HEADER_FILES) [i386_coreboot]:
22212 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
22213 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
22214 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
22215 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
22216 include/grub/machine/loader.h.
22217 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
22218 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
22219 extra_dist.
22220 (pci.mod): Enable on i386-multiboot.
22221 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
22222 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
22223 i386-qemu.
22224 (relocator.mod): Rewritten.
22225 (aout.mod): Enable on all x86.
22226 (bsd.mod): Likewise.
22227 (ntldr.mod): New module.
22228 (linux.mod): Use loader/i386/linux.c on all x86.
22229 (xnu.mod): Enable on all x86.
22230 (vga_text.mod): disable on EFI and QEMU.
22231 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
22232 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
22233 * grub-core/efiemu/loadcore.c: Likewise.
22234 * grub-core/efiemu/main.c: Likewise.
22235 (grub_efiemu_exit_boot_services): Removed.
22236 (grub_efiemu_finish_boot_services): Likewise.
22237 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
22238 function.
22239 * grub-core/efiemu/i386/nocfgtables.c: New file.
22240 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
22241 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
22242 (grub_efi_finish_boot_services): Moved from here ...
22243 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
22244 Fille finish memory map and related data.
22245 (finish_mmap_buf): New variable.
22246 (grub_efi_uintn_t finish_mmap_size): Likewise.
22247 (grub_efi_uintn_t finish_key): Likewise.
22248 (grub_efi_uintn_t finish_desc_size): Likewise.
22249 (grub_efi_uint32_t finish_desc_version): Likewise.
22250 (grub_efi_is_finished): Likewise.
22251 (grub_efi_get_memory_map): Use saved memory map if EFI is already
22252 finished.
22253 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
22254 (grub_elf64_phdr_iterate): Likewise.
22255 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
22256 (grub_os_area_size): Likewise.
22257 (grub_machine_init): Don't reserve os area.
22258 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
22259 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
22260 * grub-core/kern/i386/loader.S: Removed.
22261 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
22262 (grub_os_area_size): Likewise.
22263 (grub_machine_init): Don't reserve os area.
22264 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
22265 Don't call grub_dl_unload_all.
22266 Don't include loader.S.
22267 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
22268 Declare the memory after _end as available.
22269 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
22270 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
22271 (GRUB_MM_ALLOC_MAGIC): Moved from here...
22272 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
22273 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
22274 * include/grub/mm_private.h (grub_mm_header): ... here.
22275 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
22276 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
22277 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
22278 (grub_mm_region): ..here. Removed addr. Added pre_size.
22279 All users updated.
22280 * grub-core/kern/mm.c (base): Renamed to ...
22281 (grub_mm_base): ... this. Made global.
22282 (grub_real_malloc): Alloc from end of region.
22283 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
22284 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
22285 * grub-core/kern/powerpc/cache_flush.S: ... here.
22286 * grub-core/lib/efi/relocator.c: New file.
22287 * grub-core/lib/i386/relocator.c: Rewritten.
22288 * grub-core/lib/i386/relocator16.S: New file.
22289 * grub-core/lib/i386/relocator32.S: Likewise.
22290 * grub-core/lib/i386/relocator64.S: Likewise.
22291 * grub-core/lib/i386/relocator_asm.S: Rewritten.
22292 * grub-core/lib/i386/relocator_common.S: New file.
22293 * grub-core/lib/ieee1275/relocator.c: Likewise.
22294 * grub-core/lib/mips/relocator.c: Rewritten.
22295 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
22296 stylistic adjustments.
22297 * grub-core/lib/powerpc/relocator.c: New file.
22298 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
22299 * grub-core/lib/relocator.c: Rewritten.
22300 * grub-core/lib/x86_64/relocator_asm.S: New file.
22301 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
22302 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
22303 (bsd_tag): New struct.
22304 (tags): New variable.
22305 (tags_last): Likewise.
22306 (netbsd_module): New struct.
22307 (netbsd_mods): New variable.
22308 (netbsd_mods_last): Likewise.
22309 (openbsd_opts): New parameter "serial".
22310 (OPENBSD_SERIAL_ARG): New definition.
22311 (netbsd_opts): New parameter "serial".
22312 (NETBSD_SERIAL_ARG): New definition.
22313 (grub_freebsd_add_meta): Reorganised into ...
22314 (grub_bsd_add_meta): ...this. All users updated.
22315 (grub_freebsd_add_mmap): Reorganised into ...
22316 (generate_e820_mmap): ...this...
22317 (grub_bsd_add_mmap): ...and this. All users updated.
22318 (grub_freebsd_list_modules): Use tags.
22319 (grub_netbsd_add_meta_module): New function.
22320 (grub_netbsd_list_modules): Likewise.
22321 (grub_freebsd_boot): Use relocator and finish EFI.
22322 (grub_openbsd_boot): Likewise.
22323 (grub_netbsd_setup_video): New function.
22324 (grub_netbsd_add_modules): Likewise.
22325 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
22326 and finish EFI.
22327 (grub_bsd_unload): Unload tags.
22328 (grub_bsd_load_aout): Use relocator.
22329 (grub_bsd_elf32_size_hook): New function.
22330 (grub_bsd_elf32_hook): Use relocator.
22331 (grub_bsd_elf64_size_hook): New function.
22332 (grub_bsd_elf64_hook): Use relocator.
22333 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
22334 (grub_bsd_load): Zero-out openbsd_ramdisk.
22335 (grub_bsd_load): Use relocator.
22336 (grub_cmd_openbsd): Support serial.
22337 (grub_cmd_netbsd): Support modules.
22338 (grub_cmd_freebsd_module): Use relocator.
22339 (grub_netbsd_module_load): New function.
22340 (grub_cmd_netbsd_module): Likewise.
22341 (grub_cmd_openbsd_ramdisk): Likewise.
22342 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
22343 kopenbsd_ramdisk.
22344 (GRUB_MOD_FINI): Unregister new commands.
22345 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
22346 (grub_freebsd_load_elfmodule_obj): Use relocator.
22347 (grub_freebsd_load_elfmodule): Likewise.
22348 (grub_freebsd_load_elf_meta): Likewise.
22349 (grub_netbsd_load_elf_meta): New function.
22350 (grub_openbsd_find_ramdisk): Likewise.
22351 * grub-core/loader/i386/bsd_helper.S: Removed.
22352 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
22353 * grub-core/loader/i386/bsd_trampoline.S: Removed.
22354 * grub-core/loader/i386/efi/linux.c: Likewise.
22355 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
22356 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
22357 (DEFAULT_VIDEO_MODE): Likewise.
22358 (real_mode_target): New variable.
22359 (prot_mode_target): Likewise.
22360 (initrd_mem_target): Likewise.
22361 (relocator): Likewise.
22362 (efi_mmap_buf): Likewise.
22363 (efi_mmap_size): Likewise.
22364 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
22365 (free_pages): Use relocator.
22366 (allocate_pages): Account for efi_mmap and use relocator. Return error.
22367 (grub_linux_setup_video): Return error.
22368 (grub_linux_trampoline_start): Removed.
22369 (grub_linux_trampoline_end): Likewise.
22370 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
22371 andd video parameters depending on firmware.
22372 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
22373 [GRUB_MACHINE_EFI]: Pass EFI parameters.
22374 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
22375 (grub_cmd_initrd): Use relocator.
22376 * grub-core/loader/i386/linux_trampoline.S: Removed.
22377 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
22378 (elf_sec_entsize): Likewise.
22379 (elf_sec_shstrndx): Likewise.
22380 (elf_sections): Likewise.
22381 (grub_multiboot_load): Use relocator.
22382 (grub_multiboot_get_mbi_size): Account for sections.
22383 (grub_multiboot_make_mbi): Use relocator and support sections.
22384 (grub_multiboot_add_elfsyms): New function.
22385 (grub_multiboot_free_mbi): Free sections.
22386 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
22387 (grub_linux_real_target): Likewise.
22388 (grub_linux_real_chunk): Likewise.
22389 (grub_linux16_prot_size): Likewise.
22390 (grub_linux16_boot): Use relocator.
22391 (grub_linux_unload): Unload relocator.
22392 (grub_cmd_linux): Use relocator.
22393 (grub_cmd_initrd): Likewise.
22394 * grub-core/loader/i386/pc/ntldr.c: New file.
22395 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
22396 Don't try to guess CPU frequency.
22397 (grub_xnu_set_video): Stretch bitmap.
22398 (grub_xnu_boot): Use relocator.
22399 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
22400 (grub_linux_unload): Free relocator.
22401 (grub_linux_load32): Use relocator.
22402 (grub_linux_load64): Likewise.
22403 (grub_cmd_initrd): Likewise.
22404 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
22405 (grub_multiboot_unload): Unload relocator.
22406 (grub_cmd_multiboot): Use relocator.
22407 (grub_cmd_module): Likewise.
22408 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
22409 Use relocator and support sections.
22410 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
22411 (elf_sec_entsize): Likewise.
22412 (elf_sec_shstrndx): Likewise.
22413 (elf_sections): Likewise.
22414 (grub_multiboot_load): Use relocator.
22415 (grub_multiboot_get_mbi_size): Account for sections.
22416 (grub_multiboot_make_mbi): Use relocator and support sections.
22417 (grub_multiboot_add_elfsyms): New function.
22418 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
22419 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
22420 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
22421 Prototype changed. All users updated.
22422 (grub_xnu_align_heap): Simplified.
22423 (grub_xnu_writetree_toheap): Likewise.
22424 (grub_xnu_unload): Unload relocator.
22425 (grub_cmd_xnu_kernel): Use relocator.
22426 (grub_cmd_xnu_kernel64): Likewise.
22427 (grub_xnu_register_memory): Simplified.
22428 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
22429 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
22430 EFI is finished.
22431 (grub_console_checkkey): Likewise.
22432 (grub_console_getkey): Likewise.
22433 (grub_console_getwh): Likewise.
22434 (grub_console_getxy): Likewise.
22435 (grub_console_gotoxy): Likewise.
22436 (grub_console_cls): Likewise.
22437 (grub_console_setcolorstate): Likewise.
22438 (grub_console_setcursor): Likewise.
22439 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
22440 * grub-core/tests/boot/kbsd.init-i386.S: New file.
22441 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
22442 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
22443 * grub-core/tests/boot/kernel-8086.S: Likewise.
22444 * grub-core/tests/boot/kernel-i386.S: Likewise.
22445 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
22446 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
22447 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
22448 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
22449 * grub-core/tests/boot/knetbsd.cfg: Likewise.
22450 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
22451 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
22452 * grub-core/tests/boot/linux.cfg: Likewise.
22453 * grub-core/tests/boot/linux.init-i386.S: Likewise.
22454 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
22455 * grub-core/tests/boot/linux16.cfg: Likewise.
22456 * grub-core/tests/boot/multiboot.cfg: Likewise.
22457 * grub-core/tests/boot/multiboot2.cfg: Likewise.
22458 * grub-core/tests/boot/ntldr.cfg: Likewise.
22459 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
22460 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
22461 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
22462 New definition.
22463 * include/grub/dl.h (grub_dl_unload_all): Removed.
22464 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
22465 (grub_efi_finish_boot_services): Change prototype.
22466 (grub_efi_is_finished): New variable.
22467 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
22468 Changed prototype.
22469 (grub_efiemu_finish_boot_services): Removed.
22470 (grub_machine_efiemu_init_tables): New prototype.
22471 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
22472 (grub_elf64_phdr_iterate): Likewise.
22473 * include/grub/i386/bsd.h: Include relocator.h.
22474 (freebsd_tag_header): New struct.
22475 (grub_openbsd_bios_mmap): Removed.
22476 (grub_unix_real_boot): Removed.
22477 (grub_freebsd_load_elfmodule32): Changed prototype.
22478 (grub_freebsd_load_elfmodule_obj64): Likewise.
22479 (grub_freebsd_load_elf_meta32): Likewise.
22480 (grub_freebsd_load_elf_meta64): Likewise.
22481 (grub_freebsd_add_meta): Removed.
22482 (grub_netbsd_load_elf_meta32): New prototype.
22483 (grub_netbsd_load_elf_meta64): Likewise.
22484 (grub_bsd_add_meta): Likewise.
22485 (grub_openbsd_ramdisk_descriptor): New struct.
22486 (grub_openbsd_find_ramdisk32): New prototype.
22487 (grub_openbsd_find_ramdisk64): Likewise.
22488 * include/grub/i386/coreboot/loader.h: Removed.
22489 * include/grub/i386/efi/loader.h: Likewise.
22490 * include/grub/i386/ieee1275/loader.h: Likewise.
22491 * include/grub/i386/linux.h (linux_kernel_header): Change void *
22492 to grub_uint32_t.
22493 * include/grub/i386/loader.h: Removed.
22494 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
22495 value.
22496 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
22497 (grub_phys_addr_t): New type.
22498 (grub_vtop): New inline function.
22499 (grub_map_memory): Likewise.
22500 (grub_unmap_memory): Likewise.
22501 * include/grub/i386/multiboot/loader.h: Removed.
22502 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
22503 (NETBSD_BTINFO_CONSOLE): New definition.
22504 (NETBSD_BTINFO_SYMTAB): Likewise.
22505 (NETBSD_BTINFO_MODULES): Likewise.
22506 (NETBSD_BTINFO_FRAMEBUF): Likewise.
22507 (grub_netbsd_bootinfo): New struct.
22508 (grub_netbsd_btinfo_common): Use explicit bitsize.
22509 (grub_netbsd_btinfo_mmap_entry): Removed.
22510 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
22511 (grub_netbsd_btinfo_bootdisk): New struct.
22512 (grub_netbsd_btinfo_symtab): Likewise.
22513 (grub_netbsd_btinfo_serial): Likewise.
22514 (grub_netbsd_btinfo_modules): Likewise.
22515 (grub_netbsd_btinfo_framebuf): Likewise.
22516 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
22517 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
22518 Likewise.
22519 (grub_openbsd_bootargs): Use explicit bitsize.
22520 (grub_openbsd_bootarg_console): New struct.
22521 (GRUB_OPENBSD_COM_MAJOR): New definition.
22522 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
22523 * include/grub/i386/pc/efiemu.h: Removed.
22524 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
22525 * include/grub/i386/qemu/loader.h: Removed.
22526 * include/grub/i386/relocator.h: Rewritten.
22527 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
22528 * include/grub/mips/memory.h: New file.
22529 * include/grub/mips/multiboot.h: Rewritten.
22530 * include/grub/mips/relocator.h: Rewritten.
22531 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
22532 (grub_vtop): New function.
22533 (grub_map_memory): Likewise.
22534 (grub_unmap_memory): Likewise.
22535 * include/grub/misc.h (ALIGN_DOWN): New definition.
22536 * include/grub/mm.h (grub_mm_check_real): New proto.
22537 (GRUB_MM_CHECK): New definition.
22538 * include/grub/mm_private.h: New file.
22539 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
22540 (grub_multiboot_get_mbi_size): Removed.
22541 (grub_multiboot_make_mbi): Change prottype.
22542 (grub_multiboot_set_accepts_video): New proto.
22543 (grub_multiboot_add_elfsyms): Likewise.
22544 (grub_multiboot_payload_eip): New variable.
22545 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
22546 New prototype.
22547 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
22548 New definition.
22549 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
22550 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
22551 * include/grub/powerpc/ieee1275/loader.h: Removed.
22552 * include/grub/powerpc/memory.h: New file.
22553 * include/grub/powerpc/relocator.h: Likewise.
22554 * include/grub/relocator.h: Likewise.
22555 * include/grub/relocator_private.h: Likewise.
22556 * include/grub/sparc64/ieee1275/loader.h: Removed.
22557 * include/grub/x86_64/memory.h: New file.
22558 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
22559 (grub_xnu_heap_malloc): Likewise.
22560 (grub_xnu_heap_real_start): Removed.
22561 (grub_xnu_heap_start): Likewise.
22562 (grub_xnu_relocator): New variable.
22563 (grub_xnu_heap_target_start): Likewise.
22564 * tests/util/grub-shell.in: Support non-pc.
22565 * util/grub-mkimage.c (image_targets): Fix multiboot target.
22566
22567 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22568
22569 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
22570 on malloc error.
22571 (grub_bidi_logical_to_visual): Check that malloc succeded.
22572 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
22573 puts.
22574 (grub_xputs_normal): Likewise.
22575
22576 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22577
22578 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
22579 extra_dist.
22580
22581 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22582
22583 * grub-core/efiemu/runtime/efiemu.sh: Removed.
22584
22585 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22586
22587 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
22588
22589 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22590
22591 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
22592 dprintf.
22593
22594 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
22595
22596 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
22597
22598 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22599
22600 * grub-core/normal/term.c (print_more): Fix a memory leak.
22601 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
22602 (grub_xputs_normal): Likewise.
22603
22604 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22605
22606 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
22607 the begining of the string
22608
22609 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22610
22611 * grub-core/script/script.c (grub_script_parse): Free parsed on
22612 failure.
22613
22614 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22615
22616 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
22617 on failure.
22618
22619 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22620
22621 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
22622 return.
22623
22624 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22625
22626 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
22627 (scroll_up): Fix a memory leak.
22628
22629 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22630
22631 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
22632 errors.
22633
22634 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
22635
22636 Handle USB pendrives exposed as floppies.
22637
22638 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
22639 floppy.
22640 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
22641 Check for partitions on all devices.
22642
22643 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22644
22645 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
22646 (readkey): Likewise.
22647
22648 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
22649
22650 Multiple variable names support to "export" command.
22651
22652 * normal/context.c (grub_cmd_export): "export" command supports
22653 multiple variable names.
22654
22655 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
22656
22657 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
22658 --target=drive output to Mach device name.
22659
22660 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
22661
22662 New Automake based build system for GRUB.
22663
22664 * ABOUT-NLS: New file.
22665 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
22666 in Makefile.util.def file.
22667 * Makefile.util.def: New file. Autogen build definitions file for
22668 GRUB host utils.
22669 * conf/Makefile.common: New file. Common variables for GRUB host
22670 utils and target modules.
22671 * conf/Makefile.extra-dist: New file. Extra files for make dist.
22672 * docs/Makefile.am: New file. Automake file for docs.
22673 * gentpl.py: New file. Python script to generate Autogen
22674 template.
22675 * grub-core/Makefile.am: New file. GRUB target modules' rules
22676 that doesn't fit in Makefile.core.def file.
22677 * grub-core/Makefile.core.def: New file. Autogen build
22678 definitions file for GRUB target modules.
22679 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
22680 specific setjmp.S file.
22681 * po/Makefile.am: New file.
22682
22683 * .bzrignore: New ignores.
22684 * INSTALL: New requirements, without Ruby.
22685 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
22686 * autogen.sh: Updated to invoke autogen as necessary.
22687 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
22688 and defines for Automake conditionals.
22689 * geninit.sh: Refactoring.
22690
22691 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
22692 necessary.
22693 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
22694 New prototype.
22695
22696 * include/grub/test.h: Fix functional test modules' naming.
22697 * grub-core/tests/example_functional_test.c: Fix test module name.
22698
22699 * util/misc.c: Hosted versions' of grub functions for libgrub.a
22700 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
22701 * util/grub-editenv.c: Likewise.
22702 * util/grub-fstest.c: Likewise.
22703 * util/grub-mkdevicemap.c: Likewise.
22704 * util/grub-mkfont.c: Likewise.
22705 * util/grub-mkimage.c: Likewise.
22706 * util/grub-mkpasswd-pbkdf2.c: Likewise.
22707 * util/grub-probe.c: Likewise.
22708 * util/grub-script-check.c: Likewise.
22709 * util/i386/pc/grub-setup.c: Likewise.
22710 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22711
22712 * tests/util/grub-shell.in: Fix override directory path.
22713 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
22714 * util/import_gcry.py: Create Makefile.gcry.def file instead.
22715
22716 * util/lvm.c: Update #includes.
22717 * util/raid.c: Likewise.
22718 * util/resolve.c: Likewise.
22719 * grub-core/bus/emu/pci.c: Likewise.
22720 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
22721 * grub-core/lib/posix_wrap/string.h: Likewise.
22722 * grub-core/kern/emu/main.c: Likewise.
22723
22724 * grub-core/gensymlist.sh: New file. Script for generating kernel
22725 symbols file.
22726 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
22727
22728 * grub-core/gentrigtables.c: Fix unused variable warnings.
22729
22730 * Makefile.in: Removed.
22731 * conf/any-emu.rmk: Removed.
22732 * conf/common.rmk: Removed.
22733 * conf/i386-coreboot.rmk: Removed.
22734 * conf/i386-efi.rmk: Removed.
22735 * conf/i386-ieee1275.rmk: Removed.
22736 * conf/i386-multiboot.rmk: Removed.
22737 * conf/i386-pc.rmk: Removed.
22738 * conf/i386-qemu.rmk: Removed.
22739 * conf/i386.rmk: Removed.
22740 * conf/mips-yeeloong.rmk: Removed.
22741 * conf/mips.rmk: Removed.
22742 * conf/powerpc-ieee1275.rmk: Removed.
22743 * conf/sparc64-ieee1275.rmk: Removed.
22744 * conf/tests.rmk: Removed.
22745 * conf/x86-efi.rmk: Removed.
22746 * conf/x86_64-efi.rmk: Removed.
22747 * gendistlist.sh: Removed.
22748 * geninitheader.sh: Removed.
22749 * genkernsyms.sh.in: Removed.
22750 * genmk.rb: Removed.
22751 * gensymlist.sh.in: Removed.
22752 * mkinstalldirs: Removed.
22753 * boot: Moved ...
22754 * grub-core/boot: ... to here.
22755 * bus: Moved ...
22756 * grub-core/bus: ... to here.
22757 * commands: Moved ...
22758 * grub-core/commands: ... to here.
22759 * disk: Moved ...
22760 * grub-core/disk: ... to here.
22761 * efiemu: Moved ...
22762 * grub-core/efiemu: ... to here.
22763 * font: Moved ...
22764 * grub-core/font: ... to here.
22765 * fs: Moved ...
22766 * grub-core/fs: ... to here.
22767 * gencmdlist.sh: Moved ...
22768 * grub-core/gencmdlist.sh: ... to here.
22769 * genemuinit.sh: Moved ...
22770 * grub-core/genemuinit.sh: ... to here.
22771 * genemuinitheader.sh: Moved ...
22772 * grub-core/genemuinitheader.sh: ... to here.
22773 * genfslist.sh: Moved ...
22774 * grub-core/genfslist.sh: ... to here.
22775 * genhandlerlist.sh: Moved ...
22776 * grub-core/genhandlerlist.sh: ... to here.
22777 * genmoddep.awk: Moved ...
22778 * grub-core/genmoddep.awk: ... to here.
22779 * genmodsrc.sh: Moved ...
22780 * grub-core/genmodsrc.sh: ... to here.
22781 * genpartmaplist.sh: Moved ...
22782 * grub-core/genpartmaplist.sh: ... to here.
22783 * genparttoollist.sh: Moved ...
22784 * grub-core/genparttoollist.sh: ... to here.
22785 * genterminallist.sh: Moved ...
22786 * grub-core/genterminallist.sh: ... to here.
22787 * gentrigtables.c: Moved ...
22788 * grub-core/gentrigtables.c: ... to here.
22789 * genvideolist.sh: Moved ...
22790 * grub-core/genvideolist.sh: ... to here.
22791 * gettext: Moved ...
22792 * grub-core/gettext: ... to here.
22793 * gfxmenu: Moved ...
22794 * grub-core/gfxmenu: ... to here.
22795 * gnulib: Moved ...
22796 * grub-core/gnulib: ... to here.
22797 * hello: Moved ...
22798 * grub-core/hello: ... to here.
22799 * hook: Moved ...
22800 * grub-core/hook: ... to here.
22801 * io: Moved ...
22802 * grub-core/io: ... to here.
22803 * kern: Moved ...
22804 * grub-core/kern: ... to here.
22805 * lib: Moved ...
22806 * grub-core/lib: ... to here.
22807 * loader: Moved ...
22808 * grub-core/loader: ... to here.
22809 * mmap: Moved ...
22810 * grub-core/mmap: ... to here.
22811 * normal: Moved ...
22812 * grub-core/normal: ... to here.
22813 * partmap: Moved ...
22814 * grub-core/partmap: ... to here.
22815 * parttool: Moved ...
22816 * grub-core/parttool: ... to here.
22817 * script: Moved ...
22818 * grub-core/script: ... to here.
22819 * term: Moved ...
22820 * grub-core/term: ... to here
22821 * tests/example_functional_test.c: Moved ...
22822 * grub-core/tests/example_functional_test.c: ... to here.
22823 * tests/lib/functional_test.c: Moved ...
22824 * grub-core/tests/lib/functional_test.c: ... to here.
22825 * tests/lib/test.c: Moved ...
22826 * grub-core/tests/lib/test.c: ... to here.
22827 * video: Moved ...
22828 * grub-core/video: ... to here.
22829
22830 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
22831
22832 Replace --enable-grub-emu-modules with grub-emu-lite.
22833
22834 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
22835 cache.S.
22836
22837 * include/grub/emu/misc.h (grub_emu_init): New prototype.
22838 * kern/emu/full.c: New file. For grub-emu specific initialization.
22839 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
22840 * kern/emu/main.c: Call initialization function grub_emu_init.
22841
22842 * Makefile.in: Include grub-emu-lite in install.
22843 * commands/parttool.c: Use grub_no_autoload to differentiate
22844 between grub-emu and grub-emu-lite.
22845 * include/grub/misc.h: New variable grub_no_autoload.
22846
22847 * conf/any-emu.rmk: New rules for grub-emu-lite.
22848 * configure.ac: Remove --enable-grub-emu-modules.
22849 * genmk.rb: Cleanup unnecessary rules.
22850 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
22851
22852 * normal/main.c: Don't load list files on grub-emu-lite.
22853 * util/misc.c (grub_arch_sync_caches): Removed.
22854
22855 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
22856
22857 * kern/mips/startup.S (grub_prefix): Update comment to refer to
22858 grub-mkimage rather than grub-mkelfimage.
22859 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
22860
22861 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
22862
22863 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
22864 a key after CapsLock or NumLock. It's just a qemu bug.
22865
22866 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
22867
22868 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
22869 needed by libusb wrapper.
22870
22871 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
22872
22873 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
22874
22875 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
22876
22877 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
22878 --nounzip is passed.
22879
22880 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
22881
22882 USB hotunplugging and USB serial support.
22883
22884 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
22885 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
22886 (grub_uhci_transfer): Respect timeout and set *actual.
22887 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
22888 non-standard length.
22889 (grub_usb_device_attach): Autoload modules.
22890 (GRUB_MOD_INIT): Set grub_term_poll_usb.
22891 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
22892 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
22893 users updated.
22894 (grub_usb_add_hub): Fill nports and children.
22895 (attach_root_port): Receive hub instead of controller.
22896 All users updated. Fill hub->devices.
22897 (grub_usb_root_hub): Allocate hub->devices.
22898 (detach_device): New function.
22899 (poll_nonroot_hub): Fill children and detach devices.
22900 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
22901 actual arguments. All users updated.
22902 (grub_usb_bulk_read_extended): New function.
22903 * bus/usb/serial/common.c: New file.
22904 * bus/usb/serial/ftdi.c: Likewise.
22905 * bus/usb/serial/pl2303.c: Likewise.
22906 * commands/terminal.c (handle_command): Support wildcard.
22907 * commands/usbtest.c: Output "Unknown" instead of empty string.
22908 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
22909 (usbserial_common_mod_SOURCES): New variable.
22910 (usbserial_common_mod_CFLAGS): Likewise.
22911 (usbserial_common_mod_LDFLAGS): Likewise.
22912 (pkglib_MODULES): Add usbserial_pl2303.mod.
22913 (usbserial_pl2303_mod_SOURCES): New variable.
22914 (usbserial_pl2303_mod_CFLAGS): Likewise.
22915 (usbserial_pl2303_mod_LDFLAGS): Likewise.
22916 (pkglib_MODULES): Add usbserial_ftdi.mod.
22917 (usbserial_ftdi_mod_SOURCES): New variable.
22918 (usbserial_ftdi_mod_CFLAGS): Likewise.
22919 (usbserial_ftdi_mod_LDFLAGS): Likewise.
22920 (pkglib_MODULES): Add serial.mod.
22921 (serial_mod_SOURCES): New variable.
22922 (serial_mod_CFLAGS): Likewise.
22923 (serial_mod_LDFLAGS): Likewise.
22924 * conf/i386-pc.rmk: Likewise.
22925 * conf/mips-yeeloong.rmk: Likewise.
22926 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
22927 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
22928 * disk/usbms.c (first_available_slot): New variable.
22929 (grub_usbms_attach): Don't reuse free slots due to potential cache
22930 problems.
22931 * include/grub/serial.h: Moved to ..
22932 * include/grub/ns8250.h: ...this.
22933 * include/grub/serial.h: New file.
22934 * include/grub/term.h (grub_term_poll_usb): New variable.
22935 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
22936 readkey. All users updated.
22937 (grub_terminfo_output_state): Pass term to put.
22938 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
22939 (grub_usb_controller_dev): Add timeout and actual arguments to
22940 transfer. All users updated.
22941 (grub_usb_interface): New field detach_data.
22942 (grub_usb_device): New fields children and nports.
22943 (grub_usb_ep_type_t): New type.
22944 (grub_usb_get_ep_type): New function.
22945 (grub_usb_bulk_read_extended): Likewise.
22946 * include/grub/usbdesc.h (grub_usb_desc): New type.
22947 * include/grub/usbserial.h: New file.
22948 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
22949 * kern/term.c (grub_term_poll_usb): New variable.
22950 (grub_getkey): Call grub_term_poll_usb if set.
22951 (grub_checkkey): Likewise.
22952 (grub_getkeystatus): Likewise.
22953 * term/serial.c: Moved controller-specific parts to ...
22954 * term/ns8250.c: ... here.
22955 * term/serial.c: Mostly rewritten.
22956 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
22957 according to spec.
22958
22959 2010-08-20 Robert Millan <rmh@gnu.org>
22960
22961 Make kFreeBSD code more generic to support ext2fs as root, ufs as
22962 a separate module and maybe other interesting combinations.
22963
22964 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
22965 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
22966 (kfreebsd_entry): Add generic filesystem module load routine.
22967 Map GRUB `ext2' to kFreeBSD `ext2fs'.
22968
22969 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
22970
22971 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
22972 "numcenter" (I misunderstood the purpose of this entry).
22973 * docs/grub.texi (sendkey): Likewise.
22974
22975 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
22976
22977 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
22978 status flag options; simply omitting the option is equivalent and
22979 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
22980 (keysym_table): Rename "num5numlock" to "numlock".
22981 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
22982 can uniformly say that only the last of multiple `sendkey'
22983 invocations has any effect.
22984 * docs/grub.texi (sendkey): New section.
22985
22986 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
22987
22988 * commands/i386/pc/sendkey.c (options): Fix three typos.
22989
22990 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
22991
22992 Implement sendkey support.
22993
22994 * commands/i386/pc/sendkey.c: New file.
22995 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
22996 (sendkey_mod_SOURCES): New variable.
22997 (sendkey_mod_CFLAGS): Likewise.
22998 (sendkey_mod_LDFLAGS): Likewise.
22999
23000 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
23001
23002 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
23003 fix warnings from Autoconf.
23004
23005 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
23006
23007 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
23008 to avoid false positives with some assemblers that output things
23009 like "someprefix_func" as part of their output.
23010
23011 2010-08-15 Robert Millan <rmh@gnu.org>
23012
23013 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
23014 errors.
23015 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
23016 grub_get_libzfs_handle() errors.
23017
23018 2010-08-14 Robert Millan <rmh@gnu.org>
23019
23020 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
23021 filesystem is not ZFS.
23022
23023 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23024
23025 Fix for misspelled color names defaulting to black/black (bug
23026 reported by Doug Nazar)
23027
23028 * include/grub/normal.h (grub_parse_color_name_pair): Add return
23029 status to prototype.
23030 * normal/color.c (grub_parse_color_name_pair): Return failure
23031 status.
23032 (grub_env_write_color_normal): Ignore bad color names.
23033 (grub_env_write_color_highlight): Likewise.
23034 * normal/main.c (GRUB_MOD_INIT): Set default color names.
23035
23036 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23037
23038 "shift" command support to GRUB script.
23039
23040 * include/grub/script_sh.h (grub_script_shift): New prototype.
23041 * script/execute.c (grub_script_shift): New function.
23042 * script/main.c (grub_script_init): Register shift command.
23043 (grub_script_fini): Unregister shift command.
23044 * util/grub-script-check.c (grub_script_cmd_shift): New function.
23045
23046 * tests/grub_script_shift.in: New testcase.
23047 * conf/tests.rmk: Rules for new testcase.
23048
23049 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23050
23051 "continue" command support to GRUB script.
23052
23053 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
23054 (grub_script_break): Continue support.
23055 * script/main.c (grub_script_init): Register continue command.
23056 (grub_script_fini): Unregister continue command.
23057
23058 * tests/grub_script_continue.in: New testcase.
23059 * conf/tests.rmk: Rules for new testcase.
23060
23061 2010-08-12 BVK Chaitanya <bvk@dbook>
23062
23063 "break" command support to GRUB script.
23064
23065 * conf/common.rmk: Rule updates to grub-script-check.
23066 * include/grub/misc.h (grub_min): New function.
23067 * include/grub/script_sh.h (grub_script_init): New prototype.
23068 (grub_script_fini): New prototype.
23069 (grub_script_break): New prototype.
23070 * script/main.c (grub_script_init): New function.
23071 (grub_script_fini): New function.
23072 * script/execute.c (grub_script_break): New function.
23073 * normal/main.c: Calls to grub_script_{init,fini}.
23074 * util/grub-script-check.c (grub_script_break): New function.
23075
23076 * tests/grub_script_break.in: New testcase.
23077 * conf/tests.rmk: Rules for new test case.
23078
23079 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23080
23081 Function parameters support to GRUB script.
23082
23083 * script/yylex.l (VARIABLE): Regular expression update.
23084 * script/function.c (grub_script_function_call): Moved ...
23085 * script/execute.c (grub_script_function_call): ... to here.
23086 (grub_script_execute_arglist_to_argv): Removed.
23087 (grub_script_arglist_to_argv): New function.
23088 * script/argv.c: New file.
23089 (grub_script_argv_free): New function.
23090 (grub_script_argv_next): Likewise.
23091 (grub_script_argv_append): Likewise.
23092 (grub_script_argv_split_append): Likewise.
23093 * include/grub/script_sh.h (grub_script_argv): New struct.
23094 (grub_script_argv_free): New function.
23095 (grub_script_argv_next): Likewise.
23096 (grub_script_argv_append): Likewise.
23097 (grub_script_argv_split_append): Likewise.
23098
23099 * conf/common.rmk (normal.mod): New source script/argv.c.
23100
23101 * tests/grub_script_echo1.in: More tests.
23102 * tests/grub_script_vars1.in: Likewise.
23103 * tests/grub_script_functions.in: New test case.
23104 * conf/tests.rmk: Rules for new testcase.
23105
23106 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23107
23108 Remove grub_script_cmdblock struct.
23109
23110 * include/grub/script_sh.h: Remove grub_script_cmdblock.
23111 * script/parser.y: Likewise.
23112 * script/execute.c: Rename cmdblock suffix to cmdlist.
23113 * script/script.c: Likewise.
23114 * util/grub-script-check.c: Likewise.
23115
23116 2010-08-11 Yves Blusseau <blusseau@zetam.org>
23117
23118 * .bzrignore: add grub-macho2img
23119
23120 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
23121
23122 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
23123
23124 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
23125
23126 Remove the dump of sm712 initialisation sequence.
23127
23128 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
23129 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
23130 (GRUB_VGA_IO_MISC_WRITE): Likewise.
23131 (GRUB_VGA_CR_*): Added many registers.
23132 (GRUB_VGA_SR_*): Likewise.
23133 (GRUB_VGA_GR_*): Likewise.
23134 (grub_vga_write_arx): New function.
23135 (grub_video_hw_config): New struct.
23136 (grub_vga_set_geometry): New function.
23137 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
23138 GRUB_PCI_CLASS_SUBCLASS_VGA.
23139 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
23140 * video/sm712.c (grub_sm712_write_reg): New function
23141 (grub_sm712_read_reg): Likewise.
23142 (grub_sm712_sr_write): Likewise.
23143 (grub_sm712_gr_write): Likewise.
23144 (grub_sm712_cr_write): Likewise.
23145 (grub_sm712_write_arx): Likewise.
23146 (grub_sm712_cr_shadow_write): Likewise.
23147 (grub_sm712_write_dda_lookup): Likewise.
23148 (grub_video_sm712_setup): Initialise the video rather then
23149 blindly replay the dump.
23150 (main) [TEST]: Add a routine to be able to compile as standalone for
23151 tests.
23152 * video/sm712_init.c (sm712_init): Removed.
23153 (sm712_sr_seq1): New array.
23154 (sm712_sr_seq2): Likewise.
23155
23156 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
23157
23158 * include/grub/vga.h: Add missing grub/pci.h include.
23159
23160 2010-08-10 Yves Blusseau <blusseau@zetam.org>
23161
23162 * util/grub-macho2img.c (main): fix typo
23163
23164 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
23165
23166 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
23167 (grub_vga_gr_read): Likewise.
23168 (grub_vga_cr_write): Likewise.
23169 (grub_vga_cr_read): Likewise.
23170 (grub_vga_sr_write): Likewise.
23171 (grub_vga_sr_read): Likewise.
23172 (grub_vga_palette_read): Likewise.
23173 (grub_vga_palette_write): Likewise.
23174 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
23175 (grub_sm712_sr_read): New function.
23176 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
23177 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
23178
23179 2010-08-09 Robert Millan <rmh@gnu.org>
23180
23181 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
23182 out unused variables on non-ZFS build.
23183
23184 2010-08-08 Robert Millan <rmh@gnu.org>
23185
23186 Fix path generation for sub-filesystems in ZFS.
23187
23188 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
23189 missing slash.
23190
23191 2010-08-08 Robert Millan <rmh@gnu.org>
23192
23193 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
23194
23195 2010-08-08 Robert Millan <rmh@gnu.org>
23196
23197 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
23198 exist, issue a proper error message (rely on `ls' for translated
23199 strings).
23200
23201 2010-08-08 Robert Millan <rmh@gnu.org>
23202
23203 Fix grub-probe invocation.
23204
23205 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
23206
23207 2010-08-04 Robert Millan <rmh@gnu.org>
23208
23209 * configure.ac: Remove checks for getfsstat() and getmntany().
23210 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
23211 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
23212 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
23213 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
23214 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
23215 function.
23216 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
23217 via find_mount_point_from_dir() and getfsstat() / getmntany().
23218
23219 2010-08-04 Robert Millan <rmh@gnu.org>
23220
23221 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23222 (grub_find_zpool_from_mount_point): Merge into ...
23223 (grub_find_zpool_from_dir): ... this.
23224 * kern/emu/misc.c: Likewise.
23225
23226 * kern/emu/misc.c
23227 (grub_make_system_path_relative_to_its_root): Replace
23228 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
23229 with grub_find_zpool_from_dir().
23230 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
23231
23232 2010-08-04 Robert Millan <rmh@gnu.org>
23233
23234 Support OpenSolaris in ZFS device resolution.
23235
23236 * configure.ac: Check for getmntany().
23237 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
23238 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
23239 support.
23240
23241 2010-08-03 Robert Millan <rmh@gnu.org>
23242
23243 Fix grub-emu build.
23244
23245 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
23246 * include/grub/emu/misc.h: ... here.
23247
23248 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
23249 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
23250
23251 * util/misc.c: Remove `<grub/util/libzfs.h>'.
23252 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
23253 (grub_get_libzfs_handle): Move to ...
23254 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
23255 (grub_get_libzfs_handle): ... here.
23256
23257 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
23258
23259 * script/execute.c (grub_script_execute_cmdline): Check for NULL
23260 as command name case.
23261
23262 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
23263
23264 * disk/raid.c (insert_array): Select unique numbers for named arrays
23265 as well, for use as keys in the disk cache.
23266
23267 2010-08-01 Robert Millan <rmh@gnu.org>
23268
23269 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
23270 kFreeBSD device name, except on ZFS where the filesystem label is
23271 used.
23272 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
23273 `/boot/zfs/zpool.cache'.
23274 Set mountfrom kernel variable using ${kfreebsd_device}.
23275
23276 2010-08-01 Robert Millan <rmh@gnu.org>
23277
23278 Make it even harder to use uninitialized `libzfs_handle' (and
23279 make the interface a bit simpler).
23280
23281 * include/grub/util/misc.h (grub_util_init_libzfs)
23282 (libzfs_handle): Remove.
23283 (grub_get_libzfs_handle): New prototype.
23284
23285 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
23286 attribute.
23287 (grub_util_init_libzfs): Remove.
23288 (grub_get_libzfs_handle): New function.
23289
23290 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
23291 grub_get_libzfs_handle() to obtain a libzfs handle instead of
23292 accessing `libzfs_handle' directly.
23293
23294 2010-08-01 Robert Millan <rmh@gnu.org>
23295
23296 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23297 (grub_find_zpool_from_mount_point): New function prototypes.
23298
23299 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
23300 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
23301
23302 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
23303 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
23304 `static' attribute.
23305
23306 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
23307 finding zpool from mount point into ...
23308 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
23309
23310 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
23311 requested path is part of a ZFS pool, use
23312 grub_find_zpool_from_mount_point() to detect its filesystem name,
23313 and generate a path with `/fsname@path' syntax.
23314
23315 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
23316
23317 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
23318 (void) rather than () so that this is a proper prototype.
23319
23320 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23321
23322 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
23323
23324 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23325
23326 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
23327 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
23328
23329 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
23330
23331 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
23332
23333 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
23334
23335 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
23336
23337 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
23338
23339 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
23340 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
23341 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
23342 disable gfxpayload.
23343 (Shell-like scripting): Add real content.
23344 (Serial terminal): Suggest `terminal_input serial; terminal_output
23345 serial' rather than putting the two commands on separate lines,
23346 since console input will be inoperative after the first command.
23347 (menuentry): Document --class, --users, and --hotkey options.
23348 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
23349 Vladimir Serbinenko).
23350
23351 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23352 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
23353
23354 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
23355
23356 2010-08-01 Robert Millan <rmh@gnu.org>
23357
23358 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23359 (grub_find_zpool_from_mount_point): New function prototypes.
23360
23361 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
23362 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
23363
23364 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
23365 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
23366 `static' attribute.
23367
23368 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
23369 finding zpool from mount point into ...
23370 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
23371
23372 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
23373 requested path is part of a ZFS pool, use
23374 grub_find_zpool_from_mount_point() to detect its filesystem name,
23375 and generate a path with `/fsname@path' syntax.
23376
23377 2010-08-01 Robert Millan <rmh@gnu.org>
23378
23379 Prevent accidental use of uninitialized libzfs_handle.
23380
23381 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
23382 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
23383 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
23384
23385 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
23386
23387 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
23388 util/grub.d/10_linux.in). Fixes Debian bug #591093.
23389
23390 2010-08-01 Robert Millan <rmh@gnu.org>
23391
23392 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
23393
23394 2010-07-31 Robert Millan <rmh@gnu.org>
23395
23396 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
23397
23398 2010-07-31 Robert Millan <rmh@gnu.org>
23399
23400 * kern/emu/misc.c: Add missing license header.
23401
23402 2010-07-31 Robert Millan <rmh@gnu.org>
23403
23404 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
23405
23406 * include/grub/util/libnvpair.h: Include `<config.h>'.
23407 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
23408 declaring libnvpair prototypes ourselves.
23409 * include/grub/util/libzfs.h: Include `<config.h>'.
23410 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
23411 declaring libzfs prototypes ourselves.
23412
23413 (libzfs_handle): Moved to ...
23414 * include/grub/util/misc.h (libzfs_handle): ... here.
23415 Include `<grub/util/libzfs.h>'.
23416
23417 2010-07-30 Robert Millan <rmh@gnu.org>
23418
23419 * include/grub/emu/misc.h: Add missing license header.
23420
23421 2010-07-30 Robert Millan <rmh@gnu.org>
23422
23423 Enable `grub-probe -t device' resolution on ZFS.
23424
23425 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
23426 * include/grub/util/libnvpair.h: New file.
23427 * include/grub/util/libzfs.h: New file.
23428
23429 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
23430 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
23431 `<grub/util/libnvpair.h>'.
23432 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
23433
23434 (find_mount_point_from_dir): New static function.
23435 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
23436 function.
23437 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
23438 find_root_device_from_libzfs() before ressorting to find_root_device().
23439
23440 * include/grub/util/misc.h (grub_util_init_libzfs): New function
23441 prototype.
23442 * util/misc.c: Include `<grub/util/libzfs.h>'.
23443 (grub_util_init_libzfs): New function.
23444 [HAVE_LIBZFS] (libzfs_handle): New global variable.
23445 [HAVE_LIBZFS] (fini_libzfs): New static function.
23446 (grub_util_init_libzfs): New function.
23447 * util/grub-probe.c (main): Call grub_util_init_libzfs().
23448
23449 2010-07-30 Robert Millan <rmh@gnu.org>
23450
23451 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
23452 (xmalloc, xrealloc, xstrdup, xasprintf): Add
23453 `warn_unused_result' attribute.
23454 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
23455 (grub_xasprintf, grub_xvasprintf): Likewise.
23456 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
23457
23458 2010-07-29 Robert Millan <rmh@gnu.org>
23459
23460 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
23461 (probe): Handle `PRINT_FS_LABEL'.
23462 (main): Handle `-t fs_label'.
23463
23464 2010-07-29 Robert Millan <rmh@gnu.org>
23465
23466 * configure.ac: Remove grub-mkisofs checks.
23467
23468 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
23469
23470 * util/ieee1275/grub-install.in: Don't use empty grub_device.
23471 Reported by: Lennart Sorensen.
23472
23473 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23474
23475 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
23476 prior to terminal_input/terminal_output separation. It's been over 1.5
23477 years and those versions weren't widely deployed.
23478
23479 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
23480
23481 * disk/raid.c (insert_array): Don't count named arrays when looking
23482 for unused array numbers.
23483 Reported and tested by: Michael Guntsche.
23484
23485 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
23486
23487 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
23488 implementation of this so that grub-emu links again, with a note
23489 that this should support hotplugging in the future.
23490
23491 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
23492
23493 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
23494
23495 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
23496
23497 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
23498 handle on failure.
23499 (grub_loopback_close): Remove empty function.
23500 (grub_loopback_dev): Remove close method.
23501
23502 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
23503
23504 Disable EFI cursor when the EFI console becomes inactive.
23505
23506 * term/efi/console.c (grub_efi_console_init): New function.
23507 (grub_efi_console_fini): New function.
23508 (grub_console_term_output): Register init and fini methods.
23509
23510 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23511
23512 * tests/util/grub-shell-tester.in: Remove bashism and declare as
23513 sh script.
23514
23515 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23516
23517 * disk/loopback.c (grub_loopback): Replace filename with file.
23518 (delete_loopback): Handle new semantics.
23519 (grub_cmd_loopback): Likewise.
23520 (grub_loopback_iterate): Likewise.
23521 (grub_loopback_close): Likewise.
23522
23523 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23524
23525 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
23526 with -p "".
23527 Reported by: Tito Keitel.
23528
23529 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23530
23531 * docs/grub.texi (Naming convention): Document new naming convention.
23532
23533 2010-07-20 Vadim Solomin <vadic052@gmail.com>
23534 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
23535
23536 Generate device.map in something closer to the old ordering.
23537
23538 * util/deviceiter.c (struct device): New declaration.
23539 (compare_file_names): Rename to ...
23540 (compare_devices): ... this. Sort by kernel name in preference to
23541 the stable by-id name, but keep the latter as a fallback comparison.
23542 Update header comment.
23543 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
23544 of `struct device' rather than of plain file names.
23545
23546 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
23547
23548 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
23549 on i386.
23550
23551 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23552
23553 * commands/acpi.c (setup_common_tables): Use sizeof instead of
23554 hardcoding size.
23555 (setv1table): Likewise.
23556
23557 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
23558
23559 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
23560 removing the homehost if present.
23561 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
23562 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
23563 removing the homehost if present.
23564 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
23565 if possible.
23566 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
23567
23568 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
23569 parameter. Set its pointer target to 0.
23570 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
23571 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
23572 `data_offset' value from the superblock for 1.x metadata.
23573 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
23574 data on the device.
23575 (insert_array): Record the start sector of data on the device.
23576 (grub_raid_register): Pass start_sector parameters to
23577 grub_raid_list->detect and insert_array.
23578 * include/grub/raid.h (struct grub_raid_array): Add start_sector
23579 member.
23580 (struct grub_raid): Add start_sector parameter to `detect'.
23581
23582 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
23583 __attribute__ ((packed)), leaving a comment.
23584 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
23585 (grub_mdraid_detect_09): ... here and ...
23586 (grub_mdraid_detect_1x): ... here.
23587
23588 2010-07-20 Peter Henn <peter.henn@web.de>
23589
23590 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
23591 chunk size and disk size, which are already given as sector counts
23592 as distinct from the 0.90 units. Fetch the correct device number
23593 from the role table instead of using the table index.
23594
23595 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
23596
23597 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
23598 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
23599 (WriteMostly1): New macro.
23600 Set array->name to NULL for metadata format 0.90. Add support for
23601 metadata 1.x. Fix some comments.
23602 * disk/raid.c (): Add support for name based RAID arrays. Fix a
23603 few comments.
23604 * util/getroot.c (grub_util_get_grub_dev): Add support for
23605 /dev/md/name style devices.
23606
23607 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
23608
23609 * .bzrignore: Ignore 20_linux_xen.
23610
23611 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
23612
23613 * util/import_unicode.py: Remove unnecessary imports.
23614
23615 2010-07-17 Aleš Nesrsta <starous@volny.cz>
23616
23617 Hotplugging and USB hub support.
23618
23619 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
23620 (grub_ohci): Likewise.
23621 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
23622 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
23623 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
23624 (GRUB_OHCI_CTRL_EDS): Likewise.
23625 (GRUB_OHCI_BULK_EDS): Likewise.
23626 (GRUB_OHCI_TDS): Likewise.
23627 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
23628 (grub_ohci_ed_phys2virt): New function.
23629 (grub_ohci_virt_to_phys): Likewise.
23630 (grub_ohci_td_phys2virt): Likewise.
23631 (grub_ohci_td_virt2phys): Likewise.
23632 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
23633 attachment.
23634 (grub_ohci_find_ed): New function.
23635 (grub_ohci_alloc_td): Likewise.
23636 (grub_ohci_free_td): Likewise.
23637 (grub_ohci_free_tds): Likewise.
23638 (grub_ohci_transfer): Use previously allocated memory.
23639 (grub_ohci_portstatus): Reset status changed bit.
23640 (grub_ohci_detect_dev): Supply status changed.
23641 (grub_ohci_fini_hw): Free memory.
23642 (grub_ohci_restore_hw): Reallocate memory.
23643 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
23644 Reset status change.
23645 (grub_uhci_detect_dev): Supply status_change.
23646 * bus/usb/usb.c (attach_hooks): New var.
23647 (grub_usb_device_attach): New function.
23648 (grub_usb_register_attach_hook_class): Likewise.
23649 (grub_usb_unregister_attach_hook_class): Likewise.
23650 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
23651 (grub_usb_add_hub): Reset connection changed bit.
23652 (attach_root_port): New function.
23653 (grub_usb_root_hub): Likewise.
23654 (poll_nonroot_hub): Likewise.
23655 (grub_usb_poll_devices): Likewise.
23656 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
23657 * disk/usbms.c (grub_usbms_open): Use device hooks.
23658 (grub_usbms_iterate) :Poll devices.
23659 (grub_usbms_finddevs): Split into ...
23660 (grub_usbms_attach): ... this ...
23661 (grub_usbms_attach): ... and this.
23662 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
23663 in detect_dev.
23664 (grub_usb_interface): New fields attached and detach_hook.
23665 (grub_usb_attach_hook_class): New type.
23666 (grub_usb_attach_desc): New struct.
23667 (grub_usb_register_attach_hook_class): New function.
23668 (grub_usb_unregister_attach_hook_class): Likewise.
23669 (grub_usb_poll_devices): Likewise.
23670 (grub_usb_device_attach): Likewise.
23671 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
23672 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
23673
23674 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
23675
23676 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
23677 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
23678 delta determination style. Works with most NetBSD partitions too.
23679
23680 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
23681
23682 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
23683 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
23684
23685 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
23686
23687 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
23688
23689 2010-07-14 Anton Blanchard <anton@samba.org>
23690
23691 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
23692 ET_DYN files.
23693
23694 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23695
23696 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
23697
23698 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23699
23700 * kern/partition.c (grub_partition_check_containment): New function to
23701 check that a partition is physically contained in a parent. Since
23702 offsets are relative (and non-negative), this reduces to checking that
23703 the partition ends before its parent.
23704 (grub_partition_map_probe): Discard out-of-range sub-partitions.
23705 (grub_partition_iterate): Likewise.
23706 * include/grub/partition.h (grub_partition_map): Slightly more detailed
23707 comments.
23708 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
23709 partitions that start before their parent, and add debug printfs.
23710
23711 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
23712
23713 * Makefile.in (.SUFFIX): Spell correctly, as ...
23714 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
23715 bare module name without `.mod', e.g. `test') tried to invoke a
23716 Modula-2 compiler.
23717
23718 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
23719
23720 * README: Point to the Info manual.
23721
23722 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
23723
23724 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
23725 2nd superblock position from partition size.
23726
23727 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
23728
23729 * Makefile.in (MAINTAINER_CLEANFILES): Remove
23730 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
23731 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
23732 outputs.
23733
23734 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
23735
23736 Restructure SCSI .id handling.
23737 Reported and tested by: Aleš Nesrsta.
23738
23739 * disk/ata.c (grub_atapi_close): Removed. All users updated.
23740 (grub_atapi_dev): Changed .name to "ata". New field .id.
23741 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
23742 (grub_usbms_dev): New field .id.
23743 * disk/scsi.c (grub_scsi_iterate): Generate name.
23744 (grub_scsi_open): Parse name.
23745 * include/grub/scsi.h (grub_make_scsi_id): New function.
23746 (grub_scsi_dev): Change iterate and open to number instead of naming
23747 busses. All users updated.
23748 (grub_scsi): Remove name. Add .bus.
23749
23750 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
23751
23752 * commands/help.c (grub_cmd_help): Fix a typo.
23753
23754 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
23755
23756 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
23757 Reported and tested by: Colin Watson.
23758
23759 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
23760
23761 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
23762 in this context.
23763
23764 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
23765
23766 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
23767
23768 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
23769
23770 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
23771 indentation.
23772
23773 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
23774
23775 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
23776 and disk/raid6_recover.c.
23777 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23778 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
23779
23780 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
23781
23782 * term/gfxterm.c (repaint_schedulded): Rename to ...
23783 (repaint_scheduled): ... this. Update all callers.
23784 (repaint_was_schedulded): Rename to ...
23785 (repaint_was_scheduled): ... this. Update all callers.
23786
23787 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
23788
23789 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
23790 which we expect to be handled by upper layers.
23791
23792 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
23793
23794 * bus/usb/usbhub.c: #include time.h header.
23795
23796 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
23797
23798 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
23799 entry_name also for entries without stat blocks (e.g. ".."); fixes
23800 corruption of the first entry in a directory.
23801
23802 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
23803
23804 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
23805 after setting gfxterm as the active terminal. GRUB_BACKGROUND
23806 doesn't work otherwise.
23807
23808 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
23809
23810 * docs/grub.texi (Features): Update list of supported file systems.
23811 (GNU/Linux): Update for GRUB 2.
23812 (Serial terminal): Remove mention of --disable-serial, which was a
23813 GRUB Legacy configure option. Update instructions to use
23814 `terminal_input' and `terminal_output' rather than `terminal'.
23815 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
23816 configuration' and `Installing GRUB using grub-install'.
23817 (Menu entry editor): Update for GRUB 2.
23818 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
23819 Document new -a, -u, and -v options.
23820 (initrd): New section.
23821 (initrd16): New section.
23822 (linux): New section.
23823 (linux16): New section.
23824 (search): The `var' argument to `--set' is optional.
23825 (GRUB only offers a rescue shell): Go into a little more detail on
23826 drive ordering.
23827
23828 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
23829
23830 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
23831
23832 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
23833
23834 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
23835 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
23836
23837 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
23838
23839 * util/i386/pc/grub-setup.c (setup): Rename prefix to
23840 install_prefix, in line with install_dos_part and install_bsd_part.
23841 Add new prefix variable, which is copied to install_prefix after
23842 comparing core.img in memory with the one read from disk in the
23843 no-embedding case, and use that rather than overwriting
23844 install_prefix immediately when installing to a partition.
23845 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
23846 Bicakci.
23847
23848 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
23849
23850 * configure.ac: Avoid == in test command, it's not portable.
23851 * util/grub.d/30_os-prober.in: Likewise.
23852
23853 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
23854
23855 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
23856
23857 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
23858
23859 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
23860 multiple (top-level) partmaps.
23861
23862 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23863
23864 * util/i386/efi/grub-install.in: Don't use empty grub_device.
23865 Reported by: Tino Keitel.
23866
23867 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23868
23869 Bidi and diacritics support.
23870
23871 * Makefile.in (widthspec.bin): New target.
23872 (widthspec.h): Likewise.
23873 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
23874 * autogen.sh: Generate unidata.c.
23875 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
23876 * commands/ls.c (grub_ls_list_devices): Likewise.
23877 (grub_ls_list_files): Likewise.
23878 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
23879 (grub_mini_cmd_lsmod): Likewise.
23880 * commands/read.c: Likewise.
23881 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
23882 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
23883 * lib/arg.c (grub_arg_show_help): Likewise.
23884 * lib/crypto.c (grub_password_get): Likewise.
23885 * normal/auth.c (grub_username_get): Likewise.
23886 * normal/misc.c (grub_normal_print_device_info): Likewise.
23887 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
23888 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
23889 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
23890 (normal/charset.c_DEPENDENCIES): New variable.
23891 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
23892 (pkglib_MODULES): Remove charset.mod.
23893 (charset_mod_SOURCES): Removed.
23894 (charset_mod_CFLAGS): Likewise.
23895 (charset_mod_LDFLAGS): Likewise.
23896 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
23897 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
23898 and term/tparm.c.
23899 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23900 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23901 (kernel_img_HEADERS): Add terminfo.h.
23902 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
23903 Fill ->font. Reverse ascii bitmaps.
23904 (grub_font_get_xheight): New function.
23905 * font/font.c (grub_font_get_string_width): Moved from here ...
23906 * gfxmenu/font.c (grub_font_get_string_width): ... here.
23907 * font/font.c (grub_font_draw_string): Moved from here ...
23908 * gfxmenu/font.c (grub_font_draw_string): ... here.
23909 * font/font.c (grub_font_dup_glyph): New function.
23910 (grub_font_blit_glyph): Likewise.
23911 (grub_font_blit_glyph_mirror): Likewise.
23912 (blit_comb): Likewise.
23913 (grub_font_construct_dry_run): Likewise.
23914 (grub_font_get_constructed_device_width): Likewise.
23915 (grub_font_construct_glyph): Likewise.
23916 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
23917 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
23918 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
23919 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
23920 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
23921 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
23922 (grub_font_get_xheight): New proto.
23923 (grub_font_get_constructed_device_width): Likewise.
23924 (grub_font_construct_glyph): Likewise.
23925 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
23926 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
23927 * include/grub/font.h (grub_font_draw_string): Moved from here ...
23928 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
23929 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
23930 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
23931 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
23932 (grub_console_getcharwidth): Likewise.
23933 * include/grub/misc.h (grub_xputs): New proto.
23934 (grub_puts): Inlined.
23935 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
23936 (grub_normal_get_line_counter): Removed.
23937 (grub_install_newline_hook): Likewise.
23938 (grub_normal_get_char_counter): New proto.
23939 (grub_normal_reset_more): Likewise.
23940 (grub_xputs_normal): Likewise.
23941 * include/grub/powerpc/ieee1275/console.h: Removed.
23942 * include/grub/sparc64/ieee1275/console.h: Likewise.
23943 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
23944 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
23945 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
23946 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
23947 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
23948 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
23949 (grub_term_input): Pass reference to self. All users updated.
23950 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
23951 Pass reference to self. New fields normal_color, highlight_color and
23952 data. All users updated.
23953 (grub_putchar): Removed.
23954 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
23955 (grub_unicode_estimate_width): New function.
23956 (grub_term_getcharwidth): Add defaults.
23957 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
23958 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
23959 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
23960 (grub_cls): Remove EXPORT_FUNC.
23961 (grub_setcolorstate): Inline.
23962 (grub_newline_hook): Removed.
23963 * include/grub/terminfo.h: Rewritten. All users updated.
23964 * include/grub/unicode.h: New file.
23965 * include/grub/video.h (grub_video_signed_rect): New type.
23966 * kern/emu/console.c (grub_console_highlight_color): Removed.
23967 (grub_console_normal_color): Likewise.
23968 (grub_console_standard_color): Made static.
23969 (grub_ncurses_putchar): Remove mapping.
23970 (grub_ncurses_getcharwidth): Removed.
23971 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
23972 (grub_ncurses_setcolor): Removed.
23973 (grub_ncurses_getcolor): Likewise.
23974 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
23975 (grub_console_putchar): ... this.
23976 (grub_console_putchar): Handle argument difference.
23977 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
23978 console_init_early and console_init_lately.
23979 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
23980 * kern/misc.c (grub_puts): Removed.
23981 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
23982 (grub_vsnprintf_real): Remove str = NULL support.
23983 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
23984 * normal/charset.c (grub_utf8_to_ucs4): ... here.
23985 * kern/term.c (grub_putcode): Renamed to ...
23986 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
23987 (grub_putchar): Removed.
23988 (grub_xputs_dumb): New function.
23989 (grub_xputs): New variable.
23990 * lib/charset.c: Move from here ...
23991 * normal/charset.c: ... to here.
23992 (grub_ucs4_to_utf8): New function.
23993 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
23994 (join_types): New variable.
23995 (unpack_join): New function.
23996 (bidi_types): New variable.
23997 (unpack_bidi): New function.
23998 (get_bidi_type): Likewise.
23999 (get_join_type): Likewise.
24000 (is_mirrored): Likewise.
24001 (grub_unicode_get_comb_type): Likewise.
24002 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
24003 (is_type_after): Likewise.
24004 (grub_unicode_aglomerate_comb): Likewise.
24005 (bidi_line_wrap): Likewise.
24006 (grub_bidi_line_logical_to_visual): Likewise.
24007 (grub_bidi_logical_to_visual): Likewise.
24008 (grub_unicode_mirror_code): Likewise.
24009 (grub_unicode_shape_code): Likewise.
24010 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
24011 Don't use grub_putchar.
24012 * normal/main.c (grub_normal_init_page): Use grub_putcode.
24013 (grub_normal_reader_init): Likewise.
24014 (grub_xputs_saved): New variable.
24015 (GRUB_MOD_INIT): Set grub_xputs.
24016 (GRUB_MOD_FINI): Restore grub_xputs.
24017 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
24018 (menu_init): Avoid printing gfxmenu error.
24019 (show_menu): Use grub_normal_get_char_counter.
24020 * normal/menu_entry.c (update_screen): Fix out-of-array.
24021 (complete): Avoid NULL dereferencing.
24022 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
24023 * normal/menu_text.c (print_spaces): Removed.
24024 (grub_print_ucs4): Likewise.
24025 (grub_print_message_indented): Use grub_print_ucs4.
24026 (print_message): Use grub_putcode.
24027 (print_entry): Hanlde diacritics.
24028 * normal/term.c (term_state): New type.
24029 (grub_more_lines): Removed.
24030 (term_states): New variable.
24031 (grub_normal_line_counter): Renamed to ..
24032 (grub_normal_char_counter): ...this. All users updated.
24033 (grub_normal_get_line_counter): Renamed to ...
24034 (grub_normal_get_char_counter): ... this.
24035 (grub_normal_reset_more): New function.
24036 (process_newline): Removed.
24037 (print_more): New function.
24038 (grub_install_newline_hook): Removed.
24039 (map_code): New function.
24040 (grub_puts_terminal): Use grub_print_ucs4.
24041 (putglyph): New function.
24042 (putcode_real): Likewise.
24043 (grub_putcode): Use putcode_real.
24044 (get_maxwidth): New function.
24045 (get_startwidth): Likewise.
24046 (print_ucs4_terminal): Likewise.
24047 (find_term_state): Likewise.
24048 (put_glyphs_terminal): Likewise.
24049 (print_backlog): Likewise.
24050 (print_ucs4_real): Likewise.
24051 (grub_print_ucs4): Likewise.
24052 (grub_xputs_normal): Likewise.
24053 * term/efi/console.c (grub_console_putchar): Output diacritics.
24054 (grub_console_getcharwidth): Removed.
24055 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24056 * term/gfxterm.c (clear_char): Free chars.
24057 (scroll_up): Avoid leaking memory.
24058 (grub_gfxterm_putchar): Support diacritics.
24059 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24060 * term/i386/pc/console.c (grub_console_term_output): Declare as
24061 GRUB_TERM_CODE_TYPE_VGA.
24062 * term/i386/pc/vga.c (grub_vga_term): Declare as
24063 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
24064 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
24065 GRUB_TERM_CODE_TYPE_VGA.
24066 * term/i386/vga_common.c (map_char): Removed.
24067 (grub_console_putchar): Likewise.
24068 (grub_console_getcharwidth): Likewise.
24069 * term/ieee1275/ofconsole.c: Simplify using terminfo.
24070 (colors): Reordered to match terminfo.
24071 (grub_ofconsole_normal_color): Removed.
24072 (grub_ofconsole_writeesc): Likewise.
24073 (grub_ofconsole_highlight_color): Likewise.
24074 (grub_ofconsole_getcharwidth): Likewise.
24075 (grub_ofconsole_setcolorstate): Likewise.
24076 (grub_ofconsole_setcolor): Likewise.
24077 (grub_ofconsole_getcolor): Likewise.
24078 (grub_ofconsole_readkey): Renamed to ...
24079 (readkey): ... this. Remove escape sequence handling. Return -1 on no
24080 key.
24081 (grub_ofconsole_checkkey): Removed.
24082 (grub_ofconsole_getkey): Likewise.
24083 (grub_ofconsole_getxy): Likewise.
24084 (grub_ofconsole_gotoxy): Likewise.
24085 (grub_ofconsole_cls): Likewise.
24086 (grub_ofconsole_refresh): Likewise.
24087 (grub_ofconsole_terminfo_input): New struct.
24088 (grub_ofconsole_terminfo_output): Likewise.
24089 (grub_ofconsole_term_input): Use terminfo.
24090 (grub_ofconsole_term_output): Likewise.
24091 (grub_console_init): Split into ...
24092 (grub_console_init_early): ...this and ...
24093 (grub_console_init_lately): ...this. Use terminfo.
24094 (grub_ofconsole_putchar): Renamed to ...
24095 (put): ... this. Remove mapping.
24096 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
24097 * term/serial.c: Simplify using terminfo.
24098 (xpos): Removed.
24099 (ypos): Likewise.
24100 (keep_track): Likewise.
24101 (registered): Likewise.
24102 (input_buf): Likewise.
24103 (npending): Likewise.
24104 (serial_translate_key_sequence): Likewise.
24105 (fill_input_buf): Likewise.
24106 (grub_serial_checkkey): Likewise.
24107 (grub_serial_getkey): Likewise.
24108 (grub_serial_getxy): Likewise.
24109 (grub_serial_gotoxy): Likewise.
24110 (grub_serial_putchar): Likewise.
24111 (grub_serial_cls): Likewise.
24112 (grub_serial_setcolorstate): Likewise.
24113 (grub_serial_setcursor): Likewise.
24114 (serial_hw_init): Use serial_hw_fetch.
24115 (grub_serial_terminfo_input): New variable.
24116 (grub_serial_terminfo_output): Likewise.
24117 (grub_serial_term_input): Use terminfo.
24118 (grub_serial_term_output): Likewise.
24119 * term/terminfo.c (putstr): Use put.
24120 (grub_terminfo_all_free): New function
24121 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
24122 (grub_terminfo_output_register): New function.
24123 (grub_terminfo_output_unregister): Likewise.
24124 (grub_terminfo_getxy): Likewise.
24125 (grub_terminfo_readkey): Likewise.
24126 (grub_terminfo_checkkey): Likewise.
24127 (grub_terminfo_getkey): Likewise.
24128 (grub_terminfo_input_init): Likewise.
24129 (print_terminfo): Likewise.
24130 (grub_cmd_terminfo): Handle encoding.
24131 (grub_terminfo_gotoxy): Track position.
24132 (grub_terminfo_cls): Likewise.
24133 (grub_terminfo_putchar): Likewise.
24134 (grub_terminfo_setcolorstate): Handle colors
24135 (grub_terminfo_cursor_on): This ...
24136 (grub_terminfo_cursor_off): ... and this merged into ...
24137 (grub_terminfo_setcursor): ... this.
24138 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
24139 * unicode/ArabicShaping.txt: New file (imported from Unicode).
24140 * unicode/BidiMirroring.txt: Likewise.
24141 * unicode/UnicodeData.txt: Likewise.
24142 * unicode/COPYING: Likewise.
24143 * util/grub-editenv.c (grub_putchar): Removed.
24144 (grub_xputs_real): New function.
24145 (grub_xputs): New variable.
24146 * util/grub-fstest.c (grub_putchar): Removed.
24147 (grub_xputs_real): New function.
24148 (grub_xputs): New variable.
24149 * util/grub-mkdevicemap.c (grub_putchar): Removed.
24150 (grub_xputs_real): New function.
24151 (grub_xputs): New variable.
24152 * util/grub-probe.c (grub_putchar): Removed.
24153 (grub_xputs_real): New function.
24154 (grub_xputs): New variable.
24155 * util/grub-script-check.c (grub_putchar): Removed.
24156 (grub_xputs_real): New function.
24157 (grub_xputs): New variable.
24158 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
24159 (grub_xputs_real): New function.
24160 (grub_xputs): New variable.
24161 * util/import_unicode.py: New file.
24162 * util/grub-mkfont.c (ft_errmsgs): New array.
24163 (grub_glyph_info): Make bitmap a pointer.
24164 (file_formats): New type WIDTH_SPEC.
24165 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
24166 (options): Add width-spec.
24167 (help): Likewise.
24168 (add_char): Renamed to ...
24169 (add_glyph): ... this.
24170 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
24171 (glyph_replace): New type.
24172 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
24173 (add_char): New function.
24174 (add_subst): Likewise.
24175 (process_cursive): Likewise.
24176 (add_font): Handle GSUB.
24177 (write_font_width_spec): New function.
24178 (main): Sort glyphs.
24179 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
24180 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
24181 * kern/term.c (grub_cls): Moved from here...
24182 * normal/term.c (grub_cls): ... here.
24183
24184 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
24185
24186 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
24187 suitable for using within the format argument of printf when
24188 converting grub_size_t.
24189 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
24190 "x" to convert grub_size_t arguments.
24191
24192 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24193
24194 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
24195 too long captions.
24196 (list_get_minimal_size): Take selection box into account.
24197
24198 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24199
24200 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
24201 NULL font.
24202
24203 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
24204
24205 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
24206 devices when iterating over /dev/disk/by-id; they will be handled
24207 later if appropriate, which they aren't always (e.g. LVM).
24208
24209 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
24210
24211 * include/grub/misc.h (grub_reboot): Declare as noreturn.
24212 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
24213 fails.
24214 (grub_halt): Likewise.
24215 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
24216 reset-all fails.
24217 (grub_halt): Don't return, even if all of shut-down, power-off, and
24218 poweroff fail.
24219
24220 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
24221
24222 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
24223 arguments, not three.
24224
24225 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
24226
24227 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
24228 * util/grub.d/10_linux.in: Use it to check for LVM, so that
24229 LVM-on-RAID is handled correctly.
24230
24231 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
24232
24233 * docs/grub.texi (Changes from GRUB Legacy): New section.
24234 (Future): Fix typo.
24235
24236 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
24237
24238 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
24239 grub.d/README accidentally ends up executable for one reason or
24240 another. Ignore it.
24241
24242 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24243
24244 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
24245 (gpt_partition_map_iterate): Support non-512B sectors.
24246
24247 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24248
24249 * kern/efi/init.c (grub_efi_init): Disable watchdog.
24250 Tested by: Seth Goldberg.
24251
24252 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24253
24254 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
24255 Properly align mbi.
24256 Reported by: Seth Goldberg.
24257
24258 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24259
24260 * util/grub-mkrescue.in: Avoid module duplication.
24261
24262 2010-07-01 Sean Finney <seanius@seanius.net>
24263
24264 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
24265
24266 2010-07-01 Sean Finney <seanius@seanius.net>
24267
24268 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
24269
24270 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24271
24272 * disk/lvm.c (grub_lvm_checkvalue): New function.
24273 (grub_lvm_check_flag): Likewise.
24274
24275 2010-07-01 Robert Millan <rmh@gnu.org>
24276
24277 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
24278 Support 'p' as partition separator on kernel of FreeBSD (used
24279 with GPT labels).
24280 (grub_util_biosdisk_get_grub_dev): Likewise.
24281
24282 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24283
24284 Yeeloong firmware port.
24285
24286 * boot/mips/yeeloong/fwstart.S: New file.
24287 * bus/cs5536.c (gpiodump): New const.
24288 (set_io_space): New function.
24289 (set_iod): Likewise.
24290 (set_p2d): Likewise.
24291 (grub_cs5536_init_geode): Likewise.
24292 * commands/mips/yeeloong/lsspd.c: New file.
24293 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
24294 (serial_mod_SOURCES): New variable.
24295 (serial_mod_CFLAGS): Likewise.
24296 (serial_mod_LDFLAGS): Likewise.
24297 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
24298 term/terminfo.c and term/tparm.c.
24299 (pkglib_IMAGES): Add fwstart.img.
24300 (fwstart_img_SOURCES): New variable.
24301 (fwstart_img_CFLAGS): Likewise.
24302 (fwstart_img_ASFLAGS): Likewise.
24303 (fwstart_img_LDFLAGS): Likewise.
24304 (fwstart_img_FORMAT): Likewise.
24305 (pkglib_MODULES): Add lsspd.mod.
24306 (lsspd_mod_SOURCES): New variable.
24307 (lsspd_mod_CFLAGS): Likewise.
24308 (lsspd_mod_LDFLAGS): Likewise.
24309 (pkglib_MODULES): Add halt.mod.
24310 (halt_mod_SOURCES): New variable.
24311 (halt_mod_CFLAGS): Likewise.
24312 (halt_mod_LDFLAGS): Likewise.
24313 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
24314 (serial_mod_SOURCES): Removed.
24315 (serial_mod_CFLAGS): Likewise.
24316 (serial_mod_LDFLAGS): Likewise.
24317 * disk/ata.c (check_device): New function.
24318 (grub_ata_device_initialize): Use check_device.
24319 (grub_ata_iterate): Recheck devices.
24320 (grub_ata_open): Likewise.
24321 (grub_atapi_iterate): Likewise.
24322 (grub_atapi_open): Likewise.
24323 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
24324 (GRUB_ATA_CH1_PORT1): Likewise.
24325 (GRUB_ATA_CH0_PORT2): Likewise.
24326 (GRUB_ATA_CH1_PORT2): Likewise.
24327 * include/grub/mips/loongson.h: New file.
24328 * include/grub/mips/yeeloong/ec.h: Likewise.
24329 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
24330 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
24331 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
24332 * include/grub/misc.h (grub_halt): Declare as noreturn.
24333 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
24334 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
24335 (UART_ENABLE_FIFO_TRIGGER1): New definition.
24336 (UART_ENABLE_DTRRTS): Likewise.
24337 (UART_ENABLE_MODEM): Removed.
24338 (UART_ENABLE_OUT2): New const.
24339 * include/grub/term.h (grub_term_register_input_active): New function.
24340 (grub_term_register_output_active): Likewise.
24341 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
24342 argument.
24343 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
24344 (init_pci): New function.
24345 (grub_machine_init): Execute platform init when firmware. Init serial.
24346 (grub_halt): Implement.
24347 (grub_exit): Likewise.
24348 (grub_reboot): Likewise.
24349 * term/serial.c (serial_hw_init): Update macros.
24350 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
24351 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
24352 (image_targets): New target mipsel-yeeloong-flash.
24353 (generate_image): Support IMAGE_YEELOONG_FLASH.
24354 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
24355 (grub_video_sm712_setup): Init card.
24356 (grub_video_sm712_set_palette): Removed.
24357 * video/sm712_init.c: New file.
24358
24359 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
24360
24361 * Makefile.in (install-local): Temporarily prepend $(builddir) to
24362 PATH when running help2man and then run it on the unadorned
24363 executable names, rather than passing $(builddir)/* paths to
24364 help2man. This avoids the build directory ending up in generated
24365 manual pages.
24366
24367 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
24368
24369 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
24370 to avoid accidents when debugging with 'sh -x'.
24371 * util/grub-mkrescue.in: Likewise.
24372 * util/grub.d/00_header.in: Likewise.
24373 * util/grub.d/10_hurd.in: Likewise.
24374 * util/grub.d/10_kfreebsd.in: Likewise.
24375 * util/grub.d/10_linux.in: Likewise.
24376 * util/grub.d/10_netbsd.in: Likewise.
24377 * util/grub.d/10_windows.in: Likewise.
24378 * util/grub.d/20_linux_xen.in: Likewise.
24379 * util/grub.d/30_os-prober.in: Likewise.
24380 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
24381
24382 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
24383
24384 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
24385 last character in the buffer.
24386 Reported by: Vladimir Serbinenko.
24387
24388 2010-06-29 Robert Millan <rmh@gnu.org>
24389
24390 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
24391 (Command-line and menu entry commands): Document `badram' command.
24392
24393 2010-06-28 Robert Millan <rmh@gnu.org>
24394
24395 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
24396 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
24397 command using ${GRUB_BADRAM} as parameter.
24398
24399 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
24400
24401 * docs/grub.texi (Device map): New section.
24402 (Themes): New section (stub).
24403 * Makefile.in (docs/grub.info): The info documentation now builds
24404 without errors. Make sure it stays that way.
24405
24406 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
24407
24408 Use normal parser for menu entries.
24409 Reported by: Thomas Frauendorfer
24410
24411 * include/grub/parser.h (grub_parser_execute): Don't export.
24412 * normal/menu.c (grub_menu_execute_entry_real): New function.
24413 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
24414
24415 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
24416
24417 * docs/grub.texi (Embedded configuration): New section (replacing
24418 old "Preset Menu" stub).
24419 (Images): New section.
24420 (configfile): Note that any menu entries defined in `file' are shown
24421 immediately.
24422
24423 2010-06-28 Josh Triplett <josh@joshtriplett.org>
24424
24425 * mmap/i386/pc/mmap_helper.S: Set CF on return.
24426
24427 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
24428
24429 * util/grub-install.in: Add --debug-image= option.
24430
24431 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
24432
24433 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
24434 possible on Linux.
24435
24436 * util/deviceiter.c (check_device): Rename to ...
24437 (check_device_readable_unique): ... this. Update all callers.
24438 Maintain and check a list of which devices (by canonicalized name)
24439 have already been seen.
24440 (clear_seen_devices): New function.
24441 (compare_file_names) [__linux__]: New function.
24442 (grub_util_iterate_devices): Clear the list of seen devices on exit
24443 and (just in case) on entry.
24444 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
24445 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
24446 seen-devices list, superseded by general code in check_device.
24447
24448 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
24449
24450 * commands/cat.c (options): New variable.
24451 (grub_cmd_cat): Parse options. If the --dos option is given, print
24452 DOS-style "\r\n" line endings as simple newlines (Debian bug
24453 #586358).
24454 (GRUB_MOD_INIT): Use extcmd.
24455 (GRUB_MOD_FINI): Likewise.
24456 * docs/grub.texi (cat): Document --dos.
24457
24458 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
24459
24460 XEN with Linux grub-mkconfig support.
24461
24462 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
24463 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
24464 GRUB_CMDLINE_XEN_DEFAULT.
24465 * util/grub.d/20_linux_xen.in: New file.
24466
24467 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
24468
24469 Initialise VGA video on qemu ourselves.
24470
24471 * boot/i386/qemu/boot.S: Don't call 0xc000.
24472 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
24473 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
24474 (kernel_img_HEADERS): Add pci.h.
24475 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
24476 * configure.ac: Force unifont on qemu and yeeloong.
24477 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
24478 (grub_vga_palette_write): Use correct register.
24479 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
24480 Call grub_qemu_init_cirrus.
24481 * kern/i386/qemu/init.c: New file.
24482 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
24483
24484 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
24485
24486 2010-06-26 Pavel Roskin <proski@gnu.org>
24487
24488 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
24489 13.
24490
24491 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
24492
24493 * docs/grub.texi (Simple configuration): Explain that
24494 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
24495 set to `true' to disable their respective recovery entries, not
24496 merely set.
24497
24498 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
24499
24500 Make the `source' command slightly faster.
24501
24502 * normal/main.c (grub_normal_execute): Don't re-read list files when
24503 nested.
24504
24505 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
24506
24507 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
24508 field position and mask size to red fields from mode_info, not
24509 green.
24510 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
24511 Remove redundant tag->common.framebuffer_type assignment.
24512 Reported by: Seth Goldberg.
24513
24514 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
24515
24516 Sync up other versions of the Linux loader with Robert Millan's
24517 change of 2010-01-09, "Make loader output a bit more user-friendly".
24518
24519 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
24520 grub_dprintf().
24521 (grub_cmd_linux): Likewise.
24522 (grub_cmd_initrd): Likewise.
24523 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
24524 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
24525
24526 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
24527
24528 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
24529 larger than MEMORY_MAP_SIZE.
24530
24531 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
24532
24533 Fix parallel build.
24534
24535 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
24536 dependency.
24537 * script/parser.y: #include grub_script.tab.h header.
24538
24539 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24540
24541 Support >3GiB and <16MiB RAM in i386-qemu.
24542
24543 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
24544 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
24545 (grub_lower_mem): Removed.
24546 (grub_upper_mem): Likewise.
24547 (mem_size): Made static.
24548 (above_4g): New variable.
24549 (grub_machine_mmap_init): Detect small mem_size and above_4g.
24550 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
24551 support.
24552
24553 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24554
24555 Cirrus 5446 and Bochs video cards support.
24556
24557 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
24558 video_bochs.mod
24559 (video_cirrus_mod_SOURCES): New variable.
24560 (video_cirrus_mod_CFLAGS): Likewise.
24561 (video_cirrus_mod_LDFLAGS): Likewise.
24562 (video_bochs_mod_SOURCES): Likewise.
24563 (video_bochs_mod_CFLAGS): Likewise.
24564 (video_bochs_mod_LDFLAGS): Likewise.
24565 * include/grub/vga.h: New file.
24566 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
24567 (grub_video_fb_set_page_t): New type.
24568 (grub_video_fb_setup): New prototype.
24569 (grub_video_fb_swap_buffers): Likewise.
24570 (grub_video_fb_get_info_and_fini): Likewise.
24571 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
24572 (CRTC_DATA_PORT): Likewise.
24573 (CRTC_CURSOR): Likewise.
24574 (CRTC_CURSOR_ADDR_HIGH): Likewise.
24575 (CRTC_CURSOR_ADDR_LOW): Likewise.
24576 (CRTC_CURSOR_DISABLE): Likewise.
24577 (update_cursor): Use grub_vga_cr_write.
24578 (grub_vga_text_setcursor): Likewise.
24579 * video/bochs.c: New file.
24580 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
24581 (palette): Likewise.
24582 (palette_size): Likewise.
24583 (framebuffer): New variable.
24584 (grub_video_fb_init): Use 'framebuffer'.
24585 (grub_video_fb_fini): Likewise.
24586 (grub_video_fb_get_info): Likewise.
24587 (grub_video_fb_get_palette): Likewise.
24588 (grub_video_fb_set_palette): Likewise.
24589 (grub_video_fb_set_viewport): Likewise.
24590 (grub_video_fb_get_viewport): Likewise.
24591 (grub_video_fb_map_color): Likewise.
24592 (grub_video_fb_map_rgb): Likewise.
24593 (grub_video_fb_map_rgba): Likewise.
24594 (grub_video_fb_unmap_color): Likewise.
24595 (grub_video_fb_unmap_color_int): Likewise.
24596 (grub_video_fb_fill_rect): Likewise.
24597 (grub_video_fb_blit_bitmap): Likewise.
24598 (grub_video_fb_blit_render_target): Likewise.
24599 (grub_video_fb_scroll): Likewise.
24600 (grub_video_fb_create_render_target): Likewise.
24601 (grub_video_fb_doublebuf_blit_init): Likewise.
24602 (grub_video_fb_set_active_render_target): Handle doublebuffering.
24603 (doublebuf_pageflipping_update_screen): New function.
24604 (doublebuf_pageflipping_init): Likewise.
24605 (grub_video_fb_setup): Likewise.
24606 (grub_video_fb_swap_buffers): Likewise.
24607 (grub_video_fb_get_info_and_fini): Likewise.
24608 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
24609 All users updated.
24610 (doublebuf_pageflipping_commit): Restructured into ...
24611 (doublebuf_pageflipping_set_page): ... this.
24612 (doublebuf_pageflipping_update_screen): Removed.
24613 (doublebuf_pageflipping_init): Likewise.
24614 (double_buffering_init): Likewise.
24615 (grub_video_vbe_setup): Use grub_video_fb_setup.
24616 (grub_video_vbe_swap_buffers): Removed.
24617 (grub_video_vbe_set_active_render_target): Likewise.
24618 (grub_video_vbe_get_active_render_target): Likewise.
24619 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
24620 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
24621 grub_video_fb_set_active_render_target and
24622 grub_video_fb_get_active_render_target.
24623 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
24624 (SEQUENCER_DATA_PORT): Likewise.
24625 (MAP_MASK_REGISTER): Likewise.
24626 (CRTC_ADDR_PORT): Likewise.
24627 (CRTC_DATA_PORT): Likewise.
24628 (START_ADDR_HIGH_REGISTER): Likewise.
24629 (START_ADDR_LOW_REGISTER): Likewise.
24630 (GRAPHICS_ADDR_PORT): Likewise.
24631 (GRAPHICS_DATA_PORT): Likewise.
24632 (READ_MAP_REGISTER): Likewise.
24633 (INPUT_STATUS1_REGISTER): Likewise.
24634 (INPUT_STATUS1_VERTR_BIT): Likewise.
24635 (get_map_mask): Use grub_vga_sr_read.
24636 (set_map_mask): Use grub_vga_sr_write.
24637 (set_read_map): Use grub_vga_gr_write.
24638 (set_start_address): Use grub_vga_cr_write.
24639 * video/sm712.c (framebuffer): Remove leftover fields.
24640
24641 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
24642
24643 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
24644 setting GRUB_VIDEO_BACKEND. Make it available as a user override
24645 instead. Replace the gfxterm backend check with a check that
24646 ${GRUB_PREFIX}/video.lst is non-empty.
24647 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
24648 again.
24649 (load_video): New generated function. Call it before loading
24650 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
24651 * util/grub.d/10_linux.in (linux_entry): Call load_video.
24652 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
24653 * docs/grub.texi (Simple configuration): Document
24654 GRUB_VIDEO_BACKEND.
24655
24656 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24657
24658 Use video functions in linux and xnu loaders.
24659
24660 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
24661 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
24662 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
24663 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
24664 loader/i386/pc/linux.c.
24665 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
24666 (find_line_len): Removed.
24667 (find_framebuf): Likewise.
24668 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
24669 * loader/i386/efi/xnu.c: Removed.
24670 * loader/i386/pc/xnu.c: Moved from here...
24671 * loader/i386/xnu.c: ...here.
24672
24673 Enable priorities in video drivers.
24674
24675 * include/grub/video.h (grub_video_adapter_prio_t): New type.
24676 (grub_video_adapter): New field prio.
24677 (grub_video_register): Respect prio when inserting.
24678 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
24679 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
24680 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
24681 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
24682 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
24683 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
24684 * video/sm712.c (grub_video_sm712_adapter): Likewise.
24685
24686 Fix SDL driver ID.
24687
24688 * include/grub/video.h (grub_video_driver_id_t): New value
24689 GRUB_VIDEO_DRIVER_SDL.
24690 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
24691
24692 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
24693
24694 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
24695 argument to printf.
24696 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
24697
24698 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
24699
24700 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
24701 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
24702
24703 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
24704
24705 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
24706 directly, and recommend grub-install instead.
24707 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
24708
24709 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
24710
24711 Fix i386-pc prefix handling with nested partitions (Debian bug
24712 #585068). Note that the case where the core image is booted using
24713 multiboot and relocated from its original location still requires
24714 more work.
24715
24716 * kern/i386/pc/init.c (make_install_device): If the prefix starts
24717 with "(,", fill the boot drive in between those two characters, but
24718 expect that a full partition specification including partition map
24719 names will follow.
24720 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
24721 specified, write a prefix without the drive name but including a
24722 full partition specification.
24723
24724 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
24725
24726 * util/grub-mkconfig.in: Ignore non-option arguments, for
24727 compatibility with older versions (before 2010-06-12) which did the
24728 same. In particular, this makes it easier to ship an update-grub
24729 wrapper which is compatible with that used with GRUB Legacy (Debian
24730 bug #586056).
24731
24732 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24733
24734 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
24735 for manual page generation.
24736
24737 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24738
24739 * po/POTFILES: Remove leftover commands/handler.c.
24740
24741 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
24742
24743 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
24744 left this script non-functional.
24745
24746 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
24747
24748 * docs/man/grub-emu.h2m: New file.
24749
24750 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
24751
24752 * docs/grub.texi (Commands): Document reduced command set in rescue
24753 mode.
24754 (cpuid): New section.
24755
24756 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
24757
24758 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
24759 new partition naming style.
24760 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
24761
24762 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
24763
24764 Add "-o grub.iso" like cmdline options support.
24765
24766 * util/grub-install.in: Improve cmdline option parsing.
24767 * util/grub-mkconfig.in: Likewise.
24768 * util/grub-mkrescue.in: Likewise.
24769 * util/grub-reboot.in: Likewise.
24770 * util/grub-set-default.in: Likewise.
24771 * util/i386/efi/grub-install.in: Likewise.
24772 * util/ieee1275/grub-install.in: Likewise.
24773 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
24774
24775 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
24776
24777 * .bzrignore: Ignore 41_custom.
24778
24779 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
24780
24781 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
24782
24783 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
24784
24785 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
24786 prototype declarations.
24787
24788 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
24789 generating fs, partmap, and video lists.
24790 * include/grub/fs.h (grub_fs_register): Omit prototype if
24791 GRUB_LST_GENERATOR is defined.
24792 * include/grub/partition.h (grub_partition_map_register): Likewise.
24793 * include/grub/video.h (grub_video_register): Likewise.
24794
24795 2010-06-12 Javier Martín <lordhabbit@gmail.com>
24796
24797 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
24798
24799 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
24800
24801 * util/grub-mkrescue.in: Support --xorriso argument.
24802
24803 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
24804
24805 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
24806 Suggested by: Thomas Schmitt.
24807
24808 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
24809
24810 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
24811 Suggested by: Thomas Schmitt.
24812
24813 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
24814
24815 custom.cfg support.
24816
24817 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
24818 * util/grub.d/41_custom.in: New file.
24819
24820 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
24821
24822 * util/grub-mkrescue.in (make_image): Remove sh module, which has
24823 been merged back into normal.
24824
24825 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
24826
24827 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
24828 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
24829
24830 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
24831
24832 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
24833 when generating manual pages.
24834 * docs/man/grub-bin2h.h2m: New file.
24835 * docs/man/grub-editenv.h2m: New file.
24836 * docs/man/grub-fstest.h2m: New file.
24837 * docs/man/grub-install.h2m: New file.
24838 * docs/man/grub-macho2img.h2m: New file.
24839 * docs/man/grub-mkconfig.h2m: New file.
24840 * docs/man/grub-mkdevicemap.h2m: New file.
24841 * docs/man/grub-mkfont.h2m: New file.
24842 * docs/man/grub-mkimage.h2m: New file.
24843 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
24844 * docs/man/grub-mkrelpath.h2m: New file.
24845 * docs/man/grub-mkrescue.h2m: New file.
24846 * docs/man/grub-ofpathname.h2m: New file.
24847 * docs/man/grub-pe2elf.h2m: New file.
24848 * docs/man/grub-probe.h2m: New file.
24849 * docs/man/grub-reboot.h2m: New file.
24850 * docs/man/grub-script-check.h2m: New file.
24851 * docs/man/grub-set-default.h2m: New file.
24852 * docs/man/grub-setup.h2m: New file.
24853
24854 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
24855
24856 Use FOR_* macros instead of *_iterate whenever possible.
24857
24858 * commands/handler.c: Removed.
24859 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
24860 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
24861 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
24862 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
24863 (grub_probe_SOURCES): Remove kern/parser.c.
24864 (util/grub-script-check.c_DEPENDENCIES): Removed.
24865 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
24866 and grub_script_check_init.c.
24867 (grub_script_check_init.lst): Removed.
24868 (grub_script_check_init.h): Likewise.
24869 (grub_script_check_init.c): Likewise.
24870 (pkglib_MODULES): Remove handler.mod and sh.mod.
24871 (handler_mod_SOURCES): Removed.
24872 (handler_mod_CFLAGS): Likewise.
24873 (handler_mod_LDFLAGS): Likewise.
24874 (normal_mod_SOURCES): Remove normal/handler.c.
24875 Add script/main.c, script/script.c, script/execute.c,
24876 script/function.c, script/lexer.c, grub_script.tab.c
24877 and grub_script.yy.c.
24878 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
24879 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24880 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
24881 (grub_setup_SOURCES): Remove kern/parser.c.
24882 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
24883 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
24884 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
24885 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24886 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24887 (grub_setup_SOURCES): Remove kern/parser.c.
24888 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
24889 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
24890 * include/grub/command.h (grub_command_iterate): Removed.
24891 (FOR_COMMANDS): New macro.
24892 * include/grub/dl.h (grub_dl): New member next.
24893 (grub_dl_iterate): Removed.
24894 (grub_dl_head): New variable declaration.
24895 (FOR_DL_MODULES): New macro.
24896 * include/grub/fs.h: Include list.h.
24897 (grub_fs): Make next first element.
24898 (grub_fs_list): New variable declaration.
24899 (grub_fs_register): Make inline.
24900 (grub_fs_unregister): Likewise.
24901 (grub_fs_iterate): Removed.
24902 (FOR_FILESYSTEMS): New macro.
24903 * include/grub/handler.h: Removed.
24904 * include/grub/list.h (grub_list_hook_t): Removed.
24905 (grub_list_test_t): Likewise.
24906 (grub_list_pop): Likewise.
24907 (grub_list_iterate): Likewise.
24908 (grub_list_insert): Likewise.
24909 (FOR_LIST_ELEMENTS): New macro.
24910 * include/grub/parser.h (grub_parser_class): Removed.
24911 (grub_parser_register): Likewise.
24912 (grub_parser_unregister): Likewise.
24913 (grub_parser_get_current): Likewise.
24914 (grub_parser_set_current): Likewise.
24915 (grub_register_rescue_parser): Likewise.
24916 (grub_rescue_parse_line): New function.
24917 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
24918 * include/grub/script_sh.h (grub_script_function_list): New variable
24919 declaration.
24920 (FOR_SCRIPT_FUNCTIONS): New macro.
24921 (grub_script_function_iterate): Removed.
24922 (grub_normal_parse_line): New prototype.
24923 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
24924 (FOR_DISABLED_TERM_INPUTS): Likewise.
24925 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
24926 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
24927 * include/grub/video.h (grub_video_adapter): Move 'next' to first
24928 element.
24929 (grub_video_register): Inline.
24930 (grub_video_unregister): Likewise.
24931 (grub_video_adapter_list): New variable declaration.
24932 (grub_video_iterate): Removed.
24933 (FOR_VIDEO_ADAPTERS): New macro.
24934 * kern/dl.c (grub_dl_list): Removed. All users updated.
24935 (grub_dl_iterate): Removed.
24936 * kern/fs.c (grub_fs_list): Make global.
24937 (grub_fs_register): Removed.
24938 (grub_fs_unregister): Likewise.
24939 (grub_fs_iterate): Likewise.
24940 * kern/handler.c: Removed.
24941 * kern/list.c (grub_list_pop): Removed.
24942 (grub_list_iterate): Likewise.
24943 (grub_list_insert): Likewise.
24944 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
24945 (grub_prio_list_insert): Don't use grub_list_insert.
24946 * kern/main.c (grub_register_rescue_parser): Don't call
24947 grub_register_rescue_parser.
24948 * kern/parser.c (grub_parser_class): Removed.
24949 (grub_parser_execute): Use grub_rescue_parse_line.
24950 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
24951 (grub_rescue_parser): Removed.
24952 (grub_register_rescue_parser): Likewise.
24953 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
24954 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
24955 (grub_auth_check_authentication): Likewise.
24956 * normal/completion.c (iterate_command): Removed.
24957 (grub_normal_do_completion): Use FOR_COMMANDS.
24958 * normal/handler.c: Removed.
24959 * normal/main.c (read_config_file): Remove parser changing.
24960 (grub_normal_execute): Don't call read_handler_list.
24961 (grub_normal_read_line_real): Statically allocate prompt.
24962 (grub_cmdline_run): Use grub_normal_parse_line.
24963 (GRUB_MOD_FINI): Don't call free_handler_list.
24964 * normal/menu_entry.c (run): Likewise.
24965 * script/function.c (grub_script_function_list): Make global.
24966 (grub_script_function_iterate): Removed.
24967 * script/main.c (grub_normal_parse_line): Make global.
24968 (grub_sh_parser): Removed.
24969 (GRUB_MOD_INIT): Likewise.
24970 (GRUB_MOD_FINI): Likewise.
24971 * tests/lib/functional_test.c (grub_functional_test): Use
24972 FOR_LIST_ELEMENTS.
24973 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
24974 (grub_test_run): Use FOR_LIST_ELEMENTS.
24975 * tests/lib/unit_test.c (main): Likewise.
24976 * util/deviceiter.c (grub_util_iterate_devices): Don't use
24977 grub_list_pop.
24978 * util/grub-fstest.c (grub_term_input_class): Removed.
24979 (grub_term_output_class): Likewise.
24980 * util/grub-probe.c: Likewise.
24981 * util/i386/pc/grub-setup.c: Likewise.
24982 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24983 * util/grub-script-check.c (main): Don't call grub_init_all and
24984 grub_fini_all.
24985 * video/video.c (grub_video_adapter_list): Make global.
24986 (grub_video_register): Removed.
24987 (grub_video_unregister): Likewise.
24988 (grub_video_iterate): Likewise.
24989
24990 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
24991
24992 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
24993 reported by Henrique Ferreiro.
24994
24995 2010-06-09 Robert Millan <rmh@gnu.org>
24996
24997 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
24998 ones, when both are available.
24999
25000 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25001
25002 Make --version uniform and avoid hard-coded program name.
25003
25004 * util/grub-mkimage.c (main): Use `program_name' instead of
25005 hard-coded string.
25006 * util/i386/pc/grub-setup.c (main): Likewise.
25007 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
25008 * util/grub-install.in: Save the basename of $0 in $self, and use the
25009 latter in informational messages. Use the same format for --version
25010 as the binary programs.
25011 * util/grub-mkconfig.in: Likewise.
25012 * util/grub-mkrescue.in: Likewise.
25013 * util/grub-reboot.in: Likewise.
25014 * util/grub-set-default.in: Likewise.
25015 * util/i386/efi/grub-install.in: Likewise.
25016 * util/ieee1275/grub-install.in: Likewise.
25017 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25018
25019 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25020
25021 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
25022 embedding area. Use <= instead of == when checking for non-emptiness.
25023
25024 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25025
25026 * configure.ac: Add `.' to the directories searched for unifont.
25027
25028 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
25029
25030 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
25031 grub_script.yy.h.
25032
25033 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
25034
25035 * docs/grub.texi (History): Expand to cover GRUB 2.
25036 (Serial terminal): Refer to `terminal_input' and `terminal_output'
25037 commands, not `terminal'.
25038 (serial): Likewise.
25039 (terminal_input): New section.
25040 (terminal_output): New section.
25041 (uppermem): New section (stub).
25042 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
25043
25044 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
25045
25046 * docs/grub.texi (Security): Menu entries are unrestricted by
25047 default, not restricted to superusers as I had previously thought.
25048 Reword to account for this.
25049
25050 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
25051
25052 * kern/emu/misc.c (device_mapper_null_log): New function.
25053 (grub_device_mapper_supported): New function.
25054 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
25055 prototype.
25056 * kern/emu/hostdisk.c (find_partition_start): Check whether
25057 device-mapper is supported before trying to use it.
25058 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
25059
25060 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
25061
25062 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
25063 (File name syntax): Likewise.
25064 (help): --all is no longer supported in GRUB 2. Be more precise
25065 about pattern matching.
25066
25067 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
25068
25069 * normal/completion.c (grub_normal_do_completion): When completing
25070 arguments to "set" and the current word contains an equals sign,
25071 skip to after the equals sign before starting completion.
25072
25073 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
25074
25075 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
25076
25077 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
25078
25079 * docs/grub.texi (Network): New section.
25080 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
25081 `(nd)' as in GRUB Legacy.
25082 (pxe_unload): New section.
25083
25084 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
25085
25086 * docs/grub.texi (Troubleshooting): `echo' is not usually available
25087 in the rescue shell, so recommend using `set' instead. Thanks,
25088 Jordan Uggla.
25089
25090 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
25091
25092 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
25093 (password): New section.
25094 (password_pbkdf2): New section.
25095 (search): New section.
25096 (Security): New section.
25097 (Troubleshooting): New section, currently very incomplete.
25098 (Invoking grub-mkpasswd-pbkdf2): New section.
25099 (Internals): New section, currently very incomplete.
25100
25101 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
25102
25103 * util/grub.d/00_header.in: Add some more quoting (of
25104 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
25105 work again.
25106 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
25107
25108 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
25109
25110 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
25111 to `count', fixing variable shadowing that broke the -c option.
25112
25113 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
25114
25115 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
25116 in case they contain spaces.
25117
25118 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
25119
25120 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
25121 "part_" to partmap module names, in line with grub-install.
25122 Reported by: Jindřich Makovička (Debian bug #584426).
25123
25124 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
25125
25126 * util/grub-mkimage.c: Make target-related error messages slightly
25127 more helpful; -O talks about "format". Explicitly point to the use
25128 of -O if no target is specified.
25129 Reported by: Didier Raboud (Debian bug #584415).
25130
25131 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
25132
25133 * INSTALL: Document several build requirements for optional features
25134 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
25135
25136 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
25137
25138 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
25139 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
25140 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
25141
25142 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
25143
25144 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
25145 Thanks to Jordan Uggla for spotting this.
25146
25147 2010-06-02 Aleš Nesrsta <starous@volny.cz>
25148
25149 Finally make USB usable.
25150
25151 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
25152 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
25153 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
25154 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
25155 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
25156 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
25157 (GRUB_OHCI_FSMPS): Likewise.
25158 (GRUB_OHCI_PERIODIC_START): Likewise.
25159 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
25160 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
25161 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
25162 (GRUB_OHCI_SET_PORT_RESET): Likewise.
25163 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
25164 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
25165 (grub_ohci_transaction): Likewise.
25166 (grub_ohci_transfer): Improve condition detection algorithms.
25167 Handle toggle property. Program the transactions correctly.
25168 Improve error handling. Various important fixups.
25169 (grub_ohci_portstatus): Put register writes in right order.
25170 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
25171 (grub_uhci_transfer): Don't show "failed" message on success.
25172 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
25173 array.
25174 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
25175 determine its size.
25176 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
25177 before initialization is completed. Use IN direction for empty
25178 transfers. Use last_trans and compute toggle.
25179 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
25180 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
25181 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
25182 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
25183 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
25184 (grub_usb_device): Increase toggle to 256.
25185 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
25186 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
25187 GRUB_USBMS_SUBCLASS_SFF8070.
25188 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
25189 (grub_scsi_inquiry): New member page and alloc_length.
25190 (grub_scsi_request_sense): New structure.
25191 (grub_scsi_request_sense_data): Likewise.
25192 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
25193 control.
25194 * disk/scsi.c (grub_scsi_request_sense): New function.
25195 (grub_scsi_test_unit_ready): Likewise.
25196 (grub_scsi_inquiry): Fill new fields.
25197 (grub_scsi_read_capacity): Likewise.
25198 (grub_scsi_read10): Add request sense at the end.
25199 (grub_scsi_read12): Likewise.
25200 (grub_scsi_write10): Likewise.
25201 (grub_scsi_write12): Likewise.
25202 (grub_scsi_open): Add Test Unit Ready.
25203 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
25204 Support additional subclasses. Con't clear halt yet. Activate the
25205 proper config. Calculate LUNs correctly.
25206 (grub_usbms_transfer): Various important fixups.
25207
25208 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25209
25210 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
25211 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
25212 (grub_ohci_fini_hw): New function.
25213 (grub_ohci_restore_hw): Likewise.
25214 (GRUB_MOD_INIT(ohci)): Register preboot hook.
25215 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
25216 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
25217
25218 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25219
25220 Dedicated DMA allocations.
25221
25222 * bus/pci.c (grub_memalign_dma32): New function
25223 (grub_dma_free): Likewise.
25224 (grub_dma_get_virt): Likewise.
25225 (grub_dma_get_phys): Likewise.
25226 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
25227 (grub_ohci_pci_iter): Use dma32_alloc.
25228 (grub_ohci_transfer): Likewise.
25229 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
25230 (grub_usb_bulk_readwrite): Likewise.
25231 * include/grub/pci.h: Add declarations.
25232
25233 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25234
25235 CS5536 support.
25236
25237 * bus/cs5536.c: New file.
25238 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
25239 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
25240 (cs5536_mod_SOURCES): New variable.
25241 (cs5536_mod_CFLAGS): Likewise.
25242 (cs5536_mod_LDFLAGS): Likewise.
25243 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
25244 machine/pci.h.
25245 (kernel_img_SOURCES): Add bus/cs5536.c.
25246 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
25247 usb_keyboard.mod.
25248 (usb_mod_SOURCES): New variable.
25249 (usb_mod_CFLAGS): New variable.
25250 (usb_mod_LDFLAGS): New variable.
25251 (usbtest_mod_SOURCES): New variable.
25252 (usbtest_mod_CFLAGS): New variable.
25253 (usbtest_mod_LDFLAGS): New variable.
25254 (ohci_mod_SOURCES): New variable.
25255 (ohci_mod_CFLAGS): New variable.
25256 (ohci_mod_LDFLAGS): New variable.
25257 (usbms_mod_SOURCES): New variable.
25258 (usbms_mod_CFLAGS): New variable.
25259 (usbms_mod_LDFLAGS): New variable.
25260 (usb_keyboard_mod_SOURCES): New variable.
25261 (usb_keyboard_mod_CFLAGS): New variable.
25262 (usb_keyboard_mod_LDFLAGS): New variable.
25263 * include/grub/smbus.h: New file.
25264 * include/grub/cs5536.h: New file.
25265
25266 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
25267
25268 * util/grub.d/00_header.in: Add safety check to make sure that
25269 ${locale_dir} exists before trying to probe it.
25270
25271 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
25272
25273 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
25274 per the GNU Coding Standards; this is now too obscure to be worth
25275 documenting.
25276 (QNX): Likewise.
25277 (chainloader): Remove cross-reference to `SCO UnixWare'.
25278
25279 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
25280
25281 * docs/grub.texi (Chain-loading): New section.
25282 (DOS/Windows): New section, borrowed from GRUB Legacy with details
25283 adjusted for GRUB 2.
25284 (SCO UnixWare): Likewise.
25285 (QNX): Likewise.
25286 (chainloader): Add reference to `Block list syntax'.
25287 (drivemap): New section.
25288 (parttool): New section.
25289
25290 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
25291
25292 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
25293 the grub shell'.
25294 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
25295 (Installing GRUB using grub-install): Remove reference to the grub
25296 shell; mention `grub-mkimage' and `grub-setup' instead.
25297 (Invoking grub-install): Likewise.
25298 (Interface): Add reference to `Menu entry editor'.
25299 (serial): Remove `--device' option.
25300
25301 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
25302
25303 * docs/grub.texi (Configuration): New section, documenting
25304 configuration file generation using grub-mkconfig. I've left a slot
25305 for documenting the full shell scripting format but have not yet
25306 started on writing that up.
25307 (Invoking grub-mkconfig): New section.
25308
25309 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
25310
25311 * docs/grub.texi (direntry): Remove grub-terminfo reference.
25312 (GNU GRUB manual): Likewise.
25313 (General commands): Update description of `terminfo' for GRUB 2.
25314
25315 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
25316
25317 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
25318 (GRUB_MOD_INIT): Fix capitalisation.
25319 * docs/grub.texi (Command-line and menu entry commands): Document
25320 gettext and gptsync commands.
25321
25322 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
25323
25324 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
25325 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
25326
25327 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
25328
25329 Add btrfs probing support, currently only in the single-device case.
25330
25331 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
25332 function.
25333 (grub_guess_root_device): Call find_root_device_from_mountinfo
25334 before looking in /dev.
25335
25336 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25337
25338 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
25339 GRUB_DISK_SIZE_UNKNOWN.
25340 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
25341
25342 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
25343
25344 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
25345 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
25346 corrupted or not synced properly.
25347
25348 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25349
25350 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
25351 Reported by: Seth Goldberg.
25352
25353 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25354
25355 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
25356 addition of dest.
25357 Reported by: Seth Goldberg.
25358
25359 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25360
25361 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
25362 Reported by: Seth Goldberg.
25363
25364 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25365
25366 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
25367 64-bit address as signed on MIPS.
25368
25369 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
25370
25371 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
25372 to the empty string.
25373
25374 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
25375
25376 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
25377
25378 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
25379 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
25380 * kern/misc.c (__enable_execute_stack): Disable on
25381 GRUB_MACHINE_EMU.
25382
25383 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
25384
25385 Make grub-probe work with symbolic links under /dev/mapper as well
25386 as with real block devices. The Linux world seems to be (at best)
25387 in transition here, and GRUB shouldn't get caught in the middle.
25388
25389 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
25390 /dev/mapper.
25391
25392 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
25393
25394 * util/grub-script-check.c (main): Ensure defined behaviour on empty
25395 input files (in which case exit zero).
25396
25397 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
25398
25399 * kern/emu/misc.c (canonicalize_file_name): realpath can still
25400 return NULL for various reasons even if it has a maximum-length
25401 buffer: for example, there might be a symlink loop, or the path
25402 might exceed PATH_MAX. If this happens, return NULL.
25403
25404 2010-05-27 Robert Millan <rmh@gnu.org>
25405
25406 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
25407 partmap module to handle cross-partmap setups.
25408 Reported by Orestes Mas. Gràcies!
25409
25410 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
25411
25412 * util/grub-mkrescue.in: Initialise override_dir rather than
25413 assuming that it's unset or empty in the environment.
25414
25415 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
25416
25417 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
25418 variable index into p_index to suppress a warning with -Wshadow.
25419
25420 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
25421
25422 * INSTALL: Added flex >= 2.5.35 requirement.
25423
25424 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
25425
25426 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
25427
25428 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
25429
25430 cmostest support.
25431
25432 * commands/i386/cmostest.c: New file.
25433 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
25434 (cmostest_mod_SOURCES): New variable.
25435 (cmostest_mod_CFLAGS): Likewise.
25436 (cmostest_mod_LDFLAGS): Likewise.
25437 * conf/i386-pc.rmk: Likewise.
25438 * docs/grub.texi (Vendor power-on keys): New section.
25439 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
25440 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
25441 and GRUB_BUTTON_CMOS_ADDRESS.
25442 * util/grub.d/00_header.in: Handle powering-on by separate button.
25443
25444 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
25445
25446 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
25447 Removed drawing_scrollbar argument. All users updated
25448 Fixes #29792.
25449 Reported by Jo Shields
25450
25451 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
25452
25453 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
25454 buffer since gfxterm handles double repaint.
25455
25456 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
25457
25458 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
25459 * term/gfxterm.c (real_scroll): Likewise.
25460
25461 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
25462
25463 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
25464 before calling BIOS.
25465
25466 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
25467
25468 * include/grub/i18n.h: Always enable grub_gettext.
25469
25470 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
25471
25472 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
25473 partition naming style.
25474
25475 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
25476
25477 * util/grub-mkconfig.in: Fix handling of -o so that it works when
25478 not the first option.
25479
25480 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
25481
25482 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
25483
25484 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
25485
25486 * util/misc.c: Move inclusion of <limits.h> to ...
25487 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
25488
25489 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
25490
25491 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
25492 Fix merge error in NetBSD code.
25493 (find_partition_start) [__NetBSD__]: Likewise.
25494
25495 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
25496
25497 Fix grub-mkrescue usage unit testing.
25498
25499 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
25500
25501 2010-05-18 Christian Franke <franke@computer.org>
25502
25503 * util/grub.d/10_windows.in: Use path names instead of
25504 drive letters to prevent warning from Cygwin 1.7.
25505 Add drivemap command to menuentry if needed.
25506
25507 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
25508
25509 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
25510 gnumach and gnumach.gz.
25511
25512 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25513
25514 * include/grub/i18n.h (gettext): Inline instead of using #define.
25515 (grub_gettext): Likewise.
25516 (_): Likewise.
25517
25518 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25519
25520 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
25521 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
25522 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
25523 (main): Add a slash after pkglibdirroot.
25524
25525 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25526
25527 * util/grub-install.in: Add missing "in" keyword.
25528
25529 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25530
25531 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
25532 Reported by: Seth Goldberg.
25533
25534 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25535
25536 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
25537
25538 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
25539
25540 * configure.ac: Check for Linux device-mapper support.
25541
25542 * util/hostdisk.c (device_is_mapped): New function.
25543 (find_partition_start): New function, partly broken out from
25544 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
25545 device-mapper support added.
25546 (linux_find_partition): Use find_partition_start.
25547 (convert_system_partition_to_system_disk): Add `st' argument.
25548 Support Linux /dev/mapper/* devices if device-mapper support is
25549 available; only DM-RAID devices are understood at present.
25550 (find_system_device): Add `st' argument. Pass it to
25551 convert_system_partition_to_system_disk.
25552 (grub_util_biosdisk_get_grub_dev): Pass stat result to
25553 find_system_device and convert_system_partition_to_system_disk. Use
25554 find_partition_start.
25555
25556 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
25557 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
25558 * util/deviceiter.c [__linux__]: Define MINOR.
25559 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
25560 * util/mkdevicemap.c (grub_putchar): New function.
25561 (grub_getkey): New function.
25562 (grub_refresh): New function.
25563 (main): Set debug=all if -v -v is used.
25564
25565 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
25566
25567 Fix build with non-GNU libcs.
25568
25569 * util/misc.c (canonicalize_file_name): Move to ...
25570 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
25571 grub_make_system_path_relative_to_its_root.
25572
25573 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
25574
25575 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
25576 we handle finding grub-mkimage. Default to finding grub-mkimage in
25577 ${bindir} with program_transform_name applied, and provide a
25578 --grub-mkimage option to override this.
25579
25580 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25581
25582 Remove grub-mkisofs.
25583
25584 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
25585 (grub_mkisofs_SOURCES): Removed.
25586 (grub_mkisofs_CFLAGS): Removed.
25587 * util/mkisofs/defaults.h: Removed.
25588 * util/mkisofs/eltorito.c: Likewise.
25589 * util/mkisofs/exclude.h: Likewise.
25590 * util/mkisofs/hash.c: Likewise.
25591 * util/mkisofs/include/: Likewise.
25592 * util/mkisofs/include/fctldefs.h: Likewise.
25593 * util/mkisofs/include/mconfig.h: Likewise.
25594 * util/mkisofs/include/prototyp.h: Likewise.
25595 * util/mkisofs/include/statdefs.h: Likewise.
25596 * util/mkisofs/iso9660.h: Likewise.
25597 * util/mkisofs/joliet.c: Likewise.
25598 * util/mkisofs/match.c: Likewise.
25599 * util/mkisofs/match.h: Likewise.
25600 * util/mkisofs/mkisofs.c: Likewise.
25601 * util/mkisofs/mkisofs.h: Likewise.
25602 * util/mkisofs/msdos_partition.h: Likewise.
25603 * util/mkisofs/multi.c: Likewise.
25604 * util/mkisofs/name.c: Likewise.
25605 * util/mkisofs/rock.c: Likewise.
25606 * util/mkisofs/tree.c: Likewise.
25607 * util/mkisofs/write.c: Likewise.
25608
25609 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25610
25611 Unify grub-mkimage accross platforms.
25612
25613 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
25614 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
25615 (grub_mkelfimage_SOURCES): Removed.
25616 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
25617 (util/grub-mkimage.c_DEPENDENCIES): .. this.
25618 (bin_UTILITIES): Add grub-mkimage.
25619 (grub_mkimage_SOURCES): New variable.
25620 (kernel_img_HEADERS): Remove machine/kernel.h.
25621 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
25622 (pkglib_PROGRAMS): Add kernel.img.
25623 (kernel_img_HEADERS): Add machine/kernel.h.
25624 (kernel_img_FORMAT): Removed.
25625 (bin_UTILITIES): Remove grub-mkimage.
25626 (grub_mkimage_SOURCES): Removed.
25627 (grub_mkimage_CFLAGS): Likewise.
25628 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
25629 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
25630 (pkglib_PROGRAMS): Add kernel.img.
25631 (bin_UTILITIES): Remove grub-mkimage.
25632 (grub_mkimage_SOURCES): Removed.
25633 (grub_mkimage_CFLAGS): Likewise.
25634 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
25635 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
25636 (pkglib_PROGRAMS): Add kernel.img.
25637 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
25638 (pkglib_PROGRAMS): Add kernel.img.
25639 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
25640 (grub_mkimage_SOURCES): Removed.
25641 (grub_mkimage_CFLAGS): Likewise.
25642 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
25643 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
25644 (pkglib_PROGRAMS): Add kernel.img.
25645 (bin_UTILITIES): Remove grub-mkimage.
25646 (grub_mkimage_SOURCES): Removed.
25647 (grub_mkimage_CFLAGS): Likewise.
25648 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
25649 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
25650 (grub_mkimage_SOURCES): Removed.
25651 (grub_mkimage_CFLAGS): Likewise.
25652 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
25653 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
25654 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
25655 (grub_pe32_optional_header): ... this.
25656 (grub_pe64_optional_header): ... and this. All users updated.
25657 (GRUB_PE32_PE32_MAGIC): Split into ..
25658 (GRUB_PE32_PE32_MAGIC): .. this.
25659 (GRUB_PE32_PE64_MAGIC): .. and this.
25660 (GRUB_PE32_SIGNATURE_SIZE): New definition.
25661 * include/grub/elf.h (PT_GNU_STACK): New definition.
25662 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
25663 * include/grub/i386/efi/kernel.h: Likewise.
25664 * include/grub/i386/kernel.h: Likewise.
25665 * include/grub/i386/pc/kernel.h: Likewise.
25666 * include/grub/i386/qemu/boot.h: Likewise.
25667 * include/grub/mips/kernel.h: Likewise.
25668 * include/grub/mips/qemu-mips/kernel.h: Likewise.
25669 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
25670 * include/grub/powerpc/kernel.h: Likewise.
25671 * include/grub/sparc64/ieee1275/boot.h: Likewise.
25672 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25673 * include/grub/sparc64/kernel.h: Likewise.
25674 * include/grub/x86_64/efi/kernel.h: Likewise.
25675 * include/grub/x86_64/kernel.h: Likewise.
25676 * include/grub/offsets.h: New file.
25677 * include/grub/kernel.h (grub_module_info): Split into ...
25678 (grub_module_info32): ... this.
25679 (grub_module_info64): ... and this.
25680 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
25681 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
25682 (grub_boot_blocklist): Moved from here ...
25683 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
25684 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
25685 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
25686 * include/grub/types.h (grub_target_to_host16): Removed.
25687 (grub_target_to_host32): Likewise.
25688 (grub_target_to_host64): Likewise.
25689 (grub_host_to_target16): Likewise.
25690 (grub_host_to_target32): Likewise.
25691 (grub_host_to_target64): Likewise.
25692 (grub_host_to_target_addr): Likewise.
25693
25694 Support grub-mkrescue for efi, coreboot and qemu.
25695
25696 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
25697 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
25698 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
25699 * util/grub-mkrawimage.c: Moved from here ...
25700 * util/grub-mkimage.c: ... here. All users updated.
25701 (ALIGN_ADDR): Use image_target.
25702 (TARGET_NO_FIELD): New const.
25703 (image_target_desc): New type.
25704 (image_targets): New array.
25705 (grub_target_to_host64): Use image_target.
25706 (grub_target_to_host32): Likewise.
25707 (grub_target_to_host16): Likewise.
25708 (grub_host_to_target64): Likewise.
25709 (grub_host_to_target32): Likewise.
25710 (grub_host_to_target16): Likewise.
25711 (grub_host_to_target_addr): Likewise.
25712 (generate_image): Handle multiimage.
25713 (main): Require -O parameter. All users updated.
25714 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
25715 util/efi/grub-mkimage.c
25716 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
25717 New option --rom-directory.
25718 Use xorriso.
25719 * util/i386/efi/grub-mkimage.c: Removed.
25720 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
25721 (grub_target_to_host32): Likewise.
25722 (grub_target_to_host64): Likewise.
25723 (grub_host_to_target16): Likewise.
25724 (grub_host_to_target32): Likewise.
25725 (grub_host_to_target64): Likewise.
25726 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
25727 (grub_target_to_host32): Likewise.
25728 (grub_target_to_host64): Likewise.
25729 (grub_host_to_target16): Likewise.
25730 (grub_host_to_target32): Likewise.
25731 (grub_host_to_target64): Likewise.
25732
25733 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
25734
25735 Source tree is reorganized for emu build.
25736
25737 * include/grub/util/console.h: Move from here...
25738 * include/grub/emu/console.h: ...to here.
25739 * include/grub/util/getroot.h: Move from here...
25740 * include/grub/emu/getroot.h: ...to here.
25741 * include/grub/util/hostdisk.h: Move from here...
25742 * include/grub/emu/hostdisk.h: ...to here.
25743 * util/console.c: Move from here...
25744 * kern/emu/console.c: ...to here.
25745 * util/getroot.c: Move from here...
25746 * kern/emu/getroot.c: ...to here.
25747 * util/grub-emu.c: Move from here...
25748 * kern/emu/main.c: ...to here.
25749 * util/hostdisk.c: Move from here...
25750 * kern/emu/hostdisk.c: ...to here.
25751 * util/hostfs.c: Move from here...
25752 * kern/emu/hostfs.c: ...to here.
25753 * util/mm.c: Move from here...
25754 * kern/emu/mm.c: ...to here.
25755 * util/pci.c: Move from here...
25756 * bus/emu/pci.c: ...to here.
25757 * util/sdl.c: Move from here...
25758 * video/emu/sdl.c: ...to here.
25759 * util/time.c: Move from here...
25760 * kern/emu/time.c: ...to here.
25761 * util/usb.c: Move from here...
25762 * bus/usb/emu/usb.c: ...to here.
25763
25764 * include/grub/emu/misc.h: New header for grub-emu functions.
25765 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
25766
25767 * conf/any-emu.rmk: Rule updates for above renames.
25768 * conf/common.rmk: Likewise.
25769 * conf/i386-pc.rmk: Likewise.
25770 * conf/i386-qemu.rmk: Likewise.
25771 * conf/mips.rmk: Likewise.
25772 * conf/sparc64-ieee1275.rmk: Likewise.
25773 * conf/x86-efi.rmk: Likewise.
25774
25775 * disk/lvm.h: #include updates for above renames.
25776 * util/grub-mkrelpath.c: Likewise.
25777 * util/grub-probe.c: Likewise.
25778 * util/i386/pc/grub-setup.c: Likewise.
25779 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25780 * kern/emu/console.c: Likewise.
25781 * kern/emu/getroot.c: Likewise.
25782 * kern/emu/hostdisk.c: Likewise.
25783 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
25784
25785 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
25786 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
25787 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
25788 * util/misc.c: Remove grub-emu functions.
25789
25790 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
25791
25792 Fix gfxmenu crash.
25793 Reported by: Thorsten Grützmacher.
25794
25795 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
25796 timeout hook.
25797 (circprog_set_property): Register and unregister timeout hook.
25798 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
25799 (label_destroy): Free template. and unregister hook.
25800 (label_set_state): New function.
25801 (label_set_property): Handle templates and hooks.
25802 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
25803 timeout hook.
25804 (progress_bar_set_property): Register and unregister timeout hook.
25805 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
25806 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
25807 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
25808 (update_timeout_visit): Removed.
25809 (update_timeouts): New function.
25810 (redraw_timeouts): Likewise.
25811 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
25812 (grub_gfxmenu_clear_timeout): Likewise.
25813 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
25814 (grub_gfxmenu_timeout_notify): Likewise.
25815 (grub_gfxmenu_timeout_notifications): New external variable.
25816 (grub_gfxmenu_timeout_register): New function.
25817 (grub_gfxmenu_timeout_unregister): Likewise.
25818
25819 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
25820
25821 Transform (broken) vga terminal into (working) vga video driver.
25822
25823 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
25824 video/i386/pc/vga.c.
25825 * include/grub/video.h (grub_video_driver_id):
25826 Add GRUB_VIDEO_DRIVER_VGA.
25827 * term/i386/pc/vga.c: Renamed to ...
25828 * video/i386/pc/vga.c: ...this
25829 (DEBUG_VGA): Removed.
25830 (CHAR_WIDTH): Likewise.
25831 (CHAR_HEIGHT): Likewise.
25832 (TEXT_WIDTH): Likewise.
25833 (TEXT_HEIGHT): Likewise.
25834 (DEFAULT_FG_COLOR): Likewise.
25835 (DEFAULT_BG_COLOR): Likewise.
25836 (colored_char): Likewise.
25837 (xpos): Likewise.
25838 (ypos): Likewise.
25839 (cursor_state): Likewise.
25840 (fg_color): Likewise.
25841 (bg_color): Likewise.
25842 (text_buf): Likewise.
25843 (page): Likewise.
25844 (font): Likewise.
25845 (framebuffer): New variable.
25846 (set_read_map): Disabled.
25847 (setup): New variable.
25848 (is_target): Likewise.
25849 (grub_vga_mod_init): Likewise.
25850 (grub_vga_mod_fini): Likewise.
25851 (check_vga_mem): Likewise.
25852 (write_char): Likewise.
25853 (write_cursor): Likewise.
25854 (scroll_up): Likewise.
25855 (grub_vga_putchar): Likewise.
25856 (grub_vga_getcharwidth): Likewise.
25857 (grub_vga_getwh): Likewise.
25858 (grub_vga_getxy): Likewise.
25859 (grub_vga_gotoxy): Likewise.
25860 (grub_vga_cls): Likewise.
25861 (grub_vga_setcolorstate): Likewise.
25862 (grub_vga_setcursor): Likewise.
25863 (grub_video_vga_init): New function.
25864 (grub_video_vga_setup): Likewise.
25865 (grub_video_vga_fini): Likewise.
25866 (update_target): Likewise.
25867 (grub_video_vga_blit_bitmap): Likewise.
25868 (grub_video_vga_blit_render_target): Likewise.
25869 (grub_video_vga_set_active_render_target): Likewise.
25870 (grub_video_vga_get_active_render_target): Likewise.
25871 (grub_video_vga_swap_buffers): Likewise.
25872 (grub_video_vga_set_palette): Likewise.
25873 (grub_video_vga_get_info_and_fini): Likewise.
25874 (grub_vga_term): Removed.
25875 (grub_video_vga_adapter): New variable.
25876 (GRUB_MOD_INIT): Register a video driver instead of terminal.
25877 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
25878
25879 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25880
25881 * video/readers/jpeg.c: Indented.
25882
25883 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25884
25885 Various jpeg cleanups.
25886
25887 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
25888 (grub_jpeg_decode_quan_table): Use sizeof.
25889 (grub_jpeg_decode_du): Use ARRAY_SIZE.
25890
25891 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
25892
25893 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
25894 tables. Ignore non-last ac bit.
25895 (grub_jpeg_decode_quan_table): Likewise.
25896
25897 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25898
25899 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
25900 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
25901 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
25902 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
25903 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
25904 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
25905
25906 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25907
25908 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
25909 error.
25910
25911 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25912
25913 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
25914
25915 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25916
25917 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
25918 condition.
25919
25920 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25921
25922 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
25923 part.
25924
25925 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25926
25927 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
25928 pointers.
25929
25930 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25931
25932 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
25933
25934 2010-05-01 Christian Franke <franke@computer.org>
25935
25936 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
25937 Remove broken Cygwin path conversion.
25938 * util/misc.c: [__CYGWIN__] Add include and define.
25939 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
25940 for Cygwin 1.7.
25941 (make_system_path_relative_to_its_root): Simplify loop, replace early
25942 return by break.
25943 [__CYGWIN__] Add conversion to win32 path.
25944 Include "/" case in trailing slash removal.
25945
25946 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25947
25948 * kern/main.c (grub_load_config): Fix copy-pasted comment.
25949 Reported by: Seth Goldberg
25950
25951 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25952
25953 * commands/help.c (grub_cmd_help): Fix a typo.
25954 Reported by: Seth Goldberg
25955
25956 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25957
25958 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
25959 name and add N_.
25960 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
25961 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
25962 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
25963 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
25964 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
25965 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
25966 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
25967 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
25968 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
25969 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
25970 * normal/context.c (GRUB_MOD_INIT): Likewise.
25971 * normal/main.c (GRUB_MOD_INIT): Likewise.
25972 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
25973 * term/serial.c (GRUB_MOD_INIT): Likewise.
25974 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
25975
25976 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25977
25978 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
25979 extra == 0.
25980
25981 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25982
25983 * commands/iorw.c: New file.
25984 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
25985 (iorw_mod_SOURCES): New variable.
25986 (iorw_mod_CFLAGS): Likewise.
25987 (iorw_mod_LDFLAGS): Likewise.
25988
25989 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25990
25991 Hotkey support
25992
25993 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
25994 * normal/main.c (hotkey_aliases): New variable.
25995 (grub_normal_add_menu_entry): Parse "--hotkey".
25996 * normal/menu_text.c (run_menu): Handle hotkeys.
25997
25998 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25999
26000 * kern/i386/coreboot/init.c (grub_machine_init): Call
26001 grub_machine_mmap_init on qemu.
26002
26003 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26004
26005 * boot/i386/qemu/boot.S: Add a missing .code16.
26006
26007 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26008
26009 Use LBIO on coreboot.
26010
26011 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
26012 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
26013 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
26014 New declaration.
26015 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
26016 grub_machine_mmap_init on coreboot.
26017 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
26018 GRUB_LINUXBIOS_MEMBER_LINK.
26019 (grub_machine_mmap_iterate): Fix declaration.
26020 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
26021
26022 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26023
26024 Split coreboot and multiboot ports.
26025
26026 * conf/i386-multiboot.rmk: New file.
26027 * configure.ac: Add multiboot port.
26028 * include/grub/i386/multiboot/boot.h: New file.
26029 * include/grub/i386/multiboot/console.h: Likewise.
26030 * include/grub/i386/multiboot/init.h: Likewise.
26031 * include/grub/i386/multiboot/kernel.h: Likewise.
26032 * include/grub/i386/multiboot/loader.h: Likewise.
26033 * include/grub/i386/multiboot/memory.h: Likewise.
26034 * include/grub/i386/multiboot/serial.h: Likewise.
26035 * include/grub/i386/multiboot/time.h: Likewise.
26036 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
26037 * loader/multiboot.c: Likewise.
26038 * loader/multiboot_mbi2.c: Likewise.
26039 * util/grub-mkrescue.in: Generate multiboot rescue.
26040
26041 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26042
26043 * kern/parser.c (grub_parser_execute): Cope with read-only config.
26044
26045 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26046
26047 Merge handling of input and output terminals. Fix a hang.
26048
26049 * commands/terminal.c (abstract_terminal): New struct.
26050 (handle_command): New function. Based on grub_cmd_terminal_input.
26051 (grub_cmd_terminal_input): Use handle_command.
26052 (grub_cmd_terminal_output): Use handle_command.
26053
26054 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
26055
26056 Fix comment handling.
26057
26058 * tests/grub_script_comments.in: New testcase.
26059 * conf/tests.rmk: Rules for new testcase.
26060 * script/yylex.l: Updated flex rules.
26061
26062 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
26063
26064 * docs/grub.texi (play): Document that zero pitches produce rests.
26065 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
26066 if argc is 1.
26067
26068 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26069
26070 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
26071 autogen issues.
26072
26073 2010-04-26 Christian Franke <franke@computer.org>
26074
26075 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
26076 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
26077 (grub_get_prefix): Remove function.
26078 * util/grub-emu.c (main): Replace grub_get_prefix () call by
26079 make_system_path_relative_to_its_root ().
26080 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
26081
26082 2010-04-24 Christian Franke <franke@computer.org>
26083
26084 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
26085 (kernel_img_LDFLAGS): Remove -static-libgcc.
26086
26087 2010-04-24 Christian Franke <franke@computer.org>
26088
26089 * configure.ac: Do not CHECK_BSS_START_SYMBOL
26090 and CHECK_END_SYMBOL if grub-emu is built.
26091 Unset TARGET_OBJ2ELF if grub-emu is built
26092 without module support.
26093
26094 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
26095
26096 Nilfs2 support.
26097
26098 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
26099 (grub_fstest_SOURCES): Likewise.
26100 (pkglib_MODULES): Add nilfs2.mod.
26101 (nilfs2_mod_SOURCES): New variable.
26102 (nilfs2_mod_CFLAGS): Likewise.
26103 (nilfs2_mod_LDFLAGS): Likewise.
26104 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
26105 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
26106 * fs/nilfs2.c: New file.
26107
26108 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
26109
26110 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
26111 is not supported.
26112
26113 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
26114
26115 Add grub-mkconfig support for NetBSD.
26116
26117 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
26118 * util/grub-mkconfig.in: export new NetBSD specific variables.
26119 * po/POTFILES-shell: added 10_netbsd.in.
26120 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
26121
26122 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
26123
26124 Fix emu build with grub-emu-pci and grub-emu-modules.
26125
26126 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
26127 functions.
26128 * include/grub/libpciaccess.h: New file.
26129 * conf/any-emu.rmk: Update kernel headers for emu build.
26130
26131 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
26132
26133 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
26134
26135 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
26136
26137 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
26138
26139 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26140
26141 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
26142 Retrieve chosen/bootpath if bootpath isn't hardcoded.
26143 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
26144 util/ieee1275/ofpath.c.
26145 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
26146 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
26147 * include/grub/sparc64/ieee1275/boot.h
26148 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
26149 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
26150 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
26151 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
26152 const char *.
26153 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
26154 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
26155 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
26156 install.
26157
26158 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
26159
26160 * util/grub-mkconfig.in: Corrected two == equality tests.
26161 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
26162 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
26163 expect a number appended to it.
26164 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
26165 expects a number appended to it.
26166
26167 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26168
26169 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
26170
26171 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26172
26173 * util/hostdisk.c (make_device_name): Change to new partition naming.
26174
26175 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
26176
26177 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
26178
26179 2010-04-17 Christian Franke <franke@computer.org>
26180
26181 * Makefile.in: Add missing localedir setting.
26182
26183 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
26184
26185 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
26186 mistake in r2156. Noticed by Anthony Fok.
26187
26188 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
26189 @localedir@.
26190 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
26191
26192 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
26193
26194 Fix a spurious, uninitialized variable warning.
26195
26196 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
26197 Initialize variable, shdr.
26198 (grub_freebsd_load_elfmodule): Likewise.
26199 (grub_freebsd_load_elf_meta): Likewise.
26200
26201 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
26202
26203 Fix for escaped dollar in double quoted strings.
26204
26205 * script/yylex.l: Updated flex rules.
26206 * conf/tests.rmk: Rule for new testcase.
26207 * tests/grub_script_dollar.in: New testcase.
26208
26209 2010-04-13 Carles Pina i Estany <carles@pina.cat>
26210 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
26211
26212 Enclose all translated strings in grub.cfg in single quotes, and
26213 escape them appropriately (Ubuntu bug #552921).
26214
26215 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
26216 * util/grub.d/10_hurd.in: Use it.
26217 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26218 * util/grub.d/10_linux.in (linux_entry): Likewise.
26219
26220 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26221
26222 Fix cygwin compilation.
26223
26224 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
26225 * include/grub/misc.h (__register_frame_info)
26226 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
26227 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
26228 * kern/misc.c (__register_frame_info)
26229 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
26230 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
26231
26232 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26233
26234 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
26235
26236 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26237
26238 Unify libgcc processing.
26239
26240 * Makefile.in (kernel_img_LDFLAGS): New variable.
26241 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
26242 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
26243 overwriting.
26244 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
26245 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
26246 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
26247 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
26248 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
26249 overwriting. Remove -lgcc and -static-libgcc
26250 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
26251 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
26252 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
26253 (kernel_img_LDFLAGS): Append instead of overwriting.
26254 Remove -lgcc and -static-libgcc
26255 * conf/sparc64-ieee1275.rmk: Likewise.
26256 * include/grub/powerpc/libgcc.h: Move to ...
26257 * include/grub/libgcc.h: .. this.
26258 * include/grub/libgcc.h: Don't export most of the function on x86.
26259 (__bswapsi2): New export.
26260 (__bswapdi2): Likewise.
26261 * include/grub/mips/libgcc.h: Removed.
26262 * include/grub/sparc64/libgcc.h: Likewise.
26263
26264 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26265
26266 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
26267 disk_info_msg (conflicts with gettexting into languages with cases).
26268
26269 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
26270
26271 Add grub-probe support for NetBSD.
26272
26273 * util/getroot.c (find_root_device): Convert block device to
26274 character device on NetBSD.
26275 * util/probe.c (probe): Require character device on NetBSD.
26276 * util/hostdisk.c: NetBSD specific headers.
26277 (configure_device_driver): new function to tune device driver
26278 parameters (currently only for NetBSD floppy driver).
26279 (grub_util_biosdisk_open): NetBSD specific code (get disk size
26280 via disklabel ioctl).
26281 (open_device): call configure_device_driver on NetBSD.
26282 (convert_system_partition_to_system_disk): NetBSD specific code.
26283 (device_is_wholedisk): Likewise.
26284 (grub_util_biosdisk_get_grub_dev): Likewise.
26285 (make_device_name): Fixed a typo in bsd_part_str.
26286 * configure.ac: check for opendisk() and getrawpartition() on
26287 NetBSD and set LIBUTIL.
26288 * Makefile.in: add LIBUTIL to LIBS.
26289
26290 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
26291
26292 Documentation fix.
26293
26294 * util/grub-script-check.c: Better help message.
26295
26296 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
26297
26298 Fix FreeBSD build.
26299
26300 * configure.ac: Flex version check.
26301 * conf/common.rmk: Add -Wno-error to sh.mod.
26302 * script/yylex.l: Remove all #pragma.
26303
26304 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26305
26306 * include/grub/util/misc.h (canonicalise_file_name): Add missing
26307 prototype.
26308 Reported by: Seth Goldberg.
26309
26310 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26311
26312 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
26313 Rename "module" to "module2".
26314 Reported by: Seth Goldberg.
26315
26316 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26317
26318 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
26319 EXPORT_FUNC.
26320 Reported by: Seth Goldberg.
26321
26322 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26323
26324 * lib/posix_wrap/locale.h: Add missing file.
26325 Reported by: Seth Goldberg.
26326
26327 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26328
26329 grub-emu module load support.
26330
26331 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
26332 NO_DYNAMIC_MODULES switched to this.
26333 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
26334 (CFLAGS): Likewise.
26335 * conf/any-emu.rmk: Generate symlist.
26336 (kernel_img_HEADERS): Add util/datetime.h.
26337 (kernel_img_HEADERS) [sdl]: Add sdl.h.
26338 (kernel_img_HEADERS) [libusb]: Add libusb.h.
26339 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
26340 kern/$(target_cpu)/cache.S.
26341 * configure.ac (grub-emu-modules): New option.
26342 * genmk.rb: Handle multiple source lists.
26343 * include/grub/sdl.h: New file.
26344 * include/grub/libusb.h: Likewise.
26345 * util/grub-emu.c (main): Hanle (host) root.
26346 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
26347 GRUB_ERR_UNKNOWN_DEVICE.
26348 * util/misc.c: Move mm functions to ...
26349 * util/mm.c: ... here. All users updated.
26350
26351 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26352
26353 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
26354 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
26355 missing files.
26356 (maintainer-clean): Remove libgcrypt-grub.
26357
26358 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26359
26360 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
26361
26362 2010-04-09 EFI Coder <eficoder@hotmail.com>
26363
26364 * normal/menu_text.c (print_message): Clean up the message and show
26365 the Fn information when on EFI
26366 * term/efi/console.c (grub_console_checkkey): Add F4 support.
26367
26368 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26369
26370 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
26371 All users updated.
26372 * normal/crypto.c (read_crypto_list): Likewise.
26373 * normal/dyncmd.c (read_command_list): Likewise.
26374 * normal/term.c (read_terminal_list): Likewise.
26375 * normal/main.c (read_lists): Use explicit prefix.
26376 (read_lists_hook): Use read_lists.
26377 (grub_normal_execute): Likewise.
26378
26379 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26380
26381 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
26382 Reported by: Thomas Schmitt.
26383 Add -no-emul-boot to grub-mkisofs parameters.
26384
26385 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26386
26387 * font/font.c: Indented.
26388
26389 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
26390
26391 Elif support to GRUB script (by Deepak Vankadaru).
26392
26393 * tests/grub_script_if.in: New testcase.
26394 * conf/tests.rmk: Rule for new testcase.
26395 * script/parser.y: Grammar rules for elif.
26396
26397 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
26398
26399 While and until loops support to GRUB script.
26400
26401 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
26402 (grub_script_create_cmdwhile): New function prototype.
26403 (grub_script_execute_cmdwhile): New function prototype.
26404 * script/execute.c (grub_script_execute_cmdwhile): New function.
26405 * script/parser.y (command): New commands.
26406 (whilecmd): New grammar rule.
26407 (untilcmd): New grammar rule.
26408 * script/script.c (grub_script_create_cmdwhile): New function.
26409 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
26410 function.
26411
26412 * tests/grub_script_while1.in: New testcase.
26413 * conf/tests.rmk: Rule for new testcase.
26414
26415 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26416
26417 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
26418 as *.jpg.
26419
26420 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
26421
26422 GRUB_BACKGROUND support.
26423
26424 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
26425 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
26426
26427 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26428
26429 Load fonts and modules for gfxmenu in grub-mkconfig.
26430 Idea by: Mario Vazquez
26431
26432 * util/grub.d/00_header.in: Load pf2 and image modules.
26433
26434 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26435
26436 grub-mkconfig multiple terminal support.
26437
26438 * util/grub-mkconfig.in: Handle multiple terminals correctly.
26439 * util/grub.d/00_header.in: Likewise.
26440
26441 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26442
26443 * Makefile.in: Specify files explicitly instead of using $< and $@ since
26444 we use cd $(srcdir).
26445
26446 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
26447
26448 * util/grub.d/10_linux.in: Only use the first word of
26449 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
26450 spaces in GRUB_DISTRIBUTOR.
26451 * util/grub.d/10_kfreebsd.in: Likewise.
26452 * util/grub.d/10_hurd.in: Likewise.
26453
26454 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
26455
26456 Fix unit testing framework for Qemu 0.12.
26457
26458 * tests/util/grub-shell.in: Remove -serial stdio option.
26459
26460 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
26461
26462 POSIX header file wrappers.
26463
26464 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
26465 equivalents.
26466 * lib/posix_wrap/ctype.h: Likewise.
26467 * lib/posix_wrap/errno.h: Likewise.
26468 * lib/posix_wrap/langinfo.h: Likewise.
26469 * lib/posix_wrap/limits.h: Likewise.
26470 * lib/posix_wrap/localcharset.h: Likewise.
26471 * lib/posix_wrap/stdint.h: Likewise.
26472 * lib/posix_wrap/stdio.h: Likewise.
26473 * lib/posix_wrap/stdlib.h: Likewise.
26474 * lib/posix_wrap/string.h: Likewise.
26475 * lib/posix_wrap/sys/types.h: Likewise.
26476 * lib/posix_wrap/unistd.h: Likewise.
26477 * lib/posix_wrap/wchar.h: Likewise.
26478 * lib/posix_wrap/wctype.h: Likewise.
26479 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
26480 (grub_script.yy.h): Likewise.
26481 * script/yylex.l: Remove POSIX emulation #defines.
26482 * Makefile.in (POSIX_CFLAGS): New variable.
26483 (GNULIB_UTIL_CFLAGS): Likewise.
26484
26485 Regexp support.
26486
26487 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
26488 (regexp_mod_SOURCES): New variable.
26489 (regexp_mod_CFLAGS): Likewise.
26490 (regexp_mod_LDFLAGS): Likewise.
26491 * commands/regexp.c: New file.
26492 * gnulib/regcomp.c: New file. Imported from gnulib.
26493 * gnulib/regex.c: Likewise.
26494 * gnulib/regex_internal.c: Likewise.
26495 * gnulib/regex_internal.h: Likewise.
26496 * gnulib/regexec.c: Likewise.
26497 * gnulib/regex.h: Likewise.
26498
26499 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26500
26501 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
26502 unsupported video mode types.
26503
26504 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26505
26506 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
26507
26508 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26509
26510 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
26511 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
26512
26513 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
26514
26515 Remove unused grub_vga_get_font.
26516
26517 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
26518 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
26519
26520 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26521
26522 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
26523 * include/grub/misc.h: Likewise.
26524
26525 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26526
26527 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
26528 for which failure is fatal.
26529
26530 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26531
26532 * util/grub-install.in: Use mkdir -p to create grub directory.
26533 * util/i386/efi/grub-install.in: Likewise.
26534 * util/ieee1275/grub-install.in: Likewise.
26535
26536 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26537
26538 * Makefile.in (LEX): new variable.
26539
26540 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26541
26542 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
26543 `=' and added double quotes on operands of this equality test.
26544
26545 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
26546
26547 * Makefile.in (uninstall): Remove a leftover debug echo.
26548 Reported by: Grégoire Sutre
26549
26550 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
26551
26552 MIPS multiboot2 support.
26553
26554 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
26555 (multiboot2_mod_SOURCES): New variable.
26556 (multiboot2_mod_CFLAGS): Likewise.
26557 (multiboot2_mod_LDFLAGS): Likewise.
26558 (multiboot2_mod_ASFLAGS): Likewise.
26559 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
26560 definition.
26561 (MULTIBOOT_ENTRY_REGISTER): Likewise.
26562 (MULTIBOOT_MBI_REGISTER): Likewise.
26563 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
26564 (MULTIBOOT_ELF32_MACHINE): Likewise.
26565 (MULTIBOOT_ELF64_MACHINE): Likewise.
26566 * include/grub/mips/multiboot.h: New file.
26567 * include/grub/video.h (grub_video_driver_id): New type
26568 GRUB_VIDEO_DRIVER_SM712.
26569 (grub_video_get_info_and_fini): Export.
26570 (grub_video_get_palette): Likewise.
26571 (grub_video_get_driver_id): Likewise.
26572 * include/multiboot2.h: Resynced with spec.
26573 * loader/i386/multiboot.c: Moved from here ...
26574 * loader/multiboot.c: ... here. All users updated.
26575 (grub_multiboot_boot): Use platform-specific macros.
26576 * loader/i386/multiboot_elfxx.c: Moved from here ...
26577 * loader/multiboot_elfxx.c: ... here. All users updated.
26578 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
26579 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
26580 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
26581
26582 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
26583
26584 Import gnulib argp module.
26585
26586 * gnulib/argp-ba.c: New file.
26587 * gnulib/argp-eexst.c: Likewise.
26588 * gnulib/argp-fmtstream.c: Likewise.
26589 * gnulib/argp-fmtstream.h: Likewise.
26590 * gnulib/argp-fs-xinl.c: Likewise.
26591 * gnulib/argp-help.c: Likewise.
26592 * gnulib/argp-namefrob.h: Likewise.
26593 * gnulib/argp-parse.c: Likewise.
26594 * gnulib/argp-pin.c: Likewise.
26595 * gnulib/argp-pv.c: Likewise.
26596 * gnulib/argp-pvh.c: Likewise.
26597 * gnulib/argp-version-etc.c: Likewise.
26598 * gnulib/argp-version-etc.h: Likewise.
26599 * gnulib/argp-xinl.c: Likewise.
26600 * gnulib/argp.h: Likewise.
26601
26602 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
26603
26604 * kern/device.c (grub_device_iterate): Clear errors after failed
26605 opening device.
26606
26607 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
26608
26609 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
26610 returned by firmware.
26611
26612 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
26613
26614 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
26615 compilation on coreboot and qemu
26616
26617 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
26618
26619 * include/multiboot2.h: Resync with spec.
26620
26621 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
26622
26623 Multiboot2 tag support
26624
26625 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
26626 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
26627 Remove loader/multiboot_loader.c.
26628 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
26629 (grub_multiboot2_real_boot): Likewise.
26630 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
26631 (grub_get_multiboot_mmap_count): New proto.
26632 (grub_fill_multiboot_mmap): Likewise.
26633 (grub_multiboot_set_video_mode): Likewise.
26634 (grub_multiboot_set_console): Likewise.
26635 (grub_multiboot_load): Likewise.
26636 (grub_multiboot_load_elf): Likewise.
26637 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
26638 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
26639 * include/multiboot.h: Resynced with specification.
26640 * include/multiboot2.h: Resynced with specification.
26641 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
26642 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
26643 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
26644 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
26645 users updated.
26646 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
26647 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
26648 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
26649 Removed.
26650 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
26651 Moved from here...
26652 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
26653 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
26654 Moved from here...
26655 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
26656 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
26657 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
26658 All users updated.
26659 * loader/i386/multiboot_mbi2.c: New file.
26660
26661 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
26662
26663 Resync with gnulib.
26664
26665 * Makefile.in (GNULIB_CFLAGS): New variable.
26666 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
26667 (grub_script_check_CFLAGS): New variable.
26668 * gnulib/alloca.h: Resync with gnulib.
26669 * gnulib/error.c: Likewise.
26670 * gnulib/error.h: Likewise.
26671 * gnulib/fnmatch.c: Likewise.
26672 * gnulib/fnmatch_loop.c: Likewise.
26673 * gnulib/getdelim.c: Likewise.
26674 * gnulib/getline.c: Likewise.
26675 * gnulib/getopt.c: Likewise.
26676 * gnulib/getopt1.c: Likewise.
26677 * gnulib/getopt_int.h: Likewise.
26678 * gnulib/gettext.h: Likewise.
26679 * gnulib/progname.c: Likewise.
26680 * gnulib/progname.h: Likewise.
26681
26682 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
26683
26684 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
26685 which is the case with --disabled-nls.
26686
26687 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
26688 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
26689 * util/misc.c: Likewise.
26690 * util/mkisofs/mkisofs.c: Likewise.
26691 * util/mkisofs/mkisofs.h: Likewise.
26692
26693 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
26694
26695 Simplify Apple CC support.
26696
26697 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
26698 Add 0 byte at the end not to have a symbol with empty target.
26699 * mmap/i386/pc/mmap_helper.S: Likewise.
26700 * genmk.rb: Ignore errors 2030 and 2050.
26701 * kern/i386/pc/startup.S: Use LOCAL when possible.
26702
26703 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
26704
26705 Testcase and the fix for final semicolon on cmdline.
26706
26707 * tests/grub_script_final_semicolon.in: New testcase.
26708 * conf/tests.rmk: Rules for the new testcase.
26709 * script/parser.y: Grammar fix.
26710
26711 2010-03-26 BVK Chaitanya <bvk@localhost>
26712
26713 Blank lines testcase for GRUB script.
26714
26715 * tests/grub_script_blanklines.in: New testcase.
26716 * conf/tests.rmk: Rules for the new testcase.
26717
26718 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
26719
26720 Don't use __FILE__.
26721
26722 * genmk.rb: Add -DGRUB_FILE to all C targets.
26723 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
26724 * include/grub/list.h: Likewise.
26725 * include/grub/misc.h: Likewise.
26726 * include/grub/mm.h: Likewise.
26727 * include/grub/test.h: Likewise.
26728 * kern/mm.c: Likewise.
26729 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
26730
26731 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
26732
26733 Sunpc partitions support.
26734
26735 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
26736 (grub_fstest_SOURCES): Likewise.
26737 (pkglib_MODULES): Add part_sunpc.mod.
26738 (part_sunpc_mod_SOURCES): New variable.
26739 (part_sunpc_mod_CFLAGS): Likewise.
26740 (part_sunpc_mod_LDFLAGS): Likewise.
26741 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
26742 * partmap/sunpc.c: New file.
26743
26744 2010-03-26 BVK Chaitanya <bvk@localhost>
26745
26746 For loop support to GRUB script.
26747
26748 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
26749 (grub_script_create_cmdfor): New function prototype.
26750 (grub_script_execute_cmdfor): New function prototype.
26751 * script/execute.c (grub_script_execute_cmdfor): New function.
26752 * script/parser.y (command): New for command.
26753 (forcmd): New grammar rule.
26754 * script/script.c (grub_script_create_cmdfor): New function.
26755 * util/grub-script-check.c (grub_script_execute_cmdfor): New
26756 function.
26757 * tests/grub_script_for1.in: New testcase.
26758 * conf/tests.rmk: Rules for new testcase.
26759
26760 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
26761
26762 Nested partitions
26763
26764 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
26765 'partition' is NULL, grub_partition_get_start already does that.
26766 * commands/loadenv.c (check_blocklists): Likewise.
26767 (write_blocklists): Likewise.
26768 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
26769 (grub_fstest_SOURCES): Likewise.
26770 (pkglib_MODULES): Add part_bsd.mod.
26771 (part_bsd_mod_SOURCES): New variable.
26772 (part_bsd_mod_CFLAGS): Likewise.
26773 (part_bsd_mod_LDFLAGS): Likewise.
26774 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
26775 (grub_emu_SOURCES): Likewise.
26776 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26777 * include/grub/bsdlabel.h: New file.
26778 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
26779 'get_name'.
26780 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
26781 (grub_partition_map_list): New variable.
26782 (grub_partition_map_register): Inline.
26783 (grub_partition_map_unregister): Likewise.
26784 (FOR_PARTITION_MAPS): New macro.
26785 (grub_partition_map_iterate): Removed.
26786 (grub_partition_get_start): Handle nested partitions.
26787 * include/grub/msdos_partition.h: Remove bsd-related entries.
26788 (grub_pc_partition): Remove.
26789 * kern/disk.c (grub_disk_close): Free partition data.
26790 (grub_disk_adjust_range): Handle nested partitions.
26791 * kern/partition.c (grub_partition_map_probe): New function.
26792 (grub_partition_probe): Parse name to number, handle subpartitions.
26793 (get_partmap): New function.
26794 (grub_partition_iterate): Handle subpartitions.
26795 (grub_partition_get_name): Likewise.
26796 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
26797 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
26798 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
26799 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
26800 Set 'number'.
26801 (acorn_partition_map_probe): Remove.
26802 (acorn_partition_map_get_name): Likewise.
26803 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
26804 Set 'number'.
26805 Set 'index' to 0 since there can be only one partition entry per sector.
26806 (amiga_partition_map_probe): Remove.
26807 (amiga_partition_map_get_name): Likewise.
26808 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
26809 Set 'number'.
26810 Set 'offset' and 'index' to real positions of partitions.
26811 (apple_partition_map_probe): Remove.
26812 (apple_partition_map_get_name): Likewise.
26813 * partmap/bsdlabel.c: New file.
26814 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
26815 Set 'number'.
26816 Allocate 'data' so it can be correctly freed.
26817 Set 'index' to offset inside sector.
26818 (gpt_partition_map_probe): Remove.
26819 (gpt_partition_map_get_name): Likewise.
26820 * partmap/msdos.c (grub_partition_parse): Remove.
26821 (pc_partition_map_iterate): Don't force raw access.
26822 Set 'number'.
26823 Make 'ext_offset' a local variable.
26824 (pc_partition_map_probe): Remove.
26825 (pc_partition_map_get_name): Remove.
26826 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
26827 Set 'number'.
26828 (sun_partition_map_probe): Remove.
26829 (sun_partition_map_get_name): Likewise.
26830 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
26831 (grub_pcpart_type): Likewise.
26832 * util/hostdisk.c (open_device): Handle new numbering scheme.
26833 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
26834 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
26835 * util/grub-probe.c (probe_partmap): Handle nested paritions.
26836 * util/grub-install.in: Insert all subpartition modules.
26837 * util/ieee1275/grub-install.in: Likewise.
26838
26839 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
26840
26841 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
26842 grammar.
26843
26844 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
26845
26846 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
26847
26848 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
26849
26850 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
26851 match where 'make install' puts them.
26852 * util/i386/efi/grub-install.in: Likewise.
26853
26854 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
26855
26856 * .bzrignore: Add gentrigtables, grub-script-check,
26857 grub_script_check_init.c, grub_script_check_init.h, and
26858 trigtables.c.
26859
26860 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
26861
26862 * kern/parser.c: Indented.
26863
26864 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
26865
26866 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
26867
26868 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
26869
26870 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
26871 alpha_mask_size == 0 case.
26872
26873 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
26874
26875 GRUB shell lexer and parser improvements.
26876
26877 * conf/any-emu.rmk: Build rule updates.
26878 * conf/common.rmk: Likewise.
26879 * conf/i386-coreboot.rmk: Likewise.
26880 * conf/i386-efi.rmk: Likewise.
26881 * conf/i386-ieee1275.rmk: Likewise.
26882 * conf/i386-pc.rmk: Likewise.
26883 * conf/powerpc-ieee1275.rmk: Likewise.
26884 * conf/x86_64-efi.rmk: Likewise.
26885
26886 * configure.ac: Configure check for flex.
26887
26888 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
26889 types.
26890 (grub_lexer_param): Struct member updates.
26891 (grub_parser_param): Likewise.
26892 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
26893 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
26894 (grub_script_lexer_init): Prototype update.
26895 (grub_script_lexer_record_start): Likewise.
26896 (grub_script_lexer_record_stop): Likewise.
26897 (grub_script_lexer_yywrap): New function prototype.
26898 (grub_script_lexer_fini): Likewise.
26899 (grub_script_execute_argument_to_string): Removed by...
26900 (grub_script_execute_argument_to_argv): ...better version.
26901
26902 * script/execute.c (ROUND_UPTO): New macro.
26903 (grub_script_execute_cmdline): Out of memory fixes.
26904 (grub_script_execute_menuentry): Likewise.
26905 (grub_script_execute_argument_to_string): Removed. Update all
26906 users by...
26907 (grub_script_execute_argument_to_argv): ...better version.
26908 * script/function.c (grub_script_function_create): Use
26909 grub_script_execute_argument_to_argv instead of
26910 grub_script_execute_argument_to_string.
26911
26912 * script/lexer.c (check_varstate): Removed.
26913 (check_textstate): Removed.
26914 (grub_script_lexer_record_start): Likewise.
26915 (grub_script_lexer_record_stop): Likewise.
26916 (recordchar): Replaced with...
26917 (grub_script_lexer_record): ...new function.
26918 (nextchar): Removed.
26919 (grub_script_lexer_init): Rewritten.
26920 (grub_script_yylex): Rewritten.
26921 (append_newline): New function.
26922 (grub_script_lexer_yywrap): New function.
26923 (grub_script_lexer_fini): New function.
26924 (grub_script_yyerror): Sets error flag.
26925
26926 * script/yylex.l: New file.
26927 (grub_lexer_yyfree): Wrapper for flex yyffre.
26928 (grub_lexer_yyalloc): Likewise.
26929 (grub_lexer_yyrealloc): Likewise.
26930 * script/parser.y: Refactored.
26931
26932 * script/script.c (grub_script_arg_add): Out of memory fixes.
26933 (grub_script_add_arglist): Likewise.
26934 (grub_script_create_cmdline): Likewise.
26935 (grub_script_create_cmdmenu): Likewise.
26936 (grub_script_add_cmd): Likewise.
26937 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
26938 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
26939 unnecessary code.
26940
26941 * tests/grub_script_echo1.in: New testcase.
26942 * tests/grub_script_vars1.in: New testcase.
26943 * tests/grub_script_echo_keywords.in: New testcase.
26944
26945 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26946
26947 Remove some redundancy in build system.
26948
26949 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
26950 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
26951 (TARGET_LDFLAGS): Add -nostdlib.
26952 (TARGET_IMG_LDFLAGS): Likewise.
26953 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
26954 anything since mmap isn't available.
26955 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
26956 Add util/time.c.
26957 (pkglib_MODULES): Remove reboot.mod.
26958 (reboot_mod_SOURCES): Removed.
26959 (reboot_mod_CFLAGS): Likewise.
26960 (reboot_mod_LDFLAGS): Likewise.
26961 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
26962 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
26963 (DEFSYMFILES): Add kernel_syms.lst.
26964 (kernel_img_HEADERS): Add common headers.
26965 (symlist.c): New target.
26966 (kernel_syms.lst): Likewise.
26967 (pkglib_MODULES): Add memdisk.mod.
26968 (memdisk_mod_SOURCES): New variable.
26969 (memdisk_mod_CFLAGS): Likewise.
26970 (memdisk_mod_LDFLAGS): Likewise.
26971 (pkglib_MODULES): Add reboot.mod.
26972 (reboot_mod_SOURCES): New variable.
26973 (reboot_mod_CFLAGS): Likewise.
26974 (reboot_mod_LDFLAGS): Likewise.
26975 (pkglib_MODULES): Add date.mod.
26976 (date_mod_SOURCES): New variable.
26977 (date_mod_CFLAGS): Likewise.
26978 (date_mod_LDFLAGS): Likewise.
26979 (pkglib_MODULES): Add datehook.mod.
26980 (datehook_mod_SOURCES): New variable.
26981 (datehook_mod_CFLAGS): Likewise.
26982 (datehook_mod_LDFLAGS): Likewise.
26983 (pkglib_MODULES): Add lsmmap.mod.
26984 (lsmmap_mod_SOURCES): New variable.
26985 (lsmmap_mod_CFLAGS): Likewise.
26986 (lsmmap_mod_LDFLAGS): Likewise.
26987 (pkglib_MODULES): Add boot.mod.
26988 (boot_mod_SOURCES): New variable.
26989 (boot_mod_CFLAGS): Likewise.
26990 (boot_mod_LDFLAGS): Likewise.
26991 * conf/i386-coreboot.rmk: Removed redundant parts.
26992 * conf/i386-ieee1275.rmk: Likewise.
26993 * conf/i386-pc.rmk: Likewise.
26994 * conf/mips-yeeloong.rmk: Likewise.
26995 * conf/mips.rmk: Likewise.
26996 * conf/powerpc-ieee1275.rmk: Likewise.
26997 * conf/sparc64-ieee1275.rmk: Likewise.
26998 * conf/x86_64-efi.rmk: Likewise.
26999 * conf/i386-coreboot.rmk: Moved qemu parts ..
27000 * conf/i386-qemu.rmk: ... here
27001 * conf/i386-efi.rmk: Moved common parts to...
27002 * conf/x86-efi.rmk: ... here.
27003 * conf/i386.rmk: Added modules common to all x86 variants.
27004 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
27005 * disk/memdisk.c: Remove grub/machine/kernel.h.
27006 * gensymlist.sh.in: Include symbol.h.
27007 * hook/datehook.c: Correct module name.
27008 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
27009 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
27010 * include/grub/i386/efi/serial.h: New file.
27011 * include/grub/x86_64/efi/serial.h: Likewise.
27012 * util/time.c: Likewise.
27013 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
27014
27015 2010-03-14 Colin King <colin.king@ubuntu.com>
27016 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
27017
27018 Shrink the pre-partition-table part of boot.img by eight bytes.
27019
27020 * boot/i386/pc/boot.S (ERR): New macro.
27021 (chs_mode): Use ERR.
27022 (geometry_error): Likewise.
27023 (hd_probe_error): Remove. This is only used once, so we wrwite
27024 it inline instead.
27025 (read_error): Instead of printing read_error_string, just set up
27026 %si and fall through to ...
27027 (error_message): ... this new function, also used by ERR.
27028
27029 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
27030
27031 Speed up consecutive hostdisk operations on the same device.
27032
27033 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
27034 (grub_util_biosdisk_open): Initialise disk->data.
27035 (struct linux_partition_cache): New structure.
27036 (linux_find_partition): Cache partition start positions; these are
27037 expensive to compute on every read and write.
27038 (open_device): Cache open file descriptor in disk->data, so that we
27039 don't have to reopen it and flush the buffer cache for consecutive
27040 operations on the same device.
27041 (grub_util_biosdisk_close): New function.
27042 (grub_util_biosdisk_dev): Set `close' member.
27043
27044 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
27045 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
27046 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27047 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
27048 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
27049
27050 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27051
27052 Compile parts of grub-emu as modules.
27053
27054 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
27055 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
27056 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
27057 (all-local): Add $(GRUB_EMU).
27058 (install-local): Install $(GRUB_EMU).
27059 (uninstall): Uninstall $(GRUB_EMU).
27060 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
27061 * kern/dl.c: Likewise.
27062 * commands/sleep.c: Not include machine/time.h.
27063 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
27064 (COMMON_CFLAGS): Likewise.
27065 (sbin_UTILITIES): Remove grub-emu.
27066 (grub_emu_SOURCES): Removed.
27067 (kernel_img_RELOCATABLE): New variable.
27068 (pkglib_PROGRAMS): Add kernel.img.
27069 (kernel_img_SOURCES): New variable
27070 (kernel_img_CFLAGS): Likewise.
27071 (kernel_img_LDFLAGS): Likewise.
27072 (TARGET_NO_STRIP): Likewise.
27073 (TARGET_NO_DYNAMIC_MODULES): Likewise.
27074 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
27075 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
27076 (grub-emu): New target.
27077 (GRUB_EMU): New variable.
27078 * configure.ac: Whitelist -emu as possible x86_64 architecture.
27079 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
27080 * loader/xnu.c: Likewise.
27081 * include/grub/pci.h: Likewise.
27082 * genemuinit.sh: New file.
27083 * genemuinitheader.sh: Likewise.
27084 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
27085 Support TARGET_NO_DYNAMIC_MODULES.
27086 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
27087 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
27088 * disk/loopback.c: Likewise.
27089 * font/font_cmd.c: Likewise.
27090 * partmap/acorn.c: Likewise.
27091 * partmap/amiga.c: Likewise.
27092 * partmap/apple.c: Likewise.
27093 * partmap/gpt.c: Likewise.
27094 * partmap/msdos.c: Likewise.
27095 * partmap/sun.c: Likewise.
27096 * parttool/msdospart.c: Likewise.
27097 * term/gfxterm.c: Likewise.
27098 * video/bitmap.c: Likewise.
27099 * video/readers/jpeg.c: Likewise.
27100 * video/readers/png.c: Likewise.
27101 * video/readers/tga.c: Likewise.
27102 * video/video.c: Likewise.
27103 * util/grub-emu.c (read_command_list): Removed.
27104 (main): Don't call util_init_nls.
27105 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
27106 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
27107
27108 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27109
27110 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
27111 date.mod, datehook.mod.
27112 (datetime_mod_SOURCES): New variable.
27113 (datetime_mod_CFLAGS): Likewise.
27114 (datetime_mod_LDFLAGS): Likewise.
27115 (date_mod_SOURCES): Likewise.
27116 (date_mod_CFLAGS): Likewise.
27117 (date_mod_LDFLAGS): Likewise.
27118 (datehook_mod_SOURCES): Likewise.
27119 (datehook_mod_CFLAGS): Likewise.
27120 (datehook_mod_LDFLAGS): Likewise.
27121 * conf/sparc64-ieee1275.rmk: Likewise.
27122 * lib/ieee1275/datetime.c: New file.
27123
27124 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27125
27126 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
27127 (ieee1275_fb_mod_SOURCES): New variable.
27128 (ieee1275_fb_mod_CFLAGS): Likewise.
27129 (ieee1275_fb_mod_LDFLAGS): Likewise.
27130 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
27131 New proto.
27132 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
27133 (HEAP_MAX_ADDR): Likewise.
27134 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
27135 type.
27136 Correct stop condition.
27137 (grub_ieee1275_devices_iterate): New function.
27138 * video/ieee1275.c: New file.
27139
27140 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27141
27142 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
27143
27144 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
27145 as scratch.
27146 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
27147 SCRATCH_PAD_DISKBOOT as scratch.
27148 (bootit): Pass Openfirmware pointer in %o4.
27149 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
27150 of 0x200000.
27151 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
27152 with util/grub-mkrawimage.c.
27153 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
27154 * include/grub/aout.h (AOUT_MID_SUN): New definition.
27155 (grub_aout_get_type) [GRUB_UTIL]: Removed.
27156 (grub_aout_load) [GRUB_UTIL]: Likewise.
27157 * include/grub/kernel.h (grub_modules_get_end): New proto.
27158 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
27159 (SCRATCH_PAD_BOOT): New definition.
27160 (SCRATCH_PAD_DISKBOOT): Likewise.
27161 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
27162 * include/grub/sparc64/ieee1275/ieee1275.h
27163 (grub_ieee1275_original_stack): New variable
27164 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
27165 New definition
27166 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
27167 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
27168 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
27169 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
27170 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
27171 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
27172 (grub_platform_image_format_t): New type.
27173 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
27174 * kern/main.c (grub_modules_get_end)
27175 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
27176 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
27177 (codestart): Switch stacks.
27178 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
27179 variable.
27180 (grub_heap_init): Use grub_modules_get_end.
27181 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
27182 stack.
27183 * util/grub-mkrawimage.c (generate_image): Support sparc64.
27184 (main): Likewise.
27185 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
27186
27187 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
27188
27189 * util/grub-mkrescue.in: Base ISO UUID on UTC.
27190
27191 2010-03-08 Matt Kraai <kraai@ftbfs.org>
27192
27193 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
27194 bug #559005).
27195
27196 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
27197
27198 * genmoddep.awk: Output all missing symbols and not only first.
27199
27200 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27201
27202 * NEWS: Put the date of 1.98 release.
27203
27204 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27205
27206 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
27207 ft2build.h.
27208
27209 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27210
27211 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
27212 completition in the middle of string.
27213
27214 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27215
27216 * util/grub-mkrescue.in: Use mktemp with explicit template.
27217
27218 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27219
27220 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
27221
27222 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27223
27224 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
27225 right pointer.
27226
27227 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
27228
27229 Fix FreeBSD compilation.
27230
27231 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
27232 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
27233
27234 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
27235
27236 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
27237
27238 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27239
27240 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
27241
27242 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27243
27244 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
27245
27246 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
27247
27248 Support relative image path in theme file.
27249
27250 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
27251 (image_set_property): Handle theme_dir and relative path.
27252
27253 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27254
27255 * configure.ac: Alias amd64 to x86_64.
27256
27257 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27258
27259 * NEWS: mention multiboot on EFI.
27260
27261 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27262
27263 * kern/main.c (grub_load_modules): Handle errors from init functions of
27264 embeded modules.
27265
27266 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27267
27268 * normal/autofs.c (autoload_fs_module): Handle errors.
27269
27270 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27271
27272 Disable linux.mod on qemu-mips since it's not functional and leads
27273 to compilation failure.
27274
27275 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
27276 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
27277 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
27278 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
27279 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
27280 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
27281 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
27282 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
27283 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
27284 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
27285 Reported by: BVK Chaitanya
27286
27287 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
27288
27289 * INSTALL: Add gettext as a dependency and add qemu to a new section
27290 "Prerequisites for make-check".
27291
27292 2010-03-04 Christian Franke <franke@computer.org>
27293
27294 * util/grub-pe2elf.c: Add missing include "progname.h".
27295
27296 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27297
27298 * normal/crypto.c (read_crypto_list): Fix a typo.
27299 Reported by: Seth Goldberg.
27300
27301 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27302
27303 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
27304 Reported by: Seth Goldberg.
27305
27306 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27307
27308 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
27309 ascii.bitmaps.
27310
27311 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27312
27313 * genmk.rb: Remove terminal*.lst in make clean.
27314 Reported by: Seth Goldberg.
27315
27316 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27317
27318 * util/i386/efi/grub-install.in: Copy gettext files.
27319
27320 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27321
27322 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
27323
27324 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27325
27326 Wait for user entry basing on presence of output rather than on errors.
27327
27328 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
27329 (grub_install_newline_hook): Likewise.
27330 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
27331 * normal/menu.c (show_menu): Check line_counter to determine presence
27332 of output.
27333 * normal/term.c (grub_normal_line_counter): New variable.
27334 (grub_normal_get_line_counter): New function.
27335 (grub_install_newline_hook): Likewise.
27336
27337 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27338
27339 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
27340
27341 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27342
27343 * configure.ac: Update version to 1.98.
27344
27345 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
27346
27347 * util/grub.d/10_linux.in (linux_entry): Don't default to
27348 gfxpayload=keep if Linux doesn't support video handover.
27349
27350 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
27351
27352 Don't compile video modules on yeeloong since video subsystem is part
27353 of kernel.
27354
27355 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
27356 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
27357 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
27358 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
27359 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
27360 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
27361 * include/grub/bitmap_scale.h: Likewise.
27362 * include/grub/bufio.h: Likewise.
27363 * include/grub/font.h: Likewise.
27364 * include/grub/gfxterm.h: Likewise.
27365 * include/grub/video.h: Likewise.
27366 * include/grub/vbe.h: Don't include video_fb.h.
27367 * video/i386/pc/vbe.c: Include video_fb.h.
27368 * commands/i386/pc/vbetest.c: Include video.h.
27369
27370 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
27371
27372 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
27373 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
27374 default entry if GRUB_SAVEDEFAULT=true. This allows using
27375 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
27376 saving a new default on every boot.
27377
27378 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
27379
27380 * normal/crypto.c (read_crypto_list): Fix a memory leak.
27381 * normal/term.c (read_terminal_list): Likewise.
27382 * normal/main.c (grub_normal_init_page): Likewise.
27383 (grub_normal_read_line_real): Likewise.
27384
27385 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
27386
27387 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
27388 memory leak.
27389 Reported by: Seth Goldberg.
27390
27391 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
27392
27393 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
27394 duplicate declaration of `start'.
27395
27396 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
27397
27398 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
27399 filename.
27400 Reported by: Georgy Buranov
27401
27402 2010-02-20 Carles Pina i Estany <carles@pina.cat>
27403
27404 * util/grub-mkrawimage.c (usage): Change string formatting to
27405 improve gettext.
27406
27407 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
27408
27409 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
27410 backspace keys.
27411
27412 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
27413
27414 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
27415 Reported by: Michael Suchanek.
27416
27417 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
27418
27419 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
27420 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
27421
27422 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
27423
27424 Remove any reference to non-free fonts.
27425
27426 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
27427 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
27428 uses non-free components.
27429 * font/font.c (grub_font_get_name): Remove example name.
27430 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
27431 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
27432 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
27433 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
27434
27435 2010-02-16 Georgy Buranov <gburanov@gmail.com>
27436
27437 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
27438
27439 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
27440
27441 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
27442 Double divisor.
27443 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
27444 features.
27445 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
27446
27447 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
27448
27449 * gensymlist.sh.in: Use TARGET_CC instead of CC.
27450
27451 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
27452
27453 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
27454 * docs/grub.texi (Command-line and menu entry commands): Document play
27455 command.
27456
27457 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
27458
27459 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
27460 parse arguments as inline tempo and notes. Move code for playing notes
27461 to...
27462 (play): ... new function.
27463
27464 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
27465
27466 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
27467 grub_uint16_t instead of short.
27468 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
27469 disk from little endian to cpu endianness.
27470
27471 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
27472
27473 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
27474 GRUB_TICKS_PER_SECOND instead of 120.
27475
27476 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27477
27478 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
27479 escape sequence after \e.
27480
27481 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27482
27483 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
27484 non-ASCII characters.
27485
27486 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27487
27488 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
27489 set root in single quotes to prevent \, from being unescaped.
27490
27491 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27492
27493 Prevent unknown commands from stopping menuentry execution.
27494
27495 * script/execute.c (grub_script_execute_cmdline): Print error after
27496 unknown command.
27497
27498 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27499
27500 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
27501 Reported by: Pavel Pisa.
27502
27503 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27504
27505 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
27506
27507 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27508
27509 Merge grub_ieee1275_map_physical into grub_map and rename to
27510 grub_ieee1275_map
27511
27512 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
27513 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
27514 Remove.
27515 * kern/ieee1275/openfw.c (grub_map): Rename to ...
27516 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
27517 necessary.
27518 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
27519
27520 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27521
27522 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
27523 opening and not after.
27524
27525 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27526
27527 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
27528 constants.
27529
27530 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27531
27532 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
27533 (alloc_phys): Use ALIGN_UP instead of align_addr.
27534
27535 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27536
27537 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
27538
27539 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27540
27541 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
27542
27543 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27544
27545 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
27546 verbose dprintf.
27547
27548 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27549
27550 Fix over-4GiB seek on sparc64.
27551
27552 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
27553 Replace pos_i and pos_lo with pos. All users updated.
27554 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
27555 New constant.
27556 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
27557 Likewise.
27558 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
27559 and pos_lo.
27560
27561 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27562
27563 * util/grub-mkrawimage.c (main): Call set_program_name.
27564
27565 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27566
27567 Properly align 64-bit targets.
27568
27569 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
27570 (generate_image): Use ALIGN_ADDR.
27571
27572 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27573
27574 Properly create cross-endian images.
27575
27576 * include/grub/types.h (grub_host_to_target_addr): New macro
27577 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
27578
27579 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27580
27581 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
27582
27583 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
27584
27585 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
27586
27587 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
27588 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
27589 (grub_linux_boot): Divide by 64K when on VESA.
27590
27591 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
27592
27593 Support GRUB_GFXPAYLOAD_LINUX.
27594
27595 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
27596 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
27597
27598 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
27599
27600 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
27601 to show messages instead of discarding them.
27602 Process errors after executing command and not before. Keep old method
27603 too as precaution.
27604
27605 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
27606
27607 * configure.ac: Check for ft2build.h.
27608
27609 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27610
27611 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
27612
27613 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27614
27615 * genkernsyms.sh.in: Use TARGET_CC.
27616
27617 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
27618
27619 * NEWS: Update.
27620
27621 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27622
27623 * include/grub/multiboot2.h: Remove leftover file.
27624 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
27625 * include/grub/partition.h [GRUB_UTIL]: Likewise.
27626
27627 2010-02-07 Yves Blusseau <blusseau@zetam.org>
27628
27629 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
27630
27631 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27632
27633 Fix warnings in grub-emu when compiling with maximum warning options.
27634
27635 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
27636 (grub_arch_modules_addr): Return 0 and not NULL.
27637 * util/misc.c (ENABLE_RELOCATABLE): New definition.
27638 (xstrdup): Use newstr instead of dup.
27639 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
27640 of disk to dsk to avoid shadowing.
27641 (find_free_slot): Fix prototype.
27642 * util/getroot.c (grub_util_is_dmraid): Make static.
27643 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
27644 Add missing prototype.
27645 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
27646
27647 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27648
27649 * loader/i386/linux.c (grub_linux_setup_video): Handle error
27650 appropriately.
27651
27652 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27653
27654 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
27655 code out.
27656
27657 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27658
27659 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
27660 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
27661 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
27662 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
27663 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
27664 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
27665
27666 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27667
27668 * include/grub/err.h (grub_err_printf): Don't export.
27669
27670 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27671
27672 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
27673
27674 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27675
27676 * include/grub/i18n.h (grub_gettext_dummy): Removed.
27677 * kern/misc.c (grub_gettext_dummy): Make static.
27678
27679 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27680
27681 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
27682 by non-valid ones.
27683 * kern/term.c (grub_putchar): Likewise.
27684
27685 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27686
27687 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
27688 buggy hook call and memory leak.
27689
27690 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27691
27692 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
27693
27694 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27695
27696 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
27697
27698 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27699
27700 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
27701 modevar.
27702 Return grub_errno on allocation error.
27703
27704 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27705
27706 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
27707
27708 2010-02-06 Yves Blusseau <blusseau@zetam.org>
27709
27710 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
27711 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
27712
27713 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27714
27715 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
27716 non-pxe disk.
27717 (grub_pxefs_open): Likewise.
27718
27719 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
27720
27721 * util/grub.d/10_hurd.in: Add --class information to menuentries.
27722 * util/grub.d/10_kfreebsd.in: Likewise.
27723 * util/grub.d/10_linux.in: Likewise.
27724
27725 2010-02-06 Colin D Bennett <colin@gibibit.com>
27726
27727 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
27728 (gfxmenu_mod_SOURCES): New variable.
27729 (gfxmenu_mod_CFLAGS): Likewise.
27730 (gfxmenu_mod_LDFLAGS): Likewise.
27731 * include/grub/term.h (grub_term_set_current_output): Declare
27732 argument as const.
27733 * docs/gfxmenu-theme-example.txt: New file.
27734 * gfxmenu/gfxmenu.c: Likewise.
27735 * gfxmenu/gui_box.c: Likewise.
27736 * gfxmenu/gui_canvas.c: Likewise.
27737 * gfxmenu/gui_circular_progress.c: Likewise.
27738 * gfxmenu/gui_image.c: Likewise.
27739 * gfxmenu/gui_label.c: Likewise.
27740 * gfxmenu/gui_list.c: Likewise.
27741 * gfxmenu/gui_progress_bar.c: Likewise.
27742 * gfxmenu/gui_string_util.c: Likewise.
27743 * gfxmenu/gui_util.c: Likewise.
27744 * gfxmenu/icon_manager.c: Likewise.
27745 * gfxmenu/model.c: Likewise.
27746 * gfxmenu/named_colors.c: Likewise.
27747 * gfxmenu/theme_loader.c: Likewise.
27748 * gfxmenu/view.c: Likewise.
27749 * gfxmenu/widget-box.c: Likewise.
27750 * include/grub/gfxmenu_model.h: Likewise.
27751 * include/grub/gfxmenu_view.h: Likewise.
27752 * include/grub/gfxwidgets.h: Likewise.
27753 * include/grub/gui.h: Likewise.
27754 * include/grub/gui_string_util.h: Likewise.
27755 * include/grub/icon_manager.h: Likewise.
27756
27757 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27758
27759 Agglomerate scrolling in gfxterm.
27760
27761 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
27762 (grub_virtual_screen_setup): Initialise 'total_screen'.
27763 (write_char): Split to ...
27764 (paint_char): ... this ...
27765 (write_char): ... and this.
27766 (paint_char): Handle delayed scrolling.
27767 (draw_cursor): Likewise.
27768 (scroll_up): Split to ...
27769 (real_scroll): ... this ...
27770 (scroll_up): ... and this.
27771 (real_scroll): Handle multi-line scroll and draw below-the-bottom
27772 characters.
27773 (grub_gfxterm_refresh): Call real_scroll.
27774
27775 2010-02-06 Colin D Bennett <colin@gibibit.com>
27776
27777 * include/grub/misc.h (grub_iscntrl): New inline function.
27778 (grub_isalnum): Likewise.
27779 (grub_strtol): Likewise.
27780
27781 2010-02-06 Colin D Bennett <colin@gibibit.com>
27782
27783 * normal/menu_text.c (get_entry_number): Move from here ...
27784 * normal/menu.c (get_entry_number): ... moved here.
27785 * include/grub/menu.h (grub_menu_get_default_entry_index):
27786 New prototype.
27787 * normal/menu.c (grub_menu_get_default_entry_index): New function.
27788 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
27789 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
27790 (grub_menu_viewer_should_return): Likewise.
27791 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
27792 * normal/menu_text.c (run_menu): Enable menu switching.
27793 * normal/menu_viewer.c (should_return): New variable.
27794 (menu_viewer_changed): Likewise.
27795 (grub_menu_viewer_show_menu): Handle menu viewer changes.
27796 (grub_menu_viewer_should_return): New function.
27797 (menuviewer_write_hook): Likewise.
27798 (grub_menu_viewer_init): Likewise.
27799
27800 2010-02-06 Colin D Bennet <colin@gibibit.com>
27801 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27802
27803 Support for gfxterm in a window.
27804
27805 * include/grub/gfxterm.h: New file.
27806 * include/grub/video.h (struct grub_video_rect): New declaration.
27807 (grub_video_rect_t): Likewise.
27808 * term/gfxterm.c (struct grub_gfxterm_window): New type.
27809 (refcount): New variable.
27810 (render_target): Likewise.
27811 (window): Likewise.
27812 (repaint_callback): Likewise.
27813 (grub_virtual_screen_setup): Use 'render_target'.
27814 (init_window): New function.
27815 (grub_gfxterm_init_window): Likewise.
27816 (grub_gfxterm_init): Check reference counter.
27817 Use init_window.
27818 (destroy_window): New function.
27819 (grub_gfxterm_destroy_window): Likewise.
27820 (grub_gfxterm_fini): Check reference counter.
27821 Use destroy_window.
27822 (redraw_screen_rect): Restore viewport.
27823 Use 'render_target' and 'window'.
27824 Call 'repaint_callback'.
27825 (write_char): Use 'render_target'.
27826 (draw_cursor): Likewise.
27827 (scroll_up): Restore viewport.
27828 Use 'render_target' and 'window'.
27829 Call 'repaint_callback'.
27830 (grub_gfxterm_cls): Likewise.
27831 (grub_gfxterm_refresh): Use 'window'.
27832 (grub_gfxterm_set_repaint_callback): New function.
27833 (grub_gfxterm_background_image_cmd): Use 'window'.
27834 (grub_gfxterm_get_term): New function.
27835 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
27836
27837 2010-02-06 Colin D Bennett <colin@gibibit.com>
27838
27839 Bitmap scaling support.
27840
27841 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
27842 (bitmap_scale_mod_SOURCES): New variable.
27843 (bitmap_scale_mod_CFLAGS): Likewise.
27844 (bitmap_scale_mod_LDFLAGS): Likewise.
27845 * include/grub/bitmap_scale.h: New file.
27846 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
27847 (background_image_cmd_options): New variable.
27848 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
27849 (cmd): Rename and change type to ...
27850 (background_image_cmd_handle): ... this. All users updated.
27851 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
27852 * video/bitmap_scale.c: New file.
27853
27854 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27855
27856 SDL support.
27857
27858 * Makefile.in (LIBSDL): New variable.
27859 (enable_grub_emu_sdl): Likewise.
27860 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
27861 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
27862 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
27863 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
27864 * util/sdl.c: New file.
27865
27866 2010-02-06 Colin D Bennett <colin@gibibit.com>
27867 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27868
27869 Double buffering support.
27870
27871 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
27872 * include/grub/video.h: Update comment.
27873 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
27874 New type.
27875 (grub_video_fb_doublebuf_blit_init): New prototype.
27876 * term/gfxterm.c (scroll_up): Support double buffering.
27877 (grub_gfxterm_refresh): Likewise.
27878 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
27879 (grub_video_fb_doublebuf_blit_init): Likewise.
27880 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
27881 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
27882 'displayed_page', 'render_page' and 'update_screen'.
27883 (grub_video_vbe_fini): Free offscreen buffer.
27884 (doublebuf_pageflipping_commit): New function.
27885 (doublebuf_pageflipping_update_screen): Likewise.
27886 (doublebuf_pageflipping_init): Likewise.
27887 (double_buffering_init): Likewise.
27888 (grub_video_vbe_setup): Enable doublebuffering.
27889 (grub_video_vbe_swap_buffers): Implement.
27890 (grub_video_vbe_set_active_render_target): Handle double buffering.
27891 (grub_video_vbe_get_active_render_target): Likewise.
27892 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
27893 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
27894 (grub_video_vbe_enable_double_buffering): Likewise.
27895 (grub_video_vbe_swap_buffers): Use update_screen.
27896 (grub_video_set_mode): Use double buffering.
27897
27898 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
27899
27900 * maintainance/gentrigtables.py: Remove.
27901 * lib/trig.c: Likewise.
27902
27903 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
27904
27905 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
27906 `trigtables.c'.
27907 (trigtables.c): New rule.
27908 (gentrigtables): Likewise.
27909 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
27910
27911 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
27912
27913 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
27914 integer constants.
27915
27916 2010-02-06 Colin D Bennet <colin@gibibit.com>
27917
27918 Trigonometry support.
27919
27920 * include/grub/trig.h: New file.
27921 * lib/trig.c: Likewise.
27922 * maintainance/gentrigtables.py: Likewise.
27923 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
27924 (trig_mod_SOURCES): New variable.
27925 (trig_mod_CFLAGS): Likewise.
27926 (trig_mod_LDFLAGS): Likewise.
27927
27928 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27929
27930 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
27931 disk devices.
27932
27933 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27934
27935 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
27936 error.
27937
27938 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
27939
27940 * util/hostdisk.c (open_device): Don't use partition device when reading
27941 before the partition.
27942 (grub_util_biosdisk_read): Don't read from partition and before the
27943 partition in single operation.
27944 (grub_util_biosdisk_write): Don't write to partition and before the
27945 partition in single operation.
27946
27947 2010-02-03 Torsten Landschoff <torsten@debian.org>
27948
27949 * kern/disk.c (grub_disk_read): Fix offset computation when reading
27950 last sectors.
27951
27952 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
27953
27954 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
27955 CDROM reads.
27956 (grub_biosdisk_write): Refuse to write to CDROM.
27957
27958 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
27959
27960 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
27961
27962 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
27963
27964 * font/font.c (find_glyph): Check that bmp_idx is available before
27965 using it.
27966 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
27967 with (font == NULL).
27968
27969 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
27970
27971 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
27972
27973 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
27974
27975 * include/grub/script_sh.h (sourcecode): Add const qualifier.
27976 * util/grub-script-check.c (getline): Fix empty lines case.
27977
27978 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
27979
27980 * Makefile.in (check): Exit with fail status when one of the tests
27981 fails.
27982 * tests/example_functional_test.c (example_test): Fix reversed assert.
27983 * tests/example_unit_test.c (example_test): Likewise.
27984
27985 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
27986
27987 * util/grub.d/10_linux.in: This script does not use any of the
27988 contents of gettext.sh, only the external command `gettext', so stop
27989 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
27990 the same prefix as GRUB.)
27991 * util/grub.d/10_kfreebsd.in: Likewise.
27992
27993 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
27994
27995 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
27996 of the line.
27997
27998 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
27999
28000 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28001 last sectors.
28002
28003 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28004
28005 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
28006 having a 4KiB and not 32KiB buffer size.
28007
28008 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28009
28010 * util/hostfs.c: Include `<errno.h>'.
28011 (grub_hostfs_read): Handle errors from fseeko() and fread().
28012
28013 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28014
28015 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
28016 loop when using read hooks on files whose size isn't sector-aligned.
28017
28018 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28019
28020 Remove unused parameter.
28021
28022 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
28023 (grub_iso9660_open): Remove initialization of `data->length'.
28024
28025 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28026
28027 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
28028 memleak conditions.
28029
28030 2010-01-27 Carles Pina i Estany <carles@pina.cat>
28031
28032 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
28033 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
28034
28035 2010-01-26 Carles Pina i Estany <carles@pina.cat>
28036
28037 * util/bin2h.c (usage): Fix warning (space after backslash).
28038
28039 2010-01-26 Carles Pina i Estany <carles@pina.cat>
28040
28041 * font/font.c: Include `grub/fontformat.h.
28042 Remove font file format constants.
28043 (grub_font_load): Use the new macros.
28044 * include/grub/fontformat.h: New file.
28045 * util/grub-mkfont.c: Include `grub/fontformat.c'.
28046 (write_font_pf2): Use the new macros.
28047
28048 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28049
28050 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
28051 does.
28052
28053 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28054
28055 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
28056
28057 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
28058 (_start): Macroify `0x7F'.
28059
28060 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
28061 (make_install_device): Use "(pxe)" as fallback prefix when booting
28062 via PXE.
28063
28064 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
28065
28066 * configure.ac: Reset LIBS after check for libgcc symbols.
28067
28068 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
28069
28070 * util/hostdisk.c (open_device): Add trailing newline to debug
28071 message.
28072
28073 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
28074
28075 * configure.ac: Check for `limits.h'.
28076 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
28077
28078 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
28079
28080 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
28081 capitalize error strings.
28082
28083 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
28084
28085 * util/grub.d/10_hurd.in: Add a recovery mode.
28086
28087 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
28088
28089 * configure.ac: Check for libgcc symbols with -nostdlib.
28090
28091 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
28092
28093 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
28094
28095 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28096
28097 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
28098 stack since heap may be unavailable at that point.
28099 (grub_ofconsole_gotoxy): Likewise.
28100
28101 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28102
28103 * configure.ac: Check for _restgpr_14_x.
28104 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
28105 and _savegpr_* prototypes.
28106
28107 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
28108
28109 Use generic grub_reboot() for i386-efi.
28110
28111 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
28112 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
28113 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
28114
28115 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28116
28117 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
28118 presence of "prefix" variable as it breaks when normal.mod is
28119 embedded.
28120
28121 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28122
28123 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
28124 stack since heap is unavailable at that point.
28125
28126 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28127
28128 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
28129 (grub_freebsd_bootinfo): Rewritten.
28130 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
28131
28132 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28133
28134 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
28135
28136 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
28137
28138 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
28139 domain now.
28140
28141 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
28142
28143 * util/misc.c (make_system_path_relative_to_its_root): Change the work
28144 around for handling "/" to the correct fix. Fix a memory leak. Use
28145 xstrdup instead of strdup.
28146
28147 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28148
28149 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
28150
28151 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28152
28153 Optimise glyph lookup by Basic Multilingual Plane lookup array.
28154
28155 * font/font.c (struct grub_font): New member 'bmp_idx'.
28156 (font_init): Initialise 'bmp_idx'.
28157 (load_font_index): Fill 'bmp_idx'.
28158 (find_glyph): Make inline. Use bmp_idx for BMP characters.
28159
28160 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28161
28162 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
28163 unnecessary calls.
28164
28165 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28166
28167 Move context handling out of the kernel.
28168
28169 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
28170 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
28171 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
28172 * conf/i386-efi.rmk: Likewise.
28173 * conf/i386-ieee1275.rmk: Likewise.
28174 * conf/i386-pc.rmk: Likewise.
28175 * conf/powerpc-ieee1275.rmk: Likewise.
28176 * conf/sparc64-ieee1275.rmk: Likewise.
28177 * conf/x86_64-efi.rmk: Likewise.
28178 * include/grub/env.h: Include grub/menu.h.
28179 (grub_env_var_type): Removed.
28180 (grub_env_var): Replaced field 'type' with 'global'.
28181 (grub_env_find): New prototype.
28182 (grub_env_context_open): Remove EXPORT_FUNC.
28183 (grub_env_context_close): Likewise.
28184 (grub_env_export): Likewise.
28185 (grub_env_set_data_slot): Removed.
28186 (grub_env_get_data_slot): Likewise.
28187 (grub_env_unset_data_slot): Likewise.
28188 (grub_env_unset_menu): New prototype.
28189 (grub_env_set_menu): Likewise.
28190 (grub_env_get_menu): Likewise.
28191 * include/grub/env_private.h: New file.
28192 * include/grub/normal.h (grub_context_init): New prototype.
28193 (grub_context_fini): Likewise.
28194 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
28195 * normal/context.c (grub_cmd_export): ... to here.
28196 * kern/env.c: Include env_private.h.
28197 (HASHSZ): Moved to include/grub/env_private.h.
28198 (grub_env_context): Likewise.
28199 (grub_env_sorted_var): Likewise.
28200 (current_context): Renamed from this ...
28201 (grub_current_context): ...to this. 'static' removed. All users updated.
28202 (grub_env_find): Removed 'static'.
28203 (grub_env_context_open): Moved to normal/context.c.
28204 (grub_env_context_close): Likewise.
28205 (grub_env_export): Likewise.
28206 (mangle_data_slot_name): Removed.
28207 (grub_env_set_data_slot): Likewise.
28208 (grub_env_get_data_slot): Likewise.
28209 (grub_env_unset_data_slot): Likewise.
28210 * kern/main.c (grub_set_root_dev): Don't export root.
28211 It will be done later.
28212 (grub_main): Don't export prefix.
28213 It will be done later.
28214 * normal/context.c: New file.
28215 * normal/main.c (free_menu): Use grub_env_unset_menu.
28216 (grub_normal_add_menu_entry): Use grub_env_get_menu.
28217 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
28218 (GRUB_MOD_INIT(normal)): Call grub_context_init.
28219 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
28220
28221 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28222
28223 setpci support.
28224
28225 * commands/setpci.c: New file.
28226 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
28227 (setpci_mod_SOURCES): New variable.
28228 (setpci_mod_CFLAGS): Likewise.
28229 (setpci_mod_LDFLAGS): Likewise.
28230
28231 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28232
28233 Byte-addressable PCI configuration space.
28234
28235 * bus/pci.c (grub_pci_make_address): Use byte address instead of
28236 dword address.
28237 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
28238 GRUB_PCI_REG_CACHELINE.
28239 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
28240 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
28241 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
28242 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
28243 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
28244 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
28245 grub_pci_make_address.
28246 (lock_rom_area): Likewise.
28247 * commands/lspci.c (grub_lspci_iter): Use macroses
28248 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
28249 of grub_pci_make_address.
28250 * disk/ata.c (grub_ata_pciinit): Likewise.
28251 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
28252 (GRUB_PCI_REG_VENDOR): Likewise.
28253 (GRUB_PCI_REG_DEVICE): Likewise.
28254 (GRUB_PCI_REG_COMMAND): Likewise.
28255 (GRUB_PCI_REG_STATUS): Likewise.
28256 (GRUB_PCI_REG_REVISION): Likewise.
28257 (GRUB_PCI_REG_CLASS): Likewise.
28258 (GRUB_PCI_REG_CACHELINE): Likewise.
28259 (GRUB_PCI_REG_LAT_TIMER): Likewise.
28260 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
28261 (GRUB_PCI_REG_BIST): Likewise.
28262 (GRUB_PCI_REG_ADDRESSES): Likewise.
28263 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28264 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28265 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28266 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28267 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28268 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28269 (GRUB_PCI_REG_CIS_POINTER): Likewise.
28270 (GRUB_PCI_REG_SUBVENDOR): Likewise.
28271 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
28272 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
28273 (GRUB_PCI_REG_CAP_POINTER): Likewise.
28274 (GRUB_PCI_REG_IRQ_LINE): Likewise.
28275 (GRUB_PCI_REG_IRQ_PIN): Likewise.
28276 (GRUB_PCI_REG_MIN_GNT): Likewise.
28277 (GRUB_PCI_REG_MAX_LAT): Likewise.
28278 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
28279 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
28280 * video/efi_uga.c (find_framebuf): Likewise.
28281 * video/sm712.c (grub_video_sm712_setup): Likewise.
28282 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
28283 space.
28284
28285 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28286
28287 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
28288 can be reliably determined to be supported.
28289
28290 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28291
28292 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
28293 that VESA is supported.
28294 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
28295 supported.
28296
28297 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28298
28299 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
28300
28301 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28302
28303 * util/misc.c (make_system_path_relative_to_its_root): Work around
28304 special-casing of "/", as previous incarnation of this routine did.
28305
28306 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28307
28308 Fix any-emu compilation.
28309
28310 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
28311 * grub_bin2h_SOURCES: New variable.
28312
28313 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28314
28315 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
28316
28317 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28318
28319 * util/grub.d/00_header.in: Fix handling of locale_dir.
28320
28321 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28322
28323 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
28324 as possible unifont location (Gentoo).
28325 Reported by: Alexander Brüning
28326
28327 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28328
28329 Don't try to generate lists for kernel.img.
28330
28331 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
28332 (pkglib_MODULES): Remove kernel.img.
28333 (kernel_img_EXPORTS): Removed.
28334 (kernel_img_RELOCATABLE): New variable.
28335 * conf/x86_64-efi.rmk: Likewise.
28336 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
28337
28338 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28339
28340 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
28341 grub_xasprintf or grub_snprintf.
28342 (grub_vsprintf): Likewise.
28343 (grub_snprintf): New proto.
28344 (grub_vsnprintf): Likewise.
28345 (grub_xasprintf): Likewise.
28346 (grub_xvasprintf): Likewise.
28347 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
28348 (grub_sprintf): Removed.
28349 (grub_vsnprintf): New function.
28350 (grub_snprintf): Likewise.
28351 (grub_xvasprintf): Likewise.
28352 (grub_xasprintf): Likewise.
28353 (grub_vsprintf): Renamed to ...
28354 (grub_vsnprintf_real): ...this. New argument max_len.
28355
28356 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
28357
28358 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
28359 fix grub-script-check warning.
28360
28361 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28362
28363 * include/grub/font.h (grub_font_load): Fix prototype.
28364
28365 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28366
28367 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
28368
28369 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28370
28371 * include/grub/x86_64/at_keyboard.h: New file.
28372
28373 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28374
28375 * loader/mips/linux.c: Include missing grub/i18n.h.
28376
28377 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
28378
28379 * normal/menu.c (notify_execution_failure): Clarify error message.
28380
28381 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
28382
28383 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
28384 return value (and revert all return statements). Update users.
28385
28386 2010-01-20 Dan Merillat <debian@dan.merillat.org>
28387
28388 * kern/device.c (grub_device_iterate): Allocate new part_ent
28389 structure based on sizeof (*p) rather than sizeof (p->next), to
28390 account for structure padding.
28391
28392 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
28393 disk is NULL, which might happen for LVM physical volumes with no
28394 LVM signature.
28395
28396 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
28397
28398 * loader/mips/linux.c (grub_cmd_initrd)
28399 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
28400
28401 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
28402
28403 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
28404 (grub_video_video_init, grub_video_bitmap_init)
28405 (grub_font_manager_init, grub_term_gfxterm_init)
28406 (grub_at_keyboard_init): New extern declarations.
28407 (grub_machine_init): Initialize gfxterm and at_keyboard.
28408
28409 * kern/main.c (grub_main): Revert grub_printf delay kludge.
28410
28411 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
28412 `gfxterm.mod' into core image.
28413
28414 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
28415 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28416 (kernel_img_FORMAT): Copy to ...
28417
28418 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
28419 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28420 (kernel_img_FORMAT): ... here, and ...
28421
28422 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
28423 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28424 (kernel_img_FORMAT): ... here.
28425
28426 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
28427 and input (at_keyboard) terminals in kernel.
28428 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
28429
28430 (pkglib_MODULES): Remove `pci.mod'.
28431 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
28432 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
28433 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
28434 (at_keyboard_mod_LDFLAGS): Remove variables.
28435
28436 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
28437
28438 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
28439
28440 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
28441
28442 * include/grub/mips/libgcc.h: Only export symbols for functions
28443 that libgcc provides.
28444
28445 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
28446
28447 MIPS support.
28448
28449 * bus/bonito.c: New file.
28450 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
28451 GRUB_PCI_NUM_DEVICES.
28452 * term/i386/pc/serial.c: Move to ...
28453 * term/serial.c: ... here. All users updated.
28454 * util/i386/pc/grub-mkimage.c: Move to ...
28455 * util/grub-mkrawimage.c: ... here. All users updated.
28456 * term/i386/pc/at_keyboard.c: Move to ...
28457 * term/at_keyboard.c: ... here. All users updated.
28458 * conf/mips-qemu-mips.rmk: New file.
28459 * conf/mips-yeeloong.rmk: Likewise.
28460 * conf/mips.rmk: Likewise.
28461 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
28462 mipsel-qemu-mips.
28463 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
28464 to port addresses.
28465 (grub_ata_pciinit): Support CS5536.
28466 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
28467 * font/font_cmd.c (loadfont_command): Open file before passing it to
28468 grub_font_load.
28469 (pseudo_file_read): New function.
28470 (pseudo_file_close): Likewise.
28471 (pseudo_fs): New structure.
28472 (load_font_module): New function.
28473 (GRUB_MOD_INIT(font_manager)): Load embedded font.
28474 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
28475 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
28476 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
28477 * include/grub/i386/at_keyboard.h: Split into ...
28478 * include/grub/at_keyboard.h: ... this ...
28479 * include/grub/i386/at_keyboard.h: ... and this.
28480 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
28481 New prototype.
28482 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
28483 updated.
28484 (grub_elf64_size): Likewise.
28485 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
28486 filename.
28487 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
28488 * include/grub/i386/coreboot/serial.h: Rewritten.
28489 * include/grub/i386/ieee1275/serial.h: Include
28490 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
28491 * include/grub/i386/pc/serial.h: Moved from here ...
28492 * include/grub/serial.h: ... to here. All users updated.
28493 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
28494 (GRUB_PCI_NUM_BUS): Likewise.
28495 (GRUB_PCI_NUM_DEVICES): Likewise.
28496 (grub_pci_device_map_range): Add missing volatile keyword.
28497 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
28498 * include/grub/mips/at_keyboard.h: New file.
28499 * include/grub/mips/cache.h: Likewise.
28500 * include/grub/mips/io.h: Likewise.
28501 * include/grub/mips/kernel.h: Likewise.
28502 * include/grub/mips/libgcc.h: Likewise.
28503 * include/grub/mips/pci.h: Likewise.
28504 * include/grub/mips/qemu-mips/boot.h: Likewise.
28505 * include/grub/mips/qemu-mips/kernel.h: Likewise.
28506 * include/grub/mips/qemu-mips/loader.h: Likewise.
28507 * include/grub/mips/qemu-mips/memory.h: Likewise.
28508 * include/grub/mips/qemu-mips/serial.h: Likewise.
28509 * include/grub/mips/qemu-mips/time.h: Likewise.
28510 * include/grub/mips/relocator.h: Likewise.
28511 * include/grub/mips/time.h: Likewise.
28512 * include/grub/mips/types.h: Likewise.
28513 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
28514 * include/grub/mips/yeeloong/boot.h: Likewise.
28515 * include/grub/mips/yeeloong/kernel.h: Likewise.
28516 * include/grub/mips/yeeloong/loader.h: Likewise.
28517 * include/grub/mips/yeeloong/memory.h: Likewise.
28518 * include/grub/mips/yeeloong/pci.h: Likewise.
28519 * include/grub/mips/yeeloong/serial.h: Likewise.
28520 * include/grub/mips/yeeloong/time.h: Likewise.
28521 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
28522 * kern/elf.c (grub_elf32_size): New parameter. All users
28523 updated.
28524 (grub_elf64_size): Likewise.
28525 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
28526 Load modules before saying "Welcome to GRUB!".
28527 Call grub_refresh after saying "Welcome to GRUB!".
28528 * kern/mips/cache.S: New file.
28529 * kern/mips/cache_flush.S: Likewise.
28530 * kern/mips/dl.c: Likewise.
28531 * kern/mips/init.c: Likewise.
28532 * kern/mips/qemu-mips/init.c: Likewise.
28533 * kern/mips/startup.S: Likewise.
28534 * kern/mips/yeeloong/init.c: Likewise.
28535 * kern/term.c (grub_putcode): Handle NULL terminal.
28536 (grub_getcharwidth): Likewise.
28537 (grub_getkey): Likewise.
28538 (grub_checkkey): Likewise.
28539 (grub_getkeystatus): Likewise.
28540 (grub_getxy): Likewise.
28541 (grub_getwh): Likewise.
28542 (grub_gotoxy): Likewise.
28543 (grub_cls): Likewise.
28544 (grub_setcolorstate): Likewise.
28545 (grub_setcolor): Likewise.
28546 (grub_getcolor): Likewise.
28547 (grub_refresh): Likewise.
28548 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
28549 (write_jump): Add hatch nop.
28550 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
28551 * lib/mips/setjmp.S: New file.
28552 * loader/mips/linux.c: Likewise.
28553 * term/i386/pc/at_keyboard.c: Move from here ...
28554 * term/at_keyboard.c: ... to here.
28555 * term/i386/pc/serial.c: Moved from here ...
28556 * term/serial.c: ... to here. All users updated.
28557 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
28558 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
28559 (serial_translate_key_sequence): Avoid deadlock.
28560 (grub_serial_getkey): Handle backspace.
28561 (grub_serial_putchar): Fix newline handling.
28562 * util/i386/pc/grub-mkimage.c: Move from here ...
28563 * util/grub-mkrawimage.c: ... to here. All users updated.
28564 (generate_image): New parameters 'font_path' and 'format'.
28565 Support embedding font.
28566 Use grub_host_to_target* instead of grub_cpu_to_le*.
28567 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
28568 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
28569 (options): New option "--font".
28570 (usage): Likewise.
28571 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
28572 (main): Handle "--font".
28573 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
28574 (grub_virtual_screen_setup): Set bg_color_display.
28575 (redraw_screen_rect): Use bg_color_display instead of incorrect
28576 bg_color.
28577 (grub_gfxterm_cls): Likewise.
28578 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
28579 Support embedding config file.
28580 (add_segments): Likewise.
28581 (options): New option "--config".
28582 (main): Handle "--config".
28583 * video/sm712.c: New file.
28584
28585 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28586
28587 Fix parallel builds.
28588
28589 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
28590 font.c depend on ascii.h).
28591
28592 2010-01-12 Carles Pina i Estany <carles@pina.cat>
28593
28594 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
28595
28596 2010-01-11 Carles Pina i Estany <carles@pina.cat>
28597
28598 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
28599 By default: disabled.
28600 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
28601 parameter.
28602
28603 2010-01-10 Carles Pina i Estany <carles@pina.cat>
28604
28605 * font/font.c: Update copyright years.
28606 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
28607
28608 2010-01-10 Carles Pina i Estany <carles@pina.cat>
28609
28610 * font/font.c: Include `ascii.h'.
28611 (ASCII_BITMAP_SIZE): New macro.
28612 (ascii_font_glyph): Define.
28613 (ascii_glyph_lookup): New function.
28614 (grub_font_get_string_width): Change comment. If glyph not found, use
28615 ascii_glyph_lookup.
28616 (grub_font_get_glyph_with_fallback): If glyph not available returns
28617 ascii_glyph_lookup.
28618 * util/grub-mkfont.c (file_formats): New enum.
28619 (options): Add `ascii-bitmaps' new option.
28620 (usage): Add `asii-bitmaps' new option.
28621 (write_font_ascii_bitmap): New function.
28622 (write_font): Rename to ...
28623 (write_font_p2): ... this. Remove print_glyphs call.
28624 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
28625 used. Call print_glyphs.
28626 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
28627
28628 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
28629
28630 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
28631 (grub_bin2h_SOURCES): New variable.
28632 * util/bin2h.c: New file.
28633
28634 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28635
28636 * include/multiboot.h: Resynced with spec.
28637 * include/multiboot2.h: Likewise.
28638 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
28639 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
28640
28641 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28642
28643 * include/grub/term.h (grub_term_register_input,
28644 grub_term_register_output): Check return of terminal init()
28645 routines, and abort if errors are raised.
28646
28647 * commands/terminal.c: Update copyright year.
28648
28649 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28650
28651 * commands/terminal.c (grub_cmd_terminal_input)
28652 (grub_cmd_terminal_output): Check return of terminal init()
28653 routines, and abort if errors are raised.
28654
28655 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
28656
28657 * include/grub/i386/bsd.h: Fix include pathes.
28658
28659 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
28660
28661 Add missing *BSD copyright headers.
28662
28663 * include/grub/aout.h: Add BSD licence.
28664 * include/grub/i386/bsd.h: Parts under different licences moved to ...
28665 * include/grub/i386/freebsd_linker.h: ... here,
28666 * include/grub/i386/freebsd_reboot.h: ... here,
28667 * include/grub/i386/netbsd_bootinfo.h: ... here,
28668 * include/grub/i386/netbsd_reboot.h: ... here,
28669 * include/grub/i386/openbsd_bootarg.h: ... here,
28670 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
28671 licence to each file.
28672
28673 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28674
28675 * acinclude.m4: Remove `nop' assembly instruction; it's not
28676 implemented by all architectures.
28677
28678 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28679
28680 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
28681 ELILO. This is no longer necessary.
28682
28683 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
28684
28685 Added new tool, grub-scrit-check to verify grub.cfg syntax.
28686
28687 * util/grub-script-check.c: grub-script-check tool.
28688 * conf/common.rmk: Make rules for grub-script-check.
28689
28690 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28691
28692 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
28693 spotting it back in 2008. Shame on me for forgetting he did.
28694
28695 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
28696
28697 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28698
28699 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
28700 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
28701 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
28702 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
28703 (GRUB_VIDEO_TYPE_EFI): Rename to ...
28704 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
28705
28706 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
28707
28708 * include/grub/test.h: Add license header.
28709 * tests/example_functional_test.c: Likewise.
28710 * tests/example_unit_test.c: Likewise.
28711 * tests/lib/functional_test.c: Likewise.
28712 * tests/lib/test.c: Likewise.
28713 * tests/lib/unit_test.c: Likewise.
28714
28715 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
28716
28717 Use flag-based instead of hook-based video mode selection and "auto"
28718 keyword.
28719
28720 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
28721 (grub_video_set_mode): Changed prototype. All users updated.
28722 (grub_video_check_mode_flag): New inline function.
28723 * video/video.c (parse_modespec): New function.
28724 (grub_video_set_mode): Parse flags and keywords.
28725
28726 2010-01-17 Carles Pina i Estany <carles@pina.cat>
28727
28728 * util/misc.c (grub_util_info): Fix the order of the parameters in a
28729 fprintf call.
28730
28731 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
28732
28733 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
28734
28735 2010-01-16 Carles Pina i Estany <carles@pina.cat>
28736
28737 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
28738 string.
28739 * util/grub-emu.c (usage): Likewise.
28740 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
28741 * util/i386/efi/grub-mkimage.c (usage): Likewise.
28742 * util/i386/pc/grub-mkimage.c (usage): Likewise.
28743 * util/i386/pc/grub-setup.c (usage): Likewise.
28744
28745 2010-01-16 Carles Pina i Estany <carles@pina.cat>
28746
28747 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
28748 the message.
28749 (grub_util_info): Likewise.
28750 (grub_util_error): Likewise.
28751 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
28752 and/or new lines in `grub_util_warna', `grub_util_info',
28753 `grub_util_error' calls.
28754 * util/getroot.c: Likewise.
28755 * util/grub-editenv.c: Likewise.
28756 * util/grub-emu.c: Likewise.
28757 * util/grub-fstest.c: Likewise.
28758 * util/grub-mkdevicemap.c: Likewise.
28759 * util/grub-mkfont.c: Likewise.
28760 * util/grub-mkpasswd-pbkdf2.c: Likewise.
28761 * util/grub-mkrelpath.c: Likewise.
28762 * util/grub-pe2elf.c: Likewise.
28763 * util/grub-probe.c: Likewise.
28764 * util/hostdisk.c: Likewise.
28765 * util/i386/efi/grub-mkimage.c: Likewise.
28766 * util/i386/pc/grub-mkimage.c: Likewise.
28767 * util/i386/pc/grub-setup.c: Likewise.
28768 * util/ieee1275/ofpath.c: Likewise.
28769 * util/mkisofs/eltorito.c: Likewise.
28770 * util/mkisofs/rock.c: Likewise.
28771 * util/mkisofs/write.c: Likewise.
28772 * util/raid.c: Likewise.
28773 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
28774 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28775
28776 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
28777
28778 Enable multiboot on non-pc.
28779
28780 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
28781 multiboot.mod and multiboot2.mod to ...
28782 * conf/i386.rmk (pkglib_MODULES): ... here.
28783 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
28784 Moved to ...
28785 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
28786 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
28787 Moved to ...
28788 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
28789 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
28790 Moved to ...
28791 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
28792 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
28793 Moved to ...
28794 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
28795 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
28796 relocator.mod.
28797 (ata_mod_SOURCES): Removed.
28798 (ata_mod_CFLAGS): Likewise.
28799 (ata_mod_LDFLAGS): Likewise.
28800 (relocator_mod_SOURCES): Removed.
28801 (relocator_mod_CFLAGS): Likewise.
28802 (relocator_mod_ASFLAGS): Likewise.
28803 (relocator_mod_LDFLAGS): Likewise.
28804 Include i386.mk.
28805 * include/grub/x86_64/multiboot.h: New file.
28806 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
28807 Terminate EFI.
28808
28809 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
28810
28811 Video multiboot support.
28812
28813 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
28814 New prototype.
28815 * include/multiboot.h: Resynced with multiboot specification.
28816 * include/multiboot2.h: Likewise.
28817 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
28818 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
28819 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
28820 (HAS_VGA_TEXT): Likewise.
28821 (accepts_video): New variable.
28822 (grub_multiboot_set_accepts_video): New function.
28823 (grub_multiboot_get_mbi_size): Account for video structures.
28824 (set_video_mode): New function.
28825 (retrieve_video_parameters): Likewise.
28826 (grub_multiboot_make_mbi): Fill video fields.
28827
28828 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
28829
28830 Video driver ids.
28831
28832 * include/grub/video.h (grub_video_driver_id): New type.
28833 (grub_video_adapter): New member 'id'. All users updated.
28834 (grub_video_get_driver_id): New proto.
28835 * video/video.c (grub_video_get_driver_id): New function.
28836
28837 2010-01-14 Carles Pina i Estany <carles@pina.cat>
28838
28839 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
28840 `var=val'.
28841
28842 2010-01-14 Carles Pina i Estany <carles@pina.cat>
28843
28844 * normal/cmdline.c (print_completion): Gettextizze.
28845
28846 2001-01-14 Carles Pina i Estany <carles@pina.cat>
28847
28848 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
28849
28850 2010-01-14 Carles Pina i Estany <carles@pina.cat>
28851
28852 * gettext/gettext.c (grub_gettext_translate): Push and pop
28853 grub_errno.
28854 (grub_gettext_delete_list): Change comment style.
28855 * kern/err.c (grub_error): Gettextizze.
28856 (grub_fatal): Gettextizze.
28857
28858 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
28859
28860 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
28861 (grub_linux16_real_boot): ... this.
28862 * kern/i386/loader.S: Likewise.
28863 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
28864 (grub_linux16_boot): New function. Switches to text mode and calls
28865 grub_linux16_real_boot().
28866
28867 * loader/i386/bsd.c: Include `<grub/video.h>'.
28868 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
28869 text mode before calling grub_unix_real_boot().
28870
28871 * loader/i386/multiboot.c: Include `<grub/video.h>'.
28872 (grub_multiboot_boot): Switch to text mode before calling
28873 grub_relocator32_boot().
28874
28875 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
28876 (grub_chainloader_boot): Switch to text mode before calling
28877 grub_chainloader_real_boot().
28878
28879 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
28880 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
28881
28882 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
28883 non-empty value.
28884
28885 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
28886 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
28887
28888 * util/grub.d/00_header.in: Define a "savedefault" function for use
28889 in menu entries.
28890 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
28891
28892 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
28893 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
28894
28895 * util/grub-mkconfig_lib.in (save_default_entry): Only set
28896 saved_entry if boot_once is unset.
28897 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
28898 previous saved entry (i.e. grub-reboot).
28899
28900 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
28901
28902 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
28903
28904 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
28905
28906 * util/grub.d/00_header.in: Use `set var=val' rather than plain
28907 `var=val'.
28908 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
28909
28910 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
28911
28912 * util/grub-reboot.in: Fix --version output.
28913 * util/grub-set-default.in: Likewise.
28914
28915 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
28916
28917 * util/grub.d/00_header.in: Silently ignore zero-sized environment
28918 blocks.
28919
28920 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
28921
28922 * util/grub.d/00_header.in: Quote the value assigned to `default',
28923 in case it contains spaces.
28924
28925 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
28926
28927 * util/grub.d/30_os-prober.in: Fix merge error that moved a
28928 `save_default_entry' call from the macosx case to the linux case.
28929
28930 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
28931 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
28932
28933 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
28934 in `chosen' environment variable.
28935 * normal/menu_text.c (get_entry_number): Check if the variable
28936 matches the title of a menu entry.
28937 (run_menu): Pass menu to get_entry_number.
28938
28939 * util/grub-reboot.in: New file.
28940 * util/grub-set-default.in: New file.
28941 * conf/common.rmk (grub-reboot): New utility.
28942 (grub-set-default): New utility.
28943
28944 * util/grub-mkconfig_lib.in (save_default_entry): New function.
28945 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
28946 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
28947 move it to `saved_entry' for the next boot. Load environment on
28948 initialisation.
28949 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
28950 * util/grub.d/10_hurd.in: Likewise.
28951 * util/grub.d/10_linux.in (linux_entry): Likewise.
28952 * util/grub.d/10_windows.in: Likewise.
28953 * util/grub.d/30_os-prober.in: Likewise.
28954
28955 * util/grub-install.in: Create environment block.
28956 * util/i386/efi/grub-install.in: Likewise.
28957 * util/ieee1275/grub-install.in: Likewise.
28958 * util/sparc64/ieee1275/grub-install.in: Likewise.
28959
28960 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
28961
28962 Unit testing framework for GRUB.
28963
28964 * Makefile.in: Test framework build rules for 'make check'.
28965 * conf/tests.rmk: Build rules for individual tests and framework.
28966
28967 * include/grub/test.h: Header file for whitebox tests.
28968 * tests/lib/functional_test.c: Framework support for whitebox
28969 functional tests.
28970 * tests/lib/test.c: Common whitebox testing code for unit and
28971 functional tests.
28972 * tests/lib/unit_test.c: Framework support for whitebox unit
28973 tests.
28974
28975 * tests/util/grub-shell-tester.in: Support utility for grub-script
28976 tests.
28977 * tests/util/grub-shell.in: Utility to execute grub-script
28978 commands in a Qemu instance.
28979
28980 * tests/example_functional_test.c: Example whitebox functional
28981 test.
28982 * tests/example_grub_script_test.in: Example grub-script test.
28983 * tests/example_scripted_test.in: Example scripted test.
28984 * tests/example_unit_test.c: Example whitebox unit test.
28985
28986 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
28987
28988 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
28989 Add loader/i386/multiboot_mbi.c.
28990 (multiboot2_mod_SOURCES): Likewise.
28991 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
28992 (multiboot2_mod_SOURCES): Likewise.
28993 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
28994 (grub_multiboot_make_mbi): Likewise.
28995 (grub_multiboot_free_mbi): Likewise.
28996 (grub_multiboot_init_mbi): Likewise.
28997 (grub_multiboot_add_module): Likewise.
28998 (grub_multiboot_set_bootdev): Likewise.
28999 * loader/i386/multiboot.c (mbi): Removed.
29000 (mbi_dest): Likewise.
29001 (alloc_mbi): New variable.
29002 (grub_multiboot_payload_size): Removed. All users updated.
29003 (grub_multiboot_pure_size): New variable.
29004 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
29005 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
29006 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
29007 (grub_fill_multiboot_mmap): Likewise.
29008 (grub_multiboot_get_bootdev): Likewise.
29009 (grub_multiboot): Use multiboot_mbi functions.
29010 * loader/i386/multiboot_mbi.c: New file.
29011
29012 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29013
29014 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
29015 it would result in module crash.
29016
29017 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29018
29019 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
29020 (grub_ofconsole_getwh): Split to ...
29021 (grub_ofconsole_getwh): ... this.
29022 (grub_ofconsole_dimensions): ...and this.
29023 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
29024
29025 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
29026
29027 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
29028
29029 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29030
29031 * loader/i386/pc/multiboot2.c: Removed stalled file.
29032
29033 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29034
29035 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
29036 Reported by: Grégoire Sutre
29037
29038 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
29039
29040 * util/misc.c (canonicalize_file_name): New function.
29041 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
29042 instead of realpath().
29043
29044 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
29045
29046 * util/grub-install.in (usage): Clarify meaning of --root-directory,
29047 and make it clearer that it's optional. Based on confusion
29048 witnessed on IRC.
29049
29050 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29051
29052 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
29053 in premature implicit newline.
29054
29055 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29056
29057 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
29058 which resulted in garbled command line at the end of screen.
29059
29060 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29061
29062 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
29063 initialization with similar approach as with other Linux loaders.
29064
29065 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29066
29067 Fix i386-ieee1275 build.
29068
29069 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
29070 and grub_term_height() for video_{width,height} initialization.
29071
29072 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29073
29074 Fix grub-emu build.
29075
29076 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
29077
29078 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
29079 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
29080
29081 Support for multiple terminals.
29082
29083 * Makefile.in (pkglib_DATA): terminal.lst.
29084 (terminal.lst): New target.
29085 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
29086 (GRUB_MOD_INIT(handler)): Likewise.
29087 (GRUB_MOD_FINI(handler)): Likewise.
29088 * commands/help.c (grub_cmd_help): Handle multiple terminals.
29089 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
29090 * commands/sleep.c (do_print): Use grub_term_restore_pos.
29091 (grub_cmd_sleep): Use grub_term_save_pos.
29092 * commands/terminal.c: New file.
29093 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
29094 commands/terminal.c and lib/charset.c.
29095 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
29096 (pkglib_MODULES): Add terminal.mod.
29097 (terminal_mod_SOURCES): New variable.
29098 (terminal_mod_CFLAGS): Likewise.
29099 (terminal_mod_LDFLAGS): Likewise.
29100 * genhandlerlist.sh: Don't handle terminals.
29101 * genmk.rb: Generate terminal-*.lst.
29102 * genterminallist.sh: New file.
29103 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
29104 (grub_is_valid_utf8): Likewise.
29105 (grub_utf8_to_ucs4_alloc): Likewise.
29106 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
29107 (grub_menu_register_viewer): Changed argument.
29108 (grub_menu_try_text): New proto.
29109 (grub_gfxmenu_try_hook): New declaration.
29110 * include/grub/normal.h (grub_normal_exit_level): New declaration.
29111 (grub_menu_init_page): Additional argument term.
29112 (grub_normal_init_page): Likewise.
29113 (grub_cmdline_get): Arguments simplified.
29114 (grub_utf8_to_ucs4_alloc): Removed.
29115 (grub_print_ucs4): Additional argument term.
29116 (grub_getstringwidth): Likewise.
29117 (grub_print_message_indented): Likewise.
29118 (grub_menu_text_register_instances): New proto.
29119 (grub_show_menu): Likewise.
29120 (read_terminal_list): Likewise.
29121 (grub_set_more): Likewise.
29122 * include/grub/parser.h: Include handler.h.
29123 * include/grub/reader.h: Rewritten.
29124 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
29125 (GRUB_TERM_WIDTH): Changed to function.
29126 (GRUB_TERM_HEIGHT): Likewise.
29127 (GRUB_TERM_BORDER_WIDTH): Likewise.
29128 (GRUB_TERM_BORDER_HEIGHT): Likewise.
29129 (GRUB_TERM_NUM_ENTRIES): Likewise.
29130 (GRUB_TERM_ENTRY_WIDTH): Likewise.
29131 (GRUB_TERM_CURSOR_X): Likewise.
29132 (grub_term_input_class): Likewise.
29133 (grub_term_output_class): Likewise.
29134 (grub_term_outputs_disabled): New declaration.
29135 (grub_term_inputs_disabled): Likewise.
29136 (grub_term_outputs): Likewise.
29137 (grub_term_inputs): Likewise.
29138 (grub_term_register_input): Rewritten.
29139 (grub_term_register_output): Likewise.
29140 (grub_term_unregister_input): Likewise.
29141 (grub_term_unregister_output): Likewise.
29142 (FOR_ACTIVE_TERM_INPUTS): New macro.
29143 (FOR_DISABLED_TERM_INPUTS): Likewise.
29144 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
29145 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
29146 * include/grub/terminfo.h: Add oterm argument to all protypes.
29147 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
29148 Use grub_rescue_run.
29149 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
29150 All users updated.
29151 * kern/reader.c: Removed. All users updated.
29152 * kern/rescue_reader.c (grub_rescue_init): Removed.
29153 (grub_rescue_reader): Likewise.
29154 (grub_register_rescue_reader): Likewise.
29155 (grub_rescue_run): New function based on kern/reader.c.
29156 * kern/term.c: Adapted for multiterm.
29157 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
29158 (grub_is_valid_utf8): Likewise.
29159 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
29160 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
29161 right terminal.
29162 * loader/i386/linux.c (grub_linux_boot): Likewise.
29163 * normal/auth.c (grub_username_get): New function.
29164 (grub_auth_check_authentication): Use grub_username_get.
29165 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
29166 * normal/color.c: Adapt for multiterm.
29167 * normal/main.c (read_config_file): Don't use grub_reader_loop.
29168 (grub_normal_init_page): Additional argument term.
29169 (read_lists): Call read_terminal_lists.
29170 (grub_enter_normal_mode): Call grub_cmdline_run.
29171 Handle grub_normal_exit_level.
29172 (grub_cmd_normal): Make reentrant.
29173 (grub_cmd_normal_exit): New function.
29174 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
29175 * normal/menu.c: Adapt for multiterm.
29176 * normal/menu_entry.c: Likewise.
29177 * normal/menu_text.c: Likewise.
29178 * normal/menu_viewer.c: Removed. All users updated.
29179 * normal/term.c: New file.
29180 * util/console.c: Change order of includes to workaround a bug in
29181 ncurses headers.
29182 * term/terminfo.c: New argument oterm on all exported functions.
29183 All users updated.
29184 * util/grub-editenv.c (grub_term_input_class): Removed.
29185 (grub_term_output_class): Likewise.
29186
29187 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
29188
29189 Make loader output a bit more user-friendly.
29190
29191 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
29192 is being loaded. Likewise for the Hurd.
29193
29194 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
29195 that kernel of FreeBSD ${version} is being loaded.
29196
29197 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
29198 grub_dprintf().
29199 (grub_cmd_initrd): Likewise.
29200 * util/grub.d/10_linux.in (linux_entry): Print message indicating
29201 that Linux ${version} is being loaded. Likewise for initrd.
29202
29203 2010-01-09 Carles Pina i Estany <carles@pina.cat>
29204
29205 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
29206
29207 2010-01-08 Carles Pina i Estany <carles@pina.cat>
29208
29209 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
29210 (GRUB_MOD_INIT): Gettextizze.
29211 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
29212 (GRUB_MOD_INIT): Gettextizze.
29213 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
29214 (grub_cmd_linux): Capitalise Linux.
29215 (GRUB_MOD_INIT): Gettextizze.
29216 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
29217 (grub_cmd_linux): Capitalise Linux.
29218 (GRUB_MOD_INIT): Gettextizze.
29219 * loader/i386/linux.c: Include `<grub/i18n.h>'.
29220 (grub_cmd_linux): Capitalise Linux.
29221 (GRUB_MOD_INIT): Gettextizze.
29222 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
29223 (GRUB_MOD_INIT): Gettextizze.
29224 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
29225 (grub_cmd_linux): Capitalise Linux.
29226 (GRUB_MOD_INIT): Gettextizze.
29227 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
29228 (grub_cpu_xnu_init): Gettextizze.
29229 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
29230 (GRUB_MOD_INIT): Gettextizze.
29231 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
29232 (GRUB_MOD_INIT): Gettextizze.
29233 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
29234 (grub_linux_load64): Capitalise Linux.
29235 (GRUB_MOD_INIT): Gettextizze.
29236 * loader/xnu.c: Include `<grub/i18n.h>'.
29237 (GRUB_MOD_INIT): Gettextizze.
29238 * po/POTFILES: Add `loader/efi/appleloader.c',
29239 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
29240 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
29241 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
29242 `loader/i386/xnu.c', `loader/multiboot_loader.c',
29243 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
29244 and `loader/xnu.c'.
29245
29246 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
29247
29248 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
29249
29250 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
29251
29252 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
29253 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
29254 * util/mkisofs/mkisofs.c (main): Readjust --version output.
29255
29256 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29257
29258 Reset Multiboot 2 support. New loader implements the draft in
29259 /branches/multiboot2 and shares as much code as possible with the
29260 production Multiboot 1 implementation.
29261
29262 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
29263 * loader/multiboot2.c: Likewise.
29264 * loader/i386/multiboot_helper.S: Likewise.
29265 * include/multiboot2.h: Replace with latest version from the draft
29266 in /branches/multiboot2.
29267
29268 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
29269 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
29270 and `loader/multiboot2.c'.
29271 (pkglib_MODULES): Add `multiboot2.mod'.
29272 (multiboot2_mod_SOURCES): New variable.
29273 (multiboot2_mod_LDFLAGS): Likewise.
29274 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
29275
29276 * conf/i386-pc.rmk: Likewise.
29277
29278 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
29279 (multiboot_mod_SOURCES): Remove variable.
29280 (multiboot_mod_LDFLAGS): Likewise.
29281 (multiboot_mod_CFLAGS): Likewise.
29282
29283 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
29284 `<multiboot2.h>' instead of `<multiboot.h>'.
29285 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
29286 (MULTIBOOT_HEADER_MAGIC): New macros.
29287
29288 * loader/multiboot_loader.c (module_version_status): Remove variable.
29289 (find_multi_boot2_header): Remove function.
29290 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
29291 logic. Always check for the Multiboot version we're compiling for.
29292 (grub_cmd_module_loader): Likewise.
29293 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
29294 command instead of `multiboot'.
29295
29296 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29297
29298 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
29299 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
29300 all users.
29301
29302 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29303 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
29304
29305 Fix breakage introduced with previous commit.
29306
29307 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
29308 commands.
29309 * normal/handler.c (read_handler_list): Revert part of previous commit
29310 affecting this file.
29311 * normal/main.c (read_lists): Move read_handler_list() call back to ...
29312 (grub_normal_execute): ... here.
29313
29314 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29315
29316 Merge prefix-redefinition-fix branch.
29317
29318 * normal/autofs.c (read_fs_list): Make function capable of being
29319 run multiple times, gracefuly replacing the previous data
29320 structures.
29321 * normal/dyncmd.c (read_command_list): Likewise.
29322 * normal/handler.c (read_handler_list): Likewise.
29323 * normal/main.c (read_lists): New function. Calls all the
29324 list reading functions.
29325 (grub_normal_execute): Use read_lists() instead of calling all
29326 list reading functions explicitly. Register read_lists() as a
29327 variable hook attached to ${prefix}.
29328
29329 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
29330
29331 Merge crypto branch.
29332
29333 * Makefile.in (pkglib_DATA): Add crypto.lst.
29334 (crypto.lst): New target.
29335 * commands/hashsum.c: New file.
29336 * commands/password.c (check_password): Use grub_crypto_memcmp.
29337 * commands/password_pbkdf2.c: New file.
29338 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
29339 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
29340 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
29341 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
29342 -I$(srcdir)/lib/libgcrypt_wrap.
29343 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
29344 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
29345 password_pbkdf2.mod.
29346 (crypto_mod_SOURCES): New variable.
29347 (crypto_mod_CFLAGS): Likewise.
29348 (crypto_mod_LDFLAGS): Likewise.
29349 (hashsum_mod_SOURCES): New variable.
29350 (hashsum_mod_CFLAGS): Likewise.
29351 (hashsum_mod_LDFLAGS): Likewise.
29352 (pbkdf2_mod_SOURCES): New variable.
29353 (pbkdf2_mod_CFLAGS): Likewise.
29354 (pbkdf2_mod_LDFLAGS): Likewise.
29355 (password_pbkdf2_mod_SOURCES): New variable.
29356 (password_pbkdf2_mod_CFLAGS): Likewise.
29357 (password_pbkdf2_mod_LDFLAGS): Likewise.
29358 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
29359 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
29360 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
29361 Include conf/gcry.rmk.
29362 * include/grub/auth.h: Rewritten.
29363 * include/grub/crypto.h: New file.
29364 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
29365 * include/grub/normal.h (read_crypto_list): New prototype.
29366 * lib/crypto.c: New file.
29367 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
29368 * lib/pbkdf2.c: Likewise.
29369 * normal/auth.c (grub_auth_strcmp): Removed.
29370 (grub_iswordseparator): Likewise.
29371 (grub_auth_strword): Likewise.
29372 (is_authenticated): Use grub_strword.
29373 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
29374 and grub_strword. Pass entered password to authentication callback.
29375 * normal/crypto.c: New file.
29376 * normal/main.c: Call read_crypto_list.
29377 * util/grub-mkpasswd-pbkdf2.c: New file.
29378 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
29379
29380 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
29381
29382 Fix descent and ascent calculation.
29383
29384 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
29385 (options): New option "asce".
29386 (usage): Likewise.
29387 (add_char): Ignore invalid glyphs for descent calculation.
29388 Calculate ascent from actual content.
29389 (print_glyphs): Use 'asce'.
29390 (write_font): Likewise. Allow ascent override.
29391 (main): Handle "asce" option.
29392
29393 2010-01-06 Carles Pina i Estany <carles@pina.cat>
29394
29395 * kern/err.c: Include `<grub/i18n.h>'.
29396 (grub_print_error): Add full stop. Gettextizze.
29397 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
29398 (grub_bsd_load_elf): Capitalise ELF.
29399 (grub_cmd_freebsd_loadenv): Add `s' in error string.
29400 (grub_cmd_freebsd_module): Likewise.
29401 (grub_cmd_freebsd_module_elf): Likewise.
29402 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
29403
29404 2010-01-06 Carles Pina i Estany <carles@pina.cat>
29405
29406 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
29407 * commands/search_file.c (HELP_MESSAGE): New macro.
29408 * commands/search_label.c (HELP_MESSAGE): Likewise.
29409 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
29410 * po/POTFILES: Add `commands/search_file.c',
29411 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
29412 `commands/search.c'.
29413
29414 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
29415
29416 * config.rpath: Update from Gnulib.
29417
29418 2010-01-05 Yves Blusseau <blusseau@zetam.org>
29419
29420 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
29421
29422 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
29423
29424 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
29425
29426 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
29427
29428 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
29429 arguments to fread so that we get a return value in bytes, rather
29430 than something that will normally be rounded down to 0.
29431 Adjust error handling to avoid producing garbage when size_t is not
29432 the same size as long long.
29433
29434 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
29435
29436 * util/mkisofs/write.c (padblock_write): Check return value of
29437 fread.
29438
29439 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
29440
29441 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
29442 floppy images now.
29443
29444 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
29445
29446 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
29447
29448 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
29449 instead of manual alignment.
29450 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
29451 verbose). Avoid attempts to read past end of the device
29452 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
29453 but GRUB_DISK_CACHE_SIZE may exceed that).
29454
29455 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
29456
29457 * commands/crc.c (grub_cmd_crc): Abort on read errors.
29458 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
29459 it to upper layer.
29460
29461 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
29462
29463 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
29464 New constant.
29465 (grub_efi_piwg_device_path): New structure
29466 (grub_efi_piwg_device_path_t): New type.
29467 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
29468 (devpath_1): Transform to a structure. All users updated.
29469 (devpath_2): Likewise.
29470 (devpath_3): Likewise.
29471 (devpath_4): Likewise.
29472 (devpath_5): Likewise.
29473
29474 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
29475
29476 * loader/efi/appleloader.c: Restored. Update all users.
29477
29478 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
29479
29480 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
29481
29482 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
29483 (struct boot_blocklist): Move from here ...
29484 * include/grub/i386/pc/boot.h [ASM_FILE]
29485 (struct grub_boot_blocklist): ... to here. Update all users.
29486 (setup): Only initialize `start' member of `first_block'
29487 structure. Add assert() calls to verify the other members.
29488
29489 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
29490 (generate_image): Fix broken blocklist length initialization.
29491 Add assert() call to verify blocklist `segment' field.
29492
29493 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
29494
29495 * loader/efi/appleloader.c: Remove. Update all users.
29496
29497 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
29498
29499 * boot/i386/pc/boot.S: Update copyright year.
29500 * boot/i386/pc/cdboot.S: Likewise.
29501 * boot/i386/pc/diskboot.S: Likewise.
29502 * boot/i386/pc/lnxboot.S: Likewise.
29503 * boot/i386/pc/pxeboot.S: Likewise.
29504 * bus/pci.c: Likewise.
29505 * commands/cmp.c: Likewise.
29506 * commands/help.c: Likewise.
29507 * commands/hexdump.c: Likewise.
29508 * commands/i386/pc/halt.c: Likewise.
29509 * commands/i386/pc/play.c: Likewise.
29510 * commands/i386/pc/vbeinfo.c: Likewise.
29511 * commands/ls.c: Likewise.
29512 * commands/test.c: Likewise.
29513 * disk/dmraid_nvidia.c: Likewise.
29514 * disk/i386/pc/biosdisk.c: Likewise.
29515 * disk/ieee1275/nand.c: Likewise.
29516 * disk/ieee1275/ofdisk.c: Likewise.
29517 * disk/lvm.c: Likewise.
29518 * disk/raid.c: Likewise.
29519 * disk/raid6_recover.c: Likewise.
29520 * disk/scsi.c: Likewise.
29521 * fs/affs.c: Likewise.
29522 * fs/cpio.c: Likewise.
29523 * fs/ext2.c: Likewise.
29524 * fs/hfs.c: Likewise.
29525 * fs/iso9660.c: Likewise.
29526 * fs/ntfs.c: Likewise.
29527 * fs/sfs.c: Likewise.
29528 * fs/udf.c: Likewise.
29529 * fs/ufs.c: Likewise.
29530 * fs/xfs.c: Likewise.
29531 * gencmdlist.sh: Likewise.
29532 * genmk.rb: Likewise.
29533 * include/grub/disk.h: Likewise.
29534 * include/grub/efi/api.h: Likewise.
29535 * include/grub/efi/efi.h: Likewise.
29536 * include/grub/efi/pe32.h: Likewise.
29537 * include/grub/elf.h: Likewise.
29538 * include/grub/fs.h: Likewise.
29539 * include/grub/i386/at_keyboard.h: Likewise.
29540 * include/grub/i386/pc/memory.h: Likewise.
29541 * include/grub/i386/pc/vbe.h: Likewise.
29542 * include/grub/i386/pci.h: Likewise.
29543 * include/grub/i386/tsc.h: Likewise.
29544 * include/grub/ieee1275/ieee1275.h: Likewise.
29545 * include/grub/ntfs.h: Likewise.
29546 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
29547 * include/grub/sparc64/libgcc.h: Likewise.
29548 * include/grub/symbol.h: Likewise.
29549 * include/grub/types.h: Likewise.
29550 * include/multiboot2.h: Likewise.
29551 * io/gzio.c: Likewise.
29552 * kern/device.c: Likewise.
29553 * kern/disk.c: Likewise.
29554 * kern/efi/efi.c: Likewise.
29555 * kern/efi/mm.c: Likewise.
29556 * kern/elf.c: Likewise.
29557 * kern/file.c: Likewise.
29558 * kern/i386/dl.c: Likewise.
29559 * kern/i386/pc/init.c: Likewise.
29560 * kern/i386/pc/startup.S: Likewise.
29561 * kern/ieee1275/ieee1275.c: Likewise.
29562 * kern/ieee1275/init.c: Likewise.
29563 * kern/main.c: Likewise.
29564 * kern/mm.c: Likewise.
29565 * kern/powerpc/dl.c: Likewise.
29566 * kern/sparc64/dl.c: Likewise.
29567 * kern/x86_64/dl.c: Likewise.
29568 * lib/hexdump.c: Likewise.
29569 * loader/efi/appleloader.c: Likewise.
29570 * loader/i386/ieee1275/linux.c: Likewise.
29571 * loader/i386/pc/chainloader.c: Likewise.
29572 * loader/i386/pc/linux.c: Likewise.
29573 * loader/i386/pc/multiboot2.c: Likewise.
29574 * loader/ieee1275/multiboot2.c: Likewise.
29575 * loader/multiboot2.c: Likewise.
29576 * loader/multiboot_loader.c: Likewise.
29577 * loader/powerpc/ieee1275/linux.c: Likewise.
29578 * normal/completion.c: Likewise.
29579 * normal/menu_entry.c: Likewise.
29580 * partmap/apple.c: Likewise.
29581 * util/grub.d/10_hurd.in: Likewise.
29582 * util/hostfs.c: Likewise.
29583 * video/readers/png.c: Likewise.
29584
29585 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
29586
29587 * include/grub/misc.h (GNUC_PREREQ): New macro.
29588 (ATTRIBUTE_ERROR): New macro.
29589 * include/grub/list.h (grub_bad_type_cast_real): Use
29590 ATTRIBUTE_ERROR.
29591
29592 2010-01-03 Carles Pina i Estany <carles@pina.cat>
29593
29594 * normal/menu_text.c (print_message): Change messages.
29595
29596 2010-01-03 Carles Pina i Estany <carles@pina.cat>
29597
29598 * normal/menu_entry.c (store_completion): Gettextizze.
29599
29600 2010-01-03 Carles Pina i Estany <carles@pina.cat>
29601
29602 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
29603
29604 2010-01-03 Carles Pina i Estany <carles@pina.cat>
29605
29606 * po/POTFILES: Sort correctly.
29607
29608 2010-01-03 Carles Pina i Estany <carles@pina.cat>
29609
29610 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
29611 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
29612 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
29613 full stop.
29614 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
29615 summary. Gettextizze the strings.
29616 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
29617 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
29618 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
29619 full stop.
29620 (GRUB_MOD_INIT): Remove command name from summary.
29621 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
29622 summary.
29623 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
29624 * term/i386/pc/serial.c (options): Add full stops.
29625 (GRUB_MOD_INIT): Remove command name from the summary.
29626
29627 2010-01-03 Carles Pina i Estany <carles@pina.cat>
29628
29629 * commands/acpi.c: Gettextizze help strings and/or options. Include
29630 `grub/i18n.h' if needed.
29631 * commands/blocklist.c: Likewise.
29632 * commands/boot.c: Likewise.
29633 * commands/cat.c: Likewise.
29634 * commands/cmp.c: Likewise.
29635 * commands/configfile.c: Likewise.
29636 * commands/crc.c: Likewise.
29637 * commands/date.c: Likewise.
29638 * commands/echo.c: Likewise.
29639 * commands/efi/fixvideo.c: Likewise.
29640 * commands/efi/loadbios.c: Likewise.
29641 * commands/gptsync.c: Likewise.
29642 * commands/halt.c: Likewise.
29643 * commands/handler.c: Likewise.
29644 * commands/hdparm.c: Likewise.
29645 * commands/hexdump.c: Likewise.
29646 * commands/i386/cpuid.c: Likewise.
29647 * commands/i386/pc/drivemap.c: Likewise.
29648 * commands/i386/pc/halt.c: Likewise.
29649 * commands/i386/pc/pxecmd.c: Likewise.
29650 * commands/i386/pc/vbeinfo.c: Likewise.
29651 * commands/i386/pc/vbetest.c: Likewise.
29652 * commands/ieee1275/suspend.c: Likewise.
29653 * commands/keystatus.c: Likewise.
29654 * commands/loadenv.c: Likewise.
29655 * commands/ls.c: Likewise.
29656 * commands/lsmmap.c: Likewise.
29657 * commands/lspci.c: Likewise.
29658 * commands/memrw.c: Likewise.
29659 * commands/minicmd.c: Likewise.
29660 * commands/parttool.c: Likewise.
29661 * commands/password.c: Likewise.
29662 * commands/probe.c: Likewise.
29663 * commands/read.c: Likewise.
29664 * commands/reboot.c: Likewise.
29665 * commands/search.c: Likewise.
29666 * commands/sleep.c: Likewise.
29667 * commands/test.c: Likewise.
29668 * commands/true.c: Likewise.
29669 * commands/usbtest.c: Likewise.
29670 * commands/videotest.c: Likewise.
29671 * commands/xnu_uuid.c: Likewise.
29672 * disk/loopback.c: Likewise.
29673 * hello/hello.c: Likewise.
29674 * loader/i386/bsd.c: Likewise.
29675 * term/i386/pc/serial.c: Likewise.
29676 * po/POTFILES: Add new files.
29677
29678 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
29679
29680 * term/i386/pc/at_keyboard.c
29681 (keyboard_controller_wait_untill_ready): Rename to ...
29682 (keyboard_controller_wait_until_ready): ... this. Update all users.
29683
29684 2010-01-01 Carles Pina i Estany <carles@pina.cat>
29685
29686 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
29687 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
29688 string using string width.
29689 * normal/menu_text.c (grub_print_message_indented): Use
29690 grub_print_spaces and not print_spaces.
29691 (print_timeout): Likewise.
29692 (print_spaces): Move to...
29693 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
29694
29695 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
29696
29697 Import from Gnulib.
29698
29699 * gnulib/getdelim.c: New file.
29700 * gnulib/getline.c: Likewise.
29701
29702 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
29703
29704 * include/grub/list.h (grub_assert_fail): Removed.
29705 (grub_bad_type_cast_real): New function.
29706 (grub_bad_type_cast): New macro.
29707 (GRUB_AS_LIST): Use grub_bad_type_cast.
29708 (GRUB_AS_LIST_P): Likewise.
29709 (GRUB_AS_NAMED_LIST): Likewise.
29710 (GRUB_AS_NAMED_LIST_P): Likewise.
29711 (GRUB_AS_PRIO_LIST): Likewise.
29712 (GRUB_AS_PRIO_LIST_P): Likewise.
29713 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
29714
29715 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
29716
29717 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
29718 Fix syntax error.
29719
29720 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
29721
29722 * configure.ac: Check for TARGET_CFLAGS initialization before we
29723 initialize it ourselves (sigh).
29724 Move a few modifications to TARGET_CFLAGS to be unconditional
29725 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
29726 eh_frame)
29727
29728 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
29729 * term/i386/pc/at_keyboard.c
29730 (keyboard_controller_wait_untill_ready): Likewise.
29731 (keyboard_controller_led): Rename `led_status' paramter to avoid
29732 name conflict.
29733
29734 2009-12-28 Carles Pina i Estany <carles@pina.cat>
29735
29736 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
29737 quotes.
29738
29739 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
29740
29741 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
29742
29743 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
29744
29745 * normal/menu_text.c (grub_print_message_indented): Prevent
29746 past-the-end-of-array dereference.
29747
29748 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
29749
29750 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
29751 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
29752
29753 2009-12-27 Carles Pina i Estany <carles@pina.cat>
29754
29755 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
29756 * normal/main.c (grub_normal_read_line): Remove a space from the
29757 default prompt.
29758
29759 2009-12-27 Carles Pina i Estany <carles@pina.cat>
29760
29761 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
29762 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29763 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
29764 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
29765 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29766 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29767 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
29768
29769 2009-12-26 Carles Pina i Estany <carles@pina.cat>
29770
29771 * video/readers/jpeg.c (cmd): Declare.
29772 (grub_cmd_jpegtest): Use `grub_command_t' type.
29773 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
29774 Assign to `cmd'.
29775 (GRUB_MOD_FINI): Use `cmd' to unregister.
29776 * video/readers/png.c (cmd): Declare.
29777 (grub_cmd_pngtest): Use `grub_command_t' type.
29778 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
29779 Assign to `cmd'.
29780 (GRUB_MOD_FINI): Use `cmd' to unregister.
29781 * video/readers/tga.c (cmd): Declare.
29782 (grub_cmd_tgatest): Use `grub_command_t' type.
29783 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
29784 Assign to `cmd'.
29785 (GRUB_MOD_FINI): Use `cmd' to unregister.
29786
29787 2009-12-26 Carles Pina i Estany <carles@pina.cat>
29788
29789 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
29790 stops.
29791 * kern/corecmd.c (grub_register_core_commands): Likewise.
29792 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
29793 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
29794 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
29795 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29796 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
29797 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
29798 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
29799 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
29800 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29801 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29802 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
29803 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
29804 * normal/handler.c (insert_handler): Likewise.
29805 * normal/main.c (GRUB_MOD_INIT): Likewise.
29806 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
29807
29808 2009-12-26 Carles Pina i Estany <carles@pina.cat>
29809
29810 * commands/help.c (grub_cmd_help): Print the command name before the
29811 summary.
29812 (GRUB_MOD_INIT): Remove command name from the summary.
29813 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
29814 string as summary.
29815 * lib/arg.c (find_long): Print the command name before the summary.
29816 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
29817 summary.
29818 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
29819 * commands/cat.c (GRUB_MOD_INIT): Likewise.
29820 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
29821 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
29822 * commands/crc.c (GRUB_MOD_INIT): Likewise.
29823 * commands/date.c (GRUB_MOD_INIT): Likewise.
29824 * commands/echo.c (GRUB_MOD_INIT): Likewise.
29825 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
29826 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
29827 * commands/handler.c (GRUB_MOD_INIT): Likewise.
29828 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
29829 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
29830 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
29831 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
29832 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
29833 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
29834 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
29835 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
29836 * commands/ls.c (GRUB_MOD_INIT): Likewise.
29837 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
29838 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
29839 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
29840 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
29841 * commands/password.c (GRUB_MOD_INIT): Likewise.
29842 * commands/probe.c (GRUB_MOD_INIT): Likewise.
29843 * commands/read.c (GRUB_MOD_INIT): Likewise.
29844 * commands/search.c (GRUB_MOD_INIT): Likewise.
29845 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
29846 * commands/test.c (GRUB_MOD_INIT): Likewise.
29847 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
29848 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
29849 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
29850 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
29851 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
29852 * lib/arg.c (GRUB_MOD_INIT): Likewise.
29853 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
29854 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
29855 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
29856 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
29857 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
29858 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
29859 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
29860 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
29861
29862 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
29863
29864 Use search command for preliminar UUID search.
29865
29866 * commands/search.c: Split into ...
29867 * commands/search_wrap.c: ...this
29868 * commands/search.c: ...and this.
29869 * commands/search_file.c: New file.
29870 * commands/search_label.c: New file.
29871 * commands/search_uuid.c: New file.
29872 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
29873 Add commands/search_wrap.c, commands/search_file.c,
29874 commands/search_label.c and commands/search_uuid.c.
29875 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
29876 (search_mod_SOURCES): Set to commands/search_wrap.c.
29877 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
29878 search_label.mod.
29879 (search_fs_file_mod_SOURCES): New variable.
29880 (search_fs_file_mod_CFLAGS): Likewise.
29881 (search_fs_file_mod_LDFLAGS): Likewise.
29882 (search_label_mod_SOURCES): Likewise.
29883 (search_label_mod_CFLAGS): Likewise.
29884 (search_label_mod_LDFLAGS): Likewise.
29885 (search_fs_uuid_mod_SOURCES): New variable.
29886 (search_fs_uuid_mod_CFLAGS): Likewise.
29887 (search_fs_uuid_mod_LDFLAGS): Likewise.
29888 (fs_file_mod_SOURCES): Removed.
29889 (fs_file_mod_CFLAGS): Likewise.
29890 (fs_file_mod_LDFLAGS): Likewise.
29891 (fs_uuid_mod_SOURCES): Removed.
29892 (fs_uuid_mod_CFLAGS): Likewise.
29893 (fs_uuid_mod_LDFLAGS): Likewise.
29894 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
29895 Set to util/grub-install.in.
29896 * disk/fs_file.c: Removed.
29897 * disk/fs_uuid.c: Likewise.
29898 * include/grub/search.h: New file.
29899 * util/grub-install.in: Handle sparc64.
29900 Create and use load.cfg.
29901 * util/sparc64/ieee1275/grub-install.in: Removed.
29902
29903 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
29904
29905 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
29906 Ignore return status if CF is cleared.
29907 (grub_biosdisk_get_diskinfo_standard): Likewise.
29908
29909 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
29910
29911 * term/i386/pc/at_keyboard.c
29912 (keyboard_controller_wait_untill_ready): New function.
29913 (grub_keyboard_controller_write, grub_keyboard_controller_read)
29914 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
29915 for keyboard polling, rather than duplicate the same loop. This
29916 saves a few bytes in code size.
29917
29918 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
29919
29920 Support for (pxe[:server[:gateway]]) syntax and
29921 use environment variable for PXE.
29922
29923 * commands/i386/pc/pxecmd.c (options): Removed.
29924 (print_ip): Removed.
29925 (grub_cmd_pxe): Removed
29926 (grub_cmd_pxe_unload): New function.
29927 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
29928 (grub_pxe_your_ip): Made static.
29929 (grub_pxe_default_server_ip): Likewise.
29930 (grub_pxe_default_gateway_ip): Likewise.
29931 (grub_pxe_blksize): Likewise.
29932 (parse_ip): New function.
29933 (grub_pxe_open): Support server and gateway specification.
29934 (grub_pxe_close): Free disk->data.
29935 (grub_pxefs_open): Use disk->data.
29936 (grub_pxefs_read): Likewise.
29937 (grub_env_write_readonly): New function.
29938 (set_mac_env): Likewise.
29939 (set_env_limn_ro): Likewise.
29940 (parse_dhcp_vendor): Likewise.
29941 (grub_pxe_detect): Set the environment variables.
29942 (set_ip_env): New function.
29943 (write_ip_env): Likewise.
29944 (grub_env_write_pxe_default_server): Likewise.
29945 (grub_env_write_pxe_default_gateway): Likewise.
29946 (grub_env_write_pxe_blocksize): Likewise.
29947 (GRUB_MOD_INIT(pxe)): Set environment variables.
29948 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
29949 (grub_pxe_mac_addr_t): ... this. All users updated.
29950 (grub_pxe_your_ip): Removed.
29951 (grub_pxe_server_ip): Likewise.
29952 (grub_pxe_gateway_ip): Likewise.
29953 (grub_pxe_blksize): Likewise.
29954
29955 2009-12-25 Carles Pina i Estany <carles@pina.cat>
29956
29957 * commands/help.c: Include `<grub/i18n.h>'.
29958 (grub_cmd_help): Gettextizze.
29959 (GRUB_MOD_INIT): Likewise.
29960 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
29961 (GRUB_MOD_INIT): Gettextizze.
29962 * commands/search.c: Include `<grub/i18n.h>'.
29963 (options): Gettextizze.
29964 (GRUB_MOD_INIT): Gettextizze.
29965 * lib/arg.c: Include `<grub/i18n.h>'.
29966 (help_options): Gettextizze.
29967 (find_long): Likewise.
29968 (grub_arg_show_help): Likewise.
29969 * normal/dyncmd.c: Include `<grub/i18n.h>'.
29970 (read_command_list): Gettextizze.
29971 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
29972 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
29973
29974 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
29975
29976 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
29977 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
29978 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
29979 (led_status): New variable.
29980 (keyboard_controller_led): New function.
29981 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
29982 update led status for caps lock, num lock and scroll lock.
29983
29984 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
29985
29986 * util/hostdisk.c (open_device): Fix a comment.
29987
29988 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29989
29990 * util/grub-install.in (host_os): New variable.
29991 * util/i386/efi/grub-install.in (host_os): Likewise.
29992
29993 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29994
29995 * util/mkisofs/write.c (padblock_write): Abort when given an
29996 excedingly large embed image, instead of silently truncating it.
29997
29998 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29999
30000 * include/multiboot.h: Indentation fixes.
30001
30002 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30003
30004 * include/multiboot.h (struct multiboot_aout_symbol_table)
30005 (struct multiboot_elf_section_header_table): New structure
30006 declarations (stolen from GRUB Legacy).
30007 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
30008 table information.
30009
30010 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
30011 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
30012 type aliases.
30013
30014 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30015
30016 * include/multiboot.h: Make comments src2texi-friendly.
30017
30018 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30019
30020 For consistency with [multiboot]/docs/boot.S.
30021
30022 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
30023 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
30024 (MULTIBOOT_MAGIC2): Rename from this ...
30025 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
30026
30027 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30028
30029 * include/multiboot.h: Remove `<grub/types.h>'.
30030 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
30031 types. Update all users.
30032
30033 2009-12-25 Carles Pina i Estany <carles@pina.cat>
30034
30035 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
30036 `couldn't' and `can not' by `cannot'.
30037 * commands/i386/pc/drivemap.c: Likewise.
30038 * disk/ata.c: Likewise.
30039 * disk/ieee1275/nand.c: Likewise.
30040 * fs/affs.c: Likewise.
30041 * fs/fat.c: Likewise.
30042 * fs/hfs.c: Likewise.
30043 * fs/hfsplus.c: Likewise.
30044 * fs/iso9660.c: Likewise.
30045 * fs/jfs.c: Likewise.
30046 * fs/minix.c: Likewise.
30047 * fs/reiserfs.c: Likewise.
30048 * fs/sfs.c: Likewise.
30049 * fs/udf.c: Likewise.
30050 * fs/ufs.c: Likewise.
30051 * fs/xfs.c: Likewise.
30052 * loader/powerpc/ieee1275/linux.c: Likewise.
30053 * loader/sparc64/ieee1275/linux.c: Likewise.
30054 * util/grub-probe.c: Likewise.
30055 * util/misc.c: Likewise.
30056
30057 2009-12-24 Carles Pina i Estany <carles@pina.cat>
30058
30059 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
30060 grub_errno calls.
30061 * commands/acpi.c: Likewise.
30062 * commands/blocklist.c: Likewise.
30063 * commands/efi/loadbios.c: Likewise.
30064 * commands/i386/pc/drivemap.c: Likewise.
30065 * commands/loadenv.c: Likewise.
30066 * commands/memrw.c: Likewise.
30067 * commands/password.c: Likewise.
30068 * commands/videotest.c: Likewise.
30069 * disk/ata.c: Likewise.
30070 * disk/ata_pthru.c: Likewise.
30071 * disk/dmraid_nvidia.c: Likewise.
30072 * disk/ieee1275/nand.c: Likewise.
30073 * disk/ieee1275/ofdisk.c: Likewise.
30074 * disk/loopback.c: Likewise.
30075 * disk/lvm.c: Likewise.
30076 * disk/mdraid_linux.c: Likewise.
30077 * disk/raid.c: Likewise.
30078 * disk/raid6_recover.c: Likewise.
30079 * disk/scsi.c: Likewise.
30080 * efiemu/main.c: Likewise.
30081 * efiemu/mm.c: Likewise.
30082 * efiemu/pnvram.c: Likewise.
30083 * efiemu/symbols.c: Likewise.
30084 * font/font.c: Likewise.
30085 * fs/cpio.c: Likewise.
30086 * fs/hfsplus.c: Likewise.
30087 * fs/iso9660.c: Likewise.
30088 * fs/jfs.c: Likewise.
30089 * fs/minix.c: Likewise.
30090 * fs/ntfs.c: Likewise.
30091 * fs/ntfscomp.c: Likewise.
30092 * fs/reiserfs.c: Likewise.
30093 * fs/ufs.c: Likewise.
30094 * fs/xfs.c: Likewise.
30095 * gettext/gettext.c: Likewise.
30096 * include/grub/auth.h: Likewise.
30097 * kern/elf.c: Likewise.
30098 * kern/file.c: Likewise.
30099 * kern/ieee1275/init.c: Likewise.
30100 * kern/ieee1275/mmap.c: Likewise.
30101 * kern/ieee1275/openfw.c: Likewise.
30102 * kern/powerpc/dl.c: Likewise.
30103 * kern/sparc64/dl.c: Likewise.
30104 * lib/arg.c: Likewise.
30105 * loader/i386/bsd.c: Likewise.
30106 * loader/i386/bsdXX.c: Likewise.
30107 * loader/i386/efi/linux.c: Likewise.
30108 * loader/i386/efi/xnu.c: Likewise.
30109 * loader/i386/ieee1275/linux.c: Likewise.
30110 * loader/i386/linux.c: Likewise.
30111 * loader/i386/multiboot.c: Likewise.
30112 * loader/i386/pc/linux.c: Likewise.
30113 * loader/i386/pc/multiboot2.c: Likewise.
30114 * loader/i386/xnu.c: Likewise.
30115 * loader/ieee1275/multiboot2.c: Likewise.
30116 * loader/macho.c: Likewise.
30117 * loader/machoXX.c: Likewise.
30118 * loader/multiboot2.c: Likewise.
30119 * loader/multiboot_loader.c: Likewise.
30120 * loader/powerpc/ieee1275/linux.c: Likewise.
30121 * loader/sparc64/ieee1275/linux.c: Likewise.
30122 * loader/xnu.c: Likewise.
30123 * loader/xnu_resume.c: Likewise.
30124 * mmap/i386/pc/mmap.c: Likewise.
30125 * normal/menu_viewer.c: Likewise.
30126 * partmap/acorn.c: Likewise.
30127 * partmap/amiga.c: Likewise.
30128 * partmap/apple.c: Likewise.
30129 * script/lexer.c: Likewise.
30130 * term/gfxterm.c: Likewise.
30131 * term/i386/pc/serial.c: Likewise.
30132 * term/i386/pc/vga.c: Likewise.
30133 * term/ieee1275/ofconsole.c: Likewise.
30134 * term/terminfo.c: Likewise.
30135 * video/bitmap.c: Likewise.
30136 * video/efi_gop.c: Likewise.
30137 * video/efi_uga.c: Likewise.
30138 * video/fb/video_fb.c: Likewise.
30139 * video/i386/pc/vbe.c: Likewise.
30140 * video/readers/tga.c: Likewise.
30141 * video/video.c: Likewise.
30142
30143 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
30144
30145 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
30146 * commands/lspci.c: Likewise.
30147 * commands/probe.c: Likewise.
30148 * commands/xnu_uuid.c: Likewise.
30149 * conf/i386-coreboot.rmk: Likewise.
30150 * conf/i386-efi.rmk: Likewise.
30151 * conf/i386-ieee1275.rmk: Likewise.
30152 * conf/i386-pc.rmk: Likewise.
30153 * conf/powerpc-ieee1275.rmk: Likewise.
30154 * conf/sparc64-ieee1275.rmk: Likewise.
30155 * conf/x86_64-efi.rmk: Likewise.
30156 * fs/i386/pc/pxe.c: Likewise.
30157 * gettext/gettext.c: Likewise.
30158 * include/grub/efi/graphics_output.h: Likewise.
30159 * include/grub/i386/pc/memory.h: Likewise.
30160 * kern/env.c: Likewise.
30161 * kern/i386/qemu/startup.S: Likewise.
30162 * lib/i386/pc/biosnum.c: Likewise.
30163 * lib/i386/relocator.c: Likewise.
30164 * lib/i386/relocator_asm.S: Likewise.
30165 * lib/relocator.c: Likewise.
30166 * loader/i386/bsd.c: Likewise.
30167 * loader/i386/multiboot.c: Likewise.
30168 * loader/i386/pc/chainloader.c: Likewise.
30169 * loader/i386/xnu.c: Likewise.
30170 * loader/xnu.c: Likewise.
30171 * normal/main.c: Likewise.
30172 * normal/menu_text.c: Likewise.
30173 * util/getroot.c: Likewise.
30174 * util/grub-mkconfig_lib.in: Likewise.
30175 * util/grub.d/00_header.in: Likewise.
30176 * util/i386/pc/grub-mkimage.c: Likewise.
30177 * util/mkisofs/eltorito.c: Likewise.
30178 * util/mkisofs/exclude.h: Likewise.
30179 * util/mkisofs/hash.c: Likewise.
30180 * util/mkisofs/iso9660.h: Likewise.
30181 * util/mkisofs/joliet.c: Likewise.
30182 * util/mkisofs/mkisofs.c: Likewise.
30183 * util/mkisofs/mkisofs.h: Likewise.
30184 * util/mkisofs/multi.c: Likewise.
30185 * util/mkisofs/name.c: Likewise.
30186 * util/mkisofs/rock.c: Likewise.
30187 * util/mkisofs/tree.c: Likewise.
30188 * util/mkisofs/write.c: Likewise.
30189 * video/efi_gop.c: Likewise.
30190
30191 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
30192
30193 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
30194 size counting.
30195
30196 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
30197
30198 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
30199 * genmk.rb (class SCRIPT): Modify the target file instead of source.
30200
30201 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30202
30203 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
30204 (GRUB_MOD_INIT(memrw)): Update help line.
30205
30206 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30207
30208 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
30209 Use grub_extcmd_t. All users updated.
30210 (options): New variable.
30211 (grub_cmd_read): Restructure for readability. Support "-v" option.
30212 (grub_cmd_write): Restructure for readability.
30213
30214 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
30215
30216 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
30217
30218 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
30219
30220 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
30221 with the actual contents of the correspondending make variable.
30222 * util/grub-mkrescue.in (pkglib_DATA): New variable.
30223 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
30224 specifying `*.lst' and `efiemu??.o'
30225
30226 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
30227
30228 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
30229 after function name.
30230 Noticed by Rene Engelhard <rene@debian.org>.
30231
30232 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30233
30234 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
30235 (options): New variable.
30236 (iospace): Likewise.
30237 (grub_lspci_iter): List IO spaces if "-i" was given.
30238 (grub_cmd_lspci): Parse options.
30239 (GRUB_MOD_INIT(lspci)): Use extcmd.
30240 (GRUB_MOD_FINI(lspci)): Likewise.
30241
30242 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
30243
30244 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
30245 `function' keyword.
30246 Patch by Tony Mancill <tmancill@debian.org>.
30247
30248 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30249
30250 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
30251 (grub_uhci_portstatus): Likewise.
30252 (grub_uhci_portstatus): Add necessary delay.
30253 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
30254
30255 2009-12-21 Carles Pina i Estany <carles@pina.cat>
30256
30257 * commands/acpi.c (options): Fix capitalizations and/or full stops.
30258 (GRUB_MOD_INIT): Likewise.
30259 * commands/boot.c (GRUB_MOD_INIT): Likewise.
30260 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
30261 * commands/echo.c (options): Fix capitalizations and/or full stops.
30262 * commands/efi/loadbios.c (enable_rom_area): Likewise.
30263 (enable_rom_area): Likewise.
30264 (GRUB_MOD_INIT): Likewise.
30265 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
30266 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
30267 * commands/handler.c (GRUB_MOD_INIT): Likewise.
30268 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
30269 * commands/hexdump.c (options): Likewise.
30270 * commands/i386/cpuid.c (options): Likewise.
30271 (GRUB_MOD_INIT): Likewise.
30272 * commands/i386/pc/drivemap.c (options): Likewise.
30273 (GRUB_MOD_INIT): Likewise.
30274 * commands/i386/pc/halt (options): Likewise.
30275 (GRUB_MOD_INIT): Likewise.
30276 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
30277 * commands/i386/pc/pxecmd.c (options): Likewise.
30278 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
30279 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
30280 * commands/keystatus.c (options): Likewise.
30281 (GRUB_MOD_INIT): Likewise.
30282 * commands/loadenv.c (options): Likewise.
30283 * commands/ls.c (options): Likewise.
30284 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
30285 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
30286 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
30287 * commands/parttool.c (helpmsg): Likewise.
30288 * commands/probe.c (options): Likewise.
30289 * commands/read.c (GRUB_MOD_INIT): Likewise.
30290 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
30291 * commands/search.c (options): Likewise.
30292 * commands/sleep.c (options): Likewise.
30293 * commands/test.c (GRUB_MOD_INIT): Likewise.
30294 * commands/true.c (GRUB_MOD_INIT): Likewise.
30295 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
30296 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
30297 * lib/arg.c (help_options): Likewise.
30298 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
30299 `$(XGETTEXT)'.
30300 * po/POTFILES: Add `commands/loadenv.c'.
30301
30302 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
30303
30304 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
30305 instead of specifying them explicit.
30306
30307 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30308
30309 * NEWS: Add grub-probe support for GNU/Hurd.
30310
30311 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30312
30313 * NEWS: gettext was added after 1.97.
30314
30315 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30316
30317 * util/mkisofs/msdos_partition.h: New file (based on
30318 include/grub/msdos_partition.h).
30319 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
30320 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
30321 (ld_options, main): Recognize --protective-msdos-label.
30322 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
30323 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
30324 (padblock_write): If `use_protective_msdos_label' is set, patch a
30325 protective DOS-style label in the output image.
30326
30327 * util/grub-mkrescue.in: Use --protective-msdos-label.
30328
30329 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30330
30331 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
30332 boot.
30333
30334 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30335
30336 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
30337 variables.
30338 (ld_options, main): Recognize `--embedded-boot'.
30339 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
30340 declarations.
30341 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
30342 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
30343 (padblock_write): Likewise. Rewrite to support embedded boot image.
30344
30345 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
30346 for BIOS-based disk boot instead of only ElTorito.
30347
30348 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30349
30350 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
30351 build (not needed for bootstrap).
30352
30353 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30354
30355 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
30356 from i386-pc build (not needed for bootstrap).
30357 Rewrite a pair of strings.
30358
30359 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30360
30361 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
30362
30363 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
30364
30365 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
30366
30367 2009-12-21 Andreas Born <futur.andy@googlemail.com>
30368
30369 * kern/env.c (grub_env_context_open): Mark exported variable for
30370 reexport.
30371
30372 2009-12-21 Andreas Born <futur.andy@googlemail.com>
30373
30374 * kern/env.c (grub_env_export): Create nonexistent variables before
30375 exporting.
30376
30377 2009-12-20 Carles Pina i Estany <carles@pina.cat>
30378
30379 * include/grub/auth.h: Include `<grub/i18n.h>'.
30380 (GRUB_GET_PASSWORD): Gettextizze string.
30381 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
30382 menu_text.c.
30383 (grub_utf8_to_ucs4_alloc): Fix indentation.
30384 (grub_print_ucs4): Likewise.
30385 (grub_getstringwidth): Likewise.
30386 (print_message_indented): New declaration.
30387 * normal/auth.c: Include `<grub/i18n.h>'.
30388 (grub_auth_check_authentication): Gettexttize string.
30389 * normal/cmdline.c: Include `<grub/i18n.h>'.
30390 (grub_cmdline_get): Gettextizze.
30391 * normal/color.c: Include `<grub/i18n.h>'.
30392 (grub_parse_color_name_pair): Gettexttize strings.
30393 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
30394 string (use `print_message_indented').
30395 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
30396 `include/grub/normal.h'.
30397 (print_message_indented): Renamed to ...
30398 (grub_print_message_indented): ... this. Remove `static' qualifer (now
30399 used in normal/main.c).
30400 (print_message): Use `grub_print_message_indented' instead of
30401 `print_message_indented'.
30402 (print_timeout): Likewise.
30403 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
30404 (grub_normal_print_device_info): Gettexttize strings.
30405 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
30406
30407 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
30408
30409 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
30410 of arguments. Return number of tokens and not arguments. All users
30411 updated.
30412
30413 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
30414
30415 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
30416 non-MSDOS paritions.
30417
30418 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
30419
30420 * include/grub/types.h (UNUSED): Removed since it conflicts with
30421 NetBSD headers. All users changed to direct __attribute__ ((unused)).
30422 Reported by Grégoire Sutre.
30423
30424 2009-12-19 Carles Pina i Estany <carles@pina.cat>
30425
30426 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
30427 (grub_print_ucs4_alloc): Likewise.
30428 (grub_getstringwidth): Likewise.
30429 * normal/main.c (grub_normal_init_page): Gettextize version string.
30430 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
30431 (getstringwidth): Renamed to ...
30432 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
30433 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
30434 (grub_print_ucs4): Remove `static' qualifer (now used in
30435 normal/main.c).
30436 * po/POTFILES: Add normal/main.c.
30437
30438 2009-12-19 Carles Pina i Estany <carles@pina.cat>
30439
30440 * normal/menu_text.c (STANDARD_MARGIN): New macro.
30441 (print_message_indented): Add `margin_left' and `margin_right'
30442 parameters.
30443 (print_message): Update `print_message_indented' calls. Adds '\n' to the
30444 strings.
30445 (print_timeout): Use `print_message_indented' to print the message.
30446 Deletes `second_stage' parameter.
30447 (run_menu): Update `print_timeout' calls.
30448
30449 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
30450
30451 Fix console palette on OpenFirmware.
30452
30453 * term/ieee1275/ofconsole.c (MAX): Removed.
30454 (colors): Redone based on VGA palette.
30455 (grub_ofconsole_setcolor): Discard brightness bit since only 8
30456 colors are supported.
30457 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
30458
30459 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
30460
30461 Fix potential EfiEmu double prepare.
30462
30463 * efiemu/main.c (prepared): New variable
30464 (grub_efiemu_unload): Set prepare to '0'.
30465 (grub_efiemu_prepare): Return if already prepared. Set prepared.
30466
30467 set_virtual_address_map support.
30468
30469 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
30470 prototype.
30471 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
30472 prototype.
30473 (grub_efiemu_crc32): Likewise.
30474 (grub_efiemu_crc64): Likewise.
30475 (grub_efiemu_set_virtual_address_map): Likewise.
30476 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
30477 New definition.
30478 (grub_autoefi_set_virtual_address_map): Likewise.
30479 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
30480 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
30481 Restructure flow to accomodate it.
30482 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
30483 (grub_efiemu_crc): Recompute CRC32.
30484 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
30485 (efiemu_ptv_relocated): ... this. Made global. All users updated.
30486 * efiemu/symbols.c (relocated_handle): New variable.
30487 (grub_efiemu_free_syms): Free relocated_handle.
30488 (grub_efiemu_alloc_syms): Allocate relocated_handle.
30489 (grub_efiemu_write_sym_markers): New function.
30490 (grub_efiemu_set_virtual_address_map): Likewise.
30491
30492 Newer XNU parameters.
30493
30494 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
30495 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
30496 (grub_xnu_fill_devicetree): New prototype.
30497 (grub_xnu_heap_real_start): New variable.
30498 * loader/xnu.c (get_name_ptr): New function.
30499 (grub_xnu_load_driver): Fill namelen and name.
30500
30501 64-bit xnu support.
30502
30503 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
30504 and 'loader/macho64.c'.
30505 * conf/i386-pc.rmk: Likewise.
30506 * conf/x86_64-efi.rmk: Likewise.
30507 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
30508 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
30509 * include/grub/macho.h (grub_macho_segment64): New structure.
30510 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
30511 (grub_macho_size32): ... to this.
30512 (grub_macho32_get_entry_point): Renamed from ...
30513 (grub_macho_get_entry_point32): ... to this.
30514 (grub_macho_contains_macho64): New prototype.
30515 (grub_macho_size64): Likewise.
30516 (grub_macho_get_entry_point64): Likewise.
30517 (grub_macho32_load): Renamed from ...
30518 (grub_macho_load32): ... to this.
30519 (grub_macho32_filesize): Renamed from ...
30520 (grub_macho_filesize32): ... to this.
30521 (grub_macho32_readfile): Renamed from ...
30522 (grub_macho_readfile32): ... to this.
30523 (grub_macho_filesize64): New prototype.
30524 (grub_macho_readfile64): Likewise.
30525 (grub_macho_parse32): Likewise.
30526 (grub_macho_parse64): Likewise.
30527 * loader/macho.c: Split into ...
30528 * loader/machoXX.c: ... and this. Replace 32 with XX.
30529 * loader/macho32.c: New file.
30530 * loader/macho64.c: Likewise.
30531 * loader/xnu.c (grub_xnu_is_64bit): New variable.
30532 (grub_cmd_xnu_kernel): Make 32-bit only.
30533 (grub_cmd_xnu_kernel64): New function.
30534 (grub_xnu_load_driver): Support Mach-O 64.
30535 (grub_cmd_xnu_mkext): Likewise.
30536 * util/grub.d/30_os-prober.in (osx_entry): New function.
30537 Generate entries for 64-bit boot too.
30538
30539 Eliminate ad-hoc tree format in XNU and EfiEmu.
30540
30541 * efiemu/main.c (grub_efiemu_prepare): Update comment.
30542 * efiemu/pnvram.c: Rewritten to use environment variables.
30543 All users updated.
30544
30545 Inline utf16_to_utf8.
30546
30547 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
30548 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
30549 All users updated.
30550 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
30551
30552 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
30553 * commands/usbtest.c (grub_usb_get_string): ... move here.
30554 (usb_print_str): Fix error handling.
30555 * include/grub/usb.h (grub_usb_get_string): Remove.
30556
30557 UTF-8 to UTF-16 transformation.
30558
30559 * conf/common.rmk (pkglib_MODULES): Add charset.mod
30560 (charset_mod_SOURCES): New variable.
30561 (charset_mod_CFLAGS): Likewise.
30562 (charset_mod_LDFLAGS): Likewise.
30563 * include/grub/utf.h: New file.
30564 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
30565
30566 Support for device properties.
30567
30568 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
30569 (grub_xnu_devprop_device_header): Likewise.
30570 (grub_xnu_devprop_device_descriptor): Likewise.
30571 (grub_xnu_devprop_add_device): New prototype.
30572 (grub_xnu_devprop_remove_device): Likewise.
30573 (grub_xnu_devprop_remove_property): Likewise.
30574 (grub_xnu_devprop_add_property_utf8): Likewise.
30575 (grub_xnu_devprop_add_property_utf16): Likewise.
30576 (grub_cpu_xnu_init): Likewise.
30577 (grub_cpu_xnu_fini): Likewise.
30578 (grub_cpu_xnu_unload): Likewise.
30579 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
30580 (property_descriptor): Likewise.
30581 (devices): New variable.
30582 (grub_xnu_devprop_remove_property): New function.
30583 (grub_xnu_devprop_add_device): Likewise.
30584 (grub_xnu_devprop_remove_device): Likewise.
30585 (grub_xnu_devprop_add_property): Likewise.
30586 (grub_xnu_devprop_add_property_utf8): Likewise.
30587 (grub_xnu_devprop_add_property_utf16): Likewise.
30588 (hextoval): Likewise.
30589 (grub_cpu_xnu_fill_devprop): Likewise.
30590 (grub_cmd_devprop_load): Likewise.
30591 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
30592 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
30593 (cmd_devprop_load): New variable.
30594 (grub_cpu_xnu_init): New function.
30595 (grub_cpu_xnu_fini): Likewise.
30596 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
30597 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
30598 (grub_cmd_xnu_devtree): Likewise.
30599 (hextoval): New function.
30600 (unescape): Likewise.
30601 (grub_xnu_fill_devicetree): Likewise.
30602
30603 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
30604 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
30605
30606 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
30607
30608 Workaround for broken ATI VBE.
30609
30610 * video/i386/pc/vbe.c (last_set_mode): New variable.
30611 (grub_vbe_set_video_mode): Set 'last_set_mode'.
30612 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
30613 (grub_video_vbe_setup): Don't check for reserved flag.
30614
30615 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
30616
30617 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
30618 the `find' command.
30619
30620 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
30621
30622 UUID support for HFS.
30623
30624 * fs/hfs.c (grub_hfs_uuid): New function.
30625 (grub_hfs_fs): New value .uuid.
30626 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
30627
30628 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
30629
30630 Fix a segfault with parsing unknown long options.
30631
30632 * util/grub-mkrelpath.c (options): Zero terminate it.
30633
30634 2009-12-13 Carles Pina i Estany <carles@pina.cat>
30635
30636 * include/grub/misc.h (grub_puts): New declaration.
30637 (grub_puts_): Likewise.
30638 * kern/misc.c (grub_puts): New definition.
30639 (grub_puts_): Likewise.
30640
30641 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
30642
30643 * util/grub-probe.c (probe): Improve error message.
30644
30645 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
30646
30647 * loader/i386/multiboot_elfxx.c
30648 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
30649 initialization.
30650
30651 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
30652
30653 Relocator framework
30654
30655 * loader/i386/xnu_helper.S: Removed. All users updated.
30656 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
30657 (relocator_mod_SOURCES): New variable.
30658 (relocator_mod_CFLAGS): Likewise.
30659 (relocator_mod_LDFLAGS): Likewise.
30660 (relocator_mod_ASFLAGS): Likewise.
30661 * conf/x86_64.rmk: Likewise.
30662 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
30663 (grub_multiboot_payload_entry_offset): Likewise.
30664 (grub_multiboot_forward_relocator): Likewise.
30665 (grub_multiboot_forward_relocator_end): Likewise.
30666 (grub_multiboot_backward_relocator): Likewise.
30667 (grub_multiboot_backward_relocator_end): Likewise.
30668 (grub_multiboot_payload_eip): New variable.
30669 (grub_multiboot_payload_orig): Likewise.
30670 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
30671 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
30672 * include/grub/i386/memory.h
30673 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
30674 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
30675 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
30676 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
30677 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
30678 * include/grub/i386/relocator.h: New file.
30679 * include/grub/x86_64/relocator.h: Likewise.
30680 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
30681 (XNU_RELOCATOR): New macro.
30682 (grub_xnu_launcher_start): Remove.
30683 (grub_xnu_launcher_end): Likewise.
30684 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
30685 (grub_xnu_heap_real_start): Remove.
30686 (grub_xnu_heap_start): Change to void *. All users updated.
30687 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
30688 * lib/i386/relocator.c: New file.
30689 * lib/i386/relocator_asm.S: Likewise.
30690 * lib/i386/relocator_backward.S: Likewise.
30691 * lib/mips/relocator.c: Likewise.
30692 * lib/mips/relocator_asm.S: Likewise.
30693 * lib/relocator.c: Likewise.
30694 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
30695 (entry): Removed.
30696 (playground): Likewise.
30697 (grub_multiboot_payload_orig): New variable.
30698 (grub_multiboot_payload_dest): Likewise.
30699 (grub_multiboot_payload_size): Likewise.
30700 (grub_multiboot_payload_eip): Likewise.
30701 (grub_multiboot_payload_esp): Likewise.
30702 (grub_multiboot_boot): Use grub_relocator32_boot.
30703 (grub_multiboot_unload): Free relocators.
30704 (grub_multiboot): Setup stack. Use relocators.
30705 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
30706 (grub_multiboot_load_elfXX): Use relocators.
30707 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
30708 (grub_multiboot_payload_size): Likewise.
30709 (grub_multiboot_payload_dest): Likewise.
30710 (grub_multiboot_payload_entry_offset): Likewise.
30711 (grub_multiboot_forward_relocator): Likewise.
30712 (grub_multiboot_backward_relocator): Likewise.
30713 (grub_multiboot_real_boot): Likewise.
30714 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
30715 (grub_xnu_entry_point): Likewise.
30716 (grub_xnu_arg1): Likewise.
30717 (grub_xnu_stack): Likewise.
30718 (grub_xnu_launch): Removed.
30719 (grub_xnu_boot_resume): New function.
30720 (grub_xnu_boot): Use relocators.
30721 * loader/i386/xnu_helper.S: Removed.
30722 * loader/xnu.c (grub_xnu_heap_start): New variable.
30723 (grub_xnu_heap_size): Likewise.
30724 (grub_xnu_heap_malloc): Use relocators.
30725 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
30726
30727 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
30728
30729 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
30730 anything.
30731
30732 2009-12-13 Carles Pina i Estany <carles@pina.cat>
30733
30734 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
30735 GRUB_ERR_NONE before calling grub_env_set.
30736
30737 2009-12-12 Robert Millan <rmh@aybabtu.com>
30738
30739 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
30740 * genmk.rb (video): New variable.
30741 (CLEANFILES, VIDEOFILES): Add #{video}.
30742 (#{video}): New target rule.
30743 * genvideolist.sh: New file.
30744 * Makefile.in (pkglib_DATA): Add video.lst.
30745 (video.lst): New target rule.
30746 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
30747 `video.lst'.
30748 * util/grub.d/30_os-prober.in: Replace `vbe' with
30749 ${GRUB_VIDEO_BACKEND}.
30750
30751 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
30752
30753 * THANKS: Add David Miller.
30754
30755 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
30756
30757 libpciaccess support.
30758
30759 * Makefile.in (LIBPCIACCESS): New variable.
30760 (enable_grub_emu_pci): Likewise.
30761 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
30762 util/pci.c and commands/lspci.c.
30763 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
30764 * configure.ac (grub-emu-pci): New option.
30765 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
30766 (grub_pci_device_unmap_range): Likewise.
30767 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
30768 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
30769 (grub_pci_address_t) [!GRUB_UTIL]: New type.
30770 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
30771 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
30772 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
30773 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
30774 * include/grub/pciutils.h: New file.
30775 * util/pci.c: Likewise.
30776
30777 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
30778
30779 * util/misc.c: Don't include <errno.h> twice.
30780
30781 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
30782
30783 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
30784 name in an error message.
30785 (grub_biosdisk_rw): Likewise.
30786
30787 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
30788
30789 Eliminate NTFS 4Gib barrier.
30790
30791 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
30792 (read_run_data): Likewise.
30793 (grub_ntfs_read_run_list): Likewise.
30794 (grub_ntfs_read_block): Likewise.
30795 (grub_ntfs_iterate_dir): Likewise.
30796 (read_mft): Likewise.
30797 (read_data): Likewise.
30798 Use COM_LOG_LEN.
30799 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
30800 to avoid 64-bit division
30801 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
30802 (grub_ntfs_rlst): Use grub_disk_addr_t.
30803
30804 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
30805
30806 Eliminate grub-fstest 4Gib barrier.
30807
30808 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
30809 (read_file): Fix error reporting.
30810
30811 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
30812
30813 Eliminate hexdump 4Gib barrier.
30814
30815 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
30816 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
30817
30818 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
30819
30820 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
30821 Fixes amarsh bug.
30822
30823 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
30824
30825 Remove miscellaneous files in distclean target.
30826
30827 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
30828
30829 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
30830
30831 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
30832 if they're already set. This resolves the conflict between my
30833 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
30834 fixing the --grub-probe option again.
30835 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
30836 change on 2009-10-06, so that we now once again source
30837 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
30838
30839 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
30840
30841 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
30842 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
30843 `util/devicemap.c'.
30844
30845 2009-12-08 Carles Pina i Estany <carles@pina.cat>
30846
30847 * include/grub/misc.h (grub_printf_): New declaration.
30848 * kern/misc.c (grub_printf_): New definition.
30849 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
30850 instead of `grub_printf' and `_'.
30851 * normal/menu_entry.c (store_completion): Likewise.
30852 (run): Likewise.
30853 (grub_menu_entry_run): Likewise.
30854 * normal/menu_text.c (grub_wait_after_message): Likewise.
30855 (notify_booting): Likewise.
30856 (notify_fallback): Likewise.
30857 (notify_execution_failure): Likewise.
30858
30859 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
30860
30861 * configure.ac: Check for vasprintf.
30862 * util/misc.c (asprintf): Move allocation from here ...
30863 (vasprintf): ... to here. New function.
30864 (xasprintf): New function.
30865 * include/grub/util/misc.h (vasprintf, xasprintf): Add
30866 prototypes.
30867 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
30868 * util/grub-mkfont.c (write_font): Likewise.
30869 * util/grub-probe.c (probe): Likewise.
30870 * util/hostdisk.c (make_device_name): Likewise.
30871
30872 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
30873
30874 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
30875 anything even prefixed with 'cdrom' as a cdrom.
30876
30877 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
30878
30879 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
30880 mount points.
30881
30882 2009-12-05 Carles Pina i Estany <carles@pina.cat>
30883
30884 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
30885 grub_gettext_msg_list.
30886 (grub_gettext_gettranslation_from_position): Return const char *
30887 and not char *.
30888 (grub_gettext_translate): Add the translated strings into a list,
30889 returns from the list if existing there.
30890 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
30891 (grub_gettext_delete_list): Delete the list.
30892 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
30893 lang environment variable is changed.
30894 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
30895
30896 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
30897
30898 Rename kernel.mod to kernel.img.
30899
30900 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
30901 (kernel_mod_EXPORTS): Rename to ...
30902 (kernel_img_EXPORTS): ... this.
30903 (kernel_mod_SOURCES): Rename to ...
30904 (kernel_img_SOURCES): ... this.
30905 (kernel_mod_HEADERS): Rename to ...
30906 (kernel_img_HEADERS): ... this. All users updated.
30907 (kernel_mod_CFLAGS): Rename to ...
30908 (kernel_img_CFLAGS): ... this.
30909 (kernel_mod_ASFLAGS): Rename to ...
30910 (kernel_img_ASFLAGS): ... this.
30911 (kernel_mod_LDFLAGS): Rename to ...
30912 (kernel_img_LDFLAGS): ... this.
30913 * conf/x86_64-efi.rmk: Likewise.
30914 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
30915 (read_kernel_image): ... this. All users updated.
30916 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
30917
30918 2009-12-05 Carles Pina i Estany <carles@pina.cat>
30919
30920 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
30921 (print_spaces): New function.
30922 (grub_print_ucs4): New function.
30923 (getstringwidth): New function.
30924 (print_message_indented): New function.
30925 (print_message): Gettexttize strings using print_message_indented.
30926 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
30927 width.
30928 (get_entry_number): Gettextize and uses dynamic terminal width.
30929 (notify_booting, notify_fallback, notify_execution_failure):
30930 Gettextize.
30931 * normal/menu_entry.c (store_completion): Cleanup the gettextized
30932 string.
30933 (run): Likewise.
30934 (grub_menu_entry_run): Likewise.
30935 * PO/POTFILES: Add normal/menu_entry.c.
30936
30937 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
30938
30939 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
30940
30941 2009-12-05 Carles Pina i Estany <carles@pina.cat>
30942
30943 * util/grub-install.in: Install gettext .mo files.
30944 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
30945
30946 2009-12-05 Carles Pina i Estany <carles@pina.cat>
30947
30948 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
30949 grub_dprintf.
30950
30951 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
30952
30953 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
30954 non-firmware-dependant one in realmode.S takes precedence.
30955
30956 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
30957
30958 * commands/halt.c: Replace misc arch-specific headers with
30959 `<grub/misc.h>'.
30960 * commands/reboot.c: Likewise.
30961 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
30962 `<grub/misc.h>'.
30963 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
30964 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
30965 (kernel_img_SOURCES): ... to here.
30966
30967 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
30968 * include/grub/i386/pc/init.h: Likewise.
30969 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
30970 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
30971
30972 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
30973
30974 * include/grub/i386/halt.h: Remove.
30975 * include/grub/i386/reboot.h: Likewise.
30976
30977 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
30978
30979 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
30980
30981 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
30982 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
30983 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
30984 "progname.h"
30985 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
30986 * util/sparc64/ieee1275/grub-setup.c: Likewise.
30987 (usage): Add missing comma in printf.
30988
30989 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
30990
30991 Use the same reboot approach on i386 coreboot and qemu as we do on
30992 BIOS.
30993
30994 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
30995 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
30996 * kern/i386/reboot.c: Remove.
30997 * include/grub/i386/reboot.h (grub_reboot): Export function.
30998 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
30999 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
31000 0xf000:0xfff0 instead of 0xffff:0x0000.
31001 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
31002 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
31003
31004 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
31005
31006 Fix $srcdir != $objdir build.
31007
31008 * Makefile.in (po/%.po): Rewrite as ...
31009 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
31010
31011 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
31012
31013 Fix GNU/Hurd grub-install crash.
31014 * util/grub-probe.c (probe): Try to access `path' only when it is not
31015 NULL.
31016
31017 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31018
31019 Correct module naming.
31020
31021 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31022 (GRUB_MOD_INIT(efi_uga)): ... to this
31023 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31024 (GRUB_MOD_FINI(efi_uga)): ... to this
31025 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31026 (GRUB_MOD_INIT(efi_gop)): ... to this
31027 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31028 (GRUB_MOD_FINI(efi_gop)): ... to this
31029
31030 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
31031
31032 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
31033 translatable.
31034 (usage): Translate `arg' strings using gettext().
31035 Thanks to Jordi Mallach for the suggestion.
31036
31037 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31038
31039 GOP support. Based on patch from Bean
31040 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
31041
31042 * video/efi_gop.c: New file.
31043 * include/grub/efi/graphics_output.h: Likewise.
31044 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
31045 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
31046 variables.
31047 * conf/x86_64-efi.rmk: Likewise.
31048
31049 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31050
31051 Rename efi_fb to efi_uga.
31052
31053 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31054 'efi_uga.mod'.
31055 (efi_fb_mod_SOURCES): Rename this ...
31056 (efi_uga_mod_SOURCES): ... to this.
31057 (efi_fb_mod_CFLAGS): Rename this ...
31058 (efi_uga_mod_CFLAGS): ... to this.
31059 (efi_fb_mod_LDFLAGS): Rename this ...
31060 (efi_uga_mod_LDFLAGS): ... to this.
31061 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31062 'efi_uga.mod'.
31063 (efi_fb_mod_SOURCES): Rename this ...
31064 (efi_uga_mod_SOURCES): ... to this.
31065 (efi_fb_mod_CFLAGS): Rename this ...
31066 (efi_uga_mod_CFLAGS): ... to this.
31067 (efi_fb_mod_LDFLAGS): Rename this ...
31068 (efi_uga_mod_LDFLAGS): ... to this.
31069 * video/efi_fb.c: Move this ...
31070 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
31071
31072 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31073
31074 * po/README: New file. Explain our PO file workflow.
31075
31076 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31077
31078 * po/ChangeLog: Remove. Move relevant entries back to ...
31079 * ChangeLog: ... here.
31080 * po/ca.po: Remove (now handled by TLP).
31081 * po/id.po: Likewise.
31082 * po/zh_CN.po: Likewise.
31083 * Makefile.in (LINGUAS): Initialize in a way that supports
31084 empty set.
31085
31086 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31087
31088 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
31089 reliing on po/LINGUAS.
31090 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
31091 (po/%.po): ... this.
31092
31093 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
31094
31095 * util/i386/efi/grub-mkimage.c: Include "progname.h".
31096 (main): Use `program_name' instead of nonexistent `progname'.
31097
31098 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
31099
31100 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31101 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
31102
31103 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
31104
31105 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
31106 commit.
31107 * conf/i386-efi.rmk: Likewise.
31108 * conf/i386-ieee1275.rmk: Likewise.
31109 * conf/powerpc-ieee1275.rmk: Likewise.
31110 * conf/sparc64-ieee1275.rmk: Likewise.
31111 * conf/x86_64-efi.rmk: Likewise.
31112
31113 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
31114
31115 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
31116
31117 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
31118
31119 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
31120
31121 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
31122
31123 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
31124 (grub_mkdevicemap_SOURCES): New variable.
31125 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
31126 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
31127 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
31128 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
31129 (grub_mkdevicemap_SOURCES): Remove.
31130 * conf/i386-efi.rmk: Likewise.
31131 * conf/i386-ieee1275.rmk: Likewise.
31132 * conf/i386-pc.rmk: Likewise.
31133 * conf/powerpc-ieee1275.rmk: Likewise.
31134 * conf/sparc64-ieee1275.rmk: Likewise.
31135 * conf/x86_64-efi.rmk: Likewise.
31136 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
31137 (usage): Fix strings to use `program_name'.
31138 (main): Initialize gettext.
31139 * util/grub-editenv.c: Likewise.
31140 * util/grub-emu.c: Likewise.
31141 * util/grub-fstest.c: Likewise.
31142 * util/grub-mkdevicemap.c: Likewise.
31143 * util/grub-mkfont.c: Likewise.
31144 * util/grub-mkrelpath.c: Likewise.
31145 * util/grub-pe2elf.c: Likewise.
31146 * util/grub-probe.c: Likewise.
31147 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
31148 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
31149 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31150
31151 * util/misc.c: Include `"progname.h"'.
31152 (progname): Remove variable.
31153 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
31154
31155 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
31156
31157 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
31158 printf and print a newline after the menuentry header line.
31159 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
31160
31161 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
31162
31163 autoconf >= 2.60 support $(localedir).
31164
31165 * INSTALL: Note that autoconf 2.60 is required.
31166 * configure.ac (AC_PREREQ): Bump to 2.60.
31167 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
31168 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
31169
31170 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
31171
31172 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
31173 aclocal is run.
31174
31175 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
31176
31177 * normal/main.c (grub_normal_read_line): Fix off-by-one
31178 buffer overflow.
31179
31180 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
31181
31182 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
31183 "parser.grub" in grub_command_execute() call.
31184
31185 2009-11-24 Carles Pina i Estany <carles@pina.cat>
31186
31187 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
31188 * conf/i386-efi.rmk: Likewise.
31189 * conf/i386-ieee1275.rmk: Likewise.
31190 * conf/i386-pc.rmk: Likewise.
31191 * conf/powerpc-ieee1275.rmk: Likewise.
31192 * conf/sparc64-ieee1275.rmk: Likewise.
31193 * conf/x86_64-efi.rmk: Likewise.
31194 * gettext/gettex.c: Include <grub/i18n.h>.
31195 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
31196 here ...
31197 * include/grub/i18n.h: ... to here
31198 * include/grub/i18n.h: ... to here.
31199 * kern/misc.c: Include <grub/i18n.h>
31200 (grub_gettext_dummy): Move above user.
31201
31202 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
31203
31204 * util/Makefile.in (install-local): Convert a `for' into a normal
31205 shell expansion.
31206
31207 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
31208
31209 * autogen.sh: Add automake call.
31210 * config.guess: Remove.
31211 * config.sub: Likewise.
31212 * install-sh: Likewise.
31213
31214 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
31215
31216 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
31217
31218 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
31219
31220 * util/Makefile.in (install-local): Convert a make `$(foreach)'
31221 function to a normal shell `for'.
31222
31223 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
31224
31225 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31226
31227 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
31228
31229 * util/grub-mkrelpath.c: New file.
31230 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
31231 (grub_mkrelpath_SOURCES): New variable.
31232 * include/grub/util/misc.h: New function prototype.
31233 * util/misc.c (make_system_path_relative_to_its_root): New function.
31234
31235 * util/grub-mkconfig_lib.in (bindir): New variable.
31236 (grub_mkrelpath): Likewise.
31237 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
31238
31239 * util/probe.c (probe): Make the file path relative to its root.
31240 Change a info message to use the GRUB path. Enable again the
31241 check if we can read the file with GRUB facilities.
31242
31243 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
31244 to its root.
31245
31246 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
31247
31248 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
31249 platform.
31250
31251 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
31252
31253 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
31254 strncmp().
31255
31256 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
31257
31258 * util/getroot.c (grub_util_is_dmraid): New function.
31259 (grub_util_get_dev_abstraction): Treat dmraid and multipath
31260 devices as normal ones, not as LVM.
31261
31262 2009-11-23 Carles Pina i Estany <carles@pina.cat>
31263
31264 * conf/common.rmk: Add grub-gettext_lib target and updates
31265 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
31266 LDFLAGS.
31267 * gettext/gettext.c: New file. (Reads mo files).
31268 * include/grub/file.h (grub_file_pread): New prototype.
31269 * include/grub/i18n.h (_): New prototype.
31270 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
31271 prototypes.
31272 * kern/misc.c (grub_gettext_dummy): New function.
31273 * normal/menu_text.c: Include <grub/i18n.h>.
31274 * normal/menu_text.c (print_timeout): Gettexttize string.
31275 * normal/menu_text.c (print_message): Gettexttize string.
31276 * po/POTFILES: Add `normal/menu_text.c'.
31277 * po/ca.po: Add new translations.
31278 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
31279 gettext module and defines locale_dir and lang in grub.cfg.
31280 * NEWS: Add gettext support.
31281
31282 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31283
31284 * util/hostdisk.c: Include `<grub/i18n.h>'.
31285 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
31286 (make_device_name): Rewrite using asprintf.
31287 (convert_system_partition_to_system_disk): Replace 0 with NULL.
31288 (find_system_device): If a device is not found, generate one just
31289 by reusing the OS path name.
31290 (read_device_map): Make it permissible for device.map not to exist.
31291
31292 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31293
31294 * script/sh/execute.c: Move from here ...
31295 * script/execute.c: ... to here. Update all users.
31296 * script/sh/function.c: Move from here ...
31297 * script/function.c: ... to here. Update all users.
31298 * script/sh/lexer.c: Move from here ...
31299 * script/lexer.c: ... to here. Update all users.
31300 * script/sh/main.c: Move from here ...
31301 * script/main.c: ... to here. Update all users.
31302 * script/sh/parser.y: Move from here ...
31303 * script/parser.y: ... to here. Update all users.
31304 * script/sh/script.c: Move from here ...
31305 * script/script.c: ... to here. Update all users.
31306
31307 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31308
31309 * configure.ac: Detect all `emu' platforms. Define
31310 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
31311 --enable-grub-emu logic. Disable include/grub/machine
31312 symlink on `emu' platforms.
31313
31314 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
31315 * gensymlist.sh.in: Likewise.
31316
31317 * include/grub/i386/coreboot/machine.h: Remove file.
31318 * include/grub/i386/efi/machine.h: Likewise.
31319 * include/grub/i386/ieee1275/machine.h: Likewise.
31320 * include/grub/i386/pc/machine.h: Likewise.
31321 * include/grub/i386/qemu/machine.h: Likewise.
31322 * include/grub/powerpc/ieee1275/machine.h: Likewise.
31323 * include/grub/sparc64/ieee1275/machine.h: Likewise.
31324 * include/grub/x86_64/efi/machine.h: Likewise.
31325
31326 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
31327 * commands/halt.c: Likewise.
31328 * commands/reboot.c: Likewise.
31329 * include/grub/autoefi.h: Likewise.
31330 * include/grub/i386/at_keyboard.h: Likewise.
31331 * include/grub/i386/kernel.h: Likewise.
31332 * include/grub/i386/loader.h: Likewise.
31333 * include/grub/i386/pc/memory.h: Likewise.
31334 * kern/dl.c: Likewise.
31335 * kern/i386/coreboot/init.c: Likewise.
31336 * loader/i386/bsd.c: Likewise.
31337 * loader/i386/linux.c: Likewise.
31338 * loader/multiboot_loader.c: Likewise.
31339 * term/i386/pc/serial.c: Likewise.
31340 * term/usb_keyboard.c: Likewise.
31341
31342 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
31343 `<grub/machine/machine.h>'
31344 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
31345 * util/misc.c: Remove `<grub/machine/machine.h>' and
31346 `<grub/machine/time.h>'.
31347
31348 * Makefile.in (enable_grub_emu): Remove variable.
31349 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
31350
31351 * conf/any-emu.rmk: New file.
31352 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
31353 (grub_emu_init.c): Move from here ...
31354 * conf/any-emu.rmk: ... to here.
31355
31356 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
31357 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
31358 * conf/any-emu.rmk: ... to here.
31359
31360 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31361
31362 * include/grub/parser.h (grub_parser_register): Document need
31363 of `name' parameter.
31364 * normal/main.c (grub_normal_read_line): Simplify prompt string.
31365 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
31366 "sh" to "grub".
31367
31368 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31369
31370 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
31371 `$(XGETTEXT)'.
31372 * include/grub/i18n.h (N_): New macro.
31373 * util/mkisofs/mkisofs.h: Likewise.
31374 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
31375 around N_().
31376 (usage): Use gettext() to translate help strings when printing them.
31377
31378 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31379
31380 Based on patch from Bean
31381 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
31382
31383 * video/efi_fb.c: New file.
31384 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
31385 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
31386 variables.
31387 * conf/x86_64-efi.rmk: Likewise.
31388
31389 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
31390
31391 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
31392 * util/i386/pc/grub-setup.c: Likewise.
31393
31394 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
31395
31396 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
31397 <hurd/fs.h>
31398 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
31399 file_get_storage_info to implement grub_guess_root_device.
31400
31401 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
31402
31403 * Makefile.in (target): Use make's builtin $(shell) function
31404 instead of calling directly $(SHELL) to create the locale directories,
31405 inside the $(foreach) function.
31406
31407 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
31408
31409 * util/grub-mkrescue.in: Print an error and usage if output option
31410 has not been given.
31411
31412 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
31413
31414 Patch from Loïc Minier <loic.minier@ubuntu.com>.
31415 * util/grub.d/30_os-prober.in: Cope with Linux entries where
31416 root and /boot are on different devices.
31417
31418 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
31419
31420 Fix build for srcdir != objdir.
31421
31422 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
31423 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
31424 $(srcdir).
31425 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
31426 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
31427 reference for input.
31428
31429 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
31430
31431 * util/grub-mkrescue.in: Use source directory direcly (without copiing
31432 or hardlinking it). Remove -J option, Joliet is not compatible with
31433 multiple source directories.
31434
31435 2009-11-21 Carles Pina i Estany <carles@pina.cat>
31436 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
31437
31438 * util/grub-mkrescue.in: Recognize `--override-directory' option.
31439 (process_input_dir): New function. Process an arbitrary input
31440 directory.
31441 Misc adjustments to support both "override mode" and system-wide mode.
31442
31443 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
31444
31445 * configure.ac (UNIFONT_BDF): Rename to ...
31446 (FONT_SOURCE): ... this. Update all users.
31447
31448 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
31449
31450 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
31451 to the list of unifont files to look for.
31452
31453 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
31454
31455 Patch from Joe Auricchio <jauricchio@gmail.com>
31456 * commands/minicmd.c (grub_mini_cmd_clear): New function.
31457 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
31458 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
31459
31460 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
31461
31462 * Makefile.in (install-local): Add a missing backslash.
31463
31464 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
31465
31466 * include/grub/x86_64/io.h: New file.
31467
31468 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
31469
31470 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
31471 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
31472 Include `"progname.h"'.
31473 (main): Initialize gettext.
31474 * util/i386/pc/grub-setup.c: Gettexttize.
31475 * util/i386/pc/grub-mkimage.c: Likewise.
31476
31477 * Makefile.in (po/*.po): Redefine as ...
31478 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
31479
31480 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
31481
31482 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
31483
31484 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
31485 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
31486 (program_name): Remove.
31487 (main): Initialize gettext support.
31488 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
31489 Include `<libintl.h>'.
31490 (_): New macro.
31491
31492 * util/mkisofs/eltorito.c: Gettexttize.
31493 * util/mkisofs/joliet.c: Likewise.
31494 * util/mkisofs/mkisofs.c: Likewise.
31495 * util/mkisofs/multi.c: Likewise.
31496 * util/mkisofs/rock.c: Likewise.
31497 * util/mkisofs/tree.c: Likewise.
31498 * util/mkisofs/write.c: Likewise.
31499
31500 * po/POTFILES: Update with new files.
31501
31502 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
31503
31504 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
31505 * util/mkisofs/iso9660.h: Likewise.
31506 * util/mkisofs/joliet.c: Likewise.
31507 * util/mkisofs/mkisofs.c: Likewise.
31508 * util/mkisofs/mkisofs.h: Likewise.
31509 * util/mkisofs/rock.c: Likewise.
31510 * util/mkisofs/tree.c: Likewise.
31511 * util/mkisofs/write.c: Likewise.
31512
31513 * util/mkisofs/eltorito.c (rcsid): Remove.
31514 * util/mkisofs/hash.c: Likewise.
31515 * util/mkisofs/joliet.c: Likewise.
31516 * util/mkisofs/name.c: Likewise.
31517 * util/mkisofs/rock.c: Likewise.
31518 * util/mkisofs/tree.c: Likewise.
31519 * util/mkisofs/write.c: Likewise.
31520
31521 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
31522
31523 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
31524 instead of static allocation.
31525 * util/mkisofs/match.h: Likewise.
31526
31527 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
31528
31529 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
31530 and `util/grub.d/10_linux.in'.
31531 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
31532 translatable Shell files.
31533
31534 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
31535
31536 * Makefile.in ($(srcdir)/aclocal.m4): New target.
31537
31538 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31539
31540 * INSTALL: Document Automake is needed for bootstrap.
31541 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
31542 * util/grub.d/10_kfreebsd.in (bindir): New variable.
31543 Add gettext initialization.
31544 (kfreebsd_entry): Make menuentry output translatable.
31545
31546 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31547
31548 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
31549 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
31550 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
31551 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
31552 (LINGUAS): Auto-generate using `po/LINGUAS'.
31553 * po/LINGUAS: New file.
31554
31555 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31556
31557 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
31558 other things).
31559 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
31560 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
31561 bindtextdomain() calls for gettext initialization.
31562
31563 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31564
31565 * gnulib/progname.c: New file (imported from Gnulib).
31566 * gnulib/progname.h: Likewise.
31567 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31568 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
31569 (usage): Replace `progname' with `program_name'.
31570 (main): Use set_program_name() for program name initialization.
31571
31572 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31573
31574 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
31575 from here ...
31576 * Makefile.in (CPPFLAGS): ... to here.
31577
31578 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
31579
31580 * aclocal.m4: Move from here ...
31581 * acinclude.m4: ... to here.
31582 * autogen.sh: Add call to `aclocal'.
31583 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
31584
31585 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
31586
31587 * Makefile.in (CLEANFILES): Add `po/*.mo'.
31588 (LINGUAS): New variable.
31589 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
31590 (install-local): Install MO files.
31591 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
31592 * include/grub/i18n.h: New file.
31593 * po/POTFILES: New file.
31594 * po/ca.po: New file.
31595 * util/grub.d/10_linux.in (bindir): New variable.
31596 Add gettext initialization.
31597 (linux_entry): Make menuentry output translatable.
31598 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
31599 (usage): Make --help output translatable.
31600 (main): Initialize gettext.
31601
31602 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31603
31604 * import_gcry.py: New file (written by Vladimir with minor
31605 adjustments).
31606 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
31607 ciphers.
31608 * INSTALL: Document that Python is required for bootstrap.
31609
31610 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31611
31612 Import ciphers from libgcrypt 1.4.4.
31613
31614 * lib/libgcrypt/cipher/ChangeLog
31615 * lib/libgcrypt/cipher/ac.c
31616 * lib/libgcrypt/cipher/arcfour.c
31617 * lib/libgcrypt/cipher/bithelp.h
31618 * lib/libgcrypt/cipher/blowfish.c
31619 * lib/libgcrypt/cipher/camellia-glue.c
31620 * lib/libgcrypt/cipher/camellia.c
31621 * lib/libgcrypt/cipher/camellia.h
31622 * lib/libgcrypt/cipher/cast5.c
31623 * lib/libgcrypt/cipher/cipher.c
31624 * lib/libgcrypt/cipher/crc.c
31625 * lib/libgcrypt/cipher/des.c
31626 * lib/libgcrypt/cipher/dsa.c
31627 * lib/libgcrypt/cipher/ecc.c
31628 * lib/libgcrypt/cipher/elgamal.c
31629 * lib/libgcrypt/cipher/hash-common.c
31630 * lib/libgcrypt/cipher/hash-common.h
31631 * lib/libgcrypt/cipher/hmac-tests.c
31632 * lib/libgcrypt/cipher/md.c
31633 * lib/libgcrypt/cipher/md4.c
31634 * lib/libgcrypt/cipher/md5.c
31635 * lib/libgcrypt/cipher/primegen.c
31636 * lib/libgcrypt/cipher/pubkey.c
31637 * lib/libgcrypt/cipher/rfc2268.c
31638 * lib/libgcrypt/cipher/rijndael-tables.h
31639 * lib/libgcrypt/cipher/rijndael.c
31640 * lib/libgcrypt/cipher/rmd.h
31641 * lib/libgcrypt/cipher/rmd160.c
31642 * lib/libgcrypt/cipher/rsa.c
31643 * lib/libgcrypt/cipher/seed.c
31644 * lib/libgcrypt/cipher/serpent.c
31645 * lib/libgcrypt/cipher/sha1.c
31646 * lib/libgcrypt/cipher/sha256.c
31647 * lib/libgcrypt/cipher/sha512.c
31648 * lib/libgcrypt/cipher/tiger.c
31649 * lib/libgcrypt/cipher/twofish.c
31650 * lib/libgcrypt/cipher/whirlpool.c
31651
31652 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
31653
31654 Fix build for systems without error().
31655
31656 * gnulib/error.c: New file (imported from Gnulib).
31657 * gnulib/error.h: Likewise.
31658 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
31659 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
31660 (this variable is now used by error()).
31661
31662 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
31663
31664 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
31665 instead of relying that char is signed.
31666
31667 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
31668
31669 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
31670 blocksize different from specified.
31671 (grub_pxefs_read): Likewise.
31672
31673 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
31674
31675 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
31676
31677 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
31678 (grub_ata_readwrite): Likewise. Update 2 format strings.
31679 (grub_atapi_read): Likewise.
31680
31681 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
31682 * conf/i386.rmk (pkglib_MODULES): ... to here ...
31683 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
31684 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
31685 (ata_mod_LDFLAGS): Move from here ...
31686 * conf/i386.rmk: ... to here ...
31687 * conf/x86_64-efi.rmk: ... and here.
31688 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
31689 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
31690
31691 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
31692
31693 Relicense multiboot.h, with RMS' blessing.
31694
31695 * include/multiboot.h: Change to X11 license.
31696
31697 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
31698
31699 Support --version in grub-mkisofs.
31700
31701 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
31702 (OPTION_VERSION): New macro.
31703 (ld_options): Recognize --version.
31704 (usage): Move `program_name' from here ...
31705 (program_name): ... to here. Add `static' qualifier.
31706 (main): Recognize `OPTION_VERSION'.
31707
31708 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
31709
31710 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
31711 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
31712
31713 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
31714
31715 Fix help2man generation for mkisofs.
31716
31717 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
31718 (usage): Send output to stdout (rather than stderr).
31719
31720 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
31721
31722 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
31723 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
31724 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
31725 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
31726 (bin_SCRIPTS): Add `grub-mkfloppy'.
31727 (grub_mkfloppy_SOURCES): New variable.
31728
31729 * util/grub-mkrescue.in: New file.
31730 * util/i386/pc/grub-mkfloppy.in: New file.
31731
31732 * util/i386/coreboot/grub-mkrescue.in: Remove.
31733 * util/i386/pc/grub-mkrescue.in: Remove.
31734
31735 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
31736
31737 * include/grub/multiboot.h (struct grub_multiboot_header): Move
31738 from here ...
31739 * include/multiboot.h (struct multiboot_header): ... to here. Update
31740 all users.
31741 * include/grub/multiboot.h (struct grub_multiboot_info): Move
31742 from here ...
31743 * include/multiboot.h (struct multiboot_info): ... to here. Update
31744 all users.
31745 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
31746 from here ...
31747 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
31748 Update all users.
31749 * include/grub/multiboot.h (struct grub_mod_list): Move
31750 from here ...
31751 * include/multiboot.h (struct multiboot_mod_list): ... to here.
31752 Update all users.
31753
31754 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
31755
31756 * include/multiboot2.h (multiboot_word): Rename from this ...
31757 (multiboot2_word): ... to this. Update all users.
31758 (multiboot_header): Rename from this ...
31759 (multiboot2_header): ... to this. Update all users.
31760 (multiboot_tag_header): Rename from this ...
31761 (multiboot2_tag_header): ... to this. Update all users.
31762 (multiboot_tag_start): Rename from this ...
31763 (multiboot2_tag_start): ... to this. Update all users.
31764 (multiboot_tag_name): Rename from this ...
31765 (multiboot2_tag_name): ... to this. Update all users.
31766 (multiboot_tag_module): Rename from this ...
31767 (multiboot2_tag_module): ... to this. Update all users.
31768 (multiboot_tag_memory): Rename from this ...
31769 (multiboot2_tag_memory): ... to this. Update all users.
31770 (multiboot_tag_unused): Rename from this ...
31771 (multiboot2_tag_unused): ... to this. Update all users.
31772 (multiboot_tag_end): Rename from this ...
31773 (multiboot2_tag_end): ... to this. Update all users.
31774
31775 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
31776
31777 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
31778 this platform we should support Multiboot1 first.
31779
31780 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
31781 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
31782 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
31783
31784 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
31785
31786 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
31787 of write calls (converting them to fwrite() if they aren't already).
31788 (get_torito_desc): Likewise.
31789 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
31790
31791 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
31792
31793 * util/i386/pc/grub-install.in: Move from here ...
31794 * util/grub-install.in: ... to here. Update all users.
31795
31796 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
31797
31798 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
31799
31800 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
31801
31802 Support for El Torito without floppy emulation.
31803
31804 * util/mkisofs/eltorito.c: Include `<errno.h>'.
31805 (init_boot_catalog): Improve error handling.
31806 (get_torito_desc): Don't use floppy emulation unless requested by
31807 user. Patch boot information table when requested via
31808 `-boot-info-table'.
31809 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
31810 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
31811 (use_boot_info_table): New variables.
31812 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
31813 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
31814 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
31815 `--eltorito-emul-floppy'.
31816 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
31817 and `OPTION_ELTORITO_EMUL_FLOPPY'.
31818 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
31819 (use_boot_info_table, get_731): New prototypes.
31820 * util/mkisofs/write.c (get_731): New function.
31821
31822 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
31823
31824 Fix the generation of the man page.
31825
31826 * util/pc/i386/grub-install.in: Source
31827 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
31828
31829 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
31830
31831 Large file support for grub-mkisofs.
31832
31833 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
31834 * util/mkisofs/mkisofs.c (next_extent, last_extent)
31835 (session_start): Upgrade type to `uint64_t'. Update all users.
31836 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
31837 (struct directory_entry): Upgrade type of `starting_block' and
31838 `size' to `uint64_t'. Update all users.
31839 (struct deferred): Remove unused structure.
31840 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
31841 Update all users.
31842 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
31843 file is larger than `UINT32_MAX'.
31844 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
31845 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
31846 return value.
31847 (struct deferred_write): Upgrade type of `extent' and `size' to
31848 `uint64_t'. Update all users.
31849 (last_extent_written): Upgrade type to `uint64_t'. Update all
31850 users.
31851 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
31852 Update all users. Upgrade type of `remain' to `int64_t' and
31853 `use' to `size_t'. Use error() to handle fread() errors.
31854 (write_files): Rely on write_one_file() rather than calling
31855 xfwrite() directly.
31856
31857 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
31858
31859 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
31860
31861 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31862
31863 * util/mkisofs/fnmatch.c: Remove.
31864 * util/mkisofs/getopt1.c: Likewise.
31865 * util/mkisofs/getopt.c: Likewise.
31866 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
31867 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
31868 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
31869 `gnulib/getopt1.c' and `gnulib/getopt.c'.
31870 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
31871
31872 * configure.ac: Detect `mingw32msvc' host_os.
31873 Check for lstat(), getuid() and getgid().
31874
31875 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
31876 instances of `u_char' with `uint8_t'.
31877
31878 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
31879 [!HAVE_GETUID] (getuid): New function (stub).
31880 [!HAVE_GETGID] (getgid): Likewise.
31881 [!HAVE_LSTAT] (lstat): Likewise.
31882 [!S_IROTH] (S_IROTH): New macro (dummy).
31883 [!S_IRGRP] (S_IRGRP): Likewise.
31884
31885 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31886
31887 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
31888 conditional expression).
31889
31890 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31891
31892 Import from Gnulib.
31893
31894 * gnulib/fnmatch.c: New file.
31895 * gnulib/fnmatch.h: Likewise.
31896 * gnulib/fnmatch_loop.c: Likewise.
31897 * gnulib/getopt.c: Likewise.
31898 * gnulib/getopt.h: Likewise.
31899 * gnulib/getopt1.c: Likewise.
31900 * gnulib/getopt_int.h: Likewise.
31901 * gnulib/gettext.h: Likewise.
31902
31903 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31904
31905 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
31906 * normal/handler.c (read_handler_list): Likewise.
31907
31908 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31909
31910 Misc cleanup.
31911
31912 * kern/command.c (grub_register_command_prio): Use
31913 grub_zalloc() instead of explicitly zeroing data.
31914 * kern/list.c: Include `<grub/mm.h>'.
31915 (grub_named_list_find): Replace `0' with `NULL'.
31916 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
31917 (fs_module_list): Change type to `grub_named_list_t'. Update all
31918 users.
31919 * normal/dyncmd.c (read_command_list): Add space between function
31920 call and parenthesis.
31921 * normal/handler.c (read_handler_list): Likewise.
31922
31923 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31924
31925 * normal/auth.c (punishment_delay): Moved from here ...
31926 (grub_auth_strcmp): ... to here (inside function).
31927
31928 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31929
31930 * include/grub/list.h (struct grub_named_list): Remove `const'
31931 qualifier from `name'.
31932 (struct grub_prio_list): Likewise.
31933
31934 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31935
31936 * normal/auth.c: Include `<grub/time.h>'.
31937 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
31938
31939 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31940
31941 * normal/auth.c (punishment_delay): New variable.
31942 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
31943 (grub_auth_check_authentication): Punish failed login attempts with
31944 an incremental (2^N) delay.
31945
31946 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31947
31948 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
31949 path with $(srcdir).
31950
31951 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
31952
31953 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
31954
31955 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31956
31957 * util/i386/coreboot/grub-mkrescue.in: New file.
31958 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
31959 variables.
31960
31961 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
31962 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
31963 * configure.ac: Add header and function checks to satisfy grub-mkisofs
31964 requirements.
31965 * util/mkisofs/defaults.h: New file.
31966 * util/mkisofs/eltorito.c: Likewise.
31967 * util/mkisofs/exclude.h: Likewise.
31968 * util/mkisofs/fnmatch.c: Likewise.
31969 * util/mkisofs/getopt.c: Likewise.
31970 * util/mkisofs/getopt1.c: Likewise.
31971 * util/mkisofs/hash.c: Likewise.
31972 * util/mkisofs/include/fctldefs.h: Likewise.
31973 * util/mkisofs/include/mconfig.h: Likewise.
31974 * util/mkisofs/include/prototyp.h: Likewise.
31975 * util/mkisofs/include/statdefs.h: Likewise.
31976 * util/mkisofs/iso9660.h: Likewise.
31977 * util/mkisofs/joliet.c: Likewise.
31978 * util/mkisofs/match.c: Likewise.
31979 * util/mkisofs/match.h: Likewise.
31980 * util/mkisofs/mkisofs.c: Likewise.
31981 * util/mkisofs/mkisofs.h: Likewise.
31982 * util/mkisofs/multi.c: Likewise.
31983 * util/mkisofs/name.c: Likewise.
31984 * util/mkisofs/rock.c: Likewise.
31985 * util/mkisofs/tree.c: Likewise.
31986 * util/mkisofs/write.c: Likewise.
31987
31988 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
31989
31990 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
31991 being insecure.
31992
31993 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
31994
31995 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
31996 `grub-mkimage' (and use $0 when possible).
31997
31998 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
31999
32000 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
32001 error message for excessively large memory map.
32002
32003 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32004
32005 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
32006 executable bit.
32007
32008 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32009
32010 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
32011 message for coreboot users.
32012
32013 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
32014
32015 Fix build with GNU gold.
32016
32017 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
32018 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
32019 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
32020 link addresses.
32021 * aclocal.m4: Likewise.
32022
32023 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
32024
32025 * configure.ac (AC_PREREQ): Bump to 2.59d.
32026 * INSTALL: Make it more clear when Autoconf and Ruby are
32027 needed and when to run `./autogen.sh'.
32028
32029 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
32030
32031 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
32032 OSes.
32033
32034 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32035
32036 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
32037
32038 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32039
32040 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
32041 giving it to GNU Mach.
32042
32043 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32044
32045 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
32046 GNU partition number to get internal GRUB partition number.
32047
32048 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32049
32050 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
32051 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
32052
32053 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
32054
32055 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
32056 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
32057 case.
32058
32059 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
32060
32061 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
32062
32063 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32064
32065 Fix build problem.
32066
32067 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
32068 `-isystem=$(srcdir)/include'.
32069
32070 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32071
32072 * util/i386/pc/grub-install.in: Remove hint that device.map should be
32073 checked (grub-install doesn't currently rely on it).
32074
32075 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
32076
32077 Revert SVN r2660.
32078
32079 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
32080 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
32081 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
32082 * conf/i386-ieee1275.rmk: Likewise.
32083 * conf/i386-pc.rmk: Likewise.
32084 * conf/powerpc-ieee1275.rmk: Likewise.
32085 * conf/sparc64-ieee1275.rmk: Likewise.
32086 * conf/x86_64-efi.rmk: Likewise.
32087
32088 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32089
32090 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
32091
32092 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32093
32094 * include/grub/misc.h: Stop checking for APPLE_CC.
32095
32096 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32097
32098 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
32099 doesn't cause an infinite call loop.
32100
32101 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
32102
32103 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
32104 strings.
32105
32106 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32107
32108 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
32109 variable.
32110 * Makefile.in: Likewise.
32111
32112 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32113
32114 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
32115
32116 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32117
32118 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
32119
32120 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32121
32122 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
32123
32124 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32125
32126 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
32127 from here ...
32128 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
32129
32130 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32131
32132 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
32133 in $(MAKEINFO) invocation. This makes it clear in output that
32134 errors are being ignored.
32135
32136 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32137
32138 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
32139 from here ...
32140 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
32141 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
32142 * conf/i386-ieee1275.rmk: Likewise.
32143 * conf/i386-pc.rmk: Likewise.
32144 * conf/powerpc-ieee1275.rmk: Likewise.
32145 * conf/sparc64-ieee1275.rmk: Likewise.
32146 * conf/x86_64-efi.rmk: Likewise.
32147
32148 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
32149
32150 * util/grub-editenv.c (main): If only a command is given, use
32151 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
32152 (usage): FILENAME is now optional and has a default.
32153
32154 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
32155
32156 Improve grub-mkconfig performance when there are several menu
32157 entries on a single filesystem.
32158
32159 * util/grub.d/10_linux.in (linux_entry): Cache the output of
32160 prepare_grub_to_access_device.
32161 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
32162 * util/grub.d/30_os-prober.in: Likewise.
32163
32164 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32165
32166 * util/grub.d/10_freebsd.in: Remove.
32167 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
32168 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
32169
32170 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32171
32172 * docs/grub.cfg: Fix example usage of *BSD loaders.
32173
32174 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32175
32176 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
32177 grub_util_error() call.
32178
32179 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32180
32181 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
32182 `reserved_first_sector' member.
32183 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
32184 `reserved_first_sector' to 1.
32185 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
32186 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
32187 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
32188 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
32189 filesystems which begin at first sector.
32190 (options): New option --skip-fs-probe.
32191 (main): Handle --skip-fs-probe and pass it to setup().
32192
32193 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32194
32195 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
32196 (memset): Fix function prototype.
32197
32198 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32199 2009-10-25 Vasily Averin <vvs@parallels.com>
32200
32201 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
32202 `dirent.direntlen == 0'.
32203
32204 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32205
32206 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
32207 `cpio'.
32208 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
32209
32210 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32211
32212 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
32213 `__trampoline_setup' and `__ucmpdi2'.
32214 * include/grub/powerpc/libgcc.h: Only export symbols for functions
32215 that libgcc provides.
32216
32217 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32218
32219 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
32220 * include/grub/sparc64/libgcc.h (memset): Likewise.
32221 * include/grub/misc.h (memset, memcmp): New function prototypes.
32222
32223 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32224
32225 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
32226 `cpio'.
32227 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
32228
32229 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32230
32231 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
32232 * docs/grub.cfg: Compensate for recent change in multiboot
32233 loader (since 2009-08-14 it won't pass filename to payload).
32234 * util/grub.d/10_hurd.in: Likewise.
32235
32236 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
32237
32238 * config.guess: Update to latest version from config git
32239 repository.
32240 * config.sub: Likewise.
32241
32242 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
32243
32244 Fix build on sparc64.
32245
32246 * configure.ac: Perform checks for libgcc symbols before
32247 adding `-nostdlib' to LDFLAGS.
32248
32249 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
32250
32251 Let user specify OpenBSD root device.
32252
32253 * loader/i386/bsd.c (openbsd_root): New variable.
32254 (openbsd_opts): New option 'root'.
32255 (OPENBSD_ROOT_ARG): New macro.
32256 (grub_openbsd_boot): Use 'openbsd_root'.
32257 (grub_cmd_openbsd): Fill 'openbsd_root'.
32258
32259 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
32260
32261 * NEWS: Misc adjustments.
32262
32263 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
32264
32265 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
32266
32267 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
32268
32269 * configure.ac: Bump version to 1.97.
32270
32271 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
32272
32273 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
32274 -mno-3dnow on x86 architectures. Some toolchains enable these
32275 features by default, but they rely on registers that aren't enabled
32276 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
32277
32278 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
32279
32280 Make entry text a bit more readable.
32281
32282 * util/grub.d/10_linux.in: Add `with' before `Linux'.
32283
32284 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32285
32286 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
32287
32288 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32289
32290 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
32291 operations.
32292
32293 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32294
32295 * configure.ac: Add missing dollar.
32296
32297 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32298
32299 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
32300
32301 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
32302 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
32303 exports.
32304 * include/grub/sparc64/libgcc.h: Likewise. Use
32305 preprocessor conditionals.
32306
32307 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
32308
32309 * conf/common.rmk (grub-dumpbios): Remove rule.
32310 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
32311 * util/grub-dumpbios.in: Remove file.
32312
32313 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
32314
32315 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
32316 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
32317
32318 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
32319 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
32320 users.
32321
32322 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
32323 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
32324 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
32325 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
32326 users.
32327
32328 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
32329
32330 * term/tparm.c: Switch to GPLv3.
32331
32332 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
32333
32334 * include/grub/i386/cpuid.h: Add header protection.
32335
32336 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
32337
32338 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
32339
32340 * include/grub/i386/cpuid.h: New file.
32341 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
32342 (has_longmode): Rename to ...
32343 (grub_cpuid_has_longmode): ... this. Update all users. Remove
32344 `static' attribute.
32345 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
32346 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
32347 on a CPU that doesn't implement AMD64 instruction set.
32348
32349 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
32350
32351 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
32352 that version.texi is rebuilt on version number changes.
32353
32354 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
32355
32356 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
32357 Fixes bug #27602.
32358
32359 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
32360
32361 * util/i386/pc/grub-install.in: Source
32362 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
32363 that the --grub-probe option will work.
32364 * util/sparc64/ieee1275/grub-install.in: Likewise.
32365
32366 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
32367
32368 * configure.ac: Bump version to 1.97~beta4.
32369
32370 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
32371
32372 Resync grub-mkdevicemap in x86_64-efi.
32373
32374 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
32375 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
32376 `util/devicemap.c'.
32377
32378 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
32379
32380 * util/grub-editenv.c (create_envblk_file): Write new block with a
32381 .new suffix and then rename it into place, to ensure atomic
32382 creation.
32383
32384 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
32385
32386 Do not automatically install headers.
32387
32388 * Makefile.in (include_DATA): Remove. Update all users.
32389
32390 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
32391
32392 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
32393 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
32394
32395 * util/osdetect.lua: Remove.
32396 * script/lua/lauxlib.c: Likewise.
32397 * script/lua/ldebug.c: Likewise.
32398 * script/lua/grub_main.c: Likewise.
32399 * script/lua/lauxlib.h: Likewise.
32400 * script/lua/ldebug.h: Likewise.
32401 * script/lua/ltablib.c: Likewise.
32402 * script/lua/liolib.c: Likewise.
32403 * script/lua/lstrlib.c: Likewise.
32404 * script/lua/lualib.h: Likewise.
32405 * script/lua/ldo.c: Likewise.
32406 * script/lua/ldump.c: Likewise.
32407 * script/lua/ldo.h: Likewise.
32408 * script/lua/loslib.c: Likewise.
32409 * script/lua/lundump.c: Likewise.
32410 * script/lua/grub_lib.c: Likewise.
32411 * script/lua/ldblib.c: Likewise.
32412 * script/lua/lundump.h: Likewise.
32413 * script/lua/lmem.c: Likewise.
32414 * script/lua/grub_lib.h: Likewise.
32415 * script/lua/lmathlib.c: Likewise.
32416 * script/lua/lstate.c: Likewise.
32417 * script/lua/ltm.c: Likewise.
32418 * script/lua/lvm.c: Likewise.
32419 * script/lua/lmem.h: Likewise.
32420 * script/lua/lstate.h: Likewise.
32421 * script/lua/ltm.h: Likewise.
32422 * script/lua/ltable.c: Likewise.
32423 * script/lua/lvm.h: Likewise.
32424 * script/lua/llex.c: Likewise.
32425 * script/lua/lgc.c: Likewise.
32426 * script/lua/grub_lua.h: Likewise.
32427 * script/lua/loadlib.c: Likewise.
32428 * script/lua/lfunc.c: Likewise.
32429 * script/lua/lopcodes.c: Likewise.
32430 * script/lua/lparser.c: Likewise.
32431 * script/lua/ltable.h: Likewise.
32432 * script/lua/llex.h: Likewise.
32433 * script/lua/lgc.h: Likewise.
32434 * script/lua/lfunc.h: Likewise.
32435 * script/lua/lbaselib.c: Likewise.
32436 * script/lua/lopcodes.h: Likewise.
32437 * script/lua/lparser.h: Likewise.
32438 * script/lua/lzio.c: Likewise.
32439 * script/lua/linit.c: Likewise.
32440 * script/lua/lobject.c: Likewise.
32441 * script/lua/llimits.h: Likewise.
32442 * script/lua/lstring.c: Likewise.
32443 * script/lua/lzio.h: Likewise.
32444 * script/lua/lapi.c: Likewise.
32445 * script/lua/lcode.c: Likewise.
32446 * script/lua/lua.h: Likewise.
32447 * script/lua/lobject.h: Likewise.
32448 * script/lua/lstring.h: Likewise.
32449 * script/lua/lapi.h: Likewise.
32450 * script/lua/lcode.h: Likewise.
32451 * script/lua/luaconf.h: Likewise.
32452
32453 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
32454
32455 * docs/grub.texi (Command-line and menu entry commands): Document
32456 date and echo commands.
32457
32458 2009-09-24 Pavel Roskin <proski@gnu.org>
32459
32460 * include/grub/kernel.h (struct grub_module_header): Remove
32461 `grub_module_header_types'. Make `type' unsigned. Make `size'
32462 32-bit on all platforms.
32463 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
32464 8-bit field. Use grub_host_to_target32() for `size'.
32465 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
32466 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
32467 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
32468
32469 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
32470
32471 Fix "lost keypress" bug in at_keyboard.
32472
32473 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
32474 Checks for readyness of input buffer (without flushing it).
32475 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
32476 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
32477
32478 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
32479
32480 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
32481 size check within GRUB_MACHINE_PCBIOS section.
32482
32483 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
32484
32485 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
32486 return value.
32487 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
32488 KEYBOARD_ISREADY check.
32489 (grub_at_keyboard_checkkey): Rename to ...
32490 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
32491 Remove gratuitous cast.
32492
32493 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
32494
32495 * configure.ac: Call AC_PROG_MKDIR_P.
32496 * Makefile.in (docs/stamp-vti): Create docs directory. Create
32497 version.texi in $(builddir) rather than $(srcdir).
32498 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
32499 to makeinfo's @include search path.
32500
32501 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
32502
32503 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
32504
32505 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
32506
32507 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
32508 for `*.dpkg-new'.
32509
32510 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
32511
32512 Build info documentation. Some code borrowed from Automake.
32513
32514 * configure.ac: Check for makeinfo.
32515 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
32516 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
32517 docs/version.texi.
32518 (MOSTLYCLEANFILES): Add vti.tmp.
32519 (docs/version.texi, docs/stamp-vti): Update automatically.
32520 (docs/grub.info): Build info documentation. Use --force and ignore
32521 errors for now.
32522 (all-local): Add $(INFOS).
32523 (install-local): Install info files.
32524 (uninstall): Uninstall info files.
32525 * docs/version.texi: Remove from revision control. This file is
32526 automatically generated on build now.
32527 * gendistlist.sh: Add `*.info'.
32528
32529 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
32530
32531 * kern/term.c: Fix indentation.
32532
32533 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
32534
32535 * util/hostdisk.c: Fix a comment.
32536
32537 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
32538
32539 Fix regression introduced in r2539.
32540
32541 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
32542 to 0xA1.
32543
32544 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
32545
32546 * util/grub.d/30_os-prober.in: Don't throw away stderr from
32547 os-prober. Under normal operation, it does not print anything to
32548 stderr; if it does, we need to debug it, and throwing away stderr
32549 makes that excessively difficult.
32550
32551 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
32552
32553 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
32554
32555 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
32556
32557 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
32558 AC_LANG_PROGRAM from autoconf.
32559 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
32560 prototypes (fixes warning).
32561
32562 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
32563 `--disable-werror' was used.
32564
32565 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
32566
32567 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
32568 uninitialized `lastaddr'.
32569
32570 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
32571
32572 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
32573
32574 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
32575
32576 * commands/test.c (get_fileinfo): Return immediately if
32577 grub_fs_probe fails.
32578
32579 2009-09-14 José Martínez <xosemp@gmail.com>
32580
32581 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
32582
32583 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
32584
32585 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
32586 output.
32587
32588 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
32589
32590 * configure.ac: Remove --enable-grub-pe2elf. Only build
32591 grub-pe2elf when needed by the build system itself.
32592 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
32593
32594 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
32595
32596 * configure.ac: Bump version to 1.97~beta3.
32597 * docs/version.texi: Likewise.
32598
32599 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
32600
32601 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
32602 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
32603 from here ...
32604 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
32605 (grub_linux_setup_video): ... to here (with some adjustments).
32606
32607 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
32608
32609 Fix memory corruption issue (spotted by Colin Watson).
32610
32611 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
32612 causing returned size to be stored in an incorrect memory location.
32613 Fix use of uninitialized value when storing the returned size.
32614
32615 2009-09-12 Yves Blusseau <blusseau@zetam.org>
32616
32617 Change clean rules to properly remove files
32618
32619 * genmk.rb: add new clean rules
32620 * Makefile.in (clean): add the new targets
32621 (mostlyclean): likewise
32622
32623 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
32624
32625 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
32626 to grub_uint64_t.
32627 * fs/ntfs.c (init_file): Understand 64-bit sizes for
32628 non-resident files.
32629
32630 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
32631
32632 * configure.ac: Don't look for help2man when cross-compiling. Fixes
32633 part of bug #27349.
32634
32635 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
32636
32637 * util/grub-mkconfig.in: Make the created config mode 400 and
32638 print a warning if it fails.
32639
32640 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
32641
32642 * util/grub.d/40_custom.in: Ask user to type custom entries below
32643 comment, rather than below 'exec tail' line.
32644
32645 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
32646
32647 * util/grub.d/40_custom.in: Make sure that the explanatory text is
32648 visible in grub.cfg.
32649
32650 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
32651
32652 * util/grub.d/40_custom.in: Make it a little clearer how to use this
32653 file.
32654
32655 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
32656
32657 * docs/grub.cfg: Add an example menu entry for memtest86+.
32658
32659 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
32660
32661 * config.guess: Update to latest version from config git.
32662 * config.sub: Likewise.
32663
32664 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
32665
32666 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
32667 unknown-command case. Fixes bug #27320.
32668
32669 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
32670
32671 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
32672 `help' if the command exists.
32673
32674 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
32675
32676 * INSTALL: Require GCC 4.1.3 or later.
32677
32678 2009-09-06 Yves Blusseau <blusseau@zetam.org>
32679
32680 * Makefile.in (RMKFILES): add i386-qemu.rmk
32681 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
32682 $(srcdir)/stamp-h.in
32683
32684 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
32685
32686 * util/grub-probe.c (probe): Comment out buggy codepath, which
32687 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
32688 should be re-enabled after 1.97.
32689
32690 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
32691
32692 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
32693 find searches for.
32694
32695 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
32696
32697 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
32698 unnecessary calls to grub_error.
32699
32700 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
32701
32702 * NEWS: Mention `keystatus' and Unicode fonts.
32703
32704 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
32705
32706 * configure.ac: Bump version to 1.97~beta2.
32707 * docs/version.texi: Likewise.
32708
32709 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
32710
32711 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
32712 containing unwind information in some cases where it previously did
32713 not. Use -fno-dwarf2-cfi-asm if available to restore the old
32714 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
32715 discussion.
32716
32717 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
32718
32719 Embedding loadenv module into grub-emu
32720
32721 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
32722 commands/loadenv.c
32723 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
32724 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
32725 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
32726 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
32727 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
32728 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
32729
32730 2009-09-03 Magnus Granberg <zorry@ume.nu>
32731
32732 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
32733 include -fPIE in the default specs.
32734 * configure.ac: Check if pie_possible is yes and add -fno-PIE
32735 to TARGET_CFLAGS.
32736
32737 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
32738
32739 * INSTALL: Note that GNU Bison 2.3 or later is required.
32740
32741 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
32742
32743 * kern/i386/pc/startup.S: Fix typo.
32744
32745 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
32746
32747 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
32748 according to GCS.
32749
32750 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
32751
32752 * docs/grub.texi (Naming convention): Describe one-based partition
32753 numbering.
32754 (Device syntax): Likewise.
32755 (File name syntax): Likewise.
32756 (Block list syntax): Likewise.
32757 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
32758 menu.lst.
32759 (File name syntax): Likewise.
32760 (Command-line and menu entry commands): Document acpi, blocklist,
32761 crc, export, insmod, keystatus, ls, set, and unset commands.
32762
32763 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
32764
32765 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
32766 to avoid implying that only one of --shift, --ctrl, or --alt may be
32767 used.
32768
32769 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
32770
32771 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
32772 rather than comparing against S_IFREG, which will almost never work.
32773
32774 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
32775
32776 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
32777 (write_blocklists): Likewise.
32778
32779 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
32780
32781 * script/lua/grub_lua.h (fputs): Supply a format string as the first
32782 argument to grub_printf.
32783
32784 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
32785
32786 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
32787 non GNU test.
32788
32789 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
32790
32791 * kern/file.c (grub_file_read): Spelling fix
32792
32793 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
32794
32795 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
32796 loading of headers in some cases.
32797
32798 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
32799
32800 * configure.ac: Bump version to 1.97~beta1.
32801 * docs/version.texi: Likewise.
32802
32803 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
32804
32805 * include/grub/i386/xnu.h: Add license header.
32806 include grub/err.h explicitly.
32807
32808 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
32809
32810 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
32811 to `ufs' in the vfs.root.mountfrom kernel parameter.
32812
32813 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
32814
32815 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
32816
32817 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
32818 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
32819
32820 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
32821 `ARRAY_SIZE' macro.
32822
32823 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
32824
32825 * kern/file.c (grub_file_read): Check offset.
32826 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
32827 * fs/jfs.c (grub_jfs_read_file): Likewise.
32828 * fs/ntfs.c (grub_ntfs_read): Likewise.
32829 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
32830 * fs/minix.c (grub_minix_read_file): Correct offset check.
32831 * fs/ufs.c (grub_ufs_read_file): Likewise.
32832
32833 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
32834
32835 * term/i386/pc/console.c (bios_data_area): Cast
32836 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
32837
32838 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
32839
32840 1-bit optimised blitters.
32841
32842 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
32843 prototype.
32844 (grub_video_fbblit_replace_24bit_1bit): Likewise.
32845 (grub_video_fbblit_replace_16bit_1bit): Likewise.
32846 (grub_video_fbblit_replace_8bit_1bit): Likewise.
32847 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
32848 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
32849 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
32850 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
32851 function.
32852 (grub_video_fbblit_replace_24bit_1bit): Likewise.
32853 (grub_video_fbblit_replace_16bit_1bit): Likewise.
32854 (grub_video_fbblit_replace_8bit_1bit): Likewise.
32855 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
32856 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
32857 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
32858 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
32859 when possible.
32860 * video/video.c (grub_video_get_blit_format): Return
32861 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
32862
32863 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
32864
32865 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
32866 the first argument to grub_printf.
32867
32868 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
32869 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
32870
32871 Add `getkeystatus' terminal method. Add a new `keystatus' command
32872 to query it.
32873
32874 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
32875 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
32876 modifier key bitmasks.
32877 (struct grub_term_input): Add `getkeystatus' member.
32878 (grub_getkeystatus): Add prototype.
32879 * kern/term.c (grub_getkeystatus): New function.
32880
32881 * include/grub/i386/pc/memory.h
32882 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
32883 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
32884 Data Area layout.
32885 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
32886 (grub_console_term_input): Set `getkeystatus' member.
32887 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
32888 constants.
32889 (grub_usb_keyboard_getreport): Likewise.
32890 (grub_usb_keyboard_checkkey): Likewise.
32891 (grub_usb_keyboard_getkeystatus): New function.
32892 (grub_usb_keyboard_term): Set `getkeystatus' member.
32893
32894 * commands/keystatus.c: New file.
32895 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
32896 (keystatus_mod_SOURCES): New variable.
32897 (keystatus_mod_CFLAGS): Likewise.
32898 (keystatus_mod_LDFLAGS): Likewise.
32899 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
32900 commands/keystatus.c.
32901 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32902 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32903 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32904 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32905 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32906 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32907
32908 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
32909
32910 Split befs.mod and afs.mod into *_be.mod and *.mod
32911
32912 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
32913 (grub_fstest_SOURCES): Likewise.
32914 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
32915 (afs_be_mod_SOURCES): New variable.
32916 (afs_be_mod_CFLAGS): Likewise.
32917 (afs_be_mod_LDFLAGS): Likewise.
32918 (befs_be_mod_SOURCES): Likewise.
32919 (befs_be_mod_CFLAGS): Likewise.
32920 (befs_be_mod_LDFLAGS): Likewise.
32921 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
32922 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32923 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32924 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
32925 (grub_emu_SOURCES): Likewise.
32926 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32927 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32928 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32929 * fs/afs_be.c: New file.
32930 * fs/befs_be.c: New file.
32931 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
32932 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
32933 (U16): Replaced with ...
32934 (grub_afs_to_cpu16): ...this. All users updated.
32935 (U32): Replaced with ...
32936 (grub_afs_to_cpu32): ...this. All users updated.
32937 (U64): Replaced with ...
32938 (grub_afs_to_cpu64): ...this. All users updated.
32939 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
32940 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
32941 (grub_afs_validate_sblock): Check only one endianness.
32942 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
32943 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
32944 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
32945 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
32946 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
32947 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
32948 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
32949 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
32950
32951 2009-08-26 Bean <bean123ch@gmail.com>
32952
32953 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
32954 64-bit number.
32955 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
32956 (grub_xfs_inode_block): Change return type to grub_uint64_t.
32957 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
32958
32959 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32960
32961 NetBSD memory map support.
32962
32963 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
32964 (grub_netbsd_btinfo_mmap_header): New structure.
32965 (grub_netbsd_btinfo_mmap_entry): Likewise.
32966 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
32967
32968 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32969
32970 Enable bsd.mod on coreboot.
32971
32972 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
32973 (bsd_mod_SOURCES): New variable.
32974 (bsd_mod_CFLAGS): Likewise.
32975 (bsd_mod_LDFLAGS): Likewise.
32976 (bsd_mod_ASFLAGS): Likewise.
32977 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
32978 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
32979
32980 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32981
32982 Cleanup NetBSD root support.
32983
32984 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
32985 grub_bsd_get_device.
32986 Fix typo.
32987
32988 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
32989
32990 * util/grub.d/00_header.in: Move check for the video backend of
32991 gfxterm from here ...
32992 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
32993 a suitable video backend.
32994
32995 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32996
32997 Fix breakage in grub-setup.
32998
32999 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
33000 "msdos_partition_map".
33001
33002 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33003
33004 Fix breakage in normal/auth.c.
33005
33006 * normal/auth.c (grub_iswordseparator): New function.
33007
33008 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33009
33010 Authentication support.
33011
33012 * commands/password.c: New file.
33013 * conf/common.rmk (pkglib_MODULES): Add password.mod.
33014 (password_mod_SOURCES): New variable.
33015 (password_mod_CFLAGS): Likewise.
33016 (password_mod_LDFLAGS): Likewise.
33017 (normal_mod_SOURCES): Add normal/auth.c.
33018 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
33019 normal/auth.c.
33020 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33021 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33022 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33023 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33024 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33025 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33026 * include/grub/auth.h: New file.
33027 * include/grub/err.h (grub_err_t): New enum value
33028 GRUB_ERR_ACCESS_DENIED.
33029 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
33030 'users'.
33031 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
33032 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
33033 users updated.
33034 * normal/auth.c: New file.
33035 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
33036 (grub_cmdline_run): Don't allow to go to command line without
33037 authentication.
33038 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
33039 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
33040 menuentry without superuser rights.
33041 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
33042 user isn't a superuser.
33043
33044 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33045
33046 Save space by inlining misc.c functions.
33047
33048 * kern/misc.c (grub_iswordseparator): Made static.
33049 * kern/misc.c (grub_strcat): Moved from here ...
33050 * include/grub/misc.h (grub_strcat): ... here. Inlined.
33051 * kern/misc.c (grub_strncat): Moved from here ...
33052 * include/grub/misc.h (grub_strncat): ... here. Inlined.
33053 * kern/misc.c (grub_strcasecmp): Moved from here ...
33054 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
33055 * kern/misc.c (grub_strncasecmp): Moved from here ...
33056 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
33057 * kern/misc.c (grub_isalpha): Moved from here ...
33058 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
33059 * kern/misc.c (grub_isdigit): Moved from here ...
33060 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
33061 * kern/misc.c (grub_isgraph): Moved from here ...
33062 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
33063 * kern/misc.c (grub_tolower): Moved from here ...
33064 * include/grub/misc.h (grub_tolower): ... here. Inlined.
33065
33066 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33067
33068 * script/sh/function.c (grub_script_function_find): Cut error message
33069 not to flood terminal.
33070 * script/sh/lexer.c (grub_script_yylex): Remove command line length
33071 limit.
33072 * script/sh/script.c (grub_script_arg_add): Duplicate string.
33073
33074 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
33075
33076 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
33077 `report' grub_uint8_t *.
33078 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
33079 Use a 50-millisecond timeout rather than just repeating
33080 grub_usb_keyboard_getreport 50 times.
33081 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
33082
33083 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33084
33085 Rename *_partition_map to part_*
33086
33087 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
33088 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
33089 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
33090 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
33091 All users updated.
33092 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
33093 All users updated.
33094 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
33095 * util/grub-probe.c (probe_partmap): Don't transform partition name
33096 to get module name.
33097
33098 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33099
33100 Fix OpenBSD and NetBSD support.
33101
33102 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
33103 memory address conflict.
33104 (OPENBSD_MMAP_ACPI): New definition.
33105 (OPENBSD_MMAP_NVS): Likewise.
33106 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
33107 and OPENBSD_MMAP_NVS.
33108 Add memory map terminator
33109 Explicit cast when calling grub_unix_real_boot.
33110 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
33111
33112 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33113
33114 Let user specify NetBSD root device.
33115
33116 * loader/i386/bsd.c (netbsd_root): New variable.
33117 (netbsd_opts): New option 'root'.
33118 (NETBSD_ROOT_ARG): New macro.
33119 (grub_netbsd_boot): Use 'netbsd_root'.
33120 (grub_bsd_unload): Free 'netbsd_root'.
33121 (grub_cmd_netbsd): Fill 'netbsd_root'.
33122
33123 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33124
33125 Support for 64-bit NetBSD.
33126
33127 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
33128 point when booting non-FreeBSD.
33129
33130 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33131
33132 Support --no-smp and --no-acpi for NetBSD.
33133
33134 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
33135 (NETBSD_AB_NOACPI): Likewise.
33136 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
33137 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
33138
33139 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33140
33141 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
33142 errors.
33143 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
33144 errors. Call grub_error when needed.
33145
33146 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33147
33148 * commands/search.c (search_fs): Try searching without autoload first.
33149 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
33150 filesystem module explicitly for faster booting.
33151
33152 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
33153
33154 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
33155
33156 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
33157
33158 * util/grub.d/30_os-prober.in: Disable os-prober if
33159 `GRUB_DISABLE_OS_PROBER' was set to true.
33160
33161 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
33162
33163 * partmap/pc.c: Rename to ...
33164 * partmap/msdos.c: ... this. Update all users.
33165 (grub_pc_partition_map): Rename to ...
33166 (grub_msdos_partition_map): ... this. Update all users.
33167
33168 * parttool/pcpart.c: Rename to ...
33169 * parttool/msdospart.c: ... this. Update all users.
33170
33171 * include/grub/pc_partition.h: Rename to ...
33172 * include/grub/msdos_partition.h: ... this. Update all users.
33173 (grub_pc_partition_bsd_entry): Rename to ...
33174 (grub_msdos_partition_bsd_entry): ... this. Update all users.
33175 (grub_pc_partition_disk_label): Rename to ...
33176 (grub_msdos_partition_disk_label): ... this. Update all users.
33177 (grub_pc_partition_entry): Rename to ...
33178 (grub_msdos_partition_entry): ... this. Update all users.
33179 (grub_pc_partition_mbr): Rename to ...
33180 (grub_msdos_partition_mbr): ... this. Update all users.
33181 (grub_pc_partition): Rename to ...
33182 (grub_msdos_partition): ... this. Update all users.
33183 (grub_pc_partition_is_empty): Rename to ...
33184 (grub_msdos_partition_is_empty): ... this. Update all users.
33185 (grub_pc_partition_is_extended): Rename to ...
33186 (grub_msdos_partition_is_extended): ... this. Update all users.
33187 (grub_pc_partition_is_bsd): Rename to ...
33188 (grub_msdos_partition_is_bsd): ... this. Update all users.
33189
33190 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
33191 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
33192 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
33193 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
33194 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
33195 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
33196 (gpt_mod_LDFLAGS): Rename to ...
33197 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
33198 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
33199 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
33200 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
33201 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
33202 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
33203 (part_gpt_mod_LDFLAGS): ... this.
33204 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
33205 `pcpart.mod' to `msdospart.mod'.
33206 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
33207 to ...
33208 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
33209 (msdospart_mod_LDFLAGS): ... this.
33210
33211 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33212
33213 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
33214 (openbsd_opts): Likewise.
33215 (netbsd_opts): Likewise.
33216 (freebsd_flags): Added 0 terminator.
33217 (openbsd_flags): Likewise.
33218 (netbsd_flags): Likewise.
33219 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
33220 (grub_cmd_freebsd): Transformed into extended command.
33221 (grub_cmd_openbsd): Likewise.
33222 (grub_cmd_netbsd): Likewise.
33223 (cmd_freebsd): Changed type to grub_extcmd_t.
33224 (cmd_openbsd): Likewise.
33225 (cmd_netbsd): Likewise.
33226 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
33227 grub_cmd_openbsd as extended commands.
33228 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
33229 cmd_netbsd and cmd_openbsd
33230
33231 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
33232
33233 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
33234
33235 2009-08-21 Pavel Roskin <proski@gnu.org>
33236
33237 * Makefile.in (install-local): When checking if a file is in the
33238 build directory, use "test -e" to detect symlinks.
33239
33240 * Makefile.in (install-local): Remove all files in
33241 $(DESTDIR)$(pkglibdir) before installing new files there.
33242
33243 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
33244
33245 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
33246 grub-mkelfimage.
33247
33248 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
33249
33250 * util/grub-mkconfig.in: Don't use gfxterm by default if not
33251 explicitly specified by the user.
33252
33253 2009-08-18 Pavel Roskin <proski@gnu.org>
33254
33255 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
33256 grub_uint8_t pointer for data.
33257 * include/grub/fbutil.h (struct grub_video_fbblit_info):
33258 Likewise.
33259 * video/fb/fbutil.c: Remove unnecessary casts.
33260
33261 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
33262
33263 VBE cleanup.
33264
33265 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
33266 (grub_vbe_set_video_mode): Save active mode info
33267 only after setting the mode.
33268 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
33269 second argument.
33270
33271 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
33272
33273 Rename variables for clarity.
33274
33275 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
33276 (active_vbe_mode_info): ... this. All users updated.
33277 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
33278 All users updated.
33279 (initial_mode): Rename to ...
33280 (initial_vbe_mode): ... this. All users updated.
33281 (mode_in_use): Rename to ..
33282 (vbe_mode_in_use): ... this. All users updated.
33283 (mode_list): Rename to ..
33284 (vbe_mode_list): ... this. All users updated.
33285 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
33286 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
33287 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
33288 'mode_list_size' to 'vbe_mode_list_size'.
33289 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
33290 'best_mode_info' to 'best_vbe_mode_info' and
33291 'best_mode' to 'best_vbe_mode'
33292
33293 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
33294
33295 Remove duplicate grub_video_fb_get_video_ptr.
33296
33297 * include/grub/fbutil.h (get_data_ptr): Rename to ...
33298 (grub_video_fb_get_video_ptr): ... this.
33299 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
33300 * video/fb/fbutil.c: Add comment about addressing.
33301 (get_data_ptr): Rename to ...
33302 (grub_video_fb_get_video_ptr): ... this. All users updated.
33303 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
33304
33305 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
33306
33307 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
33308 grub_dprintf() that was just added.
33309
33310 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
33311
33312 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
33313 (DEFAULT_VIDEO_MODE): Remove macros.
33314 (grub_linux_boot): Remove assumption that Linux has FB support,
33315 and use "text" as default video mode.
33316
33317 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
33318
33319 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
33320 grub_dprintf.
33321 * fs/fat.c (grub_fat_read_data): Likewise.
33322
33323 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33324
33325 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
33326 payload.
33327 (grub_module): Likewise.
33328
33329 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33330
33331 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
33332 mbi->cmdline but free playground.
33333
33334 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33335
33336 Handle group offset on UFS1.
33337
33338 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
33339 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
33340
33341 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33342
33343 Split ufs.mod into ufs1.mod and ufs2.mod.
33344
33345 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
33346 (grub_fstest_SOURCES): Likewise.
33347 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
33348 (ufs_mod_SOURCES): Remove.
33349 (ufs_mod_CFLAGS): Likewise.
33350 (ufs_mod_LDFLAGS): Likewise.
33351 (ufs1_mod_SOURCES): New variable.
33352 (ufs1_mod_CFLAGS): Likewise.
33353 (ufs1_mod_LDFLAGS): Likewise.
33354 (ufs2_mod_SOURCES): New variable.
33355 (ufs2_mod_CFLAGS): Likewise.
33356 (ufs2_mod_LDFLAGS): Likewise.
33357 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
33358 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
33359 Likewise.
33360 (grub_emu_SOURCES): Likewise.
33361 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33362 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33363 (grub_setup_SOURCES): Likewise.
33364 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33365 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
33366 (grub_setup_SOURCES): Likewise.
33367 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
33368 Likewise.
33369 * fs/ufs2.c: New file.
33370 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
33371
33372 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33373
33374 Framebuffer split.
33375
33376 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
33377 subsystem at the end.
33378 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
33379 (video_fb_mod_SOURCES): New variable.
33380 (video_fb_mod_CFLAGS): Likewise.
33381 (video_fb_mod_LDFLAGS): Likewise.
33382 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
33383 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
33384 * video/i386/pc/vbeblit.c: Moved from here ...
33385 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
33386 * video/i386/pc/vbefill.c: Moved from here ...
33387 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
33388 * video/i386/pc/vbeutil.c: Moved from here ...
33389 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
33390 * include/grub/i386/pc/vbeblit.h: Moved from here ...
33391 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
33392 * include/grub/i386/pc/vbefill.h: Moved from here ...
33393 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
33394 * include/grub/i386/pc/vbeutil.h: Moved from here ...
33395 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
33396 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
33397 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
33398 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
33399 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
33400 (grub_video_adapter): Added 'get_info_and_fini'.
33401 (grub_video_get_info_and_fini): New prototype.
33402 (grub_video_set_mode): make modestring const char *.
33403 * loader/i386/linux.c (grub_linux_setup_video): Use
33404 grub_video_get_info_and_fini.
33405 (grub_linux_boot): Move modesetting just before booting.
33406 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
33407 grub_video_get_info_and_fini.
33408 * video/i386/pc/vbe.c: Moved framebuffer part ...
33409 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
33410 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
33411 grub_video_fbstd_colors and grub_video_fb_set_palette.
33412 (grub_video_vbe_init): Clear 'framebuffer' variable and use
33413 grub_video_fb_init.
33414 (grub_video_vbe_fini): Use grub_video_fb_fini.
33415 (grub_video_vbe_setup): Use framebuffer.render_target instead of
33416 render_target and use grub_video_fb_set_active_render_target and
33417 grub_video_fb_set_palette.
33418 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
33419 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
33420 (grub_video_vbe_adapter): Use framebuffer.
33421 * video/video.c (grub_video_get_info_and_fini): New function.
33422 (grub_video_set_mode): Make modestring const char *.
33423 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
33424 values are already initialised.
33425
33426 2009-08-14 Pavel Roskin <proski@gnu.org>
33427
33428 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
33429 ABS and APPLE_CC.
33430 * boot/i386/pc/diskboot.S: Likewise.
33431 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
33432 sectors allow compilation on MacOSX.
33433 * conf/i386-pc.rmk: Enable unconditional compilation of
33434 lnxboot.img.
33435
33436 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
33437
33438 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
33439 * util/grub.d/00_header.in: Enter interruptible sleep if
33440 GRUB_HIDDEN_TIMEOUT is set.
33441
33442 2009-08-13 Yves Blusseau <blusseau@zetam.org>
33443
33444 * include/grub/symbol.h: Add the LOCAL macro.
33445 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
33446 starting with "L_".
33447
33448 2009-08-13 Pavel Roskin <proski@gnu.org>
33449
33450 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
33451 any modern compilers we support.
33452
33453 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
33454 Use local labels starting with "L_" so that Apple assembler
33455 knows they are local.
33456
33457 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
33458
33459 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
33460 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
33461 (bsd_kernel_types): ... this enum.
33462
33463 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
33464 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
33465 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
33466
33467 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
33468 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
33469 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
33470 messages.
33471
33472 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
33473
33474 * util/grub-dumpdevtree: Moved from here ...
33475 * util/i386/efi/grub-dumpdevtree: ... to here.
33476 (hexify): New function. Converts a string to its hex version.
33477 Generate hex versions of "efi" and "device-properties" by calling
33478 hexify() on the ASCII strings rather than by hardcoding numbers.
33479
33480 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
33481
33482 * fs/jfs.c: Update copyright year.
33483
33484 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
33485
33486 * util/grub.d/00_header.in: Fix a comment.
33487 * util/grub.d/10_linux.in: Likewise.
33488 * util/grub.d/10_windows.in: Likewise.
33489 * util/grub.d/10_hurd.in: Likewise.
33490
33491 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
33492
33493 * util/grub-mkconfig.in: Allow the user to specify the used font
33494 with GRUB_FONT.
33495
33496 2009-08-08 Pavel Roskin <proski@gnu.org>
33497
33498 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
33499 available, xfs.mod needs it now.
33500
33501 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
33502 the "g" modifier in sed when the intention is to strip something
33503 once. This fixes comparison of kernels with multiple dashes.
33504
33505 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
33506 on it. Add missing space before closing bracket. Fix
33507 misleading formatting.
33508
33509 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33510
33511 * docs/grub.texi: Major overhaul. Remove all sections that are
33512 specific to GRUB Legacy, or mostly composed of Legacy-specific
33513 information.
33514
33515 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33516
33517 * docs/version.texi: New file. Provides version information for
33518 grub.texi.
33519
33520 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33521
33522 * docs/grub.texi: Update CVS information to SVN.
33523 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
33524
33525 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
33526
33527 * util/grub-mkconfig.in: Remove a wrong `fi'.
33528
33529 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
33530
33531 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
33532 (grub_jfs_uuid): New function.
33533 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
33534
33535 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
33536
33537 * util/grub-mkconfig_lib.in (font_path): Move the functionality
33538 of it to ...
33539 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
33540 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
33541
33542 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33543
33544 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
33545 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
33546 Update all users.
33547
33548 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
33549 not just "vmlinu[zx]".
33550 Moved from here ...
33551 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
33552 all users.
33553
33554 * util/grub.d/10_linux.in (find_latest): Moved from here ...
33555 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
33556 all users.
33557
33558 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33559
33560 * util/grub.d/10_freebsd.in: Use an absolute device path for
33561 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
33562
33563 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
33564
33565 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
33566 handling of multiple abstraction modules.
33567
33568 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
33569
33570 Fix a bug resulting in black screen when loading Linux using a
33571 packed video mode.
33572
33573 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
33574 function.
33575
33576 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
33577 (grub_vbe_bios_getset_dac_palette_width): New function.
33578 (grub_vbe_bios_get_dac_palette_width)
33579 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
33580 grub_vbe_bios_getset_dac_palette_width()).
33581
33582 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
33583 check for return status.
33584 (grub_vbe_get_video_mode_info): When getting information for a packed
33585 mode (<= 8 bpp), obtain DAC palette width using
33586 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
33587 {red,green,blue}_mark_size.
33588
33589 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
33590
33591 * commands/search.c (options): Fix help output to match actual code.
33592
33593 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
33594
33595 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
33596 of homegrown code.
33597
33598 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
33599
33600 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
33601 on XFS or ReiserFS.
33602
33603 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
33604
33605 Support Apple partition map with sector size different from 512 bytes.
33606
33607 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
33608 (apple_partition_map_iterate): Respect 'aheader.blocksize'
33609 and 'apart.partmap_size'.
33610
33611 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
33612 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
33613
33614 Fix cpuid command.
33615
33616 * commands/i386/cpuid.c (options): New variable.
33617 (grub_cmd_cpuid): Return real error.
33618 (GRUB_MOD_INIT(cpuid)): Declare options.
33619
33620 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
33621
33622 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
33623 valid.
33624
33625 2009-07-31 Bean <bean123ch@gmail.com>
33626
33627 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
33628 log2_inode.
33629 (grub_fshelp_node): Move inode field to the end.
33630 (grub_xfs_data): Remove inode field.
33631 (grub_xfs_inode_block): Calculate inode size using sblock.
33632 (grub_xfs_inode_offset): Likewise.
33633 (grub_xfs_read_inode): Calculate inode size using sblock.
33634 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
33635 (grub_xfs_iterate_dir): Calculate inode size using sblock.
33636 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
33637 to match inode size.
33638 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
33639 not accessible when data is null.
33640 (grub_xfs_open): Likewise.
33641
33642 2009-07-31 Bean <bean123ch@gmail.com>
33643
33644 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
33645 Don't change pv->disk if it's already set.
33646
33647 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
33648 (grub_raid_register): ... here.
33649 (grub_raid_rescan): Removed.
33650
33651 * include/grub/raid.h (grub_raid_rescan): Removed.
33652
33653 * util/grub-fstest.c: Remove include file <grub/raid.h>.
33654 (fstest): Replace grub_raid_rescan with module fini function followed
33655 by init function.
33656
33657 * util/grub-probe.c: Add include file <grub/raid.h>.
33658 (probe_raid_level): New function.
33659 (probe): Detect abstraction by walking the disk device, support two
33660 level of abstraction (LVM on RAID) when detecting partition map.
33661
33662 2009-07-31 Pavel Roskin <proski@gnu.org>
33663
33664 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
33665 to grub_zalloc(), it was erroneous.
33666 Reported by Bean <bean123ch@gmail.com>
33667
33668 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
33669
33670 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
33671 embedding zone, not only the first one.
33672
33673 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
33674
33675 * term/gfxterm.c (clear_char): New function.
33676 (grub_virtual_screen_setup): Use clear_char.
33677 (scroll_up): Likewise.
33678 (grub_virtual_screen_cls): Likewise.
33679
33680 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
33681
33682 * util/deviceiter.c (get_acceleraid_disk_name): New static
33683 function.
33684 (grub_util_iterate_devices): Handle Accelraid devices.
33685 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
33686
33687 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
33688
33689 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
33690 separator for the suggested gfxpayload string (';' collides with the
33691 parser and needs escaping).
33692
33693 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
33694
33695 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
33696 Clear direction flag before jumping to OS.
33697 (grub_multiboot2_real_boot): Likewise.
33698
33699 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
33700
33701 * util/i386/pc/grub-install: Fix parsing of --disk-module
33702 option.
33703
33704 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
33705
33706 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
33707 when embedding.
33708
33709 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
33710
33711 * util/grub-mkconfig.in (package_version): New variable.
33712 Use it do display the version.
33713
33714 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
33715
33716 * kern/file.c (grub_file_open): Revert to previous check with
33717 grub_errno.
33718
33719 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
33720
33721 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
33722 from help line. It's out of sync with code.
33723
33724 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
33725
33726 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
33727 entries on failed boot.
33728
33729 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
33730
33731 * kern/file.c (grub_file_open): Fix an error check.
33732
33733 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
33734
33735 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
33736 partition map couldn't be identified.
33737
33738 2009-07-23 Pavel Roskin <proski@gnu.org>
33739
33740 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
33741 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
33742 case of little endian words becomes just an optimization.
33743 Respect const modifier.
33744 (md5_final): Use code that doesn't depend on endianness.
33745
33746 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
33747 to avoid loss of upper bits if align is unsigned and shorter
33748 than addr.
33749
33750 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
33751
33752 UUID support for UFS
33753
33754 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
33755 (grub_ufs_uuid): New function.
33756 (grub_ufs_fs): add .uuid
33757
33758 2009-07-21 Pavel Roskin <proski@gnu.org>
33759
33760 * kern/dl.c (grub_dl_check_header): Make static.
33761
33762 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
33763
33764 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
33765 add drivemap for Vista. It breaks Windows 7.
33766
33767 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
33768
33769 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
33770 128 bytes
33771
33772 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
33773
33774 Add BFS support
33775
33776 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
33777 (grub_fstest_SOURCES): Likewise.
33778 (pkglib_MODULES): Add befs.mod.
33779 (befs_mod_SOURCES): New variable.
33780 (befs_mod_CFLAGS): Likewise.
33781 (befs_mod_LDFLAGS): Likewise.
33782 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33783 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33784 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33785 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33786 (grub_setup_SOURCES): Likewise.
33787 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33788 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33789 (grub_setup_SOURCES): Likewise.
33790 * fs/befs.c: New file.
33791 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
33792 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
33793 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
33794 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
33795 (B_KEY_INDEX_ALIGN): New declaration.
33796 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
33797 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
33798 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
33799 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
33800 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
33801 (grub_afs_mount) [MODE_BFS]: Likewise.
33802 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
33803 (grub_afs_fs): Use GRUB_AFS_FSNAME
33804 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
33805 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
33806 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
33807 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
33808
33809 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
33810
33811 * util/getroot.c (find_root_device): Add support for MacOSX.
33812 * util/hostdisk.c: Likewise.
33813
33814 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
33815
33816 * font/font.c (find_glyph): Check whether a font is present to avoid
33817 segmentation fault.
33818
33819 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
33820
33821 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
33822
33823 2009-07-20 Pavel Roskin <proski@gnu.org>
33824
33825 * configure.ac: Trim excessively wordy excuses.
33826
33827 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
33828
33829 Add symlink, mtime and label support to AtheFS.
33830
33831 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
33832 (grub_afs_iterate_dir): Handle symlinks.
33833 (grub_afs_open): Use grub_afs_read_symlink.
33834 (grub_afs_dir): Likewise.
33835 Pass mtime.
33836 (grub_afs_label): New function.
33837 (grub_afs_fs): Add grub_afs_label.
33838 (grub_afs_read_symlink): New function.
33839
33840 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
33841
33842 Fix AtheFS support.
33843
33844 * fs/afs.c: Fix comments style.
33845 (grub_afs_blockrun): Declare as packed.
33846 (grub_afs_datastream): Likewise.
33847 (grub_afs_bnode): Likewise.
33848 (grub_afs_btree): Likewise.
33849 (grub_afs_sblock): Likewise.
33850 Declare `name' as char.
33851 (grub_afs_inode): Declare as packed.
33852 Change void *vnode to grub_uint32_t unused.
33853 (grub_afs_iterate_dir): Check that key_size is positive.
33854 (grub_afs_mount): Don't read superblock twice.
33855 (grub_afs_dir): Don't free node in case of error,
33856 grub_fshelp_find_file already handles this.
33857 (grub_afs_open): Likewise.
33858
33859 2009-07-19 Pavel Roskin <proski@gnu.org>
33860
33861 * Makefile.in: Remove LIBLZO and enable_lzo.
33862 * conf/i386-pc.rmk: Remove lzo support.
33863 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
33864 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
33865 support.
33866 * kern/i386/pc/lzo1x.S: Remove.
33867 * kern/i386/pc/startup.S: Remove lzo support.
33868 * util/i386/pc/grub-mkimage.c: Likewise.
33869
33870 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
33871
33872 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
33873 * fs/xfs.c (grub_xfs_dir): Likewise.
33874 * fs/afs.c (grub_afs_dir): Likewise.
33875 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
33876 (grub_iso9660_open): Likewise.
33877 * fs/jfs.c (grub_jfs_open): Likewise.
33878 * fs/ext2.c (grub_ext2_dir): Likewise.
33879 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
33880 * script/sh/lexer.c (grub_script_yylex): Likewise.
33881
33882 2009-07-16 Pavel Roskin <proski@gnu.org>
33883
33884 * configure.ac: Never add "-c" to CFLAGS.
33885
33886 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
33887
33888 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
33889 grub_cv_cc_efiemu should be used.
33890
33891 * configure.ac: Typo fixes.
33892
33893 * kern/mm.c (grub_zalloc): New function.
33894 (grub_debug_zalloc): Likewise.
33895 * include/grub/mm.h: Declare grub_zalloc() and
33896 grub_debug_zalloc().
33897 * util/misc.c (grub_zalloc): New function.
33898 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
33899 instead of grub_malloc(), remove unneeded initializations.
33900 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
33901 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
33902 * commands/parttool.c (grub_cmd_parttool): Likewise.
33903 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
33904 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
33905 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
33906 * disk/usbms.c (grub_usbms_finddevs): Likewise.
33907 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
33908 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
33909 (grub_cmd_efiemu_pnvram): Likewise.
33910 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
33911 * fs/iso9660.c (grub_iso9660_mount): Likewise.
33912 (grub_iso9660_iterate_dir): Likewise.
33913 * fs/jfs.c (grub_jfs_opendir): Likewise.
33914 * fs/ntfs.c (list_file): Likewise.
33915 (grub_ntfs_mount): Likewise.
33916 * kern/disk.c (grub_disk_open): Likewise.
33917 * kern/dl.c (grub_dl_load_core): Likewise.
33918 * kern/elf.c (grub_elf_file): Likewise.
33919 * kern/env.c (grub_env_context_open): Likewise.
33920 (grub_env_set): Likewise.
33921 (grub_env_set_data_slot): Likewise.
33922 * kern/file.c (grub_file_open): Likewise.
33923 * kern/fs.c (grub_fs_blocklist_open): Likewise.
33924 * loader/i386/multiboot.c (grub_module): Likewise.
33925 * loader/xnu.c (grub_xnu_create_key): Likewise.
33926 (grub_xnu_create_value): Likewise.
33927 * normal/main.c (grub_normal_add_menu_entry): Likewise.
33928 (read_config_file): Likewise.
33929 * normal/menu_entry.c (make_screen): Likewise.
33930 * partmap/sun.c (sun_partition_map_iterate): Likewise.
33931 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
33932 * script/sh/script.c (grub_script_parse): Likewise.
33933 * video/bitmap.c (grub_video_bitmap_create): Likewise.
33934 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
33935 * video/readers/png.c (grub_png_output_byte): Likewise.
33936 (grub_video_reader_png): Likewise.
33937
33938 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33939
33940 Enable all targets that can be built by default
33941
33942 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
33943 grub-mkfont and grub-fstest if they can be built
33944
33945 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33946
33947 Fix hang and segmentation fault in grub-emu-usb
33948
33949 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
33950 * util/usb.c (grub_libusb_devices): likewise
33951 (grub_libusb_init): rename to ...
33952 (GRUB_MOD_INIT (libusb)):...this
33953 (grub_libusb_fini): rename to ..
33954 (GRUB_MOD_FINI (libusb)):...this
33955 * disk/usbms.c (grub_usbms_transfer): fix retry logic
33956 * include/grub/disk.h (grub_raid_init): removed, it's useless
33957 (grub_raid_fini): likewise
33958 (grub_lvm_init): likewise
33959 (grub_lvm_fini): likewise
33960 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
33961 by grub_init_all
33962
33963 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33964
33965 Fix libusb
33966
33967 * Makefile.in (LIBUSB): new macro
33968 * genmk.rb (Utility/print_tail): new method
33969 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
33970 (top level): call util.print_tail at the end.
33971
33972 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33973
33974 Make FreeBSD accept zpool.cache
33975
33976 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
33977 type is /boot/zfs/zpool.cache
33978
33979 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33980
33981 Fix 64-bit efiemu
33982
33983 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
33984 correct wrong typedef
33985 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
33986
33987 2009-07-15 Pavel Roskin <proski@gnu.org>
33988
33989 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
33990 * kern/disk.c (struct grub_disk_cache): Likewise.
33991
33992 * commands/probe.c (options): Typo fix.
33993
33994 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
33995 Increase to 0x5a to accommodate FAT32. Adjust other offsets
33996 accordingly.
33997 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
33998
33999 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
34000 the end of "Error" to make the message more readable.
34001
34002 * boot/i386/pc/boot.S (kernel_segment): Remove.
34003 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
34004 for destination.
34005
34006 * boot/i386/pc/boot.S (boot_version): Remove.
34007 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
34008 Remove.
34009
34010 * include/grub/i386/pc/boot.h: Sort all offsets.
34011 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
34012 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
34013 * boot/i386/pc/boot.S: Assert location of every offset listed in
34014 include/grub/i386/pc/boot.h.
34015
34016 2009-07-13 Pavel Roskin <proski@gnu.org>
34017
34018 * include/grub/i386/coreboot/machine.h: Rename
34019 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
34020 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
34021 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
34022
34023 * kern/dl.c: Force native word size to suppress warnings when
34024 compiling grub-emu.
34025
34026 * kern/device.c (grub_device_iterate): Change struct part_ent to
34027 hold the name, not a pointer to it. Use one grub_malloc() per
34028 partition, not two. Free partition_name if grub_malloc() fails.
34029 Set ents to NULL only before grub_partition_iterate() is called.
34030
34031 2009-07-11 Bean <bean123ch@gmail.com>
34032
34033 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
34034 childname.
34035
34036 2009-07-10 Bean <bean123ch@gmail.com>
34037 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
34038
34039 * kern/ieee1275/openfw.c (grub_children_iterate)
34040 (grub_devalias_iterate): Fix size evaluation for property or path
34041 strings, which was broken since r2132.
34042
34043 2009-07-07 Pavel Roskin <proski@gnu.org>
34044
34045 * commands/search.c (search_file): Merge into ...
34046 (search_fs): ... this. Accept search type as argument.
34047 (grub_cmd_search): Pass search type to search_fs().
34048
34049 * include/grub/util/console.h: New file.
34050 * util/console.c: Use it instead of grub/machine/console.h.
34051 * util/grub-emu.c: Likewise.
34052
34053 * lib/arg.c (find_long_option): Remove.
34054 (find_long): Add `len' argument, make `s' const char *.
34055 (grub_arg_parse): Parse long options in place, not in a
34056 temporary buffer.
34057
34058 2009-07-06 Pavel Roskin <proski@gnu.org>
34059
34060 * commands/search.c (search_fs): Fix potential NULL pointer
34061 dereference.
34062
34063 * commands/search.c (search_fs): Replace QUID macro with quid_fn
34064 function pointer.
34065
34066 2009-07-06 Daniel Mierswa <impulze@impulze.org>
34067
34068 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
34069 comparison.
34070
34071 2009-07-05 Pavel Roskin <proski@gnu.org>
34072
34073 * include/grub/i386/linux.h (struct linux_kernel_params):
34074 Restore padding3, it's still needed.
34075
34076 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
34077 FreeBSD.
34078 * util/osdetect.lua: Likewise.
34079
34080 2009-07-05 Bean <bean123ch@gmail.com>
34081
34082 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
34083
34084 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
34085 (grub_lua_getenv): Likewise.
34086 (grub_lua_setenv): Likewise.
34087 (save_errno): New function.
34088 (push_result): Likewise.
34089 (grub_lua_enum_device): Likewise.
34090 (grub_lua_enum_file): Likewise.
34091 (grub_lua_file_open): Likewise.
34092 (grub_lua_file_close): Likewise.
34093 (grub_lua_file_seek): Likewise.
34094 (grub_lua_file_read): Likewise.
34095 (grub_lua_file_getline): Likewise.
34096 (grub_lua_file_getsize): Likewise.
34097 (grub_lua_file_getpos): Likewise.
34098 (grub_lua_file_eof): Likewise.
34099 (grub_lua_file_exist): Likewise.
34100 (grub_lua_add_menu): Likewise.
34101
34102 * script/lua/grub_lua.h (isupper): New inline function.
34103 (islower): Likewise.
34104 (ispunct): Likewise.
34105 (isxdigit): Likewise.
34106 (strcspn): Change to normal function.
34107 (strpbkr): New function declaration.
34108 (memchr): Likewise.
34109
34110 * script/lua/grub_main.c (scan_str): New function.
34111 (strcspn): Likewise.
34112 (strpbrk): Likewise.
34113 (memchr): Likewise.
34114
34115 * script/lua/linit.c (lualibs): Enable the string library.
34116
34117 * util/osdetect.lua: New file.
34118
34119 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
34120
34121 * include/grub/i386/linux.h (struct linux_kernel_params): Add
34122 `capabilities' member.
34123
34124 2009-07-02 Pavel Roskin <proski@gnu.org>
34125
34126 * genparttoollist.sh: Add missing newline at the end.
34127
34128 2009-07-01 Pavel Roskin <proski@gnu.org>
34129
34130 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
34131
34132 * util/hostdisk.c (open_device): Remove `const' from
34133 `sysctl_size', as sysctlbyname() can change it (in this case it
34134 doesn't actually happen).
34135
34136 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
34137 using signed long int constants.
34138
34139 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
34140 constant to avoid a warning on FreeBSD.
34141
34142 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
34143 where it's needed.
34144
34145 * Makefile.in: Install include/grub/machine symlink.
34146
34147 * Makefile.in: When installing symlinks, use "cp -fR", which
34148 works on FreeBSD and MacOSX.
34149 From Yves Blusseau <cl7m42e02@sneakemail.com>
34150
34151 * kern/dl.c (grub_dl_resolve_symbol): Make static.
34152 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
34153
34154 * util/misc.c: Move grub_reboot() and grub_halt() ...
34155 * util/grub-emu.c: ... here. Make main_env static.
34156 * include/grub/util/misc.h: Remove main_env.
34157
34158 * kern/mm.c: Use correct format to print size_t.
34159
34160 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
34161 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
34162 * kern/powerpc/dl.c: Likewise.
34163 * kern/sparc64/dl.c: Likewise.
34164 * kern/x86_64/dl.c: Likewise.
34165
34166 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34167
34168 Fix grub-emu build on sparc64-ieee1275.
34169
34170 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
34171 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
34172
34173 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34174
34175 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
34176 (grub_reboot, grub_halt): New functions.
34177
34178 * util/i386/pc/misc.c: Delete. Update all users.
34179 * util/sparc64/ieee1275/misc.c: Likewise.
34180 * util/powerpc/ieee1275/misc.c: Likewise.
34181
34182 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34183
34184 * conf/i386.rmk (setjmp_mod_SOURCES)
34185 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
34186 * conf/common.rmk (setjmp_mod_SOURCES)
34187 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
34188 to use $(target_cpu).
34189 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
34190 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
34191 * conf/powerpc-ieee1275.rmk: Likewise.
34192 * conf/sparc64-ieee1275.rmk: Likewise.
34193
34194 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
34195 $(target_cpu) for kern/$(target_cpu)/dl.c.
34196 * conf/i386-efi.rmk: Likewise.
34197 * conf/i386-ieee1275.rmk: Likewise.
34198 * conf/x86_64-efi.rmk: Likewise.
34199 * conf/i386-coreboot.rmk: Likewise.
34200 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
34201 $(target_cpu) for kern/$(target_cpu)/dl.c and for
34202 kern/$(target_cpu)/cache.S.
34203 * conf/sparc64-ieee1275.rmk: Likewise.
34204
34205 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34206
34207 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
34208 type to `grub_uint8_t', and adjust `padding9' accordingly.
34209
34210 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34211
34212 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
34213
34214 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
34215 assembly in final jump, using register constraints.
34216
34217 (grub_linux_boot): For text mode, initialize `have_vga' using
34218 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
34219
34220 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
34221 right before the final jump.
34222
34223 Set `video_mode' to 0x3.
34224
34225 Document initialization of `video_page', `video_mode' and
34226 `video_ega_bx'.
34227
34228 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34229
34230 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
34231 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
34232 and set GRUB_LINUX_FLAG_QUIET appropriately.
34233
34234 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34235
34236 Fix build on Debian / sparc.
34237
34238 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
34239
34240 2009-06-28 Pavel Roskin <proski@gnu.org>
34241
34242 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
34243 fix a warning.
34244
34245 * util/grub.d/10_linux.in: Match SUSE style initrd names.
34246
34247 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34248
34249 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
34250 `err'.
34251
34252 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34253
34254 Revert r2338.
34255
34256 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
34257 file can't be opened. grub_file_open() is already supposed to set
34258 grub_errno / grub_errmsg appropriately.
34259 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
34260
34261 2009-06-27 Pavel Roskin <proski@gnu.org>
34262 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34263
34264 * include/grub/dl.h: Include grub/elf.h.
34265 (struct grub_dl): Add symtab field.
34266 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
34267 GRUB_MODULES_MACHINE_READONLY.
34268 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
34269 of the header for read-only modules.
34270 (grub_dl_unload): Free mod->symtab for read-only modules.
34271 * kern/i386/dl.c: Use mod->symtab.
34272 * kern/powerpc/dl.c: Likewise.
34273 * kern/sparc64/dl.c: Likewise.
34274 * kern/x86_64/dl.c: Likewise.
34275
34276 * conf/i386-qemu.rmk: New file.
34277 * kern/i386/qemu/startup.S: Likewise.
34278 * kern/i386/qemu/mmap.c: Likewise.
34279 * boot/i386/qemu/boot.S: Likewise.
34280 * include/grub/i386/qemu/time.h: Likewise.
34281 * include/grub/i386/qemu/serial.h: Likewise.
34282 * include/grub/i386/qemu/kernel.h: Likewise.
34283 * include/grub/i386/qemu/console.h: Likewise.
34284 * include/grub/i386/qemu/boot.h: Likewise.
34285 * include/grub/i386/qemu/init.h: Likewise.
34286 * include/grub/i386/qemu/machine.h: Likewise.
34287 * include/grub/i386/qemu/loader.h: Likewise.
34288 * include/grub/i386/qemu/memory.h: Likewise.
34289
34290 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
34291 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
34292 [qemu] (pkglib_IMAGES): Add `boot.img'.
34293 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
34294 [qemu] (boot_img_FORMAT): New variables.
34295 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
34296 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
34297 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
34298 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
34299 [qemu] (kernel_img_FORMAT): New variables.
34300
34301 * configure.ac: Recognise `i386-qemu'.
34302
34303 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
34304 (for no compression).
34305 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
34306 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
34307 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
34308 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
34309 ifdefs).
34310
34311 2009-06-27 Pavel Roskin <proski@gnu.org>
34312
34313 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
34314 read.
34315 * efiemu/prepare32.c: Likewise.
34316 * efiemu/prepare64.c: Likewise.
34317
34318 2009-06-26 Pavel Roskin <proski@gnu.org>
34319
34320 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
34321 * include/grub/elf.h: Define symbols without "32" or "64" based
34322 on GRUB_TARGET_WORDSIZE.
34323 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
34324 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
34325 ELF definitions.
34326 * efiemu/loadcore64.c: Likewise.
34327 * loader/i386/bsd32.c: Likewise.
34328 * loader/i386/bsd64.c: Likewise.
34329 * kern/dl.c: Remove own ELF definitions.
34330 * util/i386/efi/grub-mkimage.c: Likewise.
34331
34332 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
34333
34334 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
34335 segment 0x0 unconditionally, because the reference generated by
34336 GAS is an absolute address.
34337
34338 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34339
34340 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
34341 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
34342
34343 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34344
34345 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
34346 indexes. Check for -f explicitly.
34347 (search_file): Improve error message.
34348 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
34349
34350 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34351
34352 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
34353 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
34354
34355 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34356
34357 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
34358 * conf/i386-ieee1275.rmk: Likewise.
34359 * conf/i386-coreboot.rmk: Likewise.
34360
34361 * kern/i386/pc/startup.S (grub_stop): Remove function.
34362 * kern/i386/ieee1275/startup.S: Likewise.
34363 * kern/i386/coreboot/startup.S: Likewise.
34364 * kern/i386/misc.S (grub_stop): New function.
34365
34366 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34367
34368 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
34369 * kern/i386/realmode.S (real_to_prot): ... to here.
34370
34371 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34372
34373 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
34374 with `kernel.img'.
34375 (kernel_elf_SOURCES): Rename to ...
34376 (kernel_img_SOURCES): ... this.
34377 (kernel_elf_HEADERS): Rename to ...
34378 (kernel_img_HEADERS): ... this. Update all users.
34379 (kernel_elf_ASFLAGS): Rename to ...
34380 (kernel_img_ASFLAGS): ... this.
34381 (kernel_elf_CFLAGS): Rename to ...
34382 (kernel_img_CFLAGS): ... this.
34383 (kernel_elf_LDFLAGS): Rename to ...
34384 (kernel_img_LDFLAGS): ... this.
34385 * conf/i386-coreboot.rmk: Likewise.
34386 * conf/powerpc-ieee1275.rmk: Likewise.
34387
34388 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
34389 with "kernel.img".
34390
34391 2009-06-21 Pavel Roskin <proski@gnu.org>
34392
34393 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
34394 to match nested functions.
34395 * loader/sparc64/ieee1275/linux.c: Likewise.
34396
34397 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
34398
34399 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
34400
34401 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
34402 all i386 platforms.
34403
34404 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
34405
34406 Fix asm file handling on ELF, and remove workarounds.
34407
34408 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
34409 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
34410 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
34411 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
34412
34413 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
34414
34415 Load BSD ELF modules
34416
34417 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
34418 and loader/i386/bsd64.c
34419 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
34420 (FREEBSD_MODTYPE_ELF_MODULE): New definition
34421 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
34422 (grub_freebsd_load_elfmodule32): New declaration
34423 (grub_freebsd_load_elfmoduleobj64): Likewise
34424 (grub_freebsd_load_elf_meta32): Likewise
34425 (grub_freebsd_load_elf_meta64): Likewise
34426 (grub_freebsd_add_meta): Likewise
34427 (grub_freebsd_add_meta_module): Likewise
34428 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
34429 (grub_freebsd_add_meta_module): Likewise and move module-specific
34430 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
34431 (grub_cmd_freebsd): Add elf-kernel specific parts
34432 based on grub_freebsd_add_meta_module
34433 (grub_cmd_freebsd_module): Add type parsing moved from
34434 grub_freebsd_add_meta_module
34435 (grub_cmd_freebsd_module_elf): New function
34436 (cmd_freebsd_module_elf): New variable
34437 (GRUB_MOD_INIT): Register freebsd_module_elf
34438 * loader/i386/bsd32.c: New file
34439 * loader/i386/bsd64.c: Likewise
34440 * loader/i386/bsdXX.c: Likewise
34441 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
34442 (grub_elf64_load): Likewise
34443 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
34444 All users updated
34445 (grub_elf64_load_hook_t): Likewise
34446
34447 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
34448
34449 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
34450 variable.
34451 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
34452 don't write a menu entry for recovery mode.
34453
34454 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
34455
34456 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
34457 after it's no longer needed.
34458
34459 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
34460
34461 * include/grub/i386/loader.h (grub_linux_prot_size)
34462 (grub_linux_tmp_addr, grub_linux_real_addr)
34463 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
34464 GRUB_MACHINE_PCBIOS.
34465 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
34466 common grub_util_info() call to ...
34467 (generate_image): ... here.
34468 Fix use of uninitialized memory, comparison of signed with
34469 unsigned integers and memory leak.
34470 Remove bogus module address message.
34471
34472 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
34473
34474 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
34475 grub_raid_register
34476 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
34477
34478 2009-06-19 Pavel Roskin <proski@gnu.org>
34479
34480 * configure.ac: Remove stray AC_MSG_CHECKING.
34481
34482 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
34483
34484 * disk/scsi.c (grub_scsi_open): use continue instead of big if
34485
34486 2009-06-18 Pavel Roskin <proski@gnu.org>
34487
34488 * conf/common.rmk: Add fs_file.mod.
34489 * disk/fs_file.c: New file.
34490 * include/grub/disk.h (enum grub_disk_dev_id): Add
34491 GRUB_DISK_DEVICE_FILE_ID.
34492
34493 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
34494
34495 Fix build with Apple's toolchain. Part 2
34496
34497 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
34498 a fake start
34499
34500 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
34501
34502 Fix build with Apple's toolchain. Part 1
34503
34504 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
34505 for long calls
34506 * configure.ac: remove a leftover AC_MSG_RESULT
34507 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
34508 Apple's toolchain
34509
34510 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
34511
34512 Fix warnings
34513
34514 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
34515 (decomp_block): initialize ch
34516 use grub_memcpy instead of memcpy
34517
34518 2009-06-17 Pavel Roskin <proski@gnu.org>
34519
34520 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
34521 version, use declarations needed to use vga_text as the startup
34522 console.
34523
34524 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
34525 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
34526 the kernel.
34527 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
34528 and grub_at_keyboard_fini(), it's done on module load and
34529 unload.
34530
34531 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
34532
34533 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
34534 file can't be found.
34535 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
34536
34537 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
34538
34539 Fix newline handling
34540
34541 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
34542 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
34543 (grub_script_yylex): don't segfault on unterminated script
34544 newline terminates command and variable
34545
34546 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
34547
34548 avoid double grub_adjust_range call. Bug reported by David Simner
34549
34550 * kern/disk.c (grub_disk_write): change to raw disk access before
34551 calling disk_read
34552
34553 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
34554
34555 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
34556 spaces, for the benefit of help2man.
34557 * util/i386/efi/grub-mkimage.c (usage): Likewise.
34558
34559 2009-06-16 Pavel Roskin <proski@gnu.org>
34560
34561 * kern/i386/halt.c: Include grub/machine/init.h.
34562 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
34563
34564 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
34565
34566 * util/grub.d/30_os-prober.in: Use ${root} in the generated
34567 drivemap menuentry.
34568
34569 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
34570
34571 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
34572 `echo' command.
34573
34574 2009-06-16 Pavel Roskin <proski@gnu.org>
34575
34576 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
34577 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
34578 save %dx, we only need %dl and we never change it.
34579 * boot/i386/pc/cdboot.S: Don't set the root drive.
34580 * boot/i386/pc/pxeboot.S: Likewise.
34581 * include/grub/i386/pc/boot.h: Remove
34582 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
34583 GRUB_BOOT_MACHINE_DRIVE_CHECK.
34584 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
34585 * kern/i386/pc/init.c (make_install_device): Remove references
34586 to grub_root_drive.
34587 * kern/i386/pc/startup.S: Likewise.
34588 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
34589
34590 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
34591
34592 xnu_uuid command
34593
34594 * commands/xnu_uuid.c: new file
34595 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
34596 (xnu_uuid_mod_SOURCES): new variable
34597 (xnu_uuid_mod_CFLAGS): likewise
34598 (xnu_uuid_mod_LDFLAGS): likewise
34599 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
34600 * conf/i386-ieee1275.rmk: likewise
34601 * conf/i386-pc.rmk: likewise
34602 * conf/powerpc-ieee1275.rmk: likewise
34603 * conf/sparc64-ieee1275.rmk: likewise
34604 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
34605
34606 2009-06-16 Pavel Roskin <proski@gnu.org>
34607
34608 * configure.ac: Avoid '==' in test command, it's not portable.
34609
34610 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
34611
34612 Probe command
34613
34614 * commands/probe.c: new file
34615 * conf/common.rmk (pkglib_MODULES): add probe.mod
34616 (probe_mod_SOURCES): new variable
34617 (probe_mod_CFLAGS): likewise
34618 (probe_mod_LDFLAGS): likewise
34619 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
34620 * conf/i386-ieee1275.rmk: likewise
34621 * conf/i386-pc.rmk: likewise
34622 * conf/powerpc-ieee1275.rmk: likewise
34623 * conf/sparc64-ieee1275.rmk: likewise
34624
34625 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
34626
34627 Fix handling of string like \"hello\" and "a
34628 b"
34629
34630 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
34631 (grub_script_yylex): fix parsing of quoting, escaping and newline
34632
34633 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
34634
34635 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
34636 handling
34637
34638 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
34639
34640 * util/grub-mkconfig.in: Fix parsing of --output option.
34641
34642 2009-06-12 Pavel Roskin <proski@gnu.org>
34643
34644 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
34645 genmk.rb don't need to be generated or installed.
34646
34647 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
34648
34649 * commands/i386/pc/drivemap_int13h.S: add more comments
34650
34651 2009-06-11 Pavel Roskin <proski@gnu.org>
34652
34653 * Makefile.in (uninstall): Uninstall manuals.
34654
34655 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
34656 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
34657 and update-grub_lib in two places.
34658 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
34659
34660 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
34661 a compiler warning.
34662
34663 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
34664 `entry_lo' to fix variable shadowing.
34665
34666 2009-06-11 Christian Franke <franke@computer.org>
34667
34668 * kern/misc.c (__enable_execute_stack): Add missing return type
34669 to prevent gcc warning.
34670
34671 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
34672
34673 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
34674
34675 2009-06-11 Pavel Roskin <proski@gnu.org>
34676
34677 * Makefile.in: Don't rely on any scripts being executable.
34678 Always use $(SHELL) to run shell scripts.
34679
34680 * configure.ac: Always define ___main if using -nostdlib. This
34681 fixes tests on Cygwin.
34682
34683 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
34684
34685 UDF fix
34686
34687 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
34688 is in bytes and not in blocks
34689
34690 2009-06-11 Pavel Roskin <proski@gnu.org>
34691
34692 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
34693 warning.
34694
34695 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
34696
34697 * util/grub.d/30_os-prober.in: Fix a comment. Source
34698 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
34699 to set the root device. Place drivemap command in the generated
34700 chain entry.
34701
34702 2009-06-11 Pavel Roskin <proski@gnu.org>
34703
34704 * configure.ac: Remove host_m32. Issues with 64-bit utilities
34705 have long been resolved.
34706
34707 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
34708
34709 * util/grub.d/10_linux.in: Capitalise "Linux".
34710
34711 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
34712
34713 2009-06-11 Pavel Roskin <proski@gnu.org>
34714
34715 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
34716 fix a gcc warning and ensure that the function won't ever exit.
34717
34718 * kern/i386/ieee1275/init.c: Add missing prototype for
34719 grub_stop_floppy().
34720
34721 * loader/ieee1275/multiboot2.c [__i386__]: Include
34722 grub/cpu/multiboot.h.
34723
34724 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
34725 casts to short - they are not portable and cause warnings. Fix
34726 use of uninitialized values in input_buf. Use ARRAY_SIZE.
34727
34728 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
34729
34730 Drivemap fixes
34731
34732 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
34733 new function
34734 (grub_get_root_biosnumber_saved): new variable
34735 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
34736 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
34737 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
34738 %dx after the call if necessary
34739 * conf/common.rmk (pkglib_MODULES): remove boot.mod
34740 (boot_mod_SOURCES): remove
34741 (boot_mod_CFLAGS): remove
34742 (boot_mod_LDFLAGS): remove
34743 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
34744 (boot_mod_SOURCES): new variable
34745 (boot_mod_CFLAGS): likewise
34746 (boot_mod_LDFLAGS): likewise
34747 * conf/i386-efi.rmk: likewise
34748 * conf/i386-ieee1275.rmk: likewise
34749 * conf/i386-pc.rmk: likewise
34750 * conf/powerpc-ieee1275.rmk: likewise
34751 * conf/sparc64-ieee1275.rmk: likewise
34752 * conf/x86_64-efi.rmk: likewise
34753 * include/grub/i386/pc/biosnum.h: new file
34754 * lib/i386/pc/biosnum.c: likewise
34755 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
34756 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
34757 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
34758
34759 2009-06-10 Pavel Roskin <proski@gnu.org>
34760
34761 * io/gzio.c (test_header): Don't reuse one buffer for all data.
34762 Use separate variables. Read only the file size at the end, but
34763 not the checksum that we don't use.
34764
34765 * kern/file.c (grub_file_read): Use void pointer for the buffer.
34766 Adjust all callers.
34767
34768 * kern/ieee1275/openfw.c: Remove libc includes.
34769 * kern/ieee1275/cmain.c: Likewise.
34770 * include/grub/ieee1275/ieee1275.h: Likewise.
34771
34772 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
34773 compiler warnings.
34774
34775 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
34776
34777 * Makefile.in: Remove all trailing whitespace.
34778 * conf/i386-pc.rmk: Likewise.
34779 * conf/powerpc-ieee1275.rmk: Likewise.
34780 * conf/sparc64-ieee1275.rmk: Likewise.
34781 * docs/grub.texi: Likewise.
34782 * docs/texinfo.tex: Likewise.
34783 * disk/fs_uuid.c: Likewise.
34784 * disk/lvm.c: Likewise.
34785 * disk/scsi.c: Likewise.
34786 * disk/ata.c: Likewise.
34787 * disk/ieee1275/ofdisk.c: Likewise.
34788 * disk/i386/pc/biosdisk.c: Likewise.
34789 * disk/host.c: Likewise.
34790 * disk/raid.c: Likewise.
34791 * disk/efi/efidisk.c: Likewise.
34792 * disk/usbms.c: Likewise.
34793 * disk/memdisk.c: Likewise.
34794 * disk/loopback.c: Likewise.
34795 * kern/powerpc/dl.c: Likewise.
34796 * kern/device.c: Likewise.
34797 * kern/dl.c: Likewise.
34798 * kern/sparc64/dl.c: Likewise.
34799 * kern/ieee1275/ieee1275.c: Likewise.
34800 * kern/term.c: Likewise.
34801 * kern/fs.c: Likewise.
34802 * kern/i386/dl.c: Likewise.
34803 * kern/i386/pc/startup.S: Likewise.
34804 * kern/i386/pc/init.c: Likewise.
34805 * kern/i386/pc/mmap.c: Likewise.
34806 * kern/i386/pc/lzo1x.S: Likewise.
34807 * kern/i386/ieee1275/init.c: Likewise.
34808 * kern/i386/realmode.S: Likewise.
34809 * kern/i386/tsc.c: Likewise.
34810 * kern/partition.c: Likewise.
34811 * kern/corecmd.c: Likewise.
34812 * kern/file.c: Likewise.
34813 * kern/efi/efi.c: Likewise.
34814 * kern/efi/init.c: Likewise.
34815 * kern/efi/mm.c: Likewise.
34816 * kern/main.c: Likewise.
34817 * kern/err.c: Likewise.
34818 * kern/env.c: Likewise.
34819 * kern/disk.c: Likewise.
34820 * kern/generic/millisleep.c: Likewise.
34821 * kern/generic/rtc_get_time_ms.c: Likewise.
34822 * kern/misc.c: Likewise.
34823 * kern/parser.c: Likewise.
34824 * genmk.rb: Likewise.
34825 * configure.ac: Likewise.
34826 * boot/i386/pc/diskboot.S: Likewise.
34827 * boot/i386/pc/pxeboot.S: Likewise.
34828 * boot/i386/pc/boot.S: Likewise.
34829 * boot/i386/pc/lnxboot.S: Likewise.
34830 * boot/i386/pc/cdboot.S: Likewise.
34831 * parttool/pcpart.c: Likewise.
34832 * video/readers/tga.c: Likewise.
34833 * video/video.c: Likewise.
34834 * video/bitmap.c: Likewise.
34835 * lib/envblk.c: Likewise.
34836 * lib/i386/setjmp.S: Likewise.
34837 * fs/xfs.c: Likewise.
34838 * fs/afs.c: Likewise.
34839 * fs/fat.c: Likewise.
34840 * fs/ntfs.c: Likewise.
34841 * fs/udf.c: Likewise.
34842 * fs/affs.c: Likewise.
34843 * fs/iso9660.c: Likewise.
34844 * fs/hfs.c: Likewise.
34845 * fs/fshelp.c: Likewise.
34846 * fs/ext2.c: Likewise.
34847 * fs/jfs.c: Likewise.
34848 * fs/reiserfs.c: Likewise.
34849 * fs/hfsplus.c: Likewise.
34850 * fs/minix.c: Likewise.
34851 * fs/cpio.c: Likewise.
34852 * fs/sfs.c: Likewise.
34853 * fs/ufs.c: Likewise.
34854 * efiemu/prepare.c: Likewise.
34855 * efiemu/loadcore_common.c: Likewise.
34856 * efiemu/runtime/efiemu.sh: Likewise.
34857 * efiemu/runtime/efiemu.S: Likewise.
34858 * efiemu/runtime/efiemu.c: Likewise.
34859 * efiemu/pnvram.c: Likewise.
34860 * efiemu/main.c: Likewise.
34861 * efiemu/i386/pc/cfgtables.c: Likewise.
34862 * efiemu/i386/loadcore64.c: Likewise.
34863 * efiemu/i386/loadcore32.c: Likewise.
34864 * efiemu/loadcore.c: Likewise.
34865 * efiemu/symbols.c: Likewise.
34866 * efiemu/mm.c: Likewise.
34867 * include/grub/autoefi.h: Likewise.
34868 * include/grub/datetime.h: Likewise.
34869 * include/grub/term.h: Likewise.
34870 * include/grub/hfs.h: Likewise.
34871 * include/grub/lvm.h: Likewise.
34872 * include/grub/i386/tsc.h: Likewise.
34873 * include/grub/i386/linux.h: Likewise.
34874 * include/grub/i386/xnu.h: Likewise.
34875 * include/grub/i386/efiemu.h: Likewise.
34876 * include/grub/i386/pc/biosdisk.h: Likewise.
34877 * include/grub/i386/pc/memory.h: Likewise.
34878 * include/grub/i386/pc/vbe.h: Likewise.
34879 * include/grub/parttool.h: Likewise.
34880 * include/grub/video.h: Likewise.
34881 * include/grub/memory.h: Likewise.
34882 * include/grub/fs.h: Likewise.
34883 * include/grub/partition.h: Likewise.
34884 * include/grub/xnu.h: Likewise.
34885 * include/grub/efi/api.h: Likewise.
34886 * include/grub/efi/pe32.h: Likewise.
34887 * include/grub/efi/memory.h: Likewise.
34888 * include/grub/multiboot.h: Likewise.
34889 * include/grub/usbdesc.h: Likewise.
34890 * include/grub/multiboot2.h: Likewise.
34891 * include/grub/acpi.h: Likewise.
34892 * include/grub/efiemu/efiemu.h: Likewise.
34893 * include/grub/disk.h: Likewise.
34894 * include/grub/ieee1275/ieee1275.h: Likewise.
34895 * include/grub/net.h: Likewise.
34896 * include/grub/machoload.h: Likewise.
34897 * include/grub/macho.h: Likewise.
34898 * include/multiboot.h: Likewise.
34899 * genmoddep.awk: Likewise.
34900 * normal/main.c: Likewise.
34901 * normal/menu_entry.c: Likewise.
34902 * normal/menu_viewer.c: Likewise.
34903 * normal/completion.c: Likewise.
34904 * normal/cmdline.c: Likewise.
34905 * normal/misc.c: Likewise.
34906 * normal/datetime.c: Likewise.
34907 * bus/usb/usbtrans.c: Likewise.
34908 * bus/usb/ohci.c: Likewise.
34909 * bus/usb/uhci.c: Likewise.
34910 * bus/usb/usb.c: Likewise.
34911 * mmap/efi/mmap.c: Likewise.
34912 * mmap/i386/pc/mmap_helper.S: Likewise.
34913 * mmap/i386/pc/mmap.c: Likewise.
34914 * mmap/i386/mmap.c: Likewise.
34915 * mmap/i386/uppermem.c: Likewise.
34916 * mmap/mmap.c: Likewise.
34917 * commands/acpi.c: Likewise.
34918 * commands/echo.c: Likewise.
34919 * commands/blocklist.c: Likewise.
34920 * commands/loadenv.c: Likewise.
34921 * commands/usbtest.c: Likewise.
34922 * commands/boot.c: Likewise.
34923 * commands/parttool.c: Likewise.
34924 * commands/search.c: Likewise.
34925 * commands/cat.c: Likewise.
34926 * commands/i386/pc/play.c: Likewise.
34927 * commands/i386/pc/drivemap.c: Likewise.
34928 * commands/i386/pc/vbeinfo.c: Likewise.
34929 * commands/i386/pc/acpi.c: Likewise.
34930 * commands/i386/pc/vbetest.c: Likewise.
34931 * commands/ls.c: Likewise.
34932 * commands/cmp.c: Likewise.
34933 * commands/test.c: Likewise.
34934 * commands/efi/acpi.c: Likewise.
34935 * commands/gptsync.c: Likewise.
34936 * commands/help.c: Likewise.
34937 * partmap/amiga.c: Likewise.
34938 * partmap/apple.c: Likewise.
34939 * partmap/acorn.c: Likewise.
34940 * partmap/pc.c: Likewise.
34941 * partmap/sun.c: Likewise.
34942 * partmap/gpt.c: Likewise.
34943 * script/sh/lexer.c: Likewise.
34944 * script/sh/function.c: Likewise.
34945 * font/font.c: Likewise.
34946 * font/font_cmd.c: Likewise.
34947 * loader/powerpc/ieee1275/linux.c: Likewise.
34948 * loader/efi/chainloader.c: Likewise.
34949 * loader/multiboot_loader.c: Likewise.
34950 * loader/macho.c: Likewise.
34951 * loader/i386/multiboot.c: Likewise.
34952 * loader/i386/linux.c: Likewise.
34953 * loader/i386/pc/linux.c: Likewise.
34954 * loader/i386/pc/multiboot2.c: Likewise.
34955 * loader/i386/pc/chainloader.c: Likewise.
34956 * loader/i386/pc/xnu.c: Likewise.
34957 * loader/i386/bsd_trampoline.S: Likewise.
34958 * loader/i386/efi/linux.c: Likewise.
34959 * loader/i386/multiboot_elfxx.c: Likewise.
34960 * loader/i386/bsd_helper.S: Likewise.
34961 * loader/i386/bsd.c: Likewise.
34962 * loader/i386/linux_trampoline.S: Likewise.
34963 * loader/i386/xnu_helper.S: Likewise.
34964 * loader/i386/xnu.c: Likewise.
34965 * loader/i386/bsd_pagetable.c: Likewise.
34966 * loader/i386/multiboot_helper.S: Likewise.
34967 * loader/xnu.c: Likewise.
34968 * loader/xnu_resume.c: Likewise.
34969 * io/gzio.c: Likewise.
34970 * term/efi/console.c: Likewise.
34971 * term/terminfo.c: Likewise.
34972 * term/ieee1275/ofconsole.c: Likewise.
34973 * term/i386/pc/serial.c: Likewise.
34974 * term/i386/pc/vesafb.c: Likewise.
34975 * term/i386/pc/vga.c: Likewise.
34976 * term/usb_keyboard.c: Likewise.
34977 * term/gfxterm.c: Likewise.
34978 * aclocal.m4: Likewise.
34979 * util/lvm.c: Likewise.
34980 * util/grub.d/30_os-prober.in: Likewise.
34981 * util/grub.d/10_hurd.in: Likewise.
34982 * util/console.c: Likewise.
34983 * util/grub-macho2img.c: Likewise.
34984 * util/grub-probe.c: Likewise.
34985 * util/hostfs.c: Likewise.
34986 * util/i386/pc/grub-mkimage.c: Likewise.
34987 * util/i386/pc/grub-setup.c: Likewise.
34988 * util/i386/efi/grub-mkimage.c: Likewise.
34989 * util/grub-mkconfig.in: Likewise.
34990 * util/raid.c: Likewise.
34991 * util/resolve.c: Likewise.
34992 * util/grub-mkdevicemap.c: Likewise.
34993 * util/grub-emu.c: Likewise.
34994 * util/getroot.c: Likewise.
34995 * util/hostdisk.c: Likewise.
34996 * util/usb.c: Likewise.
34997 * util/grub-editenv.c: Likewise.
34998 * util/misc.c: Likewise.
34999
35000 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
35001
35002 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
35003 `genparttoollist.sh'.
35004 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
35005 Add `*.sh' to the list find searches for and change `mdate.sh'
35006 to `mdate-sh'.
35007
35008 2009-06-10 Pavel Roskin <proski@gnu.org>
35009
35010 * include/grub/multiboot2.h: Provide compatibility defines for
35011 multiboot2.h.
35012 * include/multiboot2.h: Include stdint.h only if needed, using
35013 angle brackets.
35014 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
35015 grub/multiboot2.h.
35016 * loader/ieee1275/multiboot2.c: Likewise.
35017 * loader/multiboot2.c: Likewise.
35018 * loader/multiboot_loader.c: Likewise.
35019
35020 * configure.ac: Use -nostdlib when probing for the target. It
35021 should not be required to have libc for the target.
35022
35023 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
35024 they fail without libc headers for the target.
35025 * include/grub/powerpc/libgcc.h: Use weak attribute for all
35026 exports.
35027 * include/grub/sparc64/libgcc.h: Likewise. Don't use
35028 preprocessor conditionals.
35029
35030 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
35031 build system doesn't need to be aware of the tar.c internals.
35032
35033 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
35034
35035 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
35036
35037 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
35038
35039 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
35040 disk limit to 26 for IDE, Virtio, Xen and SCSI.
35041
35042 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
35043
35044 * util/i386/pc/grub-install.in: Change the error message if UUIDs
35045 aren't available if ata.mod gets used.
35046
35047 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
35048
35049 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
35050 initialising controller.
35051 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35052
35053 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
35054
35055 * util/i386/pc/grub-install.in: Add a parameter --disk-module
35056 to choose between ata and biosdisk module on i386-pc.
35057
35058 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
35059
35060 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
35061 Subclass and Programming Interface fields in terms of the 3 byte
35062 Class Code register.
35063 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35064
35065 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
35066 interface is OHCI. Add grub_dprintf for symmetry with
35067 bus/usb/uhci.c.
35068 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
35069 interface is UHCI. Add interf variable for programming
35070 interface. Print interface with class/subclass.
35071
35072 * bus/usb/ohci.c: Set interf with correct field.
35073
35074 * bus/usb/uhci.c: Remove unneeded doubled lines.
35075 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
35076 Remove whitespace inside comment.
35077
35078 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
35079
35080 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
35081 as fallback an equivalent option without depth.
35082
35083 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35084
35085 Not fail if unable to retrieve C/H/S on LBA disks
35086
35087 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
35088 if unable to retrieve C/H/S on LBA disks
35089
35090 2009-06-08 Pavel Roskin <proski@gnu.org>
35091
35092 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
35093 about aliasing.
35094
35095 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
35096
35097 * Makefile.in (uninstall): Remove all $lib_DATA files.
35098
35099 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35100
35101 Bugfix: install on partitionless device
35102
35103 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
35104 is a whole disk
35105
35106 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
35107
35108 * Makefile.in (uninstall): Remove all $include_DATA files.
35109
35110 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
35111
35112 * commands/true.c: New file. Implement the true and false commands.
35113 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
35114 (true_mod_SOURCES): New variable.
35115 (true_mod_CFLAGS): Likewise.
35116 (true_mod_LDFLAGS): Likewise.
35117
35118 2009-06-05 Colin D Bennett <colin@gibibit.com>
35119
35120 Optimized font character lookup using binary search instead of linear
35121 search. Fonts now are required to have the character index ordered by
35122 code point.
35123
35124 * font/font.c (load_font_index): Verify that fonts have ordered
35125 character indices.
35126 (find_glyph): Use binary search instead of linear search to find a
35127 character in a font.
35128
35129 2009-06-05 Michael Scherer <misc@mandriva.org>
35130
35131 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
35132 uses case sensitive btree.
35133 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
35134 only for case insensitive filesystems.
35135
35136 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
35137
35138 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
35139 * conf/common.rmk (search_mod_CFLAGS): likewise
35140
35141 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35142
35143 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
35144 compensate a compiler bug
35145
35146 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35147
35148 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
35149 instead of '\b'
35150
35151 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35152
35153 Definitions for creating asm symbols with Apple's CC
35154
35155 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
35156 [APPLE_CC] (VARIABLE): likewise
35157
35158 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35159
35160 Disable lnxboot.img when compiled
35161 with Apple's CC
35162
35163 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
35164 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
35165 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
35166 [! APPLE_CC] (CODE_LENG): skip
35167 [! APPLE_CC] (setup_sects): likewise
35168 [! APPLE_CC]: skip filling
35169
35170 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35171
35172 Address in trampolines based on 32-bit registers when compiled
35173 with Apple's CC
35174
35175 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
35176 for addresses
35177 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
35178
35179 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35180
35181 Avoid aliases when compiling with Apple's CC for PCBIOS machine
35182
35183 * kern/misc.c [APPLE_CC] (memcpy): new function
35184 [APPLE_CC] (memmove): likewise
35185 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
35186 (memcpy): define alias conditionally on !APPLE_CC
35187 (memset): likewise
35188 (abort): likewise
35189 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
35190 APPLE_CC are defined
35191 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
35192 (grub_assert_fail): make prototype conditional
35193
35194 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35195
35196 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
35197
35198 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
35199 grub-macho2img
35200 (CLEANFILES): add grub-macho2img
35201 (grub_macho2img_SOURCES): new variable
35202 * kern/i386/pc/startup.S (bss_start): new variable
35203 (bss_end): likewise
35204 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
35205 * util/grub-macho2img.c: new file
35206
35207 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35208
35209 Use objconv when compiling with Apple's CC
35210
35211 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
35212 (efiemu64.o): likewise
35213 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
35214 when compiling with Apple's CC
35215 (efiemu64_s.o): likewise
35216 * configure.ac: check for objconv when compiling with Apple's CC
35217 * genmk.rb: use objconv for modules when compiled with Apple's CC
35218
35219 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35220
35221 Define segment as well as section when compiling with
35222 Apple's CC
35223
35224 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
35225 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
35226 (efiemu_convert_pointer): likewise
35227 (efiemu_set_virtual_address_map): likewise
35228 (efiemu_convert_pointer): likewise
35229 (efiemu_getcrc32): likewise
35230 (init_crc32_table): likewise
35231 (reflect): likewise
35232 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
35233 (GRUB_MOD_DEP): likewise
35234
35235 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35236
35237 Allow a compilation without -mcmodel=large
35238
35239 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
35240 when compiled without -mcmodel=large
35241 (filter_memory_map): remove memory post 4 GiB when compiled
35242 without -mcmodel=large
35243 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
35244 TARGET_CFLAGS when -mcmodel=large isn't supported
35245
35246 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35247
35248 Remove nested functions in efiemu core
35249
35250 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
35251
35252 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35253
35254 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
35255
35256 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
35257 temporary storage
35258 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
35259 using Apple's CC
35260 (grub_cpu_is_tsc_supported): likewise
35261 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
35262
35263 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35264
35265 Absolute addressing through constant with Apple's cc
35266
35267 * kern/i386/pc/startup.S: Define necessary constants
35268 and address through it when using ABS with Apple's CC
35269 * boot/i386/pc/diskboot.S: likewise
35270 * boot/i386/pc/boot.S: likewise
35271 * boot/i386/pc/lnxboot.S: likewise
35272 * boot/i386/pc/cdboot.S: likewise
35273 * mmap/i386/pc/mmap_helper.S: likewise
35274 * commands/i386/pc/drivemap_int13h.S: likewise
35275
35276 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35277
35278 Check if compiler is apple cc
35279
35280 * Makefile.in (ASFLAGS): new variable
35281 (TARGET_ASFLAGS): likewise
35282 (TARGET_MODULE_FORMAT): likewise
35283 (TARGET_APPLE_CC): likewise
35284 (OBJCONV): likewise
35285 (TARGET_IMG_CFLAGS): likewise
35286 (TARGET_CPPFLAGS): add includedir
35287 * configure.ac: call grub_apple_cc and grub_apple_target_cc
35288 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
35289 Check for linker script only if compiler isn't Apple's CC
35290 (TARGET_MODULE_FORMAT): set
35291 (TARGET_APPLE_CC): likewise
35292 (TARGET_ASFLAGS): likewise
35293 (ASFLAGS): likewise
35294 Check for objcopy only if compiler isn't Apple's CC
35295 Check for BSS symbol only if compiler isn't Apple's CC
35296 * genmk.rb: adapt nm options if we use Apple's utils
35297 * aclocal.m4 (grub_apple_cc): new test
35298 (grub_apple_target_cc): likewise
35299
35300 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35301
35302 Simplify sed expressions and improve awk
35303
35304 * Makefile.in (install-local): simplify sed expression
35305 * gencmdlist.sh: likewise
35306 * genmoddep.awk: avoid adding module as a dependency of itself
35307
35308 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35309
35310 Add missing start symbols
35311
35312 * boot/i386/pc/boot.S: add start
35313 * boot/i386/pc/pxeboot.S: likewise
35314
35315 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35316
35317 Fix wrong assumptions with grub-mkimage on EFI
35318
35319 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
35320 (relocate_addresses): consider both r_addend and value at offset
35321 (make_mods_section): zerofill modinfo and header
35322 (convert_elf): write prefix here
35323
35324 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35325
35326 Use .asciz instead of .string
35327
35328 * i386/pc/diskboot.S: use .asciz instead of .string
35329 * i386/pc/boot.S: likewise
35330 * include/grub/dl.h (GRUB_MOD_DEP): likewise
35331 (GRUB_MOD_NAME): likewise
35332
35333 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35334
35335 gfxpayload support
35336
35337 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
35338 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
35339 (grub_video_setup): remove
35340 (grub_video_set_mode): new prototype
35341 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
35342 (vid_mode): remove
35343 (linux_vesafb_res): compile only on PCBIOS
35344 (grub_linux_boot): support gfxpayload
35345 * loader/i386/pc/xnu.c (video_hook): new function
35346 (grub_xnu_set_video): support gfxpayload
35347 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
35348 (DEFAULT_VIDEO_HEIGHT): likewise
35349 (DEFAULT_VIDEO_FLAGS): likewise
35350 (DEFAULT_VIDEO_MODE): new definition
35351 (video_hook): new function
35352 (grub_gfxterm_init): use grub_video_set_mode
35353 * util/grub.d/30_os-prober.in: remove explicit modesetting before
35354 loading xnu
35355 * video/video.c (grub_video_setup): removed
35356 (grub_video_set_mode): new function based on grub_gfxterm_init and
35357 grub_video_setup
35358
35359 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35360
35361 Avoid calling biosdisk in drivemap
35362
35363 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
35364 (revparse_biosdisk): likewise
35365 (list_mappings): derive name from id directly
35366 (grub_cmd_drivemap): use tryparse_diskstring
35367
35368 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35369
35370 Script fixes
35371
35372 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
35373 (grub_lexer_param): add tokenonhold
35374 (grub_script_create_cmdline): remove cmdline. All callers updated
35375 (grub_script_function_create): make functionname
35376 grub_script_arg. All callers updated
35377 (grub_script_execute_argument_to_string): new prototype
35378 * kern/parser.c (state_transitions): reorder
35379 (grub_parser_cmdline_state): fix a bug and make more compact
35380 * script/sh/execute.c (grub_script_execute_argument_to_string):
35381 make global
35382 (grub_script_execute_cmdline): use new format
35383 * script/sh/function.c (grub_script_function_create): make functionname
35384 grub_script_arg. All callers updated
35385 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
35386 (grub_script_yylex): remove
35387 (grub_script_yylex2): renamed to ...
35388 (grub_script_yylex): ...renamed
35389 parse the expressions like a${b}c
35390 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
35391 (GRUB_PARSER_TOKEN_VAR): remove
35392 (GRUB_PARSER_TOKEN_NAME): likewise
35393 ("if"): declare as typeless
35394 ("while"): likewise
35395 ("function"): likewise
35396 ("else"): likewise
35397 ("then"): likewise
35398 ("fi"): likewise
35399 (text): remove
35400 (argument): likewise
35401 (script): accept empty scripts and make exit on error
35402 (arguments): use GRUB_PARSER_TOKEN_ARG
35403 (function): likewise
35404 (command): move error handling to script
35405 (menuentry): move grub_script_lexer_ref before
35406 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
35407 argument. All callers updated
35408
35409 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
35410
35411 Prevent GRUB from probing floppies during boot.
35412
35413 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
35414 * commands/search.c (options): Add --no-floppy.
35415 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
35416 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
35417 --no-floppy when searching for UUIDs.
35418
35419 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
35420
35421 Simplify the code duplication in commands/search.c.
35422
35423 * commands/search.c (search_label, search_fs_uuid): Merge into ...
35424 (search_fs): ... this. Update all users.
35425
35426 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
35427
35428 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
35429
35430 2009-05-28 Pavel Roskin <proski@gnu.org>
35431
35432 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
35433 Remove the original symlink explicitly.
35434
35435 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
35436 just one slash. That's how grub_fshelp_find_file() does it.
35437
35438 2009-05-26 Pavel Roskin <proski@gnu.org>
35439
35440 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
35441 to `str'.
35442
35443 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
35444 possibly unused.
35445
35446 2009-05-25 Christian Franke <franke@computer.org>
35447
35448 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
35449 register.
35450 (grub_atapi_identify): Add wait after drive select.
35451 (grub_ata_identify): Do more strict status register check before
35452 calling grub_atapi_identify (). Suppress error message if status
35453 register is 0x00 after command failure. Add status register
35454 check after PIO read to avoid bogus identify due to stuck DRQ.
35455 Thanks to Pavel Roskin for testing.
35456 (grub_device_initialize): Remove unsafe status register check.
35457 Thanks to 'phcoder' for problem report and patch.
35458 Prevent sign extension in debug message.
35459
35460 2009-05-23 Colin D Bennett <colin@gibibit.com>
35461
35462 Cleaned up `include/grub/normal.h'. Grouped prototypes by
35463 definition file, and functions defined in `normal/menu.c' have had
35464 their prototypes moved to `include/grub/menu.h' for consistency.
35465
35466 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
35467 from normal.h.
35468 (grub_menu_get_entry): Likewise.
35469 (grub_menu_get_timeout): Likewise.
35470 (grub_menu_set_timeout): Likewise.
35471 (grub_menu_execute_entry): Likewise.
35472 (grub_menu_execute_with_fallback): Likewise.
35473 (grub_menu_entry_run): Likewise.
35474
35475 * include/grub/normal.h: Re-ordered and grouped function
35476 prototypes by file that the function is defined in.
35477 (grub_menu_execute_callback): Removed; moved to menu.h.
35478 (grub_menu_get_entry): Likewise.
35479 (grub_menu_get_timeout): Likewise.
35480 (grub_menu_set_timeout): Likewise.
35481 (grub_menu_execute_entry): Likewise.
35482 (grub_menu_execute_with_fallback): Likewise.
35483 (grub_menu_entry_run): Likewise.
35484 (grub_menu_addentry): Renamed from this ...
35485 (grub_normal_add_menu_entry): ... to this.
35486
35487 * normal/main.c (grub_menu_addentry): Renamed from this ...
35488 (grub_normal_add_menu_entry): ... to this.
35489
35490 * script/sh/execute.c (grub_script_execute_menuentry): Update
35491 reference to renamed grub_menu_addentry function.
35492
35493 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
35494
35495 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
35496
35497 2009-05-22 Pavel Roskin <proski@gnu.org>
35498
35499 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
35500 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
35501 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
35502 compiling for the i386 targets, but not for the utilities.
35503
35504 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
35505 to grub_uint8_t.
35506 (grub_root_drive): Likewise.
35507 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
35508 remove alignment.
35509 (grub_root_drive): Change size to byte.
35510 (grub_start_addr): Remove.
35511 (grub_end_addr): Likewise.
35512 (grub_apm_bios_info): Likewise.
35513
35514 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
35515
35516 * normal/i386: Remove.
35517 * normal/powerpc: Likewise.
35518 * normal/sparc64: Likewise.
35519 * normal/x86_64: Likewise.
35520
35521 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
35522
35523 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
35524 * loader/i386/linux_trampoline.S: Fix indentation
35525 * loader/i386/xnu_helper.S: Likewise
35526
35527 2009-05-18 Colin D Bennett <colin@gibibit.com>
35528
35529 Display error messages when parsing a Lua statement fails.
35530 Previously, executing a syntactically invalid statement like
35531 ")foo" or "bar;" would silently fail.
35532
35533 * script/lua/grub_main.c (handle_lua_error): New function.
35534 (grub_lua_parse_line): Improved reporting of Lua parser and
35535 execution errors.
35536
35537 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
35538
35539 Remove -Werror which causes build to fail on some systems
35540
35541 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
35542 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
35543 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
35544
35545 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
35546
35547 trampoline for linux on 64-bit platform
35548
35549 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
35550 loader/i386/efi/linux_trampoline.S
35551 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
35552 declaration
35553 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
35554 here
35555 * loader/i386/linux_trampoline.S: moved here
35556 * loader/i386/efi/linux.c (allocate_pages): reserve space for
35557 trampoline
35558 (jumpvector): removed
35559 (grub_linux_trampoline_start): new declaration
35560 (grub_linux_trampoline_end): likewise
35561 (grub_linux_boot): use trampoline when on 64-bit platform
35562 * loader/i386/linux.c: likewise
35563
35564 2009-05-16 Pavel Roskin <proski@gnu.org>
35565
35566 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
35567 const to avoid a warning.
35568 (grub_lua_setenv): Likewise.
35569 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
35570 lmsg to fix a warning.
35571
35572 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
35573
35574 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
35575 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
35576 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
35577 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
35578 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
35579 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
35580 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
35581 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
35582
35583 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
35584
35585 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
35586
35587 2009-05-16 Bean <bean123ch@gmail.com>
35588
35589 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
35590 (lua_mod_SOURCES): New variable.
35591 (lua_mod_CFLAGS): Likewise.
35592 (lua_mod_LDFLAGS): Likewise.
35593
35594 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
35595 (setjmp_mod_SOURCES): New variable.
35596 (setjmp_mod_CFLAGS): Likewise.
35597 (setjmp_LDFLAGS): Likewise.
35598
35599 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
35600 (setjmp_mod_SOURCES): New variable.
35601 (setjmp_mod_CFLAGS): Likewise.
35602 (setjmp_LDFLAGS): Likewise.
35603
35604 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
35605 (setjmp_mod_SOURCES): New variable.
35606 (setjmp_mod_CFLAGS): Likewise.
35607 (setjmp_LDFLAGS): Likewise.
35608
35609 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
35610 (setjmp_mod_SOURCES): New variable.
35611 (setjmp_mod_CFLAGS): Likewise.
35612 (setjmp_LDFLAGS): Likewise.
35613
35614 * normal/i386/setjmp.S: Moved from here ...
35615 * lib/i386/setjmp.S: ... Moved here
35616 * normal/x86_64/setjmp.S: Moved from here ...
35617 * lib/x86_64/setjmp.S: ... Moved here
35618 * normal/powerpc/setjmp.S: Moved from here ...
35619 * lib/powerpc/setjmp.S: ... Moved here
35620 * normal/sparc64/setjmp.S: Moved from here ...
35621 * lib/sparc64/setjmp.S: ... Moved here
35622
35623 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
35624 returns_twice in mingw.
35625
35626 * script/lua/grub_lib.c: New file.
35627 * script/lua/grub_lib.h: Likewise.
35628 * script/lua/grub_lua.h: Likewise.
35629 * script/lua/grub_main.c: Likewise.
35630 * script/lua/lapi.c: Likewise.
35631 * script/lua/lapi.h: Likewise.
35632 * script/lua/lauxlib.c: Likewise.
35633 * script/lua/lauxlib.h: Likewise.
35634 * script/lua/lbaselib.c: Likewise.
35635 * script/lua/lcode.c: Likewise.
35636 * script/lua/lcode.h: Likewise.
35637 * script/lua/ldblib.c: Likewise.
35638 * script/lua/ldebug.c: Likewise.
35639 * script/lua/ldebug.h: Likewise.
35640 * script/lua/ldo.c: Likewise.
35641 * script/lua/ldo.h: Likewise.
35642 * script/lua/ldump.c: Likewise.
35643 * script/lua/lfunc.c: Likewise.
35644 * script/lua/lfunc.h: Likewise.
35645 * script/lua/lgc.c: Likewise.
35646 * script/lua/lgc.h: Likewise.
35647 * script/lua/linit.c: Likewise.
35648 * script/lua/liolib.c: Likewise.
35649 * script/lua/llex.c: Likewise.
35650 * script/lua/llex.h: Likewise.
35651 * script/lua/llimits.h: Likewise.
35652 * script/lua/lmathlib.c: Likewise.
35653 * script/lua/lmem.c: Likewise.
35654 * script/lua/lmem.h: Likewise.
35655 * script/lua/loadlib.c: Likewise.
35656 * script/lua/lobject.c: Likewise.
35657 * script/lua/lobject.h: Likewise.
35658 * script/lua/lopcodes.c: Likewise.
35659 * script/lua/lopcodes.h: Likewise.
35660 * script/lua/loslib.c: Likewise.
35661 * script/lua/lparser.c: Likewise.
35662 * script/lua/lparser.h: Likewise.
35663 * script/lua/lstate.c: Likewise.
35664 * script/lua/lstate.h: Likewise.
35665 * script/lua/lstring.c: Likewise.
35666 * script/lua/lstring.h: Likewise.
35667 * script/lua/lstrlib.c: Likewise.
35668 * script/lua/ltable.c: Likewise.
35669 * script/lua/ltable.h: Likewise.
35670 * script/lua/ltablib.c: Likewise.
35671 * script/lua/ltm.c: Likewise.
35672 * script/lua/ltm.h: Likewise.
35673 * script/lua/lua.h: Likewise.
35674 * script/lua/luaconf.h: Likewise.
35675 * script/lua/lualib.h: Likewise.
35676 * script/lua/lundump.c: Likewise.
35677 * script/lua/lundump.h: Likewise.
35678 * script/lua/lvm.c: Likewise.
35679 * script/lua/lvm.h: Likewise.
35680 * script/lua/lzio.c: Likewise.
35681 * script/lua/lzio.h: Likewise.
35682
35683 2009-05-16 Bean <bean123ch@gmail.com>
35684
35685 * include/grub/kernel.h (grub_module_header_types): Add type
35686 OBJ_TYPE_CONFIG.
35687
35688 * kern/main.c (grub_load_config): New function.
35689 (grub_main): Call grub_load_config to read boot config.
35690
35691 * grub-mkimage (generate_image): New parameter config_path.
35692 (options): New option --config.
35693 (main): Parse --config option, and pass it to generate_image.
35694
35695 2009-05-14 Christian Franke <franke@computer.org>
35696
35697 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
35698 This fixes build on Cygwin.
35699
35700 2009-05-14 Pavel Roskin <proski@gnu.org>
35701
35702 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
35703 jump. This saves two bytes, so the typical case of 2 swapped
35704 drives would fit 32 bytes.
35705
35706 2009-05-13 Pavel Roskin <proski@gnu.org>
35707
35708 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
35709 grub_uint32_t to avoid a warning.
35710
35711 * loader/i386/linux.c (allocate_pages): When assigning
35712 real_mode_mem, cast through grub_size_t to fix a warning. The
35713 code already makes sure that the value would fit a pointer.
35714 (grub_linux_setup_video): Cast render_target->data to
35715 grub_size_t to fix a warning.
35716
35717 2009-05-13 Javier Martín <lordhabbit@gmail.com>
35718
35719 * commands/i386/pc/drivemap.c: New file - implement drivemap
35720 command.
35721 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
35722 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
35723
35724 2009-05-13 Pavel Roskin <proski@gnu.org>
35725
35726 * util/i386/pc/grub-setup.c (setup): Remove unused variable
35727 embedding_area_exists.
35728
35729 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
35730
35731 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
35732 it easier to understand / work with.
35733 Improve warning messages for cases where there's no embedding area,
35734 or when it is too small (or core.img too large).
35735
35736 2009-05-13 Pavel Roskin <proski@gnu.org>
35737
35738 * loader/i386/pc/multiboot2.c: Add necessary includes for
35739 grub_multiboot2_real_boot().
35740
35741 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
35742 PX record is always little-endian. We only need the lower 2
35743 bytes of the mode.
35744
35745 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
35746 facilitate code reuse.
35747 (grub_cpio_mount): Use "struct head", not a char buffer. This
35748 fixes a warning reported by gcc 4.4.
35749
35750 * kernel/disk.c (grub_disk_read): Use void pointer for the
35751 buffer.
35752 (grub_disk_write): Use const void pointer for the buffer.
35753 Adjust all callers. Remove unnecessary casts.
35754
35755 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
35756
35757 * util/i386/pc/grub-install.in: Update copyright year.
35758
35759 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
35760
35761 gptsync
35762
35763 * commands/gptsync.c: new file
35764 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
35765 (gptsync_mod_SOURCES): new variable
35766 (gptsync_mod_CFLAGS): likewise
35767 (gptsync_mod_LDFLAGS): likewise
35768 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
35769 new definition
35770 (GRUB_PC_PARTITION_TYPE_HFS): likewise
35771 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
35772 * conf/i386-ieee1275.rmk: likewise
35773 * conf/i386-pc.rmk: likewise
35774 * conf/powerpc-ieee1275.rmk: likewise
35775
35776 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
35777
35778 Fixed grub-emu
35779
35780 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
35781 (grub_dl_ref): likewise
35782
35783 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
35784
35785 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
35786 split in two functions (one for msdos and one for gpt).
35787
35788 2009-05-08 Pavel Roskin <proski@gnu.org>
35789
35790 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
35791 not modified.
35792
35793 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
35794 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
35795 Initialize them with -1. Add sanity check for bad1. Eliminate
35796 nerr variable.
35797
35798 2009-05-08 David S. Miller <davem@davemloft.net>
35799
35800 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
35801
35802 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
35803
35804 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
35805 existence.
35806
35807 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
35808
35809 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35810 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
35811
35812 2009-05-05 David S. Miller <davem@davemloft.net>
35813
35814 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
35815
35816 2009-05-05 Pavel Roskin <proski@gnu.org>
35817
35818 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
35819 of grub_dl_ref() and grub_dl_unref().
35820 * commands/parttool.c: Remove preprocessor conditionals around
35821 grub_dl_ref() and grub_dl_unref().
35822 * fs/affs.c: Likewise.
35823 * fs/afs.c: Likewise.
35824 * fs/cpio.c: Likewise.
35825 * fs/ext2.c: Likewise.
35826 * fs/fat.c: Likewise.
35827 * fs/hfs.c: Likewise.
35828 * fs/hfsplus.c: Likewise.
35829 * fs/iso9660.c: Likewise.
35830 * fs/jfs.c: Likewise.
35831 * fs/minix.c: Likewise.
35832 * fs/ntfs.c: Likewise.
35833 * fs/reiserfs.c: Likewise.
35834 * fs/sfs.c: Likewise.
35835 * fs/udf.c: Likewise.
35836 * fs/ufs.c: Likewise.
35837 * fs/xfs.c: Likewise.
35838 * include/grub/dl.h: Likewise.
35839 * loader/xnu.c: Likewise.
35840
35841 2009-05-04 Pavel Roskin <proski@gnu.org>
35842
35843 * commands/acpi.c: Remove unused variable my_mod.
35844 * partmap/amiga.c: Likewise.
35845 * partmap/apple.c: Likewise.
35846 * partmap/gpt.c: Likewise.
35847 * partmap/pc.c: Likewise.
35848 * partmap/sun.c: Likewise.
35849 * term/gfxterm.c: Likewise.
35850 * term/i386/pc/vesafb.c: Likewise.
35851 * term/i386/pc/vga.c: Likewise.
35852
35853 2009-05-04 David S. Miller <davem@davemloft.net>
35854
35855 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
35856 pointer args to grub_ieee1275_get_property().
35857
35858 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
35859
35860 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
35861 devices, and do not traverse down under controller nodes.
35862
35863 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
35864 (grub_ofdisk_open): Use it to un-escape "," characters.
35865 * kern/disk.c (find_part_sep): New.
35866 (grub_disk_open): Use it to find the first non-escaped ','
35867 character in the disk name.
35868 * util/ieee1275/devicemap.c (escape_of_path): New.
35869 (grub_util_emit_devicemap_entry): Use it.
35870 * util/sparc64/ieee1275/grub-install.in: Update script to
35871 strip partition specifiers properly by not triggering on
35872 '\' escaped ',' characters.
35873
35874 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35875
35876 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
35877 to 0x300.
35878 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
35879 resolutions.
35880 (linux_vesafb_modes): Add a lot of additional modes to the list (based
35881 on documentation from Wikipedia).
35882
35883 2009-05-04 Pavel Roskin <proski@gnu.org>
35884
35885 * disk/ata.c: Spelling fixes.
35886 * disk/raid.c: Likewise.
35887 * disk/usbms.c: Likewise.
35888 * disk/dmraid_nvidia.c: Likewise.
35889 * kern/ieee1275/openfw.c: Likewise.
35890 * kern/ieee1275/init.c: Likewise.
35891 * kern/ieee1275/cmain.c: Likewise.
35892 * boot/i386/pc/cdboot.S: Likewise.
35893 * video/readers/png.c: Likewise.
35894 * video/i386/pc/vbe.c: Likewise.
35895 * fs/udf.c: Likewise.
35896 * fs/hfs.c: Likewise.
35897 * fs/reiserfs.c: Likewise.
35898 * efiemu/runtime/efiemu.c: Likewise.
35899 * efiemu/main.c: Likewise.
35900 * efiemu/mm.c: Likewise.
35901 * include/grub/elf.h: Likewise.
35902 * include/grub/xnu.h: Likewise.
35903 * include/grub/usbdesc.h: Likewise.
35904 * include/grub/usb.h: Likewise.
35905 * include/grub/script_sh.h: Likewise.
35906 * include/grub/lib/LzmaEnc.h: Likewise.
35907 * include/grub/efiemu/efiemu.h: Likewise.
35908 * include/grub/command.h: Likewise.
35909 * normal/menu.c: Likewise.
35910 * normal/main.c: Likewise.
35911 * normal/datetime.c: Likewise.
35912 * bus/usb/uhci.c: Likewise.
35913 * mmap/i386/uppermem.c: Likewise.
35914 * mmap/mmap.c: Likewise.
35915 * commands/acpi.c: Likewise.
35916 * commands/test.c: Likewise.
35917 * partmap/apple.c: Likewise.
35918 * font/font.c: Likewise.
35919 * loader/sparc64/ieee1275/linux.c: Likewise.
35920 * loader/macho.c: Likewise.
35921 * loader/i386/bsd_trampoline.S: Likewise.
35922 * loader/i386/bsd.c: Likewise.
35923 * loader/xnu.c: Likewise.
35924 * term/i386/pc/vesafb.c: Likewise.
35925 * term/usb_keyboard.c: Likewise.
35926 * util/resolve.c: Likewise.
35927 * util/getroot.c: Likewise.
35928
35929 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
35930
35931 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
35932
35933 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35934
35935 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
35936 build error.
35937
35938 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35939
35940 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
35941 parameter only available on BIOS.
35942
35943 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
35944
35945 Removed wrong semicolon in declaration
35946
35947 * grub/misc.h (grub_dprintf): remove semicolon
35948
35949 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35950
35951 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
35952 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
35953 is done by grub_cmd_linux() now).
35954 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
35955 restore video to text mode.
35956 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
35957 indicates lack of "vga=" parameter. "vga=0" is mapped to
35958 `GRUB_LINUX_VID_MODE_NORMAL'.
35959
35960 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
35961
35962 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
35963 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
35964 and `normal/script.c'. Add `kern/rescue_reader.c',
35965 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
35966 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
35967 `grub_script.tab.c'.
35968
35969 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35970 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35971 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35972 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35973 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35974
35975 * Makefile.in: Remove duplicated 2008 in Copyright line.
35976
35977 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35978
35979 * util/misc.c (grub_util_warn): New function. Emits a warning
35980 unconditionally.
35981 * include/grub/util/misc.h (grub_util_warn): New declaration.
35982
35983 * util/i386/pc/grub-install.in: Understand --force and pass it down
35984 to grub-setup.
35985
35986 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
35987 down to setup().
35988 (setup): Improve error messages and add warnings when requested to
35989 install in odd layouts. Refuse to install using blocklists unless
35990 --force was set.
35991
35992 2009-05-04 martin f. krafft <madduck@madduck.net>
35993
35994 * disk/raid.c (grub_raid_scan_device): Improve debug message.
35995
35996 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
35997
35998 Updated copyright year
35999
36000 * fs/hfsplus.c: updated copyright year
36001
36002 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36003
36004 HFS+ UUID
36005
36006 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
36007 in the space previously used by unused3
36008 (grub_hfsplus_uuid): new function
36009 (grub_hfsplus_fs): added uuid field
36010
36011 2009-05-03 Pavel Roskin <proski@gnu.org>
36012
36013 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
36014 suppress warnings. It's no longer needed.
36015 * disk/host.c: Likewise.
36016 * disk/ata_pthru.c: Likewise.
36017 * disk/loopback.c: Likewise.
36018 * hook/datehook.c: Likewise.
36019 * parttool/pcpart.c: Likewise.
36020 * fs/i386/pc/pxe.c: Likewise.
36021 * fs/ntfscomp.c: Likewise.
36022 * efiemu/main.c: Likewise.
36023 * mmap/mmap.c: Likewise.
36024 * commands/crc.c: Likewise.
36025 * commands/hexdump.c: Likewise.
36026 * commands/hdparm.c: Likewise.
36027 * commands/acpi.c: Likewise.
36028 * commands/echo.c: Likewise.
36029 * commands/minicmd.c: Likewise.
36030 * commands/blocklist.c: Likewise.
36031 * commands/memrw.c: Likewise.
36032 * commands/loadenv.c: Likewise.
36033 * commands/usbtest.c: Likewise.
36034 * commands/lsmmap.c: Likewise.
36035 * commands/boot.c: Likewise.
36036 * commands/parttool.c: Likewise.
36037 * commands/configfile.c: Likewise.
36038 * commands/search.c: Likewise.
36039 * commands/ieee1275/suspend.c: Likewise.
36040 * commands/cat.c: Likewise.
36041 * commands/i386/pc/pxecmd.c: Likewise.
36042 * commands/i386/pc/play.c: Likewise.
36043 * commands/i386/pc/halt.c: Likewise.
36044 * commands/i386/pc/vbeinfo.c: Likewise.
36045 * commands/i386/pc/vbetest.c: Likewise.
36046 * commands/lspci.c: Likewise.
36047 * commands/date.c: Likewise.
36048 * commands/handler.c: Likewise.
36049 * commands/ls.c: Likewise.
36050 * commands/test.c: Likewise.
36051 * commands/cmp.c: Likewise.
36052 * commands/efi/loadbios.c: Likewise.
36053 * commands/efi/fixvideo.c: Likewise.
36054 * commands/halt.c: Likewise.
36055 * commands/help.c: Likewise.
36056 * commands/reboot.c: Likewise.
36057 * hello/hello.c: Likewise.
36058 * script/sh/main.c: Likewise.
36059 * loader/xnu.c: Likewise.
36060 * term/terminfo.c: Likewise.
36061 * term/i386/pc/serial.c: Likewise.
36062 * term/usb_keyboard.c: Likewise.
36063
36064 2009-05-03 David S. Miller <davem@davemloft.net>
36065
36066 * normal/menu.c: Include grub/parser.h
36067
36068 2009-05-03 Pavel Roskin <proski@gnu.org>
36069
36070 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
36071 not char*.
36072 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
36073 Suggested by Javier Martín <lordhabbit@gmail.com>
36074
36075 * util/i386/pc/grub-mkrescue.in: Allow for the case when
36076 efiemu??.o doesn't exist.
36077 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
36078 copying.
36079
36080 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
36081
36082 FreeBSD 64-bit support
36083
36084 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
36085 and loader/i386/bsd_trampoline.S
36086 (bsd_mod_ASFLAGS): new variable
36087 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
36088 (FREEBSD_MODTYPE_KERNEL64): likewise
36089 (grub_bsd64_trampoline_start): likewise
36090 (grub_bsd64_trampoline_end): likewise
36091 (grub_bsd64_trampoline_selfjump): likewise
36092 (grub_bsd64_trampoline_gdt): likewise
36093 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
36094 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
36095 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
36096 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
36097 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
36098 of "attrib" member
36099 * loader/i386/bsd_pagetable.c: new file
36100 * loader/i386/bsd_trampoline.S: likewise
36101 * loader/i386/bsd.c (ALIGN_QWORD): new macro
36102 (ALIGN_VAR): likewise
36103 (entry_hi): new variable
36104 (kern_end_mdofs): likewise
36105 (is_64bit): likewise
36106 (grub_freebsd_add_meta): use ALIGN_VAR
36107 (grub_e820_mmap): new declaration
36108 (grub_freebsd_add_mmap): new function
36109 (grub_freebsd_add_meta_module): support 64 bit kernels
36110 (grub_freebsd_list_modules): use ALIGN_VAR
36111 (gdt_descriptor): new declaration
36112 (grub_freebsd_boot): support 64 bit kernels
36113 (grub_bsd_elf64_hook): new function
36114 (grub_bsd_load_elf): support elf64
36115
36116 2009-05-03 Bean <bean123ch@gmail.com>
36117
36118 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
36119 after we get the result of if statement.
36120
36121 2009-05-03 Bean <bean123ch@gmail.com>
36122
36123 * Makefile.in (enable_efiemu): New variable.
36124
36125 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
36126 set.
36127 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
36128 path.
36129 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
36130 path, add -mno-red-zone option.
36131 (efiemu64_s.o): Likewise.
36132 (efiemu64.o): Use macro $^ for source file.
36133
36134 * configure.ac (--enable-efiemu): New option.
36135
36136 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
36137
36138 xnu support
36139
36140 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
36141 (pkglib_MODULES): add xnu.mod
36142 (xnu_mod_SOURCES): new variable
36143 (xnu_mod_CFLAGS): likewise
36144 (xnu_mod_LDFLAGS): likewise
36145 (xnu_mod_ASFLAGS): likewise
36146 * conf/i386-pc.rmk: likewise
36147 * conf/x86_64-efi.rmk: likewise
36148 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
36149 new declaration
36150 * include/grub/i386/macho.h: new file
36151 * include/grub/i386/xnu.h: likewise
36152 * include/grub/macho.h: likewise
36153 * include/grub/machoload.h: likewise
36154 * include/grub/x86_64/macho.h: likewise
36155 * include/grub/x86_64/xnu.h: likewise
36156 * include/grub/xnu.h: likewise
36157 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
36158 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
36159 * loader/i386/efi/xnu.c: new file
36160 * loader/i386/pc/xnu.c: likewise
36161 * loader/i386/xnu.c: likewise
36162 * loader/i386/xnu_helper.S: likewise
36163 * loader/macho.c: likewise
36164 * loader/xnu.c: likewise
36165 * loader/xnu_resume.c: likewise
36166 * util/grub-dumpdevtree: likewise
36167 * include/grub/i386/pit.h: include grub/err.h
36168 (grub_pit_wait): export
36169 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
36170
36171 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
36172
36173 Efiemu
36174
36175 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
36176 _linux_efi, linux_efi.
36177 new files in grub-emu
36178 new targets efiemu32.o and efiemu64.o
36179 * loader/linux_normal_efiemu.c: likewise
36180 * loader/i386/efi/linux.c: added preliminary efiemu support
36181 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
36182 files to copy
36183 * include/grub/autoefi.h: new file
36184 * include/grub/i386/efiemu.h: likewise
36185 * include/grub/i386/pc/efiemu.h: likewise
36186 * include/grub/efi/api.h: add LL suffix when necessary
36187 new definitions relating to tables
36188 * include/grub/efiemu/efiemu.h: new file
36189 * include/grub/efiemu/runtime.h: likewise
36190 * efiemu/prepare.c: likewise
36191 * efiemu/loadcore_common.c: likewise
36192 * efiemu/loadcore64.c: likewise
36193 * efiemu/runtime/efiemu.sh: likewise
36194 * efiemu/runtime/efiemu.S: likewise
36195 * efiemu/runtime/efiemu.c: likewise
36196 * efiemu/runtime/config.h: likewise
36197 * efiemu/prepare32.c: likewise
36198 * efiemu/main.c: likewise
36199 * efiemu/modules/pnvram.c: likewise
36200 * efiemu/modules/i386: likewise
36201 * efiemu/modules/i386/pc: likewise
36202 * efiemu/modules/acpi.c: likewise
36203 * efiemu/i386/pc/cfgtables.c: likewise
36204 * efiemu/i386/loadcore64.c: likewise
36205 * efiemu/i386/loadcore32.c: likewise
36206 * efiemu/prepare64.c: likewise
36207 * efiemu/loadcore.c: likewise
36208 * efiemu/symbols.c: likewise
36209 * efiemu/mm.c: likewise
36210 * efiemu/loadcore32.c: likewise
36211
36212 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
36213
36214 ACPI spoofing
36215
36216 * commands/acpi.c: new file
36217 * commands/i386/pc/acpi.c: likewise
36218 * commands/efi/acpi.c: likewise
36219 * include/grub/acpi.h: likewise
36220 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
36221 (acpi_mod_SOURCES): new variable
36222 (acpi_mod_CFLAGS): likewise
36223 (acpi_mod_LDFLAGS): likewise
36224 * conf/i386-efi.rmk: likewise
36225 * conf/x86_64-efi.rmk: likewise
36226
36227 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
36228
36229 Missing part from mmap patch
36230
36231 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
36232 (grub_mmap_unregister)
36233 (grub_mmap_free_and_unregister): use grub_mmap_register
36234
36235 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
36236
36237 Mmap services
36238
36239 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
36240 * loader/i386/linux.c (find_mmap_size): likewise
36241 (allocate_pages): likewise
36242 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
36243 (grub_fill_multiboot_mmap): likewise
36244 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
36245 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
36246 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
36247 (OPENBSD_MMAP_RESERVED): likewise
36248 * include/grub/i386/pc/memory.h: include grub/memory.h
36249 (grub_lower_mem): removed
36250 (grub_upper_mem): likewise
36251 (GRUB_MACHINE_MEMORY_ACPI): new definition
36252 (GRUB_MACHINE_MEMORY_NVS): likewise
36253 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
36254 (GRUB_MACHINE_MEMORY_HOLE): likewise
36255 (grub_machine_mmap_register): likewise
36256 (grub_machine_mmap_unregister): likewise
36257 (grub_machine_get_upper): likewise
36258 (grub_machine_get_lower): likewise
36259 (grub_machine_get_post64): likewise
36260 * include/grub/i386/efi/memory.h: new file
36261 * include/grub/x86_64/efi/memory.h: likewise
36262 * include/grub/efi/memory.h: likewise
36263 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
36264 (mmap_mod_SOURCES): new variable
36265 (mmap_mod_LDFLAGS): likewise
36266 (mmap_mod_ASFLAGS): likewise
36267 * conf/i386-coreboot.rmk: likewise
36268 * conf/i386-ieee1275.rmk: likewise
36269 * conf/i386-efi.rmk: likewise
36270 * conf/x86_64-efi.rmk: likewise
36271 * include/grub/types.h (UINT_TO_PTR): new macro
36272 (PTR_TO_UINT32): likewise
36273 (PTR_TO_UINT64): likewise
36274 * include/grub/memory.h: new file
36275 * mmap/i386/pc/mmap.c: likewise
36276 * mmap/i386/pc/mmap_helper.S: likewise
36277 * mmap/i386/uppermem.c: likewise
36278 * mmap/mmap.c: likewise
36279 * mmap/efi/mmap.c: likewise
36280 * kern/i386/coreboot/init.c (grub_machine_init): don't use
36281 grub_upper_mem
36282 * kern/i386/pc/init.c (grub_lower_mem): removed variable
36283 (grub_upper_mem): likewise
36284 (grub_machine_init): don't use grub_upper_mem,
36285 make grub_lower_mem local
36286 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
36287 grub_mmap_iterate and grub_mmap_get_upper
36288 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
36289
36290 2009-05-02 Bean <bean123ch@gmail.com>
36291
36292 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
36293 script/sh/parser.y.
36294 (pkglib_MODULES): Add normal.mod and sh.mod.
36295 (normal_SOURCES): New variable.
36296 (normal_mod_CFLAGS): Likewise.
36297 (normal_mod_LDFLAGS): Likewise.
36298 (sh_mod_SOURCES): Likewise.
36299 (sh_mod_CFLAGS): Likewise.
36300 (sh_mod_LDFLAGS): Likewise.
36301
36302 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
36303 script/sh/lexer.c_DEPENDENCIES.
36304 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
36305 kern/rescue_reader.c and kern/rescue_parser.c.
36306 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
36307 (grub_emu_SOURCES): Change source files.
36308 (pkglib_MODULES): Remove normal.mod.
36309 (normal_SOURCES): Removed.
36310 (normal_mod_CFLAGS): Likewise.
36311 (normal_mod_LDFLAGS): Likewise.
36312 * conf/i386-coreboot.rmk: Likewise.
36313 * conf/i386-efi.rmk: Likewise.
36314 * conf/i386-ieee1276.rmk: Likewise.
36315 * conf/powerpc-ieee1275.rmk: Likewise.
36316 * conf/sparc64-ieee1275.rmk: Likewise.
36317 * conf/x86_64-efi.rmk: Likewise.
36318
36319 * include/grub/command.h (grub_command_execute): New inline function.
36320
36321 * include/grub/menu.h (grub_menu_entry): Removed commands field.
36322
36323 * include/grub/normal.h: Remove <grub/setjmp.h>.
36324 (grub_fs_module_list): Moved to normal/autofs.c.
36325 (grub_exit_env): Removed.
36326 (grub_command_execute): Likewise.
36327 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
36328 parameter script.
36329 (read_command_list): New function declaration.
36330 (read_fs_list): Likewise.
36331
36332 * include/parser.h: Include <grub/reader.h>.
36333 (grub_parser_split_cmdline): Change type of getline parameter.
36334 (grub_parser): New structure.
36335 (grub_parser_class): New variable.
36336 (grub_parser_execute): New function declaration.
36337 (grub_register_rescue_parser): Likewise.
36338 (grub_parser_register): New inline function.
36339 (grub_parser_unregister): Likewise.
36340 (grub_parser_get_current): Likewise.
36341 (grub_parser_set_current): Likewise.
36342
36343 * include/grub/reader.h: New file.
36344 * kern/reader.c: Likewise.
36345 * kern/rescue_parser.c: Likewise.
36346 * kern/rescue_reader.c: Likewise.
36347 * normal/autofs.c: Likewise.
36348 * normal/dyncmd.c: Likewise.
36349
36350 * include/grub/rescue.h: Removed.
36351 * normal/command.h: Likewise.
36352
36353 * include/grub/script.h: Moved to ...
36354 * include/grub/script_sh.h: ... Moved here.
36355 * normal/execute.c: Moved to ...
36356 * script/sh/execute.c: ... Moved here.
36357 * normal/function.c: Moved to ...
36358 * script/sh/function.c: ... Moved here.
36359 * normal/lexer.c: Moved to ...
36360 * script/sh/lexer.c: ... Moved here.
36361 * normal/parser.y: Moved to ...
36362 * script/sh/parser.y: ... Moved here.
36363 * normal/script.c: Moved to ...
36364 * script/sh/script.c: ... Moved here.
36365
36366 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
36367 <grub/reader.h>.
36368 (grub_exit_env): Removed.
36369 (fs_module_list): Moved to normal/autofs.c.
36370 (grub_file_getline): Don't handle comment here.
36371 (free_menu): Skip removed field entry->commands.
36372 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
36373 script parameter.
36374 (read_config_file): Removed nested parameter, change getline function.
36375 (grub_enter_normal_mode): Removed.
36376 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
36377 (read_command_list): Likewise.
36378 (autoload_fs_module): Moved to normal/autofs.c.
36379 (read_fs_list): Likewise.
36380 (reader_nested): New variable.
36381 (grub_normal_execute): Run parser.sh to switch to sh parser.
36382 (grub_cmd_rescue): Removed.
36383 (cmd_normal): Removed.
36384 (grub_cmd_normal): Unregister itself at the beginning. Don't register
36385 rescue command.
36386 (grub_cmdline_run): New function.
36387 (grub_normal_reader_init): Likewise.
36388 (grub_normal_read_line): Likewise.
36389 (grub_env_write_pager): Likewise.
36390 (cmdline): New variable.
36391 (grub_normal_reader): Likewise.
36392 (GRUB_MOD_INIT): Register normal reader and set as current, register
36393 pager hook, register normal command with grub_register_command_prio,
36394 so that it won't show up in command.lst.
36395 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
36396 grub_fs_autoload_hook.
36397
36398 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
36399 (grub_menu_execute_entry): Replace grub_script_execute with
36400 grub_parser_execute, change parameter to grub_command_execute.
36401
36402 * normal/menu_text.c: Remove <grub/script.h>.
36403
36404 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
36405 and <grub/parser.h>.
36406 (run): Change editor_getline to use new parser interface. Change
36407 parameter to grub_command_execute.
36408
36409 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
36410 <grub/reader.h> and <grub/parser.h>.
36411 (grub_load_normal_mode): Execute normal command.
36412 (grub_main): Call grub_register_core_commands,
36413 grub_register_rescue_parser and grub_register_rescue_reader, use
36414 grub_reader_loop to enter input loop.
36415
36416 * kern/parser.c (grub_parser_split_cmdline): Change type of
36417 getline parameter.
36418 (grub_parser_class): New variable.
36419 (grub_parser_execute): New function.
36420
36421 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
36422 * loader/multiboot2.c: Likewise.
36423 * loader/sparc64/ieee1275/linux.c: Likewise.
36424
36425 * util/grub-emu.c (read_command_list): New dummy function.
36426
36427 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
36428
36429 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
36430 count to 16 for CCISS and IDA.
36431
36432 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
36433
36434 * normal/menu_text.c (grub_wait_after_message): Print a newline
36435 after waiting for user input.
36436
36437 * loader/i386/linux.c: Include `<grub/normal.h>'.
36438 (grub_cmd_linux): Improve the error message about `ask' mode, by
36439 waiting for user input so it's not missed (we can do this, since
36440 user requested interaction).
36441
36442 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
36443
36444 Added missing lst to grub-mkrescue
36445
36446 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
36447 and ${input_dir}/parttool.lst
36448
36449 2009-04-30 David S. Miller <davem@davemloft.net>
36450
36451 * util/hostdisk.c (device_is_wholedisk): New function.
36452 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
36453 zero only if device_is_wholedisk() returns true.
36454
36455 * util/hostdisk.c (convert_system_partition_to_system_disk):
36456 Handle virtual disk devices named /dev/vdiskX as found on sparc
36457 and powerpc.
36458
36459 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
36460 lettered partition specifier is found, convert to numbered.
36461
36462 2009-04-29 David S. Miller <davem@davemloft.net>
36463
36464 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
36465 * include/grub/sparc64/ieee1275/memory.h: Likewise.
36466
36467 * normal/command.c: Add missing newline at end of file.
36468
36469 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
36470 warnings.
36471 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
36472 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
36473 grub_ofdisk_read): Likewise, and deal similarly with the fact that
36474 ihandles have a 32-bit type but need to be stored in a "void *".
36475
36476 2009-04-28 Pavel Roskin <proski@gnu.org>
36477
36478 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
36479 not disk. Adjust all dependencies.
36480 (grub_fs_uuid_close): Use grub_device_close(), not
36481 grub_disk_close().
36482
36483 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
36484 parent's partition, don't copy it by reference, as it gets freed
36485 on close.
36486
36487 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
36488
36489 Preboot hooks support
36490
36491 * commands/boot.c (struct grub_preboot_t): new declaration
36492 (preboots_head): new variable
36493 (preboots_tail): likewise
36494 (grub_loader_register_preboot_hook): new function
36495 (grub_loader_unregister_preboot_hook): likewise
36496 (grub_loader_set): launch preboot hooks
36497 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
36498 (grub_loader_register_preboot_hook): new declaration
36499 (grub_loader_unregister_preboot_hook): likewise
36500
36501 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
36502
36503 Warning fix
36504
36505 * disk/scsi.c (grub_scsi_open): added missing cast when
36506 calling grub_dprintf
36507
36508 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
36509
36510 Bug and warning fixes
36511
36512 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
36513 declaration
36514 * commands/test.c (test_parse): fixed bug with file tests and corrected
36515 declaration of find_file
36516
36517 2009-04-26 Pavel Roskin <proski@gnu.org>
36518
36519 * Makefile.in: Don't install empty manual pages if help2man is
36520 missing. Use help2man option for output, not shell redirection.
36521
36522 2009-04-26 David S. Miller <davem@davemloft.net>
36523
36524 * util/grub-mkdevicemap.c (make_device_map): Add missing
36525 NESTED_FUNC_ATTR to process_device().
36526
36527 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
36528
36529 Test command
36530
36531 * commands/test.c: rewritten to use bash-like test
36532
36533 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
36534
36535 Parttool autoloading and improvements
36536
36537 * Makefile.in (pkglib_DATA): add parttool.lst
36538 (parttool.lst): new target
36539 * genmk.rb: generate parttool-*
36540 (CLEANFILES): add #{parttool}
36541 (PARTTOOLFILES): new variable
36542 * genparttoollist.sh: new file
36543 * parttool/pcpart.c (grub_pcpart_boot): more feedback
36544 (grub_pcpart_type): likewise
36545 * commands/parttool.c (helpmsg): new variable
36546 (grub_cmd_parttool): output help if not enough arguments are supplied
36547 autoload modules
36548 (GRUB_MOD_INIT(parttool)): use helpmsg
36549
36550 2009-04-24 David S. Miller <davem@davemloft.net>
36551
36552 Avoiding opening same device multiple times in device iterator.
36553
36554 * kern/device.c: (grub_device_iterate): Define struct part_ent,
36555 and use it to build a list of partitions in iterate_disk() and
36556 iterate_partition().
36557
36558 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
36559 on disk->data.
36560
36561 * disk/ieee1275/nand.c (grub_nand_iterate): Return
36562 grub_devalias_iterate() result instead of unconditional 0.
36563 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
36564 Also, capture hook return value, either directly or via
36565 grub_children_iterate(), and propagate to caller.
36566 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
36567 grub_children_iterate): Return value is now 'int' instead of
36568 'grub_err_t'.
36569 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
36570 like a proper iterator, stopping when hooks return non-zero.
36571 (grub_devalias_iterate): Likewise.
36572
36573 2009-04-23 David S. Miller <davem@davemloft.net>
36574
36575 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
36576
36577 2009-04-22 David S. Miller <davem@davemloft.net>
36578
36579 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
36580 is larger than address_cells, use that value for address_cells too.
36581
36582 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
36583 IEEE1275_MAX_PATH_LEN): Define.
36584 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
36585 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
36586 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
36587 'devtype'. Explicitly NULL terminate devalias expansion.
36588
36589 * util/sparc64/ieee1275/misc.c: New file.
36590 * util/sparc64/ieee1275/grub-setup.c: New file.
36591 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
36592 * util/sparc64/ieee1275/grub-mkimage.c: New file.
36593 * util/sparc64/ieee1275/grub-install.in: New file.
36594 * util/ieee1275/ofpath.c: New file.
36595 * util/ieee1275/devicemap.c: New file.
36596 * util/devicemap.c: New file.
36597 * util/deviceiter.c: New file.
36598 * kern/sparc64/ieee1275/init.c: New file.
36599 * include/grub/util/ofpath.h: New file.
36600 * include/grub/util/deviceiter.h: New file.
36601 * util/grub-mkdevicemap.c: Include deviceiter.h.
36602 Implement using grub_util_emit_devicemap_entry and
36603 grub_util_iterate_devices.
36604 * conf/i386-corebook.rmk: Build util/deviceiter.c and
36605 util/devicemap.c into grub-mkdevicemap
36606 * conf/i386-efi.rmk: Likewise.
36607 * conf/i386-ieee1275.rmk: Likewise.
36608 * conf/i386-pc.rmk: Likewise.
36609 * conf/powerpc-ieee1275.rmk: Likewise.
36610 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
36611 images and installation utilities. Build kernel as image
36612 instead of as elf binary. Use common rules as much as possible.
36613
36614 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
36615
36616 Correct GPT definition
36617
36618 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
36619 of "attrib" member
36620
36621 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
36622
36623 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
36624
36625 2009-04-19 David S. Miller <davem@davemloft.net>
36626
36627 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
36628 (grub_rescue_cmd_linux): Rename to...
36629 (grub_cmd_linux): and fix prototype.
36630 (grub_rescue_cmd_initrd): Rename to...
36631 (grub_cmd_initrd): and fix prototype.
36632 (cmd_linux, cmd_initrd): New.
36633 (GRUB_MOD_INIT(linux)): Use grub_register_command().
36634 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
36635
36636 2009-04-17 Pavel Roskin <proski@gnu.org>
36637
36638 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
36639 format.
36640 (grub_ohci_transfer): Likewise.
36641
36642 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
36643
36644 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
36645 return without a value. Fix inconsistent indentation.
36646
36647 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
36648 match struct grub_fs.
36649
36650 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
36651 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
36652 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
36653 * commands/lspci.c (grub_lspci_iter): Likewise.
36654
36655 2009-04-16 Bean <bean123ch@gmail.com>
36656
36657 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
36658 value.
36659
36660 2009-04-15 Pavel Roskin <proski@gnu.org>
36661
36662 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
36663 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
36664 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
36665 definitions.
36666
36667 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
36668
36669 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
36670 that no multiple data or metadata areas are supported and `Unknown
36671 metadata header'.
36672
36673 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
36674
36675 Move loader out of the kernel
36676
36677 * kern/loader.c: moved to ...
36678 * commands/boot.c: ... moved here
36679 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
36680 * commands/boot.c (grub_cmd_boot): moved here. All users updated
36681 * include/grub/kernel.h (grub_machine_fini): export
36682 * include/grub/loader.h (grub_loader_is_loaded): update declaration
36683 (grub_loader_set): likewise
36684 (grub_loader_unset): likewise
36685 (grub_loader_boot): likewise
36686 * conf/common.rmk: new module boot.mod
36687 (pkglib_MODULES): add boot.mod
36688 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
36689 (grub_emu_SOURCES): likewise
36690 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
36691 (grub_emu_SOURCES): likewise
36692 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
36693 (grub_emu_SOURCES): likewise
36694 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
36695 (grub_emu_SOURCES): likewise
36696 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
36697 (grub_emu_SOURCES): likewise
36698 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
36699 (grub_emu_SOURCES): likewise
36700 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
36701 (grub_emu_SOURCES): likewise
36702
36703 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
36704
36705 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
36706
36707 * kern/misc.c (grub_itoa): Removed function
36708 (grub_ltoa): likewise
36709 (grub_vsprintf): use grub_lltoa
36710
36711 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
36712
36713 Restore grub-emu
36714
36715 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
36716 * conf/i386-coreboot.rmk: likewise
36717 * conf/i386-ieee1275.rmk: likewise
36718 * conf/powerpc-ieee1275.rmk: likewise
36719
36720 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
36721
36722 * INSTALL: Add that `./autogen.sh' needs to be run before
36723 `./configure.'.
36724
36725 2009-04-14 Bean <bean123ch@gmail.com>
36726
36727 * Makefile.in (pkglib_DATA): Add handler.lst.
36728 (handler.lst): New rule.
36729
36730 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
36731 * conf/i386-coreboot.rmk: Likewise.
36732 * conf/i386-ieee1275.rmk: Likewise.
36733 * conf/i386-efi.rmk: Likewise.
36734 * conf/x86_64-efi.rmk: Likewise.
36735 * conf/powerpc-ieee1275.rmk: Likewise.
36736 * conf/sparc64-ieee1275.rmk: Likewise.
36737
36738 * genhandlerlist.sh: New file.
36739
36740 * genmk.rb: Add rules to generate handler.lst.
36741
36742 * include/grub/normal.h (grub_file_getline): New function definition.
36743 (read_handler_list): Likewise.
36744 (free_handler_list): Likewise.
36745
36746 * include/grub/term.h (grub_term_register_input): Add name parameter
36747 for auto generation of handler.lst.
36748 (grub_term_register_output): Likewise.
36749
36750 * normal/handler.c: New file.
36751
36752 * normal/main.c (get_line): Renamed to grub_file_getline.
36753 (read_config_file): Use the newly renamed grub_file_getline.
36754 (read_command_list): Likewise.
36755 (read_fs_list): Likewise.
36756 (grub_normal_execute): Call read_handler_list to parse handler.lst.
36757 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
36758
36759 * term/efi/console.c (grub_console_init): Add name parameter for auto
36760 generation of handler.lst.
36761 * term/gfxterm.c: Likewise.
36762 * term/i386/pc/at_keyboard.c: Likewise.
36763 * term/i386/pc/console.c: Likewise.
36764 * term/i386/pc/serial.c: Likewise.
36765 * term/i386/pc/vesafb.c: Likewise.
36766 * term/i386/pc/vga.c: Likewise.
36767 * term/i386/pc/vga_text.c: Likewise.
36768 * term/ieee1275/ofconsole.c: Likewise.
36769 * term/usb_keyboard.c: Likewise.
36770
36771 2009-04-14 Bean <bean123ch@gmail.com>
36772
36773 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
36774 properly with null character.
36775
36776 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
36777
36778 * configure: Remove.
36779 * config.h.in: Likewise.
36780 * stamp-h.in: Likewise.
36781 * DISTLIST: Likewise.
36782 * conf/common.mk: Likewise.
36783 * conf/i386-coreboot.mk: Likewise.
36784 * conf/i386-efi.mk: Likewise.
36785 * conf/i386-ieee1275.mk: Likewise.
36786 * conf/i386.mk: Likewise.
36787 * conf/i386-pc.mk: Likewise.
36788 * conf/powerpc-ieee1275.mk: Likewise.
36789 * conf/sparc64-ieee1275.mk: Likewise.
36790 * conf/x86_64-efi.mk: Likewise.
36791
36792 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
36793 develop on GRUB.
36794
36795 2009-04-14 John Stanley <jpsinthemix@verizon.net>
36796 David S. Miller <davem@davemloft.net>
36797
36798 * util/hostdisk.c (make_device_name): Fix buffer length
36799 calculations.
36800
36801 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
36802
36803 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
36804 <sys/param.h> and <sys/sysctl.h>.
36805 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
36806 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
36807 opening the device and reset them afterwards.
36808
36809 2009-04-13 Pavel Roskin <proski@gnu.org>
36810
36811 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
36812 Reported by John Stanley <jpsinthemix@verizon.net>
36813
36814 2009-04-13 Robert Millan <rmh@aybabtu.com>
36815
36816 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
36817 that name for menuentries when appropriate.
36818
36819 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
36820
36821 * util/grub.d/10_freebsd.in: Add a missing `fi'.
36822
36823 2009-04-13 Robert Millan <rmh@aybabtu.com>
36824
36825 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
36826 to Linux, simply abort telling the user it's no longer supported.
36827
36828 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
36829
36830 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
36831 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
36832 `freebsd_loadenv' only when devices.hints exist.
36833
36834 2009-04-13 Pavel Roskin <proski@gnu.org>
36835
36836 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
36837
36838 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
36839
36840 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
36841 partition number.
36842 (grub_drive): Likewise.
36843
36844 2009-04-13 David S. Miller <davem@davemloft.net>
36845
36846 * kern/sparc64/ieee1275/ieee1275.c: New file.
36847 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
36848 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
36849 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
36850 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
36851 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
36852 grub_ieee1275_alloc_physmem): Declare new exported functions.
36853
36854 * include/grub/sparc64/ieee1275/loader.h: New file.
36855 * include/grub/sparc64/ieee1275/memory.h: Likewise.
36856 * include/grub/sparc64/kernel.h: Likewise.
36857 * loader/sparc64/ieee1275/linux.c: Likewise.
36858
36859 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
36860 (grub_fstest_SOURCES): Likewise.
36861
36862 * util/hostdisk.c (make_device_name): Do not make any assumptions
36863 about the length of drive names.
36864
36865 * kern/dl.c (grub_dl_load_file): Close file immediately when
36866 we are done using it.
36867
36868 2009-04-12 David S. Miller <davem@davemloft.net>
36869
36870 * kern/misc.c (grub_ltoa): Fix cast when handling negative
36871 values. Noticed by Pavel Roskin.
36872
36873 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
36874 target compiler.
36875
36876 * genmk.rb: Add more flexible image type specification, also
36877 pass --strip-unneeded to objcopy.
36878 * conf/i386-pc.rmk: Use *_FORMAT.
36879 * conf/i386-pc.mk: Rebuilt.
36880
36881 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
36882 (OFDISK_HASH_SZ): Define.
36883 (ofdisk_hash): New hash table.
36884 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
36885 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
36886 instead of device phandle which is not unique.
36887
36888 * kern/sparc64/ieee1275/init.c: Delete, replace with...
36889 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
36890 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
36891 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
36892 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
36893 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
36894 GRUB_KERNEL_MACHINE_DATA_END): Define.
36895 (grub_kernel_image_size, grub_total_module_size): Declare.
36896
36897 2009-04-12 Pavel Roskin <proski@gnu.org>
36898
36899 * configure.ac: Change the logic when we check for target tools.
36900 Do it when the target is specified and it's different from the
36901 specified value of the host.
36902
36903 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
36904
36905 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
36906 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
36907 GNU/kFreeBSD. Check if a device is a character device. Use
36908 DIOCGMEDIASIZE to get the size.
36909 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
36910 support for GNU/kFreeBSD.
36911 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
36912 is a character device instead of a block device. Add support for
36913 FreeBSD device names.
36914
36915 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
36916 is a character device instead of a block device.
36917
36918 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
36919 is a character device instead of a block device.
36920
36921 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
36922
36923 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
36924 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
36925 FreeBSD. Check if a device is a character device. Use
36926 DIOCGMEDIASIZE to get the size.
36927 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
36928 support for FreeBSD.
36929 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
36930 is a character device instead of a block device. Add support for
36931 FreeBSD device names.
36932
36933 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
36934 a character device instead of a block device.
36935 (grub_util_check_char_device): New function.
36936
36937 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
36938 a character device instead of a block device.
36939
36940 * include/grub/util/getroot.h (grub_util_check_char_device): New
36941 prototype.
36942
36943 2009-04-11 David S. Miller <davem@davemloft.net>
36944
36945 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
36946 static libgcc.
36947 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
36948 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
36949 function, if present.
36950 (__bswapdi2): Likewise.
36951
36952 * include/grub/sparc64/ieee1275/boot.h: New file.
36953 * boot/sparc64/ieee1275/boot.S: Likewise.
36954 * boot/sparc64/ieee1275/diskboot.S: Likewise.
36955
36956 * kern/misc.c (grub_ltoa): New function.
36957 (grub_vsprintf): Use it to format 'long' integers.
36958
36959 2009-04-10 David S. Miller <davem@davemloft.net>
36960
36961 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
36962 slots are of type grub_ieee1275_cell_t.
36963 (grub_nand_read): Likewise.
36964 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
36965 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
36966 macros are used to compare values in arg/ret block of the call.
36967 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
36968 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
36969 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
36970 grub_ieee1275_instance_to_path, grub_ieee1275_write,
36971 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
36972 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
36973 grub_ieee1275_close, grub_ieee1275_set_property,
36974 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
36975 grub_ieee1275_cell_t.
36976 * kern/ieee1275/openfw.c (grub_map): Likewise.
36977 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
36978 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
36979
36980 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
36981 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
36982 (grub_devalias_iterate): Likewise.
36983
36984 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
36985
36986 UFS improvements
36987
36988 * fs/ufs.c (INODE_NBLOCKS): new definition
36989 (struct grub_ufs_dirent): added fields for non-BSD dirents
36990 (grub_ufs_get_file_block): fixed double indirect handling
36991 (grub_ufs_lookup_symlink): use more robust way to determine whether
36992 symlink is inline
36993 (grub_ufs_find_file): support for non-BSD dirents
36994 (grub_ufs_dir): support for non-BSD dirents
36995
36996 2009-04-10 Bean <bean123ch@gnail.com>
36997
36998 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
36999 attribute, otherwise the size would be wrong for i386 platform.
37000
37001 * include/grub/pci.h (grub_pci_read_word): New inline function.
37002 (grub_pci_read_byte): Likewise.
37003 (grub_pci_write): Likewise.
37004 (grub_pci_write_word): Likewise.
37005 (grub_pci_write_byte): Likewise.
37006
37007 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
37008
37009 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
37010 (find_framebuf): Scan pci to locate the frame buffer address.
37011
37012 * commands/efi/fixvideo.c: New file.
37013
37014 * commands/efi/loadbios.c: Likewise.
37015
37016 * commands/memrw.c: Likewise.
37017
37018 * util/grub-dumpbios.in: Likewise.
37019
37020 * conf/common.rmk (grub-dumpbios): New utility.
37021 (pkglib_MODULES): New module memrw.mod.
37022 (memrw_mod_SOURCE): New macro.
37023 (memrw_mod_CFLAGS): Likewise.
37024 (memrw_mod_LDFLAGS): Likewise.
37025
37026 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
37027 fixvideo.mod.
37028 (loadbios_mod_SOURCE): New macro.
37029 (loadbios_mod_CFLAGS): Likewise.
37030 (loadbios_mod_LDFLAGS): Likewise.
37031 (fixvideo_mod_SOURCE): Likewise.
37032 (fixvideo_mod_CFLAGS): Likewise.
37033 (fixvideo_mod_LDFLAGS): Likewise.
37034
37035 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
37036 fixvideo.mod.
37037 (loadbios_mod_SOURCE): New macro.
37038 (loadbios_mod_CFLAGS): Likewise.
37039 (loadbios_mod_LDFLAGS): Likewise.
37040 (fixvideo_mod_SOURCE): Likewise.
37041 (fixvideo_mod_CFLAGS): Likewise.
37042 (fixvideo_mod_LDFLAGS): Likewise.
37043
37044 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
37045
37046 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
37047
37048 2009-04-07 David S. Miller <davem@davemloft.net>
37049
37050 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
37051 support for R_SPARC_OLO10 relocations. Fix compile warning for
37052 R_SPARC_WDISP30 case.
37053 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
37054
37055 2009-04-06 Pavel Roskin <proski@gnu.org>
37056
37057 * include/grub/misc.h (ARRAY_SIZE): New macro.
37058 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
37059 New macro.
37060 * loader/i386/linux.c (allocate_pages): Use free_pages().
37061 (grub_linux_unload): Don't use free_pages().
37062 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
37063 wrong index. Treat all other modes as text modes.
37064 (grub_cmd_linux): Initialize vid_mode unconditionally to
37065 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
37066
37067 * commands/help.c (print_command_help): Use cmd->prio, not
37068 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
37069
37070 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
37071
37072 Parttool
37073
37074 * parttool/pcpart.c: new file
37075 * commands/parttool.c: likewise
37076 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
37077 (parttool_mod_SOURCES): new variable
37078 (parttool_mod_CFLAGS): likewise
37079 (parttool_mod_LDFLAGS): likewise
37080 (pcpart_mod_SOURCES): likewise
37081 (pcpart_mod_CFLAGS): likewise
37082 (pcpart_mod_LDFLAGS): likewise
37083 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
37084 and parttool/pcpart.c
37085 * conf/i386-efi.rmk: likewise
37086 * conf/i386-ieee1275.rmk: likewise
37087 * conf/i386-pc.rmk: likewise
37088 * conf/powerpc-ieee1275.rmk: likewise
37089 * conf/sparc64-ieee1275.rmk: likewise
37090 * conf/x86_64-ieee1275.rmk: likewise
37091
37092 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
37093
37094 Support for mtime and further expandability of dir command
37095
37096 * include/grub/lib/datetime.h: moved to ...
37097 * include/grub/datetime.h: ... moved here and added
37098 declaration of grub_unixtime2datetime. All users updated
37099 * include/grub/fs.h: new syntax for dir and mtime functions in
37100 struct grub_fs
37101 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
37102 and GRUB_FSHELP_FLAGS_MASK
37103 * commands/ls.c (grub_ls_list_files): Write mtime in long format
37104 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
37105 (grub_ext2_mtime): new function
37106 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
37107 (grub_hfsplus_mtime): new function
37108 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
37109 (GRUB_UFS_ATTR_FILE): likewise
37110 (GRUB_UFS_ATTR_LNK): likewise
37111 (struct grub_ufs_sblock): new fields mtime
37112 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
37113 all users updated
37114 (grub_ufs_dir): mtime support
37115 (grub_ufs_mtime): new function
37116 * fs/affs.c (grub_affs_dir): use new dir syntax
37117 * fs/afs.c (grub_afs_dir): likewise
37118 * fs/cpio.c (grub_cpio_dir): likewise
37119 * fs/fat.c (grub_fat_find_dir): likewise
37120 * fs/hfs.c (grub_hfs_dir): likewise
37121 * fs/iso9660.c (grub_iso9660_dir): likewise
37122 * fs/jfs.c (grub_jfs_dir): likewise
37123 * fs/minix.c (grub_minix_dir): likewise
37124 * fs/ntfs.c (grub_ntfs_dir): likewise
37125 * fs/reiserfs.c (grub_reiserfs_dir): likewise
37126 * fs/sfs.c (grub_sfs_dir): likewise
37127 * fs/xfs.c (grub_xfs_dir): likewise
37128 * util/hostfs.c (grub_hostfs_dir): likewise
37129 * lib/datetime.c: moved to ...
37130 * normal/datetime.c: ... moved here
37131 (grub_unixtime2datetime): new function
37132 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
37133 * normal/completion.c (iterate_dir): use new dir syntax
37134 * normal/misc.c (grub_normal_print_device_info): tell the
37135 last modification time of a volume
37136 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
37137 * conf/common.rmk: added lib/datetime.c to ls.mod
37138 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
37139 (normal_mod_SOURCES): likewise
37140 (datetime_mod_SOURCES): Removed lib/datetime.c
37141 * conf/i386-efi.rmk: likewise
37142 * conf/i386-ieee1275.rmk: likewise
37143 * conf/i386-pc.rmk: likewise
37144 * conf/powerpc-ieee1275.rmk: likewise
37145 * conf/sparc64-ieee1275.rmk: likewise
37146 * conf/x86_64-efi.rmk: likewise
37147
37148 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
37149
37150 Trim trailing spaces in FAT label and support mtools-like labels
37151
37152 * fs/fat.c (grub_fat_iterate_dir): New function based
37153 on grub_fat_find_dir
37154 (grub_fat_find_dir): use grub_fat_iterate_dir
37155 (grub_fat_label): likewise
37156
37157 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
37158
37159 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
37160 and command.h
37161 remove extraneous kernel_elf_HEADERS
37162
37163 2009-04-04 Bean <bean123ch@gnail.com>
37164
37165 * include/grub/util/misc.h: Add dummy function fsync for mingw.
37166
37167 * util/misc.c: Likewise.
37168
37169 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
37170
37171 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
37172 instead of grub_printf.
37173
37174 2009-04-03 Robert Millan <rmh@aybabtu.com>
37175
37176 * loader/i386/linux.c (grub_linux_setup_video): Fill
37177 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
37178 values from `mode info' structure instead of hardcoded
37179 values.
37180
37181 2009-04-01 Pavel Roskin <proski@gnu.org>
37182
37183 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
37184 unused now.
37185 * genmk.rb: Likewise.
37186 * configure.ac: Likewise.
37187
37188 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
37189
37190 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
37191 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
37192
37193 2009-04-01 David S. Miller <davem@davemloft.net>
37194
37195 * normal/sparc64/setjmp.S: Fix setjmp implementation.
37196 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
37197 (grub_setjmp): Mark with 'returns_twice' attribute.
37198 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
37199 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
37200 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
37201
37202 2009-04-01 Robert Millan <rmh@aybabtu.com>
37203
37204 Reapply fix from 2008-07-28 which was accidentally reverted; also
37205 perform the same fix to a similar check in same function.
37206
37207 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
37208 with the same number are found, just use issue a warning with
37209 grub_dprintf(), as this error has been reported to be non-fatal.
37210
37211 2009-03-31 Pavel Roskin <proski@gnu.org>
37212
37213 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
37214 for cross-compilation.
37215
37216 2009-03-30 Robert Millan <rmh@aybabtu.com>
37217
37218 Fix i386-ieee1275 build.
37219
37220 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
37221 Remove declaration.
37222
37223 2009-03-30 Pavel Roskin <proski@gnu.org>
37224
37225 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
37226 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
37227 zero-terminated, rely only on the strlen value. Fix comparison
37228 of strings differing in length.
37229
37230 2009-03-30 Robert Millan <rmh@aybabtu.com>
37231
37232 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
37233 checking for abi version. Improve error messages on BIOS to notify
37234 user about `linux16' command.
37235
37236 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
37237
37238 Leak fixes
37239
37240 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
37241 in case of collision
37242 * disk/scsi.c (grub_scsi_open): free scsi in case of error
37243
37244 2009-03-29 Robert Millan <rmh@aybabtu.com>
37245
37246 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
37247 set `vid_mode' accordingly.
37248 (grub_linux_boot): Process `vid_mode' and set video mode.
37249
37250 2009-03-29 Robert Millan <rmh@aybabtu.com>
37251
37252 * util/grub.d/10_linux.in (linux_entry): New function.
37253 Factorize generation of Linux boot entries.
37254
37255 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
37256
37257 Make the format of Environment Block plain text. The boot loader
37258 part is not tested well yet.
37259
37260 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
37261 (buffer): Removed.
37262 (envblk): Likewise.
37263 (usage): Remove "info" and "clear". Add "unset". Update the
37264 description of "set", as this does not delete variables any
37265 longer.
37266 (create_envblk_file): Complete rewrite.
37267 (open_envblk_file): Likewise.
37268 (cmd_info): Removed.
37269 (cmd_list): Likewise.
37270 (cmd_set): Likewise.
37271 (cmd_clear): Likewise.
37272 (list_variables): New function.
37273 (write_envblk): Likewise.
37274 (set_variables): Likewise.
37275 (unset_variables): Likewise.
37276 (main): Complete rewrite.
37277
37278 * commands/loadenv.c (buffer): Removed.
37279 (envblk): Likewise.
37280 (open_envblk_file): New function.
37281 (read_envblk_file): Complete rewrite.
37282 (grub_cmd_load_env): Likewise.
37283 (grub_cmd_list_env): Likewise.
37284 (struct blocklist): New struct.
37285 (free_blocklists): New function.
37286 (check_blocklists): Likewise.
37287 (write_blocklists): Likewise.
37288 (grub_cmd_save_env): Complete rewrite.
37289
37290 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
37291 a plain text signature.
37292 (GRUB_ENVBLK_MAXLEN): Removed.
37293 (struct grub_envblk): Complete rewrite.
37294 (grub_envblk_find): Removed.
37295 (grub_envblk_insert): Likewise.
37296 (grub_envblk_open): New prototype.
37297 (grub_envblk_set): Likewise.
37298 (grub_envblk_delete): Put const to VALUE.
37299 (grub_envblk_iterate): Put const to NAME and VALUE.
37300 (grub_envblk_close): New prototype.
37301 (grub_envblk_buffer): New inline function.
37302 (grub_envblk_size): Likewise.
37303
37304 * lib/envblk.c: Include grub/mm.h.
37305 (grub_env_find): Removed.
37306 (grub_envblk_open): New function.
37307 (grub_envblk_close): Likewise.
37308 (escaped_value_len): Likewise.
37309 (find_next_line): Likewise.
37310 (grub_envblk_insert): Removed.
37311 (grub_envblk_set): New function.
37312 (grub_envblk_delete): Complete rewrite.
37313 (grub_envblk_iterate): Likewise.
37314
37315 2009-03-28 Robert Millan <rmh@aybabtu.com>
37316
37317 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
37318 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
37319 variables. Use 16-bit loader.
37320 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
37321 loader.
37322 * kern/i386/loader.S (grub_linux_boot): Rename to ...
37323 (grub_linux16_boot): ... this. Update all users.
37324 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
37325 (grub_linux_boot): ... this. Update all users.
37326
37327 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
37328 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
37329 commands to `linux16' and `initrd16'.
37330 (GRUB_MOD_FINI(linux)): Rename to ...
37331 (GRUB_MOD_FINI(linux16)): ... this.
37332
37333 2009-03-24 Pavel Roskin <proski@gnu.org>
37334
37335 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
37336 not just for compilation.
37337
37338 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
37339
37340 Move multiboot helper out of kernel
37341
37342 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
37343 `loader/i386/multiboot_helper.S'.
37344 * conf/i386-coreboot.rmk: Likewise
37345 * conf/i386-ieee1275.rmk: Likewise
37346
37347 * kern/i386/loader.S: Move multiboot helpers from here...
37348 * loader/i386/multiboot_helper.S: ...moved here
37349 * include/grub/i386/loader.h: Move declarations of multiboot
37350 helpers from here...
37351 * include/grub/i386/multiboot.h: ...moved here
37352 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
37353
37354 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
37355
37356 * kern/env.c (grub_env_context_open): Added an argument to specify
37357 whether a new context inherits exported variables from current
37358 one. This is useful when making a sandbox to interpret a config
37359 file.
37360 All callers updated.
37361
37362 * include/grub/env.h (grub_env_context_open): Updated the prototype.
37363
37364 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
37365
37366 * kern/env.c (grub_env_context_close): Fix memory leaks.
37367
37368 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
37369
37370 * normal/main.c (grub_normal_execute): Added an argument
37371 BATCH to specify if an interactive interface should be provided
37372 after reading a config file.
37373 All callers updated.
37374 (read_command_list): Prevent being executed twice.
37375 (read_fs_list): Likewise.
37376
37377 * include/grub/normal.h (grub_normal_execute): Updated the
37378 prototype.
37379
37380 2009-03-22 Pavel Roskin <proski@gno.org>
37381
37382 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
37383 _start.
37384 * kern/i386/pc/startup.S: Likewise.
37385 * kern/i386/efi/startup.S: Likewise.
37386 * kern/i386/ieee1275/startup.S: Likewise.
37387 * kern/i386/coreboot/startup.S: Likewise.
37388 * kern/x86_64/efi/startup.S: Likewise.
37389
37390 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
37391 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
37392 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
37393
37394 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
37395
37396 Bugfixes in multiboot for bugs uncovered by solaris kernel.
37397
37398 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
37399 limit detection.
37400 Use vaddr of correct segment for entry_point.
37401
37402 2009-03-21 Bean <bean123ch@gmail.com>
37403
37404 * commands/blocklist.c: Add include file <grub/command.h>, remove
37405 <grub/normal.h> and <grub/arg.h>.
37406 (grub_cmd_blocklist): Use the new command interface.
37407 (GRUB_MOD_INIT): Likewise.
37408 (GRUB_MOD_FINI): Likewise.
37409 * commands/boot.c: Likewise.
37410 * commands/cat.c: Likewise.
37411 * commands/cmp.c: Likewise.
37412 * commands/configfile.c: Likewise.
37413 * commands/crc.c: Likewise.
37414 * commands/echo.c: Likewise.
37415 * commands/halt.c: Likewise.
37416 * commands/handler.c: Likewise.
37417 * commands/hdparm.c: Likewise.
37418 * commands/help.c: Likewise.
37419 * commands/hexdump.c: Likewise.
37420 * commands/loadenv.c: Likewise.
37421 * commands/ls.c: Likewise.
37422 * commands/lsmmap.c: Likewise.
37423 * commands/lspci.c: Likewise.
37424 * commands/loadenv.c: Likewise.
37425 * commands/read.c: Likewise.
37426 * commands/reboot.c: Likewise.
37427 * commands/search.c: Likewise.
37428 * commands/sleep.c: Likewise.
37429 * commands/test.c: Likewise.
37430 * commands/usbtest.c: Likewise.
37431 * commands/videotest.c: Likewise.
37432 * commands/i386/cpuid.c: Likewise.
37433 * commands/i386/pc/halt.c: Likewise.
37434 * commands/i386/pc/play.c: Likewise.
37435 * commands/i386/pc/pxecmd.c: Likewise.
37436 * commands/i386/pc/vbeinfo.c: Likewise.
37437 * commands/i386/pc/vbetest.c: Likewise.
37438 * commands/ieee1275/suspend.c: Likewise.
37439 * disk/loopback.c: Likewise.
37440 * font/font_cmd.c: Likewise.
37441 * hello/hello.c: Likewise.
37442 * loader/efi/appleloader.c: Likewise.
37443 * loader/efi/chainloader.c: Likewise.
37444 * loader/i386/bsd.c: Likewise.
37445 * loader/i386/efi/linux.c: Likewise.
37446 * loader/i386/ieee1275/linux.c: Likewise.
37447 * loader/i386/linux.c: Likewise.
37448 * loader/i386/pc/chainloader.c: Likewise.
37449 * loader/i386/pc/linux.c: Likewise.
37450 * loader/powerpc/ieee1275/linux.c: Likewise.
37451 * loader/multiboot_loader.c: Likewise.
37452 * term/gfxterm.c: Likewise.
37453 * term/i386/pc/serial.c: Likewise.
37454 * term/terminfo.c: Likewise.
37455
37456 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
37457 * term/i386/pc/vga.c: Likewise.
37458 * video/readers/jpeg.c: Likewise.
37459 * video/readers/png.c: Likewise.
37460 * video/readers/tga.c: Likewise.
37461
37462 * util/grub-fstest (cmd_loopback): Removed.
37463 (cmd_blocklist): Likewise.
37464 (cmd_ls): Likewise.
37465 (grub_register_command): Likewise.
37466 (grub_unregister_command): Likewise.
37467 (execute_command): Use grub_command_find to locate command and execute
37468 it.
37469
37470 * include/grub/efi/chainloader.h: Removed.
37471 * loader/efi/chainloader_normal.c: Likewise.
37472 * loader/i386/bsd_normal.c: Likewise.
37473 * loader/i386/pc/chainloader_normal.c: Likewise.
37474 * loader/i386/pc/multiboot_normal.c: Likewise.
37475 * loader/linux_normal.c: Likewise.
37476 * loader/multiboot_loader_normal.c: Likewise.
37477 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
37478
37479 * gencmdlist.sh: Scan new registration command grub_register_extcmd
37480 and grub_register_command_p1.
37481
37482 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
37483 kern/command.c, lib/arg.c and commands/extcmd.c.
37484 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
37485 (minicmd_mod_SOURCES): New variable.
37486 (minicmd_mod_CFLAGS): Likewise.
37487 (minicmd_mod_LDFLAGS): Likewise.
37488 (extcmd_mod_SOURCES): Likewise.
37489 (extcmd_mod_CFLAGS): Likewise.
37490 (extcmd_mod_LDFLAGS): Likewise.
37491 (boot_mod_SOURCES): Removed.
37492 (boot_mod_CFLAGS): Likewise.
37493 (boot_mod_LDFLAGS): Likewise.
37494
37495 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
37496 kern/corecmd.c.
37497 (kernel_img_HEADERS): Add command.h.
37498 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
37499 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
37500 and lib/arg.c.
37501 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
37502 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
37503 remove the corresponding normal mode command.
37504 (normal_mod_SOURCES): Remove normal/arg.c.
37505 * conf/i386-coreboot.rmk: Likewise.
37506 * conf/i386-efi.rmk: Likewise.
37507 * conf/i386-ieee1275.rmk: Likewise.
37508 * conf/powerpc-ieee1275.rmk: Likewise.
37509 * conf/x86_64-efi.rmk: Likewise.
37510
37511 * include/grub/arg.h: Move from here ...
37512 * include/grub/lib/arg.h: ... to here.
37513
37514 * normal/arg.c: Move from here ...
37515 * lib/arg.c: ... to here.
37516
37517 * commands/extcmd.c: New file.
37518 * commands/minicmd.c: Likewise.
37519 * include/grub/command.h: Likewise.
37520 * include/grub/extcmd.h: Likewise.
37521 * kern/command.c: Likewise.
37522 * kern/corecmd.c: Likewise.
37523
37524 * kern/list.c (grub_list_iterate): Return int instead of void.
37525 (grub_list_insert): New function.
37526 (grub_prio_list_insert): Likewise.
37527
37528 * kern/rescue.c (grub_rescue_command): Removed.
37529 (grub_rescue_command_list): Likewise.
37530 (grub_rescue_register_command): Likewise.
37531 (grub_rescue_unregister_command): Likewise.
37532 (grub_rescue_cmd_boot): Move to minicmd.c
37533 (grub_rescue_cmd_help): Likewise.
37534 (grub_rescue_cmd_info): Likewise.
37535 (grub_rescue_cmd_boot): Likewise.
37536 (grub_rescue_cmd_testload): Likewise.
37537 (grub_rescue_cmd_dump): Likewise.
37538 (grub_rescue_cmd_rmmod): Likewise.
37539 (grub_rescue_cmd_lsmod): Likewise.
37540 (grub_rescue_cmd_exit): Likewise.
37541 (grub_rescue_print_devices): Moved to corecmd.c.
37542 (grub_rescue_print_files): Likewise.
37543 (grub_rescue_cmd_ls): Likewise.
37544 (grub_rescue_cmd_insmod): Likewise.
37545 (grub_rescue_cmd_set): Likewise.
37546 (grub_rescue_cmd_unset): Likewise.
37547 (attempt_normal_mode): Use grub_command_find to get normal module.
37548 (grub_enter_rescue_mode): Use grub_register_core_commands to register
37549 commands, remove grub_rescue_register_command calls.
37550
37551 * normal/command.c (grub_register_command): Removed.
37552 (grub_unregister_command): Likewise.
37553 (grub_command_find): Likewise.
37554 (grub_iterate_commands): Likewise.
37555 (rescue_command): Likewise.
37556 (export_command): Moved to corecmd.c.
37557 (set_command): Removed.
37558 (unset_command): Likewise.
37559 (insmod_command): Likewise.
37560 (rmmod_command): Likewise.
37561 (lsmod_command): Likewise.
37562 (grub_command_init): Likewise.
37563
37564 * normal/completion.c (iterate_command): Use cmd->prio to check for
37565 active command.
37566 (complete_arguments): Use grub_extcmd_t structure to find options.
37567 (grub_normal_do_completion): Change function grub_iterate_commands to
37568 grub_command_iterate.
37569
37570 * normal/execute.c (grub_script_execute_cmd): No need to parse
37571 argument here.
37572
37573 * normal/main.c (grub_dyncmd_dispatcher): New function.
37574 (read_command_list): Register unload commands as dyncmd.
37575 (grub_cmd_normal): Use new command interface, register rescue,
37576 unregister normal at entry, register normal, unregister rescue at exit.
37577
37578 * include/grub/list.h (grub_list_test_t): New type.
37579 (grub_list_iterate): Return int instead of void.
37580 (grub_list_insert): New function.
37581 (GRUB_AS_NAMED_LIST_P): New macro.
37582 (GRUB_AS_PRIO_LIST): Likewise.
37583 (GRUB_AS_PRIO_LIST_P): Likewise.
37584 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
37585 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
37586 (grub_prio_list): New structure.
37587 (grub_prio_list_insert): New function.
37588 (grub_prio_list_remove): New inline function.
37589
37590 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
37591 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
37592 (GRUB_COMMAND_FLAG_MENU): Likewise.
37593 (GRUB_COMMAND_FLAG_BOTH): Likewise.
37594 (GRUB_COMMAND_FLAG_TITLE): Likewise.
37595 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
37596 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
37597 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
37598 (grub_command): Likewise.
37599 (grub_register_command): Likewise.
37600 (grub_command_find): Likewise.
37601 (grub_iterate_commands): Likewise.
37602 (grub_command_init): Likewise.
37603 (grub_arg_parse): Likewise.
37604 (grub_arg_show_help): Likewise.
37605
37606 * include/grub/rescue.h (grub_rescue_register_command): Removed.
37607 (grub_rescue_unregister_command): Likewise.
37608
37609 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
37610 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
37611 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
37612
37613 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
37614 grub_rescue_cmd_initrd.
37615 * include/grub/i386/loader.h: Likewise.
37616 * include/grub/x86_64/loader.h: Likewise.
37617
37618 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
37619
37620 2009-03-21 Bean <bean123ch@gmail.com>
37621
37622 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
37623 instead of stat in mingw environment.
37624
37625 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
37626
37627 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
37628
37629 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
37630 AC_CONFIG_LINKS.
37631
37632 2009-03-21 Bean <bean123ch@gmail.com>
37633
37634 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
37635 out of range error.
37636
37637 2009-03-18 Michel Dänzer <michel@daenzer.net>
37638
37639 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
37640 checking inode flags for EXT4_EXTENTS_FLAG.
37641
37642 2009-03-18 Robert Millan <rmh@aybabtu.com>
37643
37644 * loader/i386/linux.c: Include `<grub/video.h>' and
37645 `<grub/i386/pc/vbe.h>'..
37646 (grub_linux_setup_video): New function. Loosely based on the EFI one.
37647 (grub_linux32_boot): Attempt to configure video settings with
37648 grub_linux_setup_video().
37649 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
37650 to avoid grub_console_fini() which would step out of graphical mode
37651 unconditionally.
37652
37653 2009-03-14 Robert Millan <rmh@aybabtu.com>
37654
37655 Fix build on powerpc.
37656 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
37657
37658 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
37659
37660 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
37661 background image command.
37662
37663 2009-03-12 Colin D Bennett <colin@gibibit.com>
37664
37665 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
37666 (grub_gfxterm_putchar): Extract pairs of identical calls to
37667 draw_cursor out of conditional blocks.
37668
37669 2009-03-11 Pavel Roskin <proski@gnu.org>
37670
37671 * fs/hfs.c (grub_hfs_strncasecmp): New function.
37672 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
37673
37674 2009-03-11 Robert Millan <rmh@aybabtu.com>
37675
37676 * loader/i386/multiboot_elfxx.c
37677 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
37678
37679 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
37680
37681 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
37682 `kern/handler.c'.
37683
37684 2009-03-11 Robert Millan <rmh@aybabtu.com>
37685
37686 * loader/i386/multiboot.c (code_size): New variable.
37687 (grub_multiboot): Define offsets by adding to `code_size' rather
37688 than subtracting from `grub_multiboot_payload_size'. Provide
37689 4-byte alignment to MBI and others by increasing
37690 `boot_loader_name_length' appropriately.
37691
37692 * loader/i386/multiboot_elfxx.c
37693 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
37694
37695 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
37696
37697 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
37698 `fs/ext2.c'.
37699
37700 2009-03-08 Robert Millan <rmh@aybabtu.com>
37701
37702 Make loader/i386/linux.c usable on i386-pc again.
37703
37704 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
37705 memory to heap.
37706 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
37707 `#error' stanza.
37708
37709 2009-03-07 Bean <bean123ch@gmail.com>
37710
37711 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
37712 allocation.
37713
37714 2009-03-06 Robert Millan <rmh@aybabtu.com>
37715
37716 Fix display issue on terminals with screen size other than 80x25
37717 (e.g. gfxterm with resolution higher than 640x480).
37718
37719 * normal/main.c (grub_normal_init_page): Display title text in a
37720 position relative to the center of the terminal instead of relying
37721 on a hardcoded offset.
37722
37723 2009-03-04 Robert Millan <rmh@aybabtu.com>
37724
37725 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
37726 installed.
37727
37728 * Makefile.in (host_kernel): New variable.
37729 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
37730 scripts instead of just the windows one.
37731 * configure.ac: Initialize and AC_SUBST `host_kernel'.
37732
37733 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
37734
37735 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
37736 `kern/handler.c'.
37737 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37738 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37739 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37740 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37741 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37742 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37743
37744 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
37745
37746 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
37747 or if there's no space for the disk label and print the partition number on a
37748 invalid magic.
37749
37750 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
37751
37752 * util/misc.c: Include <time.h>.
37753 (grub_millisleep): New function.
37754
37755 2009-03-04 Bean <bean123ch@gmail.com>
37756
37757 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
37758 another option -mno-red-zone.
37759
37760 * commands/handler.c: Change module description.
37761
37762 * kern/handler.c: Add missing space at the end of description line.
37763
37764 * kern/list.c: Likewise.
37765
37766 2009-03-03 Robert Millan <rmh@aybabtu.com>
37767
37768 Move more components to the relocation area, and fix mbi pointer
37769 handling to use the destination rather than the origin (thanks to
37770 Vladimir Serbinenko for spotting).
37771
37772 * loader/i386/multiboot.c (mbi_dest): New variable.
37773 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
37774 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
37775 relocation area.
37776
37777 2009-03-01 Bean <bean123ch@gmail.com>
37778
37779 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
37780 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
37781 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
37782 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
37783
37784 * loader/i386/efi/linux.c (acpi_guid): New variable.
37785 (acpi_guid): Likewise.
37786 (EBDA_SEG_ADDR): New constant.
37787 (LOW_MEM_ADDR): Likewise.
37788 (FAKE_EBDA_SEG): Likewise.
37789 (fake_bios_data): New function.
37790 (grub_linux_boot): Call fake_bios_data.
37791
37792 2009-03-01 Bean <bean123ch@gmail.com>
37793
37794 * commands/terminal.c: Removed.
37795
37796 * commands/handler.c: New file.
37797
37798 * include/grub/list.h: Likewise.
37799
37800 * include/grub/handler.h: Likewise.
37801
37802 * kern/list.c: Likewise.
37803
37804 * kern/handler.c: Likewise.
37805
37806 * kern/term.h: Include header file <grub/handler.h>.
37807 (grub_term_input): Move next field to the beginning.
37808 (grub_term_output): Likewise.
37809 (grub_term_input_class): New variable.
37810 (grub_term_output_class): Likewise.
37811 (grub_term_register_input): Changed to inline function.
37812 (grub_term_register_output): Likewise.
37813 (grub_term_unregister_input): Likewise.
37814 (grub_term_unregister_output): Likewise.
37815 (grub_term_set_current_input): Likewise.
37816 (grub_term_set_current_output): Likewise.
37817 (grub_term_get_current_input): Likewise.
37818 (grub_term_get_current_output): Likewise.
37819 (grub_term_iterate_input): Removed.
37820 (grub_term_iterate_output): Likewise.
37821
37822 * kern/term.c (grub_term_list_input): Removed.
37823 (grub_term_list_output): Likewise.
37824 (grub_term_input_class): New variable.
37825 (grub_term_output_class): Likewise.
37826 (grub_cur_term_input): Change variable as macro.
37827 (grub_cur_term_output): Likewise.
37828 (grub_term_register_input): Removed.
37829 (grub_term_register_output): Likewise.
37830 (grub_term_unregister_input): Likewise.
37831 (grub_term_unregister_output): Likewise.
37832 (grub_term_set_current_input): Likewise.
37833 (grub_term_set_current_output): Likewise.
37834 (grub_term_iterate_input): Likewise.
37835 (grub_term_iterate_output): Likewise.
37836 (grub_term_get_current_input): Likewise.
37837 (grub_term_get_current_output): Likewise.
37838
37839 * util/grub-editenv.c: Include header file <grub/handler.h>.
37840 (grub_term_get_current_input): Removed.
37841 (grub_term_get_current_output): Likewise.
37842 (grub_term_input_class): New variable.
37843 (grub_term_output_class): Likewise.
37844
37845 * util/grub-fstest.c (grub_term_get_current_input): Removed.
37846 (grub_term_get_current_output): Likewise.
37847 (grub_term_input_class): New variable.
37848 (grub_term_output_class): Likewise.
37849
37850 * util/grub-probe.c (grub_term_get_current_input): Removed.
37851 (grub_term_get_current_output): Likewise.
37852 (grub_term_input_class): New variable.
37853 (grub_term_output_class): Likewise.
37854
37855 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
37856 (grub_term_get_current_output): Likewise.
37857 (grub_term_input_class): New variable.
37858 (grub_term_output_class): Likewise.
37859
37860 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
37861 (terminal_mod_SOURCES): Likewise.
37862 (terminal_mod_CFLAGS): Likewise.
37863 (terminal_mod_LDFLAGS): Likewise.
37864
37865 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
37866 handler.c.
37867 (kernel_img_SOURCES): Add list.c and handler.c.
37868 (kernel_img_HEADERS): Add list.h and handler.h.
37869
37870 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
37871 handler.c.
37872 (kernel_mod_SOURCES): Add list.c and handler.c.
37873 (kernel_mod_HEADERS): Add list.h and handler.h.
37874
37875 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
37876 handler.c.
37877 (kernel_elf_SOURCES): Add list.c and handler.c.
37878 (kernel_elf_HEADERS): Add list.h and handler.h.
37879
37880 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
37881 handler.c.
37882 (kernel_elf_SOURCES): Add list.c and handler.c.
37883 (kernel_elf_HEADERS): Add list.h and handler.h.
37884
37885 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
37886 handler.c.
37887 (kernel_mod_SOURCES): Add list.c and handler.c.
37888 (kernel_mod_HEADERS): Add list.h and handler.h.
37889
37890 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
37891 handler.c.
37892 (kernel_elf_SOURCES): Add list.c and handler.c.
37893 (kernel_elf_HEADERS): Add list.h and handler.h.
37894
37895 2009-02-27 Robert Millan <rmh@aybabtu.com>
37896
37897 Factorize elf32 / elf64 code in Multiboot loader. This will
37898 prevent it from getting out of sync again.
37899
37900 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
37901 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
37902 grub_multiboot_load_elf64): Move from here ...
37903 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
37904 grub_multiboot_load_elf): ... to here (new file).
37905
37906 2009-02-27 Robert Millan <rmh@aybabtu.com>
37907
37908 * util/grub.d/10_linux.in: Rename "single-user mode" to
37909 "recovery mode".
37910
37911 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
37912
37913 Don't leak in SCSI code.
37914 * disk/scsi.c (grub_scsi_close): free `scsi'.
37915
37916 2009-02-27 Robert Millan <rmh@aybabtu.com>
37917
37918 * loader/i386/pc/multiboot.c: Move from here ...
37919 * loader/i386/multiboot.c: ... to here. Update all users.
37920
37921 2009-02-27 Robert Millan <rmh@aybabtu.com>
37922
37923 Patch from Alexandre Bique <bique.alexandre@gmail.com>
37924 * util/i386/pc/grub-setup.c (setup): Fix directory path.
37925
37926 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
37927
37928 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
37929 b-tree.
37930
37931 2009-02-27 Robert Millan <rmh@aybabtu.com>
37932
37933 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
37934 `0x' qualifier as 0 when base is specified as parameter).
37935
37936 2009-02-24 Bean <bean123ch@gmail.com>
37937
37938 * configure.ac: Check for -mcmodel=large in x86_64 target.
37939
37940 * include/grub/efi/api.h (efi_call_10): New macro.
37941 (efi_wrap_10): New function.
37942
37943 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
37944 (GRUB_PE32_REL_BASED_HIGH): Likewise.
37945 (GRUB_PE32_REL_BASED_LOW): Likewise.
37946 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
37947 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
37948 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
37949 (GRUB_PE32_REL_BASED_SECTION): Likewise.
37950 (GRUB_PE32_REL_BASED_REL): Likewise.
37951 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
37952 (GRUB_PE32_REL_BASED_DIR64): Likewise.
37953 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
37954
37955 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
37956 issue.
37957
37958 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
37959 (efi_wrap_10): New function.
37960
37961 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
37962
37963 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
37964 MB/MBP model (NV chipset).
37965 (devdata_devs): Add devpath_5 to the list.
37966
37967 * load/i386/efi/linux.c (video_base): Remove variable.
37968 (RGB_MASK): New macro.
37969 (RGB_MAGIC): Likewise.
37970 (LINE_MIN): Likewise.
37971 (LINE_MAX): Likewise.
37972 (FBTEST_STEP): Likewise.
37973 (FBTEST_COUNT): Likewise.
37974 (fb_list): New variable.
37975 (grub_find_video_card): Remove function.
37976 (find_framebuf): New function.
37977 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
37978 line length.
37979
37980 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
37981 problem for x86_64.
37982
37983 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
37984
37985 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
37986
37987 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
37988 coding tool name.
37989
37990 2009-02-22 Robert Millan <rmh@aybabtu.com>
37991
37992 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
37993 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
37994 in our relocation, instead of using it directly from heap. Also
37995 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
37996
37997 2009-02-21 Robert Millan <rmh@aybabtu.com>
37998
37999 Implement USB keyboard support (based on patch by Marco Gerards)
38000
38001 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
38002 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
38003 (usb_keyboard_mod_LDFLAGS): New variables.
38004
38005 * term/usb_keyboard.c: New file.
38006
38007 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
38008
38009 Corrected wrong declaration
38010
38011 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
38012
38013 2009-02-14 Christian Franke <franke@computer.org>
38014
38015 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
38016 (grub_lspci_iter): Print class code and programming interface byte.
38017
38018 2009-02-14 Christian Franke <franke@computer.org>
38019
38020 * gendistlist.sh: Ignore `.svn' directories.
38021
38022 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
38023
38024 * fs/fat.c: Add 2009 to Copyright line.
38025
38026 2009-02-14 Christian Franke <franke@computer.org>
38027
38028 * commands/hdparm.c: New file. Provides `hdparm' command
38029 which sends ATA commands via grub_disk_ata_pass_through ().
38030
38031 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
38032
38033 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
38034 and <grub/cpu/io.h> to include/grub/ata.h.
38035 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
38036 (GRUB_CDROM_SECTOR_SIZE): Remove.
38037 (GRUB_ATA_*): Move to include/grub/ata.h.
38038 (GRUB_ATAPI_*): Likewise.
38039 (enum grub_ata_commands): Likewise.
38040 (enum grub_ata_timeout_milliseconds): Likewise.
38041 (struct grub_ata_device): Likewise.
38042 (grub_ata_regset): Likewise.
38043 (grub_ata_regget): Likewise.
38044 (grub_ata_regset2): Likewise.
38045 (grub_ata_regget2): Likewise.
38046 (grub_ata_check_ready): Likewise.
38047 (grub_ata_wait_not_busy): Remove static, exported in
38048 include/grub/ata.h.
38049 (grub_ata_wait_drq): Likewise.
38050 (grub_ata_pio_read): Likewise.
38051
38052 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
38053 function for hdparm.mod.
38054
38055 * include/grub/ata.h: New file, contains declarations from
38056 disk/ata.c.
38057 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
38058
38059 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
38060 (grub_disk_ata_pass_through): New exported variable.
38061
38062 * kern/disk.c (grub_disk_ata_pass_through): New variable.
38063
38064 2009-02-13 Colin D Bennett <colin@gibibit.com>
38065
38066 Support multiple fallback entries, and provide an API to support
38067 executing default+fallback menu entries. Renamed the `terminal' menu
38068 viewer to `text'.
38069
38070 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
38071 variable declaration.
38072 (grub_menu_execute_callback): New structure declaration.
38073 (grub_menu_execute_callback_t): New typedef.
38074 (grub_menu_execute_with_fallback): New function declaration.
38075 (grub_menu_get_entry): Likewise.
38076 (grub_menu_get_timeout): Likewise.
38077 (grub_menu_set_timeout): Likewise.
38078
38079 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
38080
38081 * normal/menu.c (grub_wait_after_message): Moved to
38082 `normal/menu_text.c'.
38083 (draw_border): Likewise.
38084 (print_message): Likewise.
38085 (print_entry): Likewise.
38086 (print_entries): Likewise.
38087 (grub_menu_init_page): Likewise.
38088 (get_entry_number): Likewise.
38089 (print_timeout): Likewise.
38090 (run_menu): Likewise.
38091 (grub_menu_execute_entry): Likewise.
38092 (show_text_menu): Likewise.
38093 (get_and_remove_first_entry_number): New function.
38094 (grub_menu_execute_with_fallback): Likewise.
38095 (get_entry): Renamed to ...
38096 (grub_menu_get_entry): .. this and made it global.
38097 (get_timeout): Renamed to ...
38098 (grub_menu_get_timeout): ... this and made it global.
38099 (set_timeout): Renamed to ...
38100 (grub_menu_set_timeout): ... this and made it global.
38101 (grub_normal_terminal_menu_viewer): Renamed to ...
38102 (grub_normal_text_menu_viewer): ... this.
38103
38104 * normal/menu_text.c: New file. Extracted text-menu-specific code
38105 from normal/menu.c.
38106
38107 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
38108 (normal_mod_SOURCES): Likewise.
38109
38110 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38111 (normal_mod_SOURCES): Likewise.
38112
38113 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38114 (normal_mod_SOURCES): Likewise.
38115
38116 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
38117 (normal_mod_SOURCES): Likewise.
38118
38119 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38120 (normal_mod_SOURCES): Likewise.
38121
38122 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38123 (normal_mod_SOURCES): Likewise.
38124
38125 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38126 (normal_mod_SOURCES): Likewise.
38127
38128 2009-02-11 Robert Millan <rmh@aybabtu.com>
38129
38130 * util/grub.d/00_header.in: Update old reference to `font' command.
38131
38132 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
38133
38134 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
38135
38136 Based on patch from Javier Martín.
38137
38138 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
38139
38140 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
38141 to avoid false positives with FAT.
38142 (grub_fstest_SOURCES): Likewise.
38143 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38144 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38145 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38146 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38147 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38148 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38149
38150 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
38151
38152 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
38153 bpb.version_specific.fat12_or_fat16.fstype and
38154 bpb.version_specific.fat32.fstype.
38155
38156 2009-02-08 Robert Millan <rmh@aybabtu.com>
38157
38158 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
38159
38160 2009-02-08 Robert Millan <rmh@aybabtu.com>
38161
38162 * Makefile.in (host_os, host_cpu): New variables.
38163 (target_os): Remove. Update all users.
38164
38165 2009-02-08 Marco Gerards <marco@gnu.org>
38166
38167 * Makefile.in (enable_grub_emu_usb): New variable.
38168 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
38169 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
38170 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
38171 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
38172 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
38173 `usbtest.mod' and `usbms.mod'.
38174 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
38175 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
38176 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
38177 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
38178 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
38179 variables.
38180
38181 * disk/usbms.c: New file.
38182
38183 * include/grub/usb.h: Likewise.
38184
38185 * include/grub/usbtrans.h: Likewise.
38186
38187 * include/grub/usbdesc.h: Likewise.
38188
38189 * bus/usb/usbtrans.c: Likewise.
38190
38191 * bus/usb/ohci.c: Likewise.
38192
38193 * bus/usb/uhci.c: Likewise.
38194
38195 * bus/usb/usbhub.c: Likewise.
38196
38197 * bus/usb/usb.c: Likewise.
38198
38199 * commands/usbtest.c: Likewise.
38200
38201 * util/usb.c: Likewise.
38202
38203 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
38204
38205 * configure.ac: Test for libusb presence.
38206
38207 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
38208
38209 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
38210
38211 * kern/mm.c: Add more comments.
38212
38213 2009-02-08 Robert Millan <rmh@aybabtu.com>
38214
38215 Patch from Javier Martín.
38216 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
38217 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
38218
38219 2009-02-08 Robert Millan <rmh@aybabtu.com>
38220
38221 * fs/cpio.c: Split tar functionality to ...
38222 * fs/tar.c: ... here (new file). Update all users.
38223
38224 2009-02-07 Robert Millan <rmh@aybabtu.com>
38225
38226 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
38227 backward-incompatible features.
38228
38229 Based on patch from Javier Martín, with some adjustments.
38230
38231 2009-02-07 Michael Scherer <misc@mandriva.org>
38232
38233 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
38234
38235 2009-02-07 Robert Millan <rmh@aybabtu.com>
38236
38237 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
38238 position of `disk/lvm.c' to ensure grub_init_all() always picks it
38239 after the RAID stuff.
38240
38241 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
38242
38243 Fixes problem when running vbetest command as reported by
38244 Vladimir Serbinenko <phcoder@gmail.com>.
38245
38246 * (grub_vbe_set_video_mode): Fixed problem with text modes.
38247
38248 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
38249
38250 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
38251 /dev/md/NpN style mdraid devices.
38252
38253 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
38254
38255 * util/unifont2pff.rb: Remove.
38256
38257 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
38258
38259 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
38260 `#'.
38261
38262 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
38263
38264 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
38265 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38266 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38267 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38268 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38269 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38270 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38271
38272 2009-02-02 Christian Franke <franke@computer.org>
38273
38274 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
38275
38276 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
38277
38278 * INSTALL: Note that we now require at least autoconf 2.59 and
38279 that LZO is optional.
38280
38281 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
38282
38283 Base on patch on bug #24154 created by Tomas Tintera
38284 <trosos@seznam.cz>.
38285
38286 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
38287
38288 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
38289
38290 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
38291 <bero@arklinux.org>.
38292
38293 * normal/parser.y (script_init): Add missing semicolon.
38294
38295 2009-01-31 Colin D Bennett <colin@gibibit.com>
38296
38297 * normal/main.c: Add include to grub/menu_viewer.h.
38298 (free_menu_entry_classes): Added.
38299 (grub_normal_menu_addentry): Added class property handling.
38300 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
38301 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
38302
38303 * normal/menu_viewer.c: New file.
38304
38305 * normal/menu.c (run_menu_entry): Renamed to ...
38306 (grub_menu_execute_entry): ... this and made it as global.
38307 (grub_menu_run): Renamed to ...
38308 (show_text_menu): ... this and made it local.
38309 (show_text_menu): Adapt to new function names.
38310 (grub_normal_terminal_menu_viewer): New global variable.
38311
38312 * include/grub/menu.h: New file.
38313
38314 * include/grub/menu_viewer.h: New file.
38315
38316 * include/grub/normal.h: Added include to grub/menu.h.
38317 (grub_menu_entry): Moved to include/grub/menu.h.
38318 (grub_menu_entry_t): Likewise.
38319 (grub_menu): Likewise.
38320 (grub_menu_t): Likewise.
38321 (grub_normal_terminal_menu_viewer): Added.
38322 (grub_menu_execute_entry): Likewise.
38323 (grub_menu_run): Removed.
38324
38325 * DISTLIST: Added include/grub/menu.h.
38326 Added include/grub/menu_viewer.h.
38327 Added normal/menu_viewer.c.
38328
38329 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
38330
38331 * normal/execute.c (grub_script_execute_menuentry): Changed to use
38332 arglist for menutitle arguments.
38333
38334 * normal/main.c (grub_normal_menu_addentry): Likewise.
38335
38336 * normal/parser.y (menuentry): Likewise.
38337
38338 * normal/script.c (grub_script_create_cmdmenu): Likewise.
38339
38340 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
38341 (grub_script_create_cmdmenu): Likewise.
38342
38343 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
38344
38345 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
38346 changes.
38347
38348 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
38349
38350 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
38351
38352 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
38353
38354 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
38355
38356 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
38357
38358 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
38359
38360 2009-01-30 Christian Franke <franke@computer.org>
38361
38362 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
38363 in option help text.
38364
38365 2009-01-27 Pavel Roskin <proski@gnu.org>
38366
38367 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
38368
38369 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
38370
38371 * commands/lsmmap.c: Add include to grub/machine/memory.h.
38372
38373 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
38374
38375 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
38376 unregister function.
38377
38378 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
38379
38380 * disk/scsi.c (grub_scsi_read): Fix sign problem.
38381
38382 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
38383
38384 * util/grub-mkfont.c (usage): Fix typo.
38385
38386 * util/elf/grub-mkimage.c (load_modules): Fix warning.
38387
38388 2009-01-26 Daniel Mierswa <impulze@impulze.org>
38389
38390 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
38391
38392 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
38393
38394 * kern/misc.c (grub_strcasecmp): New function.
38395 (grub_strcasecmp): Use grub_size_t instead of int for length.
38396 Fix return value.
38397 * include/grub/misc.h: Update function prototypes.
38398
38399 2009-01-26 Robert Millan <rmh@aybabtu.com>
38400
38401 * configure.ac: Fix cross-compilation check.
38402
38403 2009-01-22 Christian Franke <franke@computer.org>
38404
38405 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
38406 (precision) digit string. Allow `.format2' without `format1' (width).
38407 Limit input chars for `%s' output to `format2' if specified. This is
38408 compatible with standard printf ().
38409
38410 2009-01-22 Christian Franke <franke@computer.org>
38411
38412 * disk/ata.c (grub_ata_wait_status): Replace by ...
38413 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
38414 other status bits may be invalid while BSY is asserted.
38415 (grub_ata_check_ready): New function.
38416 (grub_ata_cmd): Removed.
38417 (grub_ata_wait_drq): New function.
38418 (grub_ata_strncpy): Remove inline.
38419 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
38420 and error check now done by grub_ata_wait_drq ().
38421 (grub_ata_pio_write): Likewise.
38422 (grub_atapi_identify): Set DEV before check for !BSY. Use
38423 grub_ata_wait_drq () to wait for data.
38424 (grub_ata_device_initialize): Add status register check to
38425 detect missing SATA slave devices. Add debug messages.
38426 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
38427 (grub_atapi_packet): Set DEV before check for !BSY. Replace
38428 transfer loop by grub_ata_pio_write ().
38429 (grub_ata_identify): Set DEV before check for !BSY. Use
38430 grub_ata_wait_drq () to wait for data.
38431 (grub_ata_setaddress): Set DEV before check for !BSY.
38432 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
38433 read/write in one loop. Fix invalid command on write. Fix incomplete
38434 command on (size % batch) == 0. Add missing error check after write of
38435 last block. Add debug messages.
38436 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
38437
38438 2009-01-19 Christian Franke <franke@computer.org>
38439
38440 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
38441 (GRUB_ATAPI_IREASON_*): Likewise.
38442 (grub_ata_pio_write): Fix timeout error return.
38443 (grub_atapi_identify): Add grub_ata_wait () after cmd.
38444 (grub_atapi_wait_drq): New function.
38445 (grub_atapi_packet): New parameter `size'.
38446 Use grub_atapi_wait_drq () and direct write instead of
38447 grub_ata_pio_write ().
38448 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
38449 reads the number of bytes requested by the device for each DRQ
38450 assertion.
38451 (grub_atapi_write): Remove old implementation, return not
38452 implemented instead.
38453
38454 2009-01-19 Christian Franke <franke@computer.org>
38455
38456 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
38457 of 512 to calculate data size.
38458 (grub_scsi_read12): Likewise.
38459 (grub_scsi_write10): Likewise.
38460 (grub_scsi_write12): Likewise.
38461 (grub_scsi_read): Adjust size according to blocksize.
38462 Add checks for invalid blocksize and unaligned transfer.
38463
38464 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
38465
38466 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
38467
38468 * term/gfxterm.c (write_char): Fix background rendering for wide
38469 width glyphs.
38470
38471 2009-01-19 Robert Millan <rmh@aybabtu.com>
38472
38473 * config.guess: Update to latest version from config git.
38474 * config.sub: Likewise.
38475
38476 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
38477
38478 * Makefile.in: Change font compilation to use new grub-mkfont instead
38479 of java version.
38480
38481 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
38482 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
38483 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
38484 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
38485 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
38486 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
38487 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
38488 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
38489 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
38490
38491 2009-01-16 Christian Franke <franke@computer.org>
38492
38493 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
38494 (enum grub_ata_timeout_milliseconds): New enum.
38495 (grub_ata_wait_status): Add parameter milliseconds.
38496 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
38497 recovery from timed-out commands.
38498 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
38499 return grub_errno instead of REG_ERROR.
38500 (grub_ata_pio_write): Add parameter milliseconds.
38501 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
38502 Pass milliseconds to grub_ata_wait_status () and
38503 grub_ata_pio_read ().
38504 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
38505 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
38506 grub_ata_wait_status (). Fix IDENTIFY timeout check.
38507 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
38508 It is not suitable for device detection, because DEV bit is ignored,
38509 the command may run too long, and not all devices set the signature
38510 properly.
38511 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
38512 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
38513 Fix device selection, DEV bit must be set first to address the registers
38514 of the correct device.
38515 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
38516 grub_ata_pio_read/write ().
38517 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
38518 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
38519
38520 2009-01-13 Carles Pina i Estany <carles@pina.cat>
38521
38522 * util/grub-editenv.c (main): Use fseeko(), not fseek().
38523
38524 2009-01-13 Bean <bean123ch@gmail.com>
38525
38526 * util/grub-mkfont.c (write_font): forget to remove some debug code.
38527
38528 2009-01-13 Bean <bean123ch@gmail.com>
38529
38530 * Makefile.in: (enable_grub_mkfont): New variable.
38531 (freetype_cflags): Likewise.
38532 (freetype_libs): Likewise.
38533
38534 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
38535 (grub_mkfont_SOURCES): New variable.
38536 (grub_mkfont_CFLAGS): Likewise.
38537 (grub_mkfont_LDFLAGS): Likewise.
38538
38539 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
38540 library if `--enable-grub-mkfont' is requested.
38541 (enable_grub_mkfont): New variable.
38542 (freetype_cflags): Likewise.
38543 (freetype_libs): Likewise.
38544
38545 * util/grub-mkfont.c: New file.
38546
38547 2009-01-12 Christian Franke <franke@computer.org>
38548
38549 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
38550 mode check. Fix setting of compat_use[].
38551
38552 2009-01-10 Robert Millan <rmh@aybabtu.com>
38553
38554 Update a few copyright years which we forgot to do in 2008 (only for
38555 files whose changes made in 2008 were copyright-significant)
38556
38557 * Makefile.in: Add 2008 to Copyright line.
38558 * disk/ieee1275/ofdisk.c: Likewise.
38559 * disk/efi/efidisk.c: Likewise.
38560 * kern/dl.c: Likewise.
38561 * kern/sparc64/ieee1275/init.c: Likewise.
38562 * kern/mm.c: Likewise.
38563 * kern/efi/mm.c: Likewise.
38564 * boot/i386/pc/boot.S: Likewise.
38565 * genfslist.sh: Likewise.
38566 * fs/iso9660.c: Likewise.
38567 * fs/hfs.c: Likewise.
38568 * fs/jfs.c: Likewise.
38569 * fs/minix.c: Likewise.
38570 * fs/ufs.c: Likewise.
38571 * gensymlist.sh.in: Likewise.
38572 * genkernsyms.sh.in: Likewise.
38573 * include/grub/misc.h: Likewise.
38574 * include/grub/types.h: Likewise.
38575 * include/grub/symbol.h: Likewise.
38576 * include/grub/elf.h: Likewise.
38577 * include/grub/kernel.h: Likewise.
38578 * include/grub/disk.h: Likewise.
38579 * include/grub/dl.h: Likewise.
38580 * include/grub/i386/linux.h: Likewise.
38581 * include/grub/i386/pc/biosdisk.h: Likewise.
38582 * include/grub/efi/api.h: Likewise.
38583 * include/grub/efi/pe32.h: Likewise.
38584 * include/grub/util/misc.h: Likewise.
38585 * normal/execute.c: Likewise.
38586 * normal/arg.c: Likewise.
38587 * normal/completion.c: Likewise.
38588 * normal/lexer.c: Likewise.
38589 * normal/parser.y: Likewise.
38590 * normal/misc.c: Likewise.
38591 * commands/i386/pc/vbeinfo.c: Likewise.
38592 * commands/hexdump.c: Likewise.
38593 * commands/terminal.c: Likewise.
38594 * commands/ls.c: Likewise.
38595 * commands/help.c: Likewise.
38596 * partmap/pc.c: Likewise.
38597 * loader/efi/chainloader.c: Likewise.
38598 * loader/multiboot_loader.c: Likewise.
38599 * loader/i386/pc/multiboot2.c: Likewise.
38600 * term/efi/console.c: Likewise.
38601 * term/i386/pc/serial.c: Likewise.
38602 * util/lvm.c: Likewise.
38603 * util/console.c: Likewise.
38604 * util/i386/efi/grub-mkimage.c: Likewise.
38605 * util/raid.c: Likewise.
38606
38607 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
38608
38609 * commands/videotest.c: Removed include to grub/machine/memory.h.
38610
38611 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
38612 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
38613 (video_mod_SOURCES): Removed.
38614 (video_mod_CFLAGS): Likewise.
38615 (video_mod_LDFLAGS): Likewise.
38616 (gfxterm_mod_SOURCES): Likewise.
38617 (gfxterm_mod_CFLAGS): Likewise.
38618 (gfxterm_mod_LDFLAGS): Likewise.
38619 (videotest_mod_SOURCES): Likewise.
38620 (videotest_mod_CFLAGS): Likewise.
38621 (videotest_mod_LDFLAGS): Likewise.
38622 (bitmap_mod_SOURCES): Likewise.
38623 (bitmap_mod_CFLAGS): Likewise.
38624 (bitmap_mod_LDFLAGS): Likewise.
38625 (tga_mod_SOURCES): Likewise.
38626 (tga_mod_CFLAGS): Likewise.
38627 (tga_mod_LDFLAGS): Likewise.
38628 (jpeg_mod_SOURCES): Likewise.
38629 (jpeg_mod_CFLAGS): Likewise.
38630 (jpeg_mod_LDFLAGS): Likewise.
38631 (png_mod_SOURCES): Likewise.
38632 (png_mod_CFLAGS): Likewise.
38633 (png_mod_LDFLAGS): Likewise.
38634
38635 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
38636 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
38637 (video_mod_SOURCES): Added.
38638 (video_mod_CFLAGS): Likewise.
38639 (video_mod_LDFLAGS): Likewise.
38640 (videotest_mod_SOURCES): Likewise.
38641 (videotest_mod_CFLAGS): Likewise.
38642 (videotest_mod_LDFLAGS): Likewise.
38643 (bitmap_mod_SOURCES): Likewise.
38644 (bitmap_mod_CFLAGS): Likewise.
38645 (bitmap_mod_LDFLAGS): Likewise.
38646 (tga_mod_SOURCES): Likewise.
38647 (tga_mod_CFLAGS): Likewise.
38648 (tga_mod_LDFLAGS): Likewise.
38649 (jpeg_mod_SOURCES): Likewise.
38650 (jpeg_mod_CFLAGS): Likewise.
38651 (jpeg_mod_LDFLAGS): Likewise.
38652 (png_mod_SOURCES): Likewise.
38653 (png_mod_CFLAGS): Likewise.
38654 (png_mod_LDFLAGS): Likewise.
38655 (gfxterm_mod_SOURCES): Likewise.
38656 (gfxterm_mod_CFLAGS): Likewise.
38657 (gfxterm_mod_LDFLAGS): Likewise.
38658
38659 * term/gfxterm.c: Removed include to grub/machine/memory.h,
38660 grub/machine/console.h.
38661
38662 2009-01-04 Jerone Young <jerone@gmail.com>
38663
38664 Make on screen instructions clearer
38665
38666 Based on patch created by Jidanni <jidanni@jidanni.org>
38667
38668 * normal/menu.c: print clearer instructions on the screen
38669
38670 2009-01-02 Colin D Bennett <colin@gibibit.com>
38671
38672 New font engine.
38673
38674 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
38675 build system and fixed gfxterm.c to work with different sized fonts.
38676
38677 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
38678
38679 * configure: Re-generated.
38680
38681 * DISTLIST: Removed font/manager.c.
38682 Added font/font.c.
38683 Added font/font_cmd.c.
38684
38685 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
38686 compilation.
38687
38688 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
38689
38690 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
38691
38692 * kern/term.c: Changed users of grub_utf8_to_ucs4.
38693
38694 * normal/menu.c: Likewise.
38695
38696 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
38697 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
38698
38699 * include/grub/font.h: Replaced with new file.
38700
38701 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
38702 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
38703 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
38704 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
38705 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
38706 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
38707 fg_red, fg_green, fg_blue, fg_alpha.
38708 (grub_video_adapter): Removed blit_glyph.
38709 (grub_video_blit_glyph): Removed.
38710
38711 * font/manager.c: Removed file.
38712
38713 * font/font.c: New file.
38714
38715 * font/font_cmd.c: Likewise.
38716
38717 * video/video.c (grub_video_blit_glyph): Removed.
38718
38719 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
38720 (grub_video_vbe_map_rgba): Likewise.
38721 (grub_video_vbe_unmap_color_int): Likewise.
38722 (grub_video_vbe_blit_glyph): Removed.
38723 (grub_video_vbe_adapter): Removed blit_glyph.
38724
38725 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
38726 (get_pixel): Likewise.
38727 (set_pixel): Likewise.
38728
38729 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
38730
38731 * term/gfxterm.c: Adapted to new font engine.
38732
38733 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
38734
38735 * term/i386/pc/vga.c: Likewise.
38736
38737 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
38738
38739 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
38740
38741 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
38742
38743 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
38744
38745 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
38746
38747 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
38748
38749 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
38750
38751 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
38752
38753 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
38754
38755 * util/grub.d/00_header.in: Changed to use new loadfont command.
38756
38757 * util/grub-mkconfig_lib.in: Changed font extension.
38758
38759 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
38760
38761 * util/getroot.c (grub_util_get_grub_dev): Add support for
38762 /dev/md/dNNpNN style partitionable mdraid devices.
38763
38764 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
38765
38766 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
38767 at a time limit of the PXE TFTP API correctly.
38768 (grub_pxefs_close): Likewise.
38769
38770 2008-11-29 Robert Millan <rmh@aybabtu.com>
38771
38772 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
38773 grub_ata_device_initialize() calls.
38774
38775 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
38776
38777 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
38778 iteration failed.
38779 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
38780
38781 2008-11-28 Robert Millan <rmh@aybabtu.com>
38782
38783 Fix build on powerpc-ieee1275. Based on patch created by
38784 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
38785 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38786 `kern/ieee1275/mmap.c'.
38787 * include/grub/powerpc/ieee1275/memory.h: New file.
38788
38789 Provide grub-install on coreboot.
38790 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
38791 (grub_install_SOURCES): New variable.
38792 * util/i386/pc/grub-install.in: Add a few condition checks to make it
38793 usable on coreboot.
38794
38795 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
38796
38797 * util/grub-fstest.c (grub_term_get_current_input): Change return type
38798 to `grub_term_input_t'.
38799 (grub_term_get_current_output): Change return type to
38800 `grub_term_output_t'.
38801
38802 2008-11-22 Robert Millan <rmh@aybabtu.com>
38803
38804 Fix breakage on coreboot due to declaration mismatch.
38805 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
38806 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
38807 grub_vga_text_cls().
38808
38809 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
38810 comments. Avoid copying one more byte than necessary (just in case).
38811
38812 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
38813 to 0x200000 (avoids trouble with some OFW implementations, and matches
38814 with the one in Yaboot).
38815 Reported by Manoel Abranches
38816
38817 2008-11-20 Robert Millan <rmh@aybabtu.com>
38818
38819 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
38820 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
38821
38822 * util/grub-mkconfig_lib.in (grub_warn): New function.
38823 (convert_system_path_to_grub_path): Use grub_warn() when issuing
38824 warnings, to obtain consistent formatting.
38825 * util/grub.d/00_header.in: Likewise.
38826 * util/update-grub_lib.in: Likewise.
38827
38828 * loader/i386/linux.c (allocate_pages): Fix a warning.
38829 Move comment text to `#error' stanza.
38830
38831 Harmonize ieee1275's grub_available_iterate() with the generic
38832 grub_machine_mmap_iterate() interface (fixes a recently-introduced
38833 build problem on i386-ieee1275):
38834 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
38835 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
38836 parameter `type'. Update all users of this function.
38837 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
38838 `kern/ieee1275/mmap.c'.
38839 * kern/ieee1275/init.c
38840 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
38841 with ...
38842 (grub_machine_mmap_iterate): ... this.
38843 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
38844 return type to `grub_err_t'. Update all implementations of this
38845 function prototype.
38846 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
38847 Likewise.
38848
38849 Add `lsmmap' command (lists firmware-provided memory map):
38850 * commands/lsmmap.c: New file.
38851 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
38852 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
38853 variables.
38854 * conf/powerpc-ieee1275.rmk: Likewise.
38855 * conf/i386-coreboot.rmk: Likewise.
38856 * conf/i386-ieee1275.rmk: Likewise.
38857
38858 2008-11-19 Robert Millan <rmh@aybabtu.com>
38859
38860 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
38861 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
38862 constraints to initrd allocation (based on code from
38863 loader/i386/pc/linux.c). Without them, initrd was allocated too high
38864 for Linux to find it.
38865
38866 2008-11-14 Robert Millan <rmh@aybabtu.com>
38867
38868 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
38869 order to cope with duplicate slashes.
38870
38871 2008-11-14 Robert Millan <rmh@aybabtu.com>
38872
38873 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
38874 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
38875 don't want to mess with lower memory, because it is used in the Linux
38876 loader.
38877
38878 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
38879 an appropriate place in lower memory, between 0x10000 and 0x90000,
38880 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
38881 is in our heap (probably as a result of it being corrupted during
38882 decompression). Add #error instance with comment to explain why this
38883 loader isn't currently usable on PC/BIOS.
38884
38885 2008-11-14 Robert Millan <rmh@aybabtu.com>
38886
38887 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
38888 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
38889
38890 2008-11-12 Robert Millan <rmh@aybabtu.com>
38891
38892 Make loader/i386/linux.c buildable on i386-pc (although disabled).
38893
38894 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
38895 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
38896 from here ...
38897 * include/grub/i386/pc/memory.h: ... to here.
38898
38899 2008-11-12 Robert Millan <rmh@aybabtu.com>
38900
38901 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
38902 split).
38903
38904 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
38905 (grub_console_cur_color, grub_console_real_putchar)
38906 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
38907 (grub_console_setcolorstate, grub_console_setcolor)
38908 (grub_console_getcolor): Move from here ...
38909 * include/grub/i386/vga_common.h: ... to here (new file).
38910
38911 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
38912 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
38913 `<grub/i386/io.h>'.
38914 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
38915 `<grub/i386/vga_common.h>'.
38916
38917 2008-11-12 Robert Millan <rmh@aybabtu.com>
38918
38919 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
38920 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
38921 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
38922 variables.
38923 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
38924 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
38925
38926 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
38927 grub_console_init() with call to grub_vga_text_init().
38928 (grub_machine_fini): Replace call to
38929 grub_console_fini() with call to grub_vga_text_fini() and
38930 grub_at_keyboard_fini().
38931
38932 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
38933 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
38934 (grub_console_setcolorstate, grub_console_setcolor)
38935 (grub_console_getcolor): New function prototypes.
38936
38937 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
38938 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
38939 (grub_vga_text_setcursor): Static-ize.
38940 (grub_vga_text_term): New structure.
38941 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
38942
38943 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
38944 (grub_console_cur_color, grub_console_standard_color)
38945 (grub_console_normal_color, grub_console_highlight_color)
38946 (map_char, grub_console_putchar, grub_console_getcharwidth)
38947 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
38948 (grub_console_getcolor): Move from here ...
38949 * term/i386/vga_common.c: ... to here (same function names).
38950
38951 2008-11-12 Robert Millan <rmh@aybabtu.com>
38952
38953 Use newly-added Multiboot support in coreboot.
38954
38955 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
38956 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
38957
38958 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
38959 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
38960 (codestart): Store the MBI in `startup_multiboot_info' when we're
38961 being loaded using Multiboot.
38962
38963 * kern/i386/coreboot/init.c (grub_machine_init): Move
38964 grub_at_keyboard_init() call to beginning of function (useful for
38965 debugging). Call grub_machine_mmap_init() before attempting to use
38966 grub_machine_mmap_iterate().
38967 (grub_lower_mem, grub_upper_mem): Move from here ...
38968 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
38969 here (new file).
38970
38971 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
38972 function prototype.
38973
38974 2008-11-12 Robert Millan <rmh@aybabtu.com>
38975
38976 Fix a regression introduced by the at_keyboard.mod split. Because
38977 some terminals are default on some platforms and non-default on
38978 others, the first terminal being registered determines which is
38979 going to be default.
38980
38981 * kern/term.c (grub_term_register_input): If this is the first
38982 terminal being registered, set it as the current one.
38983 (grub_term_register_output): Likewise.
38984
38985 * term/efi/console.c (grub_console_init): Do not call
38986 grub_term_set_current_output() or grub_term_set_current_input().
38987 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
38988 * term/i386/pc/console.c (grub_console_init): Likewise.
38989 (grub_console_fini): Do not call grub_term_set_current_input()
38990 (but leave grub_term_set_current_output() to restore text mode).
38991
38992 2008-11-10 Robert Millan <rmh@aybabtu.com>
38993
38994 * util/grub.d/00_header.in: Add backward compatibility check for
38995 versions of terminal.mod that don't understand `terminal_input' or
38996 `terminal_output'.
38997
38998 2008-11-09 Robert Millan <rmh@aybabtu.com>
38999
39000 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
39001 `terminal_input' / `terminal_output', not `terminal'.
39002
39003 2008-11-08 Robert Millan <rmh@aybabtu.com>
39004
39005 * Makefile.in (include_DATA): Fix srcdir=. assumption.
39006 (DISTCLEANFILES): Add `build_env.mk'.
39007
39008 2008-11-08 Robert Millan <rmh@aybabtu.com>
39009
39010 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
39011 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
39012 members. Update all users.
39013 * util/console.c (grub_ncurses_term): Split in ...
39014 (grub_ncurses_term_input): ... this, and ...
39015 (grub_ncurses_term_output): ... this. Update all users.
39016 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
39017
39018 2008-11-08 Robert Millan <rmh@aybabtu.com>
39019
39020 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
39021 (PKGDATA): Add $(pkgdata_SRCDIR).
39022 (pkglib_BUILDDIR): New variable.
39023 (pkgdata_SRCDIR): New variable.
39024 (build_env.mk): New target.
39025 (include_DATA): New variable.
39026 (install-local): Install $(include_DATA) files in $(includedir).
39027
39028 2008-11-07 Pavel Roskin <proski@gnu.org>
39029
39030 * gendistlist.sh: Use C locale for sorting to ensure consistent
39031 output on all systems.
39032
39033 * util/grub.d/00_header.in: Remove incorrect space before
39034 "serial".
39035
39036 2008-11-07 Robert Millan <rmh@aybabtu.com>
39037
39038 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
39039 per specification.
39040 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
39041 * loader/multiboot_loader.c (find_multi_boot2_header): New function
39042 (based on find_multi_boot1_header).
39043 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
39044 using find_multi_boot2_header(), and abort if neither Multiboot or
39045 Multiboot headers were found.
39046
39047 2008-11-07 Robert Millan <rmh@aybabtu.com>
39048
39049 Modularize at_keyboard.mod:
39050
39051 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
39052 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
39053 (at_keyboard_mod_LDFLAGS): New variables.
39054
39055 Actual terminal split:
39056
39057 * include/grub/term.h (struct grub_term): Split in ...
39058 (struct grub_term_input): ... this, and ...
39059 (struct grub_term_output): ... this. Update all users.
39060 (grub_term_set_current): Split in ...
39061 (grub_term_set_current_input): ... this, and ...
39062 (grub_term_set_current_output): ... this.
39063 (grub_term_get_current): Split in ...
39064 (grub_term_get_current_input): ... this, and ...
39065 (grub_term_get_current_output): ... this.
39066 (grub_term_register): Split in ...
39067 (grub_term_register_input): ... this, and ...
39068 (grub_term_register_output): ... this.
39069 (grub_term_unregister): Split in ...
39070 (grub_term_unregister_input): ... this, and ...
39071 (grub_term_unregister_output): ... this.
39072 (grub_term_iterate): Split in ...
39073 (grub_term_iterate_input): ... this, and ...
39074 (grub_term_iterate_output): ... this.
39075
39076 * kern/term.c (grub_term_list): Split in ...
39077 (grub_term_list_input): ... this, and ...
39078 (grub_term_list_output): ... this. Update all users.
39079 (grub_cur_term): Split in ...
39080 (grub_cur_term_input): ... this, and ...
39081 (grub_cur_term_output): ... this. Update all users.
39082 (grub_term_set_current): Split in ...
39083 (grub_term_set_current_input): ... this, and ...
39084 (grub_term_set_current_output): ... this.
39085 (grub_term_get_current): Split in ...
39086 (grub_term_get_current_input): ... this, and ...
39087 (grub_term_get_current_output): ... this.
39088 (grub_term_register): Split in ...
39089 (grub_term_register_input): ... this, and ...
39090 (grub_term_register_output): ... this.
39091 (grub_term_unregister): Split in ...
39092 (grub_term_unregister_input): ... this, and ...
39093 (grub_term_unregister_output): ... this.
39094 (grub_term_iterate): Split in ...
39095 (grub_term_iterate_input): ... this, and ...
39096 (grub_term_iterate_output): ... this.
39097
39098 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
39099 a check for input and one for output (and only attempt to get keys
39100 from user when input works).
39101
39102 * util/grub-probe.c (grub_term_get_current): Split in ...
39103 (grub_term_get_current_input): ... this, and ...
39104 (grub_term_get_current_output): ... this.
39105 * util/grub-fstest.c: Likewise.
39106 * util/i386/pc/grub-setup.c: Likewise.
39107 * util/grub-editenv.c: Likewise.
39108
39109 Portability adjustments:
39110
39111 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
39112 `term/i386/pc/at_keyboard.c'.
39113 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
39114 grub_keyboard_controller_init() (now handled by terminal .init).
39115 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
39116 grub_at_keyboard_init().
39117 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
39118 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
39119 at_keyboard.mod via input terminal interface).
39120 * include/grub/i386/coreboot/console.h: Convert into a stub for
39121 `<grub/i386/pc/console.h>'.
39122
39123 Migrate full terminals to new API:
39124
39125 * term/efi/console.c (grub_console_term): Split into ...
39126 (grub_console_term_input): ... this, and ...
39127 (grub_console_term_output): ... this. Update all users.
39128 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
39129 (grub_ofconsole_init): Split into ...
39130 (grub_ofconsole_init_input): ... this, and ...
39131 (grub_ofconsole_init_output): ... this.
39132 (grub_ofconsole_term): Split into ...
39133 (grub_ofconsole_term_input): ... this, and ...
39134 (grub_ofconsole_term_output): ... this. Update all users.
39135 * term/i386/pc/serial.c (grub_serial_term): Split into ...
39136 (grub_serial_term_input): ... this, and ...
39137 (grub_serial_term_output): ... this. Update all users.
39138 * term/i386/pc/console.c (grub_console_term): Split into ...
39139 (grub_console_term_input): ... this, and ...
39140 (grub_console_term_output): ... this. Update all users.
39141 (grub_console_term_input): Only enable it on PC/BIOS platform.
39142 (grub_console_init): Remove grub_keyboard_controller_init() call.
39143
39144 Migrate input terminals to new API:
39145
39146 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
39147 `i386' and `i386/pc' to enable build on x86_64 (this driver is
39148 i386-specific anyway).
39149 (grub_console_checkkey): Rename to ...
39150 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
39151 users.
39152 (grub_keyboard_controller_orig): New variable.
39153 (grub_console_getkey): Rename to ...
39154 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
39155 users.
39156 (grub_keyboard_controller_init): Static-ize. Save original
39157 controller value so that it can be restored ...
39158 (grub_keyboard_controller_fini): ... here (new function).
39159 (grub_at_keyboard_term): New structure.
39160 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
39161 functions.
39162
39163 Migrate output terminals to new API:
39164
39165 * term/i386/pc/vga.c (grub_vga_term): Change type to
39166 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
39167 members. Update all users.
39168 * term/gfxterm.c (grub_video_term): Change type to
39169 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
39170 members. Update all users.
39171 * include/grub/i386/pc/console.h (grub_console_checkkey)
39172 (grub_console_getkey): Do not export (no longer needed by gfxterm,
39173 etc).
39174
39175 Migrate `terminal' command and userland tools to new API:
39176
39177 * commands/terminal.c (grub_cmd_terminal): Split into ...
39178 (grub_cmd_terminal_input): ... this, and ...
39179 (grub_cmd_terminal_output): ... this.
39180 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
39181 `terminal_input' and `terminal_output'.
39182 * util/grub.d/00_header.in: Adjust `terminal' calls to new
39183 `terminal_input' / `terminal_output' API.
39184 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
39185 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
39186 provided ${GRUB_TERMINAL}, convert it).
39187
39188 2008-11-04 Robert Millan <rmh@aybabtu.com>
39189
39190 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
39191 for FreeBSD.
39192 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
39193
39194 2008-11-03 Bean <bean123ch@gmail.com>
39195
39196 * kern/elf.c (grub_elf32_load): Revert to previous code.
39197 (grub_elf64_load): Likewise.
39198
39199 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
39200
39201 2008-11-01 Robert Millan <rmh@aybabtu.com>
39202
39203 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
39204 (TARGET_CPPFLAGS): Likewise.
39205 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
39206
39207 2008-11-01 Carles Pina i Estany <carles@pina.cat>
39208
39209 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
39210
39211 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
39212
39213 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
39214 addition of objects until the code is not going to be able to fail.
39215
39216 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
39217
39218 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
39219 (add a missing NULL check, and correct them by moving the pointer
39220 operations after the actual check).
39221
39222 2008-10-29 Robert Millan <rmh@aybabtu.com>
39223
39224 * util/i386/pc/grub-install.in: Handle empty string as output from
39225 make_system_path_relative_to_its_root().
39226
39227 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
39228
39229 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
39230 circular metadata worst case scenario. If the metadata is circular
39231 then copy the wrap in place.
39232 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
39233 project lib/format_text/layout.h
39234 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
39235
39236 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
39237
39238 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
39239
39240 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
39241
39242 * util/update-grub_lib.in: Mention filename in warning message.
39243
39244 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
39245
39246 * NEWS: Update for rename of update-grub to grub-mkconfig.
39247
39248 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
39249
39250 * util/update-grub_lib.in: Copy to ...
39251 * util/grub-mkconfig_lib.in: ... this. Update all users.
39252 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
39253 * util/update-grub.in: Rename to ...
39254 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
39255 option. Add `--output' option to allow users to specify the generated
39256 configuration file. Default to stdout.
39257 (update_grub_dir): Rename to ...
39258 (grub_mkconfig_dir): ... this.
39259 (grub_cfg): Default to an empty string.
39260 * conf/common.rmk (update-grub): Rename to ...
39261 (grub-mkconfig): ... this.
39262 (update-grub_lib): Copy to ...
39263 (grub-mkconfig_lib): ... this.
39264 (update-grub_SCRIPTS): Copy to ...
39265 (grub-mkconfig_SCRIPTS): ... this. Update all users.
39266 (update-grub_DATA): Rename to ...
39267 (grub-mkconfig_DATA): ... this.
39268
39269 2008-09-28 Robert Millan <rmh@aybabtu.com>
39270
39271 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
39272 to `modified'. Add the real `created' field.
39273 (grub_iso9660_uuid): Use `modified' rather than `created' for
39274 constructing the UUID.
39275
39276 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
39277
39278 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
39279 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
39280
39281 2008-09-28 Bean <bean123ch@gmail.com>
39282
39283 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
39284 Thanks to Christian Franke for finding this bug.
39285
39286 2008-09-25 Robert Millan <rmh@aybabtu.com>
39287
39288 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
39289 instances of grub_util_get_disk_name() (see previous commit).
39290
39291 2008-09-25 Robert Millan <rmh@aybabtu.com>
39292
39293 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
39294 `util/i386/get_disk_name.c'.
39295 * conf/i386-efi.rmk: Likewise.
39296 * conf/x86_64-efi.rmk: Likewise.
39297 * conf/i386-coreboot.rmk: Likewise.
39298 * conf/i386-ieee1275.rmk: Likewise.
39299 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
39300 `util/ieee1275/get_disk_name.c'.
39301 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
39302 * util/ieee1275/get_disk_name.c: Remove file.
39303 * util/i386/get_disk_name.c: Remove file.
39304 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
39305 "hd%d" for device.map entries, rather than using
39306 grub_util_get_disk_name().
39307
39308 2008-09-24 Carles Pina i Estany <carles@pina.cat>
39309
39310 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
39311 warning.
39312 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
39313
39314 2008-09-24 Carles Pina i Estany <carles@pina.cat>
39315
39316 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
39317 Changed to 0x5100.
39318 (GRUB_TERM_PPAGE): Changed to 0x4900.
39319
39320 2008-09-24 Robert Millan <rmh@aybabtu.com>
39321
39322 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
39323 macros (they were i386-pc specific).
39324 * include/grub/sparc64/ieee1275/console.h: Likewise.
39325 * include/grub/efi/console.h: Likewise.
39326
39327 2008-09-22 Bean <bean123ch@gmail.com>
39328
39329 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
39330 resident and in attribute list.
39331
39332 * include/grub/ntfs.h (BMP_LEN): Removed.
39333
39334 2008-09-22 Bean <bean123ch@gmail.com>
39335
39336 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
39337 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
39338
39339 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
39340 error occurs, as grub_disk_open will call grub_disk_close, which will
39341 call p->close (scsi).
39342
39343 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
39344
39345 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
39346 (AC_PREREQ): Bumped to 2.59.
39347 (AC_TRY_COMPILE): Replace obsolete macro with ...
39348 (AC_COMPILE_IFELSE): ... this.
39349 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
39350 (AC_LINK_IFELSE): ... this.
39351
39352 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
39353
39354 * autogen.sh: Add a call to `gendistlist.sh'.
39355
39356 2008-09-19 Christian Franke <franke@computer.org>
39357
39358 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
39359 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
39360 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
39361 Export __enable_execute_stack() to modules.
39362 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
39363 New function.
39364
39365 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
39366
39367 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
39368 Sort the list.
39369
39370 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
39371
39372 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
39373 #include <grub/util/hostdisk.h>.
39374
39375 2008-09-08 Robert Millan <rmh@aybabtu.com>
39376
39377 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
39378 segments when their filesz is zero (grub_file_read() interprets
39379 zero-size as "read until EOF", which results in memory corruption).
39380 Use `lowest_segment' rather than 0 for calculating the current
39381 segment load address.
39382
39383 2008-09-08 Robert Millan <rmh@aybabtu.com>
39384
39385 * util/hostdisk.c (open_device): Replace a grub_util_info() call
39386 with grub_dprintf("hostdisk", ...), as it was so verbose that it
39387 clobbered useful information.
39388
39389 2008-09-08 Robert Millan <rmh@aybabtu.com>
39390
39391 * include/grub/util/biosdisk.h: Move to ...
39392 * include/grub/util/hostdisk.h: ... here. Update all users.
39393 * util/biosdisk.c: Move to ...
39394 * util/hostdisk.c: ... here. Update all users.
39395
39396 2008-09-07 Robert Millan <rmh@aybabtu.com>
39397
39398 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
39399 variables.
39400 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
39401 and length can be stored directly in the `mbi->mmap_addr' and
39402 `mbi->mmap_length' struct fields.
39403
39404 2008-09-07 Robert Millan <rmh@aybabtu.com>
39405
39406 * conf/i386.rmk: New file. Provides declaration for building
39407 `cpuid.mod'.
39408 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
39409 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
39410 variables.
39411 Include `conf/i386.mk'.
39412 * conf/i386-efi.rmk: Likewise.
39413 * conf/x86_64-efi.rmk: Likewise.
39414 * conf/i386-coreboot.rmk: Likewise.
39415 * conf/i386-ieee1275.rmk: Likewise.
39416
39417 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
39418
39419 Based on patch created by Colin D Bennett <colin@gibibit.com>.
39420 Adds optimization support for BGR based modes.
39421
39422 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
39423 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
39424 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
39425 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
39426 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
39427 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
39428 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
39429 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
39430 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
39431 (grub_video_i386_vbeblit_index_index): Likewise.
39432 (grub_video_i386_vbeblit_replace_directN): Added.
39433 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
39434 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
39435 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
39436 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
39437 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
39438 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
39439 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
39440 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
39441 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
39442 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
39443 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
39444 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
39445 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
39446
39447 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
39448 (grub_video_i386_vbefill_R8G8B8): Likewise.
39449 (grub_video_i386_vbefill_index): Likewise.
39450 (grub_video_i386_vbefill_direct32): Added.
39451 (grub_video_i386_vbefill_direct24): Likewise.
39452 (grub_video_i386_vbefill_direct16): Likewise.
39453 (grub_video_i386_vbefill_direct8): Likewise.
39454
39455 * include/grub/video.h (grub_video_blit_format): Removed
39456 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
39457 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
39458 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
39459 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
39460 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
39461
39462 * video/video.c (grub_video_get_blit_format): Updated to use new
39463 blit formats. Added handling for 16 bit color modes.
39464
39465 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
39466 fillers.
39467 (common_blitter): Updated to use new blitters.
39468
39469 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
39470 Removed.
39471 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
39472 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
39473 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
39474 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
39475 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
39476 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
39477 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
39478 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
39479 (grub_video_i386_vbeblit_index_index): Likewise.
39480 (grub_video_i386_vbeblit_replace_directN): Added.
39481 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
39482 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
39483 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
39484 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
39485 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
39486 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
39487 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
39488 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
39489 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
39490 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
39491 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
39492 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
39493 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
39494
39495 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
39496 (grub_video_i386_vbefill_R8G8B8): Likewise.
39497 (grub_video_i386_vbefill_index): Likewise.
39498 (grub_video_i386_vbefill_direct32): Added.
39499 (grub_video_i386_vbefill_direct24): Likewise.
39500 (grub_video_i386_vbefill_direct16): Likewise.
39501 (grub_video_i386_vbefill_direct8): Likewise.
39502
39503 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
39504 types.
39505
39506 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
39507 types.
39508
39509 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
39510 blitter types.
39511
39512 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
39513 types.
39514
39515 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
39516
39517 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
39518 RAID level 1.
39519
39520 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
39521
39522 * fs/iso9660.c (grub_iso9660_date): New structure.
39523 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
39524 (grub_iso9660_uuid): New function.
39525
39526 2008-09-05 Bean <bean123ch@gmail.com>
39527
39528 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
39529
39530 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
39531 insensitive bit for names in Win32 and Win32 & DOS namespace.
39532
39533 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
39534
39535 * include/grub/types.h (LONG_MAX): Likewise.
39536
39537 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
39538
39539 * util/getroot.c: Include <config.h>.
39540 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
39541 add support for /dev/md/N devices and handle LVM double dash escaping.
39542
39543 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
39544
39545 * config.guess: Update to latest version from config git.
39546 * config.sub: Likewise.
39547
39548 2008-09-03 Robert Millan <rmh@aybabtu.com>
39549
39550 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
39551 `disk->total_sectors'.
39552
39553 2008-09-01 Colin D Bennett <colin@gibibit.com>
39554
39555 * include/grub/normal.h: Fixed incorrect comment for
39556 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
39557
39558 2008-09-01 Colin D Bennett <colin@gibibit.com>
39559
39560 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
39561 values with defines.
39562
39563 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
39564 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
39565 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
39566 (GRUB_VBE_MODEATTR_COLOR): Likewise.
39567 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
39568 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
39569 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
39570 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
39571 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
39572 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
39573 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
39574 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
39575 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
39576 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
39577 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
39578 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
39579 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
39580 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
39581 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
39582
39583 2008-08-31 Robert Millan <rmh@aybabtu.com>
39584
39585 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
39586 declaration.
39587 (grub_multiboot): Fix a few warnings.
39588
39589 2008-08-31 Robert Millan <rmh@aybabtu.com>
39590
39591 * loader/i386/pc/multiboot.c: Update comment not to say that
39592 boot_device support is unimplemented.
39593
39594 2008-08-31 Robert Millan <rmh@aybabtu.com>
39595
39596 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
39597 or memory map support are unimplemented.
39598
39599 2008-08-31 Colin D Bennett <colin@gibibit.com>
39600
39601 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
39602
39603 2008-08-31 Colin D Bennett <colin@gibibit.com>
39604
39605 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
39606 total video memory in 'vbeinfo' output; show color format details for
39607 each video mode.
39608
39609 2008-08-30 Pavel Roskin <proski@gnu.org>
39610
39611 * util/genmoddep.c: Remove for real this time.
39612 * DISTLIST: Remove util/genmoddep.c.
39613
39614 2008-08-30 Robert Millan <rmh@aybabtu.com>
39615
39616 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
39617 as required by Multiboot spec (it was already 4-byte aligned, but
39618 only by chance).
39619
39620 2008-08-29 Pavel Roskin <proski@gnu.org>
39621
39622 * kern/powerpc/ieee1275/crt0.S: Rename to ...
39623 * kern/powerpc/ieee1275/startup.S: ... this.
39624 * conf/powerpc-ieee1275.rmk: Adjust for the above.
39625 * DISTLIST: Likewise.
39626
39627 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
39628 grub/cpu/kernel.h. Add start label for consistency with other
39629 platforms. Add grub_prefix immediately after start. Add jump
39630 to the code after grub_prefix.
39631 * include/grub/powerpc/kernel.h: Provide valid values for
39632 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
39633
39634 2008-08-29 Bean <bean123ch@gmail.com>
39635
39636 * configure.ac: Change host_os to cygwin for mingw.
39637 (asprintf): New check for function.
39638
39639 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
39640 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
39641
39642 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
39643 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
39644 sync, sleep and grub_util_get_disk_size for mingw.
39645
39646 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
39647 to get size in mingw.
39648 (open_device): Use flag O_BINARY if it's defined.
39649 (find_root_device): Add dummy code for mingw.
39650
39651 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
39652 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
39653 (get_scsi_disk_name): Return 0 for mingw.
39654
39655 * util/hostfs.c: #include <grub/util/misc.h>.
39656 (grub_hostfs_open): Use "rb" flag to open file, use
39657 grub_util_get_disk_size to get disk size for mingw.
39658
39659 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
39660 (asprintf): New function if HAVE_ASPRINTF is not set.
39661 (sync): New function for mingw.
39662 (sleep): Likewise.
39663 (grub_util_get_disk_size): Likewise.
39664
39665 2008-08-28 Pavel Roskin <proski@gnu.org>
39666
39667 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39668 kern/time.c.
39669
39670 2008-08-28 Robert Millan <rmh@aybabtu.com>
39671
39672 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
39673
39674 2008-08-28 Robert Millan <rmh@aybabtu.com>
39675
39676 Change find_grub_drive() syntax so it doesn't prevent it from
39677 detecting NULL names as errors.
39678
39679 * util/biosdisk.c (find_grub_drive): Move free slot search code
39680 from here ...
39681 (find_free_slot): ... to here.
39682 (read_device_map): Use find_free_slot() to search for free slots.
39683
39684 2008-08-27 Marco Gerards <marco@gnu.org>
39685
39686 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
39687 (scsi_mod_SOURCES): New variable.
39688 (scsi_mod_CFLAGS): Likewise
39689 (scsi_mod_LDFLAGS): Likewise.
39690
39691 * disk/scsi.c: New file.
39692
39693 * include/grub/scsi.h: Likewise.
39694
39695 * include/grub/scsicmd.h: Likewise.
39696
39697 * disk/ata.c: Include <grub/scsi.h>.
39698 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
39699 instead.
39700 (grub_ata_iterate): Skip ATAPI devices.
39701 (grub_ata_open): Only handle ATAPI devices.
39702 (struct grub_atapi_read): Removed.
39703 (grub_atapi_readsector): Likewise.
39704 (grub_ata_read): No longer handle ATAPI devices.
39705 (grub_ata_write): Likewise.
39706 (grub_atapi_iterate): New function.
39707 (grub_atapi_read): Likewise.
39708 (grub_atapi_write): Likewise.
39709 (grub_atapi_open): Likewise.
39710 (grub_atapi_close): Likewise.
39711 (grub_atapi_dev): New variable.
39712 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
39713 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
39714
39715 * include/grub/disk.h (enum grub_disk_dev_id): Add
39716 `GRUB_DISK_DEVICE_SCSI_ID'.
39717
39718 2008-08-26 Robert Millan <rmh@aybabtu.com>
39719
39720 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
39721 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
39722 descriptive.
39723
39724 2008-08-23 Bean <bean123ch@gmail.com>
39725
39726 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
39727 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
39728 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
39729 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
39730 dm_nv.mod.
39731 (raid5rec_mod_SOURCES): New macro.
39732 (raid5rec_mod_CFLAGS): Likewise.
39733 (raid5rec_mod_LDFLAGS): Likewise.
39734 (raid6rec_mod_SOURCES): Likewise.
39735 (raid6rec_mod_CFLAGS): Likewise.
39736 (raid6rec_mod_LDFLAGS): Likewise.
39737 (mdraid_mod_SOURCES): Likewise.
39738 (mdraid_mod_CFLAGS): Likewise.
39739 (mdraid_mod_LDFLAGS): Likewise.
39740 (dm_nv_mod_SOURCES): Likewise.
39741 (dm_nv_mod_CFLAGS): Likewise.
39742 (dm_nv_mod_LDFLAGS): Likewise.
39743
39744 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
39745 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
39746 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
39747
39748 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
39749 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
39750
39751 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39752
39753 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39754
39755 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39756
39757 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39758
39759 * disk/raid5_recover.c: New file.
39760
39761 * disk/raid6_recover.c: Likewise.
39762
39763 * disk/mdraid_linux.c: Likewise.
39764
39765 * disk/dmraid_nvidia.c: Likewise.
39766
39767 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
39768 ULONG_MAX.
39769
39770 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
39771 calculate the size of raid device.
39772 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
39773 different layout of raid5.
39774 (grub_raid_scan_device): Remove code specific to mdraid.
39775 (grub_raid_list): New variable.
39776 (free_array): New function.
39777 (grub_raid_register): Likewise.
39778 (grub_raid_unregister): Likewise.
39779 (grub_raid_rescan): Likewise.
39780 (GRUB_MOD_INIT): Don't iterate device here.
39781 (GRUB_MOD_FINI): Use free_array to release resource.
39782
39783 * include/grub/raid.h: Remove macro and structure specific to mdraid.
39784 (grub_raid5_recover_func_t): New function variable type.
39785 (grub_raid6_recover_func_t): Likewise.
39786 (grub_raid5_recover_func): New variable.
39787 (grub_raid6_recover_func): Likewise.
39788 (grub_raid_register): New function.
39789 (grub_raid_unregister): Likewise.
39790 (grub_raid_rescan): Likewise.
39791 (grub_raid_block_xor): Likewise.
39792
39793 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
39794 (CMD_CRC): New macro.
39795 (part): Removed.
39796 (read_file): Handle device as well as file.
39797 (cmd_crc): New function.
39798 (fstest): Handle multiple disks.
39799 (options): Remove part, raw and long, add root and diskcount.
39800 (usage): Add crc, remove -p, -r, -l, add -r and -c.
39801 (main): Find the first non option entry and ignore subsequent options,
39802 add handling for the new options, support multiple disks.
39803
39804 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
39805
39806 2008-08-23 Bean <bean123ch@gmail.com>
39807
39808 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
39809
39810 * genfslist.sh: Ignore kernel.mod.
39811
39812 * genpartmaplist.sh: Likewise.
39813
39814 2008-08-23 Robert Millan <rmh@aybabtu.com>
39815
39816 * util/getroot.c (find_root_device): Skip anything that starts with
39817 a dot, not just directories. This avoids things like /dev/.tmp.md0.
39818
39819 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
39820
39821 * util/update-grub.in (GRUB_GFXMODE): Export variable.
39822 * util/grub.d/00_header.in: Allow the administrator to change default
39823 gfxmode via ${GRUB_GFXMODE}.
39824
39825 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
39826
39827 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
39828
39829 2008-08-21 Robert Millan <rmh@aybabtu.com>
39830
39831 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
39832 loader.
39833 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
39834 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
39835
39836 2008-08-20 Carles Pina i Estany <carles@pina.cat>
39837
39838 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
39839 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
39840
39841 2008-08-19 Robert Millan <rmh@aybabtu.com>
39842
39843 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
39844 (struct grub_virtual_screen): Remove `cursor_color'.
39845 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
39846 initialization.
39847 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
39848
39849 2008-08-18 Robert Millan <rmh@aybabtu.com>
39850
39851 Unify (identical) linux_normal.c files.
39852 * loader/i386/efi/linux_normal.c: Move from here ...
39853 * loader/linux_normal.c: ... to here. Update all users.
39854 * loader/i386/pc/linux_normal.c: Delete. Update all users.
39855 * loader/i386/ieee1275/linux_normal.c: Likewise.
39856
39857 2008-08-18 Robert Millan <rmh@aybabtu.com>
39858
39859 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
39860 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
39861 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
39862 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
39863 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
39864 New macros.
39865 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
39866 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
39867 (GRUB_LINUX_CL_END_OFFSET): ... to here.
39868 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
39869 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
39870 (GRUB_EFI_CL_END_OFFSET): Rename to ...
39871 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
39872 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
39873 Initialize `params->video_cursor_x' and `params->video_cursor_y'
39874 portably using grub_getxy().
39875 Replace `-EFI' with `-bzImage' in boot message.
39876
39877 2008-08-17 Robert Millan <rmh@aybabtu.com>
39878
39879 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
39880
39881 2008-08-17 Robert Millan <rmh@aybabtu.com>
39882
39883 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
39884
39885 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
39886 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
39887 (grub_machine_mmap_iterate): New function declaration.
39888 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
39889 structure.
39890 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
39891 macros.
39892
39893 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
39894 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
39895 Move e820 parsing from here ...
39896 * kern/i386/pc/mmap.c: New file.
39897 (grub_machine_mmap_iterate): ... to here.
39898
39899 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
39900 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
39901 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
39902 (grub_available_iterate): Redeclare to return `void', and redeclare
39903 its hook to use grub_uint64_t as addr and size parameters, and rename
39904 to ...
39905 (grub_machine_mmap_iterate): ... this. Update all users.
39906
39907 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
39908 to make it more readable. Rename to ...
39909 (grub_machine_mmap_iterate): ... this.
39910
39911 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
39912 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
39913 (grub_multiboot): Allocate an extra region after the payload, and fill
39914 it with a Multiboot memory map. Adjust a.out loader to calculate size
39915 with the extra space.
39916 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
39917 with the extra space.
39918
39919 2008-08-17 Carles Pina i Estany <carles@pina.cat>
39920
39921 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
39922
39923 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
39924
39925 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
39926 mdate-sh to the list `find' searches for.
39927 * DISTLIST: Regenerated.
39928
39929 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
39930
39931 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
39932 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
39933 genmoddep.awk, gensymlist.sh.in.
39934 (DISTDIRS): Add bus, docs, hook, lib.
39935 * DISTLIST: Regenerated.
39936 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
39937
39938 2008-08-16 Robert Millan <rmh@aybabtu.com>
39939
39940 * disk/raid.c (grub_raid_init): Handle/report errors set by
39941 grub_device_iterate().
39942 * disk/lvm.c (grub_lvm_init): Likewise.
39943
39944 2008-08-15 Bean <bean123ch@gmail.com>
39945
39946 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39947 and datehook.mod.
39948 (datetime_mod_SOURCES): New macro.
39949 (datetime_mod_CFLAGS): Likewise.
39950 (datetime_mod_LDFLAGS): Likewise.
39951 (date_mod_SOURCES): Likewise.
39952 (date_mod_CFLAGS): Likewise.
39953 (date_mod_LDFLAGS): Likewise.
39954 (datehook_mod_SOURCES): Likewise.
39955 (datehook_mod_CFLAGS): Likewise.
39956 (datehook_mod_LDFLAGS): Likewise.
39957
39958 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39959 and datehook.mod.
39960 (datetime_mod_SOURCES): New macro.
39961 (datetime_mod_CFLAGS): Likewise.
39962 (datetime_mod_LDFLAGS): Likewise.
39963 (date_mod_SOURCES): Likewise.
39964 (date_mod_CFLAGS): Likewise.
39965 (date_mod_LDFLAGS): Likewise.
39966 (datehook_mod_SOURCES): Likewise.
39967 (datehook_mod_CFLAGS): Likewise.
39968 (datehook_mod_LDFLAGS): Likewise.
39969
39970 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39971 and datehook.mod.
39972 (datetime_mod_SOURCES): New macro.
39973 (datetime_mod_CFLAGS): Likewise.
39974 (datetime_mod_LDFLAGS): Likewise.
39975 (date_mod_SOURCES): Likewise.
39976 (date_mod_CFLAGS): Likewise.
39977 (date_mod_LDFLAGS): Likewise.
39978 (datehook_mod_SOURCES): Likewise.
39979 (datehook_mod_CFLAGS): Likewise.
39980 (datehook_mod_LDFLAGS): Likewise.
39981
39982 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39983 and datehook.mod.
39984 (datetime_mod_SOURCES): New macro.
39985 (datetime_mod_CFLAGS): Likewise.
39986 (datetime_mod_LDFLAGS): Likewise.
39987 (date_mod_SOURCES): Likewise.
39988 (date_mod_CFLAGS): Likewise.
39989 (date_mod_LDFLAGS): Likewise.
39990 (datehook_mod_SOURCES): Likewise.
39991 (datehook_mod_CFLAGS): Likewise.
39992 (datehook_mod_LDFLAGS): Likewise.
39993
39994 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39995 and datehook.mod.
39996 (datetime_mod_SOURCES): New macro.
39997 (datetime_mod_CFLAGS): Likewise.
39998 (datetime_mod_LDFLAGS): Likewise.
39999 (date_mod_SOURCES): Likewise.
40000 (date_mod_CFLAGS): Likewise.
40001 (date_mod_LDFLAGS): Likewise.
40002 (datehook_mod_SOURCES): Likewise.
40003 (datehook_mod_CFLAGS): Likewise.
40004 (datehook_mod_LDFLAGS): Likewise.
40005
40006 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
40007
40008 * commands/date.c: New file.
40009
40010 * hook/datehook.c: Likewise.
40011
40012 * include/grub/lib/datetime.h: Likewise.
40013
40014 * include/grub/i386/cmos.h: Likewise.
40015
40016 * lib/datetime.c: Likewise.
40017
40018 * lib/i386/datetime.c: Likewise.
40019
40020 * lib/efi/datetime.c: Likewise.
40021
40022 2008-08-14 Robert Millan <rmh@aybabtu.com>
40023
40024 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
40025 (grub_mkelfimage_SOURCES): New variable.
40026 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
40027
40028 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
40029 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
40030 * conf/powerpc-ieee1275.rmk: Likewise.
40031 * conf/i386-ieee1275.rmk: Likewise.
40032
40033 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
40034 * kern/i386/coreboot/init.c: Likewise.
40035
40036 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
40037 with `<grub/cpu/kernel.h>'.
40038 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
40039 to ...
40040 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
40041 * kern/i386/coreboot/startup.S: Likewise.
40042
40043 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
40044 (GRUB_MOD_GAP): Remove.
40045 * include/grub/powerpc/kernel.h: New file.
40046 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
40047 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40048 * include/grub/i386/kernel.h: New file.
40049 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
40050 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
40051 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40052
40053 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
40054 `grub-mkelfimage'.
40055 Use --directory when invoking grub_mkimage.
40056
40057 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
40058 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
40059 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
40060 and GRUB_KERNEL_CPU_PREFIX.
40061
40062 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
40063
40064 * include/grub/err.h (grub_err_printf): New function prototype.
40065 * util/misc.c (grub_err_printf): New function.
40066 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
40067 grub_printf.
40068 * kern/err.c (grub_print_error): Use grub_err_printf.
40069
40070 2008-08-13 Robert Millan <rmh@aybabtu.com>
40071
40072 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
40073
40074 2008-08-13 Robert Millan <rmh@aybabtu.com>
40075
40076 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
40077 boot entry.
40078
40079 2008-08-12 Robert Millan <rmh@aybabtu.com>
40080
40081 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
40082 of the relocation code from here ...
40083 (grub_multiboot): ... to here.
40084 (forward_relocator, backward_relocator): Move from here ...
40085 * kern/i386/loader.S (grub_multiboot_forward_relocator)
40086 (grub_multiboot_backward_relocator): ... to here.
40087 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
40088 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
40089 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
40090 (grub_multiboot_forward_relocator_end)
40091 (grub_multiboot_backward_relocator)
40092 (grub_multiboot_backward_relocator_end): New variables.
40093
40094 2008-08-12 Bean <bean123ch@gmail.com>
40095
40096 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
40097
40098 2008-08-11 Robert Millan <rmh@aybabtu.com>
40099
40100 * kern/i386/linuxbios/startup.S: Move from here ...
40101 * kern/i386/coreboot/startup.S: ... to here.
40102
40103 * kern/i386/linuxbios/init.c: Move from here ...
40104 * kern/i386/coreboot/init.c: ... to here.
40105
40106 * kern/i386/linuxbios/table.c: Move from here ...
40107 * kern/i386/coreboot/mmap.c: ... to here.
40108
40109 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
40110
40111 2008-08-11 Robert Millan <rmh@aybabtu.com>
40112
40113 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
40114 errors. Leave it to the upper layer to handle them.
40115
40116 2008-08-09 Christian Franke <franke@computer.org>
40117
40118 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
40119 * conf/common.rmk: Install `grub-pe2elf' only if requested.
40120 Install `grub.d/10_windows' only on Cygwin.
40121 * configure.ac: Add subst of `target_os'.
40122 Check `target_os' also before setting TARGET_OBJ2ELF.
40123 Add `--enable-grub-pe2elf'.
40124
40125 2008-08-08 Robert Millan <rmh@aybabtu.com>
40126
40127 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
40128 (grub_last_time): Change type to grub_uint64_t.
40129 (grub_disk_open): Migrate code from to using grub_get_time_ms().
40130 (grub_disk_close): Likewise.
40131
40132 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
40133 (run_menu): Migrate code from to using grub_get_time_ms().
40134
40135 * util/misc.c (grub_get_time_ms): New function.
40136
40137 2008-08-08 Marco Gerards <marco@gnu.org>
40138
40139 * disk/ata.c (grub_ata_regget): Change return type to
40140 `grub_uint8_t'.
40141 (grub_ata_regget2): Likewise.
40142 (grub_ata_wait_status): New function.
40143 (grub_ata_wait_busy): Removed function, updated all users to use
40144 `grub_ata_wait_status'.
40145 (grub_ata_wait_drq): Likewise.
40146 (grub_ata_cmd): New function.
40147 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
40148 error handling.
40149 (grub_ata_pio_write): Add error handling.
40150 (grub_atapi_identify): Likewise.
40151 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
40152 handling.
40153 (grub_ata_identify): Use `grub_ata_cmd' and improve error
40154 handling. Actually use the detected registers. Reorder the
40155 detection logic such that it is easier to read.
40156 (grub_ata_pciinit): Do not assign the same ID to each controller.
40157 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
40158 handling.
40159 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
40160
40161 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
40162
40163 2008-08-08 Marco Gerards <marco@gnu.org>
40164
40165 * NEWS: Update.
40166
40167 2008-08-07 Bean <bean123ch@gmail.com>
40168
40169 * include/grub/x86_64/pci.h: New file.
40170
40171 2008-08-07 Christian Franke <franke@computer.org>
40172
40173 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
40174 (TIMER2_GATE): Likewise.
40175 (grub_pit_wait): Add enable/disable of the timer2 gate
40176 bit of port 0x61. This fixes a possible infinite loop.
40177
40178 2008-08-07 Bean <bean123ch@gmail.com>
40179
40180 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
40181 kern/i386/tsc.c and kern/i386/pit.c.
40182
40183 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
40184 x86_64 platform.
40185
40186 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
40187 <grub/i386/tsc.h>.
40188
40189 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
40190
40191 2008-08-07 Bean <bean123ch@gmail.com>
40192
40193 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
40194
40195 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
40196
40197 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
40198 multiple inclusion. Add #include <grub/types.h>.
40199
40200 2008-08-06 Christian Franke <franke@computer.org>
40201
40202 * conf/common.rmk: Build and install `10_windows'.
40203 * util/grub.d/10_windows.in: New script.
40204
40205 2008-08-06 Pavel Roskin <proski@gnu.org>
40206
40207 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
40208
40209 2008-08-06 Robert Millan <rmh@aybabtu.com>
40210
40211 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
40212 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
40213
40214 2008-08-06 Bean <bean123ch@gmail.com>
40215
40216 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
40217 (grub_pxefs_fs_int): Remove dummy definition.
40218 (grub_pxefs_open): Use data->block_size to store the current block
40219 size setting.
40220 (grub_pxefs_read): Use block size stored in data->block_size. As the
40221 value of grub_pxe_blksize can be changed after the file is opened.
40222
40223 2008-08-06 Bean <bean123ch@gmail.com>
40224
40225 * fs/i386/pc/pxe.c (curr_file): new variable.
40226 (grub_pxefs_open): Simply the handling of pxe file system. Don't
40227 require the dummy internal file system anymore.
40228 (grub_pxefs_read): Removed.
40229 (grub_pxefs_close): Likewise.
40230 (grub_pxefs_fs_int): Likewise.
40231 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
40232 connection when we switch file.
40233 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
40234
40235 2008-08-06 Robert Millan <rmh@aybabtu.com>
40236
40237 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
40238 `halt.mod'.
40239 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
40240 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
40241
40242 * kern/i386/halt.c: New file.
40243 * kern/i386/reboot.c: Likewise.
40244 * include/grub/i386/reboot.h: Likewise.
40245 * include/grub/i386/halt.h: Likewise.
40246
40247 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
40248 Include `<grub/cpu/halt.h>'.
40249 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
40250 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
40251
40252 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
40253 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
40254 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
40255 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
40256 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
40257 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
40258 from here ...
40259 * include/grub/i386/at_keyboard.h: ... to here.
40260
40261 2008-08-05 Robert Millan <rmh@aybabtu.com>
40262
40263 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
40264 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
40265 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
40266 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
40267 `kern/generic/millisleep.c'.
40268
40269 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
40270 instead of grub_get_rtc().
40271 (grub_tsc_init): Initialize `tsc_boot_time'.
40272
40273 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
40274 (grub_machine_init): Use grub_tsc_init() rather than
40275 installing an RTC-based handler via grub_install_get_time_ms().
40276
40277 * kern/i386/pit.c: New file.
40278 * include/grub/i386/pit.h: Likewise.
40279
40280 2008-08-05 Bean <bean123ch@gmail.com>
40281
40282 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
40283
40284 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
40285 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
40286 (pxe_mod_SOURCES): New macro.
40287 (pxe_mod_CFLAGS): Likewise.
40288 (pxe_mod_LDFLAGS): Likewise.
40289 (pxecmd_mod_SOURCES): Likewise.
40290 (pxecmd_mod_CFLAGS): Likewise.
40291 (pxecmd_mod_LDFLAGS): Likewise.
40292
40293 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
40294 (grub_pxe_call): Likewise.
40295
40296 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
40297
40298 * commands/i386/pc/pxecmd.c: New file.
40299
40300 * fs/i386/pc/pxe.c: Likewise.
40301
40302 * include/grub/i386/pc/pxe.h: Likewise.
40303
40304 2008-08-05 Bean <bean123ch@gmail.com>
40305
40306 * util/console.c (grub_console_cur_color): New variable.
40307 (grub_console_standard_color): Likewise.
40308 (grub_console_normal_color): Likewise.
40309 (grub_console_highlight_color): Likewise.
40310 (color_map): Likewise.
40311 (use_color): Likewise.
40312 (NUM_COLORS): New macro.
40313 (grub_ncurses_setcolorstate): Handle color properly.
40314 (grub_ncurses_setcolor): Don't change color here, just remember the
40315 settings, color will be set in grub_ncurses_setcolorstate.
40316 (grub_ncurses_getcolor): New function.
40317 (grub_ncurses_init): Initialize color pairs.
40318 (grub_ncurses_term): New member grub_ncurses_getcolor.
40319
40320 2008-08-05 Colin D Bennett <colin@gibibit.com>
40321
40322 High resolution timer support. Implemented for x86 CPUs using TSC.
40323 Extracted generic grub_millisleep() so it's linked in only as needed.
40324 This requires a Pentium compatible CPU; if the RDTSC instruction is
40325 not supported, then it falls back on the generic grub_get_time_ms()
40326 implementation that uses the machine's RTC.
40327
40328 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
40329 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
40330 `kern/generic/millisleep.c'.
40331
40332 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
40333 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
40334
40335 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
40336 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
40337
40338 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40339
40340 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40341 `kern/generic/millisleep.c'.
40342
40343 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40344
40345 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
40346
40347 * kern/generic/rtc_get_time_ms.c: New file.
40348
40349 * kern/generic/millisleep.c: New file.
40350
40351 * kern/misc.c: Don't include
40352 <kern/time.h> anymore.
40353 (grub_millisleep_generic): Removed.
40354
40355 * commands/sleep.c (grub_interruptible_millisleep): Uses
40356 grub_get_time_ms() instead of grub_get_rtc().
40357
40358 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
40359 function.
40360 (grub_cpu_is_cpuid_supported): New inline function.
40361 (grub_cpu_is_tsc_supported): New inline function.
40362 (grub_tsc_init): New function prototype.
40363 (grub_tsc_get_time_ms): New function prototype.
40364
40365 * kern/i386/tsc.c (grub_get_time_ms): New file.
40366
40367 * include/grub/time.h: Include <grub/types.h.
40368 (grub_millisleep_generic): Removed.
40369 (grub_get_time_ms): New prototype.
40370 (grub_install_get_time_ms): New prototype.
40371 (grub_rtc_get_time_ms): New prototype.
40372
40373 * kern/time.c (grub_get_time_ms): New function.
40374 (grub_install_get_time_ms): New function.
40375
40376 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
40377 <grub/time.h> anymore.
40378 (grub_millisleep): Removed.
40379 (grub_machine_init): Call grub_tsc_init.
40380
40381 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
40382 get_time_ms() implementation.
40383
40384 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
40385 (ieee1275_get_time_ms): New function.
40386 (grub_machine_init): Install get_time_ms() implementation.
40387
40388 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
40389 (grub_machine_init): Call grub_tsc_init().
40390 (grub_millisleep): Removed.
40391
40392 * kern/ieee1275/init.c (grub_millisleep): Removed.
40393 (grub_machine_init): Install ieee1275_get_time_ms()
40394 implementation.
40395 (ieee1275_get_time_ms): New function.
40396 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
40397 real work.
40398
40399 2008-08-05 Marco Gerards <marco@gnu.org>
40400
40401 * disk/ata.c: Include <grub/pci.h>.
40402 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
40403 (grub_ata_initialize): Rewritten.
40404 (grub_ata_device_initialize): New function.
40405
40406 2008-08-04 Pavel Roskin <proski@gnu.org>
40407
40408 * kern/main.c: Include grub/mm.h.
40409
40410 2008-08-04 Robert Millan <rmh@aybabtu.com>
40411
40412 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
40413 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
40414 corruption problem).
40415
40416 2008-08-04 Robert Millan <rmh@aybabtu.com>
40417
40418 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
40419 warnings introduced in my last commit.
40420
40421 2008-08-03 Robert Millan <rmh@aybabtu.com>
40422
40423 Make PCI available on all i386 architectures.
40424
40425 * include/grub/i386/pc/pci.h: Move from here ...
40426 * include/grub/i386/pci.h: ... to here.
40427
40428 * include/grub/i386/pc/pci.h: Remove.
40429 * include/grub/i386/efi/pci.h: Remove.
40430 * include/grub/x86_64/efi/pci.h: Remove.
40431
40432 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
40433 `<grub/cpu/pci.h>'.
40434
40435 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
40436 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
40437 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
40438
40439 * conf/i386-ieee1275.rmk: Likewise.
40440
40441 2008-08-03 Robert Millan <rmh@aybabtu.com>
40442
40443 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
40444 (grub_console_setcursor): Make it possible to set cursor off.
40445
40446 2008-08-03 Robert Millan <rmh@aybabtu.com>
40447
40448 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
40449 of modules instead of assuming which platform provides what.
40450 * util/update-grub.in: Likewise.
40451
40452 2008-08-03 Robert Millan <rmh@aybabtu.com>
40453
40454 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
40455 instead of `grub_install_dos_part' to determine whether a drive needs
40456 to be prepended to prefix (`grub_install_dos_part' is not reliable,
40457 because it can be overridden when loading GRUB via Multiboot).
40458
40459 2008-08-02 Robert Millan <rmh@aybabtu.com>
40460
40461 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
40462
40463 2008-08-02 Robert Millan <rmh@aybabtu.com>
40464
40465 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
40466 of informational grub_dprintf() calls.
40467
40468 2008-08-02 Robert Millan <rmh@aybabtu.com>
40469
40470 * disk/memdisk.c (memdisk_size): Don't initialize.
40471 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
40472
40473 * include/grub/i386/pc/kernel.h
40474 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
40475 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
40476 (grub_memdisk_image_size, grub_arch_memdisk_addr)
40477 (grub_arch_memdisk_size): Remove.
40478
40479 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
40480 field (was only used to transfer a constant). Add `type' field to
40481 support multiple module types.
40482 (grub_module_iterate): New function.
40483
40484 * kern/device.c (grub_device_open): Do not hide error messages
40485 when grub_disk_open() fails. Use grub_print_error() instead.
40486
40487 * kern/i386/pc/init.c (grub_arch_modules_addr)
40488 (grub_arch_memdisk_size): Remove functions.
40489 (grub_arch_modules_addr): Return the module address in high memory
40490 (now that it isn't copied anymore).
40491
40492 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
40493 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
40494 decompression routine (grub_total_module_size already includes that
40495 now). Don't copy modules back to low memory.
40496
40497 * kern/main.c: Include `<grub/mm.h>'.
40498 (grub_load_modules): Split out (and use) ...
40499 (grub_module_iterate): ... this function, which iterates through
40500 module objects and runs a hook.
40501 Comment out grub_mm_init_region() call, as it would cause non-ELF
40502 modules to be overwritten.
40503
40504 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
40505 the memdisk image in its own region, make it part of the module list.
40506 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
40507 (main): Parse --memdisk|-m option, and pass user-provided path as
40508 parameter to generate_image().
40509 (add_segments): Pass `memdisk_path' down to load_modules().
40510 (load_modules): Embed memdisk image in module section when requested.
40511 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
40512 `header.type' instead of `header.offset'.
40513
40514 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
40515 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
40516 (memdisk_mod_LDFLAGS): New variables.
40517 * conf/i386-coreboot.rmk: Likewise.
40518 * conf/i386-ieee1275.rmk: Likewise.
40519
40520 2008-08-02 Robert Millan <rmh@aybabtu.com>
40521
40522 * loader/i386/pc/multiboot.c (playground, forward_relocator)
40523 (backward_relocator): New variables. Used to allocate and relocate
40524 the payload, respectively.
40525 (grub_multiboot_load_elf32): Load into heap instead of requested
40526 address, install the appropriate relocator code in each bound of
40527 the payload, and set the entry point such that
40528 grub_multiboot_real_boot() will jump to one of them.
40529
40530 * kern/i386/loader.S (grub_multiboot_payload_size)
40531 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
40532 (grub_multiboot_payload_entry_offset): New variables.
40533 (grub_multiboot_real_boot): Set cpu context to what the relocator
40534 expects, and jump to the relocator instead of the payload.
40535
40536 * include/grub/i386/loader.h (grub_multiboot_payload_size)
40537 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
40538 (grub_multiboot_payload_entry_offset): Export.
40539
40540 2008-08-01 Bean <bean123ch@gmail.com>
40541
40542 * normal/menu_entry.c (editor_getline): Don't return the original
40543 string as result, as it will be released by lexer once it has done
40544 using it.
40545
40546 2008-08-01 Robert Millan <rmh@aybabtu.com>
40547
40548 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
40549 within menuentries, not before them.
40550 util/grub.d/10_hurd.in: Likewise.
40551
40552 2008-08-01 Bean <bean123ch@gmail.com>
40553
40554 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
40555 (bufio_mod_SOURCES): New macro.
40556 (bufio_mod_CFLAGS): Likewise.
40557 (bufio_mod_LDFLAGS): Likewise.
40558
40559 * include/grub/bufio.h: New file.
40560
40561 * io/bufio.c: Likewise.
40562
40563 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
40564 (grub_video_reader_png): Use grub_buffile_open to open file.
40565
40566 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
40567 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
40568
40569 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
40570 (grub_video_reader_tga): Use grub_buffile_open to open file.
40571
40572 * font/manager.c: Include <grub/bufio.h>.
40573 (add_font): Use grub_buffile_open to open file.
40574
40575 2008-07-31 Robert Millan <rmh@aybabtu.com>
40576
40577 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
40578 ELF segments, use a macro for arbitrarily accessing any of them instead
40579 of preparing a pointer that allows access to one at a time.
40580 (grub_multiboot_load_elf64): Likewise.
40581
40582 2008-07-31 Bean <bean123ch@gmail.com>
40583
40584 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
40585 GRUB_KERNEL_MACHINE_DATA_END.
40586
40587 2008-07-30 Robert Millan <rmh@aybabtu.com>
40588
40589 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
40590 Increase from 0x50 to 0x60.
40591 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
40592 use UUIDs to identify the root drive for them. If that's not
40593 possible, abort.
40594 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
40595 check, for cross-disk installs.
40596
40597 2008-07-30 Robert Millan <rmh@aybabtu.com>
40598
40599 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
40600 is non-empty, use it to set the `prefix' environment variable instead
40601 of the usual approach.
40602 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
40603 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
40604 environment variable instead of dummy make_install_device().
40605
40606 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
40607 (start): Insert a data section, with `grub_prefix' variable.
40608 * kern/i386/linuxbios/startup.S: Likewise.
40609
40610 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
40611 New variable reference.
40612 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
40613 New macro. Defines offset of `grub_prefix' within startup.S (relative
40614 to `start').
40615 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
40616 section within startup.S (relative to `start').
40617 * include/grub/i386/coreboot/kernel.h: Likewise.
40618
40619 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
40620 Overwrite grub_prefix with its contents, at the beginning of the
40621 first segment.
40622 (main): Understand -p|--prefix.
40623
40624 2008-07-30 Robert Millan <rmh@aybabtu.com>
40625
40626 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
40627
40628 2008-07-30 Robert Millan <rmh@aybabtu.com>
40629
40630 * term/i386/pc/vga_text.c (grub_console_cls): Use
40631 grub_console_gotoxy() to go back to beginning of the screen.
40632 Found by Patrick Georgi <patrick.georgi@coresystems.de>
40633
40634 2008-07-29 Christian Franke <franke@computer.org>
40635
40636 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
40637 Add conversion of emulated mount points on Cygwin.
40638
40639 2008-07-29 Christian Franke <franke@computer.org>
40640
40641 * util/update-grub.in: Add a check for admin
40642 group on Cygwin.
40643 Remove old `grub.cfg.new' before creation.
40644 Add `-f' to `mv' to handle the different filesystem
40645 semantics of Windows.
40646
40647 2008-07-29 Bean <bean123ch@gmail.com>
40648
40649 * normal/main.c (get_line): Fix buffer overflow bug.
40650
40651 2008-07-28 Robert Millan <rmh@aybabtu.com>
40652
40653 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
40654 (struct grub_apple_header): New struct. Describes the layout of
40655 the partmap header.
40656 (apple_partition_map_iterate): Check the header magic as well as the
40657 partition magic (which was already being checked).
40658
40659 2008-07-28 Pavel Roskin <proski@gnu.org>
40660
40661 * genmk.rb: Add a warning to the beginning of the output that
40662 it's a generated file and should not be edited.
40663
40664 2008-07-28 Robert Millan <rmh@aybabtu.com>
40665
40666 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
40667 with the same number are found, just use issue a warning with
40668 grub_dprintf(), as this error has been reported to be non-fatal.
40669
40670 2008-07-27 Robert Millan <rmh@aybabtu.com>
40671
40672 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
40673 information.
40674
40675 2008-07-27 Bean <bean123ch@gmail.com>
40676
40677 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
40678 (grub_fat_find_dir): Ignore case when comparing filename.
40679
40680 2008-07-27 Bean <bean123ch@gmail.com>
40681
40682 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
40683 smallino, as it's more descriptive, and i8count can be confused with
40684 the other field count.
40685 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
40686 inode type.
40687
40688 2008-07-27 Bean <bean123ch@gmail.com>
40689
40690 * commands/crc.c: New file.
40691
40692 * lib/crc.c: Likewise.
40693
40694 * include/grub/lib/crc.h: Likewise.
40695
40696 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
40697
40698 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
40699 (hexdump): Move this function to ...
40700
40701 * lib/hexdump.c: ... here.
40702
40703 * include/grub/hexdump.h: Renamed to ...
40704
40705 * include/grub/lib/hexdump.h: ... this.
40706
40707 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
40708
40709 * util/grub-editenv.c: Likewise.
40710
40711 * include/envblk.h: Renamed to ...
40712
40713 * include/lib/envblk.h: ... this.
40714
40715 * util/envblk.c: Renamed to ...
40716
40717 * lib/envblk.c: ... this.
40718
40719 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
40720 lib/hexdump.c.
40721 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
40722 (pkglib_MODULES): Add crc.mod.
40723 (hexdump_mod_SOURCES): Add lib/hexdump.c.
40724 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
40725 (crc_mod_SOURCES): New macro.
40726 (crc_mod_CFLAGS): Likewise.
40727 (crc_mod_LDFLAGS): Likewise.
40728
40729 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
40730
40731 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40732
40733 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40734
40735 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40736
40737 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40738
40739 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
40740
40741 * commands/help.c: Include <grub/term.h>.
40742 (TERM_WIDTH): Removed. Updated all users.
40743
40744 2008-07-27 Pavel Roskin <proski@gnu.org>
40745
40746 * util/getroot.c (find_root_device): Rephrase a comment to avoid
40747 spurious warnings about a comment within a comment.
40748
40749 2008-07-25 Robert Millan <rmh@aybabtu.com>
40750
40751 * util/getroot.c (find_root_device): Skip devices that match
40752 /dev/dm-[0-9]. This lets the real device be found for any type of
40753 abstraction (LVM, EVMS, RAID..).
40754 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
40755 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
40756 device is found first, find_root_device() will now skip it.
40757
40758 2008-07-24 Pavel Roskin <proski@gnu.org>
40759
40760 * include/grub/types.h: Use __builtin_bswap32() and
40761 __builtin_bswap64() with gcc 4.3 and newer.
40762
40763 2008-07-24 Christian Franke <franke@computer.org>
40764
40765 * util/i386/pc/grub-install.in: If `--debug' is specified,
40766 pass `--verbose' to grub-setup.
40767 Abort script if make_system_path_relative_to_its_root() fails.
40768
40769 2008-07-24 Bean <bean123ch@gmail.com>
40770
40771 * configure.ac: Fixed a bug caused by the previous cygwin patch,
40772 variable `target_platform' should be `platform'.
40773
40774 2008-07-24 Bean <bean123ch@gmail.com>
40775
40776 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
40777 (grub_png_init_fixed_block): New function.
40778 (grub_png_decode_image_data): Handle fixed huffman code compression.
40779
40780 2008-07-24 Bean <bean123ch@gmail.com>
40781
40782 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
40783 (grub_pe2elf_SOURCES): New macro.
40784 (CLEANFILES): Add grub-pe2elf.
40785
40786 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
40787 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
40788 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
40789 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
40790 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
40791 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
40792 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
40793 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
40794 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
40795 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
40796 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
40797 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
40798 (GRUB_PE32_DT_FUNCTION): Likewise.
40799 (GRUB_PE32_REL_I386_DIR32): Likewise.
40800 (GRUB_PE32_REL_I386_REL32): Likewise.
40801 (grub_pe32_symbol): New structure.
40802 (grub_pe32_reloc): Likewise.
40803
40804 * util/grub-pe2elf.c: New file.
40805
40806 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
40807 start symbol in non pc platform.
40808
40809 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
40810
40811 The following patches are from Christian Franke.
40812
40813 * include/grub/dl.h: Remove .previous, gas supports this only
40814 for ELF format.
40815
40816 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
40817 Remove .type, gas supports this only for ELF format.
40818
40819 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
40820 nullbytes in symbol table. This fixes an infinite loop if table is
40821 zero filled.
40822
40823 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
40824 TARGET_IMG_LDFLAGS and EXEEXT.
40825
40826 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
40827 TARGET_IMG_LDFLAGS_AC.
40828 (grub_CHECK_STACK_ARG_PROBE): New function.
40829
40830 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
40831
40832 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
40833
40834 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
40835 to set TARGET_IMG_LD* accordingly.
40836 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
40837 Add call to grub_CHECK_STACK_ARG_PROBE.
40838 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
40839
40840 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
40841
40842 * genmk.rb: Add EXEEXT to CLEANFILES.
40843
40844 2008-07-23 Robert Millan <rmh@aybabtu.com>
40845
40846 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
40847 define the codes for arrows and lines used for the menu).
40848 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
40849 as well.
40850
40851 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
40852 fonts, because the latter are too slow.
40853
40854 2008-07-21 Bean <bean123ch@gmail.com>
40855
40856 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
40857 a20. Run keyboard test last, as it will cause macbook to halt.
40858
40859 2008-07-18 Pavel Roskin <proski@gnu.org>
40860
40861 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
40862 load foreign architecture modules correctly anyway. Keep
40863 support for loading host architecture modules, whether we
40864 compile them or not.
40865
40866 2008-07-17 Pavel Roskin <proski@gnu.org>
40867
40868 * configure.ac: Use -m32 or -m64 regardless of whether we had to
40869 change target_cpu. The compiler default can mismatch target_cpu
40870 in any case.
40871
40872 * disk/efi/efidisk.c: Fix format warnings on x86_64.
40873 * kern/efi/efi.c: Likewise.
40874
40875 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
40876 target compiler is functional.
40877 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
40878 are set up.
40879
40880 * configure.ac: Default to efi platform for x86_64-apple. Allow
40881 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
40882 adjustments from the rest, only do them if target is not
40883 explicitly given. Merge other adjustments with the final sanity
40884 check. Remove an extraneous check for supported CPU. Be
40885 specific which CPU and which platform is not supported.
40886
40887 * configure.ac: Default to pc platform for x86_64.
40888
40889 2008-07-17 Robert Millan <rmh@aybabtu.com>
40890
40891 Partial LinuxBIOS -> Coreboot rename.
40892
40893 * conf/i386-linuxbios.rmk: Renamed to ...
40894 * conf/i386-coreboot.rmk: ... this.
40895 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
40896 * configure.ac: Accept "coreboot" as input platform (but maintain
40897 compatibility with "linuxbios").
40898 * include/grub/i386/linuxbios: Renamed to ...
40899 * include/grub/i386/coreboot: ... this.
40900
40901 2008-07-17 Bean <bean123ch@gmail.com>
40902
40903 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
40904 (appleldr_mod_SOURCE): New variable.
40905 (appleldr_mod_CFLAGS): Likewise.
40906 (appleldr_mod_LDFLAGS): Likewise.
40907 (pci_mod_SOURCES): Likewise.
40908 (pci_mod_CFLAGS): Likewise.
40909 (pci_mod_LDFLAGS): Likewise.
40910 (lspci_mod_SOURCES): Likewise.
40911 (lspci_mod_CFLAGS): Likewise.
40912 (lspci_mod_LDFLAGS): Likewise.
40913
40914 * conf/x86_64-efi.rmk: New file.
40915
40916 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
40917 macro.
40918 (grub_efidisk_write): Likewise.
40919
40920 * include/efi/api.h (efi_call_0): New macro.
40921 (efi_call_1): Likewise.
40922 (efi_call_2): Likewise.
40923 (efi_call_3): Likewise.
40924 (efi_call_4): Likewise.
40925 (efi_call_5): Likewise.
40926 (efi_call_6): Likewise.
40927
40928 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
40929 grub_rescue_cmd_chainloader.
40930
40931 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
40932 (grub_pe32_optional_header): Change some fields based on i386 or
40933 x86_64 platform.
40934 (GRUB_PE32_PE32_MAGIC): Likewise.
40935
40936 * include/grub/efi/uga_draw.h: New file.
40937
40938 * include/grub/elf.h (STN_ABS): New constant.
40939 (R_X86_64_NONE): Relocation constant for x86_64.
40940 (R_X86_64_64): Likewise.
40941 (R_X86_64_PC32): Likewise.
40942 (R_X86_64_GOT32): Likewise.
40943 (R_X86_64_PLT32): Likewise.
40944 (R_X86_64_COPY): Likewise.
40945 (R_X86_64_GLOB_DAT): Likewise.
40946 (R_X86_64_JUMP_SLOT): Likewise.
40947 (R_X86_64_RELATIVE): Likewise.
40948 (R_X86_64_GOTPCREL): Likewise.
40949 (R_X86_64_32): Likewise.
40950 (R_X86_64_32S): Likewise.
40951 (R_X86_64_16): Likewise.
40952 (R_X86_64_PC16): Likewise.
40953 (R_X86_64_8): Likewise.
40954 (R_X86_64_PC8): Likewise.
40955
40956 * include/grub/i386/efi/pci.h: New file.
40957
40958 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
40959 Change it value based on platform.
40960 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
40961 (GRUB_E820_RAM): Likewise.
40962 (GRUB_E820_RESERVED): Likewise.
40963 (GRUB_E820_ACPI): Likewise.
40964 (GRUB_E820_NVS): Likewise.
40965 (GRUB_E820_EXEC_CODE): Likewise.
40966 (GRUB_E820_MAX_ENTRY): Likewise.
40967 (grub_e820_mmap): New structure.
40968 (linux_kernel_header): Change the efi field according to different
40969 kernel version, also field from linux_kernel_header.
40970
40971 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
40972
40973 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
40974 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
40975 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
40976 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
40977 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
40978 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
40979 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
40980 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
40981 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
40982 (GRUB_PCI_ADDR_IO_MASK): Likewise.
40983
40984 * include/grub/x86_64/efi/kernel.h: New file.
40985
40986 * include/grub/x86_64/efi/loader.h: Likewise.
40987
40988 * include/grub/x86_64/efi/machine.h: Likewise.
40989
40990 * include/grub/x86_64/efi/pci.h: Likewise.
40991
40992 * include/grub/x86_64/efi/time.h: Likewise.
40993
40994 * include/grub/x86_64/linux.h: Likewise.
40995
40996 * include/grub/x86_64/setjmp.h: Likewise.
40997
40998 * include/grub/x86_64/time.h: Likewise.
40999
41000 * include/grub/x86_64/types.h: Likewise.
41001
41002 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
41003 GRUB_TARGET_SIZEOF_VOID_P.
41004
41005 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
41006 (grub_efi_locate_handle): Likewise.
41007 (grub_efi_open_protocol): Likewise.
41008 (grub_efi_set_text_mode): Likewise.
41009 (grub_efi_stall): Likewise.
41010 (grub_exit): Likewise.
41011 (grub_reboot): Likewise.
41012 (grub_halt): Likewise.
41013 (grub_efi_exit_boot_services): Likewise.
41014 (grub_get_rtc): Likewise.
41015
41016 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
41017 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
41018 (grub_efi_allocate_pages): Wrap efi calls.
41019 (grub_efi_free_pages): Wrap efi calls.
41020 (grub_efi_get_memory_map): Wrap efi calls.
41021
41022 * kern/x86_64/dl.c: New file.
41023
41024 * kern/x86_64/efi/callwrap.S: Likewise.
41025
41026 * kern/x86_64/efi/startup.S: Likewise.
41027
41028 * loader/efi/appleloader.c: Likewise.
41029
41030 * loader/efi/chainloader.c (cmdline): New variable.
41031 (grub_chainloader_unload): Wrap efi calls.
41032 (grub_chainloader_boot): Likewise.
41033 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
41034 command line.
41035
41036 * loader/efi/chainloader_normal.c (chainloader_command):
41037 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
41038 command line.
41039
41040 * loader/i386/efi/linux.c (allocate_pages): Change allocation
41041 method.
41042 (grub_e820_add_region): New function.
41043 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
41044 booting.
41045 (grub_find_video_card): New function.
41046 (grub_linux_setup_video): New function.
41047 (grub_rescue_cmd_linux): Probe for video information.
41048
41049 * normal/x86_64/setjmp.S: New file.
41050
41051 * term/efi/console.c (map_char): New function.
41052 (grub_console_putchar): Map unicode char.
41053 (grub_console_checkkey): Wrap efi calls.
41054 (grub_console_getkey): Likewise.
41055 (grub_console_getwh): Likewise.
41056 (grub_console_gotoxy): Likewise.
41057 (grub_console_cls): Likewise.
41058 (grub_console_setcolorstate): Likewise.
41059 (grub_console_setcursor): Likewise.
41060
41061 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
41062
41063 2008-07-16 Pavel Roskin <proski@gnu.org>
41064
41065 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
41066 format strings.
41067
41068 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
41069 pointer, not an integer. This fixes a warning and prevents
41070 precision loss on 64-bit systems.
41071 (relocate_addresses): Remove unneeded cast.
41072
41073 2008-07-15 Pavel Roskin <proski@gnu.org>
41074
41075 * kern/i386/ieee1275/init.c: Include grub/cache.h.
41076
41077 * term/ieee1275/ofconsole.c: Disable code unused on i386.
41078
41079 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
41080 Fix comparison between signed and unsigned.
41081
41082 * include/grub/i386/ieee1275/console.h: Declare
41083 grub_console_init() and grub_console_fini().
41084
41085 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
41086 It's empty and unused.
41087
41088 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
41089 beginning to avoid warnings with some compilers.
41090
41091 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
41092 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
41093
41094 2008-07-14 Pavel Roskin <proski@gnu.org>
41095
41096 * kern/env.c (grub_register_variable_hook): Don't copy empty
41097 string, it leaks memory. Pass "" to grub_env_set(), it should
41098 handle constant strings.
41099
41100 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
41101 * commands/cmp.c (grub_cmd_cmp): Likewise.
41102 * kern/dl.c (grub_dl_flush_cache): Likewise.
41103 (grub_dl_load_core): Likewise.
41104 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
41105 (grub_elf64_load_phdrs): Likewise.
41106
41107 2008-07-13 Pavel Roskin <proski@gnu.org>
41108
41109 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
41110 between signed and unsigned.
41111 (LzmaEnc_Finish): Fix warning about an unused parameter.
41112
41113 2008-07-13 Bean <bean123ch@gmail.com>
41114
41115 * Makefile.in (enable_lzo): New rule.
41116
41117 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
41118
41119 * configure.ac (ENABLE_LZO): New option --enable-lzo.
41120
41121 * boot/i386/pc/lnxboot.S: #include <config.h>.
41122
41123 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
41124 its value according to the compression algorithm used, lzo or lzma.
41125
41126 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
41127 compression algorithm according to configure macro.
41128
41129 * kern/i386/pc/startup.S (codestart): Likewise.
41130
41131 * kern/i386/pc/lzma_decode.S: New file.
41132
41133 * include/grub/lib/LzFind.h: Likewise.
41134
41135 * include/grub/lib/LzHash.h: Likewise.
41136
41137 * include/grub/lib/LzmaDec.h: Likewise.
41138
41139 * include/grub/lib/LzmaEnc.h: Likewise.
41140
41141 * include/grub/lib/LzmaTypes.h: Likewise.
41142
41143 * lib/LzFind.c: Likewise.
41144
41145 * lib/LzmaDec.c: Likewise.
41146
41147 * lib/LzmaEnc.c: Likewise.
41148
41149 2008-07-13 Bean <bean123ch@gmail.com>
41150
41151 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
41152 (grub_ext4_extent_header): New structure.
41153 (grub_ext4_extent): Likewise.
41154 (grub_ext4_extent_idx): Likewise.
41155 (grub_ext4_find_leaf): New function.
41156 (grub_ext2_read_block): Handle extents.
41157
41158 2008-07-12 Robert Millan <rmh@aybabtu.com>
41159
41160 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
41161
41162 2008-07-11 Robert Millan <rmh@aybabtu.com>
41163
41164 * util/grub.d/40_custom.in: New file. Example on how to add custom
41165 entries to /etc/grub.d.
41166 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
41167 40_custom (implicitly, by merging all the grub.d rules).
41168
41169 2008-07-11 Pavel Roskin <proski@gnu.org>
41170
41171 * commands/read.c (grub_getline): Fix invalid memory access.
41172 Don't add newline to the variable value.
41173
41174 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
41175 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
41176 (serial_hw_get_port): Check validity of the port number.
41177 (grub_cmd_serial): Check return value of serial_hw_get_port().
41178
41179 2008-07-07 Pavel Roskin <proski@gnu.org>
41180
41181 * boot/i386/pc/diskboot.S (notification_string): Replace
41182 "Loading kernel" with just "loading". This is shorter, less
41183 confusing and saves a few bytes for possible future changes.
41184
41185 2008-07-05 Pavel Roskin <proski@gnu.org>
41186
41187 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
41188 size for ATAPI devices, they are undefined. Output sector
41189 number in decimal form.
41190
41191 * disk/ata.c: Use named constants for status bits.
41192
41193 2008-07-04 Pavel Roskin <proski@gnu.org>
41194
41195 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
41196 grub_addr_t before casting it to the void pointer to fix a
41197 warning. Non-addressable regions are discarded earlier.
41198 (grub_arch_modules_addr): Cast _end to grub_addr_t.
41199 * kern/i386/linuxbios/table.c: Include grub/misc.h.
41200 (check_signature): Don't shadow table_header.
41201 (grub_linuxbios_table_iterate): Cast numeric constants to
41202 grub_linuxbios_table_header_t.
41203 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
41204 grub_stop().
41205
41206 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
41207 prevent warnings.
41208
41209 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
41210 pointer, which can cause warnings. Support 64-bit addresses.
41211
41212 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
41213 of sizeof(long). This fixes PowerPC image generation on x86_64.
41214
41215 2008-07-04 Robert Millan <rmh@aybabtu.com>
41216
41217 This fixes a performance issue when pc & gpt partmap iterators
41218 didn't abort iteration even after our hook found what it was
41219 looking for (often causing expensive probes of non-existent drives).
41220
41221 Some callers relied on previous buggy behaviour, since they would
41222 raise an error when their own hooks caused early abortion of its
41223 iteration.
41224
41225 * kern/device.c (grub_device_open): Improve error message.
41226 * disk/lvm.c (grub_lvm_open): Likewise.
41227 * disk/raid.c (grub_raid_open): Likewise.
41228
41229 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
41230 when hook requests it, independently of grub_errno.
41231 (pc_partition_map_probe): Do not fail when find_func() caused
41232 early abortion of pc_partition_map_iterate().
41233
41234 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
41235 when hook requests it, independently of grub_errno.
41236 (gpt_partition_map_probe): Do not fail when find_func() caused
41237 early abortion of gpt_partition_map_iterate().
41238
41239 * kern/partition.c (grub_partition_iterate): Abort parent iteration
41240 when hook requests it, independently of grub_errno. Do not fail when
41241 part_map_iterate_hook() caused early abortion of p->iterate().
41242
41243 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
41244 when grub_partition_iterate() returned with non-zero.
41245
41246 2008-07-03 Pavel Roskin <proski@gnu.org>
41247
41248 * disk/ata.c (grub_ata_pio_write): Check status before writing,
41249 like we do in grub_ata_pio_read().
41250 (grub_ata_readwrite): Always write individual sectors. Fix the
41251 sector count for the remainder.
41252 (grub_ata_write): Enable writing to ATA devices. Correctly
41253 report error for ATAPI devices.
41254
41255 2008-07-02 Pavel Roskin <proski@gnu.org>
41256
41257 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
41258 warning.
41259
41260 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
41261 for every read sector, we already increment it for the whole
41262 batch. This fixes reading more than 256 sectors at once.
41263
41264 * util/grub-editenv.c (cmd_info): Cast argument to long
41265 explicitly. ptrdiff_t reduces to int on i386.
41266
41267 * util/grub-editenv.c (main): Be specific which parameter is
41268 missing.
41269
41270 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
41271 (memdisk): Make memdisk_orig_addr a pointer.
41272
41273 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
41274 for file offsets, use grub_off_t instead. Fix printf format
41275 warnings.
41276
41277 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
41278 there. Real unexpected warnings should not drown in the noise
41279 about known problems.
41280
41281 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
41282 grub_disk_addr_t for memory addresses.
41283
41284 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
41285 explicitly to fix a warning.
41286
41287 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
41288
41289 * Makefile.in (MODULE_LDFLAGS): New variable.
41290 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
41291 the linker accepts --build-id=none.
41292 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
41293 MODULE_LDFLAGS.
41294 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
41295
41296 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
41297 those in Linux XFS code. Provide a way to access 64-bit parent
41298 inode.
41299 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
41300 the end of struct grub_xfs_dir_header.
41301
41302 2008-07-02 Bean <bean123ch@gmail.com>
41303
41304 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
41305 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
41306 and GRUB_IEEE1275_FLAG_NO_ANSI.
41307
41308 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
41309 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
41310 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
41311
41312 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
41313 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
41314
41315 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
41316 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
41317
41318 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
41319 esc sequence on non ANSI terminal.
41320 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
41321
41322 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
41323 beginning of file.
41324
41325 2008-07-02 Bean <bean123ch@gmail.com>
41326
41327 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
41328 (grub_editenv_SOURCES): New variable.
41329 (pkglib_MODULES): Add loadenv.mod.
41330 (loadenv_mod_SOURCES): New variable.
41331 (loadenv_mod_CFLAGS): Likewise.
41332 (loadenv_mod_LDFLAGS): Likewise.
41333
41334 * include/grub/envblk.h: New file.
41335
41336 * util/envblk.c: New file.
41337
41338 * util/grub-editenv.c: New file.
41339
41340 * commands/loadenv.c: New file.
41341
41342 2008-07-01 Pavel Roskin <proski@gnu.org>
41343
41344 * include/multiboot2.h (struct multiboot_tag_module): Use char,
41345 not unsigned char. This fixes warnings and is consistent with
41346 other tags.
41347
41348 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
41349
41350 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
41351
41352 * term/tparm.c (analyze): Always set *popcount.
41353
41354 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
41355 cast to fix a warning.
41356
41357 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
41358 cast to suppress a warning.
41359
41360 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
41361 grub_fshelp_read_file() expects.
41362
41363 * fs/fat.c: Fix UUID calculation on big-endian systems. We
41364 write uuid as a 32-bit value in CPU byte order, so declare and
41365 use it as such.
41366
41367 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
41368 long if the format specifier expects it.
41369 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
41370 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41371 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
41372 long to fix a warning.
41373 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
41374 grub_dprintf() arguments to fix warnings.
41375
41376 2008-06-30 Pavel Roskin <proski@gnu.org>
41377
41378 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
41379 install_bsd_part immediately before core.img is embedded or
41380 modified on disk. This fixes core.img verification if core.img
41381 cannot be embedded.
41382
41383 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
41384 core_path to calculate the blocklist.
41385 Patch from Javier Martín <lordhabbit@gmail.com>
41386
41387 2008-06-29 Robert Millan <rmh@aybabtu.com>
41388
41389 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
41390 block to disk block.
41391 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
41392 Patch from Niels Böhm <bitbucket@arcor.de>
41393
41394 2008-06-29 Robert Millan <rmh@aybabtu.com>
41395
41396 * util/update-grub_lib.in (font_path): Search for fonts in
41397 /boot/grub first, which is more likely to be readable (we aren't
41398 deciding where fonts live, just looking for them).
41399
41400 2008-06-26 Pavel Roskin <proski@gnu.org>
41401
41402 * util/biosdisk.c (read_device_map): Don't leave dead map
41403 entries for devices failing stat() check.
41404
41405 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
41406 core_path_dev for the core.img path on the target device.
41407
41408 2008-06-26 Robert Millan <rmh@aybabtu.com>
41409
41410 * disk/fs_uuid.c: New file.
41411 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
41412 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
41413 (fs_uuid_mod_LDFLAGS): New variables.
41414 * include/grub/disk.h (grub_disk_dev_id): Add
41415 `GRUB_DISK_DEVICE_UUID_ID'.
41416 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
41417 implement iterate().
41418
41419 2008-06-26 Robert Millan <rmh@aybabtu.com>
41420
41421 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
41422 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
41423 Linux image includes no initrd.
41424
41425 2008-06-21 Javier Martín <lordhabbit@gmail.com>
41426
41427 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
41428 call to resolve the core image location that effectively appended the
41429 name twice.
41430
41431 2008-06-21 Robert Millan <rmh@aybabtu.com>
41432
41433 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
41434 call from here ...
41435
41436 * util/grub.d/10_hurd.in: ... to here ...
41437 * util/grub.d/10_linux.in: ... and here.
41438
41439 2008-06-19 Robert Millan <rmh@aybabtu.com>
41440
41441 * kern/main.c (grub_main): Export `prefix' variable immediately
41442 after it has been set by grub_machine_set_prefix().
41443
41444 2008-06-19 Robert Millan <rmh@aybabtu.com>
41445
41446 * commands/search.c (search_label, search_fs_uuid, search_file): Print
41447 search result when not saving to variable, not the other way around.
41448 When saving to variable, abort iteration as soon as a match is found.
41449
41450 2008-06-19 Robert Millan <rmh@aybabtu.com>
41451
41452 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
41453 check for partition that provides /boot/grub. Its logic is flawed,
41454 as it prevents prepare_grub_to_access_device() from being called
41455 multiple times.
41456
41457 2008-06-19 Robert Millan <rmh@aybabtu.com>
41458
41459 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
41460 "insmod" command directly when abstraction modules are needed,
41461 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
41462 since it had already been processed).
41463
41464 2008-06-19 Pavel Roskin <proski@gnu.org>
41465
41466 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
41467 changed. This is needed in case GRUB_LIBDIR changes.
41468 * conf/i386-ieee1275.rmk: Likewise.
41469 * conf/i386-linuxbios.rmk: Likewise.
41470 * conf/i386-pc.rmk: Likewise.
41471 * conf/powerpc-ieee1275.rmk: Likewise.
41472
41473 2008-06-18 Pavel Roskin <proski@gnu.org>
41474
41475 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
41476 kernel_elf_symlist.c to symlist.c for consistency with other
41477 architectures. Update all users.
41478 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41479
41480 2008-06-18 Robert Millan <rmh@aybabtu.com>
41481
41482 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
41483 it in prefix.
41484
41485 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
41486 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
41487 a RAID device, run setup() for all members independently on whether
41488 LVM abstraction is being used.
41489 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
41490 If grub-mkimage has set `*install_dos_part == -2', don't override this
41491 value.
41492 Perform *install_dos_part adjustments independently on whether
41493 we're embedding or not.
41494 Clarify error message when image is too big for embedding.
41495 Remove duplicate *install_dos_part stanza.
41496
41497 2008-06-17 Robert Millan <rmh@aybabtu.com>
41498
41499 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
41500 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
41501 variables.
41502 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
41503 values in grub_ofconsole_normal_color and
41504 grub_ofconsole_highlight_color (they're not directly related to
41505 background and foreground).
41506 (grub_ofconsole_setcolorstate): Extract background and foreground
41507 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
41508
41509 2008-06-17 Robert Millan <rmh@aybabtu.com>
41510
41511 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
41512 /boot/grub for the check in last commit, not /boot (they could be
41513 different partitions).
41514
41515 2008-06-16 Robert Millan <rmh@aybabtu.com>
41516
41517 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
41518 asked to setup access for the same partition that provides /boot,
41519 don't bother using UUIDs since our root already has the value we
41520 want.
41521
41522 2008-06-16 Robert Millan <rmh@aybabtu.com>
41523
41524 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
41525 I2O devices.
41526 Patch from Sven Mueller <sven@debian.org>.
41527
41528 2008-06-16 Robert Millan <rmh@aybabtu.com>
41529
41530 * util/update-grub.in: Check for $EUID instead of $UID.
41531 Reported by Vincent Zweije.
41532
41533 2008-06-16 Bean <bean123ch@gmail.com>
41534
41535 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
41536 (grub_ext2_read_block): Likewise.
41537 (grub_ext2_read_inode): Likewise.
41538 (grub_ext2_mount): Likewise.
41539 (grub_ext2_close): Likewise.
41540 (grub_ext3_get_journal): Removed.
41541
41542 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
41543 (grub_reiserfs_read_symlink): Likewise.
41544 (grub_reiserfs_mount): Likewise.
41545 (grub_reiserfs_open): Likewise.
41546 (grub_reiserfs_read): Likewise.
41547 (grub_reiserfs_close): Likewise.
41548 (grub_reiserfs_get_journal): Removed.
41549
41550 * fs/fshelp.c (grub_fshelp_read): Removed.
41551 (grub_fshelp_map_block): Likewise.
41552
41553 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
41554 (grub_fshelp_journal): Likewise.
41555 (grub_fshelp_read): Likewise.
41556 (grub_fshelp_map_block): Likewise.
41557
41558 2008-06-16 Pavel Roskin <proski@gnu.org>
41559
41560 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
41561 floating point anymore.
41562 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
41563
41564 2008-06-15 Pavel Roskin <proski@gnu.org>
41565
41566 * commands/ls.c (grub_ls_list_files): Use integer calculations
41567 for human readable format, avoid floating point use.
41568 * kern/misc.c (grub_ftoa): Remove.
41569 (grub_vsprintf): Remove floating point support.
41570
41571 2008-06-15 Robert Millan <rmh@aybabtu.com>
41572
41573 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
41574 devices.
41575 Reported by Max Vozeler.
41576
41577 2008-06-15 Robert Millan <rmh@aybabtu.com>
41578
41579 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
41580 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
41581 skipped later.
41582 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
41583 the beginning of the prefix.
41584
41585 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
41586 It is assumed that if we have a memdisk, grub-mkimage has set
41587 grub_prefix to include the "(memdisk)" drive in it.
41588
41589 2008-06-15 Robert Millan <rmh@aybabtu.com>
41590
41591 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
41592 Initialize keyboard controller after registering the terminal, so that
41593 grub_printf() can be called from grub_keyboard_controller_init().
41594
41595 2008-06-15 Robert Millan <rmh@aybabtu.com>
41596
41597 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
41598 extent-btree which is written as big endian on disk.
41599 Reported by Alain Greppin <al@chilibi.org>.
41600
41601 2008-06-14 Robert Millan <rmh@aybabtu.com>
41602
41603 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
41604 * util/i386/pc/grub-install.in (modules): Likewise.
41605
41606 2008-06-13 Pavel Roskin <proski@gnu.org>
41607
41608 * commands/ls.c (grub_ls_list_files): Fix format warnings.
41609
41610 2008-06-13 Bean <bean123ch@gmail.com>
41611
41612 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
41613
41614 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
41615
41616 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
41617 to indicate sparse block.
41618
41619 2008-06-12 Pavel Roskin <proski@gnu.org>
41620
41621 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
41622 number, grub_fshelp_read() does it for us.
41623
41624 * fs/fshelp.c (grub_fshelp_read): New function. Implement
41625 linear disk read with journal translation.
41626 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
41627 * include/grub/fshelp.h: Declare grub_fshelp_read().
41628
41629 2008-06-09 Pavel Roskin <proski@gnu.org>
41630
41631 * fs/minix.c (grub_minix_mount): Handle error reading
41632 superblock.
41633
41634 2008-06-08 Robert Millan <rmh@aybabtu.com>
41635
41636 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
41637 don't append the RAID prefix afterwards.
41638 Reported by Clint Adams.
41639
41640 2008-06-08 Robert Millan <rmh@aybabtu.com>
41641
41642 Based on description from Pavel:
41643 * kern/disk.c (grub_disk_check_range): Rename to ...
41644 (grub_disk_adjust_range): ... this. Add a comment explaining the
41645 tasks performed by this function.
41646
41647 2008-06-08 Robert Millan <rmh@aybabtu.com>
41648
41649 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
41650 `num_serial' (for consistency with other variables).
41651 (struct grub_ntfs_data): Add `uuid' member.
41652 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
41653 (grub_ntfs_uuid): New function.
41654 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
41655
41656 2008-06-07 Pavel Roskin <proski@gnu.org>
41657
41658 * util/biosdisk.c (open_device): Revert last change to the
41659 function, it broke installation. The sector needs to be
41660 different dependent on which device is opened.
41661
41662 2008-06-06 Robert Millan <rmh@aybabtu.com>
41663
41664 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
41665 rest of GRUB, and breakage doesn't happen if its value were modified.
41666
41667 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
41668 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
41669 a constant (same value).
41670 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
41671 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
41672
41673 2008-06-06 Robert Millan <rmh@aybabtu.com>
41674
41675 * util/biosdisk.c (open_device): Do not modify sector offset when
41676 accessing a partition. kern/disk.c already handles this for us.
41677
41678 2008-06-06 Robert Millan <rmh@aybabtu.com>
41679
41680 * util/grub-emu.c (grub_machine_init): Move code in this function from
41681 here ...
41682 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
41683 segfault in case grub_printf() is called).
41684
41685 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
41686 grub_probe. Update all users not to explicitly add it again.
41687 (grub_device): New variable; contains corresponding device for grubdir.
41688 (fs_module, partmap_module, devabstraction_module): Pass
41689 `--device ${grub_device}' to grub_probe to avoid traversing /dev
41690 every time.
41691
41692 2008-06-05 Robert Millan <rmh@aybabtu.com>
41693
41694 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
41695 is found, print it (same layout as with labels).
41696
41697 2008-06-04 Robert Millan <rmh@aybabtu.com>
41698
41699 * util/biosdisk.c (get_drive): Rename to ...
41700 (find_grub_drive): ... this. Update all users.
41701
41702 (get_os_disk): Rename to ...
41703 (convert_system_partition_to_system_disk): ... this. Update all users.
41704
41705 (find_drive): Rename to ...
41706 (find_system_device): ... this. Update all users.
41707
41708 2008-06-04 Robert Millan <rmh@aybabtu.com>
41709
41710 * util/biosdisk.c (get_os_disk): Handle IDA devices.
41711 * util/grub-mkdevicemap.c (get_mmc_disk_name)
41712 (make_device_map): Likewise.
41713
41714 2008-06-01 Robert Millan <rmh@aybabtu.com>
41715
41716 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
41717 before dereferencing it.
41718
41719 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
41720 union with fat12/fat16-specific ones. Add some new fields, including
41721 `num_serial' for both versions.
41722 (struct grub_fat_data): Add `uuid' member.
41723 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
41724 names. Initialize `data->uuid' using `num_serial'.
41725 (grub_fat_uuid): New function.
41726 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
41727
41728 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
41729 (grub_reiserfs_uuid): New function.
41730 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
41731 member.
41732
41733 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
41734 (grub_xfs_uuid): New function.
41735 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
41736
41737 2008-06-01 Robert Millan <rmh@aybabtu.com>
41738
41739 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
41740 code that is backward compatible with pre-uuid search command.
41741
41742 2008-05-31 Robert Millan <rmh@aybabtu.com>
41743
41744 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
41745 floppies after everything else, to ensure floppy drive isn't accessed
41746 unnecessarily (patch from Bean).
41747
41748 2008-05-31 Robert Millan <rmh@aybabtu.com>
41749
41750 * commands/search.c (search_label, search_fs_uuid, search_file): Do
41751 not print device names when we were asked to set a variable.
41752
41753 2008-05-31 Robert Millan <rmh@aybabtu.com>
41754
41755 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
41756 using "cursor-on" and "cursor-off" commands (understood at least by
41757 the Open Firmware flavour on OLPC).
41758
41759 2008-05-31 Michael Gorven <michael@gorven.za.net>
41760
41761 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
41762 on and off sequences.
41763
41764 2008-05-31 Robert Millan <rmh@aybabtu.com>
41765
41766 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
41767 * util/update-grub.in: Likewise.
41768
41769 2008-05-30 Pavel Roskin <proski@gnu.org>
41770
41771 * util/biosdisk.c (linux_find_partition): Simplify logic and
41772 make the code more universal. Keep special processing for
41773 devfs, but use a simple rule for all other devices. If the
41774 device ends with a number, append 'p' and the partition number.
41775 Otherwise, append only the partition number.
41776
41777 2008-05-30 Robert Millan <rmh@aybabtu.com>
41778
41779 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
41780 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
41781 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
41782 the `root' parameter to Linux.
41783
41784 2008-05-30 Robert Millan <rmh@aybabtu.com>
41785
41786 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
41787 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
41788 --fs_uuid with --fs-uuid.
41789 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
41790 all filesystems support them).
41791
41792 2008-05-30 Robert Millan <rmh@aybabtu.com>
41793
41794 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
41795 grub_printf() flags, since we're printing in units of 2 bytes.
41796
41797 2008-05-30 Robert Millan <rmh@aybabtu.com>
41798
41799 * util/grub.d/00_header.in: Remove obsolete comment referencing
41800 convert_system_path_to_grub_path().
41801 * util/update-grub.in: Likewise.
41802 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
41803 (convert_system_path_to_grub_path): Add a warning message explaining
41804 that this function is deprecated. Rely on is_path_readable_by_grub()
41805 for the readability checks.
41806 (font_path): Use is_path_readable_by_grub() for the readability
41807 check rather than convert_system_path_to_grub_path().
41808
41809 2008-05-30 Robert Millan <rmh@aybabtu.com>
41810
41811 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
41812 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
41813 converting it first.
41814 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
41815 grub.cfg for access to font file, and afterwards call it again to set
41816 the root device.
41817
41818 2008-05-30 Robert Millan <rmh@aybabtu.com>
41819
41820 * commands/search.c (options): Add --fs_uuid option.
41821 (search_fs_uuid): New function.
41822 (grub_cmd_search): Fix --set argument passing.
41823 Use search_fs_uuid() when requested via --fs_uuid.
41824 (grub_search_init): Update help message.
41825 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
41826 and redeclare it as an array of 16-bit words.
41827 (grub_ext2_uuid): New function.
41828 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
41829 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
41830 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
41831 (GRUB_DEVICE_BOOT_UUID): New variables.
41832 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
41833 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
41834 whenever possible.
41835 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
41836 just assume `root' variable has the right value.
41837 * util/grub.d/10_linux.in: Likewise.
41838 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
41839 via PRINT_FS_UUID.
41840 (main): Recognise `-t fs_uuid' argument.
41841
41842 2008-05-30 Robert Millan <rmh@aybabtu.com>
41843
41844 * util/biosdisk.c (map): Redefine structure to hold information
41845 about GRUB drive name.
41846 (get_drive): Reimplement without assuming (and verifying) BIOS-like
41847 drive names.
41848 (call_hook): Remove.
41849 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
41850 member. Assume drive has partitions.
41851 (grub_util_biosdisk_open): Access device names via `.device' struct
41852 member.
41853 (open_device): Likewise.
41854 (find_drive): Likewise.
41855 (read_device_map): Adjust map[] usage to match the new struct
41856 definition. Don't check for duplicates (still possible, but not cheap
41857 anymore).
41858 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
41859 (make_device_name): Remove assumption of BIOS-like drive names.
41860
41861 2008-05-30 Pavel Roskin <proski@gnu.org>
41862
41863 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
41864 compiling execute.c doesn't need grub_script.tab.h anymore.
41865 (normal/command.c_DEPENDENCIES): Likewise.
41866 (normal/function.c_DEPENDENCIES): Likewise.
41867 * conf/i386-ieee1275.rmk: Likewise.
41868 * conf/i386-linuxbios.rmk: Likewise.
41869 * conf/i386-pc.rmk: Likewise.
41870 * conf/powerpc-ieee1275.rmk: Likewise.
41871 * conf/sparc64-ieee1275.rmk: Likewise.
41872
41873 2008-05-29 Pavel Roskin <proski@gnu.org>
41874
41875 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
41876 when scanning metadata for volume group name.
41877
41878 * include/grub/script.h: Don't include grub_script.tab.h. It's
41879 a generated file, which may only be included from the files with
41880 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
41881 use union YYSTYPE, as the later allows forward declaration.
41882 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
41883
41884 2008-05-29 Robert Millan <rmh@aybabtu.com>
41885
41886 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
41887 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
41888 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
41889 (grub_console_checkkey): Add grub_dprintf() call to report unknown
41890 scan codes.
41891
41892 2008-05-29 Robert Millan <rmh@aybabtu.com>
41893
41894 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
41895 control key combinations.
41896
41897 2008-05-29 Robert Millan <rmh@aybabtu.com>
41898
41899 * util/powerpc/ieee1275/grub-install.in: Move from here ...
41900 * util/ieee1275/grub-install.in: ... to here.
41901 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
41902 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
41903 (grub_install_SOURCES): Likewise.
41904
41905 2008-05-29 Robert Millan <rmh@aybabtu.com>
41906
41907 * fs/affs.c: Update copyright year.
41908 * fs/ext2.c: Likewise.
41909 * fs/fshelp.c: Likewise.
41910 * fs/hfsplus.c: Likewise.
41911 * fs/ntfs.c: Likewise.
41912 * fs/xfs.c: Likewise.
41913 * include/grub/fshelp.h: Likewise.
41914 * util/grub-mkdevicemap.c: Likewise.
41915
41916 2008-05-28 Robert Millan <rmh@aybabtu.com>
41917
41918 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
41919 might need to be fatfs to support some firmware implementations
41920 (e.g. OFW or EFI).
41921
41922 2008-05-28 Robert Millan <rmh@aybabtu.com>
41923
41924 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
41925 devices.
41926 * util/grub-mkdevicemap.c (get_mmc_disk_name)
41927 (make_device_map): Likewise.
41928
41929 2008-05-20 Bean <bean123ch@gmail.com>
41930
41931 * fs/fshelp.c (grub_fshelp_map_block): New function.
41932 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
41933 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
41934
41935 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
41936 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
41937 (grub_fshelp_journal): New structure.
41938 (grub_fshelp_map_block): New function prototype.
41939 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
41940 (grub_fshelp_map_block): Likewise.
41941
41942 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
41943 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
41944 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
41945 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
41946 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
41947 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
41948 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
41949 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
41950 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
41951 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
41952 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
41953 (grub_ext2_sblock): New members for journal support.
41954 (grub_ext3_journal_header): New structure.
41955 (grub_ext3_journal_revoke_header): Likewise.
41956 (grub_ext3_journal_block_tag): Likewise.
41957 (grub_ext3_journal_sblock): Likewise.
41958 (grub_fshelp_node): New members logfile and journal.
41959 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
41960 grub_fshelp_map_block to get real block number.
41961 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
41962 number.
41963 (grub_ext2_read_inode): Likewise.
41964 (grub_ext3_get_journal): New function.
41965 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
41966 (grub_ext2_close): Release memory used by journal.
41967
41968 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
41969 (REISERFS_MAGIC_DESC_BLOCK): New macro.
41970 (grub_reiserfs_transaction_header): Renamed to
41971 grub_reiserfs_description_block, replace field data with real_blocks.
41972 (grub_reiserfs_commit_block): New structure.
41973 (grub_reiserfs_data): New member journal.
41974 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
41975 number.
41976 (grub_reiserfs_read_symlink): Likewise.
41977 (grub_reiserfs_iterate_dir): Likewise.
41978 (grub_reiserfs_open): Likewise.
41979 (grub_reiserfs_read): Likewise.
41980 (grub_reiserfs_get_journal): New function.
41981 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
41982 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
41983 using grub_reiserfs_get_journal.
41984 (grub_reiserfs_close): Release memory used by journal.
41985
41986 * fs/affs.c (grub_affs_read_block): Change block type to
41987 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
41988
41989 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
41990
41991 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
41992
41993 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
41994
41995 * fs/udf.c (grub_udf_read_block): Change block type to
41996 grub_disk_addr_t. Use type cast to avoid warning.
41997
41998 * fs/xfs.c (grub_xfs_read_block): Likewise.
41999
42000 2008-05-16 Christian Franke <franke@computer.org>
42001
42002 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
42003 to ensure that break with ESC will always work.
42004 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
42005 Remove ESC from keyboard queue.
42006
42007 2008-05-16 Christian Franke <franke@computer.org>
42008
42009 * util/biosdisk.c: [__CYGWIN__] Add includes.
42010 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
42011 (get_os_disk): Move variable declarations to OS specific
42012 parts to avoid warning.
42013 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
42014 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
42015 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
42016 Cygwin.
42017 * util/getroot.c: [__CYGWIN__] Add includes.
42018 (strip_extra_slashes): Fix "/" case.
42019 [__CYGWIN__] (get_win32_path): New function.
42020 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
42021 [__CYGWIN__] (find_root_device): Disable.
42022 [__CYGWIN__] (get_bootsec_serial): New function.
42023 [__CYGWIN__] (find_cygwin_root_device): Likewise.
42024 [__linux__] (grub_guess_root_device): Add early returns to simplify
42025 structure.
42026 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
42027 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
42028 check for Linux only.
42029
42030 2008-05-15 Bean <bean123ch@gmail.com>
42031
42032 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
42033 keyboard hang problem in apple's intel mac.
42034
42035 2008-05-09 Robert Millan <rmh@aybabtu.com>
42036
42037 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
42038 devices.
42039 * util/grub-mkdevicemap.c (get_virtio_disk_name)
42040 (make_device_map): Likewise.
42041 Reported by Aurelien Jarno <aurel32@debian.org>
42042
42043 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
42044
42045 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
42046 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
42047 (make_device_map): Output entries for xvd type disks.
42048
42049 2008-05-07 Robert Millan <rmh@aybabtu.com>
42050
42051 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
42052 devices.
42053 * util/grub-mkdevicemap.c (get_cciss_disk_name)
42054 (make_device_map): Likewise.
42055 Reported by Roland Dreier <rdreier@cisco.com>
42056
42057 2008-05-07 Robert Millan <rmh@aybabtu.com>
42058
42059 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
42060 grub_strstr() call. Correct a few mistakes in failure path handling.
42061
42062 2008-05-06 Robert Millan <rmh@aybabtu.com>
42063
42064 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
42065 Do not print a trailing slash (therefore, the root directory is an
42066 empty string).
42067 (convert_system_path_to_grub_path): Do not remove trailing slash
42068 from make_system_path_relative_to_its_root() output.
42069
42070 * util/i386/pc/grub-install.in: Add trailing slash to output from
42071 make_system_path_relative_to_its_root().
42072
42073 2008-05-06 Robert Millan <rmh@aybabtu.com>
42074
42075 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
42076 ensures that output lines aren't intermangled with those sent to
42077 stderr (via grub_util_info()).
42078 * util/grub-probe.c (grub_refresh): Likewise.
42079 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
42080
42081 2008-05-05 Christian Franke <franke@computer.org>
42082
42083 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
42084 Add Cygwin device names.
42085 (get_ide_disk_name) [__CYGWIN__]: Likewise.
42086 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
42087 (check_device): Return error instead of success on empty name.
42088 (make_device_map): Move label inside linux specific code to
42089 prevent compiler warning.
42090
42091 2008-04-30 Robert Millan <rmh@aybabtu.com>
42092
42093 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
42094 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
42095 first boot option.
42096 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
42097
42098 2008-04-29 Robert Millan <rmh@aybabtu.com>
42099
42100 * docs/grub.cfg: New file (example GRUB configuration).
42101
42102 2008-04-26 Robert Millan <rmh@aybabtu.com>
42103
42104 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
42105 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
42106 and `disk/ieee1275/nand.c'.
42107
42108 2008-04-25 Bean <bean123ch@gmail.com>
42109
42110 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
42111 i386-linuxbios.
42112
42113 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
42114 change the buffer size to 4096 for cdrom device.
42115
42116 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
42117 and nand.mod.
42118 (_linux_mod_SOURCES): New variable.
42119 (_linux_mod_CFLAGS): Likewise.
42120 (_linux_mod_LDFLAGS): Likewise.
42121 (linux_mod_SOURCES): Likewise.
42122 (linux_mod_CFLAGS): Likewise.
42123 (linux_mod_LDFLAGS): Likewise.
42124 (nand_mod_SOURCES): Likewise.
42125 (nand_mod_CFLAGS): Likewise.
42126 (nand_mod_LDFLAGS): Likewise.
42127
42128 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
42129 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
42130 type property. (nand device in olpc don't have this property)
42131
42132 * include/grub/disk.h (grub_disk_dev_id): New macro
42133 GRUB_DISK_DEVICE_NAND_ID.
42134
42135 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
42136 function prototype.
42137 (grub_rescue_cmd_initrd): Likewise.
42138
42139 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
42140 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
42141 ofw_cif_handler and ofw_idt, adjust padding number.
42142
42143 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
42144 GRUB_MACHINE_IEEE1275 is defined.
42145
42146 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
42147 Use NESTED_FUNC_ATTR attribute on the hook parameter.
42148
42149 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
42150 on nested function heap_init.
42151 (grub_upper_mem): New variable for i386-ieee1275.
42152 (grub_get_extended_memory): New function for i386-ieee1275.
42153 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
42154
42155 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
42156 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
42157 property.
42158
42159 * loader/i386/ieee1275/linux.c: New file.
42160
42161 * loader/i386/ieee1275/linux_normal.c: New file.
42162
42163 * disk/ieee1275/nand.c: New file.
42164
42165 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
42166
42167 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
42168 value.
42169 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
42170
42171 2008-04-18 Robert Millan <rmh@aybabtu.com>
42172
42173 Restructures early code path on ieee1275 to unify grub_main() as
42174 the first C function that is executed in every platform.
42175
42176 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
42177 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
42178 cmain().
42179 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
42180 * kern/ieee1275/cmain.c (cmain): Rename to ...
42181 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
42182 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
42183 at the beginning.
42184
42185 2008-04-18 Robert Millan <rmh@aybabtu.com>
42186
42187 * util/update-grub.in: Fix syntax error when setting
42188 `GRUB_PRELOAD_MODULES'.
42189 Reported by Stephane Chazelas <stephane@artesyncp.com>
42190
42191 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
42192
42193 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
42194 section into account, newer toolchains generate unique build ids
42195 * configure.ac: remove the test for --build-id=none acceptance,
42196 we want build ids to be preserved
42197 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
42198 far from other sections don't cause the raw binary images grow
42199 size
42200
42201 2008-04-15 Robert Millan <rmh@aybabtu.com>
42202
42203 * disk/lvm.c: Update copyright year.
42204 * kern/misc.c: Likewise.
42205
42206 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
42207
42208 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
42209 there is no memory left for physical volume name.
42210
42211 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
42212
42213 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
42214 volume name mapping to support bigger than 9 character names properly.
42215
42216 2008-04-13 Robert Millan <rmh@aybabtu.com>
42217
42218 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
42219 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
42220
42221 2008-04-13 Christian Franke <franke@computer.org>
42222
42223 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
42224 to create a floppy emulation boot CD when non emulation mode
42225 does not work.
42226 Enable Joliet CD filesystem extension.
42227
42228 2008-04-13 Robert Millan <rmh@aybabtu.com>
42229
42230 * kern/misc.c (grub_strncat): Fix off-by-one error.
42231 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
42232
42233 * kern/env.c (grub_env_context_close): Clear current context, not
42234 previous one.
42235 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
42236
42237 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
42238
42239 2008-04-13 Robert Millan <rmh@aybabtu.com>
42240
42241 Improve robustness when handling LVM.
42242
42243 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
42244 (and leave `*p' unmodified).
42245 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
42246 through it.
42247 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
42248 iterating through it.
42249 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
42250 through it.
42251 (grub_lvm_scan_device): Check the return value (and fail gracefully
42252 when due) on each grub_lvm_getvalue() or grub_strstr() call.
42253 Don't assume `vg->pvs != NULL' when iterating through it.
42254
42255 2008-04-13 Robert Millan <rmh@aybabtu.com>
42256
42257 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
42258 * genmk.rb (partmap): New variable.
42259 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
42260 (#{partmap}): New target rule.
42261 * genpartmaplist.sh: New file.
42262 * Makefile.in (pkglib_DATA): Add partmap.lst.
42263 (partmap.lst): New target rule.
42264 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
42265 modules (including all partition maps), instead of preloading them.
42266
42267 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
42268
42269 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
42270 `linux-boot-prober' (if installed) to detect other operating
42271 systems which are installed on the computer and add them to
42272 the boot menu.
42273 * conf/common.rmk: Build and install 30_os-prober.
42274
42275 2008-04-12 Robert Millan <rmh@aybabtu.com>
42276
42277 * kern/powerpc/ieee1275/init.c: Move from here ...
42278 * kern/ieee1275/init.c: ... to here. Update all users.
42279
42280 * kern/powerpc/ieee1275/cmain.c: Move from here ...
42281 * kern/ieee1275/cmain.c: ... to here. Update all users.
42282
42283 * kern/powerpc/ieee1275/openfw.c: Move from here ...
42284 * kern/ieee1275/openfw.c: ... to here. Update all users.
42285
42286 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
42287 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
42288
42289 2008-04-10 Pavel Roskin <proski@gnu.org>
42290
42291 * configure.ac: Always use "_cv_" in cache variables for
42292 compatibility with Autoconf 2.62.
42293
42294 2008-04-07 Robert Millan <rmh@aybabtu.com>
42295
42296 Revert grub/machine/init.h addition by Pavel (since it breaks on
42297 i386-ieee1275 and others):
42298 * util/i386/pc/misc.c: Remove grub/machine/init.h.
42299 * util/powerpc/ieee1275/misc.c: Likewise.
42300
42301 2008-04-07 Robert Millan <rmh@aybabtu.com>
42302
42303 * util/grub-probe.c (probe): Improve error message.
42304
42305 2008-04-07 Robert Millan <rmh@aybabtu.com>
42306
42307 * util/biosdisk.c (read_device_map): Skip devices that don't exist
42308 (this prevents the presence of a bogus entry from ruining the whole
42309 thing).
42310
42311 2008-04-06 Pavel Roskin <proski@gnu.org>
42312
42313 * util/biosdisk.c: Include grub/util/biosdisk.h.
42314 * util/grub-fstest.c (execute_command): Make static.
42315 * util/grub-mkdevicemap.c (check_device): Likewise.
42316 * util/i386/pc/misc.c: Include grub/machine/init.h.
42317 * util/powerpc/ieee1275/misc.c: Likewise.
42318 * util/lvm.c: Include grub/util/lvm.h.
42319 * util/misc.c: Include grub/kernel.h, grub/misc.h and
42320 grub/cache.h.
42321 * util/raid.c: Include grub/util/raid.h.
42322 (grub_util_getdiskname): Make static.
42323
42324 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
42325 grub_hostfs_fini(), as they are called from grub_init_all() and
42326 grub_fini_all() respectively. This fixes an infinite loop in
42327 grub-fstest due to double registration of hostfs.
42328 Reported by Christian Franke <Christian.Franke@t-online.de>
42329
42330 2008-04-05 Pavel Roskin <proski@gnu.org>
42331
42332 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
42333 all 8 functions. Otherwise, probe function 0 only.
42334
42335 2008-04-04 Pavel Roskin <proski@gnu.org>
42336
42337 * commands/lspci.c (grub_lspci_iter): Print the bus number
42338 correctly.
42339
42340 * commands/lspci.c (grub_pci_classes): Fix typos.
42341 (grub_lspci_iter): Don't print func twice. Print vendor ID
42342 before device ID, as it's normally done.
42343
42344 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
42345 Fix signedness warnings.
42346 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
42347 Likewise.
42348 * util/ieee1275/get_disk_name.c: Include config.h so that
42349 _GNU_SOURCE is defined and getline() is declared. Mark an
42350 unused argument as such. Fix a signedness warning.
42351
42352 2008-04-02 Pavel Roskin <proski@gnu.org>
42353
42354 * genkernsyms.sh.in: Use more robust assignments for CC and
42355 srcdir. Quote srcdir.
42356 * gensymlist.sh.in: Likewise. Assert at the compile time that
42357 the symbol table is not empty.
42358
42359 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
42360 * fs/cpio.c (grub_cpio_read): Likewise.
42361
42362 2008-04-01 Pavel Roskin <proski@gnu.org>
42363
42364 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
42365 * disk/host.c (grub_host_open): Likewise.
42366 * disk/loopback.c (grub_loopback_open): Likewise.
42367 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
42368 disk->id as in disk/host.c, not a multi-character constant.
42369
42370 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
42371 later is obsolete, potentially dangerous and sets a bad example.
42372 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
42373 * util/misc.c (grub_util_get_image_size): Likewise.
42374
42375 * disk/loopback.c (options): Improve help for "--partitions".
42376
42377 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
42378 options to align them with the short options, e.g. "echo -e".
42379
42380 2008-03-31 Bean <bean123ch@gmail.com>
42381
42382 * video/reader/png.c (grub_png_data): New member is_16bit and
42383 image_data.
42384 (grub_png_decode_image_header): Detect 16 bit png image.
42385 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
42386 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
42387 (grub_video_reader_png): Release memory occupied by image_data.
42388
42389 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
42390 4096 bytes.
42391 (grub_nfs_mount): Skip the test for sector per cluster.
42392
42393 * include/grub/ntfs.h (MAX_SPC): Removed.
42394
42395 2008-03-31 Bean <bean123ch@gmail.com>
42396
42397 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
42398 (grub_probe_SOURCES): Add fs/afs.c.
42399 (grub_fstest_SOURCES): Likewise.
42400 (afs_mod_SOURCES): New variable.
42401 (afs_mod_CFLAGS): Likewise.
42402 (afs_mod_LDFLAGS): Likewise.
42403
42404 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
42405 (grub_emu_SOURCES): Likewise.
42406
42407 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42408
42409 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42410
42411 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42412
42413 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42414
42415 * fs/afs.c: New file.
42416
42417 2008-03-30 Pavel Roskin <proski@gnu.org>
42418
42419 * disk/host.c: Include grub/misc.h to fix a warning.
42420 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
42421 warnings about implicit declarations.
42422
42423 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
42424 variable.
42425 * include/grub/i386/loader.h: Change declaration of
42426 grub_linux_boot() to match what grub_loader_set() expects.
42427 * util/getroot.c (grub_guess_root_device): Return const char* to
42428 fix a warning.
42429 * util/grub-probe.c (probe): Fix a warning about uninitialized
42430 abstraction_name variable.
42431 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
42432 second argument as unused to fix a warning.
42433
42434 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
42435 missing grub_error() call.
42436
42437 * util/update-grub_lib.in: Define datarootdir, since Autoconf
42438 2.60 and newer uses it to define datadir.
42439
42440 * commands/sleep.c: Fix warning about implicit declaration.
42441 * disk/memdisk.c: Likewise.
42442 * loader/aout.c: Likewise.
42443 * loader/i386/bsd_normal.c: Likewise.
42444 * util/grub-probe.c: Likewise.
42445
42446 * commands/i386/cpuid.c (has_longmode): Make static.
42447 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
42448 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
42449
42450 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
42451 GDT. This is more robust, as %ds can change.
42452 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
42453 calling real_to_prot().
42454 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
42455
42456 2008-03-28 Pavel Roskin <proski@gnu.org>
42457
42458 * kern/i386/pc/startup.S: Assert that uncompressed functions
42459 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
42460 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
42461 code, as they push parts of the code (error handlers) beyond
42462 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
42463 code as correctness and size.
42464
42465 2008-03-28 Pavel Roskin <proski@gnu.org>
42466
42467 * kern/i386/pc/startup.S
42468 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
42469 data block address to the real mode, keep offset minimal. This
42470 works around a bug in AWARD BIOS on old Athlon systems, which
42471 makes CD detection hang.
42472
42473 2008-03-26 Pavel Roskin <proski@gnu.org>
42474
42475 * normal/color.c (grub_parse_color_name_pair): Make `name' a
42476 const.
42477 * include/grub/normal.h: Add grub_parse_color_name_pair()
42478 declaration.
42479
42480 2008-03-24 Bean <bean123ch@gmail.com>
42481
42482 * disk/i386/pc/biosdisk.c (cd_start): Removed.
42483 (cd_count): Removed.
42484 (cd_drive): New variable.
42485 (grub_biosdisk_get_drive): Don't check for (cdN) device.
42486 (grub_biosdisk_call_hook): Likewise.
42487 (grub_biosdisk_iterate): Change cdrom detection method.
42488 (grub_biosdisk_open): Replace cd_start with cd_drive.
42489 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
42490 detect cdrom device.
42491
42492 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
42493 Removed.
42494 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
42495 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
42496 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
42497 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
42498 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
42499 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
42500 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
42501 (grub_biosdisk_cdrp): New structure.
42502 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
42503
42504 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
42505
42506 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
42507 device.
42508
42509 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
42510 New function.
42511
42512 2008-03-20 Robert Millan <rmh@aybabtu.com>
42513
42514 Remove 2 TiB limit in ata.mod.
42515 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
42516 (grub_ata_dumpinfo): Print sector count with 0x%llx.
42517 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
42518 grub_uint64_t instead of grub_uint32_t.
42519
42520 2008-03-05 Bean <bean123ch@gmail.com>
42521
42522 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
42523 (grub_multiboot): Set boot device.
42524
42525 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
42526
42527 2008-03-02 Bean <bean123ch@gmail.com>
42528
42529 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
42530 symlink_buffer.
42531
42532 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
42533
42534 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
42535 texinfo.tex.
42536
42537 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
42538 modified.
42539
42540 * docs/fdl.texi: New file.
42541
42542 * docs/mdate-sh: New file. Copied from gnulib.
42543 * docs/texinfo.tex: Likewise.
42544
42545 * config.guess: Updated from gnulib.
42546 * install-sh: Likewise.
42547
42548 2008-02-28 Robert Millan <rmh@aybabtu.com>
42549
42550 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
42551 (aout_mod_SOURCES): New variable.
42552 (aout_mod_CFLAGS): Likewise.
42553 (aout_mod_LDFLAGS): Likewise.
42554
42555 * conf/i386-ieee1275.rmk: Likewise.
42556
42557 2008-02-28 Robert Millan <rmh@aybabtu.com>
42558
42559 * util/update-grub.in: Reorganise terminal validity check. Accept
42560 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
42561 Based on suggestion by Franklin PIAT.
42562
42563 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
42564
42565 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
42566 function.
42567 * util/getroot.c (grub_util_check_block_device): New function that
42568 returns the given argument if it is a block device and returns NULL else.
42569 * util/grub-probe.c (argument_is_device): New variable.
42570 (probe): Promote device_name from a variable to an argument. Receive
42571 device_name from grub_util_check_block_device() if path is NULL and from
42572 grub_guess_root_device() else. Do not free() device_name anymore.
42573 (options): Introduce new parameter '-d, --device'.
42574 (main): Add description of the new parameter to the help screen.
42575 Rename path variable to argument. Set argument_is_device if the '-d'
42576 option is given. Pass argument to probe() depending on
42577 argument_is_device.
42578
42579 2008-02-24 Bean <bean123ch@gmail.com>
42580
42581 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
42582 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
42583 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
42584 (GRUB_ISO9660_VOLDESC_PART): Likewise.
42585 (GRUB_ISO9660_VOLDESC_END): Likewise.
42586 (grub_iso9660_primary_voldesc): New member escape.
42587 (grub_iso9660_data): New member joliet.
42588 (grub_iso9660_convert_string): New function.
42589 (grub_iso9660_mount): Detect joliet extension.
42590 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
42591 (grub_iso9660_iso9660_label): Likewise.
42592
42593 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
42594 (grub_setup_SOURCES): Add fs/udf.c.
42595 (grub_fstest_SOURCES): Likewise.
42596 (udf_mod_SOURCES): New variable.
42597 (udf_mod_CFLAGS): Likewise.
42598 (udf_mod_LDFLAGS): Likewise.
42599
42600 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
42601 (grub_emu_SOURCES): Likewise.
42602
42603 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42604
42605 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42606
42607 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42608
42609 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42610
42611 * fs/udf.c: New file.
42612
42613 2008-02-24 Robert Millan <rmh@aybabtu.com>
42614
42615 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
42616 (normal/lexer.c_DEPENDENCIES): New variables.
42617 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
42618 (normal/lexer.c_DEPENDENCIES): Likewise.
42619 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
42620 (normal/lexer.c_DEPENDENCIES): Likewise.
42621 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
42622 (normal/lexer.c_DEPENDENCIES): Likewise.
42623 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
42624 (normal/lexer.c_DEPENDENCIES): Likewise.
42625 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
42626 (normal/lexer.c_DEPENDENCIES): Likewise.
42627
42628 2008-02-23 Robert Millan <rmh@aybabtu.com>
42629
42630 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
42631 since they were intended to be in hex. This didn't break previously
42632 because of a bug in gpt_partition_map_iterate() (see below).
42633
42634 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
42635 when checking the validity of GPT header.
42636 Remove `partno', since it always provides the same information as `i'.
42637
42638 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
42639
42640 * include/grub/efi/time.h: Fix a wrong comment.
42641
42642 2008-02-19 Pavel Roskin <proski@gnu.org>
42643
42644 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
42645 message.
42646
42647 2008-02-19 Bean <bean123ch@gmail.com>
42648
42649 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
42650 (aout_mod_SOURCES): New variable.
42651 (aout_mod_CFLAGS): Likewise.
42652 (aout_mod_LDFLAGS): Likewise.
42653 (_bsd_mod_SOURCES): New variable.
42654 (_bsd_mod_CFLAGS): Likewise.
42655 (_bsd_mod_LDFLAGS): Likewise.
42656 (bsd_mod_SOURCES): New variable.
42657 (bsd_mod_CFLAGS): Likewise.
42658 (bsd_mod_LDFLAGS): Likewise.
42659
42660 * include/grub/aout.h: New file.
42661
42662 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
42663
42664 * include/grub/i386/bsd.h: New file.
42665
42666 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
42667 to make it public.
42668
42669 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
42670 function is called, so that it's possible to change it inside the hook.
42671 (grub_elf64_load): Likewise.
42672 (grub_elf_file): Don't close the file if elf header is not found.
42673 (grub_elf_close): Close the file if grub_elf_file fails (The new
42674 grub_elf_file won't close it).
42675 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
42676 (grub_elf64_size): Likewise.
42677
42678 * kern/i386/loader.S (grub_unix_real_boot): New function.
42679
42680 * loader/aout.c: New file.
42681
42682 * loader/i386/bsd.c: New file.
42683
42684 * loader/i386/bsd_normal.c: New file.
42685
42686 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
42687
42688 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
42689 can test other formats.
42690
42691 2008-02-19 Robert Millan <rmh@aybabtu.com>
42692
42693 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
42694 (grub_gpt_partition_type_empty): Redefine with macro from
42695 `<grub/gpt_partition.h>'.
42696 (gpt_partition_map_iterate): Adjust partition type comparison.
42697
42698 Export `entry' as partmap-specific `part.data' struct.
42699 (grub_gpt_header, grub_gpt_partentry): Move from here ...
42700
42701 * include/grub/gpt_partition.h (grub_gpt_header)
42702 (grub_gpt_partentry): ... to here (new file).
42703
42704 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
42705
42706 (grub_gpt_partition_type_bios_boot): New const variable, defined
42707 with macro from `<grub/gpt_partition.h>'.
42708
42709 (setup): Replace `first_start' with `embed_region', which keeps
42710 track of the embed region (and is partmap-agnostic).
42711
42712 Replace find_first_partition_start() with find_usable_region(),
42713 which finds a usable region for embedding using partmap-specific
42714 knowledge (supports PC/MSDOS and GPT).
42715
42716 Fix all assumptions that the embed region start at sector 1, using
42717 `embed_region.start' from now on. Similarly, use `embed_region.end'
42718 rather than `first_start' to calculate available size.
42719
42720 In grub_util_info() message, replace "into after the MBR" with an
42721 indication of the specific sector our embed region starts at.
42722
42723 2008-02-19 Robert Millan <rmh@aybabtu.com>
42724
42725 * DISTLIST: Replace `commands/ieee1275/halt.c' and
42726 `commands/ieee1275/reboot.c' with `commands/halt.c' and
42727 `commands/reboot.c'.
42728 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
42729 (halt_mod_SOURCES): Likewise.
42730 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
42731 (halt_mod_SOURCES): Likewise.
42732
42733 2008-02-17 Christian Franke <franke@computer.org>
42734
42735 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
42736
42737 2008-02-17 Robert Millan <rmh@aybabtu.com>
42738
42739 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
42740 set `first_start' to 0 for non-PC/MSDOS partition maps.
42741
42742 2008-02-16 Robert Millan <rmh@aybabtu.com>
42743
42744 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
42745 do not assume partition map is PC/MSDOS before performing checks that
42746 are specific to that layout.
42747
42748 2008-02-13 Robert Millan <rmh@aybabtu.com>
42749
42750 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
42751 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
42752 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
42753
42754 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
42755
42756 * configure.ac: Only a cosmetic change on the handling of
42757 -fno-stack-protector.
42758
42759 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
42760
42761 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
42762 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
42763 reboot.c.
42764 (grub_install_SOURCES): Add halt.mod and reboot.mod.
42765 (halt_mod_SOURCES): New variable.
42766 (halt_mod_CFLAGS): Likewise.
42767 (halt_mod_LDFLAGS): Likewise.
42768 (reboot_mod_SOURCES): Likewise.
42769 (reboot_mod_CFLAGS): Likewise.
42770 (reboot_mod_LDFLAGS): Likewise.
42771
42772 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
42773 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
42774 reboot.c.
42775 (halt_mod_SOURCES): Likewise.
42776 (reboot_mod_SOURCES): Likewise.
42777
42778 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
42779 commands/i386/pc/reboot.c by commands/reboot.c.
42780 (reboot_mod_SOURCES): Likewise.
42781
42782 * commands/i386/pc/reboot.c: merge this file ...
42783
42784 * commands/ieee1275/reboot.c: ... and this file ...
42785
42786 * commands/reboot.c: ... to this file.
42787 Add some precompiler directive to include the correct header for
42788 each machine.
42789
42790 * commands/ieee1275/halt.c: move this file ...
42791
42792 * commands/halt.c: ... to here.
42793 Add some precompiler directive to include the correct header for
42794 each machine.
42795
42796 * include/grub/efi/efi.h (grub_reboot): New function declaration.
42797 (grub_halt): Likewise.
42798
42799 * kern/efi/efi.c (grub_reboot): New function.
42800 (grub_halt): Likewise.
42801
42802 2008-02-12 Robert Millan <rmh@aybabtu.com>
42803
42804 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
42805 /dev (like it is done for /dev/mapper). This doesn't provide support
42806 for EVMS, but at least it is now easy to identify the problem when it
42807 arises.
42808
42809 2008-02-11 Robert Millan <rmh@aybabtu.com>
42810
42811 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
42812 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
42813 comparing it with -1, not 0.
42814
42815 2008-02-10 Robert Millan <rmh@aybabtu.com>
42816
42817 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
42818 `disk/lvm.c'.
42819 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42820 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
42821
42822 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
42823 `disk/lvm.c' to the end of the list.
42824 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42825 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
42826
42827 2008-02-10 Robert Millan <rmh@aybabtu.com>
42828
42829 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
42830 grub_print_error() instead. This will let user know why we're entering
42831 rescue mode.
42832 Based on suggestions from Sam Morris.
42833
42834 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
42835
42836 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
42837 on remaining N args, instead of "--" arg N times.
42838
42839 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
42840
42841 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
42842 (fill_with_default_glyph): Changed to use unknown_glyph for fill
42843 pattern for unknown glyphs.
42844
42845 2008-02-09 Robert Millan <rmh@aybabtu.com>
42846
42847 * configure.ac: Probe for `help2man'.
42848 * Makefile.in (builddir): New variable.
42849 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
42850 or otherwise add a few flags/options to it.
42851 (install-local): For every executable utility or script that is
42852 installed, invoke $(HELP2MAN) to install a manpage based on --help
42853 output.
42854
42855 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
42856 that it doesn't prevent --help from working in build tree.
42857
42858 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
42859 with `bug-grub@gnu.org'.
42860 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
42861 * util/update-grub.in (usage): New function.
42862 Implement proper argument check, with support for --help and --version
42863 (as well as existing -y).
42864
42865 2008-02-09 Christian Franke <franke@computer.org>
42866
42867 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
42868 avoid overwriting previous output.
42869 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
42870
42871 2008-02-09 Robert Millan <rmh@aybabtu.com>
42872
42873 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
42874 drawing the menu.
42875
42876 2008-02-09 Robert Millan <rmh@aybabtu.com>
42877
42878 * commands/sleep.c: New file.
42879 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
42880 (sleep_mod_SOURCES): New variable.
42881 (sleep_mod_CFLAGS): Likewise.
42882 (sleep_mod_LDFLAGS): Likewise.
42883
42884 2008-02-09 Robert Millan <rmh@aybabtu.com>
42885
42886 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
42887 situations in which we can deduce the RAID size and the superblock
42888 doesn't match it.
42889
42890 2008-02-09 Robert Millan <rmh@aybabtu.com>
42891
42892 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
42893 and return a grub_diskmemberlist_t composed of LVM physical volumes.
42894 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
42895
42896 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
42897 and return a grub_diskmemberlist_t composed of physical array members.
42898 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
42899
42900 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
42901 prototype.
42902 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
42903 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
42904 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
42905
42906 * util/grub-probe.c (probe): Move partmap probing code from here ...
42907 (probe_partmap): ... to here.
42908 (probe): Use probe_partmap() once for the disk we're probing, and
42909 additionally, when such disk contains a memberlist() struct member,
42910 once for each disk that is contained in the structure returned by
42911 memberlist().
42912
42913 2008-02-09 Robert Millan <rmh@aybabtu.com>
42914
42915 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
42916 environment variable to 'all' in order to obtain debug output from
42917 non-util/ code.
42918 * util/i386/pc/grub-setup.c (main): Likewise.
42919
42920 2008-02-08 Robert Millan <rmh@aybabtu.com>
42921
42922 * disk/raid.c (grub_raid_scan_device): Check for
42923 `array->device[sb.this_disk.number]' rather than for
42924 `array->device[sb.this_disk.number]->name', since the latter is not
42925 guaranteed to be accessible.
42926
42927 2008-02-08 Robert Millan <rmh@aybabtu.com>
42928
42929 * disk/raid.c: Update copyright.
42930 * fs/cpio.c: Likewise.
42931 * include/grub/raid.h: Likewise.
42932 * loader/i386/pc/multiboot.c: Likewise.
42933 * util/hostfs.c: Likewise.
42934
42935 2008-02-08 Robert Millan <rmh@aybabtu.com>
42936
42937 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
42938 to a grub_disk_t array.
42939 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
42940 `device[x]'.
42941 (grub_raid_scan_device): Replace `device[x].name' accesses with
42942 `device[x]->name'. Simplify initialization of `array->device[x]'.
42943
42944 2008-02-08 Robert Millan <rmh@aybabtu.com>
42945
42946 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
42947 grub_dprintf() calls.
42948 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
42949 error message.
42950
42951 2008-02-07 Christian Franke <franke@computer.org>
42952
42953 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
42954 instead of fseek and ftell to support large files.
42955 (grub_hostfs_read): Likewise.
42956
42957 2008-02-07 Robert Millan <rmh@aybabtu.com>
42958
42959 Patch from Jeroen Dekkers.
42960 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
42961 failure, since successfully reading all array members might not be
42962 required.
42963
42964 2008-02-06 Robert Millan <rmh@aybabtu.com>
42965
42966 * util/grub-probe.c (probe): Simplify partmap probing (with the
42967 assumption that the first word up to the underscore equals to
42968 the module name).
42969
42970 2008-02-06 Christian Franke <franke@computer.org>
42971
42972 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
42973 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
42974 last block of a cpio or tar stream.
42975 Check for "TRAILER!!!" instead of any empty data
42976 block to detect last block of a cpio stream.
42977 (grub_cpio_dir): Fix constness of variable np.
42978 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
42979 cpio or tar trailer is detected. This fixes a crash
42980 on open of a non existing file.
42981
42982 2008-02-05 Bean <bean123ch@gmail.com>
42983
42984 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
42985 address of entry.
42986 (grub_multiboot_load_elf64): Likewise.
42987 (grub_multiboot): Initialize mbi structure.
42988
42989 * util/grub-fstest.c: Don't include unused header file script.h.
42990
42991 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
42992 of file.
42993 (grub_fstest_SOURCES): Likewise.
42994
42995 2008-02-05 Robert Millan <rmh@aybabtu.com>
42996
42997 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
42998 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
42999 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
43000 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
43001
43002 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
43003 (translation_table): Replace hardcoded values with macros
43004 provided by `<grub/term.h>'.
43005
43006 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
43007 (keyboard_map): Correct/add a few values, with macros provided
43008 by `<grub/term.h>'.
43009 (keyboard_map_shift): Zero values that don't differ from their
43010 `keyboard_map' equivalents.
43011 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
43012 Discard the second scan code that is always sent by Caps lock.
43013 Only use `keyboard_map_shift' when it provides a non-zero value,
43014 otherwise fallback to `keyboard_map'.
43015
43016 2008-02-04 Bean <bean123ch@gmail.com>
43017
43018 * Makefile.in (enable_grub_fstest): New variable.
43019
43020 * conf/common.rmk (grub_fstest_init.lst): New rule.
43021 (grub_fstest_init.h): Likewise.
43022 (grub_fstest_init.c): Likewise.
43023 (util/grub-fstest.c_DEPENDENCIES): New variable.
43024 (grub_fstest_SOURCES): Likewise.
43025
43026 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
43027
43028 * util/grub-fstest.c: New file.
43029
43030 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43031
43032 Make grub-setup handle a separate root device.
43033
43034 * util/i386/pc/grub-setup.c (setup): Always open the root device,
43035 so that the root device can be compared with the destination
43036 device.
43037 When embedding the core image, if the root and destination devices
43038 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
43039 0xFF.
43040 When not embedding, set ROOT_DRIVE to 0xFF.
43041
43042 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43043
43044 Add support for having a grub directory in a different drive. This
43045 is still only the data handling part.
43046
43047 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
43048 (codestart): Save %dh in GRUB_ROOT_DRIVE.
43049 (grub_root_drive): New variable.
43050
43051 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
43052 instead of GRUB_BOOT_DRIVE to construct a device name. Set
43053 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
43054 as it was.
43055
43056 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
43057
43058 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
43059 macro.
43060 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
43061
43062 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
43063 is bogus, because PXE booting does not specify any drive
43064 correctly.
43065
43066 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
43067 am not sure if this is really correct.
43068
43069 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
43070 is always identical to the boot drive when booting from a CD.
43071
43072 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
43073 longer.
43074 (root_drive): New variable.
43075 (real_start): Unconditionally set %dh to ROOT_DRIVE.
43076 (setup_sectors): Push %dx right after popping it, because %dh will
43077 be modified later.
43078 (copy_buffer): Restore %dx.
43079
43080 2008-02-03 Robert Millan <rmh@aybabtu.com>
43081
43082 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
43083 use `cdboot.img' for cdrom images.
43084
43085 2008-02-03 Robert Millan <rmh@aybabtu.com>
43086
43087 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
43088 only setup gfxterm when `font' command has succeeded.
43089
43090 2008-02-03 Robert Millan <rmh@aybabtu.com>
43091
43092 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
43093 (grub_rescue_cmd_multiboot_loader)
43094 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
43095
43096 2008-02-03 Pavel Roskin <proski@gnu.org>
43097
43098 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
43099 %edx and %esi from stack only after grub_gate_a20() is called.
43100 grub_gate_a20() clobbers %edx.
43101
43102 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43103
43104 * configure.ac (AC_INIT): Bumped to 1.96.
43105
43106 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
43107 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
43108 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
43109 video/readers/png.c.
43110
43111 2008-02-03 Bean <bean123ch@gmail.com>
43112
43113 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
43114 (cdboot_img_SOURCES): New variable.
43115 (cdboot_img_ASFLAGS): New variable.
43116 (cdboot_img_LDFLAGS): New variable.
43117
43118 * boot/i386/pc/cdboot.S: New file.
43119
43120 * disk/i386/pc/biosdisk.c (cd_start): New variable.
43121 (cd_count): Likewise.
43122 (grub_biosdisk_get_drive): Add support for cd device.
43123 (grub_biosdisk_call_hook): Likewise.
43124 (grub_biosdisk_iterate): Likewise.
43125 (grub_biosdisk_open): Likewise.
43126 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
43127 (grub_biosdisk_rw): Support reading from cd device.
43128 (GRUB_MOD_INIT): Iterate cd devices.
43129
43130 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
43131 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
43132 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
43133
43134 * kern/i386/pc/init.c (make_install_device): Check for cd device.
43135
43136 2008-02-02 Robert Millan <rmh@aybabtu.com>
43137
43138 * commands/read.c: New file.
43139 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
43140 (read_mod_SOURCES): New variable.
43141 (read_mod_CFLAGS): Likewise.
43142 (read_mod_LDFLAGS): Likewise.
43143
43144 2008-02-02 Robert Millan <rmh@aybabtu.com>
43145
43146 * normal/main.c (grub_normal_execute): Check for `menu->size' when
43147 determining whether menu has to be displayed.
43148
43149 2008-02-02 Marco Gerards <marco@gnu.org>
43150
43151 * bus/pci.c: New file.
43152
43153 * include/grub/pci.h: Likewise.
43154
43155 * include/grub/i386/pc/pci.h: Likewise.
43156
43157 * commands/lspci.c: Likewise.
43158
43159 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
43160 `lspci.mod'.
43161 (pci_mod_SOURCES): New variable.
43162 (pci_mod_CFLAGS): Likewise.
43163 (pci_mod_LDFLAGS): Likewise.
43164 (lspci_mod_SOURCES): Likewise.
43165 (lspci_mod_CFLAGS): Likewise.
43166 (lspci_mod_LDFLAGS): Likewise.
43167
43168 2008-02-02 Bean <bean123ch@gmail.com>
43169
43170 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
43171 (grub_ufs_get_file_block): Fix indirect block calculation problem.
43172
43173 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
43174 (grub_xfs_btree_node): New structure.
43175 (grub_xfs_btree_root): New structure.
43176 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
43177 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
43178 (GRUB_XFS_EXTENT_BLOCK): Likewise.
43179 (GRUB_XFS_EXTENT_SIZE): Likewise.
43180 (grub_xfs_read_block): Support btree format type.
43181 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
43182 Use directory block as basic unit.
43183
43184 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
43185
43186 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
43187 __attribute__ ((__regparm__ (1))).
43188
43189 2008-02-01 Robert Millan <rmh@aybabtu.com>
43190
43191 Correct a mistake in previous commit.
43192
43193 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
43194 top.
43195 (normal/command.c_DEPENDENCIES): New variable.
43196
43197 2008-02-01 Robert Millan <rmh@aybabtu.com>
43198
43199 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
43200 top.
43201 (normal/command.c_DEPENDENCIES): New variable.
43202 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
43203 * conf/i386-ieee1275.rmk: Likewise.
43204 * conf/i386-linuxbios.rmk: Likewise.
43205 * conf/i386-pc.rmk: Likewise.
43206 * conf/sparc64-ieee1275.rmk: Likewise.
43207 * conf/powerpc-ieee1275.rmk: Likewise.
43208 (grub_emu_SOURCES): Add `fs/fshelp.c'.
43209
43210 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
43211
43212 2008-02-01 Robert Millan <rmh@aybabtu.com>
43213
43214 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
43215 call at beginning of function.
43216
43217 2008-01-31 Pavel Roskin <proski@gnu.org>
43218
43219 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
43220 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
43221 (grub_mkrescue_SOURCES): Likewise.
43222 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
43223
43224 2008-01-30 Robert Millan <rmh@aybabtu.com>
43225
43226 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
43227 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
43228 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
43229 (grub_probe_SOURCES): ... to here.
43230
43231 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
43232 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
43233 * conf/i386-ieee1275.rmk: Likewise.
43234 * conf/i386-linuxbios.rmk: Likewise.
43235 * conf/powerpc-ieee1275.rmk: Likewise.
43236
43237 2008-01-30 Tristan Gingold <gingold@free.fr>
43238
43239 * kern/rescue.c: Silently accept empty lines.
43240
43241 2008-01-29 Bean <bean123ch@gmail.com>
43242
43243 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
43244 (real_code_2): Code cleanup and change comment style.
43245 (move_memory): Avoid using 32-bit address mode.
43246
43247 2008-01-29 Bean <bean123ch@gmail.com>
43248
43249 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
43250 (png_mod_SOURCES): New variable.
43251 (png_mod_CFLAGS): Likewise.
43252 (png_mod_LDFLAGS): Likewise.
43253
43254 * video/readers/png.c: New file.
43255
43256 2008-01-28 Robert Millan <rmh@aybabtu.com>
43257
43258 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
43259 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
43260 `ifndef GRUB_MOD_GAP' hack.
43261 * util/elf/grub-mkimage.c (add_segments): Likewise.
43262
43263 2008-01-27 Robert Millan <rmh@aybabtu.com>
43264
43265 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
43266 `GRUB_MOD_GAP' for platforms in which it's not defined.
43267 * util/elf/grub-mkimage.c (add_segments): Likewise.
43268
43269 2008-01-27 Robert Millan <rmh@aybabtu.com>
43270
43271 Get grub-emu to build again (including parallel builds).
43272
43273 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
43274 Split into ...
43275 (util/grub-emu.c_DEPENDENCIES): ... this, ...
43276 (normal/execute.c_DEPENDENCIES): ... this, ...
43277 (grub-emu_DEPENDENCIES): ... and this.
43278
43279 * conf/i386-efi.rmk: Likewise.
43280 * conf/i386-linuxbios.rmk: Likewise.
43281 * conf/i386-ieee1275.rmk: Likewise.
43282 * conf/powerpc-ieee1275.rmk: Likewise.
43283 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
43284
43285 2008-01-27 Robert Millan <rmh@aybabtu.com>
43286
43287 * NEWS: Add a few items.
43288
43289 2008-01-27 Robert Millan <rmh@aybabtu.com>
43290
43291 Fix parallel builds with grub-emu. Based on earlier commit for
43292 grub-probe and grub-setup.
43293
43294 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43295 (util/grub-emu.c_DEPENDENCIES): ... this.
43296 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43297 (util/grub-emu.c_DEPENDENCIES): ... this.
43298 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43299 (util/grub-emu.c_DEPENDENCIES): ... this.
43300 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43301 (util/grub-emu.c_DEPENDENCIES): ... this.
43302 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43303 (util/grub-emu.c_DEPENDENCIES): ... this.
43304
43305 2008-01-27 Pavel Roskin <proski@gnu.org>
43306
43307 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
43308 to create a gap between _end and the modules added to the image
43309 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
43310 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
43311 * util/elf/grub-mkimage.c (add_segments): Likewise.
43312
43313 2008-01-26 Pavel Roskin <proski@gnu.org>
43314
43315 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
43316 just return an error.
43317
43318 2008-01-26 Bean <bean123ch@gmail.com>
43319
43320 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
43321 (grub_reiserfs_get_item): Save offset of the next item.
43322 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
43323
43324 2008-01-25 Robert Millan <rmh@aybabtu.com>
43325
43326 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
43327 make all filesystem sources appear together (possibly fixing omissions
43328 while at it).
43329 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43330 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43331 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43332 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43333
43334 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
43335 add `kern/file.c'.
43336 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
43337 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
43338 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
43339 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
43340
43341 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
43342 (probe): Add a sanity check to make sure of our ability to read
43343 requested files when probing for filesystem type.
43344
43345 * genmk.rb: Update copyright year (2007).
43346
43347 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
43348 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
43349 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
43350 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
43351 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
43352 : Remove function prototypes.
43353
43354 2008-01-25 Robert Millan <rmh@aybabtu.com>
43355
43356 Revert my previous commits (based on wrong assumption of how grub_errno
43357 works).
43358
43359 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
43360 * kern/file.c (grub_file_open): Likewise.
43361
43362 2008-01-24 Pavel Roskin <proski@gnu.org>
43363
43364 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
43365 that hang if GRUB tries to setup colors.
43366 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
43367 colors for firmwares that don't support it.
43368 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
43369 Recognize Open Hack'Ware, set flags to work around its
43370 limitations.
43371
43372 2008-01-24 Robert Millan <rmh@aybabtu.com>
43373
43374 * kern/file.c (grub_file_open): Do not account previous failures of
43375 unrelated functions when grub_errno is checked for.
43376 Reported by Oleg Strikov.
43377
43378 2008-01-24 Bean <bean123ch@gmail.com>
43379
43380 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
43381 (grub_ufs_sblock): New member volume name.
43382 (grub_ufs_find_file): Fix string copy bug.
43383 (grub_ufs_label): Implement this function properly.
43384
43385 * fs/hfs.c (grub_hfs_cnid_type): New enum.
43386 (grub_hfs_iterate_records): Use the correct file number for extents
43387 and catalog file. Fix problem in next index calculation.
43388 (grub_hfs_find_node): Replace recursive function call with loop.
43389 (grub_hfs_iterate_dir): Replace recursive function call with loop.
43390
43391 2008-01-23 Robert Millan <rmh@aybabtu.com>
43392
43393 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
43394 `<grub/symbol.h>' and `<grub/multiboot.h>'.
43395 (grub_multiboot2_real_boot): New function prototype.
43396
43397 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
43398 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
43399
43400 * kern/i386/ieee1275/init.c (grub_os_area_addr)
43401 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
43402
43403 2008-01-23 Robert Millan <rmh@aybabtu.com>
43404
43405 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
43406 #ifdef'ed out grub_printf().
43407
43408 2008-01-23 Robert Millan <rmh@aybabtu.com>
43409
43410 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
43411 grub_dprintf calls, since they make "debug=all" mode unusable.
43412 (grub_console_checkkey): Likewise.
43413
43414 2008-01-23 Robert Millan <rmh@aybabtu.com>
43415
43416 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
43417 `term/i386/pc/at_keyboard.c'.
43418 (pkglib_MODULES): Add `serial.mod'.
43419 (serial_mod_SOURCES): New variable.
43420 (serial_mod_CFLAGS): Likewise.
43421 (serial_mod_LDFLAGS): Likewise.
43422
43423 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
43424 `<grub/powerpc/ieee1275/console.h>'.
43425 (grub_keyboard_controller_init): New function prototype.
43426 (grub_console_checkkey): Likewise.
43427 (grub_console_getkey): Likewise.
43428
43429 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
43430 keyboard on i386.
43431
43432 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
43433 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
43434
43435 2008-01-23 Robert Millan <rmh@aybabtu.com>
43436
43437 * kern/i386/pc/init.c (make_install_device): When memdisk image is
43438 present, "(memdisk)/boot/grub" becomes the default prefix.
43439
43440 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
43441 a memdisk tarball with all the modules. Add --overlay=DIR option that
43442 allows users to overlay additional files into the image.
43443
43444 2008-01-23 Robert Millan <rmh@aybabtu.com>
43445
43446 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
43447 and `machine/memory.h'.
43448 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
43449 (_multiboot_mod_SOURCES): New variable.
43450 (_multiboot_mod_CFLAGS): Likewise.
43451 (_multiboot_mod_LDFLAGS): Likewise.
43452 (multiboot_mod_SOURCES): Likewise.
43453 (multiboot_mod_CFLAGS): Likewise.
43454 (multiboot_mod_LDFLAGS): Likewise.
43455
43456 * include/grub/i386/ieee1275/loader.h: New file.
43457
43458 * include/grub/i386/ieee1275/machine.h: Likewise.
43459
43460 * include/grub/i386/ieee1275/memory.h: Likewise.
43461
43462 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
43463 variable declaration.
43464 (grub_os_area_size): Likewise.
43465
43466 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
43467 (grub_lower_mem, grub_upper_mem): New variables.
43468 (grub_stop_floppy): New function (just to make
43469 grub_multiboot2_real_boot() happy).
43470
43471 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
43472 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
43473 (grub_stop): New function.
43474 Include `"../realmode.S"' and `"../loader.S"'.
43475
43476 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
43477 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
43478
43479 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
43480 rely on grub_multiboot2_real_boot() for final boot.
43481
43482 2008-01-22 Robert Millan <rmh@aybabtu.com>
43483
43484 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
43485 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
43486 device that doesn't look like an SD card.
43487 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
43488 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
43489 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
43490 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
43491 found.
43492
43493 2008-01-22 Robert Millan <rmh@aybabtu.com>
43494
43495 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
43496 avoid claiming over our own code.
43497
43498 2008-01-22 Bean <bean123ch@gmail.com>
43499
43500 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
43501 (jpeg_mod_SOURCES): New variable.
43502 (jpeg_mod_CFLAGS): Likewise.
43503 (jpeg_mod_LDFLAGS): Likewise.
43504
43505 * video/readers/jpeg.c : New file.
43506
43507 2008-01-22 Bean <bean123ch@gmail.com>
43508
43509 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
43510 there are no more items.
43511
43512 2008-01-21 Robert Millan <rmh@aybabtu.com>
43513
43514 * kern/mm.c (grub_mm_init_region): Improve debug message.
43515
43516 2008-01-21 Robert Millan <rmh@aybabtu.com>
43517
43518 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
43519 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
43520 address.
43521 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
43522 a C macro.
43523 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
43524 Indicates start of upper memory.
43525 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
43526 (generate_image): Abort when image size is big enough to corrupt
43527 upper memory.
43528
43529 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
43530 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
43531 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
43532 instead of hardcoding 0xA0000.
43533 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
43534 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
43535 instead of hardcoding 0xA0000.
43536
43537 2008-01-21 Robert Millan <rmh@aybabtu.com>
43538
43539 * disk/memdisk.c (memdisk_size): New variable.
43540 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
43541 `memdisk_size'.
43542 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
43543 image to dynamic memory.
43544 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
43545 `memdisk_size'. Free memdisk block.
43546
43547 2008-01-21 Robert Millan <rmh@aybabtu.com>
43548
43549 Fix detection of very small filesystems (like tar).
43550
43551 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
43552 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
43553 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
43554 a problem with this disk).
43555
43556 2008-01-21 Robert Millan <rmh@aybabtu.com>
43557
43558 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
43559 on grub_biosdisk_rw_standard() error.
43560
43561 2008-01-21 Robert Millan <rmh@aybabtu.com>
43562
43563 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
43564 recent changes.
43565 * kern/elf.c: Likewise.
43566 * kern/ieee1275/ieee1275.c: Likewise.
43567 * kern/powerpc/ieee1275/openfw.c: Likewise.
43568 * term/ieee1275/ofconsole.c: Likewise.
43569
43570 2008-01-21 Robert Millan <rmh@aybabtu.com>
43571
43572 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
43573
43574 * include/grub/kernel.h (grub_arch_memdisk_addr)
43575 (grub_arch_memdisk_size): Moved from here ...
43576
43577 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
43578 (grub_arch_memdisk_size): ... to here.
43579
43580 2008-01-21 Robert Millan <rmh@aybabtu.com>
43581
43582 Mostly based on bugfix from Bean.
43583
43584 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
43585 attribute with hook() parameter.
43586 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
43587 declaration.
43588 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
43589 attribute with hook() parameter.
43590 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
43591 declaration.
43592
43593 2008-01-21 Robert Millan <rmh@aybabtu.com>
43594
43595 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
43596 (pkglib_MODULES): Add `memdisk.mod'.
43597 (memdisk_mod_SOURCES): New variable.
43598 (memdisk_mod_CFLAGS): Likewise.
43599 (memdisk_mod_LDFLAGS): Likewise.
43600
43601 * disk/memdisk.c: New file.
43602
43603 * include/grub/disk.h (grub_disk_dev_id): Add
43604 `GRUB_DISK_DEVICE_MEMDISK_ID'.
43605
43606 * include/grub/i386/pc/kernel.h
43607 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
43608 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
43609 (grub_kernel_image_size): New variable declaration.
43610 (grub_total_module_size): Likewise.
43611 (grub_memdisk_image_size): Likewise.
43612
43613 * include/grub/i386/pc/memory.h
43614 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
43615
43616 * include/grub/kernel.h: Include `<grub/symbol.h>'.
43617 (grub_arch_memdisk_addr): New variable declaration.
43618 (grub_arch_memdisk_size): Likewise.
43619
43620 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
43621 (grub_arch_memdisk_size): Likewise.
43622
43623 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
43624 (codestart): Replace hardcoded `0x100000' with
43625 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
43626
43627 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
43628 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
43629 not NULL, append the contents of the file it refers to, at the end of
43630 the compressed kernel image. Initialize `grub_memdisk_image_size'
43631 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
43632 (options): Add "memdisk"|'m' option.
43633 (main): Parse --memdisk|-m option, and pass user-provided path as
43634 parameter to generate_image().
43635
43636 2008-01-20 Robert Millan <rmh@aybabtu.com>
43637
43638 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
43639 grub_dprintf() calls from here ...
43640 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
43641
43642 2008-01-20 Robert Millan <rmh@aybabtu.com>
43643
43644 Fix detection of "real mode" when /options/real-mode? doesn't exist.
43645
43646 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
43647 declaration.
43648 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
43649 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
43650 `GRUB_IEEE1275_FLAG_REAL_MODE'.
43651 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
43652 property).
43653 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
43654 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
43655
43656 2008-01-19 Robert Millan <rmh@aybabtu.com>
43657
43658 Get rid of confusing function (superseded by
43659 `grub_ieee1275_get_integer_property')
43660 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
43661 prototype.
43662 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
43663 function.
43664 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
43665 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
43666 in native endianness from grub_ieee1275_get_integer_property().
43667
43668 2008-01-19 Robert Millan <rmh@aybabtu.com>
43669
43670 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
43671 command after "shut-down", since implementations differ on which
43672 the command for halt is.
43673
43674 2008-01-19 Robert Millan <rmh@aybabtu.com>
43675
43676 * include/grub/i386/linuxbios/console.h: Add header protection.
43677 (grub_keyboard_controller_init): New function prototype.
43678 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
43679 (KEYBOARD_COMMAND_READ): Likewise.
43680 (KEYBOARD_COMMAND_WRITE): Likewise.
43681 (KEYBOARD_SCANCODE_SET1): Likewise.
43682 (grub_keyboard_controller_write): New function.
43683 (grub_keyboard_controller_read): Likewise.
43684 (grub_keyboard_controller_init): Likewise.
43685
43686 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
43687 (grub_console_init): On coreboot/LinuxBIOS, call
43688 grub_keyboard_controller_init().
43689
43690 2008-01-19 Robert Millan <rmh@aybabtu.com>
43691
43692 PowerPC changes provided by Pavel Roskin.
43693
43694 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
43695 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
43696 don't rely on cmain() doing it.
43697 * kern/i386/ieee1275/startup.S (_start): Store %eax in
43698 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
43699
43700 2008-01-16 Robert Millan <rmh@aybabtu.com>
43701
43702 * include/grub/i386/linuxbios/memory.h
43703 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
43704 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
43705 receive `table_header' as argument. Instead, probe for it in the
43706 known memory ranges where it can be present.
43707 (grub_available_iterate): Do not pass a fixed `table_header' address
43708 to grub_linuxbios_table_iterate().
43709
43710 2008-01-15 Robert Millan <rmh@aybabtu.com>
43711
43712 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
43713 * conf/i386-ieee1275.rmk: New file.
43714 * include/grub/i386/ieee1275/console.h: Likewise.
43715 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
43716 * include/grub/i386/ieee1275/kernel.h: Likewise.
43717 * include/grub/i386/ieee1275/time.h: Likewise.
43718 * kern/i386/ieee1275/init.c: Likewise.
43719 * kern/i386/ieee1275/startup.S: Likewise.
43720
43721 2008-01-15 Robert Millan <rmh@aybabtu.com>
43722
43723 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
43724 when pointers are 32-bit (but still do set it to one when they are
43725 64-bit).
43726
43727 2008-01-15 Robert Millan <rmh@aybabtu.com>
43728
43729 * include/grub/ieee1275/ieee1275.h
43730 (grub_ieee1275_get_integer_property): New function prototype.
43731
43732 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
43733 (grub_ieee1275_get_integer_property): New function. Wraps around
43734 grub_ieee1275_get_property() to handle endianness.
43735
43736 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
43737 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
43738 where appropriate.
43739 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
43740 (grub_map): Likewise.
43741 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
43742
43743 2008-01-15 Bean <bean123ch@gmail.com>
43744
43745 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
43746 (grub_script_execute_cmdline): Reset grub_errno.
43747
43748 * normal/main.c (read_config_file): Reset grub_errno.
43749
43750 * normal/parse.y (script_init): New.
43751 (script): Move function and menuentry here.
43752 (delimiter): New.
43753 (command): Add delimiter at the end of command.
43754 (commands): Adjust to match the new command.
43755 (commandblock): Remove grub_script_lexer_record_start.
43756 (menuentry): Add grub_script_lexer_record_start, use the new commands.
43757 (if): Use the new commands.
43758
43759 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
43760
43761 2008-01-15 Robert Millan <rmh@aybabtu.com>
43762
43763 * normal/menu.c (run_menu): Move timeout message from here ...
43764 (print_timeout): ... to here.
43765 (run_menu): Use print_timeout() once during initial draw to print
43766 the whole message, and again in every clock tick to update only
43767 the number of seconds.
43768
43769 2008-01-15 Robert Millan <rmh@aybabtu.com>
43770
43771 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
43772 actual size of `available' from grub_ieee1275_get_property(), and
43773 restrict parsing to that bound.
43774
43775 2008-01-15 Christian Franke <franke@computer.org>
43776
43777 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
43778 (argp_program_version): Remove variable.
43779 (argp_program_bug_address): Likewise.
43780 (options): Convert from struct argp_option to struct option.
43781 (struct arguments): Remove.
43782 (parse_opt): Remove.
43783 (usage): New function.
43784 (main): Replace struct args members by simple variables.
43785 Replace argp_parse() by getopt_long().
43786 Add switch to evaluate options.
43787 Add missing "(...)" around root_dev in prefix string.
43788
43789 2008-01-14 Robert Millan <rmh@aybabtu.com>
43790
43791 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
43792 for grub_ieee1275_exit(), in order to improve portability.
43793
43794 2008-01-14 Robert Millan <rmh@aybabtu.com>
43795
43796 * util/grub.d/10_linux.in (prefix): Define.
43797 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
43798
43799 2008-01-13 Pavel Roskin <proski@gnu.org>
43800
43801 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
43802 grub_errno if no errors have been detected.
43803
43804 2008-01-12 Robert Millan <rmh@aybabtu.com>
43805
43806 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
43807 (grub_util_get_dev_abstraction): New function prototype.
43808
43809 * util/getroot.c: Include `<grub/util/getroot.h>'
43810 (grub_util_get_grub_dev): Move detection of abstraction type to ...
43811 (grub_util_get_dev_abstraction): ... here (new function).
43812
43813 * util/grub-probe.c: Convert PRINT_* to an enum. Add
43814 `PRINT_ABSTRACTION'.
43815 (probe): Probe for abstraction type when requested.
43816 (main): Understand `--target=abstraction'.
43817
43818 * util/i386/efi/grub-install.in: Add abstraction module to core
43819 image when it is found to be necessary.
43820 * util/i386/pc/grub-install.in: Likewise.
43821 * util/powerpc/ieee1275/grub-install.in: Likewise.
43822
43823 * util/update-grub_lib.in (font_path): Return system path without
43824 converting to GRUB path.
43825 * util/update-grub.in: Convert system path returned by font_path()
43826 to a GRUB path. Use `grub-probe -t abstraction' to determine what
43827 abstraction module is needed for loading fonts (if any). Export
43828 that as `GRUB_PRELOAD_MODULES'.
43829 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
43830 insmod commands).
43831
43832 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
43833
43834 Remove some unused code from reiserfs.
43835
43836 * fs/reiserfs.c (struct grub_reiserfs_key)
43837 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
43838 (struct grub_reiserfs_node_body): Removed.
43839 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
43840 Likewise.
43841 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
43842 Likewise.
43843 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
43844 Likewise.
43845 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
43846 Likewise.
43847 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
43848 Likewise.
43849 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
43850 Likewise.
43851 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
43852 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
43853 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
43854
43855 2008-01-10 Robert Millan <rmh@aybabtu.com>
43856
43857 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
43858 Determines if a file is garbage left by packaging systems, etc.
43859 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
43860 for processing /etc/grub.d scripts.
43861 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
43862 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
43863 as a condition for processing Linux images.
43864
43865 2008-01-10 Pavel Roskin <proski@gnu.org>
43866
43867 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
43868 to compile reiserfs.c on PowerPC.
43869
43870 2008-01-10 Robert Millan <rmh@aybabtu.com>
43871
43872 * kern/device.c (grub_device_iterate): Do not abort device iteration
43873 when one of the devices cannot be opened.
43874 * kern/disk.c (grub_disk_open): Do not account previous failures of
43875 unrelated functions when grub_errno is checked for.
43876
43877 2008-01-08 Robert Millan <rmh@aybabtu.com>
43878
43879 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
43880 `! grub_linux_is_bzimage', change order of address comparison to make
43881 it more intuitive, and improve "too big zImage" error message.
43882
43883 2008-01-08 Robert Millan <rmh@aybabtu.com>
43884
43885 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
43886 `$(update-grub_DATA)'.
43887 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
43888 targets.
43889
43890 2008-01-07 Robert Millan <rmh@aybabtu.com>
43891
43892 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
43893 which instruction is modified by grub-setup during installation
43894 (since it wasn't obvious by only looking at this file).
43895
43896 2008-01-07 Robert Millan <rmh@aybabtu.com>
43897
43898 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
43899 listing actual TODO items.
43900
43901 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
43902
43903 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
43904 correctly.
43905 (grub_reiserfs_get_key_offset): Likewise.
43906 (grub_reiserfs_set_key_offset): Likewise.
43907 (grub_reiserfs_set_key_type): Likewise.
43908 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
43909
43910 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
43911 better to remove the bitfield version completely.
43912
43913 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
43914
43915 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
43916 allocated from the heap, due to the fshelp implementation.
43917 (grub_reiserfs_dir): Free NODE, due to the same reason.
43918
43919 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
43920
43921 Mostly from Vincent Pelletier:
43922
43923 * fs/reiserfs.c: New file.
43924
43925 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
43926 (reiserfs_mod_SOURCES): New variable.
43927 (reiserfs_mod_CFLAGS): Likewise.
43928 (reiserfs_mod_LDFLAGS): Likewise.
43929
43930 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
43931 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
43932 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
43933 normal/color.c.
43934
43935 2008-01-06 Robert Millan <rmh@aybabtu.com>
43936
43937 * normal/color.c: Remove `<grub/env.h>'.
43938
43939 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
43940
43941 * include/grub/normal.h: Include <grub/env.h>.
43942
43943 2008-01-05 Robert Millan <rmh@aybabtu.com>
43944
43945 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
43946 usage example with `(hd0,1)'.
43947 Reported by Samuel Thibault.
43948
43949 2008-01-05 Robert Millan <rmh@aybabtu.com>
43950
43951 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
43952 (grub_linux_boot_zimage): Rename to ...
43953 (grub_linux_boot): ... this.
43954 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
43955 (grub_linux_boot_zimage): Conditionalize zImage copy.
43956
43957 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
43958 (grub_linux_boot_bzimage): Remove prototype.
43959 (grub_linux_boot_zimage): Rename to ...
43960 (grub_linux_boot): ... this.
43961
43962 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
43963 (grub_linux_boot): Remove function.
43964
43965 2008-01-05 Robert Millan <rmh@aybabtu.com>
43966
43967 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
43968 (grub_env_write_color_highlight): Likewise.
43969 (grub_wait_after_message): Likewise.
43970
43971 * normal/color.c: New file.
43972
43973 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43974 (normal_mod_DEPENDENCIES): Likewise.
43975
43976 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43977 (normal_mod_DEPENDENCIES): Likewise.
43978
43979 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43980 (normal_mod_DEPENDENCIES): Likewise.
43981
43982 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43983 (normal_mod_DEPENDENCIES): Likewise.
43984
43985 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
43986 for waiting after a message is printed.
43987 * normal/main.c (read_config_file): Likewise.
43988 (grub_normal_init): Register grub_env_write_color_normal() and
43989 grub_env_write_color_highlight() hooks. Mark `color_normal' and
43990 `color_highlight' variables as global.
43991
43992 * normal/menu.c (grub_wait_after_message): New function.
43993 (grub_color_menu_normal): New variable. Replaces ...
43994 (GRUB_COLOR_MENU_NORMAL): ... this macro.
43995 (grub_color_menu_highlight): New variable. Replaces ...
43996 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
43997 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
43998 `GRUB_TERM_COLOR_STANDARD'.
43999 (print_message): Use `grub_setcolorstate' to reload colors. Rename
44000 `normal_code' and `highlight_code' to `old_color_normal' and
44001 `old_color_highlight', respectively.
44002 (grub_menu_init_page): Update colors when drawing the menu, based on
44003 `menu_color_normal' and `menu_color_highlight' variables.
44004 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
44005 a message is printed.
44006
44007 2008-01-05 Robert Millan <rmh@aybabtu.com>
44008
44009 * kern/env.c (grub_env_context_open): Propagate hooks for global
44010 variables to new context.
44011
44012 * kern/main.c (grub_set_root_dev): Export `root' variable.
44013
44014 2008-01-05 Robert Millan <rmh@aybabtu.com>
44015
44016 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
44017 discs unconditionally, since udev and others have options to provide
44018 them.
44019
44020 2008-01-05 Robert Millan <rmh@aybabtu.com>
44021
44022 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
44023
44024 2008-01-04 Christian Franke <franke@computer.org>
44025
44026 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
44027 of eisa_mmap.
44028
44029 2008-01-03 Pavel Roskin <proski@gnu.org>
44030
44031 * kern/i386/linuxbios/init.c: Put "void" to all function
44032 declarations with no arguments.
44033 * kern/powerpc/ieee1275/init.c: Likewise.
44034 * term/i386/pc/at_keyboard.c: Likewise.
44035 * term/i386/pc/vga_text.c: Likewise.
44036 * util/grub-mkdevicemap.c: Likewise.
44037
44038 2008-01-02 Robert Millan <rmh@aybabtu.com>
44039
44040 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
44041 message when loaded image is out of bounds.
44042 (grub_multiboot_load_elf64): Likewise.
44043
44044 2008-01-02 Pavel Roskin <proski@gnu.org>
44045
44046 * util/grub.d/10_linux.in: Try version without ".old" when
44047 looking for initrd. It's better to use initrd from the newer
44048 kernel of the same version than no initrd at all.
44049
44050 2008-01-01 Robert Millan <rmh@aybabtu.com>
44051
44052 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
44053
44054 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
44055
44056 * include/grub/video.h: Added grub_video_unmap_color and
44057 grub_video_get_active_render_target.
44058 (grub_video_adapter): Added unmap_color and get_active_render_target.
44059
44060 * video/video.c: Added grub_video_unmap_color and
44061 grub_video_get_active_render_target.
44062 (grub_video_get_info): Changed method to accept NULL pointer as an
44063 argument to allow detection of active video adapter.
44064
44065 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
44066 grub_video_vbe_unmap_color_int.
44067 Added grub_video_vbe_unmap_color and
44068 grub_video_vbe_get_active_render_target.
44069 (grub_video_vbe_adapter): Added unmap_color and
44070 get_active_render_target.
44071
44072 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
44073 with grub_video_vbe_unmap_color_int.
44074
44075 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
44076 (DEFAULT_NORMAL_COLOR): Likewise.
44077 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
44078 (DEFAULT_FG_COLOR): Removed.
44079 (DEFAULT_BG_COLOR): Likewise.
44080 (DEFAULT_CURSOR_COLOR): Changed value.
44081 (grub_virtual_screen): Added standard_color_setting,
44082 normal_color_setting, highlight_color_setting and term_color.
44083 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
44084 (bitmap_width): Added.
44085 (bitmap_height): Likewise.
44086 (bitmap): Likewise.
44087 (set_term_color): Likewise.
44088 (grub_virtual_screen_setup): Changed to use new terminal coloring
44089 settings.
44090 (grub_gfxterm_init): Added init for bitmap.
44091 (grub_gfxterm_fini): Added destroy for bitmap.
44092 (redraw_screen_rect): Updated to use background bitmap and new
44093 terminal coloring.
44094 (scroll_up): Added optimization for case when there is no bitmap.
44095 (grub_gfxterm_cls): Fixed to use correct background color.
44096 (grub_virtual_screen_setcolorstate): Changed to use new terminal
44097 coloring.
44098 (grub_virtual_screen_setcolor): Likewise.
44099 (grub_virtual_screen_getcolor): Added.
44100 (grub_gfxterm_background_image_cmd): Likewise.
44101 (grub_video_term): Added setcolor and getcolor.
44102 (MOD_INIT): Added registration of background_image command.
44103 (MOD_TERM): Added unregistration for background_image command.
44104
44105 2007-12-30 Pavel Roskin <proski@gnu.org>
44106
44107 * loader/multiboot_loader.c: Fix multiboot command
44108 unregistration. Fix all typos in the word "multiboot".
44109
44110 2007-12-29 Pavel Roskin <proski@gnu.org>
44111
44112 * util/grub.d/10_linux.in: Refactor search for initrd. Add
44113 support for initrd names used in Fedora.
44114
44115 2007-12-26 Bean <bean123ch@gmail.com>
44116
44117 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
44118 (cpio_mod_SOURCES): New variable.
44119 (cpio_mod_CFLAGS): Likewise.
44120 (cpio_mod_LDFLAGS): Likewise.
44121
44122 * fs/cpio.c: New file.
44123
44124 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
44125
44126 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44127
44128 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44129
44130 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44131
44132 2007-12-25 Robert Millan <rmh@aybabtu.com>
44133
44134 * include/grub/term.h (struct grub_term): Add `getcolor' function.
44135 (grub_getcolor): New function.
44136
44137 * kern/term.c (grub_getcolor): New function.
44138 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
44139 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
44140 (print_entry): Set normal and highlight colors to
44141 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
44142 respectively, before printing and restore them to old
44143 values afterwards.
44144 (grub_menu_init_page): Likewise. Fill an additional colored space
44145 that would otherwise be left blank.
44146
44147 * term/efi/console.c (grub_console_getcolor): New function.
44148 (struct grub_console_term.getcolor): New variable.
44149 * term/i386/pc/console.c (grub_console_getcolor): New function.
44150 (struct grub_console_term.getcolor): New variable.
44151 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
44152 (struct grub_console_term.getcolor): New variable.
44153
44154 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
44155 (struct grub_console_term.setcolor): Remove variable.
44156 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
44157 (struct grub_console_term.setcolor): Remove variable.
44158 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
44159 (struct grub_console_term.setcolor): Remove variable.
44160 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
44161 (struct grub_console_term.setcolor): Remove variable.
44162
44163 2007-12-25 Robert Millan <rmh@aybabtu.com>
44164
44165 * configure.ac: Search for possible unifont.hex locations, and
44166 define UNIFONT_HEX if found.
44167
44168 * Makefile.in (UNIFONT_HEX): Define variable.
44169 (DATA): Rename to ...
44170 (PKGLIB): ... this. Update all users.
44171 (PKGDATA): New variable.
44172 (pkgdata_IMAGES): Rename to ...
44173 (pkglib_IMAGES): ... this. Update all users.
44174 (pkgdata_MODULES): Rename to ...
44175 (pkglib_MODULES): ... this. Update all users.
44176 (pkgdata_PROGRAMS): Rename to ...
44177 (pkglib_PROGRAMS): ... this. Update all users.
44178 (pkgdata_DATA): Rename to ...
44179 (pkglib_DATA): ... this. Update all users.
44180 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
44181 (unicode.pff, ascii.pff): New rules.
44182 (all-local): Add `$(PKGDATA)' dependency.
44183 (install-local): Process `$(PKGDATA)'.
44184
44185 * util/update-grub_lib.in (font_path): Search for *.pff files in
44186 a few more locations, including `${pkgdata}'.
44187
44188 2007-12-23 Robert Millan <rmh@aybabtu.com>
44189
44190 Patch from Bean <bean123ch@gmail.com>:
44191 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
44192 `size'.
44193
44194 2007-12-21 Bean <bean123ch@gmail.com>
44195
44196 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
44197 (ntfscomp_mod_SOURCES): New variable.
44198 (ntfscomp_mod_CFLAGS): Likewise.
44199 (ntfscomp_mod_LDFLAGS): Likewise.
44200
44201 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
44202 (grub_probe_SOURCES): Likewise.
44203 (grub_emu_SOURCES): Likewise.
44204
44205 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44206 (grub_emu_SOURCES): Likewise.
44207
44208 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44209 (grub_emu_SOURCES): Likewise.
44210
44211 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44212 (grub_emu_SOURCES): Likewise.
44213
44214 * fs/ntfs.c (grub_ntfscomp_func): New variable.
44215 (read_run_list): Renamed to grub_ntfs_read_run_list.
44216 (decomp_nextvcn): Moved to ntfscomp.c.
44217 (decomp_getch): Likewise.
44218 (decomp_get16): Likewise.
44219 (decomp_block): Likewise.
44220 (read_block): Likewise.
44221 (read_data): Partially moved to ntfscomp.c.
44222 (fixup): Change unsigned to grub_uint16_t.
44223 (read_mft): Change unsigned long to grub_uint32_t.
44224 (read_attr): Likewise.
44225 (read_data): Likewise.
44226 (read_run_data): Likewise.
44227 (read_run_list): Likewise.
44228 (read_mft): Likewise.
44229
44230 * fs/ntfscomp.c: New file.
44231
44232 * include/grub/ntfs.h: New file.
44233
44234 2007-12-16 Robert Millan <rmh@aybabtu.com>
44235
44236 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
44237 IDE disk check, since Linux is known to support 20 IDE disks.
44238 Reported by Colin Watson.
44239
44240 2007-12-15 Bean <bean123ch@gmail.com>
44241
44242 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
44243 (lnxboot_img_SOURCES): New variable.
44244 (lnxboot_img_ASFLAGS): Likewise.
44245 (lnxboot_img_LDFLAGS): Likewise.
44246
44247 * boot/i386/pc/lnxboot.S: New file.
44248
44249 2007-11-24 Pavel Roskin <proski@gnu.org>
44250
44251 * configure.ac: Test if '--build-id=none' is supported by the
44252 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
44253 objcopy to generate incorrect binary files (binutils
44254 2.17.50.0.18-1 as shipped by Fedora 8).
44255 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
44256 linking, so that build ID doesn't break the test.
44257
44258 2007-11-24 Pavel Roskin <proski@gnu.org>
44259
44260 * include/grub/i386/time.h: use "void" in the argument list
44261 of grub_cpu_idle().
44262 * include/grub/powerpc/time.h: Likewise.
44263 * include/grub/sparc64/time.h: Likewise.
44264
44265 2007-11-18 Christian Franke <franke@computer.org>
44266
44267 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
44268 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
44269 This fixes the problem that function keys did not work in grub-emu.
44270
44271 2007-11-18 Christian Franke <franke@computer.org>
44272
44273 * disk/host.c (grub_host_open): Remove attribute unused from
44274 name parameter. Add check for "host". This fixes the problem
44275 that grub-emu does not find partitions.
44276
44277 2007-11-18 Christian Franke <franke@computer.org>
44278
44279 * util/hostfs.c (is_dir): New function.
44280 (grub_hostfs_dir): Handle missing dirent.d_type case.
44281 (grub_hostfs_read): Add missing fseek().
44282 (grub_hostfs_label): Clear label pointer. This fixes a crash
44283 of grub-emu on "ls (host)".
44284
44285 2007-11-18 Christian Franke <franke@computer.org>
44286
44287 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
44288 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
44289 to 64 bit boundary by default.
44290
44291 2007-11-18 Bean <bean123ch@gmail.com>
44292
44293 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
44294 (hexdump_mod_SOURCES): New variable.
44295 (hexdump_mod_CFLAGS): Likewise.
44296 (hexdump_mod_LDFLAGS): Likewise.
44297
44298 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44299
44300 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44301
44302 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44303
44304 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44305
44306 * include/grub/hexdump.h: New file.
44307
44308 * commands/hexdump.c: New file.
44309
44310 2007-11-10 Robert Millan <rmh@aybabtu.com>
44311
44312 * commands/i386/pc/play.c (beep_off): Switch order of arguments
44313 in grub_outb() calls.
44314 (beep_on): Likewise.
44315
44316 2007-11-10 Christian Franke <franke@computer.org>
44317
44318 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
44319 (grub_menu_run): Likewise.
44320
44321 2007-11-10 Robert Millan <rmh@aybabtu.com>
44322
44323 * include/grub/i386/efi/machine.h: New file.
44324 * include/grub/i386/linuxbios/machine.h: Likewise.
44325 * include/grub/i386/pc/machine.h: Likewise.
44326 * include/grub/powerpc/ieee1275/machine.h: Likewise.
44327 * include/grub/sparc64/ieee1275/machine.h: Likewise.
44328
44329 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
44330 (serial_hw_io_addr): New variable.
44331 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
44332 instead of `(unsigned short *) 0x400'.
44333
44334 2007-11-10 Bean <bean123ch@gmail.com>
44335
44336 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
44337
44338 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
44339
44340 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
44341 (vga_mod_SOURCES): Added.
44342 (vga_mod_CFLAGS): Likewise.
44343 (vga_mod_LDFLAGS): Likewise.
44344
44345 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
44346 grub_outb() calls.
44347 (set_map_mask): Likewise.
44348 (set_read_map): Likewise.
44349 (set_read_address): Likewise.
44350 (vga_font): Removed variable.
44351 (get_vga_glyph): Removed function.
44352 (invalidate_char): Likewise.
44353 (write_char): Changed to use grub_font_get_glyph() for font
44354 information.
44355 (grub_vga_putchar): Likewise.
44356 (grub_vga_getcharwidth): Likewise.
44357
44358 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
44359
44360 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
44361 flags.
44362 (pxeboot_img_LDFLAGS): Likewise.
44363 (diskboot_img_LDFLAGS): Likewise.
44364 (kernel_img_LDFLAGS): Likewise.
44365
44366 2007-11-06 Robert Millan <rmh@aybabtu.com>
44367
44368 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
44369 in grub_outb() calls.
44370 (serial_hw_init): Likewise.
44371
44372 2007-11-05 Robert Millan <rmh@aybabtu.com>
44373
44374 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
44375 spaces. Skip non-regular files.
44376
44377 2007-11-05 Robert Millan <rmh@aybabtu.com>
44378
44379 * kern/disk.c (grub_disk_firmware_fini)
44380 (grub_disk_firmware_is_tainted): New variables.
44381
44382 * include/grub/disk.h (grub_disk_firmware_fini)
44383 (grub_disk_firmware_is_tainted): Likewise.
44384
44385 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
44386 (grub_disk_biosdisk_fini): ... to here.
44387 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
44388 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
44389 is set. Register grub_disk_biosdisk_fini() in
44390 `grub_disk_firmware_fini'.
44391
44392 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
44393 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
44394 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
44395 to finish existing firmware disk interface.
44396
44397 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
44398 (ata_mod_SOURCES): New variable.
44399 (ata_mod_CFLAGS): Likewise.
44400 (ata_mod_LDFLAGS): Likewise.
44401
44402 2007-11-05 Robert Millan <rmh@aybabtu.com>
44403
44404 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
44405 (grub_ata_wait): Reimplement using grub_millisleep().
44406
44407 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
44408 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
44409
44410 2007-11-03 Marco Gerards <marco@gnu.org>
44411
44412 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
44413 (CRTC_ADDR_PORT): New macro.
44414 (CRTC_DATA_PORT): Likewise.
44415 (CRTC_CURSOR): Likewise.
44416 (CRTC_CURSOR_ADDR_HIGH): Likewise.
44417 (CRTC_CURSOR_ADDR_LOW): Likewise.
44418 (update_cursor): New function.
44419 (grub_console_real_putchar): Call `update_cursor'.
44420 (grub_console_gotoxy): Likewise.
44421 (grub_console_cls): Set the default color when clearing the
44422 screen.
44423 (grub_console_setcursor): Implemented.
44424
44425 2007-11-03 Marco Gerards <marco@gnu.org>
44426
44427 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
44428 become activate.
44429 (grub_ata_pio_write): Likewise.
44430
44431 (grub_atapi_identify): Wait after issuing an ATA command.
44432 (grub_atapi_packet): Likewise.
44433 (grub_ata_identify): Likewise.
44434 (grub_ata_readwrite): Likewise.
44435
44436 2007-11-03 Marco Gerards <marco@gnu.org>
44437
44438 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
44439 (grub_ata_pio_write): Likewise.
44440 (grub_ata_readwrite): Use `grub_error', instead of
44441 returning `grub_errno'.
44442
44443 2007-11-03 Marco Gerards <marco@gnu.org>
44444
44445 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
44446 grub_ata_pio_write once for every single sector, instead of for
44447 multiple sectors.
44448
44449 2007-10-31 Robert Millan <rmh@aybabtu.com>
44450
44451 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
44452
44453 * conf/i386-linuxbios.rmk: New file.
44454
44455 * kern/i386/pc/hardware.c: Likewise.
44456 * term/i386/pc/at_keyboard.c: Likewise.
44457 * term/i386/pc/vga_text.c: Likewise.
44458
44459 * include/grub/i386/linuxbios/boot.h: Likewise.
44460 * include/grub/i386/linuxbios/console.h: Likewise.
44461 * include/grub/i386/linuxbios/init.h: Likewise.
44462 * include/grub/i386/linuxbios/kernel.h: Likewise.
44463 * include/grub/i386/linuxbios/loader.h: Likewise.
44464 * include/grub/i386/linuxbios/memory.h: Likewise.
44465 * include/grub/i386/linuxbios/serial.h: Likewise.
44466 * include/grub/i386/linuxbios/time.h: Likewise.
44467
44468 * kern/i386/linuxbios/init.c: Likewise.
44469 * kern/i386/linuxbios/startup.S: Likewise.
44470 * kern/i386/linuxbios/table.c: Likewise.
44471
44472 2007-10-31 Marco Gerards <marco@gnu.org>
44473
44474 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
44475 (ata_mod_SOURCES): New variable.
44476 (ata_mod_CFLAGS): Likewise.
44477 (ata_mod_LDFLAGS): Likewise.
44478
44479 * disk/ata.c: New file.
44480
44481 * include/grub/disk.h (grub_disk_dev_id): Add
44482 `GRUB_DISK_DEV_ATA_ID'.
44483
44484 2007-10-31 Robert Millan <rmh@aybabtu.com>
44485
44486 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
44487 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
44488
44489 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
44490 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
44491
44492 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
44493 `<grub/types.h>'.
44494
44495 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
44496
44497 2007-10-27 Robert Millan <rmh@aybabtu.com>
44498
44499 * include/grub/types.h (ULONG_MAX): Define macro.
44500
44501 2007-10-22 Robert Millan <rmh@aybabtu.com>
44502
44503 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
44504 `"../realmode.S"'.
44505 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
44506
44507 2007-10-22 Robert Millan <rmh@aybabtu.com>
44508
44509 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
44510 (pkgdata_MODULES): Add `biosdisk.mod'.
44511 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
44512 variables.
44513
44514 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
44515 (grub_biosdisk_init): Replace with ...
44516 (GRUB_MOD_INIT(biosdisk)): ... this.
44517 (grub_biosdisk_fini): Replace with ...
44518 (GRUB_MOD_FINI(biosdisk)): ... this.
44519
44520 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
44521 (grub_machine_init): Remove call to grub_biosdisk_init().
44522 (grub_machine_fini): Remove call to grub_machine_fini().
44523
44524 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
44525
44526 2007-10-22 Robert Millan <rmh@aybabtu.com>
44527
44528 * include/grub/time.h: New file.
44529 * include/grub/i386/time.h: Likewise.
44530 * include/grub/powerpc/time.h: Likewise.
44531 * include/grub/sparc64/time.h: Likewise.
44532
44533 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
44534 instances to ...
44535 (KERNEL_MACHINE_TIME_HEADER): ... this.
44536 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
44537 instances to ...
44538 (KERNEL_MACHINE_TIME_HEADER): ... this.
44539 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
44540 instances to ...
44541 (KERNEL_MACHINE_TIME_HEADER): ... this.
44542
44543 * kern/i386/efi/init.c: Include `<grub/time.h>'.
44544 (grub_millisleep): New function.
44545 * kern/i386/pc/init.c: Include `<grub/time.h>'.
44546 (grub_millisleep): New function.
44547 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
44548 Remove `grub/machine/time.h' include.
44549 (grub_millisleep): New function.
44550 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
44551 Remove `grub/machine/time.h' include.
44552 (grub_millisleep): New function.
44553
44554 * include/grub/misc.h (grub_div_roundup): New function.
44555
44556 * kern/misc.c: Include `<grub/time.h>'.
44557 (grub_millisleep_generic): New function.
44558
44559 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
44560 Add `time.h'.
44561 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
44562 Add `time.h'.
44563 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
44564 `machine/time.h'. Add `time.h'.
44565 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44566
44567 2007-10-21 Robert Millan <rmh@aybabtu.com>
44568
44569 * include/grub/misc.h (grub_max): New function.
44570
44571 2007-10-21 Robert Millan <rmh@aybabtu.com>
44572
44573 * util/misc.c (grub_util_info): Call fflush() before returning.
44574
44575 2007-10-20 Robert Millan <rmh@aybabtu.com>
44576
44577 * genmk.rb (Image): Copy `extra_flags' from here ...
44578 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
44579
44580 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
44581 to `argc' and `args' arguments.
44582
44583 2007-10-17 Robert Millan <rmh@aybabtu.com>
44584
44585 * kern/i386/loader.S: New file.
44586
44587 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
44588 * kern/i386/loader.S (grub_linux_prot_size)... to here.
44589 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
44590 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
44591 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
44592 * kern/i386/loader.S (grub_linux_real_addr)... to here.
44593 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
44594 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
44595 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
44596 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
44597 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
44598 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
44599 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
44600 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
44601
44602 * kern/i386/realmode.S: New file.
44603
44604 * kern/i386/pc/startup.S (protstack): Moved from here ...
44605 * kern/i386/realmode.S (protstack)... to here.
44606 * kern/i386/pc/startup.S (gdt): Moved from here ...
44607 * kern/i386/realmode.S (gdt)... to here.
44608 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
44609 * kern/i386/realmode.S (prot_to_real)... to here.
44610
44611 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
44612 `kern/i386/realmode.S'.
44613
44614 2007-10-17 Robert Millan <rmh@aybabtu.com>
44615
44616 * include/grub/i386/loader.h: New file.
44617
44618 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
44619 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
44620 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
44621 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
44622 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
44623 * include/grub/i386/loader.h (grub_linux_prot_size)
44624 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
44625 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
44626 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
44627 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
44628
44629 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
44630
44631 2007-10-15 Robert Millan <rmh@aybabtu.com>
44632
44633 * normal/misc.c (grub_normal_print_device_info): Do not probe for
44634 filesystem when dev->disk is unset.
44635 Do probe for filesystem even when dev->disk->has_partitions is set.
44636 In case a filesystem is found, always report it.
44637 In case it isn't, if dev->disk->has_partitions is set, report that
44638 a partition table was found instead of reporting that no filesystem
44639 could be identified.
44640
44641 2007-10-12 Robert Millan <rmh@aybabtu.com>
44642
44643 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
44644 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
44645
44646 * include/grub/types.h (grub_host_to_target16): New macro.
44647 (grub_host_to_target32): Likewise.
44648 (grub_host_to_target64): Likewise.
44649 (grub_target_to_host16): Likewise.
44650 (grub_target_to_host32): Likewise.
44651 (grub_target_to_host64): Likewise.
44652
44653 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
44654 Renamed from to ...
44655 (GRUB_MOD_ALIGN): ...this. Update all users.
44656
44657 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
44658 grub_host_to_target32.
44659 Replace grub_be_to_cpu32 with grub_target_to_host32.
44660 (load_modules): Likewise.
44661 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
44662 Replace grub_be_to_cpu32 with grub_target_to_host32.
44663 Replace grub_cpu_to_be16 with grub_host_to_target16.
44664 Replace grub_cpu_to_be32 grub_host_to_target32.
44665
44666 2007-10-12 Robert Millan <rmh@aybabtu.com>
44667
44668 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
44669 * util/elf/grub-mkimage.c: ... here.
44670
44671 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
44672 `util/powerpc/ieee1275/grub-mkimage.c'.
44673
44674 2007-10-07 Robert Millan <rmh@aybabtu.com>
44675
44676 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
44677 and make it easier to figure out.
44678 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
44679 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
44680 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
44681 leave us with less than HEAP_MIN_SIZE total heap.
44682 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
44683
44684 2007-10-03 Robert Millan <rmh@aybabtu.com>
44685
44686 * include/grub/i386/io.h: New file.
44687 * commands/i386/pc/play.c (inb): Removed.
44688 (outb): Removed.
44689 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
44690 with grub_outb().
44691 * term/i386/pc/serial.c (inb): Removed.
44692 (outb): Removed.
44693 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
44694 with grub_outb().
44695 * term/i386/pc/vga.c (inb): Removed.
44696 (outb): Removed.
44697 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
44698 with grub_outb().
44699
44700 2007-10-02 Robert Millan <rmh@aybabtu.com>
44701
44702 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
44703 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44704 Reported by Marcin Kurek.
44705
44706 2007-09-07 Robert Millan <rmh@aybabtu.com>
44707
44708 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
44709 SmartFirmware version updates (as released by Sven Luther), and avoid
44710 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
44711 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
44712 known broken.
44713
44714 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
44715
44716 From Hitoshi Ozeki:
44717 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
44718 when merging two regions.
44719
44720 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
44721
44722 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
44723 * normal/completion.c (grub_normal_do_completion): Likewise.
44724 Reported by Hitoshi Ozeki.
44725
44726 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
44727
44728 Do not use devices at boot in chainloading.
44729
44730 * loader/i386/pc/chainloader.c (boot_drive): New variable.
44731 (boot_part_addr): Likewise.
44732 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
44733 with BOOT_DRIVE and BOOT_PART_ADDR.
44734 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
44735 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
44736
44737 2007-08-29 Robert Millan <rmh@aybabtu.com>
44738
44739 Patch from Simon Peter <dn.tlp@gmx.net>:
44740 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
44741 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
44742 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
44743 util/i386/pc/grub-setup.c_DEPENDENCIES.
44744 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
44745 util/grub-probe.c_DEPENDENCIES.
44746 * conf/powerpc-ieee1275.rmk: Likewise.
44747
44748 2007-08-28 Robert Millan <rmh@aybabtu.com>
44749
44750 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
44751 to tell grub-mkdevicemap how to name devices.
44752 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
44753 feature).
44754
44755 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
44756 util/i386/get_disk_name.c.
44757 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
44758 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
44759 util/ieee1275/get_disk_name.c.
44760
44761 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
44762
44763 * DISTLIST: Add util/i386/get_disk_name.c and
44764 util/ieee1275/get_disk_name.c.
44765
44766 * util/grub-mkdevicemap.c: Replace device naming logic with
44767 grub_util_get_disk_name() calls.
44768
44769 2007-08-20 Robert Millan <rmh@aybabtu.com>
44770
44771 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
44772 (so that it works for both plural and singular quantities).
44773
44774 2007-08-05 Robert Millan <rmh@aybabtu.com>
44775
44776 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
44777 so that [xz] isn't taken into account when determining order.
44778
44779 2007-08-02 Marco Gerards <marco@gnu.org>
44780
44781 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
44782 `include/multiboot2.h', `include/grub/elfload.h',
44783 `include/multiboot.h', `include/grub/multiboot.h',
44784 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
44785 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
44786 `kern/elf.c', `loader/multiboot_loader.c',
44787 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
44788 `loader/i386/pc/multiboot2.c',
44789 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
44790 `util/i386/pc/grub-mkrescue.in'. Remove
44791 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
44792 `include/grub/i386/pc/util/biosdisk.h' and
44793 `include/grub/powerpc/ieee1275/multiboot.h'.
44794
44795 2007-08-02 Bean <bean123ch@gmail.com>
44796
44797 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
44798 (ntfs_mod_SOURCES): New variable.
44799 (ntfs_mod_CFLAGS): Likewise.
44800 (ntfs_mod_LDFLAGS): Likewise.
44801
44802 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
44803 (grub_probe_SOURCES): Likewise.
44804 (grub_emu_SOURCES): Likewise.
44805
44806 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
44807 (grub_emu_SOURCES): Likewise.
44808
44809 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
44810 (grub_emu_SOURCES): Likewise.
44811
44812 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
44813
44814 * fs/ntfs.c: New file.
44815
44816 2007-08-02 Bean <bean123ch@gmail.com>
44817
44818 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
44819
44820 * file.h (grub_file): Likewise.
44821
44822 * fshelp.h (grub_fshelp_read_file): Likewise.
44823
44824 * util/i386/pc/grub-setup.c (setup): Likewise.
44825 (save_first_sector): Likewise.
44826 (save_blocklists): Likewise.
44827
44828 * fs/affs.c (grub_affs_read_file): Likewise.
44829
44830 * fs/ext2.c (grub_ext2_read_file): Likewise.
44831
44832 * fs/fat.c (grub_fat_read_data): Likewise.
44833
44834 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
44835
44836 * fs/hfs.c (grub_hfs_read_file): Likewise.
44837
44838 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
44839
44840 * fs/jfs.c (grub_jfs_read_file): Likewise.
44841
44842 * fs/minix.c (grub_minix_read_file): Likewise.
44843
44844 * fs/sfs.c (grub_sfs_read_file): Likewise.
44845
44846 * fs/ufs.c (grub_ufs_read_file): Likewise.
44847
44848 * fs/xfs.c (grub_xfs_read_file): Likewise.
44849
44850 * command/blocklist.c (read_blocklist): Likewise.
44851 (print_blocklist): Likewise.
44852
44853 2007-08-02 Marco Gerards <marco@gnu.org>
44854
44855 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
44856 `util/hostfs.c'.
44857
44858 * disk/host.c: New file.
44859
44860 * util/hostfs.c: Likewise.
44861
44862 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
44863 return `GRUB_ERR_BAD_FS'.
44864 * fs/sfs.c (grub_sfs_mount): Likewise.
44865 * fs/xfs.c (grub_xfs_mount): Likewise.
44866
44867 * include/grub/disk.h (enum grub_disk_dev_id): Add
44868 `GRUB_DISK_DEVICE_HOST_ID'.
44869
44870 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
44871
44872 2007-07-24 Jerone Young <jerone@gmail.com>
44873
44874 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
44875 modules for compilation.
44876 * conf/powerpc-ieee1275.rmk: Likewise.
44877
44878 * include/multiboot.h: Move multiboot definitions to one file. Rename
44879 many definitions to not get grub specific.
44880 * include/multiboot2.h: Create header with multiboot 2 definitions.
44881 * include/grub/multiboot.h: Header for grub specific function
44882 prototypes and definitions.
44883 * include/grub/multiboot2.h: Likewise.
44884 * include/grub/multiboot_loader.h: Likewise.
44885 * include/grub/i386/pc/multiboot.h: Removed.
44886 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
44887
44888 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
44889 and 2 to allow for one multiboot and module commands.
44890 * loader/multiboot2.c: Add multiboot2 functionality.
44891 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
44892 and definition names.
44893 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
44894 2 functions.
44895 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
44896 ieee1275 specific multiboot2 code.
44897
44898 * kern/i386/pc/startup.S: Change headers and definition names for
44899 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
44900
44901 2007-07-22 Robert Millan <rmh@aybabtu.com>
44902
44903 * geninitheader.sh: Process file specified in first parameter rather
44904 than hardcoding grub_modules_init.lst.
44905 * geninit.sh: Likewise. Also, construct header name dynamically rather
44906 than hardcoding grub_modules_init.h.
44907
44908 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
44909 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
44910 grub_probe_init.[ch] and grub_setup_init.[ch].
44911
44912 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
44913 grub_modules_init.h with grub_emu_init.h.
44914 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
44915 grub_probe_init.[ch] files.
44916 * conf/i386-efi.rmk: Likewise.
44917 * conf/i386-pc.rmk: Likewise.
44918 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
44919 grub_setup_init.[ch] files.
44920
44921 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
44922 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
44923 to initialize modules rather than a list of hardcoded functions.
44924 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
44925 grub_init_all() to initialize modules rather than a list of hardcoded
44926 functions.
44927
44928 2007-07-22 Robert Millan <rmh@aybabtu.com>
44929
44930 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
44931 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
44932
44933 2007-07-22 Robert Millan <rmh@aybabtu.com>
44934
44935 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
44936 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
44937 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
44938 flag when running on SmartFirmware.
44939 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
44940 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
44941 was set.
44942
44943 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
44944 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
44945 rather than decreasing it.
44946
44947 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
44948 there's not enough space to do it, fail in the same way as when it
44949 can't be done because there are no partitions.
44950
44951 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
44952 when nvsetenv failed.
44953
44954 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
44955
44956 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
44957 because this rule is automatically generated.
44958 (grub-mkrescue): Removed for the same reason as above.
44959
44960 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
44961
44962 Migrate to GNU General Public License Version 3.
44963
44964 * COPYING: Replaced with the plain text version of GPLv3.
44965
44966 * config.guess: Updated from gnulib.
44967 * config.sub: Likewise.
44968
44969 * geninit.sh: Output a GPLv3 copyright notice.
44970 * geninitheader.sh: Likewise.
44971 * genmodsrc.sh: Likewise.
44972 * gensymlist.sh.in: Likewise.
44973
44974 * boot/i386/pc/boot.S: Upgraded to GPLv3.
44975 * boot/i386/pc/diskboot.S: Likewise.
44976 * boot/i386/pc/pxeboot.S: Likewise.
44977 * commands/blocklist.c: Likewise.
44978 * commands/boot.c: Likewise.
44979 * commands/cat.c: Likewise.
44980 * commands/cmp.c: Likewise.
44981 * commands/configfile.c: Likewise.
44982 * commands/echo.c: Likewise.
44983 * commands/help.c: Likewise.
44984 * commands/ls.c: Likewise.
44985 * commands/search.c: Likewise.
44986 * commands/terminal.c: Likewise.
44987 * commands/test.c: Likewise.
44988 * commands/videotest.c: Likewise.
44989 * commands/i386/cpuid.c: Likewise.
44990 * commands/i386/pc/halt.c: Likewise.
44991 * commands/i386/pc/play.c: Likewise.
44992 * commands/i386/pc/reboot.c: Likewise.
44993 * commands/i386/pc/vbeinfo.c: Likewise.
44994 * commands/i386/pc/vbetest.c: Likewise.
44995 * commands/ieee1275/halt.c: Likewise.
44996 * commands/ieee1275/reboot.c: Likewise.
44997 * commands/ieee1275/suspend.c: Likewise.
44998 * disk/loopback.c: Likewise.
44999 * disk/lvm.c: Likewise.
45000 * disk/raid.c: Likewise.
45001 * disk/efi/efidisk.c: Likewise.
45002 * disk/i386/pc/biosdisk.c: Likewise.
45003 * disk/ieee1275/ofdisk.c: Likewise.
45004 * font/manager.c: Likewise.
45005 * fs/affs.c: Likewise.
45006 * fs/ext2.c: Likewise.
45007 * fs/fat.c: Likewise.
45008 * fs/fshelp.c: Likewise.
45009 * fs/hfs.c: Likewise.
45010 * fs/hfsplus.c: Likewise.
45011 * fs/iso9660.c: Likewise.
45012 * fs/jfs.c: Likewise.
45013 * fs/minix.c: Likewise.
45014 * fs/sfs.c: Likewise.
45015 * fs/ufs.c: Likewise.
45016 * fs/xfs.c: Likewise.
45017 * hello/hello.c: Likewise.
45018 * include/grub/acorn_filecore.h: Likewise.
45019 * include/grub/arg.h: Likewise.
45020 * include/grub/bitmap.h: Likewise.
45021 * include/grub/boot.h: Likewise.
45022 * include/grub/cache.h: Likewise.
45023 * include/grub/device.h: Likewise.
45024 * include/grub/disk.h: Likewise.
45025 * include/grub/dl.h: Likewise.
45026 * include/grub/elfload.h: Likewise.
45027 * include/grub/env.h: Likewise.
45028 * include/grub/err.h: Likewise.
45029 * include/grub/file.h: Likewise.
45030 * include/grub/font.h: Likewise.
45031 * include/grub/fs.h: Likewise.
45032 * include/grub/fshelp.h: Likewise.
45033 * include/grub/gzio.h: Likewise.
45034 * include/grub/hfs.h: Likewise.
45035 * include/grub/kernel.h: Likewise.
45036 * include/grub/loader.h: Likewise.
45037 * include/grub/lvm.h: Likewise.
45038 * include/grub/misc.h: Likewise.
45039 * include/grub/mm.h: Likewise.
45040 * include/grub/net.h: Likewise.
45041 * include/grub/normal.h: Likewise.
45042 * include/grub/parser.h: Likewise.
45043 * include/grub/partition.h: Likewise.
45044 * include/grub/pc_partition.h: Likewise.
45045 * include/grub/raid.h: Likewise.
45046 * include/grub/rescue.h: Likewise.
45047 * include/grub/script.h: Likewise.
45048 * include/grub/setjmp.h: Likewise.
45049 * include/grub/symbol.h: Likewise.
45050 * include/grub/term.h: Likewise.
45051 * include/grub/terminfo.h: Likewise.
45052 * include/grub/tparm.h: Likewise.
45053 * include/grub/types.h: Likewise.
45054 * include/grub/video.h: Likewise.
45055 * include/grub/efi/api.h: Likewise.
45056 * include/grub/efi/chainloader.h: Likewise.
45057 * include/grub/efi/console.h: Likewise.
45058 * include/grub/efi/console_control.h: Likewise.
45059 * include/grub/efi/disk.h: Likewise.
45060 * include/grub/efi/efi.h: Likewise.
45061 * include/grub/efi/pe32.h: Likewise.
45062 * include/grub/efi/time.h: Likewise.
45063 * include/grub/i386/linux.h: Likewise.
45064 * include/grub/i386/setjmp.h: Likewise.
45065 * include/grub/i386/types.h: Likewise.
45066 * include/grub/i386/efi/kernel.h: Likewise.
45067 * include/grub/i386/efi/loader.h: Likewise.
45068 * include/grub/i386/efi/time.h: Likewise.
45069 * include/grub/i386/pc/biosdisk.h: Likewise.
45070 * include/grub/i386/pc/boot.h: Likewise.
45071 * include/grub/i386/pc/chainloader.h: Likewise.
45072 * include/grub/i386/pc/console.h: Likewise.
45073 * include/grub/i386/pc/init.h: Likewise.
45074 * include/grub/i386/pc/kernel.h: Likewise.
45075 * include/grub/i386/pc/loader.h: Likewise.
45076 * include/grub/i386/pc/memory.h: Likewise.
45077 * include/grub/i386/pc/multiboot.h: Likewise.
45078 * include/grub/i386/pc/serial.h: Likewise.
45079 * include/grub/i386/pc/time.h: Likewise.
45080 * include/grub/i386/pc/vbe.h: Likewise.
45081 * include/grub/i386/pc/vbeblit.h: Likewise.
45082 * include/grub/i386/pc/vbefill.h: Likewise.
45083 * include/grub/i386/pc/vbeutil.h: Likewise.
45084 * include/grub/i386/pc/vga.h: Likewise.
45085 * include/grub/ieee1275/ieee1275.h: Likewise.
45086 * include/grub/ieee1275/ofdisk.h: Likewise.
45087 * include/grub/powerpc/libgcc.h: Likewise.
45088 * include/grub/powerpc/setjmp.h: Likewise.
45089 * include/grub/powerpc/types.h: Likewise.
45090 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
45091 * include/grub/powerpc/ieee1275/console.h: Likewise.
45092 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
45093 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
45094 * include/grub/powerpc/ieee1275/loader.h: Likewise.
45095 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
45096 * include/grub/powerpc/ieee1275/time.h: Likewise.
45097 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
45098 * include/grub/sparc64/libgcc.h: Likewise.
45099 * include/grub/sparc64/setjmp.h: Likewise.
45100 * include/grub/sparc64/types.h: Likewise.
45101 * include/grub/sparc64/ieee1275/console.h: Likewise.
45102 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
45103 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
45104 * include/grub/sparc64/ieee1275/time.h: Likewise.
45105 * include/grub/util/biosdisk.h: Likewise.
45106 * include/grub/util/getroot.h: Likewise.
45107 * include/grub/util/lvm.h: Likewise.
45108 * include/grub/util/misc.h: Likewise.
45109 * include/grub/util/raid.h: Likewise.
45110 * include/grub/util/resolve.h: Likewise.
45111 * io/gzio.c: Likewise.
45112 * kern/device.c: Likewise.
45113 * kern/disk.c: Likewise.
45114 * kern/dl.c: Likewise.
45115 * kern/elf.c: Likewise.
45116 * kern/env.c: Likewise.
45117 * kern/err.c: Likewise.
45118 * kern/file.c: Likewise.
45119 * kern/fs.c: Likewise.
45120 * kern/loader.c: Likewise.
45121 * kern/main.c: Likewise.
45122 * kern/misc.c: Likewise.
45123 * kern/mm.c: Likewise.
45124 * kern/parser.c: Likewise.
45125 * kern/partition.c: Likewise.
45126 * kern/rescue.c: Likewise.
45127 * kern/term.c: Likewise.
45128 * kern/efi/efi.c: Likewise.
45129 * kern/efi/init.c: Likewise.
45130 * kern/efi/mm.c: Likewise.
45131 * kern/i386/dl.c: Likewise.
45132 * kern/i386/efi/init.c: Likewise.
45133 * kern/i386/efi/startup.S: Likewise.
45134 * kern/i386/pc/init.c: Likewise.
45135 * kern/i386/pc/lzo1x.S: Likewise.
45136 * kern/i386/pc/startup.S: Likewise.
45137 * kern/ieee1275/ieee1275.c: Likewise.
45138 * kern/powerpc/cache.S: Likewise.
45139 * kern/powerpc/dl.c: Likewise.
45140 * kern/powerpc/ieee1275/cmain.c: Likewise.
45141 * kern/powerpc/ieee1275/crt0.S: Likewise.
45142 * kern/powerpc/ieee1275/init.c: Likewise.
45143 * kern/powerpc/ieee1275/openfw.c: Likewise.
45144 * kern/sparc64/cache.S: Likewise.
45145 * kern/sparc64/dl.c: Likewise.
45146 * kern/sparc64/ieee1275/init.c: Likewise.
45147 * kern/sparc64/ieee1275/openfw.c: Likewise.
45148 * loader/efi/chainloader.c: Likewise.
45149 * loader/efi/chainloader_normal.c: Likewise.
45150 * loader/i386/efi/linux.c: Likewise.
45151 * loader/i386/efi/linux_normal.c: Likewise.
45152 * loader/i386/pc/chainloader.c: Likewise.
45153 * loader/i386/pc/chainloader_normal.c: Likewise.
45154 * loader/i386/pc/linux.c: Likewise.
45155 * loader/i386/pc/linux_normal.c: Likewise.
45156 * loader/i386/pc/multiboot.c: Likewise.
45157 * loader/i386/pc/multiboot_normal.c: Likewise.
45158 * loader/powerpc/ieee1275/linux.c: Likewise.
45159 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
45160 * normal/arg.c: Likewise.
45161 * normal/cmdline.c: Likewise.
45162 * normal/command.c: Likewise.
45163 * normal/completion.c: Likewise.
45164 * normal/execute.c: Likewise.
45165 * normal/function.c: Likewise.
45166 * normal/lexer.c: Likewise.
45167 * normal/main.c: Likewise.
45168 * normal/menu.c: Likewise.
45169 * normal/menu_entry.c: Likewise.
45170 * normal/misc.c: Likewise.
45171 * normal/parser.y: Likewise.
45172 * normal/script.c: Likewise.
45173 * normal/i386/setjmp.S: Likewise.
45174 * normal/powerpc/setjmp.S: Likewise.
45175 * normal/sparc64/setjmp.S: Likewise.
45176 * partmap/acorn.c: Likewise.
45177 * partmap/amiga.c: Likewise.
45178 * partmap/apple.c: Likewise.
45179 * partmap/gpt.c: Likewise.
45180 * partmap/pc.c: Likewise.
45181 * partmap/sun.c: Likewise.
45182 * term/gfxterm.c: Likewise.
45183 * term/terminfo.c: Likewise.
45184 * term/efi/console.c: Likewise.
45185 * term/i386/pc/console.c: Likewise.
45186 * term/i386/pc/serial.c: Likewise.
45187 * term/i386/pc/vesafb.c: Likewise.
45188 * term/i386/pc/vga.c: Likewise.
45189 * term/ieee1275/ofconsole.c: Likewise.
45190 * util/biosdisk.c: Likewise.
45191 * util/console.c: Likewise.
45192 * util/genmoddep.c: Likewise.
45193 * util/getroot.c: Likewise.
45194 * util/grub-emu.c: Likewise.
45195 * util/grub-mkdevicemap.c: Likewise.
45196 * util/grub-probe.c: Likewise.
45197 * util/lvm.c: Likewise.
45198 * util/misc.c: Likewise.
45199 * util/raid.c: Likewise.
45200 * util/resolve.c: Likewise.
45201 * util/update-grub.in: Likewise.
45202 * util/update-grub_lib.in: Likewise.
45203 * util/grub.d/00_header.in: Likewise.
45204 * util/grub.d/10_hurd.in: Likewise.
45205 * util/grub.d/10_linux.in: Likewise.
45206 * util/i386/efi/grub-install.in: Likewise.
45207 * util/i386/efi/grub-mkimage.c: Likewise.
45208 * util/i386/pc/grub-install.in: Likewise.
45209 * util/i386/pc/grub-mkimage.c: Likewise.
45210 * util/i386/pc/grub-mkrescue.in: Likewise.
45211 * util/i386/pc/grub-setup.c: Likewise.
45212 * util/i386/pc/misc.c: Likewise.
45213 * util/powerpc/ieee1275/grub-install.in: Likewise.
45214 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
45215 * util/powerpc/ieee1275/misc.c: Likewise.
45216 * video/bitmap.c: Likewise.
45217 * video/video.c: Likewise.
45218 * video/i386/pc/vbe.c: Likewise.
45219 * video/i386/pc/vbeblit.c: Likewise.
45220 * video/i386/pc/vbefill.c: Likewise.
45221 * video/i386/pc/vbeutil.c: Likewise.
45222 * video/readers/tga.c: Likewise.
45223
45224 2007-07-02 Robert Millan <rmh@aybabtu.com>
45225
45226 * conf/i386-efi.rmk: Replace obsolete reference to
45227 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
45228 with util/getroot.c.
45229 * conf/powerpc-ieee1275.rmk: Likewise.
45230 * conf/sparc64-ieee1275.rmk: Likewise.
45231
45232 * util/grub-emu.c (main): Fix unchecked pointer handling.
45233
45234 2007-07-02 Robert Millan <rmh@aybabtu.com>
45235
45236 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
45237 invocation to fail, in order to support partition-less media.
45238
45239 * util/i386/pc/grub-install.in: Likewise.
45240
45241 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
45242 which fs or partmap modules are needed (akin to its sister scripts).
45243
45244 Also use grub-probe to get rid of unportable /proc/mounts check.
45245
45246 Print the same informational message that the other scripts do, before
45247 exiting.
45248
45249 2007-06-23 Robert Millan <rmh@aybabtu.com>
45250
45251 * util/update-grub_lib.in (font_path): New function. Determine whether
45252 a font file can be found and, if so, echo the GRUB path to it.
45253
45254 * util/update-grub.in: Handle multiple terminals depending on user
45255 input, platform availability and font file presence. Propagate
45256 variables of our findings to /etc/grub.d/ children.
45257
45258 * util/grub.d/00_header.in: Handle multiple terminals, based on
45259 environment setup by update-grub.
45260
45261 2007-06-23 Robert Millan <rmh@aybabtu.com>
45262
45263 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
45264
45265 2007-06-21 Robert Millan <rmh@aybabtu.com>
45266
45267 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
45268 indicate end of data section in kernel image.
45269 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
45270 GRUB_KERNEL_MACHINE_DATA_END.
45271
45272 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
45273 space for it.
45274 * kern/i386/efi/startup.S: Likewise.
45275
45276 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
45277 during image generation. Implement --prefix option to override this
45278 patch.
45279 * util/i386/efi/grub-mkimage.c: Likewise.
45280
45281 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
45282 code to make path relative to its root into a separate function.
45283
45284 * util/i386/pc/grub-install.in: Use newly provided
45285 make_system_path_relative_to_its_root() to convert ${grubdir}, then
45286 pass the result to grub-install --prefix.
45287
45288 2007-06-13 Robert Millan <rmh@aybabtu.com>
45289
45290 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
45291 DEFAULT_DEVICE_MAP.
45292 * util/grub-emu.c: Use above definitions from misc.h instead of
45293 defining them.
45294 * util/grub-mkdevicemap.c: Likewise.
45295 * util/i386/pc/grub-setup.c: Likewise.
45296 * util/grub-probe.c: Likewise.
45297 (probe): Abort with grub_util_error() when either
45298 grub_guess_root_device or grub_util_get_grub_dev fails.
45299
45300 2007-06-12 Robert Millan <rmh@aybabtu.com>
45301
45302 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
45303 "pager" assignment.
45304 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
45305 "pcdata".
45306 * util/grub-probe.c (probe): Likewise for "drive_name".
45307
45308 2007-06-11 Robert Millan <rmh@aybabtu.com>
45309
45310 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
45311 not just the cdrom one.
45312
45313 2007-06-11 Robert Millan <rmh@aybabtu.com>
45314
45315 * util/i386/pc/grub-mkrescue.in: Add "set -e".
45316 Add --pkglibdir=DIR option to override pkglibdir.
45317 Mention --image-type=TYPE in help output.
45318 Fix --grub-mkimage (it was a no-op).
45319 Abort gracefully when no parameter is given.
45320
45321 2007-06-11 Robert Millan <rmh@aybabtu.com>
45322
45323 * util/i386/pc/grub-mkrescue.in: New file.
45324 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
45325 * Makefile.in: Handle bin_SCRIPTS.
45326
45327 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
45328
45329 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
45330 list of video modes.
45331
45332 2007-06-06 Robert Millan <rmh@aybabtu.com>
45333
45334 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
45335 file doesn't exist, or if it is in a filesystem grub can't read.
45336
45337 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
45338 not abort if GRUB_DRIVE could not be defined. Rearrange generated
45339 header comment to fit in 80 columns when the variables are resolved.
45340
45341 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
45342 could be identified by update-grub. Remove redundant check for
45343 unifont.pff existence (since convert_system_path_to_grub_path now
45344 handles that).
45345
45346 2007-06-04 Robert Millan <rmh@aybabtu.com>
45347
45348 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
45349
45350 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
45351
45352 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
45353
45354 2007-06-04 Robert Millan <rmh@aybabtu.com>
45355
45356 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
45357
45358 * include/grub/partition.h: Declare grub_apple_partition_map_init and
45359 grub_apple_partition_map_fini.
45360
45361 * util/biosdisk.c
45362 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
45363 to access >2 TiB disks).
45364
45365 Print disk->total_sectors with %llu instead of %lu, since this
45366 variable is always 64-bit (prevents wrong disk size from being displayed
45367 on either >2 TiB disk or big-endian CPU).
45368
45369 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
45370 into a generic case that supports all (sane) partition maps.
45371
45372 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
45373 breaks big-endian.
45374
45375 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
45376 and grub_apple_partition_map_fini() after that.
45377
45378 2007-06-01 Robert Millan <rmh@aybabtu.com>
45379
45380 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
45381
45382 * util/grub.d/00_header.in: Only enable gfxterm when
45383 convert_system_path_to_grub_path() succeeds.
45384
45385 2007-05-20 Robert Millan <rmh@aybabtu.com>
45386
45387 * util/update-grub_lib.in: New file.
45388 * DISTLIST: Add update-grub_lib.in.
45389 * conf/common.rmk: Generate update-grub_lib and install it in
45390 $(lib_DATA).
45391 * Makefile.in: Add install routine for $(lib_DATA).
45392
45393 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
45394 function provided by update-grub_lib to support arbitrary paths of
45395 unifont.pff.
45396 * util/update-grub.in: Use convert_system_path_to_grub_path() to
45397 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
45398
45399 2007-05-19 Robert Millan <rmh@aybabtu.com>
45400
45401 * commands/i386/cpuid.c: New module.
45402 * DISTLIST: Add it.
45403 * conf/i386-efi.rmk: Enable cpuid.mod.
45404 * conf/i386-pc.rmk: Likewise.
45405
45406 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
45407
45408 * kern/disk.c (grub_disk_read): Check return value of
45409 grub_realloc().
45410
45411 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
45412
45413 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
45414 arrays.
45415 * disk/raid.c (grub_raid_open): Likewise.
45416
45417 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
45418
45419 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
45420 stack instead of on the heap.
45421
45422 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
45423 before doing a read on it.
45424
45425 * configure.ac: Only use -fno-stack-protector for the target
45426 environment.
45427
45428 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
45429
45430 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
45431 __attribute_ ((unused)) to mode_type argument.
45432
45433 * util/getroot.c (grub_guess_root_device): Fix #endif.
45434
45435 * kern/misc.c (memcmp): Fix prototype.
45436
45437 * include/grub/partition.h [GRUB_UTIL]
45438 (grub_gpt_partition_map_init): Add prototype.
45439 (grub_gpt_partition_map_fini): Likewise.
45440
45441 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
45442 at the right place.
45443
45444 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
45445 (grub_fat_read_data): Likewise.
45446 (grub_fat_find_dir): Likewise.
45447
45448 * font/manager.c (find_glyph): Make table a const.
45449 (grub_font_get_glyph): Remove bitmap from if statement.
45450
45451 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
45452
45453 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
45454 code, first search for device in /dev/mapper, then in /dev.
45455 (grub_util_get_grub_dev): New function.
45456 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
45457 prototype.
45458 * util/grub-probe.c (probe): Remove check for RAID, call
45459 grub_util_get_grub_dev() instead of
45460 grub_util_biosdisk_get_grub_dev().
45461 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
45462 grub_util_biosdisk_get_grub_dev().
45463 * util/i386/pc/grub-setup.c (main): Likewise.
45464
45465 2007-05-16 Robert Millan <rmh@aybabtu.com>
45466
45467 * DISTLIST: Update for the latest changes.
45468 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
45469 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
45470 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
45471 grub/util/biosdisk.h.
45472 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
45473 grub/util/biosdisk.h.
45474
45475 2007-05-16 Robert Millan <rmh@aybabtu.com>
45476
45477 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
45478
45479 2007-05-16 Robert Millan <rmh@aybabtu.com>
45480
45481 * util/i386/efi/grub-install.in: New.
45482 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
45483 newly added grub-install.
45484 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
45485 include.
45486 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
45487 grub/util/biosdisk.h.
45488 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
45489 grub/util/biosdisk.h.
45490
45491 2007-05-16 Robert Millan <rmh@aybabtu.com>
45492
45493 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
45494 * include/grub/util/biosdisk.h: ... here.
45495 * util/i386/pc/biosdisk.c: Moved to ...
45496 * util/biosdisk.c: ... here.
45497 * util/i386/pc/getroot.c: Moved to ...
45498 * util/getroot.c: ... here.
45499 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
45500 * util/grub-mkdevicemap.c: ... here.
45501 * util/i386/pc/grub-probe.c: Moved to ...
45502 * util/grub-probe.c: ... here.
45503
45504 2007-05-15 Robert Millan <rmh@aybabtu.com>
45505
45506 * util/update-grub.in: Remove duplicated line in grub.cfg header
45507 message.
45508
45509 2007-05-13 Robert Millan <rmh@aybabtu.com>
45510
45511 * util/update-grub.in: Fix a few assumptions about the devices holding
45512 /, /boot and /boot/grub being the same.
45513 * util/grub.d/00_header.in: Likewise.
45514 * util/grub.d/10_hurd.in: Likewise.
45515 * util/grub.d/10_linux.in: Likewise.
45516
45517 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
45518 patterns. Use that to define the `.old' suffix as older than `'.
45519
45520 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
45521
45522 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
45523 the grub.cfg header message.
45524
45525 2007-05-11 Robert Millan <rmh@aybabtu.com>
45526
45527 * util/update-grub.in: Create device.map if it doesn't already exist,
45528 before attempting to run grub-probe.
45529 Check for grub-probe and grub-mkdevicemap with the same code
45530 grub-install is using.
45531 Remove test mode.
45532
45533 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
45534
45535 * Makefile.in: Add the datarootdir autoconf variable.
45536
45537 2007-05-09 Robert Millan <rmh@aybabtu.com>
45538
45539 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
45540 fail gracefully if dev->disk->partition == NULL.
45541
45542 2007-05-07 Robert Millan <rmh@aybabtu.com>
45543
45544 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
45545 determine partition map module.
45546 * util/i386/pc/grub-install.in: Use this feature to decide which
45547 partition module to load, instead of hardcoding pc and gpt.
45548
45549 2007-05-07 Robert Millan <rmh@aybabtu.com>
45550
45551 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
45552 source directory differs from build directory.
45553
45554 2007-05-05 Robert Millan <rmh@aybabtu.com>
45555
45556 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
45557 initialisation.
45558
45559 2007-05-05 Robert Millan <rmh@aybabtu.com>
45560
45561 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
45562
45563 2007-05-05 Robert Millan <rmh@aybabtu.com>
45564
45565 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
45566 command-line arguments via ${GRUB_CMDLINE_LINUX}.
45567
45568 2007-05-05 Robert Millan <rmh@aybabtu.com>
45569
45570 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
45571 (grub_probe_SOURCES): Likewise.
45572 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
45573 GPT and initialize dos_part and bsd_part accordingly.
45574 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
45575 install_bsd_part.
45576 (main): Activate gpt module for use during partition identification,
45577 and deactivate it afterwards.
45578 * util/i386/pc/grub-install.in: Add gpt module to core.img.
45579 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
45580 partition identification, and deactivate it afterwards.
45581
45582 2007-05-05 Robert Millan <rmh@aybabtu.com>
45583
45584 * term/i386/pc/console.c (grub_console_fini): Call
45585 grub_term_set_current() before grub_term_unregister().
45586
45587 2007-05-04 Robert Millan <rmh@aybabtu.com>
45588
45589 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
45590 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
45591 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
45592 and update-grub_DATA.
45593 * conf/common.rmk: Build and install update-grub components.
45594 * conf/common.mk: Regenerate.
45595 * util/update-grub.in: New. Core of update-grub.
45596 * util/grub.d/00_header.in: New. Generates grub.cfg header.
45597 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
45598 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
45599 * util/grub.d/README: New. Document grub.d directory layout.
45600
45601 2007-05-01 Robert Millan <rmh@aybabtu.com>
45602
45603 * util/grub-emu.c: Move initialization functions
45604 grub_util_biosdisk_init() and grub_init_all() before
45605 grub_util_biosdisk_get_grub_dev(), which relies on them.
45606
45607 2007-04-19 Robert Millan <rmh@aybabtu.com>
45608
45609 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
45610 it is used later.
45611
45612 2007-04-18 Jerone Young <jerone@gmail.com>
45613
45614 * kernel/elf.c: Add missing parenthesis for conditional statement
45615 stanza.
45616
45617 2007-04-10 Jerone Young <jerone@gmail.com>
45618
45619 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
45620 continue on and look for device node with real device name.
45621
45622 2007-04-10 Jerone Young <jerone@gmail.com>
45623
45624 * configure.ac: Add argument for autoconf to use transformation
45625 ability.
45626 * Makefile.in: Add autoconf package transformation code.
45627 * util/i386/pc/grub-install.in: Likewise.
45628 * util/powerpc/ieee1275/grub-install.in: Likewise.
45629
45630 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
45631
45632 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
45633 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
45634 (EXT2_REVISION): Likewise.
45635 (EXT2_INODE_SIZE): Likewise.
45636 (struct grub_ext2_block_group): Added a missing member
45637 "used_dirs".
45638 (grub_ext2_read_inode): Divide by the inode size in a superblock
45639 instead of 128 to obtain INODES_PER_BLOCK.
45640 Use the macro EXT2_INODE_SIZE instead of directly using
45641 SBLOCK->INODE_SIZE.
45642
45643 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
45644
45645 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
45646 superblock instead of the structure size to compute an
45647 offset. This fixes the problem that GRUB could not read a
45648 filesystem when inode size is different from 128-byte.
45649
45650 2007-03-05 Marco Gerards <marco@gnu.org>
45651
45652 * normal/main.c (read_config_file): When "menu" is not set, create
45653 an initial context.
45654
45655 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
45656
45657 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
45658 (HEAP_LIMIT): New macro.
45659 (grub_claim_heap): Claim memory up to `heaplimit'.
45660
45661 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
45662
45663 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
45664 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
45665 (_start): Likewise.
45666 (grub_arch_modules_addr): Return address after `_end'.
45667 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
45668 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
45669 (add_segments): Calculate `_end' from phdr size and location.
45670 (ALIGN_UP): Moved to ...
45671 * include/grub/misc.h: here.
45672 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
45673 New macro.
45674 (GRUB_IEEE1275_MODULE_BASE): Removed.
45675
45676 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
45677
45678 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
45679 loop boundary.
45680
45681 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
45682
45683 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
45684 All users updated.
45685 (grub_elf64_load_hook_t): Likewise.
45686 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
45687 debug output.
45688
45689 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
45690
45691 * kern/mm.c: Update copyright.
45692 (grub_mm_debug): Correct syntax error.
45693 (grub_mm_dump_free): New function.
45694 (grub_debug_free): Call `grub_free'.
45695 * include/grub/mm.h: Update copyright.
45696 (grub_mm_dump_free): Add declaration.
45697
45698 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
45699
45700 * include/grub/ieee1275/ieee1275.h: Update copyright.
45701 * kern/powerpc/ieee1275/init.c: Likewise.
45702 * kern/powerpc/ieee1275/openfw.c: Likewise.
45703
45704 * loader/powerpc/ieee1275/linux.c: Likewise.
45705 * include/grub/elfload.h: Likewise.
45706 * kern/elf.c: Likewise.
45707 (grub_elf32_load): Pass `base' and `size' parameters. Update all
45708 callers.
45709 (grub_elf64_load): Likewise.
45710 (grub_elf32_load_segment): Move to a nested function.
45711 (grub_elf64_load_segment): Likewise.
45712
45713 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
45714
45715 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
45716 prototype.
45717 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
45718 (grub_heap_len): Likewise.
45719 (HEAP_SIZE): New macro.
45720 (grub_claim_heap): New function.
45721 (grub_machine_init): Don't claim heap directly. Call
45722 `grub_claim_heap'.
45723 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
45724 (grub_available_iterate): New function.
45725
45726 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
45727
45728 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
45729 * configure.ac: Use it for testing the HOST and TARGET compilers.
45730
45731 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
45732
45733 * Makefile.in (enable_grub_emu): New variable.
45734 * configure.ac (--enable-grub-emu): New option.
45735 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
45736 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
45737 * conf/i386-pc.rmk: Likewise.
45738 * conf/powerpc-ieee1275.rmk: Likewise.
45739 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
45740
45741 2006-12-12 Marco Gerards <marco@gnu.org>
45742
45743 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
45744
45745 * kern/env.c (grub_env_unset): Don't free the member `value' when
45746 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
45747 pointer.
45748
45749 * normal/main.c (current_menu): Removed.
45750 (free_menu): Unset the `menu' environment variable.
45751 (grub_normal_menu_addentry): Make use of the environment variable
45752 `menu', instead of using the global `current_menu'. Allocate
45753 memory for the sourcecode of this entry.
45754 (read_config_file): New argument `nested', changed all callers.
45755 Only in the case of a new context, initialize a new menu. Set the
45756 `menu' environment variable.
45757 (grub_normal_execute): Don't set and unset the environment
45758 variable `menu' here anymore. Only free the menu when leaving the
45759 context.
45760
45761 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
45762 leak.
45763
45764 2006-12-11 Marco Gerards <marco@gnu.org>
45765
45766 * normal/menu_entry.c (run): Fix off by one bug so the last line
45767 is executed. Move the loader check to outside the loop.
45768
45769 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
45770
45771 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
45772
45773 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
45774
45775 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
45776 the number of sectors. Reported by Andrey Shuvikov
45777 <mr_hyro@yahoo.com>.
45778
45779 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
45780
45781 * kern/disk.c (grub_disk_read): When there is a read error, always
45782 try to read only the necessary data.
45783
45784 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
45785 disk/raid.c.
45786 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
45787 prototype.
45788 [GRUB_UTIL] (grub_raid_fini): Likewise.
45789 [GRUB_UTIL] (grub_lvm_init): Likewise.
45790 [GRUB_UTIL] (grub_lvm_fini): Likewise.
45791 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
45792 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
45793 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
45794 and grub_raid_fini().
45795
45796 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
45797
45798 * include/grub/types.h (__unused): Rename to UNUSED.
45799 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
45800 (grub_elf64_size): Likewise.
45801
45802 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
45803
45804 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
45805 grub_error_push and grub_error_pop in the error-handling path.
45806 (grub_elf32_load_segment): Only call grub_file_read with non-zero
45807 length.
45808
45809 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
45810
45811 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
45812 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
45813 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45814 (kernel_elf_SOURCES): Likewise.
45815 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
45816 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
45817 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45818 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45819 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
45820 (elf_mod_SOURCES): New variable.
45821 (elf_mod_CFLAGS): Likewise.
45822 (elf_mod_LDFLAGS): Likewise.
45823 * include/grub/types.h (__unused): New macro.
45824 * include/grub/elfload.h: New file.
45825 * kern/elf.c: Likewise.
45826 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
45827 (ELF32_LOADMASK): New macro.
45828 (ELF64_LOADMASK): Likewise.
45829 (vmlinux): Removed.
45830 (grub_linux_load32): New function.
45831 (grub_linux_load64): Likewise.
45832 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
45833 Use grub_elf_t instead of grub_file_t.
45834
45835 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
45836
45837 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
45838 `catch_result' to struct set_color_args.
45839
45840 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
45841
45842 * normal/menu.c: Include grub/script.h.
45843 * normal/menu_entry.c: Likewise.
45844 * include/grub/normal.h: Do not include grub/script.h.
45845
45846 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
45847
45848 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
45849
45850 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
45851
45852 * kern/disk.c (grub_disk_open): Print debug messages when opening a
45853 disk.
45854 (grub_disk_close): Print debug messages when closing a disk.
45855 (grub_disk_read): Print debug messages when disk read fails.
45856 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
45857 filesystem type.
45858 * kern/partition.c: Include misc.h.
45859 (grub_partition_iterate): Print debug messages when detecting
45860 partition type.
45861
45862 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
45863
45864 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
45865 is negative.
45866 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
45867
45868 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
45869
45870 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
45871 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
45872
45873 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
45874
45875 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
45876 instead of sizeof(lv). Patch by Michael Guntsche.
45877
45878 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
45879
45880 * disk/lvm.c: Rename VGS to VG_LIST.
45881 (grub_lvm_iterate): Change VGS->LV to VG-LV.
45882 (grub_lvm_open): Likewise.
45883 Thanks to Michael Guntsche for finding this bug.
45884
45885 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
45886
45887 * configure.ac (AC_INIT): Bumped to 1.95.
45888
45889 2006-10-14 Robert Millan <rmh@aybabtu.com>
45890
45891 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
45892 with "/dev/.static/dev/md".
45893
45894 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
45895
45896 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
45897 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
45898 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
45899 DRIVE_NAME are always freed.
45900
45901 * util/i386/pc/biosdisk.c (make_device_name): Add one into
45902 DOS_PART, as a DOS partition is counted from one instead of zero
45903 now. Reported by Robert Millan.
45904
45905 2006-10-14 Robert Millan <rmh@aybabtu.com>
45906
45907 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
45908 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
45909 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
45910 string returned by grub_guess_root_device.
45911 * util/i386/pc/grub-setup.c: Likewise.
45912 * util/i386/pc/grub-probefs.c: Likewise.
45913
45914 * util/i386/pc/grub-probefs.c: Rename to ...
45915 * util/i386/pc/grub-probe.c: ... this.
45916 * DISTLIST: Remove grub-probefs, add grub-probe.
45917 * conf/i386-efi.rmk: Likewise.
45918 * conf/i386-pc.rmk: Likewise.
45919 * util/i386/pc/grub-install.in: Likewise.
45920
45921 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
45922 choose which information we want to print.
45923
45924 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
45925
45926 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
45927 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
45928 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
45929 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
45930 video/readers/tga.c and video/i386/pc/vbeutil.c.
45931
45932 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
45933
45934 Added support for RAID and LVM.
45935
45936 * disk/lvm.c: New file.
45937 * disk/raid.c: Likewise.
45938 * include/grub/lvm.h: Likewise.
45939 * include/grub/raid.h: Likewise.
45940 * include/grub/util/lvm.h: Likewise.
45941 * include/grub/util/raid.h: Likewise.
45942 * util/lvm.c: Likewise.
45943 * util/raid.c: Likewise.
45944
45945 * include/grub/disk.h (grub_disk_dev_id): Add
45946 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
45947 (grub_disk_get_size): New prototype.
45948 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
45949 returns a partition.
45950 (grub_disk_get_size): New function.
45951
45952 * kern/i386/pc/init.c (make_install_device): Copy the prefix
45953 verbatim if grub_install_dos_part is -2.
45954
45955 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
45956 and LVM devices.
45957
45958 * util/i386/pc/grub-setup.c (setup): New argument
45959 MUST_EMBED. Force embedding of GRUB when the argument is
45960 true. Close FILE before returning.
45961 (main): Add support for RAID and LVM.
45962
45963 * conf/common.rmk: Add RAID and LVM modules.
45964 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
45965 util/lvm.c.
45966 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
45967
45968 * kern/misc.c (grub_strstr): New function.
45969 * include/grub/misc.h (grub_strstr): New prototype.
45970
45971 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
45972
45973 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
45974
45975 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
45976
45977 * kern/misc.c (grub_strtoull): Guess the base only if not
45978 specified.
45979
45980 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
45981
45982 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
45983 PowerMac support.
45984
45985 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
45986
45987 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
45988
45989 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
45990 Remove `flags' argument. All callers changed.
45991 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
45992 (IEEE1275_IHANDLE_INVALID): New variable.
45993 (IEEE1275_CELL_INVALID): New variable.
45994 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
45995 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
45996 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
45997 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
45998 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
45999 codes from Open Firmware. All callers updated.
46000 (grub_ieee1275_next_property): Directly return Open Firmware return
46001 code.
46002 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
46003 Standardize error checking from `grub_ieee1275_get_property'.
46004 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
46005 `devalias' to `aliases'. Correct comments. Consolidate error paths.
46006
46007 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
46008
46009 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
46010 `instance_to_package_args' to `instance_to_path_args'.
46011
46012 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
46013 `grub_ieee1275_chosen'.
46014
46015 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
46016 `grub_ieee1275_interpret'.
46017
46018 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
46019
46020 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
46021
46022 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
46023
46024 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
46025 (__cmpdi): Likewise.
46026
46027 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
46028 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
46029 `grub_ssize_t'.
46030
46031 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
46032
46033 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
46034 to type `grub_ssize_t'.
46035 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
46036
46037 2006-09-22 Marco Gerards <marco@gnu.org>
46038
46039 * normal/script.c (grub_script_create_cmdmenu): Skip leading
46040 newlines.
46041
46042 2006-09-22 Marco Gerards <marco@gnu.org>
46043
46044 * commands/echo.c: New file.
46045
46046 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
46047
46048 * conf/common.rmk (echo_mod_SOURCES): New variable.
46049 (echo_mod_CFLAGS): Likewise.
46050 (echo_mod_LDFLAGS): Likewise.
46051
46052 2006-09-22 Marco Gerards <marco@gnu.org>
46053
46054 * normal/main.c (get_line): Malloc memory instead of using
46055 preallocated memory. Removed the arguments `cmdline' and
46056 `max_len'. Updated all callers.
46057
46058 2006-09-22 Marco Gerards <marco@gnu.org>
46059
46060 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
46061 (normal_mod_DEPENDENCIES): Likewise.
46062
46063 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
46064 (normal_mod_DEPENDENCIES): Likewise.
46065
46066 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
46067
46068 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
46069
46070 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
46071 programs.
46072 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
46073 (normal_mod_DEPENDENCIES): Likewise.
46074 * conf/i386-pc.mk: Regenerate.
46075 * conf/i386-efi.mk: Likewise
46076 * conf/common.mk: Likewise.
46077 * conf/powerpc-ieee1275.mk: Likewise.
46078 * conf/sparc64-ieee1275.mk: Likewise.
46079
46080 2006-09-22 Robert Millan <rmh@aybabtu.com>
46081
46082 Sync with i386 version.
46083 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
46084 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
46085
46086 2006-09-21 Robert Millan <rmh@aybabtu.com>
46087
46088 Import from GRUB Legacy (lib/device.c):
46089 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
46090 (init_device_map) [__linux__]: Add support for I2O devices.
46091
46092 2006-09-14 Marco Gerards <marco@gnu.org>
46093
46094 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
46095 `-melf_i386'.
46096
46097 2006-09-14 Robert Millan <rmh@aybabtu.com>
46098
46099 * util/i386/pc/grub-install.in: Skip menu.lst when removing
46100 /boot/grub/*.lst.
46101
46102 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
46103
46104 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
46105 before adding it to device.map.
46106
46107 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
46108
46109 * genmk.rb: Let GCC generate dependencies the first time it
46110 compiles a file; using the -MD option.
46111 * conf/common.mk: Regenerate.
46112 * conf/i386-pc.mk: Likewise.
46113 * conf/i386-efi.mk: Likewise.
46114 * conf/powerpc-ieee1275.mk: Likewise.
46115 * conf/sparc64-ieee1275.mk: Likewise.
46116
46117 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
46118
46119 Move the prototypes of grub_setjmp and grub_longjmp to
46120 cpu/setjmp.h, so that each architecture may specify different
46121 attributes.
46122
46123 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
46124 (grub_longjmp): Likewise.
46125 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
46126 (grub_longjmp): Likewise.
46127 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
46128 (grub_longjmp): Likewise.
46129
46130 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
46131 [!GRUB_UTIL] (grub_longjmp): Removed.
46132
46133 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
46134
46135 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
46136 "color!" method does not return any value.
46137
46138 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46139
46140 * include/grub/bitmap.h: New file.
46141
46142 * include/grub/i386/pc/vbeutil.h: Likewise.
46143
46144 * video/bitmap.c: Likewise.
46145
46146 * video/readers/tga.c: Likewise.
46147
46148 * video/i386/pc/vbeutil.c: Likewise.
46149
46150 * commands/videotest.c: Code cleanup and updated to reflect to new
46151 video API.
46152
46153 * term/gfxterm.c: Likewise.
46154
46155 * video/video.c: Likewise.
46156
46157 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
46158 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
46159 (bitmap_mod_SOURCES): New entry.
46160 (bitmap_mod_CFLAGS): Likewise.
46161 (bitmap_mod_LDFLAGS): Likewise.
46162 (tga_mod_SOURCES): Likewise.
46163 (tga_mod_CFLAGS): Likewise.
46164 (tga_mod_LDFLAGS): Likewise.
46165
46166 * include/grub/video.h (grub_video_blit_operators): New enum type.
46167 (grub_video_render_target): Changed as forward declaration and moved
46168 actual definition to be video driver specific.
46169 (grub_video_adapter.blit_bitmap): Added blitting operator.
46170 (grub_video_adapter.blit_render_target): Likewise.
46171 (grub_video_blit_bitmap): Likewise.
46172 (grub_video_blit_render_target): Likewise.
46173
46174 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
46175 driver specific render target definition.
46176 (grub_video_vbe_map_rgba): Added driver internal helper.
46177 (grub_video_vbe_unmap_color): Updated to use
46178 grub_video_i386_vbeblit_info.
46179 (grub_video_vbe_get_video_ptr): Likewise.
46180
46181 * include/grub/i386/pc/vbeblit.h
46182 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
46183 grub_video_i386_vbeblit_info.
46184 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
46185 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
46186 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
46187 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
46188 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
46189 (grub_video_i386_vbeblit_index_index): Likewise.
46190 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
46191 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
46192 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
46193 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
46194 operator.
46195 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
46196 operator.
46197
46198 * video/i386/pc/vbeblit.c: Updated to reflect changes on
46199 include/grub/i386/pc/vbeblit.h.
46200
46201 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
46202 Updated to use grub_video_i386_vbeblit_info.
46203 (grub_video_i386_vbefill_R8G8B8): Likewise.
46204 (grub_video_i386_vbefill_index): Likewise.
46205 (grub_video_i386_vbefill): Added generic filler.
46206
46207 * video/i386/pc/vbefill.c: Updated to reflect changes on
46208 include/grub/i386/pc/vbefill.h.
46209
46210 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
46211 grub_video_i386_vbeblit_info.
46212 (grub_video_vbe_unmap_color): Likewise.
46213 (grub_video_vbe_blit_glyph): Likewise.
46214 (grub_video_vbe_scroll): Likewise.
46215 (grub_video_vbe_draw_pixel): Removed function.
46216 (grub_video_vbe_get_pixel): Likewise.
46217 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
46218 updated code to use it.
46219 (common_blitter): Added common blitter for render target and bitmap.
46220 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
46221 (grub_video_vbe_blit_render_target): Likewise.
46222
46223 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
46224
46225 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
46226 is in text mode if there is no console control protocol instance
46227 available.
46228
46229 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46230
46231 * include/grub/video.h: Code cleanup.
46232
46233 * include/grub/i386/pc/vbe.h: Likewise.
46234
46235 * video/i386/pc/vbe.c: Likewise.
46236
46237 * video/i386/pc/vbeblit.c: Likewise.
46238
46239 * video/i386/pc/vbefill.c: Likewise.
46240
46241 * video/video.c: Likewise. Also added more comments.
46242
46243 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46244
46245 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
46246 (struct grub_biosdisk_dap): Likewise.
46247
46248 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
46249 linkage settings for all functions.
46250
46251 2006-07-12 Marco Gerards <marco@gnu.org>
46252
46253 * configure.ac (--enable-mm-debug): Fix typo.
46254
46255 * genkernsyms.sh.in: Use proper quoting for `CC'.
46256
46257 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
46258
46259 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
46260 (normal_mod_ASFLAGS): Remove "-m32".
46261
46262 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
46263
46264 * util/misc.c: Include config.h.
46265 [!HAVE_MEMALIGN]: Do not include malloc.h.
46266 (grub_memalign): Use posix_memalign, if present. Then, use
46267 memalign, if present. Otherwise, emit an error.
46268
46269 * util/grub-emu.c: Do not include malloc.h.
46270
46271 * include/grub/util/misc.h: Include unistd.h. This is required for
46272 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
46273 D. Eades III <hde@foobar-qux.org>.
46274
46275 * configure.ac (AC_GNU_SOURCE): Added.
46276 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
46277 type.
46278
46279 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
46280
46281 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
46282 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
46283
46284 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
46285
46286 * include/grub/types.h (grub_host_addr_t): Rename to
46287 grub_target_addr_t.
46288 (grub_host_off_t): Rename to grub_target_off_t.
46289 (grub_host_size_t): Rename to grub_target_size_t.
46290 (grub_host_ssize_t): Rename to grub_target_ssize_t.
46291 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
46292
46293 * include/grub/kernel.h (struct grub_module_header): Change type
46294 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
46295 (grub_module_info): Likewise.
46296
46297 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
46298
46299 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
46300 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
46301 Velazquez <jesus.velazquez@gmail.com>.
46302
46303 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
46304
46305 Count partitions from 1 instead of 0 in the string representation
46306 of partitions. Still use 0-based internally.
46307
46308 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
46309 (sun_partition_map_iterate): Use grub_partition_t instead of
46310 struct grub_partition *. Cast DESC->START_CYLINDER to
46311 grub_uint64_t after converting the endian.
46312 (sun_partition_map_probe): Subtract 1 for PARTNUM.
46313 (sun_partition_map_get_name): Add 1 to P->INDEX.
46314
46315 * partmap/pc.c (grub_partition_parse): Subtract 1 for
46316 PCDATA->DOS_PART.
46317 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
46318
46319 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
46320 zero instead of one.
46321 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
46322 (gpt_partition_map_get_name): Add 1 into P->INDEX.
46323
46324 * partmap/apple.c (apple_partition_map_iterate): Change the type
46325 of POS to unsigned.
46326 (apple_partition_map_probe): Subtract 1 for PARTNUM.
46327 (apple_partition_map_get_name): Add 1 into P->INDEX.
46328
46329 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
46330 of POS to unsigned.
46331 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
46332 calculate the offset of a partition.
46333 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
46334 (amiga_partition_map_get_name): Add 1 into P->INDEX.
46335
46336 * partmap/acorn.c (acorn_partition_map_find): Change the type of
46337 SECTOR to grub_disk_addr_t.
46338 (acorn_partition_map_iterate): Likewise.
46339 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
46340 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
46341 top.
46342 (acorn_partition_map_get_name): Add 1 into P->INDEX.
46343
46344 * kern/i386/pc/init.c (make_install_device): Add 1 into
46345 GRUB_INSTALL_DOS_PART.
46346
46347 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
46348 conditional.
46349
46350 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
46351
46352 Clean up the code to support 64-bit addressing in disks and
46353 files. This change is not enough for filesystems yet.
46354
46355 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
46356 type of "start" to grub_uint64_t.
46357 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
46358 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
46359 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
46360 convert addresses.
46361
46362 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
46363 to grub_disk_addr_t.
46364
46365 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
46366 string.
46367
46368 * partmap/pc.c (pc_partition_map_iterate): Likewise.
46369
46370 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
46371 to char *.
46372
46373 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
46374
46375 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
46376
46377 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
46378
46379 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
46380 to grub_off_t, to detect an error from grub_file_seek.
46381 (grub_multiboot_load_elf32): Likewise.
46382
46383 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
46384 maximum unsigned long value when an overflow is detected.
46385 (grub_strtoull): New function.
46386 (grub_divmod64): Likewise.
46387 (grub_lltoa): use grub_divmod64.
46388
46389 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
46390 grub_disk_addr_t.
46391 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
46392 the pointer to next character. Use grub_strtoull instead of
46393 grub_strtoul.
46394 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
46395 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
46396 respectively.
46397
46398 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
46399 return value is signed.
46400 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
46401 test if OFFSET is less than zero, as OFFSET is unsigned now.
46402
46403 * kern/disk.c (struct grub_disk_cache): Change the type of
46404 "sector" to grub_disk_addr_t.
46405 (grub_disk_cache_get_index): Change the type of SECTOR to
46406 grub_disk_addr_t. Calculate the hash with SECTOR casted to
46407 unsigned after shifting.
46408 (grub_disk_cache_invalidate): Change the type of SECTOR to
46409 grub_disk_addr_t.
46410 (grub_disk_cache_unlock): Likewise.
46411 (grub_disk_cache_store): Likewise.
46412 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
46413 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
46414 grub_disk_addr_t and grub_uint64_t, respectively.
46415 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
46416 body, as the value of OFFSET is tweaked by
46417 grub_disk_check_range. Change the types of START_SECTOR, LEN and
46418 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
46419 respectively.
46420 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
46421 body, as the value of OFFSET is tweaked by
46422 grub_disk_check_range. Change the types of LEN and N to
46423 grub_size_t.
46424
46425 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
46426 and "saved_offset" to grub_off_t.
46427 (test_header): Cast BUF to char *.
46428 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
46429 to char *.
46430 (grub_gzio_read): Change the types of OFFSET and SIZE to
46431 grub_off_t and grub_size_t, respectively.
46432
46433 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
46434 Removed.
46435 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
46436 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
46437 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
46438 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
46439 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
46440
46441 * include/grub/types.h (grub_off_t): Unconditionally set to
46442 grub_uint64_t.
46443 (grub_disk_addr_t): Changed to grub_uint64_t.
46444
46445 * include/grub/partition.h (struct grub_partition): Change the
46446 types of "start", "len" and "offset" to grub_disk_addr_t,
46447 grub_uint64_t and grub_disk_addr_t, respectively.
46448 (grub_partition_get_start): Return grub_disk_addr_t.
46449 (grub_partition_get_len): Return grub_uint64_t.
46450
46451 * include/grub/misc.h (grub_strtoull): New prototype.
46452 (grub_divmod64): Likewise.
46453
46454 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
46455 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
46456 grub_off_t, respectively.
46457 All callers and references changed.
46458
46459 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
46460 grub_size_t in "read".
46461 All callers and references changed.
46462
46463 * include/grub/file.h (struct grub_file): Change the types of
46464 "offset" and "size" to grub_off_t and grub_off_t,
46465 respectively. Change the type of SECTOR to grub_disk_addr_t in
46466 "read_hook".
46467 (grub_file_read): Change the type of LEN to grub_size_t.
46468 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
46469 grub_off_t.
46470 (grub_file_size): Return grub_off_t.
46471 (grub_file_tell): Likewise.
46472 All callers and references changed.
46473
46474 * include/grub/disk.h (struct grub_disk_dev): Change the types of
46475 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
46476 "write".
46477 (struct grub_disk): Change the type of "total_sectors" to
46478 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
46479 "read_hook".
46480 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
46481 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
46482 (grub_disk_write): Likewise.
46483 All callers and references changed.
46484
46485 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
46486 char * for grub_strncmp to silence gcc.
46487 (grub_iso9660_mount): Likewise.
46488 (grub_iso9660_mount): Likewise.
46489 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
46490 return statement.
46491 (grub_iso9660_iterate_dir): Likewise.
46492 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
46493
46494 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
46495 LEN to grub_disk_addr_t and grub_size_t, respectively.
46496
46497 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
46498
46499 * fs/jfs.c (grub_jfs_read_file): Likewise.
46500
46501 * fs/minix.c (grub_jfs_read_file): Likewise.
46502
46503 * fs/sfs.c (grub_jfs_read_file): Likewise.
46504
46505 * fs/ufs.c (grub_jfs_read_file): Likewise.
46506
46507 * fs/xfs.c (grub_jfs_read_file): Likewise.
46508
46509 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
46510 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
46511 respectively.
46512
46513 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
46514 BLKNR to -1 instead of returning GRUB_ERRNO.
46515 (grub_ext2_read_file): Change the types of SECTOR and
46516 LEN to grub_disk_addr_t and grub_size_t, respectively.
46517
46518 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
46519 LEN to grub_disk_addr_t and grub_size_t, respectively.
46520
46521 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
46522 grub_file_read.
46523
46524 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
46525 string. Do not cast SECTOR explicitly.
46526
46527 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
46528 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
46529 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
46530 grub_disk_addr_t and grub_size_t, respectively. If the sector is
46531 over 2TB and LBA mode is not supported, raise an error.
46532 (get_safe_sectors): New function.
46533 (grub_biosdisk_read): Use get_safe_sectors.
46534 (grub_biosdisk_write): Likewise.
46535
46536 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
46537 (grub_efidisk_write): Likewise.
46538
46539 * disk/loopback.c (delete_loopback): Cosmetic changes.
46540 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
46541 correctly.
46542 (grub_loopback_open): Likewise.
46543 (grub_loopback_read): Likewise. Also, change the type of POS to
46544 grub_off_t, and fix the usage of grub_memset.
46545
46546 * commands/i386/pc/play.c: Include grub/machine/time.h.
46547
46548 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
46549 print FILE->SIZE.
46550
46551 * commands/configfile.c: Include grub/env.h.
46552
46553 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
46554 GRUB_ERRNO directly instead. Change the type of POS to
46555 grub_off_t. Follow the coding standard.
46556
46557 * commands/blocklist.c: Include grub/partition.h.
46558 (grub_cmd_blocklist): Return an error if the underlying device is
46559 not a disk. Take the starting sector of a partition into account,
46560 if a partition is used.
46561
46562 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
46563 a length field.
46564 (lba_mode): Support 64-bit addresses.
46565 (chs_mode): Likewise.
46566 (copy_buffer): Adapted to the new offsets of a length field and a
46567 segment field.
46568 (blocklist_default_start): Allocate 64-bit space.
46569
46570 * boot/i386/pc/boot.S (force_lba): Removed.
46571 (boot_drive): Moved to under KERNEL_SECTOR.
46572 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
46573 space.
46574 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
46575 is useless.
46576 (lba_mode): Refactored to support a 64-bit address. More size
46577 optimization.
46578 (setup_sectors): Likewise.
46579
46580 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
46581
46582 * DISTLIST: Added include/grub/i386/linux.h. Removed
46583 include/grub/i386/pc/linux.h
46584
46585 * configure.ac (AC_INIT): Bumped to 1.94.
46586
46587 * config.guess: Updated from gnulib.
46588 * config.sub: Likewise.
46589 * install-sh: Likewise.
46590 * mkinstalldirs: Likewise.
46591
46592 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
46593
46594 * conf/common.rmk (grub_modules_init.lst): Depended on
46595 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
46596 MODSRCFILES.
46597
46598 * genmk.rb (PModule::rule): Reverted the previous change.
46599
46600 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
46601
46602 * conf/common.rmk (grub_modules_init.lst): Depends on
46603 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
46604 that the target does not exist before producing.
46605 (grub_modules_init.h): Remove the target before generating.
46606 (grub_emu_init.c): Likewise.
46607
46608 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
46609
46610 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
46611
46612 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
46613 for the target-specific tests. Make sure that we also have the
46614 up-to-date target variables for those tests.
46615
46616 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
46617
46618 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
46619 (PModule::rule): Likewise.
46620
46621 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
46622
46623 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
46624 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
46625 target-specific flags should be prefixed.
46626 (PModule::rule): Likewise.
46627
46628 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
46629
46630 * configure.ac (CMP): Check if cmp is available explicitly.
46631
46632 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
46633
46634 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
46635 (target_cpu): New variable.
46636 (pkglibdir): Use target_cpu instead of host_cpu.
46637
46638 * util/i386/pc/grub-install.in (host_cpu): Removed.
46639 (target_cpu): New variable.
46640 (pkglibdir): Use target_cpu instead of host_cpu.
46641
46642 * util/genmoddep.c: Removed.
46643
46644 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
46645 instead of GRUB_HOST_SIZEOF_VOID_P.
46646 * kern/dl.c: Likewise.
46647
46648 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
46649 ...
46650 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
46651 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
46652 (GRUB_TARGET_SIZEOF_LONG): ... this.
46653 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
46654 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
46655 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
46656 to ...
46657 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
46658 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
46659 (GRUB_TARGET_SIZEOF_LONG): ... this.
46660 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
46661 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
46662 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
46663 to ...
46664 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
46665 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
46666 (GRUB_TARGET_SIZEOF_LONG): ... this.
46667 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
46668 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
46669
46670 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
46671 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
46672 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
46673 instead of GRUB_HOST_SIZEOF_LONG.
46674 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
46675 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
46676 GRUB_CPU_WORDS_BIGENDIAN.
46677 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
46678 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
46679 grub_host_ssize_t.
46680
46681 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
46682 (genmoddep_SOURCES): Likewise.
46683 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
46684 (genmoddep_SOURCES): Likewise.
46685 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
46686 (genmoddep_SOURCES): Likewise.
46687 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
46688 Likewise.
46689 (genmoddep_SOURCES): Likewise.
46690
46691 * genmoddep.awk: New file.
46692
46693 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
46694 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
46695 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
46696 (PModule::rule): Likewise.
46697 (Program::rule): Likewise.
46698 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
46699 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
46700 respectively.
46701
46702 * configure.ac: Rewritten intensively to use host and target
46703 instead of build and host, respectively.
46704
46705 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
46706 (host_cpu): Removed.
46707 (target_cpu): New variable.
46708 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
46709 (BUILD_CC): Removed.
46710 (BUILD_CFLAGS): Likewise.
46711 (BUILD_CPPFLAGS): Likewise.
46712 (TARGET_CC): New variable.
46713 (TARGET_CFLAGS): Likewise.
46714 (TARGET_CPPFLAGS): Likewise.
46715 (TARGET_LDFLAGS): Likewise.
46716 (AWK): Likewise.
46717 (include): Use target_cpu instead of host_cpu.
46718 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
46719
46720 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
46721
46722 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
46723
46724 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
46725 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
46726 field 'false' to 'exec_on_false'.
46727 (grub_script_create_cmdif): Renamed argument names to reflect above
46728 changes.
46729
46730 * normal/execute.c (grub_script_execute_cmdif): Likewise.
46731
46732 * normal/script.c (grub_script_create_cmdif): Likewise.
46733
46734 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
46735
46736 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
46737 top.
46738 (grub_hfsplus_btree_recptr): Likewise.
46739 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
46740 FILEBLOCK both to pass a block number and store next block
46741 number.
46742 (grub_hfsplus_read_block): Rewritten heavily to support an extent
46743 overflow file correctly. Specify errors appropriately, because
46744 fshelp expects that GRUB_ERRNO is set when fails. Reuse
46745 grub_hfsplus_btree_recptr to get the pointer to a found key.
46746 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
46747 is found.
46748
46749 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
46750 linux.mod.
46751 (_linux_mod_SOURCES): New variable.
46752 (_linux_mod_CFLAGS): Likewise.
46753 (_linux_mod_LDFLAGS): Likewise.
46754 (linux_mod_SOURCES): Likewise.
46755 (linux_mod_CFLAGS): Likewise.
46756 (linux_mod_LDFLAGS): Likewise.
46757
46758 * DISTLIST: Added loader/i386/efi/linux.c,
46759 loader/i386/efi/linux_normal.c and
46760 include/grub/i386/efi/loader.h.
46761
46762 * loader/i386/efi/linux.c: New file.
46763 * loader/i386/efi/linux_normal.c: Likewise.
46764 * include/grub/i386/efi/loader.h: Likewise.
46765
46766 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
46767
46768 * commands/blocklist.c: New file.
46769
46770 * DISTLIST: Added commands/blocklist.c.
46771
46772 * term/efi/console.c (grub_console_highlight_color): Use a lighter
46773 color for the background, and a darker color for the foreground.
46774 (grub_console_checkkey): Return READ_KEY.
46775 (grub_console_cls): Set the background to
46776 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
46777
46778 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
46779
46780 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
46781 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
46782
46783 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
46784 prototype.
46785
46786 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
46787 BG. The spec is wrong again.
46788
46789 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
46790 prototype.
46791 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
46792
46793 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
46794 commands/blocklist.c.
46795 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46796
46797 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
46798 (blocklist_mod_SOURCES): New variable.
46799 (blocklist_mod_CFLAGS): Likewise.
46800 (blocklist_mod_LDFLAGS): Likewise.
46801
46802 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
46803
46804 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
46805 duplication.
46806 (lba_mode): Use %eax more intensively to reduce the code size.
46807
46808 2006-05-20 Marco Gerards <marco@gnu.org>
46809
46810 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
46811
46812 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
46813 for `menuentry'.
46814 (script): Accept leading newlines.
46815 (newlines): New rule to describe 0 or more newlines.
46816 (commands): Accept `command' with trailing newline. Fixed the
46817 order in which arguments were passed to `grub_script_add_cmd'.
46818 Accept commands separated by newlines.
46819 (function): Changed to accept newlines.
46820 (menuentry) Rewritten.
46821
46822 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
46823 front of the list, instead of to the end.
46824
46825 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
46826
46827 * util/i386/pc/grub-install.in (bindir): New variable.
46828 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
46829 Shaver <lbgwjl@gmail.com>.
46830
46831 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
46832
46833 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
46834 grub/machine/linux.h
46835 * loader/i386/pc/linux.c: Likewise.
46836
46837 * include/grub/i386/pc/linux.h: Moved to ...
46838 * include/grub/i386/linux.h: ... here.
46839
46840 * include/grub/i386/linux.h (struct linux_kernel_params): New
46841 struct.
46842
46843 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
46844
46845 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
46846 checking.
46847 (grub_video_vbe_blit_glyph): Likewise.
46848 (grub_video_vbe_blit_bitmap): Likewise.
46849 (grub_video_vbe_blit_render_target): Likewise.
46850
46851 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
46852
46853 * configure.ac (--with-platform): Properly quote the square
46854 brackets.
46855
46856 2006-05-08 Marco Gerards <marco@gnu.org>
46857
46858 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
46859 this...
46860 (kernel_elf_HEADERS): ...to this. Updated all users.
46861 (grubof_symlist.c): Renamed from this...
46862 (kernel_elf_symlist.c): ...to this. Updated all users.
46863 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
46864 (grubof_SOURCES): Renamed from this...
46865 (kernel_elf_SOURCES): ...to this.
46866 (grubof_HEADERS): Renamed from this...
46867 (kernel_elf_HEADERS): ...to this.
46868 (grubof_CFLAGS): Renamed from this...
46869 (kernel_elf_CFLAGS): ...to this.
46870 (grubof_ASFLAGS): Renamed from this...
46871 (kernel_elf_ASFLAGS): ...to this.
46872 (grubof_LDFLAGS): Renamed from this...
46873 (kernel_elf_LDFLAGS): ...to this.
46874
46875 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
46876 this...
46877 (kernel_elf_HEADERS): ...to this. Updated all users.
46878 (grubof_symlist.c): Renamed from this...
46879 (kernel_elf_symlist.c): ...to this. Updated all users.
46880 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
46881 (grubof_SOURCES): Renamed from this...
46882 (kernel_elf_SOURCES): ...to this.
46883 (grubof_HEADERS): Renamed from this...
46884 (kernel_elf_HEADERS): ...to this.
46885 (grubof_CFLAGS): Renamed from this...
46886 (kernel_elf_CFLAGS): ...to this.
46887 (grubof_ASFLAGS): Renamed from this...
46888 (kernel_elf_ASFLAGS): ...to this.
46889 (grubof_LDFLAGS): Renamed from this...
46890 (kernel_elf_LDFLAGS): ...to this.
46891
46892 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
46893 `kernel.elf' instead of `grubof'.
46894
46895 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
46896
46897 Add --with-platform to configure. Use pkglibdir instead of
46898 pkgdatadir. This is reported by Roger Leigh.
46899
46900 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
46901 (host_vendor): Likewise.
46902 (host_os): Likewise.
46903 (pkgdatadir): Likewise.
46904 (platform): New variable.
46905 (pkglibdir): Likewise.
46906 Use PKGLIBDIR instead of PKGDATADIR.
46907
46908 * util/i386/pc/grub-install.in (datadir): Removed.
46909 (host_vendor): Likewise.
46910 (host_os): Likewise.
46911 (pkgdatadir): Likewise.
46912 (platform): New variable.
46913 (pkglibdir): Likewise.
46914 Use PKGLIBDIR instead of PKGDATADIR.
46915
46916 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
46917 instead of GRUB_DATADIR.
46918 (main): Likewise.
46919 * util/i386/pc/grub-mkimage.c (usage): Likewise.
46920 (main): Likewise.
46921 * util/i386/efi/grub-mkimage.c (usage): Likewise.
46922 (main): Likewise.
46923
46924 * configure.ac (--with-platform): New option.
46925 Use PLATFORM instead of HOST_VENDOR to specify a platform.
46926
46927 * Makefile.in: Include a makefile based on PLATFORM instead of
46928 HOST_VENDOR.
46929 (pkgdatadir): Not appended by the machine type.
46930 (pkglibdir): Appended by the machine type.
46931 (host_vendor): Removed.
46932 (platform): New variable.
46933 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
46934 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
46935 (uninstall): Likewise.
46936
46937 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
46938
46939 Use the environment context in the menu. Remove the commands
46940 "default" and "timeout", and use variables instead.
46941
46942 * normal/menu.c: Include grub/env.h.
46943 (print_entry): Cast TITLE to silence gcc.
46944 (get_timeout): New function.
46945 (set_timeout): Likewise.
46946 (get_entry_number): Likewise.
46947 (run_menu): Use a default entry, a fallback entry and a timeout
46948 in the environment variables "default", "fallback" and
46949 "timeout". Also, tweak the default entry if it is not within the
46950 current menu entries.
46951 (grub_menu_run): Use a fallback entry in the environment variable
46952 "fallback".
46953
46954 * normal/main.c (read_config_file): Do not initialize
46955 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
46956 NEWMENU->TIMEOUT.
46957 (grub_normal_execute): Use a data slot to store the menu.
46958
46959 * include/grub/normal.h (struct grub_menu): Removed default_entry,
46960 fallback_entry and timeout.
46961 (struct grub_menu_list): Removed.
46962 (grub_menu_list_t): Likewise.
46963 (struct grub_context): Likewise.
46964 (grub_context_t): Likewise.
46965 (grub_context_get): Likewise.
46966 (grub_context_get_current_menu): Likewise.
46967 (grub_context_push_menu): Likewise.
46968 (grub_context_pop_menu): Likewise.
46969 (grub_default_init): Likewise.
46970 (grub_default_fini): Likewise.
46971 (grub_timeout_init): Likewise.
46972 (grub_timeout_fini): Likewise.
46973
46974 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
46975 and timeout.mod.
46976 (normal_mod_SOURCES): Removed normal/context.c.
46977
46978 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
46979 commands/default.c, commands/timeout.c and normal/context.c.
46980 (normal_mod_SOURCES): Removed normal/context.c.
46981
46982 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
46983 commands/timeout.c and normal/context.c.
46984 (normal_mod_SOURCES): Removed normal/context.c.
46985
46986 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
46987 commands/default.c, commands/timeout.c and normal/context.c.
46988 (normal_mod_SOURCES): Removed normal/context.c.
46989
46990 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
46991 timeout.mod.
46992 (default_mod_SOURCES): Removed.
46993 (default_mod_CFLAGS): Likewise.
46994 (default_mod_LDFLAGS): Likewise.
46995 (timeout_mod_SOURCES): Removed.
46996 (timeout_mod_CFLAGS): Likewise.
46997 (timeout_mod_LDFLAGS): Likewise.
46998
46999 * DISTLIST: Removed commands/default.c, commands/timeout.c and
47000 normal/context.c.
47001
47002 * commands/default.c: Removed.
47003 * commands/timeout.c: Likewise.
47004 * normal/context.c: Likewise.
47005
47006 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
47007
47008 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
47009
47010 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
47011
47012 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
47013 "next" to "prev" for readability.
47014 (struct grub_env_sorted_var): New struct.
47015 (grub_env_context): Renamed to ...
47016 (initial_context): ... this.
47017 (grub_env_var_context): Renamed to ...
47018 (current_context): ... this.
47019 (grub_env_find): Look only at CURRENT_CONTEXT.
47020 (grub_env_context_open): Rewritten to copy exported variables from
47021 previous context.
47022 (grub_env_context_close): Rewritten according to the new
47023 scheme. Also, add an assertion to prevent the initial context from
47024 removed.
47025 (grub_env_insert): Removed the code for the sorted list.
47026 (grub_env_remove): Likewise.
47027 (grub_env_export): Simply mark the variable with
47028 GRUB_ENV_VAR_GLOBAL.
47029 (grub_env_set): A cosmetic change for naming consistency.
47030 (grub_env_get): Likewise.
47031 (grub_env_unset): Likewise.
47032 (grub_env_iterate): Rewritten to sort variables within this
47033 function.
47034 (grub_register_variable_hook): Fixed for naming consistency. Call
47035 grub_env_find again, only if NAME is not found at the first time.
47036 (mangle_data_slot_name): New function.
47037 (grub_env_set_data_slot): Likewise.
47038 (grub_env_get_data_slot): Likewise.
47039 (grub_env_unset_data_slot): Likewise.
47040
47041 * include/grub/env.h (grub_env_var_type): New enum.
47042 (GRUB_ENV_VAR_LOCAL): New constant.
47043 (GRUB_ENV_VAR_GLOBAL): Likewise.
47044 (GRUB_ENV_VAR_DATA): Likewise.
47045 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
47046 "type".
47047 (grub_env_set): Replace VAR with NAME for consistency.
47048 (grub_register_variable_hook): Likewise.
47049 (grub_env_export): Specify the name of the argument.
47050 (grub_env_set_data_slot): New prototype.
47051 (grub_env_get_data_slot): Likewise.
47052 (grub_env_unset_data_slot): Likewise.
47053
47054 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
47055
47056 Extend the loader so that GRUB can accept a loader which comes
47057 back to GRUB when a loaded image exits. Also, this change adds
47058 support for a chainloader on EFI.
47059
47060 * term/efi/console.c: Include grub/misc.h.
47061 (grub_console_checkkey): Display a scan code on the top for
47062 debugging. This will be removed once the EFI port gets stable.
47063 Correct the scan code mapping.
47064
47065 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
47066 allocate memory from larger regions, in order to reduce the number
47067 of allocated regions. Otherwise, the MacOSX loader panics.
47068 (filter_memory_map): Avoid less than 1MB for compatibility with
47069 other loaders.
47070 (add_memory_regions): Allocate from the tail of a region, if
47071 possible, to avoid allocating a region near to 1MB, for the MacOSX
47072 loader.
47073
47074 * kern/efi/init.c (grub_efi_set_prefix): Specify
47075 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
47076
47077 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
47078 argument IMAGE_HANDLE and specify it to get a loaded image.
47079 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
47080 grub_efi_get_loaded_image.
47081 (grub_efi_get_filename): Divide the length by the size of
47082 grub_efi_char16_t.
47083 (grub_efi_get_device_path): New function.
47084 (grub_efi_print_device_path): Print End Device Path nodes. Divide
47085 the length by the size of grub_efi_char16_t for a file path device
47086 path node.
47087
47088 * kern/loader.c (grub_loader_noreturn): New variable.
47089 (grub_loader_set): Accept a new argument NORETURN. Set
47090 GRUB_LOADER_NORETURN to NORETURN.
47091 All callers changed.
47092 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
47093 grub_machine_fini.
47094
47095 * include/grub/efi/efi.h (grub_efi_get_device_path): New
47096 prototype.
47097 (grub_efi_get_loaded_image): Take an argument to specify an image
47098 handle.
47099
47100 * include/grub/loader.h (grub_loader_set): Added one more argument
47101 NORETURN.
47102
47103 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
47104 instead of grub_efi_open_protocol.
47105 (grub_efidisk_get_device_name): Likewise.
47106 (grub_efidisk_close): Print a newline.
47107 (grub_efidisk_get_device_handle): Fixed to use
47108 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
47109 GRUB_EFI_DEVICE_PATH_TYPE.
47110
47111 * disk/efi/efidisk.c (device_path_guid): Moved to ...
47112 * kern/efi/efi.c (device_path_guid): ... here.
47113
47114 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
47115 chain.mod.
47116 (kernel_mod_HEADERS): Added efi/disk.h.
47117 (_chain_mod_SOURCES): New variable.
47118 (_chain_mod_CFLAGS): Likewise.
47119 (_chain_mod_LDFLAGS): Likewise.
47120 (chain_mod_SOURCES): Likewise.
47121 (chain_mod_CFLAGS): Likewise.
47122 (chain_mod_LDFLAGS): Likewise.
47123
47124 * DISTLIST: Added include/grub/efi/chainloader.h,
47125 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
47126
47127 * include/grub/efi/chainloader.h: New file.
47128 * loader/efi/chainloader.c: Likewise.
47129 * loader/efi/chainloader_normal.c: Likewise.
47130
47131 2006-04-30 Marco Gerards <marco@gnu.org>
47132
47133 * commands/configfile.c (grub_cmd_source): New function.
47134 (GRUB_MOD_INIT): Register the commands `source' and `.'.
47135 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
47136
47137 2006-04-30 Marco Gerards <marco@gnu.org>
47138
47139 * normal/execute.c (grub_script_execute_cmd): Change the return
47140 type to `grub_err_t'. Correctly return the error.
47141 (grub_script_execute_cmdline): In case a command line is not a
47142 command or a function, try to interpret it as an assignment.
47143
47144 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
47145
47146 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
47147 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
47148 skip a node whose name is obviously invalid as UTF-16,
47149 i.e. contains a NUL character. Stop the iteration when the last
47150 directory entry is found. Instead of using the return value of
47151 grub_hfsplus_btree_iterate_node, store the value in RET and use
47152 it, because the iterator can be stopped by the last directory
47153 entry.
47154
47155 2006-04-30 Marco Gerards <marco@gnu.org>
47156
47157 * include/grub/env.h (grub_env_export): New prototype. Reported
47158 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
47159
47160 2006-04-30 Marco Gerards <marco@gnu.org>
47161
47162 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
47163 size of the extents in a catalog file record.
47164
47165 2006-04-29 Marco Gerards <marco@gnu.org>
47166
47167 * commands/configfile.c (grub_cmd_configfile): Execute the
47168 configfile within its own context.
47169
47170 * include/grub/env.h (grub_env_context_open): New prototype.
47171 (grub_env_context_close): Likewise.
47172
47173 * kern/env.c (grub_env): Removed.
47174 (grub_env_sorted): Likewise.
47175 (grub_env_context): New variable.
47176 (grub_env_var_context): Likewise.
47177 (grub_env_find): Search both the active context and the global
47178 context.
47179 (grub_env_context_open): New function.
47180 (grub_env_context_close): Likewise.
47181 (grub_env_insert): Likewise.
47182 (grub_env_remove): Likewise.
47183 (grub_env_export): Likewise.
47184 (grub_env_set): Changed to use helper functions to avoid code
47185 duplication.
47186 (grub_env_iterate): Rewritten so both the current context and the
47187 global context are being used.
47188
47189 * normal/command.c (export_command): New function.
47190 (grub_command_init): Register the `export' function.
47191
47192 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
47193
47194 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
47195 explicitly to suppress gcc's warnings.
47196 * fs/fat.c (grub_fat_find_dir): Likewise.
47197 (grub_fat_label): Likewise.
47198 * fs/xfs.c (grub_xfs_read_inode): Likewise.
47199 (grub_xfs_mount): Likewise.
47200 (grub_xfs_label): Likewise.
47201 * fs/affs.c (grub_affs_mount): Likewise.
47202 (grub_affs_label): Likewise.
47203 (grub_affs_iterate_dir): Likewise.
47204 * fs/sfs.c (grub_sfs_mount): Likewise.
47205 (grub_sfs_iterate_dir): Likewise.
47206 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
47207 * fs/hfs.c (grub_hfs_mount): Likewise.
47208 (grub_hfs_cmp_catkeys): Likewise.
47209 (grub_hfs_find_dir): Likewise.
47210 (grub_hfs_dir): Likewise.
47211 (grub_hfs_label): Likewise.
47212 * fs/jfs.c (grub_jfs_mount): Likewise.
47213 (grub_jfs_opendir): Likewise.
47214 (grub_jfs_getent): Likewise.
47215 (grub_jfs_lookup_symlink): Likewise.
47216 (grub_jfs_label): Likewise.
47217 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
47218 (grub_hfsplus_iterate_dir): Likewise.
47219 (grub_hfsplus_btree_iterate_node): Made static.
47220
47221 * util/grub-emu.c (prefix): New variable.
47222 (grub_machine_set_prefix): New function.
47223 (main): Do not set the environment variable "prefix" here. Only
47224 set PREFIX, which is used later by grub_machine_set_prefix.
47225
47226 * include/grub/video.h: Do not include grub/symbol.h.
47227 (grub_video_register): Not exported. This symbol is not defined in
47228 the kernel.
47229 (grub_video_unregister): Likewise.
47230 (grub_video_iterate): Likewise.
47231 (grub_video_setup): Likewise.
47232 (grub_video_restore): Likewise.
47233 (grub_video_get_info): Likewise.
47234 (grub_video_get_blit_format): Likewise.
47235 (grub_video_set_palette): Likewise.
47236 (grub_video_get_palette): Likewise.
47237 (grub_video_set_viewport): Likewise.
47238 (grub_video_get_viewport): Likewise.
47239 (grub_video_map_color): Likewise.
47240 (grub_video_map_rgb): Likewise.
47241 (grub_video_map_rgba): Likewise.
47242 (grub_video_fill_rect): Likewise.
47243 (grub_video_blit_glyph): Likewise.
47244 (grub_video_blit_bitmap): Likewise.
47245 (grub_video_blit_render_target): Likewise.
47246 (grub_video_scroll): Likewise.
47247 (grub_video_swap_buffers): Likewise.
47248 (grub_video_create_render_target): Likewise.
47249 (grub_video_delete_render_target): Likewise.
47250 (grub_video_set_active_render_target): Likewise.
47251
47252 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
47253 Undefined.
47254 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
47255
47256 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
47257 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47258 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47259 instead of $(srcdir)/genkernsyms.sh.
47260
47261 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
47262 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47263 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47264 instead of $(srcdir)/genkernsyms.sh.
47265
47266 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
47267 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47268 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47269 instead of $(srcdir)/genkernsyms.sh.
47270
47271 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
47272 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47273 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47274 instead of $(srcdir)/genkernsyms.sh.
47275
47276 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
47277 genkernsyms.sh.
47278
47279 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
47280 genkernsyms.sh.
47281 (gensymlist.sh): New target.
47282 (genkernsyms.sh): Likewise.
47283
47284 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
47285 genkernsyms.sh.in and gensymlist.sh.in.
47286
47287 * genkernsyms.sh: Removed.
47288 * gensymlist.sh: Likewise.
47289
47290 * genkernsyms.sh.in: New file.
47291 * gensymlist.sh.in: Likewise.
47292
47293 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
47294
47295 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
47296 clobber "prefix", since we may have already set it manually.
47297
47298 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
47299
47300 * kern/misc.c (abort): New alias for grub_abort.
47301
47302 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
47303
47304 A new machine-specific function "grub_machine_set_prefix" is
47305 defined. This is called after loading modules, so that a prefix
47306 initialization can use modules. Also, this change adds an
47307 intensive debugging feature for the memory manager via the
47308 configure option "--enable-mm-debug".
47309
47310 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
47311 PART.LEN.
47312
47313 * kern/sparc64/ieee1275/init.c (abort): Removed.
47314 (grub_stop): Likewise.
47315 (grub_exit): New function.
47316 (grub_set_prefix): Renamed to ...
47317 (grub_machine_set_prefix): ... this.
47318 (grub_machine_init): Do not call grub_set_prefix.
47319
47320 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
47321 (grub_machine_set_prefix): ... this.
47322 (grub_machine_init): Do not call grub_set_prefix.
47323
47324 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
47325 (grub_machine_init): Do not set the prefix here.
47326
47327 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
47328
47329 * kern/efi/init.c: Include grub/mm.h.
47330 (grub_efi_set_prefix): New function.
47331
47332 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
47333 (grub_efi_get_filename): New function.
47334 (grub_print_device_path): Renamed to ...
47335 (grub_efi_print_device_path): ... this.
47336
47337 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
47338 [MM_DEBUG] (grub_realloc): Likewise.
47339 [MM_DEBUG] (grub_free): Likewise.
47340 [MM_DEBUG] (grub_memalign): Likewise.
47341 [MM_DEBUG] (grub_mm_debug): New variable.
47342 [MM_DEBUG] (grub_debug_malloc): New function.
47343 [MM_DEBUG] (grub_debug_free): New function.
47344 [MM_DEBUG] (grub_debug_realloc): New function.
47345 [MM_DEBUG] (grub_debug_memalign): New function.
47346
47347 * kern/misc.c (grub_abort): Print a newline to distinguish
47348 the message.
47349
47350 * kern/main.c (grub_main): Call grub_machine_set_prefix and
47351 grub_set_root_dev after loading modules. This is necessary when
47352 setting a prefix depends on modules.
47353
47354 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
47355 (grub_efi_print_device_path): ... this.
47356 (grub_efi_get_filename): New prototype.
47357 (grub_efi_set_prefix): Likewise.
47358
47359 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
47360 and grub/disk.h.
47361 (grub_efidisk_get_device_handle): New prototype.
47362 (grub_efidisk_get_device_name): Likewise.
47363
47364 * include/grub/mm.h: Include config.h.
47365 (MM_DEBUG): Removed.
47366 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
47367 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
47368 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
47369 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
47370 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
47371 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
47372 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
47373 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
47374 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
47375
47376 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
47377
47378 * disk/efi/efidisk.c: Include grub/partition.h.
47379 (iterate_child_devices): New function.
47380 (add_device): First, compare only last device path nodes, so that
47381 devices are sorted by the types.
47382 (grub_efidisk_get_device_handle): New function.
47383 (grub_efidisk_get_device_name): Likewise.
47384
47385 * configure.ac (--enable-mm-debug): New option to enable the
47386 memory manager debugging feature. This makes the binary much
47387 bigger, so is disabled by default.
47388
47389 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
47390
47391 Use grub_abort instead of grub_stop, and grub_exit must be
47392 define in each architecture now. Also, this change adds support
47393 for EFI disks.
47394
47395 * util/i386/pc/grub-probefs.c: Include grub/term.h.
47396 (grub_getkey): New function.
47397 (grub_term_get_current): Likewise.
47398
47399 * util/i386/pc/grub-setup.c: Include grub/term.h.
47400 (grub_getkey): New function.
47401 (grub_term_get_current): Likewise.
47402
47403 * util/misc.c (grub_stop): Renamed to ...
47404 (grub_exit): ... this.
47405
47406 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
47407 (grub_exit): ... this.
47408 (grub_machine_init): Use grub_abort instead of abort.
47409 (grub_stop): Removed.
47410
47411 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
47412 abort.
47413
47414 * kern/i386/pc/startup.S (grub_exit): New function.
47415 (cold_reboot): New label.
47416
47417 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
47418 (grub_efi_init): Call grub_efidisk_init.
47419 (grub_efi_fini): Call grub_efidisk_fini.
47420
47421 * kern/efi/efi.c: Include grub/mm.h.
47422 (grub_efi_console_control_guid): Renamed to ...
47423 (console_control_guid): ... this.
47424 (grub_efi_loaded_image_guid): Renamed to ...
47425 (loaded_image_guid): ... this.
47426 (grub_efi_locate_handle): New function.
47427 (grub_efi_open_protocol): Likewise.
47428 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
47429 GRUB_EFI_CONSOLE_CONTROL_GUID.
47430 (grub_efi_exit): Removed.
47431 (grub_stop): Likewise.
47432 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
47433 (grub_exit): New function.
47434 (grub_print_device_path): Likewise.
47435
47436 * kern/rescue.c (grub_rescue_cmd_exit): New function.
47437 (grub_enter_rescue_mode): Register "exit".
47438
47439 * kern/misc.c (grub_real_dprintf): A cosmetic change.
47440 (grub_abort): New function.
47441
47442 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
47443
47444 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
47445
47446 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
47447
47448 * include/grub/efi/efi.h (grub_efi_exit): Removed.
47449 (grub_print_device_path): New prototype.
47450 (grub_efi_locate_handle): Likewise.
47451 (grub_efi_open_protocol): Likewise.
47452
47453 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
47454 * disk/efi/efidisk.c: Likewise.
47455
47456 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
47457
47458 * include/grub/efi/console_control.h
47459 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
47460
47461 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
47462 last 8 bytes as an array.
47463 (GRUB_EFI_DISK_IO_GUID): New macro.
47464 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
47465 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
47466 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
47467 grub_uint8_t.
47468 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
47469 (struct grub_efi_device_path): Rename the member "sub_type" to
47470 "subtype".
47471 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
47472 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
47473 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
47474 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
47475 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
47476 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
47477 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
47478 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
47479 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
47480 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
47481 (struct grub_efi_pci_device_path): New structure.
47482 (grub_efi_pci_device_path_t): New type.
47483 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
47484 (struct grub_efi_pccard_device_path): New structure.
47485 (grub_efi_pccard_device_path_t): New type.
47486 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
47487 (struct grub_efi_memory_mapped_device_path): New structure.
47488 (grub_efi_memory_mapped_device_path_t): New type.
47489 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
47490 (struct grub_efi_vendor_device_path): New structure.
47491 (grub_efi_vendor_device_path_t): New type.
47492 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
47493 (struct grub_efi_controller_device_path): New structure.
47494 (grub_efi_controller_device_path_t): New type.
47495 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
47496 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
47497 (struct grub_efi_acpi_device_path): New structure.
47498 (grub_efi_acpi_device_path_t): New type.
47499 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
47500 (struct grub_efi_expanded_acpi_device_path): New structure.
47501 (grub_efi_expanded_acpi_device_path_t): New type.
47502 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
47503 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
47504 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
47505 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
47506 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
47507 (struct grub_efi_atapi_device_path): New structure.
47508 (grub_efi_atapi_device_path_t): New type.
47509 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
47510 (struct grub_efi_fibre_channel_device_path): New structure.
47511 (grub_efi_fibre_channel_device_path_t): New type.
47512 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
47513 (struct grub_efi_1394_device_path): New structure.
47514 (grub_efi_1394_device_path_t): New type.
47515 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
47516 (struct grub_efi_usb_device_path): New structure.
47517 (grub_efi_usb_device_path_t): New type.
47518 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
47519 (struct grub_efi_usb_class_device_path): New structure.
47520 (grub_efi_usb_class_device_path_t): New type.
47521 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
47522 (struct grub_efi_i2o_device_path): New structure.
47523 (grub_efi_i2o_device_path_t): New type.
47524 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
47525 (struct grub_efi_mac_address_device_path): New structure.
47526 (grub_efi_mac_address_device_path_t): New type.
47527 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
47528 (struct grub_efi_ipv4_device_path): New structure.
47529 (grub_efi_ipv4_device_path_t): New type.
47530 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
47531 (struct grub_efi_ipv6_device_path): New structure.
47532 (grub_efi_ipv6_device_path_t): New type.
47533 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
47534 (struct grub_efi_infiniband_device_path): New structure.
47535 (grub_efi_infiniband_device_path_t): New type.
47536 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
47537 (struct grub_efi_uart_device_path): New structure.
47538 (grub_efi_uart_device_path_t): New type.
47539 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
47540 (struct grub_efi_vendor_messaging_device_path): New structure.
47541 (grub_efi_vendor_messaging_device_path_t): New type.
47542 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
47543 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
47544 (struct grub_efi_hard_drive_device_path): New structure.
47545 (grub_efi_hard_drive_device_path_t): New type.
47546 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
47547 (struct grub_efi_cdrom_device_path): New structure.
47548 (grub_efi_cdrom_device_path_t): New type.
47549 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
47550 (struct grub_efi_vendor_media_device_path): New structure.
47551 (grub_efi_vendor_media_device_path_t): New type.
47552 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
47553 (struct grub_efi_file_path_device_path): New structure.
47554 (grub_efi_file_path_device_path_t): New type.
47555 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
47556 (struct grub_efi_protocol_device_path): New structure.
47557 (grub_efi_protocol_device_path_t): New type.
47558 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
47559 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
47560 (struct grub_efi_bios_device_path): New structure.
47561 (grub_efi_bios_device_path_t): New type.
47562 (struct grub_efi_disk_io): New structure.
47563 (grub_efi_disk_io_t): New type.
47564 (struct grub_efi_block_io_media): New structure.
47565 (grub_efi_block_io_media_t): New type.
47566 (struct grub_efi_block_io): New structure.
47567 (grub_efi_block_io_t): New type.
47568
47569 * include/grub/misc.h (grub_stop): Removed.
47570 (grub_exit): New prototype.
47571 (grub_abort): Likewise.
47572
47573 * include/grub/disk.h (enum grub_disk_dev_id): Added
47574 GRUB_DISK_DEVICE_EFIDISK_ID.
47575
47576 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
47577 disk/efi/efidisk.c.
47578 (kernel_syms.lst): Remove the target if an error occurs.
47579
47580 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
47581
47582 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
47583 as it was simply too buggy.
47584
47585 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
47586
47587 * kern/misc.c (grub_lltoa): New function.
47588 (grub_vsprintf): Added support for the long long suffix,
47589 i.e. "ll".
47590
47591 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
47592
47593 * Makefile.in (LDFLAGS): Add variable.
47594 (LD): Remove variable.
47595 * configure.ac: Add -m32 to LDFLAGS.
47596 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
47597 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
47598 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
47599 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
47600 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
47601 variables.
47602 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
47603 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
47604 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
47605
47606 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
47607
47608 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
47609 length for unknown glyph.
47610
47611 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
47612
47613 Add support for pre-loaded modules into the EFI port.
47614
47615 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
47616 completely. Accept one more argument DIR. The caller has changed.
47617
47618 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
47619
47620 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
47621 (grub_efi_loaded_image_guid): New variable.
47622 (grub_efi_get_loaded_image): New function.
47623 (grub_arch_modules_addr): Likewise.
47624
47625 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
47626 prototype.
47627
47628 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
47629 (struct grub_efi_loaded_image): New structure.
47630 (grub_efi_loaded_image_t): New type.
47631
47632 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
47633
47634 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
47635 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
47636 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
47637
47638 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
47639
47640 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
47641
47642 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
47643
47644 * DISTLIST: Added include/grub/efi/console.h,
47645 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
47646 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
47647
47648 * include/grub/efi/console.h: New file.
47649 * include/grub/efi/time.h: Likewise.
47650 * include/grub/i386/efi/kernel.h: Likewise.
47651 * kern/efi/init.c: Likewise.
47652 * kern/efi/mm.c: Likewise.
47653 * term/efi/console.c: Likewise.
47654
47655 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
47656 (grub_stop): Removed.
47657 (grub_get_rtc): Likewise.
47658 (grub_machine_init): Simply call grub_efi_init.
47659 (grub_machine_fini): Call grub_efi_fini.
47660
47661 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
47662 (grub_efi_output_string): Removed.
47663 (grub_efi_stall): New function.
47664 (grub_stop): Likewise.
47665 (grub_get_rtc): Likewise.
47666
47667 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
47668 (grub_efi_stall): New prototype.
47669 (grub_efi_allocate_pages): Likewise.
47670 (grub_efi_free_pages): Likewise.
47671 (grub_efi_get_memory_map): Likewise.
47672 (grub_efi_mm_init): Likewise.
47673 (grub_efi_mm_fini): Likewise.
47674 (grub_efi_init): Likewise.
47675 (grub_efi_fini): Likewise.
47676
47677 * include/grub/i386/efi/time.h: Do not include
47678 grub/symbol.h. Include grub/efi/time.h.
47679 (GRUB_TICKS_PER_SECOND): Removed.
47680 (grub_get_rtc): Likewise.
47681
47682 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
47683 Added padding. The EFI spec is buggy.
47684 (GRUB_EFI_BLACK): New macro.
47685 (GRUB_EFI_BLUE): Likewise.
47686 (GRUB_EFI_GREEN): Likewise.
47687 (GRUB_EFI_CYAN): Likewise.
47688 (GRUB_EFI_RED): Likewise.
47689 (GRUB_EFI_MAGENTA): Likewise.
47690 (GRUB_EFI_BROWN): Likewise.
47691 (GRUB_EFI_LIGHTGRAY): Likewise.
47692 (GRUB_EFI_BRIGHT): Likewise.
47693 (GRUB_EFI_DARKGRAY): Likewise.
47694 (GRUB_EFI_LIGHTBLUE): Likewise.
47695 (GRUB_EFI_LIGHTGREEN): Likewise.
47696 (GRUB_EFI_LIGHTCYAN): Likewise.
47697 (GRUB_EFI_LIGHTRED): Likewise.
47698 (GRUB_EFI_LIGHTMAGENTA): Likewise.
47699 (GRUB_EFI_YELLOW): Likewise.
47700 (GRUB_EFI_WHITE): Likewise.
47701 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
47702 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
47703 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
47704 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
47705 (GRUB_EFI_BACKGROUND_RED): Likewise.
47706 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
47707 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
47708 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
47709 (GRUB_EFI_TEXT_ATTR): Likewise.
47710
47711 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
47712 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
47713 (kernel_mod_HEADERS): Added efi/time.h.
47714
47715 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
47716
47717 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
47718 include/grub/efi/api.h, include/grub/efi/console_control.h,
47719 include/grub/efi/efi.h, include/grub/efi/pe32.h,
47720 include/grub/i386/efi/time.h, kern/efi/efi.c,
47721 kern/i386/efi/init.c, kern/i386/efi/startup.S,
47722 and util/i386/efi/grub-mkimage.c.
47723
47724 * Makefile.in (RMKFILES): Added i386-efi.rmk.
47725
47726 * genmk.rb (PModule#rule): Do not export symbols if
47727 #{prefix}_EXPORTS is set to "no".
47728
47729 * conf/i386-efi.mk: New file.
47730 * conf/i386-efi.rmk: Likewise.
47731 * include/grub/efi/api.h: Likewise.
47732 * include/grub/efi/console_control.h: Likewise.
47733 * include/grub/efi/efi.h: Likewise.
47734 * include/grub/efi/pe32.h: Likewise.
47735 * include/grub/i386/efi/time.h: Likewise.
47736 * kern/efi/efi.c: Likewise.
47737 * kern/i386/efi/init.c: Likewise.
47738 * kern/i386/efi/startup.S: Likewise.
47739 * util/i386/efi/grub-mkimage.c: Likewise.
47740
47741 2006-04-17 Marco Gerards <marco@gnu.org>
47742
47743 * include/grub/script.h: Include <grub/parser.h> and
47744 "grub_script.tab.h".
47745 (struct grub_lexer_param): New struct.
47746 (struct grub_parser_param): Likewise.
47747 (grub_script_create_arglist): Pass the state in an argument.
47748 (grub_script_add_arglist): Likewise.
47749 (grub_script_create_cmdline): Likewise.
47750 (grub_script_create_cmdblock): Likewise.
47751 (grub_script_create_cmdif): Likewise.
47752 (grub_script_create_cmdmenu): Likewise.
47753 (grub_script_add_cmd): Likewise.
47754 (grub_script_arg_add): Likewise.
47755 (grub_script_lexer_ref): Likewise.
47756 (grub_script_lexer_deref): Likewise.
47757 (grub_script_lexer_record_start): Likewise.
47758 (grub_script_lexer_record_stop): Likewise.
47759 (grub_script_mem_record): Likewise.
47760 (grub_script_mem_record_stop): Likewise.
47761 (grub_script_malloc): Likewise.
47762 (grub_script_yylex): Likewise.
47763 (grub_script_yyparse): Likewise.
47764 (grub_script_yyerror): Likewise.
47765 (grub_script_yylex): Likewise.
47766 (grub_script_lexer_init): Return the state.
47767
47768 * normal/lexer.c (grub_script_lexer_state): Removed variable.
47769 (grub_script_lexer_done): Likewise.
47770 (grub_script_lexer_getline): Likewise.
47771 (grub_script_lexer_refs): Likewise.
47772 (script): Likewise.
47773 (newscript): Likewise.
47774 (record): Likewise.
47775 (recording): Likewise.
47776 (recordpos): Likewise.
47777 (recordlen): Likewise.
47778 (grub_script_lexer_init): Return the state instead of setting
47779 global variables.
47780 (grub_script_lexer_ref): Use the newly added argument for state
47781 instead of globals.
47782 (grub_script_lexer_deref): Likewise.
47783 (grub_script_lexer_record_start): Likewise.
47784 (grub_script_lexer_record_stop): Likewise.
47785 (recordchar): Likewise.
47786 (nextchar): Likewise.
47787 (grub_script_yylex2): Likewise.
47788 (grub_script_yylex): Likewise.
47789 (grub_script_yyerror): Likewise.
47790
47791 * normal/parser.y (func_mem): Removed variable.
47792 (menu_entry): Likewise.
47793 (err): Likewise.
47794 (%lex-param): New parser option.
47795 (%parse-param): Likewise.
47796 (script): Always return the AST.
47797 (argument): Pass the state around.
47798 (arguments): Likewise.
47799 (grubcmd): Likewise.
47800 (commands): Likewise.
47801 (function): Likewise.
47802 (menuentry): Likewise.
47803 (if_statement): Likewise.
47804 (if): Likewise.
47805
47806 * normal/script.c (grub_script_memused): Removed variable.
47807 (grub_script_parsed): Likewise.
47808 (grub_script_malloc): Added a state argument. Use that instead of
47809 global variables.
47810 (grub_script_mem_record): Likewise.
47811 (grub_script_mem_record_stop): Likewise.
47812 (grub_script_arg_add): Likewise.
47813 (grub_script_add_arglist): Likewise.
47814 (grub_script_create_cmdline): Likewise.
47815 (grub_script_create_cmdif): Likewise.
47816 (grub_script_create_cmdmenu): Likewise.
47817 (grub_script_add_cmd): Likewise.
47818 (grub_script_parse): Setup the state before calling the parser.
47819
47820 2006-04-16 Marco Gerards <marco@gnu.org>
47821
47822 * normal/command.c (grub_command_init): Remove the title command.
47823
47824 * normal/lexer.c (grub_script_yylex): Renamed from this...
47825 (grub_script_yylex2): ... to this.
47826 (grub_script_yylex): New function. Temporary
47827 introduced to filter some tokens.
47828 (grub_script_yyerror): Print a newline.
47829
47830 * normal/main.c (read_config_file): Output information about the
47831 lines that contain errors. Wait for a key after all lines have
47832 been processed. Don't return an empty menu.
47833
47834 * normal/parser.y (func_mem): Don't initialize.
47835 (menu_entry): Likewise.
47836 (err): New variable.
47837 (script): Don't return anything when an error was encountered.
47838 (ws, returns): Removed rules.
47839 (argument): Disabled concatenated variable support.
47840 (arguments): Remove explicit separators.
47841 (grubcmd): Likewise.
47842 (function): Likewise.
47843 (menuentry): Likewise.
47844 (if): Likewise.
47845 (commands): Likewise. Add error handling.
47846
47847 * normal/script.c (grub_script_create_cmdline): If
47848 `grub_script_parsed' is 0, assume the parser encountered an error.
47849
47850 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
47851
47852 * configure.ac: Add support for EFI. Fix the typo
47853 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
47854
47855 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
47856
47857 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
47858 foreign multibyte characters should be shown correctly.
47859
47860 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
47861
47862 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
47863 calculation.
47864 (read_config_file): Made it to close file before returning.
47865
47866 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
47867
47868 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
47869 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
47870 video/i386/pc/vbefill.c.
47871
47872 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
47873 video/i386/pc/vbefill.c.
47874
47875 * include/grub/video.h (grub_video_blit_format): New enum.
47876 (grub_video_mode_info): Added new member blit_format.
47877 (grub_video_get_blit_format): New function prototype.
47878
47879 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
47880 function prototype.
47881 (grub_video_vbe_map_rgb): Likewise.
47882 (grub_video_vbe_unmap_color): Likewise.
47883
47884 * include/grub/i386/pc/vbeblit.h: New file.
47885
47886 * include/grub/i386/pc/vbefill.h: New file.
47887
47888 * video/video.c (grub_video_get_blit_format): New function.
47889 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
47890 (grub_video_vbe_map_rgb): Likewise.
47891 (grub_video_vbe_unmap_color): Likewise.
47892
47893 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
47894 optimized fills.
47895 (grub_video_vbe_blit_render_target): Changed to use more optimized
47896 blits.
47897 (grub_video_vbe_setup): Added detection for optimized settings.
47898 (grub_video_vbe_create_render_target): Likewise.
47899
47900 * video/i386/pc/vbeblit.c: New file.
47901
47902 * video/i386/pc/vbefill.c: New file.
47903
47904 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
47905
47906 * font/manager.c (grub_font_get_glyph): Removed font fixup from
47907 here...
47908
47909 * util/unifont2pff.rb: ... and moved it to here. Improved argument
47910 parsing to support both hex and dec ranges. If filename was missing
47911 show usage information.
47912
47913 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
47914
47915 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
47916 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
47917
47918 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
47919 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
47920 (video_mod_SOURCES): Added.
47921 (video_mod_CFLAGS): Likewise.
47922 (video_mod_LDFLAGS): Likewise.
47923 (gfxterm_mod_SOURCES): Likewise.
47924 (gfxterm_mod_CFLAGS): Likewise.
47925 (gfxterm_mod_LDFLAGS): Likewise.
47926 (videotest_mod_SOURCES): Likewise.
47927 (videotest_mod_CFLAGS): Likewise.
47928 (videotest_mod_LDFLAGS): Likewise.
47929 (vesafb_mod_SOURCES): Removed.
47930 (vesafb_mod_CFLAGS): Likewise.
47931 (vesafb_mod_LDFLAGS): Likewise.
47932 (vga_mod_SOURCES): Likewise.
47933 (vga_mod_CFLAGS): Likewise.
47934 (vga_mod_LDFLAGS): Likewise.
47935
47936 * commands/videotest.c: New file.
47937
47938 * font/manager.c (fill_with_default_glyph): Modified to use
47939 grub_font_glyph.
47940 (grub_font_get_glyph): Likewise.
47941 (fontmanager): Renamed from this...
47942 (font_manager): ... to this.
47943
47944 * include/grub/font.h (grub_font_glyph): Added new structure.
47945 (grub_font_get_glyph): Modified to use grub_font_glyph.
47946
47947 * include/grub/misc.h (grub_abs): Added as inline function.
47948
47949 * include/grub/video.h: New file.
47950
47951 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
47952 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
47953 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
47954 (grub_vbe_get_controller_info): Renamed from this...
47955 (grub_vbe_bios_get_controller_info): ... to this.
47956 (grub_vbe_get_mode_info): Renamed from this...
47957 (grub_vbe_bios_get_mode_info): ... to this.
47958 (grub_vbe_set_mode): Renamed from this...
47959 (grub_vbe_bios_set_mode): ... to this.
47960 (grub_vbe_get_mode): Renamed from this...
47961 (grub_vbe_bios_get_mode): ... to this.
47962 (grub_vbe_set_memory_window): Renamed from this...
47963 (grub_vbe_bios_set_memory_window): ... to this.
47964 (grub_vbe_get_memory_window): Renamed from this...
47965 (grub_vbe_bios_get_memory_window): ... to this.
47966 (grub_vbe_set_scanline_length): Renamed from this...
47967 (grub_vbe_set_scanline_length): ... to this.
47968 (grub_vbe_get_scanline_length): Renamed from this...
47969 (grub_vbe_bios_get_scanline_length): ... to this.
47970 (grub_vbe_set_display_start): Renamed from this...
47971 (grub_vbe_bios_set_display_start): ... to this.
47972 (grub_vbe_get_display_start): Renamed from this...
47973 (grub_vbe_bios_get_display_start): ... to this.
47974 (grub_vbe_set_palette_data): Renamed from this...
47975 (grub_vbe_bios_set_palette_data): ... to this.
47976 (grub_vbe_set_pixel_rgb): Removed.
47977 (grub_vbe_set_pixel_index): Likewise.
47978
47979 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
47980 from this...
47981 (grub_vbe_bios_get_controller_info): ... to this.
47982 (grub_vbe_get_mode_info): Renamed from this...
47983 (grub_vbe_bios_get_mode_info): ... to this.
47984 (grub_vbe_set_mode): Renamed from this...
47985 (grub_vbe_bios_set_mode): ... to this.
47986 (grub_vbe_get_mode): Renamed from this...
47987 (grub_vbe_bios_get_mode): ... to this.
47988 (grub_vbe_set_memory_window): Renamed from this...
47989 (grub_vbe_bios_set_memory_window): ... to this.
47990 (grub_vbe_get_memory_window): Renamed from this...
47991 (grub_vbe_bios_get_memory_window): ... to this.
47992 (grub_vbe_set_scanline_length): Renamed from this...
47993 (grub_vbe_set_scanline_length): ... to this.
47994 (grub_vbe_get_scanline_length): Renamed from this...
47995 (grub_vbe_bios_get_scanline_length): ... to this.
47996 (grub_vbe_set_display_start): Renamed from this...
47997 (grub_vbe_bios_set_display_start): ... to this.
47998 (grub_vbe_get_display_start): Renamed from this...
47999 (grub_vbe_bios_get_display_start): ... to this.
48000 (grub_vbe_set_palette_data): Renamed from this...
48001 (grub_vbe_bios_set_palette_data): ... to this.
48002 (grub_vbe_bios_get_controller_info): Fixed problem with registers
48003 getting corrupted after calling it. Added more pushes and pops.
48004 (grub_vbe_bios_set_mode): Likewise.
48005 (grub_vbe_bios_get_mode): Likewise.
48006 (grub_vbe_bios_get_memory_window): Likewise.
48007 (grub_vbe_bios_set_scanline_length): Likewise.
48008 (grub_vbe_bios_get_scanline_length): Likewise.
48009 (grub_vbe_bios_get_display_start): Likewise.
48010 (grub_vbe_bios_set_palette_data): Likewise.
48011
48012 * normal/cmdline.c (cl_set_pos): Refresh the screen.
48013 (cl_insert): Likewise.
48014 (cl_delete): Likewise.
48015
48016 * term/gfxterm.c: New file.
48017
48018 * term/i386/pc/vesafb.c: Removed file.
48019
48020 * video/video.c: New file.
48021
48022 * video/i386/pc/vbe.c (real2pm): Added new function.
48023 (grub_video_vbe_draw_pixel): Likewise.
48024 (grub_video_vbe_get_video_ptr): Likewise.
48025 (grub_video_vbe_get_pixel): Likewise
48026 (grub_video_vbe_init): Likewise.
48027 (grub_video_vbe_fini): Likewise.
48028 (grub_video_vbe_setup): Likewise.
48029 (grub_video_vbe_get_info): Likewise.
48030 (grub_video_vbe_set_palette): Likewise.
48031 (grub_video_vbe_get_palette): Likewise.
48032 (grub_video_vbe_set_viewport): Likewise.
48033 (grub_video_vbe_get_viewport): Likewise.
48034 (grub_video_vbe_map_color): Likewise.
48035 (grub_video_vbe_map_rgb): Likewise.
48036 (grub_video_vbe_map_rgba): Likewise.
48037 (grub_video_vbe_unmap_color): Likewise.
48038 (grub_video_vbe_fill_rect): Likewise.
48039 (grub_video_vbe_blit_glyph): Likewise.
48040 (grub_video_vbe_blit_bitmap): Likewise.
48041 (grub_video_vbe_blit_render_target): Likewise.
48042 (grub_video_vbe_scroll): Likewise.
48043 (grub_video_vbe_swap_buffers): Likewise.
48044 (grub_video_vbe_create_render_target): Likewise.
48045 (grub_video_vbe_delete_render_target): Likewise.
48046 (grub_video_vbe_set_active_render_target): Likewise.
48047 (grub_vbe_set_pixel_rgb): Remove function.
48048 (grub_vbe_set_pixel_index): Likewise.
48049 (index_color_mode): Remove static variable.
48050 (active_mode): Likewise.
48051 (framebuffer): Likewise.
48052 (bytes_per_scan_line): Likewise.
48053 (grub_video_vbe_adapter): Added new static variable.
48054 (framebuffer): Likewise.
48055 (render_target): Likewise.
48056 (initial_mode): Likewise.
48057 (mode_in_use): Likewise.
48058 (mode_list): Likewise.
48059
48060 2006-03-10 Marco Gerards <marco@gnu.org>
48061
48062 * configure.ac (AC_INIT): Bumped to 1.93.
48063
48064 * DISTLIST: Added `include/grub/hfs.h'.
48065
48066 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
48067
48068 * boot/i386/pc/boot.S (general_error): Before looping, try INT
48069 18H, which might help the BIOS falling back to next boot media.
48070
48071 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
48072
48073 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
48074 Poe Chen <poe.poechen@gmail.com>.
48075
48076 2006-01-17 Marco Gerards <marco@gnu.org>
48077
48078 * include/grub/normal.h: Include <grub/script.h>.
48079 (grub_command_list): Removed struct.
48080 (grub_command_list_t): Removed type.
48081 (grub_menu_entry): Remove members `num' and `command_list'. Add
48082 members `commands' and `sourcecode'.
48083 * include/grub/script.h: Add inclusion guards.
48084 (grub_script_cmd_menuentry): New struct.
48085 (grub_script_execute_menuentry): New prototype.
48086 (grub_script_lexer_record_start): Likewise.
48087 (grub_script_lexer_record_stop): Likewise.
48088 * normal/execute.c (grub_script_execute_menuentry): New function.
48089 * normal/lexer.c (record, recording, recordpos, recordlen): New
48090 variables.
48091 (grub_script_lexer_record_start): New function.
48092 (grub_script_lexer_record_stop): Likewise.
48093 (recordchar): Likewise.
48094 (nextchar): Likewise.
48095 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
48096 2048 as the buffer size. Add the tokens `menuentry' and `@'.
48097 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
48098 (current_menu): New variable.
48099 (free_menu): Mainly rewritten.
48100 (grub_normal_menu_addentry): New function.
48101 (read_config_file): Rewritten.
48102 * normal/menu.c (run_menu_entry): Mainly rewritten.
48103 * normal/menu_entry.c (make_screen): Rewritten the code to insert
48104 the menu entry.
48105 (run): Mainly rewritten.
48106 * normal/parser.y (menu_entry): New variable.
48107 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
48108 (menuentry): New rule.
48109 (command): Add `menuentry'.
48110 (if_statement): Allow additional returns before `fi'.
48111 * normal/script.c (grub_script_create_cmdmenu): New function.
48112
48113 2006-01-03 Marco Gerards <marco@gnu.org>
48114
48115 * INSTALL: GNU Bison is required.
48116 * configure.ac: Rewritten the test to detect Bison.
48117 * Makefile.in (YACC): New variable. Reported by Xun Sun
48118 <xun.sun.cn@gmail.com>.
48119
48120 2006-01-03 Marco Gerards <marco@gnu.org>
48121
48122 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
48123 the HFS+ filesystem to filesystem blocks.
48124 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
48125 GCC warning is silenced.
48126
48127 2006-01-03 Marco Gerards <marco@gnu.org>
48128
48129 * partmap/apple.c (apple_partition_map_iterate): Convert the data
48130 read from disk from big endian to host byte order.
48131
48132 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
48133
48134 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
48135 documentation.
48136 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
48137 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
48138 embedded HFS+ filesystem.
48139 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
48140 (grub_hfs_sblock): Move from here...
48141 * include/grub/hfs.h: To here... New file.
48142 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
48143 documentation.
48144 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
48145 New macros.
48146 (grub_hfsplus_volheader): Change type of member `magic' to
48147 `grub_uint16_t'.
48148 (grub_hfsplus_data): Add new member `embedded_offset'.
48149 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
48150 returned block.
48151 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
48152 Calculate the offset.
48153
48154 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48155
48156 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
48157 Removed.
48158 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
48159
48160 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48161
48162 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
48163 ENV->NAME is NULL after allocating ENV->VALUE.
48164
48165 2005-12-25 Marco Gerards <marco@gnu.org>
48166
48167 * kern/env.c (grub_env_set): Rewritten the error handling code.
48168
48169 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48170
48171 * geninit.sh: Made more robust, and more portable.
48172
48173 2005-12-25 Marco Gerards <marco@gnu.org>
48174
48175 Add support for Apple HFS+ filesystems.
48176
48177 * fs/hfsplus.c: New file.
48178
48179 * DISTLIST: Added `fs/hfsplus.c'.
48180
48181 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
48182 (hfsplus_mod_SOURCES): New variable.
48183 (hfsplus_mod_CFLAGS): Likewise.
48184 (hfsplus_mod_LDFLAGS): Likewise.
48185 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
48186 (grub_setup_SOURCES): Likewise.
48187 (grub_mkdevicemap_SOURCES): Likewise.
48188 (grub_emu_SOURCES): Likewise.
48189 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48190
48191 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
48192
48193 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
48194
48195 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48196
48197 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
48198 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
48199 include/grub/parser.h, include/grub/script.h, kern/parser.c,
48200 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
48201 normal/lexer.c, normal/parser.y, normal/script.c, and
48202 partmap/gpt.c.
48203 Removed kern/sparc64/cache.c.
48204
48205 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
48206 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
48207 grub_emu_init.c.
48208
48209 * configure.ac (AC_INIT): Bumped to 1.92.
48210
48211 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
48212
48213 * kern/err.c (grub_error_push): Added new function to support error
48214 stacks.
48215 (grub_error_pop): Likewise.
48216 (grub_error_stack_items): New local variable to support error stacks.
48217 (grub_error_stack_pos): Likewise.
48218 (grub_error_stack_assert): Likewise.
48219 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
48220 stack depth.
48221 (grub_print_error): Added support to print errors from error stack.
48222
48223 * include/grub/err.h (grub_error_push): Added function prototype.
48224 (grub_error_pop): Likewise.
48225
48226 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
48227
48228 * configure.ac: Accept `powerpc64' as host_cpu.
48229 (amd64): Rename to `biarch32'.
48230
48231 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
48232 non-cacheline-aligned addresses.
48233
48234 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
48235 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
48236 if `size' is non-zero.
48237
48238 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
48239
48240 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
48241 and `cd' to make sure the filename is not prefixed with a
48242 directory name.
48243 (pkgdata_MODULES): Add `gpt.mod'.
48244 (gpt_mod_SOURCES): New variable.
48245 (gpt_mod_CFLAGS): Likewise.
48246 (gpt_mod_LDFLAGS): Likewise.
48247
48248 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
48249
48250 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
48251 New macro.
48252
48253 * partmap/gpt.c: New file.
48254
48255 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
48256 GPT partition map is detected.
48257
48258 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
48259
48260 * commands/i386/pc/play.c: New file.
48261 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
48262 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
48263 macros.
48264
48265 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
48266
48267 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
48268 ((unused))' to silence gcc warning.
48269
48270 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
48271
48272 * configure.ac: Correct `AC_PROG_YACC' test.
48273
48274 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48275
48276 * util/powerpc/ieee1275/grub-install.in: Run the mount point
48277 check before installing files.
48278
48279 2005-11-22 Mike Small <smallm@panix.com>
48280
48281 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
48282 number regex so multidigit numbers are recognized correctly.
48283
48284 2005-11-22 Mike Small <smallm@panix.com>
48285
48286 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
48287 debugging message before attempting to claim memory.
48288 (grub_rescue_cmd_initrd): Add a claim debugging message and try
48289 multiple addresses in case of failure.
48290
48291 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48292
48293 * term/tparm.c (get_space): Remove empty `if' statement.
48294
48295 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
48296
48297 * kern/parser.c (check_varstate): Rename `state' to 's'.
48298
48299 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48300
48301 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
48302 variable definitions to the beginning of each function. Sort stack
48303 variables by size.
48304 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
48305 `buf' argument to `char *'.
48306
48307 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48308
48309 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
48310 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
48311 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
48312 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
48313 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
48314 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
48315 configfile.mod, search.mod, gzio.mod and test.mod.
48316 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
48317 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
48318 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
48319 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
48320 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
48321 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
48322 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
48323 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
48324 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
48325 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
48326 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
48327 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
48328 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
48329 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
48330 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
48331 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
48332 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
48333 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
48334 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
48335 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
48336 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
48337 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
48338 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
48339
48340 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
48341 `grep --include'.
48342 (pkgdata_MODULES): Add test.mod.
48343
48344 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48345
48346 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
48347 appending to variables with "+=".
48348 (PModule): Use full pathname to generate *.lst filenames.
48349
48350 * Makefile.in: Fixed list rules moved from genmk.rb.
48351 (.DELETE_ON_ERROR): New special target.
48352 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
48353
48354 * conf/i386-pc.rmk: Include conf/common.mk.
48355 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
48356 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
48357 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
48358 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
48359 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
48360 configfile.mod, search.mod, gzio.mod and test.mod.
48361 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
48362 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
48363 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
48364 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
48365 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
48366 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
48367 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
48368 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
48369 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
48370 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
48371 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
48372 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
48373 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
48374 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
48375 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
48376 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
48377 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
48378 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
48379 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
48380 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
48381 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
48382 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
48383 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
48384 here...
48385 * conf/common.rmk: ... to here. New file.
48386
48387 * conf/common.mk: New file.
48388
48389 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
48390
48391 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
48392 (grub_script.tab.c): ... here.
48393
48394 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
48395 (grub_script.tab.c): ... here.
48396
48397 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
48398 (grub_script.tab.c): ... here.
48399
48400 * normal/command.c (grub_command_find): Fixed a memory leak of
48401 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
48402
48403 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48404
48405 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
48406 "@" which marks the start of a comment on ARM.
48407 (VARIABLE): Likewise.
48408
48409 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48410
48411 Add support for Linux/ADFS partition tables.
48412
48413 * partmap/acorn.c: New file.
48414
48415 * include/grub/acorn_filecore.h: Likewise.
48416
48417 * DISTLIST: Added `partmap/acorn.c' and
48418 `include/grub/acorn_filecore.h'.
48419
48420 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48421 `partmap/acorn.c'.
48422 (pkgdata_MODULES): Add `acorn.mod'.
48423 (acorn_mod_SOURCES): New variable.
48424 (acorn_mod_CFLAGS): Likewise.
48425
48426 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
48427 `partmap/acorn.c'.
48428 (pkgdata_MODULES): Add `acorn.mod'.
48429 (acorn_mod_SOURCES): New variable.
48430 (acorn_mod_CFLAGS): Likewise.
48431
48432 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
48433 (pkgdata_MODULES): Add `acorn.mod'.
48434 (acorn_mod_SOURCES): New variable.
48435 (acorn_mod_CFLAGS): Likewise.
48436 (acorn_mod_LDFLAGS): Likewise.
48437
48438 * include/types.h (grub_disk_addr_t): New typedef.
48439
48440 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
48441
48442 * geninit.sh: New file.
48443
48444 * geninitheader.sh: Likewise.
48445
48446 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
48447 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
48448 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
48449 * commands/configfile.c (grub_configfile_init)
48450 (grub_configfile_fini): Likewise.
48451 * commands/default.c (grub_default_init, grub_default_fini):
48452 Likewise.
48453 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
48454 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
48455 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
48456 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
48457 Likewise.
48458 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
48459 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
48460 Likewise.
48461 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
48462 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
48463 Likewise.
48464 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
48465 Likewise.
48466 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
48467 Likewise.
48468 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
48469 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
48470 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
48471 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
48472 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
48473 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
48474 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
48475 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
48476 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
48477 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
48478 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
48479 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
48480 * partmap/amiga.c (grub_amiga_partition_map_init)
48481 (grub_amiga_partition_map_fini): Likewise.
48482 * partmap/apple.c (grub_apple_partition_map_init)
48483 (grub_apple_partition_map_fini): Likewise.
48484 * partmap/pc.c (grub_pc_partition_map_init)
48485 (grub_pc_partition_map_fini): Likewise.
48486 * partmap/sun.c (grub_sun_partition_map_init,
48487 grub_sun_partition_map_fini): Likewise.
48488 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
48489 Likewise.
48490
48491 * util/grub-emu.c: Include <grub_modules_init.h>.
48492 (main): Don't initialize and de-initialize any modules directly,
48493 use `grub_init_all' and `grub_fini_all' instead.
48494
48495 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
48496 `grub_vesafb_mod_init'.
48497 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
48498 all users.
48499 * term/i386/pc/vga.c (grub_vga_init): Renamed to
48500 `grub_vga_mod_init'. Updated all users.
48501 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
48502
48503 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
48504 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
48505 rules.
48506
48507 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
48508 Generate a function to initialize the module in utilities.
48509 Updated all callers.
48510 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
48511 initialize the module in utilities. Updated all callers.
48512
48513 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
48514
48515 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
48516 escape sequence and a literal ^L to clear the screen.
48517
48518 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
48519 when returning from Open Firmware.
48520
48521 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
48522
48523 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
48524 (grub_ofconsole_height): Likewise.
48525 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
48526 manually insert a '\n'.
48527 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
48528 `grub_ofconsole_height'. Return early if these are already set.
48529
48530 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
48531
48532 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
48533 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
48534 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
48535 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
48536 and `normal/script.c'.
48537 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
48538 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
48539 (test_mod_SOURCES): New variable.
48540 (test_mod_CFLAGS): Likewise.
48541 (test_mod_LDFLAGS): Likewise.
48542 (pkgdata_MODULES): Add `test.mod'.
48543 (grub_script.tab.c): New rule.
48544 (grub_script.tab.h): Likewise.
48545
48546 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
48547
48548 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48549 `commands/test.c', `normal/execute.c', `normal/lexer.c',
48550 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
48551 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
48552 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
48553 (test_mod_SOURCES): New variable.
48554 (test_mod_CFLAGS): Likewise.
48555 (pkgdata_MODULES): Add `test.mod'.
48556 (grub_script.tab.c): New rule.
48557 (grub_script.tab.h): Likewise.
48558
48559 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
48560
48561 Add initial scripting support.
48562
48563 * commands/test.c: New file.
48564 * include/grub/script.h: Likewise.
48565 * normal/execute.c: Likewise.
48566 * normal/function.c: Likewise.
48567 * normal/lexer.c: Likewise.
48568 * normal/parser.y: Likewise.
48569 * normal/script.c: Likewise.
48570
48571 * configure.ac: Add `AC_PROG_YACC' test.
48572
48573 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
48574 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
48575 `normal/function.c' and `normal/script.c'.
48576 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
48577 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
48578 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
48579 variables.
48580 (pkgdata_MODULES): Add `test.mod'.
48581 (grub_script.tab.c): New rule.
48582 (grub_script.tab.h): Likewise.
48583
48584 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
48585
48586 * include/grub/normal.h (grub_test_init): New prototype.
48587 (grub_test_fini): Likewise.
48588
48589 * normal/command.c: Include <grub/script.h>.
48590 (grub_command_execute): Rewritten.
48591
48592 * util/grub-emu.c (main): Call `grub_test_init' and
48593 `grub_test_fini'.
48594
48595 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
48596
48597 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
48598 to 0.
48599 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
48600 there are no pending characters.
48601
48602 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
48603
48604 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
48605 `grub_strndup' to drop device arguments. Replace unnecessary
48606 `grub_strndup' with `grub_strdup'.
48607
48608 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
48609
48610 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
48611 `debug' environment variable has been set.
48612
48613 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
48614
48615 * Makefile.in (install-local): Use $(DATA).
48616 (uninstall): Likewise.
48617 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
48618 (sbin_UTILITIES): ... to here.
48619 (sbin_SCRIPTS): New variable.
48620 (grub_install_SOURCES): New variable.
48621 * util/powerpc/ieee1275/grub-install.in: New file.
48622 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
48623 variable.
48624 (add_segments): Call `grub_util_get_path'.
48625
48626 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
48627
48628 From Timothy Baldwin:
48629 * commands/ls.c (grub_ls_list_files): Close FILE with
48630 grub_file_close.
48631 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
48632
48633 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
48634
48635 * include/grub/parser.h: New file.
48636
48637 * kern/parser.c: Likewise.
48638
48639 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
48640 (grub_setup_SOURCES): Likewise.
48641 (grub_probefs_SOURCES): Likewise.
48642 (grub_emu_SOURCES): Likewise.
48643 (kernel_img_HEADERS): Add `parser.h'.
48644
48645 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
48646 (grub_emu_SOURCES): Add `kern/parser.c'.
48647 (grubof_SOURCES): Likewise.
48648
48649 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
48650 (grubof_SOURCES): Add `kern/parser.c'.
48651
48652 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
48653
48654 * kern/misc.c (grub_split_cmdline): Removed function.
48655
48656 * kern/rescue.c: Include <grub/parser.h>.
48657 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
48658 of `grub_split_cmdline'.
48659
48660 * normal/command.c: Include <grub/parser.h>.
48661 (grub_command_execute): Use `grub_parser_split_cmdline' instead
48662 of `grub_split_cmdline'.
48663
48664 * normal/completion.c: Include <grub/parser.h>.
48665 (cmdline_state): New variable.
48666 (iterate_dir): End the filename with a quote depending on the
48667 command line state.
48668 (get_state): new function.
48669 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
48670 split the arguments and determine the current argument. When the
48671 argument string is not quoted, escape all spaces.
48672
48673 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
48674
48675 * normal/sparc64/setjmp.S: New file.
48676
48677 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
48678
48679 * include/grub/sparc64/libgcc.h: New file.
48680 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
48681 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
48682 normal/sparc64/setjmp.c.
48683
48684 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
48685
48686 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
48687 * kern/sparc64/cache.S: New file.
48688 * kern/sparc64/cache.c: Removed.
48689 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
48690 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
48691 -mtune=ultrasparc.
48692 (COMMON_LDFLAGS): Add -melf64_sparc.
48693 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
48694 (grubof_SOURCES): Use cache.S instead of cache.c.
48695 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
48696 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
48697 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
48698 commented though.
48699 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
48700 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
48701 (linux_mod_CFLAGS): Commented out.
48702 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
48703 out because module isn't built.
48704 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
48705 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
48706 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
48707 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
48708 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
48709 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
48710 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
48711 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
48712 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
48713 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
48714 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
48715 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
48716 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
48717 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
48718
48719 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
48720
48721 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
48722 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
48723 longer, because HFS should not be used on PC.
48724
48725 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48726
48727 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
48728 consistently within the loop.
48729
48730 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
48731
48732 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
48733 directory can not be read.
48734
48735 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48736
48737 * configure.ac (AC_INIT): Increase the version number to 1.91.
48738
48739 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
48740 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
48741 term/i386/pc/serial.c.
48742
48743 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48744
48745 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
48746 file size must be permitted.
48747
48748 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
48749 between %ah and %al.
48750
48751 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48752
48753 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
48754 grub_uint64_t.
48755 Call the hook with a NUL-terminated filename.
48756 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
48757 grub_cpu_to_be32.
48758
48759 * kern/term.c (cursor_state): New variable.
48760 (grub_term_set_current): Reset the cursor state on a new
48761 terminal.
48762 (grub_setcursor): Rewritten to use CURSOR_STATE.
48763 (grub_getcursor): New function.
48764
48765 * include/grub/term.h (grub_getcursor): New prototype.
48766
48767 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
48768 integers on ARM. Reported by Timothy Baldwin
48769 <T.E.Baldwin99@members.leeds.ac.uk>.
48770
48771 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
48772
48773 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
48774 allocated.
48775 (grub_sfs_dir): Likewise.
48776
48777 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
48778
48779 Add support for the SFS filesystem.
48780
48781 * fs/sfs.c: New file.
48782
48783 * DISTLIST: Added `fs/sfs.c'.
48784
48785 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
48786 (grub_probefs_SOURCES): Likewise.
48787 (grub_emu_SOURCES): Likewise.
48788 (pkgdata_MODULES): Add `sfs.mod'.
48789 (sfs_mod_SOURCES): New variable.
48790 (sfs_mod_CFLAGS): Likewise.
48791 (sfs_mod_LDFLAGS): Likewise.
48792
48793 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
48794 (pkgdata_MODULES): Add `sfs.mod'.
48795 (sfs_mod_SOURCES): New variable.
48796 (sfs_mod_CFLAGS): Likewise.
48797
48798 * util/grub-emu.c (main): Call `grub_sfs_init' and
48799 `grub_sfs_fini'.
48800
48801 * include/grub/fs.h (grub_sfs_init): New prototype.
48802 (grub_sfs_fini): Likewise.
48803
48804 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
48805
48806 Add support for the AFFS filesystem.
48807
48808 * fs/affs.c: New file.
48809
48810 * DISTLIST: Added `fs/affs.c'.
48811
48812 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
48813 (grub_probefs_SOURCES): Likewise.
48814 (grub_emu_SOURCES): Likewise.
48815 (pkgdata_MODULES): Add `affs.mod'.
48816 (affs_mod_SOURCES): New variable.
48817 (affs_mod_CFLAGS): Likewise.
48818 (affs_mod_LDFLAGS): Likewise.
48819
48820 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
48821 (pkgdata_MODULES): Add `affs.mod'.
48822 (affs_mod_SOURCES): New variable.
48823 (affs_mod_CFLAGS): Likewise.
48824
48825 * util/grub-emu.c (main): Call `grub_affs_init' and
48826 `grub_affs_fini'.
48827
48828 * include/grub/fs.h (grub_affs_init): New prototype.
48829 (grub_affs_fini): Likewise.
48830
48831 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
48832
48833 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
48834
48835 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
48836
48837 * configure.ac: Accept `x86_64' as host_cpu. In that case add
48838 `-m32' to CFLAGS.
48839
48840 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
48841 linking.
48842
48843 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
48844 (COMMON_LDFLAGS): New variable.
48845 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
48846 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
48847 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
48848 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
48849 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
48850 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
48851 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
48852 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
48853 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
48854 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
48855 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
48856 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
48857 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
48858 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
48859 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
48860 variables.
48861 (normal_mod_ASFLAGS): Add `-m32'.
48862
48863 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
48864 (grub_host_size_t, grub_host_ssize_t): New types.
48865 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
48866 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
48867 `GRUB_HOST_SIZEOF_VOID_P'.
48868
48869 * include/grub/kernel.h (struct grub_module_header): Type of
48870 member offset changed to `grub_host_off_t'. Type of member size
48871 changed to `grub_host_size_t'.
48872 (struct grub_module_info): Type of member offset changed to
48873 `grub_host_off_t'. Type of member size changed to
48874 `grub_host_size_t'.
48875
48876 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
48877
48878 Make GRUB's kernel compliant to Multiboot Specification.
48879
48880 * kern/i386/pc/startup.S (multiboot_header): New label.
48881 (multiboot_entry): Likewise.
48882 (multiboot_trampoline): Likewise.
48883
48884 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
48885 Increased to 0x4A0.
48886
48887 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
48888 put parentheses after a question mark.
48889 [!GRUB_UTIL] (my_mod): New variable.
48890
48891 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
48892
48893 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
48894
48895 Adds support for the XFS filesystem. Btrees are not supported
48896 yet.
48897
48898 * fs/xfs.c: New file.
48899
48900 * DISTLIST: Added `fs/xfs.c'.
48901
48902 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
48903 (grub_probefs_SOURCES): Likewise.
48904 (grub_emu_SOURCES): Likewise.
48905 (pkgdata_MODULES): Add `xfs.mod'.
48906 (xfs_mod_SOURCES): New variable.
48907 (xfs_mod_CFLAGS): Likewise.
48908
48909 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
48910 (pkgdata_MODULES): Add `xfs.mod'.
48911 (xfs_mod_SOURCES): New variable.
48912 (xfs_mod_CFLAGS): Likewise.
48913
48914 * util/grub-emu.c (main): Call `grub_xfs_init' and
48915 `grub_xfs_fini'.
48916
48917 * include/grub/fs.h (grub_xfs_init): New prototype.
48918 (grub_xfs_fini): Likewise.
48919
48920
48921 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
48922
48923 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
48924 color modes, allow greater than 16 colors to be configured as
48925 a default palette.
48926
48927 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
48928
48929 * normal/completion.c (complete_arguments): Add the qualifier
48930 const into OPTIONS.
48931
48932 From Omniflux <omniflux+lists@omniflux.com>:
48933 * include/grub/terminfo.h: New file.
48934 * include/grub/tparm.h: Likewise.
48935 * include/grub/i386/pc/serial.h: Likewise.
48936 * term/terminfo.c: Likewise.
48937 * term/tparm.c: Likewise.
48938 * term/i386/pc/serial.c: Likewise.
48939 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
48940 serial.mod.
48941 (terminfo_mod_SOURCES): New variable.
48942 (terminfo_mod_CFLAGS): Likewise.
48943 (serial_mod_SOURCES): Likewise.
48944 (serial_mod_CFLAGS): Likewise.
48945
48946 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
48947
48948 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
48949 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
48950 and kern/powerpc/ieee1275/cmain.c, respectively.
48951
48952 * boot/powerpc/ieee1275/crt0.S: Moved to ...
48953 * kern/powerpc/ieee1275/crt0.S: ... here.
48954
48955 * boot/powerpc/ieee1275/cmain.c: Moved to ...
48956 * kern/powerpc/ieee1275/cmain.c: ... here.
48957
48958 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
48959 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
48960 instead of boot/powerpc/ieee1275/crt0.S and
48961 boot/powerpc/ieee1275/cmain.c, respectively.
48962
48963 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
48964 sectors. It was not used anyway.
48965
48966 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
48967
48968 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
48969 `unused parameter' warning.
48970
48971 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
48972
48973 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
48974 function.
48975 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
48976 getcharwidth.
48977
48978 2005-08-28 Marco Gerards <metgerards@student.han.nl>
48979
48980 * include/grub/normal.h (enum grub_completion_type): Added
48981 `GRUB_COMPLETION_TYPE_ARGUMENT'.
48982
48983 * normal/cmdline.c (print_completion): Handle
48984 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
48985 * normal/menu_entry.c (store_completion): Likewise.
48986
48987 * normal/completion.c (complete_arguments): New function.
48988 (grub_normal_do_completion): Call `complete_arguments' when the
48989 current words start with a dash.
48990
48991 2005-08-27 Marco Gerards <metgerards@student.han.nl>
48992
48993 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
48994 `gzio.mod' instead of `io.mod').
48995
48996 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
48997
48998 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
48999 (DISTDIRS): Added io and video.
49000 Rewrite the search routine to make an output consistently.
49001
49002 * DISTLIST: Added conf/sparc64-ieee1275.mk,
49003 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
49004 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
49005 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
49006 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
49007 util/powerpc/ieee1275/misc.c.
49008
49009 * include/grub/gzio.h: New file.
49010 * io/gzio.c: Likewise.
49011
49012 * kern/file.c (grub_file_close): Call grub_device_close only if
49013 FILE->DEVICE is not NULL.
49014
49015 * include/grub/mm.h [!NULL] (NULL): New macro.
49016
49017 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
49018
49019 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
49020 (pkgdata_MODULES): Added gzio.mod.
49021 (gzio_mod_SOURCES): New variable.
49022 (gzio_mod_CFLAGS): Likewise.
49023
49024 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
49025 (pkgdata_MODULES): Added gzio.mod.
49026 (gzio_mod_SOURCES): New variable.
49027 (gzio_mod_CFLAGS): Likewise.
49028
49029 * commands/cat.c: Include grub/gzio.h.
49030 (grub_cmd_cat): Use grub_gzfile_open instead of
49031 grub_file_open.
49032
49033 * commands/cmp.c: Include grub/gzio.h.
49034 (grub_cmd_cmp): Use grub_gzfile_open instead of
49035 grub_file_open.
49036
49037 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
49038 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
49039 grub_file_open.
49040 (grub_rescue_cmd_module): Likewise.
49041
49042 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49043
49044 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
49045 kern/sparc64/ieee1275/init.c because it contains _start.
49046 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
49047
49048 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49049
49050 * configure.ac: Add support for sparc64 host with ieee1275
49051 firmware.
49052 * configure: Generated from configure.ac.
49053 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
49054 instead of int.
49055 (grub_ofdisk_read): Likewise.
49056 (grub_ofdisk_open): Use %p to print pointer values, and cast the
49057 pointers as (void *) to remove a warning.
49058 (grub_ofdisk_close): Likewise.
49059 (grub_ofdisk_read): Likewise.
49060 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
49061 returns, so make it return void to remove a warning.
49062 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
49063 Corresponding prototype change.
49064 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
49065 values, and cast the pointers as (void *) to remove a warning.
49066 (grub_mm_dump): Likewise.
49067 * conf/sparc64-ieee1275.mk: New file.
49068 * conf/sparc64-ieee1275.rmk: Likewise.
49069 * include/grub/sparc64/setjmp.h: Likewise.
49070 * include/grub/sparc64/types.h: Likewise.
49071 * include/grub/sparc64/ieee1275/console.h: Likewise.
49072 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
49073 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
49074 * include/grub/sparc64/ieee1275/time.h: Likewise.
49075 * kern/sparc64/cache.c: Likewise.
49076 * kern/sparc64/dl.c: Likewise.
49077 * kern/sparc64/ieee1275/init.c: Likewise.
49078 * kern/sparc64/ieee1275/openfw.c: Likewise.
49079
49080 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
49081
49082 * util/console.c (grub_ncurses_putchar): If C is greater than
49083 0x7f, set C to a question mark.
49084 (grub_ncurses_getcharwidth): New function.
49085 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
49086 getcharwidth.
49087
49088 * normal/menu.c (print_entry): Made aware of Unicode. First,
49089 convert TITLE to UCS-4, and predict the cursor position by
49090 grub_getcharwidth.
49091
49092 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
49093 const to SRC.
49094 * kern/misc.c (grub_utf16_to_utf8): Likewise.
49095
49096 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49097
49098 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
49099 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
49100 grub_strcat.
49101
49102 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
49103 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
49104 grub_strcpy and grub_strlen. Take it into account that a space
49105 character is inserted as a delimiter.
49106
49107 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49108
49109 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
49110 invalid magic in the error.
49111
49112 * commands/search.c: New file.
49113
49114 * util/grub-emu.c (main): Call grub_search_init and
49115 grub_search_fini.
49116
49117 * kern/rescue.c (grub_rescue_print_disks): Removed.
49118 (grub_rescue_print_devices): New function.
49119 (grub_rescue_cmd_ls): Use grub_device_iterate with
49120 grub_rescue_print_devices instead of grub_disk_dev_iterate with
49121 grub_rescue_print_disks.
49122
49123 * kern/partition.c (grub_partition_iterate): Return the result of
49124 PARTMAP->ITERATE instead of GRUB_ERRNO.
49125
49126 * kern/device.c: Include grub/partition.h.
49127 (grub_device_iterate): New function.
49128
49129 * include/grub/partition.h (grub_partition_iterate): Return int
49130 instead of grub_err_t.
49131
49132 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
49133 prototype.
49134 [GRUB_UTIL] (grub_search_fini): Likewise.
49135
49136 * include/grub/device.h (grub_device_iterate): New prototype.
49137
49138 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
49139 commands/search.c.
49140 (pkgdata_MODULES): Added search.mod.
49141 (search_mod_SOURCES): New variable.
49142 (search_mod_CFLAGS): Likewise.
49143
49144 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
49145 (pkgdata_MODULES): Added search.mod.
49146 (search_mod_SOURCES): New variable.
49147 (search_mod_CFLAGS): Likewise.
49148
49149 * commands/ls.c (grub_ls_list_disks): Renamed to ...
49150 (grub_ls_list_devices): ... this, and use grub_device_iterate.
49151 All callers changed.
49152
49153 * DISTLIST: Added commands/search.c.
49154
49155 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49156
49157 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
49158 conversion.
49159 (grub_getcharwidth): New function.
49160
49161 * kern/misc.c (grub_utf8_to_ucs4): New function.
49162
49163 * include/grub/term.h (struct grub_term): Added a new member
49164 "getcharwidth".
49165 (grub_getcharwidth): New prototype.
49166
49167 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
49168
49169 * term/i386/pc/console.c (map_char): New function. Segregated from
49170 grub_console_putchar.
49171 (grub_console_putchar): Use map_char.
49172 (grub_console_getcharwidth): New function.
49173 (grub_console_term): Specified grub_console_getcharwidth as
49174 getcharwidth.
49175
49176 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
49177 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
49178
49179 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
49180 GRUB_ERRNO.
49181 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
49182 on grub_strtoul completely.
49183 (write_char): Declare local variables in the beginning of the
49184 function.
49185 (grub_vesafb_getcharwidth): New function.
49186 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
49187 getcharwidth.
49188
49189 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
49190
49191 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
49192 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
49193 commands/i386/pc/vbetest.c.
49194
49195 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
49196 call grub_vbe_get_controller_info again, because the returned
49197 information is volatile.
49198 (grub_vbe_set_video_mode): Mostly rewritten.
49199 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
49200 grub_vbe_status_t correctly.
49201 (grub_vbe_get_video_mode_info): Likewise.
49202 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
49203 several if statements.
49204
49205 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
49206 * commands/i386/pc/vbeinfo.c: ... this.
49207
49208 * commands/i386/pc/vbe_test.c: Renamed to ...
49209 * commands/i386/pc/vbetest.c: ... this.
49210
49211 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
49212 ...
49213 (grub_cmd_vbeinfo): ... this. Save video modes before
49214 iterating. Skip a video mode, if it is not available, not enough
49215 information is given or it is monochrome. Show the memory
49216 model. Leave the interpretation of MODEVAR to grub_strtoul
49217 completely.
49218 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
49219 (GRUB_MOD_FINI): Likewise.
49220
49221 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
49222 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
49223 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
49224 duplicated grub_env_get. Leave the interpretation of MODEVAR to
49225 grub_strtoul completely.
49226 (real2pm): Removed.
49227 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
49228 (GRUB_MOD_FINI): Likewise.
49229
49230 * normal/misc.c: Include grub/mm.h.
49231
49232 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
49233 vbe_list_modes with vbetest.mod and vbeinfo.mod.
49234 (vbe_list_modes_mod_SOURCES): Removed.
49235 (vbe_list_modes_mod_CFLAGS): Likewise.
49236 (vbe_test_mod_SOURCES): Likewise.
49237 (vbe_test_mod_CFLAGS): Likewise.
49238 (vbeinfo_mod_SOURCES): New variable.
49239 (vbeinfo_mod_CFLAGS): Likewise.
49240 (vbetest_mod_SOURCES): Likewise.
49241 (vbetest_mod_CFLAGS): Likewise.
49242
49243 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
49244
49245 * normal/misc.c: New file.
49246
49247 * DISTLIST: Added normal/misc.c.
49248
49249 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
49250 DISK to HOOK. Call HOOK with DISK.
49251 * partmap/apple.c (apple_partition_map_iterate): Likewise.
49252 * partmap/pc.c (pc_partition_map_iterate): Likewise.
49253 * partmap/sun.c (sun_partition_map_iterate): Likewise.
49254
49255 * normal/menu_entry.c (struct screen): Added a new member
49256 "completion_shown".
49257 (completion_buffer): New global variable.
49258 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
49259 (store_completion): New function.
49260 (complete): Likewise.
49261 (clear_completions): Likewise.
49262 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
49263 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
49264 a tab, call complete.
49265
49266 * normal/completion.c (disk_dev): Removed.
49267 (print_simple_completion): Likewise.
49268 (print_partition_completion): Likewise.
49269 (print_func): New global variable.
49270 (add_completion): Do not take the arguments WHAT or PRINT any
49271 longer. Added a new argument TYPE. Instead of printing directly,
49272 call PRINT_FUNC if not NULL.
49273 All callers changed.
49274 (complete_device): Use a local variable DEV instead of
49275 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
49276 (grub_normal_do_completion): Take a new argument HOOK. Do not
49277 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
49278 empty string, return NULL instead.
49279 All callers changed.
49280
49281 * normal/cmdline.c (print_completion): New function.
49282
49283 * kern/partition.c (grub_partition_iterate): Add an argument DISK
49284 to HOOK.
49285 All callers changed.
49286
49287 * kern/disk.c (grub_print_partinfo): Removed.
49288
49289 * include/grub/partition.h (struct grub_partition_map): Add a new
49290 argument DISK into HOOK of ITERATE.
49291 (grub_partition_iterate): Add a new argument DISK to HOOK.
49292
49293 * include/grub/normal.h (enum grub_completion_type): New enum.
49294 (grub_completion_type_t): New type.
49295 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
49296 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
49297 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
49298 (GRUB_COMPLETION_TYPE_FILE): Likewise.
49299 (grub_normal_do_completion): Added a new argument HOOK.
49300 (grub_normal_print_device_info): New prototype.
49301
49302 * include/grub/disk.h (grub_print_partinfo): Removed.
49303
49304 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
49305 (normal_mod_SOURCES): Likewise.
49306 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49307 (normal_mod_SOURCES): Likewise.
49308
49309 * commands/ls.c (grub_ls_list_disks): Use
49310 grub_normal_print_device_info instead of grub_print_partinfo. Free
49311 PNAME.
49312 (grub_ls_list_files): Use grub_normal_print_device_info instead of
49313 duplicating the code.
49314
49315 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
49316
49317 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
49318 follow GCS more precisely.
49319 * commands/i386/pc/vbe_test.c: Likewise.
49320 * include/grub/i386/pc/vbe.h: Likewise.
49321 * term/i386/pc/vesafb.c: Likewise.
49322 * video/i386/pc/vbe.c: Likewise.
49323
49324 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
49325
49326 * DISTLIST: Added term/i386/pc/vesafb.c
49327 DISTLIST: Added video/i386/pc/vbe.c
49328 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
49329 DISTLIST: Added commands/i386/pc/vbe_test.c.
49330 * commands/i386/pc/vbe_list_modes.c: New file.
49331 * commands/i386/pc/vbe_test.c: Likewise.
49332 * term/i386/pc/vesafb.c: Likewise.
49333 * video/i386/pc/vbe.c: Likewise.
49334 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
49335 (grub_vbe_probe) Added prototype.
49336 (grub_vbe_set_video_mode) Likewise.
49337 (grub_vbe_get_video_mode) Likewise.
49338 (grub_vbe_get_video_mode_info) Likewise.
49339 (grub_vbe_set_pixel_rgb) Likewise.
49340 (grub_vbe_set_pixel_index) Likewise.
49341 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
49342 (pkgdata_MODULES): Added vesafb.mod.
49343 (pkgdata_MODULES): Added vbe_list_modes.mod.
49344 (pkgdata_MODULES): Added vbe_test.mod.
49345 (vbe_mod_SOURCES): Added.
49346 (vbe_mod_CFLAGS): Likewise.
49347 (vesafb_mod_SOURCES): Likewise.
49348 (vesafb_mod_CFLAGS): Likewise.
49349 (vbe_list_modes_mod_SOURCES): Likewise.
49350 (vbe_list_modes_mod_CFLAGS): Likewise.
49351 (vbe_test_mod_SOURCES): Likewise.
49352 (vbe_test_mod_CFLAGS): Likewise.
49353
49354 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
49355
49356 * normal/command.c (grub_command_execute): If INTERACTIVE is
49357 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
49358 CMDLINE. Disable the pager if INTERACTIVE is true.
49359 All callers are changed.
49360
49361 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
49362 before reading a config file.
49363 * normal/main.c (read_config_file): Even if a command is not
49364 found, register it if it is within an entry.
49365
49366 * util/grub-emu.c: Include sys/types.h and unistd.h.
49367 (options): Added --hold.
49368 (struct arguments): Added a new member "hold".
49369 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
49370 missing.
49371 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
49372 cleared by a debugger, if it is not zero.
49373
49374 * include/grub/normal.h (grub_command_execute): Add an argument
49375 INTERACTIVE.
49376
49377 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
49378
49379 * DISTLIST: Added include/grub/i386/pc/vbe.h.
49380
49381 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
49382
49383 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
49384 program with another one, because the old one didn't detect a bug
49385 in gcc-3.4. Always use regparm 2, because the new test is still
49386 not enough for gcc-4.0. Someone must investigate a simple test
49387 case which detects a bug in gcc-4.0.
49388
49389 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
49390
49391 * DISTLIST: Added normal/completion.c.
49392
49393 * normal/completion.c: New file.
49394
49395 * term/i386/pc/console.c (grub_console_getwh): New function.
49396 (grub_console_term): Assign grub_console_getwh to getwh.
49397
49398 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
49399 function is defined in normal/completion.c as
49400 grub_normal_do_completion.
49401 (grub_cmdline_get): Use grub_normal_do_completion instead of
49402 grub_tab_complete.
49403
49404 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
49405 returns non-zero, otherwise return 0.
49406 (grub_partition_iterate): First, probe the partition map. Then,
49407 call ITERATE only for this partition map.
49408
49409 * kern/misc.c (grub_strncmp): Rewritten.
49410
49411 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
49412 returns non-zero. Otherwise return 0.
49413
49414 * include/grub/partition.h (grub_partition_map_iterate): Return
49415 int instead of void.
49416
49417 * include/grub/normal.h (grub_normal_do_completion): New prototype.
49418
49419 * include/grub/misc.h (grub_strncmp): Change the type of N to
49420 grub_size_t.
49421
49422 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
49423 of void.
49424
49425 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
49426 unsigned explicitly before comparing it with I.
49427
49428 * kern/main.c (grub_env_write_root): Add the attribute unused into
49429 VAR.
49430
49431 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
49432 normal/completion.c.
49433 (normal_mod_SOURCES): Likewise.
49434 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
49435 (normal_mod_SOURCES): Likewise.
49436
49437 * normal/command.c (grub_iterate_commands): If ITERATE returns
49438 non-zero, return one immediately.
49439
49440 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
49441
49442 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
49443 * kern/i386/pc/startup.S: Updated Global Descriptor table's
49444 descriptions.
49445 (grub_vbe_get_controller_info): New function.
49446 (grub_vbe_get_mode_info): Likewise.
49447 (grub_vbe_set_mode): Likewise.
49448 (grub_vbe_get_mode): Likewise.
49449 (grub_vbe_set_memory_window): Likewise.
49450 (grub_vbe_get_memory_window): Likewise.
49451 (grub_vbe_set_scanline_length): Likewise.
49452 (grub_vbe_get_scanline_length): Likewise.
49453 (grub_vbe_set_display_start): Likewise.
49454 (grub_vbe_get_display_start): Likewise.
49455 (grub_vbe_set_palette_data): Likewise.
49456 * include/grub/i386/pc/vbe.h: New file.
49457
49458 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
49459
49460 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
49461 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
49462 * DISTLIST: Likewise.
49463 * kern/ieee1275/of.c: Moved to ...
49464 * kern/ieee1275/ieee1275.c: ... here.
49465
49466 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
49467
49468 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
49469 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
49470 Pass 0 as `end' parameter to grub_strtoul().
49471
49472 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
49473
49474 * include/grub/powerpc/ieee1275/console.h: Do not include
49475 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
49476 ifdef.
49477 (grub_console_cur_color): Remove i386-specific prototype.
49478 (grub_console_real_putchar): Likewise.
49479 (grub_console_checkkey): Likewise.
49480 (grub_console_getkey): Likewise.
49481 (grub_console_getxy): Likewise.
49482 (grub_console_gotoxy): Likewise.
49483 (grub_console_cls): Likewise.
49484 (grub_console_setcursor): Likewise.
49485 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
49486 Include <grub/machine/console.h>.
49487 * term/ieee1275/ofconsole.c: Likewise.
49488
49489 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
49490
49491 * Makefile.in (LIBLZO): New variable.
49492
49493 * configure.ac: Check for LZO version 2.
49494
49495 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
49496 lzo/lzo1x.h instead of lzo1x.h.
49497
49498 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
49499 of -llzo.
49500
49501 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
49502 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
49503
49504 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
49505 copying the data from PARTITION to P.
49506
49507 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
49508
49509 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
49510 negative, unload the module.
49511
49512 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
49513 map is "pc_partition_map" but not "pc".
49514 (usage): Fix the description. The options are --boot-image and
49515 --core-image but not --boot-file or --core-file.
49516 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
49517 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
49518 DEFAULT_DIRECTORY.
49519
49520 * util/i386/pc/grub-install.in: Do not specify --boot-file or
49521 --core-file. Specify INSTALL_DEVICE as an argument.
49522
49523 * util/console.c: Include config.h.
49524 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
49525 [HAVE_NCURSES_H]: Include ncurses.h.
49526 [HAVE_CURSES_H]: Include curses.h.
49527 [!A_NORMAL] (A_NORMAL): Defined as zero.
49528 [!A_STANDOUT] (A_STANDOUT): Likewise.
49529
49530 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
49531 -lncurses.
49532 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
49533
49534 * configure.ac: Check for curses libraries and headers.
49535
49536 * Makefile.in (LIBCURSES): New variable.
49537
49538 * genmk.rb (Script::rule): Set the executable bits.
49539
49540 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
49541 name of the PC partition map is "pc_partition_map" but not "pc".
49542
49543 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
49544
49545 * util/i386/pc/grub-install.in (grub_probefs): New variable.
49546 (modules): Likewise.
49547 (usage): Added descriptions for --modules and --grub-probefs.
49548 Handle --modules and --grub-probefs. Save the arguments in MODULES
49549 and GRUB_PROBEFS, respectively.
49550 Auto-detect a filesystem module against GRUBDIR. If the result is
49551 empty and modules are not specified explicitly, abort the
49552 installation. Add the result to MODULES.
49553
49554 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
49555 disk/powerpc/ieee1275/ofdisk.c,
49556 include/grub/powerpc/ieee1275/init.h and
49557 term/powerpc/ieee1275/ofconsole.c.
49558 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
49559 term/ieee1275/ofconsole.c.
49560
49561 * include/grub/powerpc/ieee1275/console.h: Resurrected.
49562
49563 * COPYING: Upgraded to the latest version. Only the address of the
49564 FSF office has changed.
49565
49566 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
49567
49568 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
49569 kern/ieee1275.c with kern/ieee1275/of.c.
49570
49571 * kern/ieee1275.c: Moved to ...
49572 * kern/ieee1275/of.c: ... here.
49573
49574 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
49575
49576 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
49577 readability.
49578
49579 * config.guess: Updated to the latest version from gnulib.
49580 * config.sub: Likewise.
49581 * install.sh: Likewise.
49582 * mkinstalldirs: Likewise.
49583
49584 * include/grub/console.h: Removed. This file is arch-specific. Do
49585 not put this in include/grub.
49586
49587 * include/grub/i386/pc/console.h: Resurrected.
49588
49589 * util/console.c: Include grub/machine/console.h instead of
49590 grub/console.h.
49591 * util/grub-emu.c: Likewise.
49592
49593 2005-08-04 Marco Gerards <metgerards@student.han.nl>
49594
49595 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
49596 hardcoded value.
49597
49598 From Vincent Pelletier <subdino2004@yahoo.fr>
49599 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
49600 Redefined to use grub_getwh.
49601 (grub_term): New member named getwh.
49602 (grub_getwh): New prototype.
49603 * kern/term.c (grub_getwh): New function.
49604 * term/i386/pc/console.c (grub_console_getwh): New function.
49605 (grub_console_term): New member `getwh'.
49606 * term/i386/pc/vga.c (grub_vga_getwh): New function.
49607 (grub_vga_term): New member `getwh'.
49608 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
49609 grub_ssize_t.
49610 (grub_ofconsole_getw): New function.
49611 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
49612 (grub_ofconsole_term): New field named getwh and new initial
49613 value.
49614
49615 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
49616
49617 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
49618 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
49619 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
49620 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
49621 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
49622 of <grub/machine/ieee1275.h>.
49623 * commands/ieee1275/reboot.c: Likewise.
49624 * boot/powerpc/ieee1275/ieee1275.c: Move ...
49625 * kern/ieee1275.c: ... to here. All users updated. Change all
49626 parameter structs to use new type `grub_ieee1275_cell_t'.
49627 * term/powerpc/ieee1275/ofconsole.c: Move ...
49628 * term/ieee1275/ofconsole.c: ... to here. All users updated.
49629 * disk/powerpc/ieee1275/ofdisk.c: Move ...
49630 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
49631 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
49632 to return int.
49633 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
49634 Remove unused prototypes. All users updated.
49635 * include/grub/powerpc/ieee1275/console.h: Removed.
49636 * include/grub/powerpc/ieee1275/ieee1275.h: Define
49637 `grub_ieee1275_cell_t'.
49638 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
49639 Cast comparisons with -1 to the correct type.
49640 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
49641 type to match `grub_ieee1275_entry_fn'.
49642
49643 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
49644
49645 * DISTLIST: Added util/i386/pc/grub-probefs.c.
49646
49647 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
49648 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
49649 partmap/sun.c.
49650 (grub_probefs_SOURCES): New variable.
49651
49652 * util/i386/pc/grub-probefs.c: New file.
49653
49654 * util/i386/pc/grub-setup.c (main): Call
49655 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
49656 grub_hfs_init and grub_jfs_init to initialize the system. Call
49657 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
49658 grub_pc_partition_map_fini to finish the system.
49659
49660 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
49661
49662 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
49663 function.
49664 (grub_multiboot_load_elf32): Likewise.
49665 (grub_multiboot_is_elf64): Likewise.
49666 (grub_multiboot_load_elf64): Likewise.
49667 (grub_multiboot_load_elf): Likewise.
49668 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
49669 an ELF32 or ELF64 file.
49670 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
49671
49672 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
49673 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
49674 NULL before calling FS->LABEL.
49675 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
49676 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
49677 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
49678 before calling FS->LABEL.
49679
49680 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
49681
49682 * util/i386/pc/grub-install.in (datadir): New variable.
49683 (libdir): Removed.
49684 (pkgdatadir): New variable.
49685 (pkglibdir): Removed.
49686
49687 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
49688
49689 * DISTLIST: Added util/i386/pc/grub-install.in.
49690
49691 * util/i386/pc/grub-install.in: New file.
49692
49693 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
49694 (grub_install_SOURCES): Likewise.
49695
49696 * genmk.rb: Added support for scripts.
49697 (Script): New class.
49698 (scripts): New variable.
49699
49700 * Makefile.in (install-local): Install sbin_SCRIPTS by
49701 INSTALL_SCRIPT.
49702 (uninstall): Remove sbin_SCRIPTS.
49703
49704 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
49705 device, try to get a GRUB device by
49706 grub_util_biosdisk_get_grub_dev.
49707 Free DEST_DEV.
49708
49709 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
49710 description for --device-map.
49711
49712 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
49713
49714 Change the semantics of variable hooks. They now return strings
49715 instead of error values.
49716
49717 * util/i386/pc/grub-setup.c: Include grub/env.h.
49718 (setup): Use grub_device_set_root instead of grub_env_set.
49719
49720 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
49721 grub_env_get instead of grub_device_set_root and
49722 grub_device_get_root, respectively.
49723
49724 * kern/main.c (grub_env_write_root): New function.
49725 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
49726 grub_env_set instead of grub_device_set_root.
49727
49728 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
49729 many variables.
49730 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
49731 rather than calling ENV->WRITE_HOOK afterwards.
49732 (grub_env_get): Return the result of ENV->READ_HOOK rather than
49733 passing a pointer of a pointer.
49734 (grub_register_variable_hook): Change the types of "read_hook" and
49735 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
49736 respectively.
49737 Allocate the default empty string on the heap, because this string
49738 may be freed later.
49739
49740 * kern/device.c: Include grub/env.h.
49741 (grub_device_set_root): Removed.
49742 (grub_device_get_root): Likewise.
49743 (grub_device_open): Use grub_env_get instead of
49744 grub_device_get_root.
49745
49746 * include/grub/env.h (grub_env_read_hook_t): New type.
49747 (grub_env_write_hook_t): Likewise.
49748 (grub_env_var): Change the types of "read_hook" and "write_hook"
49749 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
49750 (grub_register_variable_hook): Likewise.
49751
49752 * include/grub/device.h (grub_device_set_root): Removed.
49753 (grub_device_set_root): Likewise.
49754
49755 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
49756 make sure that DIRNAME terminates with '/', so that
49757 grub_fat_find_dir will fail if PATH is not a directory.
49758
49759 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
49760 from DIRNAME.
49761 Use the qualifier auto for print_files and print_files_long.
49762 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
49763 as a regular file.
49764 Put a newline only if there is no error.
49765 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
49766 used.
49767
49768 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
49769
49770 * kern/partition.c (grub_partition_probe): Initialize PART to
49771 NULL. Otherwise, when no partition map is registered, this returns
49772 a garbage.
49773
49774 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
49775
49776 * partmap/apple.c (apple_partition_map_iterate): Check if POS
49777 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
49778 valid.
49779
49780 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
49781
49782 * commands/ls.c (grub_ls_list_disks): Print the filesystem
49783 information on each device, if it does not have partitions. Print
49784 "Device" instead of "Disk", because this function is not specific
49785 to disk devices.
49786
49787 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
49788 static to ensure that it is put on the memory rather than a
49789 register.
49790
49791 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
49792
49793 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
49794 (grub_cat_init): Likewise.
49795 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
49796 (options): Likewise.
49797 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
49798 (grub_configfile_init): Likewise.
49799 * font/manager.c (GRUB_MOD_INIT): Likewise.
49800 * commands/help.c (GRUB_MOD_INIT): Likewise.
49801 (grub_help_init): Likewise.
49802 * normal/command.c (grub_command_init): Likewise.
49803 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
49804 * disk/loopback.c (grub_loop_init): Likewise.
49805 (GRUB_MOD_INIT): Likewise.
49806 * commands/ls.c (grub_ls_init): Likewise.
49807 (GRUB_MOD_INIT): Likewise.
49808 (options): Likewise.
49809 * commands/boot.c (grub_boot_init): Likewise.
49810 (GRUB_MOD_INIT): Likewise.
49811 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
49812 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
49813 (GRUB_MOD_INIT): Likewise.
49814 * commands/cmp.c (grub_cmp_init): Likewise.
49815 (GRUB_MOD_INIT): Likewise.
49816
49817 * normal/arg.c: Use <> instead of "" to include header files.
49818 (SHORT_ARG_HELP): New macro.
49819 (SHORT_ARG_USAGE): Likewise.
49820 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
49821 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
49822 descriptions.
49823 (find_short): Check if C is 'h' or 'u' explicitly.
49824 (grub_arg_show_help): Use space characters instead of tabs. Treat
49825 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
49826 are shown with --help and --usage only if they are not used for
49827 the command itself.
49828 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
49829 'h' and 'u'.
49830
49831 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
49832 const into "longarg". Change the type of "shortarg" to int.
49833
49834 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
49835
49836 * boot/i386/pc/boot.S (boot_drive_check): New label.
49837
49838 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
49839 macro.
49840
49841 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
49842 which do not pass a boot drive correctly. Copied from GRUB Legacy.
49843
49844 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
49845
49846 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
49847 When turning off Gate A20, skip the check and return immediately,
49848 because this is not fatal usually.
49849
49850 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
49851
49852 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
49853 be 0x7C00 instead of 0x8000.
49854
49855 * boot/i386/pc/pxeboot.S: Rewritten.
49856
49857 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
49858 EXT_C.
49859 (gate_a20_check_state): Read a byte from 0x108000. Invert the
49860 result.
49861
49862 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
49863
49864 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
49865 robustness. This routine now supports a BIOS call and System
49866 Control Port A to modify the gate A20.
49867
49868 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
49869 Increased to 0x440.
49870
49871 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
49872
49873 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
49874 device path and resulting ihandle.
49875 (grub_ofdisk_close): dprintf the ihandle being closed.
49876 (grub_ofdisk_read): dprintf function parameters.
49877 * kern/mm.c (grub_mm_init_region): Likewise.
49878 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
49879 (grub_linux_boot): dprintf the Linux entry point, initrd address and
49880 size, and boot arguments.
49881 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
49882 before loading into memory.
49883 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
49884 before loading into memory.
49885
49886 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
49887
49888 * kern/mm.c: Added much documentation.
49889 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
49890 8, set to 5 instead of 8.
49891
49892 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
49893
49894 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
49895
49896 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
49897 (grub_mkdevicemap_SOURCES): New variable.
49898
49899 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
49900 lib/device.c of GRUB Legacy.
49901
49902 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
49903
49904 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
49905 instead of PATH is NULL.
49906
49907 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
49908
49909 * commands/cmp.c (BUFFER_SIZE): New macro.
49910 (grub_cmd_cmp): Close the right file at the right time. Compare
49911 only data just read. Don't report files of different size as
49912 identical. Dynamically allocate buffers. Move variable
49913 declarations at the beginning of function.
49914
49915 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
49916
49917 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
49918 reverse.
49919
49920 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
49921
49922 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
49923 when backspace is pressed at beginning of line.
49924
49925 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
49926
49927 * DISTLIST: Added genfslist.sh.
49928
49929 * normal/main.c (fs_module_list): New variable.
49930 (autoload_fs_module): New function.
49931 (read_fs_list): Likewise.
49932 (grub_normal_execute): Call read_fs_list.
49933
49934 * kern/fs.c (grub_fs_autoload_hook): New variable.
49935 (grub_fs_probe): Added support for auto-loading.
49936
49937 * include/grub/normal.h (struct grub_fs_module_list): New struct.
49938 (grub_fs_module_list_t): New type.
49939
49940 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
49941 (grub_fs_autoload_hook): New prototype.
49942
49943 * genfslist.sh: New file.
49944
49945 * genmk.rb: Added a rule to generate a filesystem list.
49946
49947 2005-06-30 Marco Gerards <metgerards@student.han.nl>
49948
49949 * configure.ac: Fix the test for cross-compiling.
49950
49951 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
49952 define GRUB_UTIL anymore.
49953
49954 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
49955 so this function works on other systems than just big endian.
49956 (load_modules): Likewise.
49957 (add_segments): Likewise.
49958
49959 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
49960
49961 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
49962 contains `l' modifier, get a long from va_arg().
49963
49964 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
49965
49966 * kern/mm.c (grub_free): If the next free block which is being
49967 merged is the first free block, set the first block to the block
49968 being freed.
49969 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
49970
49971 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
49972
49973 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
49974 `grub_ieee1275_chosen'.
49975
49976 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
49977
49978 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
49979 (grub_ieee1275_chosen): New variable.
49980 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
49981 `chosen'.
49982 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
49983 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
49984 Rename first argument to `phandle' for consistency.
49985 (grub_ieee1275_get_property_length): Likewise.
49986 (grub_ieee1275_next_property): Likewise. Change type of first argument
49987 to grub_ieee1275_phandle_t.
49988 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
49989 Move export next to declaration.
49990 (grub_ieee1275_chosen): New variable.
49991 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
49992 Correct cosmetic typo.
49993 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
49994 `grub_ieee1275_chosen'.
49995 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
49996 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
49997 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
49998 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
49999 `grub_ieee1275_chosen'.
50000
50001 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
50002
50003 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
50004 /chosen/bootargs.
50005 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
50006 /chosen/bootargs as "variable=value" pairs.
50007
50008 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
50009
50010 * include/grub/misc.h (grub_dprintf): New macro.
50011 (grub_real_dprintf): New prototype.
50012 (grub_strword): Likewise.
50013 (grub_iswordseparator): Likewise.
50014 * kern/misc.c (grub_real_dprintf): New function.
50015 (grub_strword): Likewise.
50016 (grub_iswordseparator): Likewise.
50017
50018 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
50019
50020 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
50021 (roundup): Remove macro.
50022 (grub_ieee1275_flags): Make static.
50023 (grub_ieee1275_realmode): Remove.
50024 (grub_ieee1275_test_flag): New function.
50025 (grub_ieee1275_set_flag): Likewise.
50026 (find_options): Rename to `grub_ieee1275_find_options'; update
50027 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
50028 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
50029 (cmain): New prototype.
50030 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
50031 `grub_ieee1275_flags' directly.
50032 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
50033 machine/biosdisk.h.
50034 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
50035 Don't include grub/machine/init.h.
50036 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
50037 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
50038 Remove prototype.
50039 (grub_ieee1275_realmode): Likewise.
50040 (grub_ieee1275_flag): New enum.
50041 (grub_ieee1275_test_flag): New prototype.
50042 (grub_ieee1275_set_flag): New prototype.
50043 * include/grub/powerpc/ieee1275/init.h: Remove file.
50044 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
50045 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
50046 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
50047 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
50048 comment.
50049 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
50050 `grub_ieee1275_test_flag'.
50051 (grub_ieee1275_encode_devname): Likewise.
50052
50053 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
50054
50055 * include/grub/powerpc/ieee1275/ieee1275.h
50056 (grub_ieee1275_encode_devname): New prototype.
50057 (grub_ieee1275_get_filename): Likewise.
50058 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
50059 function.
50060 (grub_set_prefix): Likewise.
50061 (grub_machine_init): Call grub_set_prefix.
50062 * kern/powerpc/ieee1275/openfw.c: Fix typos.
50063 (grub_parse_type): New enum.
50064 (grub_ieee1275_get_devargs): New function.
50065 (grub_ieee1275_get_devname): Likewise.
50066 (grub_ieee1275_parse_args): Likewise.
50067 (grub_ieee1275_get_filename): Likewise.
50068 (grub_ieee1275_encode_devname): Likewise.
50069
50070 2005-03-30 Marco Gerards <metgerards@student.han.nl>
50071
50072 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
50073 `grub_loader_unset'.
50074
50075 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
50076
50077 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
50078 instead of grub_ieee1275_interpret.
50079 (grub_halt_init): New function.
50080 (grub_halt_fini): Likewise.
50081 (GRUB_MOD_INIT): Correct message grammar.
50082 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
50083 instead of grub_ieee1275_interpret.
50084 (grub_reboot_init): New function.
50085 (grub_reboot_fini): Likewise.
50086 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
50087 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
50088 util/i386/pc/misc.c with commands/ieee1275/halt.c,
50089 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
50090 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
50091 function.
50092 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
50093 Add prototype.
50094 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
50095 prototype.
50096 (grub_halt): Likewise.
50097 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
50098 (cmain): Remove __attribute__((unused)).
50099 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
50100 (grub_heap_len): Likewise.
50101 (grub_machine_fini): New function.
50102 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
50103 (grub_halt): Likewise.
50104 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
50105 function.
50106 * util/powerpc/ieee1275/misc.c: New file.
50107
50108 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
50109
50110 * DISTLIST: New file.
50111 * gendistlist.sh: Likewise.
50112
50113 * Makefile.in (COMMON_DISTFILES): Removed.
50114 (BOOT_DISTFILES): Likewise.
50115 (CONF_DISTFILES): Likewise.
50116 (DISK_DISTFILES): Likewise.
50117 (FS_DISTFILES): Likewise.
50118 (INCLUDE_DISTFILES): Likewise.
50119 (KERN_DISTFILES): Likewise.
50120 (LOADER_DISTFILES): Likewise.
50121 (TERM_DISTFILES): Likewise.
50122 (UTIL_DISTFILES): Likewise.
50123 (DISTFILES): Likewise.
50124 (uninstall): Uninstall files in $(pkgdata_DATA).
50125 (DISTLIST): New target.
50126 (distdir): Use the contents of the file DISTLIST to get a list of
50127 distributed files.
50128
50129 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
50130
50131 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
50132 descriptor. This is ported from GRUB Legacy.
50133
50134 * gencmdlist.sh: Added an extra semicolon to make it work with
50135 old sed versions. Reported by Robert Bihlmeyer
50136 <robbe@orcus.priv.at>.
50137
50138 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
50139
50140 Automatic loading of commands is supported.
50141
50142 * normal/main.c (read_command_list): New function.
50143 (grub_normal_execute): Call read_command_list.
50144
50145 * normal/command.c (grub_register_command): Return zero or CMD.
50146 Allocate CMD->NAME from the heap.
50147 Initialize CMD->MODULE_NAME to zero.
50148 Find the same name as well. If the same command is found and it is
50149 a dummy command, overwrite members. If it is not a dummy command,
50150 return zero.
50151 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
50152 (grub_command_find): If a dummy command is found, load a module
50153 and retry to find a command only once.
50154
50155 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
50156 make sure that each command is loaded.
50157
50158 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
50159 macro.
50160 (struct grub_command): Remove const from the member `name'.
50161 Add a new member `module_name'.
50162 (grub_register_command): Return grub_command_t.
50163
50164 * commands/help.c (grub_cmd_help): Call grub_command_find to make
50165 sure that each command is loaded.
50166
50167 * genmk.rb (PModule::rule): Specify a module name without the
50168 suffix ".mod" to gencmdlist.sh.
50169
50170 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
50171
50172 * gencmdlist.sh: New file.
50173
50174 * genmk.rb (PModule::rule): Generate a rule for a command list.
50175 Clean command.lst.
50176 Generate command.lst from $(COMMANDFILES).
50177
50178 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
50179 (DATA): Added $(pkgdata_DATA).
50180 (install-local): Install files in $(pkgdata_DATA).
50181
50182 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
50183
50184 * term/i386/pc/vga.c (debug_command): Removed.
50185 (GRUB_MOD_INIT): Do not register the command "debug".
50186
50187 From Hollis Blanchard:
50188 * commands/configfile.c: New file.
50189 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
50190 commands/configfile.c.
50191 (pkgdata_MODULES): Added configfile.mod.
50192 (configfile_mod_SOURCES): New variable.
50193 (configfile_mod_CFLAGS): Likewise.
50194 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50195 commands/configfile.c.
50196 (pkgdata_MODULES): Added configfile.mod.
50197 (configfile_mod_SOURCES): New variable.
50198 (configfile_mod_CFLAGS): Likewise.
50199 * util/grub-emu.c (main): Call grub_configfile_init and
50200 grub_configfile_fini.
50201 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
50202 prototype.
50203 [GRUB_UTIL] (grub_configfile_fini): Likewise.
50204
50205 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
50206
50207 * normal/arg.c (grub_arg_show_help): Do not show the bug report
50208 address.
50209
50210 * commands/help.c (grub_cmd_help): Do not print newlines after
50211 the last command in print_command_help.
50212
50213 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
50214
50215 * commands/default.h: New file.
50216 * commands/timeout.h: Likewise.
50217 * normal/context.c: Likewise.
50218
50219 * util/misc.c: Do not include sys/times.h.
50220 Include sys/time.h and grub/machine/time.h.
50221 (grub_get_rtc): Rewritten with gettimeofday.
50222
50223 * util/grub-emu.c (main): Call grub_default_init and
50224 grub_timeout_init before grub_normal_init, and call
50225 grub_timeout_fini and grub_default_fini after grub_main.
50226
50227 * util/console.c (grub_ncurses_checkkey): Return the read
50228 character or -1.
50229
50230 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
50231 timeouts.
50232
50233 * normal/main.c (read_config_file): Push MENU. If this fails,
50234 print an error and wait for a user input.
50235 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
50236 If a menu is empty or an error occurs, pop MENU.
50237 (grub_normal_execute): Pop and free MENU after grub_menu_run
50238 returns.
50239
50240 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
50241
50242 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
50243 include time.h.
50244 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
50245 without GRUB_UTIL.
50246 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
50247 time.h.
50248 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
50249 without GRUB_UTIL.
50250
50251 * include/grub/normal.h (struct grub_menu_list): New struct.
50252 (grub_menu_list_t): New type.
50253 (struct grub_context): New struct.
50254 (grub_context_t): New type.
50255 (grub_register_command): Got rid of EXPORT_FUNC.
50256 (grub_unregister_command): Likewise.
50257 (grub_context_get): New prototype.
50258 (grub_context_get_current_menu): Likewise.
50259 (grub_context_push_menu): Likewise.
50260 (grub_context_pop_menu): Likewise.
50261 [GRUB_UTIL] (grub_default_init): Likewise.
50262 [GRUB_UTIL] (grub_default_fini): Likewise.
50263 [GRUB_UTIL] (grub_timeout_init): Likewise.
50264 [GRUB_UTIL] (grub_timeout_fini): Likewise.
50265
50266 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
50267 commands/timeout.c and normal/context.c.
50268 (pkgdata_MODULES): Added default.mod and timeout.mod.
50269 (normal_mod_SOURCES): Added normal/context.c.
50270 (default_mod_SOURCES): New variable.
50271 (default_mod_CFLAGS): Likewise.
50272 (timeout_mod_SOURCES): Likewise.
50273 (timeout_mod_CFLAGS): Likewise.
50274 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
50275 conf/i386-pc.rmk.
50276 (pkgdata_MODULES): Added default.mod and timeout.mod.
50277 (normal_mod_SOURCES): Added normal/context.c.
50278 (default_mod_SOURCES): New variable.
50279 (default_mod_CFLAGS): Likewise.
50280 (timeout_mod_SOURCES): Likewise.
50281 (timeout_mod_CFLAGS): Likewise.
50282
50283 * Makefile.in (all-local): Added $(MKFILES).
50284
50285 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
50286
50287 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
50288 (grub_emu_SOURCES): Likewise.
50289 (pkgdata_MODULES): Add `sun.mod'.
50290 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
50291 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50292 `partmap/sun.c'.
50293 (pkgdata_MODULES): Add `sun.mod'.
50294 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
50295 * include/grub/partition.h (grub_sun_partition_map_init): New
50296 prototype.
50297 (grub_sun_partition_map_fini): Likewise.
50298 * partmap/sun.c: New file.
50299 * util/grub-emu.c (main): Initialize and de-initialize the sun
50300 partitionmap support.
50301
50302 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
50303
50304 This implements an Emacs-like menu entry editor.
50305
50306 * normal/menu_entry.c: New file.
50307
50308 * util/console.c (grub_ncurses_putchar): Translate some Unicode
50309 characters to ASCII.
50310 (saved_char): New variable.
50311 (grub_ncurses_checkkey): Rewritten completely.
50312 (grub_ncurses_getkey): Likewise.
50313 (grub_ncurses_init): Call raw instead of cbreak.
50314
50315 * normal/menu.c (print_entry): Do not put a space.
50316 (init_page): Renamed to ...
50317 (grub_menu_init_page): ... this. All callers changed.
50318 (edit_menu_entry): Removed.
50319 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
50320
50321 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
50322
50323 * kern/misc.c (grub_vprintf): Call grub_refresh.
50324
50325 * normal/menu.c (DISP_LEFT): Renamed to ...
50326 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
50327 * normal/menu.c (DISP_UP): Renamed to ...
50328 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
50329 * normal/menu.c (DISP_RIGHT): Renamed to ...
50330 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
50331 * normal/menu.c (DISP_DOWN): Renamed to ...
50332 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
50333 * normal/menu.c (DISP_HLINE): Renamed to ...
50334 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
50335 * normal/menu.c (DISP_VLINE): Renamed to ...
50336 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
50337 * normal/menu.c (DISP_UL): Renamed to ...
50338 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
50339 * normal/menu.c (DISP_UR): Renamed to ...
50340 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
50341 * normal/menu.c (DISP_LL): Renamed to ...
50342 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
50343 * normal/menu.c (DISP_LR): Renamed to ...
50344 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
50345 * normal/menu.c (TERM_WIDTH): Renamed to ...
50346 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
50347 * normal/menu.c (TERM_HEIGHT): Renamed to ...
50348 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
50349 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
50350 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
50351 * normal/menu.c (TERM_MARGIN): Renamed to ...
50352 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
50353 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
50354 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
50355 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
50356 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
50357 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
50358 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
50359 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
50360 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
50361 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
50362 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
50363 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
50364 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
50365 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
50366 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
50367 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
50368 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
50369 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
50370 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
50371 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
50372 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
50373 All callers changed.
50374
50375 * include/grub/normal.h: New prototype.
50376
50377 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
50378 normal/menu_entry.c.
50379 (normal_mod_SOURCES): Likewise.
50380 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50381 (normal_mod_SOURCES): Likewise.
50382
50383 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
50384
50385 * include/grub/normal.h (grub_halt_init): New prototype.
50386 (grub_halt_fini): Likewise.
50387 (grub_reboot_init): Likewise.
50388 (grub_reboot_fini): Likewise.
50389
50390 * util/grub-emu.c: Include signal.h.
50391 (main_env): New global variable.
50392 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
50393 catch C-c.
50394 (grub_machine_fini): New function.
50395 (main): Call grub_halt_init and grub_reboot_init before
50396 grub_main, and grub_reboot_fini and grub_halt_fini after it.
50397 Call setjmp with MAIN_ENV to go back afterwards.
50398 Call grub_machine_fini right before return.
50399
50400 * include/grub/util/misc.h: Include setjmp.h.
50401 (main_env): New prototype.
50402
50403 * include/grub/kernel.h (grub_machine_fini): New prototype.
50404 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
50405 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
50406
50407 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
50408 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
50409 * term/i386/pc/console.c (grub_console_fini): Likewise.
50410
50411 * util/i386/pc/misc.c: New file.
50412
50413 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
50414 util/i386/pc/misc.c, commands/i386/pc/halt.c and
50415 commands/i386/pc/reboot.c.
50416
50417 2005-02-14 Guillem Jover <guillem@hadrons.org>
50418
50419 * include/grub/dl.h (grub_dl_check_header): New prototype.
50420 (grub_arch_dl_check_header): Change return type to grub_err_t,
50421 remove size parameter and export function. Update all callers.
50422 * kern/dl.c (grub_dl_check_header): New function.
50423 (grub_dl_load_core): Use `grub_dl_check_header' instead of
50424 `grub_arch_dl_check_header'. Check ELF type. Check if sections
50425 are inside the core.
50426 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
50427 independent ELF header checks.
50428 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
50429 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
50430 `grub_dl_check_header' instead of explicit checks. Check for the
50431 ELF type.
50432 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
50433 `grub_dl_check_header' instead of explicit checks. Remove arch
50434 specific ELF header checks.
50435
50436 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
50437 argument SIZE.
50438
50439 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
50440
50441 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
50442 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
50443
50444 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
50445
50446 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
50447 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
50448 (part_map_iterate): Clear `grub_errno' and return 0 if
50449 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
50450 * partmap/amiga.c (amiga_partition_map_iterate): Return
50451 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
50452 * partmap/apple.c (apple_partition_map_iterate): Likewise.
50453
50454 2005-02-01 Guillem Jover <guillem@hadrons.org>
50455
50456 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
50457 help info.
50458
50459 2005-01-31 Marco Gerards <metgerards@student.han.nl>
50460
50461 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
50462 Removed prototype.
50463 (grub_rescue_cmd_linux): New prototype.
50464 (grub_rescue_cmd_initrd): Likewise.
50465 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
50466 `bi_rec'.
50467 (grub_linux_release_mem): Release the memory for the initrd.
50468 (grub_load_linux): Renamed from this...
50469 (grub_rescue_cmd_linux): ...To this. Changed all callers.
50470 Changed `entry' not to be static. Loop over memory regions to
50471 find another one when the default fails.
50472 (grub_rescue_cmd_initrd): New function.
50473 (grub_linux_init): Remove function.
50474 (grub_linux_fini): Likewise.
50475 (GRUB_MOD_INIT): Register `initrd'.
50476 (GRUB_MOD_FINI): Unregister `initrd'.
50477 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
50478 Function removed.
50479 (grub_linux_normal_fini): Likewise.
50480 (GRUB_MOD_INIT): Register `initrd'.
50481 (GRUB_MOD_FINI): Unregister `initrd'.
50482
50483 2005-01-31 Marco Gerards <metgerards@student.han.nl>
50484
50485 * commands/help.c: New file.
50486 * normal/arg.c (show_help): Renamed to...
50487 (grub_arg_show_help): ... this.
50488 * commands/i386/pc/halt.c: New file.
50489 * commands/i386/pc/reboot.c: Likewise.
50490 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
50491 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
50492 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
50493 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
50494 variables.
50495 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50496 `commands/help.c'.
50497 (pkgdata_MODULES): Add `help.mod'.
50498 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
50499 * grub/i386/pc/init.h (grub_reboot): New prototype.
50500 (grub_halt): Likewise.
50501 * include/grub/normal.h (grub_arg_show_help): New prototype.
50502 (grub_help_init): Likewise.
50503 (grub_help_fini): Likewise.
50504 * util/grub-emu.c (main): Initialize and deinitialize the help
50505 command.
50506
50507 * normal/cmdline.c (grub_cmdline_get): Doc fix.
50508
50509 * normal/command.c (grub_command_init): Fixed the description of
50510 the `set' and `unset' commands.
50511
50512 2005-01-31 Marco Gerards <metgerards@student.han.nl>
50513
50514 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
50515 function.
50516 * commands/ieee1275/halt.c: New file.
50517 * commands/ieee1275/reboot.c: Likewise.
50518 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
50519 `__attribute__ ((unused))'. Some GCS related fixed.
50520 (grub_suspend_init) [GRUB_UTIL]: Function removed.
50521 (grub_suspend_fini): Likewise.
50522 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
50523 and `halt.mod'.
50524 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
50525 (halt_mod_CFLAGS): New variables.
50526 * include/grub/powerpc/ieee1275/ieee1275.h
50527 (grub_ieee1275_interpret): New prototype.
50528
50529 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
50530
50531 * include/grub/misc.h (memmove): New prototype.
50532 (memcpy): Likewise.
50533
50534 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
50535
50536 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
50537 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
50538
50539 2005-01-22 Marco Gerards <metgerards@student.han.nl>
50540
50541 * kern/misc.c (grub_strndup): Function rewritten.
50542
50543 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
50544
50545 * normal/menu.c (TERM_WIDTH): Macro redefined.
50546 (TERM_TOP_BORDER_Y): Likewise.
50547 (draw_border): Replaced while-loop by a for-loop. Make the number
50548 of lines consistent with the number of lines displayed in
50549 print_entries. Added a margin below the rectangle.
50550 (print_entry): Make the entry fit in the rectangle.
50551 (print_entries): Display the scroll arrows next to the right
50552 border.
50553
50554 2005-01-21 Marco Gerards <metgerards@student.han.nl>
50555
50556 * fs/minix.c (grub_minix_find_file): Reserve more space for
50557 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
50558 `grub_strncpy' to copy `path' into it.
50559
50560 2005-01-21 Marco Gerards <metgerards@student.han.nl>
50561
50562 Add the loopback device, a device via which files can be accessed
50563 as devices.
50564
50565 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
50566 (pkgdata_MODULES): Add loopback.mod.
50567 (loopback_mod_SOURCES): New variable.
50568 (loopback_mod_CFLAGS): Likewise.
50569 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50570 `disk/loopback.c'.
50571 (pkgdata_MODULES): Add loopback.mod.
50572 (loopback_mod_SOURCES): New variable.
50573 (loopback_mod_CFLAGS): Likewise.
50574 * disk/loopback.c: new file.
50575 * include/grub/normal.h (grub_loop_init): New prototype.
50576 (grub_loop_fini): New prototype.
50577 * util/grub-emu.c (main): Initialize and de-initialize loopback
50578 support.
50579 * include/grub/disk.h (grub_disk_dev_id): Add
50580 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
50581
50582 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
50583
50584 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
50585 function.
50586 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
50587 (suspend_mod_SOURCES): New variable.
50588 (suspend_mod_CFLAGS): Likewise.
50589 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
50590 New prototype.
50591 * commands/ieee1275/suspend.c: New file.
50592
50593 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50594
50595 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
50596 ((unused))' to `__attribute__ ((used))'.
50597 (GRUB_MOD_FINI): Likewise.
50598 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
50599 * genmk.rb (PModule): Assign space to common symbols when linking
50600 modules.
50601
50602 2005-01-20 Marco Gerards <metgerards@student.han.nl>
50603
50604 * include/grub/mm.h (grub_mm_init_region): Change the type of the
50605 `unsigned' arguments to `grub_size_t'.
50606 (grub_malloc): Likewise.
50607 (grub_realloc): Likewise.
50608 (grub_memalign): Likewise.
50609 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
50610 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
50611 * util/misc.c (grub_malloc): Likewise.
50612 (grub_realloc): Likewise.
50613 * kern/mm.c (get_header_from_pointer): Change the casts to
50614 `unsigned' into a cast to `grub_size_t'.
50615
50616 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
50617 point to `currnode' when `currnode' is changed.
50618
50619 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
50620 Schottelius <nico-linux@schottelius.org>.
50621
50622 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
50623
50624 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
50625 (note_path): Remove variable.
50626 (GRUB_IEEE1275_NOTE_NAME): New macro.
50627 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
50628 (grub_ieee1275_note_hdr): New structure.
50629 (grub_ieee1275_note_desc): Likewise.
50630 (grub_ieee1275_note): Likewise.
50631 (load_note): Remove `dir' argument. All callers updated. Remove
50632 `note_img' and `path'. Do not load a file from `note_path'.
50633 Initialize a struct grub_ieee1275_note and write that to `out'.
50634 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
50635
50636 2005-01-05 Marco Gerards <metgerards@student.han.nl>
50637
50638 * util/misc.c (grub_util_read_image): Revert last change. It
50639 called `grub_util_read_at', which seeks from the beginning of the
50640 file.
50641
50642 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
50643
50644 * TODO: Add note about endianness in grub-mkimage.
50645 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
50646 section.
50647 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
50648 (grub_mkimage_SOURCES): New target.
50649 * include/grub/kernel.h (grub_start_addr): Remove variable.
50650 (grub_end_addr): Likewise.
50651 (grub_total_module_size): Likewise.
50652 (grub_kernel_image_size): Likewise.
50653 (GRUB_MODULE_MAGIC): New constant.
50654 (grub_module_info): New structure.
50655 (grub_arch_modules_addr): New prototype.
50656 (grub_get_end_addr): Remove prototype.
50657 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
50658 * include/grub/powerpc/ieee1275/kernel.h: New file.
50659 * include/grub/util/misc.h (grub_util_get_fp_size): New
50660 prototype.
50661 (grub_util_read_at): Likewise.
50662 (grub_util_write_image_at): Likewise.
50663 * kern/main.c (grub_get_end_addr): Remove function.
50664 (grub_load_modules): Call grub_arch_modules_addr instead of using
50665 grub_end_addr. Look for a grub_module_info struct in memory. Use
50666 the grub_module_info fields instead of calling grub_get_end_addr
50667 as loop conditions. Move grub_add_unused_region code here.
50668 (grub_add_unused_region): Remove function.
50669 * kern/i386/pc/init.c: Include grub/cache.h.
50670 (grub_machine_init): Remove call to grub_get_end_addr. Remove
50671 one call to add_mem_region.
50672 (grub_arch_modules_addr): New function.
50673 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
50674 (grub_total_module_size): Likewise.
50675 Include grub/machine/kernel.h.
50676 (grub_arch_modules_addr): New function.
50677 * util/grub-emu.c (grub_end_addr): Remove variable.
50678 (grub_total_module_size): Likewise.
50679 (grub_arch_modules_addr): New function.
50680 * util/misc.c: Include unistd.h.
50681 (grub_util_get_fp_size): New function.
50682 (grub_util_read_at): Likewise.
50683 (grub_util_write_image_at): Likewise.
50684 (grub_util_read_image): Call grub_util_read_at.
50685 (grub_util_write_image): Call grub_util_write_image_at.
50686 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
50687 additional memory in kernel_img for a struct grub_module_info.
50688 Fill in that grub_module_info.
50689 * util/powerpc/ieee1275/grub-mkimage.c: New file.
50690
50691 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
50692
50693 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
50694 New function.
50695 * include/grub/powerpc/ieee1275/ieee1275.h
50696 (grub_ieee1275_milliseconds): New prototype.
50697 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
50698 Change to 1000.
50699 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
50700 grub_ieee1275_milliseconds.
50701
50702 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
50703
50704 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
50705 variable.
50706 (find_options): New function.
50707 (cmain): Call find_options.
50708 * include/grub/powerpc/ieee1275/ieee1275.h
50709 (grub_ieee1275_realmode): New extern variable.
50710 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
50711 grub_map if grub_ieee1275_realmode is false.
50712
50713 2004-12-29 Marco Gerards <metgerards@student.han.nl>
50714
50715 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
50716 lines are inserted and make it work like readline. Reported by
50717 Vincent Pelletier <subdino2004@yahoo.fr>.
50718
50719 2004-12-28 Marco Gerards <metgerards@student.han.nl>
50720
50721 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
50722
50723 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
50724 `kern/powerpc/cache.S'.
50725
50726 2004-12-27 Marco Gerards <metgerards@student.han.nl>
50727
50728 * genmk.rb: Handle the `Program' class in the main loop. Written
50729 by Johan Rydberg <jrydberg@gnu.org>.
50730 (Program): New class.
50731 (programs): New variable.
50732 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
50733 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
50734 instead of "grub/kernel.h". Include <grub/machine/init.h>.
50735 (help_arch): Function removed.
50736 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
50737 `powerpc/libgcc.h' and `loader.h'.
50738 (pkgdata_PROGRAMS): New variable.
50739 (sbin_UTILITIES): Variable removed.
50740 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
50741 (grubof_SOURCES): Variable re-defined so it only includes the
50742 core functionality.
50743 (grubof_CFLAGS): Remove `-DGRUBOF'.
50744 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
50745 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
50746 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
50747 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
50748 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
50749 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
50750 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
50751 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
50752 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
50753 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
50754 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
50755 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
50756 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
50757 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
50758 (pc_mod_CFLAGS): New variables.
50759 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
50760 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
50761 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
50762 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
50763 Moved from here...
50764 * include/grub/i386/pc/init.h (grub_os_area_addr)
50765 (rub_os_area_size): ... to here.
50766 * include/grub/powerpc/ieee1275/ieee1275.h
50767 (grub_ieee1275_entry_fn): Export symbol.
50768 * include/grub/powerpc/ieee1275/init.h: New file.
50769 * include/grub/powerpc/libgcc.h: Likewise.
50770 * include/grub/cache.h: Likewise.
50771 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
50772 <hollis@penguinppc.org>.
50773 * kern/dl.c: Include <grub/cache.h>.
50774 (grub_dl_flush_cache): New function.
50775 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
50776 for this module.
50777 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
50778 (grub_console_init): Removed prototypes.
50779 (grub_machine_init): Don't initialize the modules anymore.
50780 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
50781 static.
50782 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
50783 Macro undef removed.
50784 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
50785 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
50786 relocation `R_PPC_REL32'. Return an error when the relocation is
50787 unknown.
50788 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
50789 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
50790 * util/misc.c (grub_arch_sync_caches): Likewise.
50791
50792 2004-12-19 Marco Gerards <metgerards@student.han.nl>
50793
50794 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
50795 `symlist.c', add `grubof_symlist.c'.
50796 (symlist.c): Variable removed.
50797 (grubof_HEADERS): Variable added.
50798 (grubof_symlist.c): New target.
50799 (kernel_syms.lst): Use `grubof_HEADERS' instead of
50800 `kernel_img_HEADERS'.
50801 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
50802 * kern/powerpc/dl.c: New file.
50803 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
50804 Function removed.
50805 (grub_arch_dl_relocate_symbols): Likewise.
50806 (grub_register_exported_symbols): Likewise.
50807
50808 2004-12-13 Marco Gerards <metgerards@student.han.nl>
50809
50810 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
50811 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
50812 to fail instead. Reported by Vincent Pelletier
50813 <subdino2004@yahoo.fr>.
50814
50815 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
50816 it is not allocated. Reported by Vincent Pelletier
50817 <subdino2004@yahoo.fr>.
50818
50819 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
50820 output so the output looks better.
50821
50822 2004-12-04 Marco Gerards <metgerards@student.han.nl>
50823
50824 Modulize the partition map support and add support for the amiga
50825 partition map.
50826
50827 * commands/ls.c: Include <grub/partition.h> instead of
50828 <grub/machine/partition.h>.
50829 * kern/disk.c: Likewise.
50830 * kern/rescue.c: Likewise.
50831 * loader/i386/pc/chainloader.c: Likewise.
50832 * normal/cmdline.c: Likewise.
50833 * kern/powerpc/ieee1275/init.c: Likewise.
50834 (grub_machine_init): Call `grub_pc_partition_map_init',
50835 `grub_amiga_partition_map_init' and
50836 `grub_apple_partition_map_init'.
50837 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
50838 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
50839 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
50840 `partition.h' and `pc_partition.h'.
50841 (grub_setup_SOURCES): Remove
50842 `disk/i386/pc/partition.c'. Add `kern/partition.c',
50843 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
50844 (grub_emu_SOURCES): Likewise.
50845 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
50846 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
50847 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
50848 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
50849 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
50850 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
50851 (grubof_SOURCES): Likewise.
50852 * disk/i386/pc/partition.c: File removed.
50853 * disk/powerpc/ieee1275/partition.c: Likewise.
50854 * include/grub/powerpc/ieee1275/partition.h: Likewise.
50855 * include/grub/i386/pc/partition.h: Likewise.
50856 * kern/partition.c: New file.
50857 * partmap/amiga.c: Likewise.
50858 * partmap/apple.c: Likewise.
50859 * partmap/pc.c: Likewise.
50860 * include/grub/partition.h: Likewise..
50861 * include/grub/pc_partition.h: Likewise.
50862 * util/grub-emu.c: Include <grub/partition.h> instead of
50863 <grub/machine/partition.h>.
50864 (main): Call `grub_pc_partition_map_init',
50865 `grub_amiga_partition_map_init' and
50866 `grub_apple_partition_map_init' and deinitialize afterwards.
50867 * util/i386/pc/biosdisk.c: Include `#include
50868 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
50869 `<grub/machine/partition.h>'.
50870 * util/i386/pc/grub-setup.c: Likewise.
50871 * util/i386/pc/biosdisk.c: Likewise.
50872 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
50873 partition information in case of a PC partition.
50874 * util/i386/pc/grub-setup.c: Include `#include
50875 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
50876 `<grub/machine/partition.h>'.
50877 (setup): Only access the PC specific partition information in case
50878 of a PC partition.
50879
50880 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
50881
50882 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
50883 (grub_longjmp): Likewise.
50884 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
50885 20.
50886 * normal/powerpc/setjmp.S: New file.
50887 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
50888 `normal/powerpc/setjmp.S'.
50889 (grubof_CFLAGS): Add `-DGRUBOF'.
50890 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
50891 [GRUB_UTIL && !GRUBOF].
50892
50893 2004-11-16 Marco Gerards <metgerards@student.han.nl>
50894
50895 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
50896 property named `name'. Correctly handle the error returned by
50897 `grub_ieee1275_finddevice' if a device can not be opened.
50898
50899 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
50900
50901 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
50902 `actual' for negativity.
50903 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
50904 kern/fshelp.c.
50905
50906 2004-11-01 Marco Gerards <metgerards@student.han.nl>
50907
50908 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
50909 (PAGE_OFFSET): New macro.
50910 (CRTC_ADDR_PORT): Likewise.
50911 (CRTC_DATA_PORT): Likewise.
50912 (START_ADDR_HIGH_REGISTER): Likewise.
50913 (START_ADDR_LOW_REGISTER): Likewise.
50914 (GRAPHICS_ADDR_PORT): Likewise.
50915 (GRAPHICS_DATA_PORT): Likewise.
50916 (READ_MAP_REGISTER): Likewise.
50917 (INPUT_STATUS1_REGISTER): Likewise.
50918 (INPUT_STATUS1_VERTR_BIT): Likewise.
50919 (page): New variable.
50920 (wait_vretrace): New function.
50921 (set_read_map): Likewise.
50922 (set_start_address): Likewise.
50923 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
50924 the right page.
50925 (check_vga_mem): Take the page into account.
50926 (write_char): Likewise.
50927 (write_cursor): Likewise.
50928 (scroll_up): Likewise. Copy the page to the page that is not
50929 shown and switch between both pages.
50930 (grub_vga_putchar): Fix off by one error.
50931 (grub_vga_cls): Wait for the vertical retrace. Take the page into
50932 account.
50933
50934 2004-11-01 Marco Gerards <metgerards@student.han.nl>
50935
50936 Add support for iso9660 (including rockridge).
50937
50938 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
50939 (iso9660_mod_SOURCES): New variable.
50940 (iso9660_mod_CFLAGS): Likewise.
50941 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
50942 * include/grub/fs.h (grub_iso9660_init): New prototype.
50943 * util/grub-emu.c (main): Call `grub_iso9660_init'.
50944 * fs/iso9660.c: New file.
50945
50946 * include/grub/misc.h (grub_strncat): New prototype.
50947 * kern/misc.c (grub_strncat): New function.
50948
50949 * fs/hfs.c (grub_hfs_mount): Translate the error
50950 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
50951 * fs/jfs.c (grub_jfs_mount): Likewise.
50952 * fs/ufs.c (grub_ufs_mount): Likewise.
50953
50954 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
50955
50956 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
50957 which initialized BAT registers.
50958 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
50959 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
50960 Move from here...
50961 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
50962 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
50963 ... to here.
50964 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
50965 (grub_mapclaim): Likewise.
50966 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
50967 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
50968 hand.
50969
50970 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
50971
50972 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
50973 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
50974 -ffreestanding and -msoft-float.
50975
50976 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
50977
50978 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
50979 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
50980 set in grub_ieee1275_flags.
50981
50982 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
50983
50984 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
50985 prototype.
50986 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
50987 grub_console_init first.
50988 Change the memory range used for grub_ieee1275_claim and
50989 grub_mm_init_region.
50990 Print an error message if the claim fails.
50991 Include <grub/misc.h>.
50992
50993 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
50994
50995 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
50996 Call grub_children_iterate for device nodes of type `scsi',
50997 `ide', or `ata'.
50998 (grub_ofdisk_open): Remove manual device alias resolution.
50999 Fix memory leak when device cannot be opened.
51000 * include/grub/powerpc/ieee1275/ieee1275.h
51001 (grub_children_iterate): New prototype.
51002 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
51003 New function.
51004 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
51005 Return -1 if args.size was -1.
51006
51007 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51008
51009 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
51010 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
51011 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
51012 Open Firmware's memory for it; claim memory from _start to _end.
51013 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
51014 (_end): New extern.
51015 (_start): Zero BSS from __bss_start to _end.
51016 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
51017 New extern.
51018 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
51019
51020 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51021
51022 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
51023 -1 if args.base was -1.
51024
51025 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
51026
51027 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
51028 escape sequence instead of a literal ^L. Also call
51029 grub_ofconsole_gotoxy.
51030
51031 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
51032
51033 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
51034 void * arguments to grub_addr_t. All callers updated. Also make
51035 the `result' argument optional.
51036 (grub_ieee1275_release): change void * arguments to grub_addr_t.
51037 All callers updated.
51038
51039 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
51040
51041 * commands/ls.c (grub_ls_list_files): Use the string following the
51042 initial ')', if present, as the filesystem path.
51043 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
51044
51045 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
51046
51047 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
51048
51049 Make the source code of the menu interface more readable.
51050
51051 * normal/menu.c: Include grub/mm.h.
51052 (TERM_WIDTH): New macro.
51053 (TERM_HEIGHT): Likewise.
51054 (TERM_INFO_HEIGHT): Likewise.
51055 (TERM_MARGIN): Likewise.
51056 (TERM_SCROLL_WIDTH): Likewise.
51057 (TERM_TOP_BORDER_Y): Likewise.
51058 (TERM_LEFT_BORDER_X): Likewise.
51059 (TERM_BORDER_WIDTH): Likewise.
51060 (TERM_MESSAGE_HEIGHT): Likewise.
51061 (TERM_BORDER_HEIGHT): Likewise.
51062 (TERM_NUM_ENTRIES): Likewise.
51063 (TERM_FIRST_ENTRY_Y): Likewise.
51064 (TERM_ENTRY_WIDTH): Likewise.
51065 (TERM_CURSOR_X): Likewise.
51066 (draw_border): Use macros instead of magic numbers.
51067 (print_entry): Likewise.
51068 (print_entries): Likewise.
51069 (run_menu): Likewise. Also, handle the key 'e'.
51070 (run_menu_entry): Ignore empty command lines.
51071 (print_message): Added a new argument EDIT. If EDIT is true,
51072 print a different message.
51073 (init_page): Likewise.
51074 (edit_menu_entry): New function. Not implemented yet.
51075
51076 2004-09-17 Marco Gerards <metgerards@student.han.nl>
51077
51078 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
51079 can be loaded from normal mode.
51080
51081 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
51082 `multiboot.mod'.
51083 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
51084 (multiboot_mod_CFLAGS): New variables.
51085 * loader/i386/pc/linux_normal.c: New file.
51086 * loader/i386/pc/multiboot_normal.c: Likewise.
51087
51088 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
51089 attribute `unused'.
51090
51091 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
51092 `fdiro' to read the mode information from instead of `diro'.
51093
51094 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
51095 looking up a symlink.
51096
51097 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
51098 macro.
51099 * normal/command.c (grub_command_execute): Don't parse the
51100 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
51101 flags of the command.
51102
51103 * normal/menu.c (grub_menu_run): Fix typo.
51104
51105 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
51106
51107 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
51108
51109 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
51110 `y + 1' instead of `y - 1'.
51111
51112 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
51113
51114 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
51115
51116 From Hollis Blanchard <hollis@penguinppc.org>:
51117 * kern/misc.c (memmove): New alias for grub_memmove.
51118 (memcmp): New alias for grub_memcmp.
51119 (memset): New alias for grub_memset.
51120 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
51121 Change "int handle" to "grub_ieee1275_phandle_t handle".
51122 * include/grub/powerpc/ieee1275/ieee1275.h
51123 (grub_ieee1275_get_property): Likewise.
51124
51125 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
51126
51127 Added normal mode command `chainloader' as module chain.mod, which
51128 depends on normal.mod and _chain.mod.
51129
51130 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
51131 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
51132 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
51133 Deleted prototype.
51134 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
51135 but arguments parsing moved to ...
51136 (grub_chainloader_cmd): ... here. New function.
51137 * include/grub/i386/pc/chainloader.h: New file.
51138 * loader/i386/pc/chainloader_normal.c: Likewise.
51139
51140 2004-09-11 Marco Gerards <metgerards@student.han.nl>
51141
51142 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
51143 (grub_mkimage_LDFLAGS): Likewise.
51144 (grub_emu_SOURCES): Likewise.
51145 (kernel_img_HEADERS): Added fshelp.h.
51146 * fs/ext2.c: Include <grub/fshelp.h>.
51147 (FILETYPE_REG): New macro.
51148 (FILETYPE_INO_REG): Likewise.
51149 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
51150 Changed all users.
51151 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
51152 all users.
51153 (grub_fshelp_node): New struct.
51154 (grub_ext2_data): Added member `diropen'. Changed member `inode'
51155 to a pointer.
51156 (grub_ext2_get_file_block): Removed function.
51157 (grub_ext2_read_block): New function.
51158 (grub_ext2_read_file): Replaced parameter `data' by `node'.
51159 This function was written.
51160 (grub_ext2_mount): Read the root inode. Create a diropen struct.
51161 (grub_ext2_find_file): Removed function.
51162 (grub_ext2_read_symlink): New function.
51163 (grub_ext2_iterate_dir): Likewise.
51164 (grub_ext2_open): Rewritten.
51165 (grub_ext2_dir): Rewritten.
51166 * include/grub/fshelp.h: New file.
51167 * fs/fshelp.c: Likewise.
51168
51169 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
51170
51171 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
51172 (print_message): Add a missing newline.
51173 (run_menu): Added timeout support.
51174 (run_menu_entry): New local function.
51175 (grub_menu_run): Added support for booting.
51176
51177 * kern/loader.c (grub_loader_is_loaded): New function.
51178
51179 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
51180 (grub_get_rtc): Exported.
51181
51182 * include/grub/i386/pc/time.h: Include grub/symbol.h.
51183 (grub_get_rtc): Exported.
51184
51185 * include/grub/normal.h (struct grub_command_list): Remove
51186 constant from the member `command'.
51187
51188 * include/grub/loader.h (grub_loader_is_loaded): Declared.
51189
51190 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
51191
51192 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
51193
51194 2004-08-28 Marco Gerards <metgerards@student.han.nl>
51195
51196 Add support for the JFS filesystem.
51197
51198 * fs/jfs.c: New file.
51199 * include/grub/fs.h (grub_jfs_init): New prototype.
51200 (grub_jfs_fini): New prototype.
51201 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
51202 (grub_emu_SOURCES): Likewise.
51203 (pkgdata_MODULES): Add jfs.mod.
51204 (jfs_mod_SOURCES): New variable.
51205 (jfs_mod_CFLAGS): Likewise.
51206 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
51207 (grubof_SOURCES): Likewise.
51208 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
51209
51210 * fs/fat.c (grub_fat_find_dir): Convert the filename little
51211 endian to the host endian.
51212 (grub_fat_utf16_to_utf8): Move function from there...
51213 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
51214 the endianness of the source string anymore.
51215 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
51216
51217 2004-08-24 Marco Gerards <metgerards@student.han.nl>
51218
51219 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
51220 (grub_boot_fini) [GRUB_UTIL]: Likewise.
51221 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
51222 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
51223
51224 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
51225 (grub_hfs_iterate_dir): Make the function static. Add prototypes
51226 for `node_found' and `it_dir'.
51227 (grub_hfs_dir): Add prototype for `dir_hook'.
51228
51229 * fs/minix.c (grub_minix_get_file_block): Add prototype for
51230 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
51231 and `indir32' to silence a gcc warning.
51232
51233 * include/grub/fs.h (grub_hfs_init): New prototype.
51234 (grub_hfs_fini): Likewise.
51235
51236
51237 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
51238
51239 Each disk device has its own id now. This is useful to make use
51240 of multiple disk devices.
51241
51242 * include/grub/disk.h (grub_disk_dev_id): New enum.
51243 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
51244 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
51245
51246 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
51247 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
51248
51249 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
51250 GRUB_DISK_DEVICE_OFDISK_ID as an id.
51251
51252 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
51253 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
51254
51255 * include/grub/disk.h (struct grub_disk_dev): Added a new member
51256 "id" which is used by the cache manager.
51257
51258 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
51259 of just "GRUB".
51260
51261 2004-08-18 Marco Gerards <metgerards@student.han.nl>
51262
51263 * fs/hfs.c: New file.
51264 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
51265 (grub_emu_SOURCES): Likewise.
51266 (pkgdata_MODULES): Add hfs.mod.
51267 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
51268 (grubof_SOURCES): Likewise.
51269 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
51270
51271 * include/grub/misc.h (grub_strncasecmp): Add prototype.
51272 * kern/misc.c (grub_strncasecmp): Add function.
51273
51274 2004-08-14 Marco Gerards <metgerards@student.han.nl>
51275
51276 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
51277 with parentheses.
51278
51279 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
51280 (grub_ext2_dir): In case the directory entry type is unknown, read
51281 it from the inode.
51282
51283 2004-08-02 Peter Bruin <pjbruin@dds.nl>
51284
51285 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
51286 grub_load_linux instead of grub_rescue_cmd_linux as second
51287 argument of grub_rescue_register_command.
51288
51289 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
51290
51291 2004-07-27 Marco Gerards <metgerards@student.han.nl>
51292
51293 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
51294 function.
51295 * commands/boot.c: Remove the check for `GRUB_UTIL'.
51296 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
51297 `loader/powerpc/ieee1275/linux.c',
51298 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
51299 * include/grub/powerpc/ieee1275/ieee1275.h
51300 (grub_ieee1275_release): New prototype.
51301 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
51302 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
51303 normal, boot, linux and linux_normal.
51304 * loader/powerpc/ieee1275/linux.c: New file.
51305 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
51306
51307 2004-07-12 Marco Gerards <metgerards@student.han.nl>
51308
51309 * normal/arg.c (grub_arg_parse): Correct error handling after
51310 reallocating the argumentlist (check if `argl' is not null instead
51311 of checking if `args' is not null).
51312 * kern/mm.c (grub_realloc): Return the same pointer when using the
51313 same region, instead of returning the header address.
51314
51315 2004-07-11 Marco Gerards <metgerards@student.han.nl>
51316
51317 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
51318 one block instead of two when looking for the initial partition.
51319 (grub_partition_probe): Initialize the local variable `p' with 0.
51320 Use base 10 for the grub_strtoul call.
51321 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
51322 need for one local variable.
51323 (grub_strtoul): Don't add the new value to `num', instead of that
51324 just assign it.
51325
51326 2004-07-11 Marco Gerards <metgerards@student.han.nl>
51327
51328 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
51329 (pxeboot_img_SOURCES): New variable.
51330 (pxeboot_img_ASFLAGS): Likewise.
51331 (pxeboot_img_LDFLAGS): Likewise.
51332 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
51333 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
51334 <lode_leroy@hotmail.com>.
51335
51336 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
51337
51338 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
51339 there was no input.
51340
51341 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
51342
51343 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
51344 the history buffer logic.
51345
51346 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
51347
51348 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
51349 (FILETYPE_INO_SYMLINK): New macros.
51350 (grub_ext2_find_file): Check if the node is a directory using the
51351 inode stat information instead of using the filetype in the
51352 dirent. Exclude the first character of an absolute symlink.
51353 (grub_ext2_dir): Mask out the filetype part of the mode member of
51354 the inode.
51355
51356 2004-05-24 Marco Gerards <metgerards@student.han.nl>
51357
51358 Add support for UFS version 1 and 2. Add support for the minix
51359 filesystem version 1 and 2, both the variants with 14 and 30 long
51360 filenames.
51361
51362 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
51363 fs/minix.c.
51364 (grub_emu_SOURCES): Likewise.
51365 (pkgdata_MODULES): Add ufs.mod and minix.mod.
51366 (ufs_mod_SOURCES): New variable.
51367 (ufs_mod_CFLAGS): Likewise.
51368 (minix_mod_SOURCES): Likewise.
51369 (minix_mod_CFLAGS): Likewise.
51370 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
51371 fs/minix.c.
51372 (grubof_SOURCES): Likewise.
51373 * fs/ufs.c: New file.
51374 * fs/minix.c: New file.
51375 * include/grub/fs.h (grub_ufs_init): New prototype.
51376 (grub_ufs_fini): Likewise.
51377 (grub_minix_init): Likewise.
51378 (grub_minix_fini): Likewise.
51379 * util/grub-emu.c (main): Initialize and deinitialize UFS and
51380 minix fs.
51381
51382 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
51383
51384 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
51385 commands/ls.c, commands/terminal.c, commands/boot.c,
51386 commands/cmp.c and commands/cat.c.
51387 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
51388
51389 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
51390 "env.h"
51391
51392 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
51393
51394 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
51395 and grub_, respectively. Because the conversion is trivial and
51396 mechanical, I omit the details here. Please refer to the CVS
51397 if you need more information.
51398
51399 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
51400
51401 * include/pupa: Renamed to ...
51402 * include/grub: ... this.
51403 * util/i386/pc/pupa-mkimage.c: Renamed to ...
51404 * util/i386/pc/grub-mkimage.c: ... this.
51405 * util/i386/pc/pupa-setup.c: Renamed to ...
51406 * util/i386/pc/grub-setup.c: ... this.
51407 * util/pupa-emu.c: Renamed to ...
51408 * util/grub-emu.c: ... this.
51409
51410 2004-03-29 Marco Gerards <metgerards@student.han.nl>
51411
51412 Add support for the newworld apple macintosh (PPC). This has been
51413 tested on the powerbook 2000 only. It only adds support for
51414 generic ieee1275 functions, console and disk support. This should
51415 be easy to port to other architectures with support for Open
51416 Firmware.
51417
51418 * configure.ac: Accept the powerpc as host_cpu. In the case of
51419 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
51420 specific tests are only executed while building for the i386.
51421 Inverse test for crosscompile.
51422 * genmk.rb (Utility): Allow assembler files.
51423 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
51424 * conf/powerpc-ieee1275.rmk: New file.
51425 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
51426 * disk/powerpc/ieee1275/partition.c: Likewise.
51427 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
51428 * include/pupa/powerpc/ieee1275/console.h: Likewise.
51429 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
51430 * include/pupa/powerpc/ieee1275/time.h: Likewise.
51431 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
51432 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
51433 * include/pupa/powerpc/ieee1275/loader.h
51434 * include/pupa/powerpc/setjmp.h: Likewise.
51435 * include/pupa/powerpc/types.h: Likewise.
51436 * kern/powerpc/ieee1275/init.c: Likewise.
51437 * kern/powerpc/ieee1275/openfw.c: Likewise.
51438 * term/powerpc/ieee1275/ofconsole.c: Likewise.
51439
51440 These files were written by Johan Rydberg
51441 (jrydberg@night.trouble.net) and I only modified them slightly.
51442
51443 * boot/powerpc/ieee1275/cmain.c: New file.
51444 * boot/powerpc/ieee1275/crt0.S: Likewise.
51445 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
51446 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
51447
51448 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
51449
51450 * Makefile.in: Update copyright.
51451 * genmodsrc.sh: Likewise.
51452 * gensymlist.sh: Likewise.
51453 * term/i386/pc/vga.c: Indent correctly.
51454
51455 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
51456 bugreporting address.
51457 * util/i386/pc/pupa-setup.c (usage): Likewise,
51458 (main): Call pupa_ext2_init and pupa_ext2_fini.
51459
51460 * fs/fat.c (log2): Renamed to ...
51461 (fat_log2): ... this.
51462 All callers changed.
51463 * kern/misc.c (memcpy): Alias to pupa_memmove.
51464 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
51465 lvalue cast.
51466 * util/console.c (pupa_ncurses_fini): Return 0.
51467
51468 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
51469 Move fail label here.
51470 [__GNU__]: Don't warn when using stat.
51471 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
51472 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
51473 long int. Use strtol instead of strtoul.
51474
51475 2004-03-14 Marco Gerards <metgerards@student.han.nl>
51476
51477 * commands/boot.c: New file.
51478 * commands/cat.c: Likewise.
51479 * commands/cmp.c: Likewise.
51480 * commands/ls.c: Likewise.
51481 * commands/terminal.c: Likewise.
51482 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
51483 (pupa_register_command): Changed interface to match the new
51484 argument parser.
51485 (pupa_command_execute): Changed (almost rewritten) so it uses
51486 pupa_split_command. Added support for setting variables using the
51487 syntax `foo=bar'.
51488 (rescue_command): Changed to work with the new argument parser.
51489 (terminal_command): Moved from here to commands/terminal.c.
51490 (set_command): New function.
51491 (unset_command): New function.
51492 (insmod_command): New function.
51493 (rmmod_command): New function.
51494 (lsmod_command): New function.
51495 (pupa_command_init): Don't initialize the command terminal
51496 anymore. Initialize the commands set, unset, insmod, rmmod and
51497 lsmod.
51498 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
51499 (kernel_img_HEADERS): Add arg.h and env.h.
51500 (pupa_mkimage_LDFLAGS): Add kern/env.c.
51501 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
51502 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
51503 normal/arg.c.
51504 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
51505 terminal.mod.
51506 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
51507 (boot_mod_SOURCES): New variable.
51508 (terminal_mod_SOURCES): Likewise.
51509 (ls_mod_SOURCES): Likewise.
51510 (cmp_mod_SOURCES): Likewise.
51511 (cat_mod_SOURCES): Likewise.
51512
51513 * normal/arg.c: New file.
51514 * kern/env.c: Likewise.
51515 * include/pupa/arg.h: Likewise.
51516 * include/pupa/env.h: Likewise.
51517 * font/manager.c (font_command): Changed to match argument parsing
51518 interface changes.
51519 (PUPA_MOD_INIT): Likewise.
51520 * hello/hello.c (pupa_cmd_hello): Likewise.
51521 (PUPA_MOD_INIT): Likewise.
51522 * include/pupa/disk.h: Include <pupa/device.h>.
51523 (pupa_print_partinfo): New prototype.
51524 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
51525 (pupa_dl_get_prefix): Likewise.
51526 * include/pupa/misc.h: Include <pupa/err.h>.
51527 (pupa_isgraph): New prototype.
51528 (pupa_isdigit): Likewise.
51529 (pupa_split_cmdline): Likewise.
51530 * include/pupa/normal.h: Include <pupa/arg.h>.
51531 (pupa_command): Changed the prototype of the member `func' to
51532 match the argument parsing interface. Added member `options'.
51533 (pupa_register_command): Updated to match function.
51534 (pupa_arg_parse): New prototype.
51535 (pupa_hello_init) [PUPA_UTIL]: New prototype.
51536 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
51537 (pupa_ls_init) [PUPA_UTIL]: Likewise.
51538 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
51539 (pupa_cat_init) [PUPA_UTIL]: Likewise.
51540 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
51541 (pupa_boot_init) [PUPA_UTIL]: Likewise.
51542 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
51543 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
51544 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
51545 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
51546 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
51547 * kern/disk.c: Include <pupa/file.h>.
51548 (pupa_print_partinfo): New function.
51549 * kern/dl.c: Include <pupa/env.h>.
51550 (pupa_dl_dir): Variable removed.
51551 (pupa_dl_load): Use the environment variable `prefix' instead of
51552 the variable pupa_dl_dir.
51553 (pupa_dl_set_prefix): Function removed.
51554 (pupa_dl_get_prefix): Likewise.
51555 * kern/i386/pc/init.c: Include <pupa/env.h>.
51556 (pupa_machine_init): Use the environment variable `prefix' instead of
51557 using pupa_dl_set_prefix to set the prefix.
51558 * kern/main.c: Include <pupa/env.h>.
51559 (pupa_set_root_dev): Use the environment variable `prefix' instead of
51560 using pupa_dl_get_prefix to get the prefix.
51561 * kern/misc.c: Include <pupa/env.h>.
51562 (pupa_isdigit): New function.
51563 (pupa_isgraph): Likewise.
51564 (pupa_ftoa): Likewise.
51565 (pupa_vsprintf): Added support for printing values of the type
51566 `double'. Make it possible to format variable output when using
51567 formatting like `%1.2%f'.
51568 (pupa_split_cmdline): New function.
51569 * kern/rescue.c: Include <pupa/env.h>.
51570 (next_word): Removed function.
51571 (pupa_rescue_cmd_prefix): Likewise.
51572 (pupa_rescue_cmd_set): New function.
51573 (pupa_rescue_cmd_unset): New function.
51574 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
51575 split the command line instead of splitting it here. Added
51576 support for setting variables using the syntax `foo=bar'. Don't
51577 initialize the prefix command anymore. Initialized the set and
51578 unset commands.
51579 * normal/cmdline.c: Include <pupa/env.h>.
51580 (pupa_tab_complete): Added prototypes for print_simple_completion,
51581 print_partition_completion, add_completion, iterate_commands,
51582 iterate_dev, iterate_part and iterate_dir. Moved code to print
51583 partition information from here to kern/disk.c.
51584 (pupa_cmdline_run): Don't check if the function exists anymore.
51585 * normal/main.c: Include <pupa/env.h>.
51586 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
51587 instead of using pupa_dl_get_prefix to get the prefix.
51588 * term/i386/pc/vga.c: Include <pupa/arg.h>.
51589 (check_vga_mem): Cast pointers to `void *' to silence a gcc
51590 warning.
51591 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
51592 (pupa_vga_setcolor): Declare unused variables with `__attribute__
51593 ((unused))' to silence a gcc warning.
51594 (pupa_vga_setcolor): Likewise.
51595 (debug_command): Changed to match argument parsing
51596 interface changes.
51597 * util/pupa-emu.c: Include <pupa/env.h>.
51598 (options): Added 0's for unused fields to silence a gcc warning.
51599 (argp): Likewise.
51600 (main): Use the environment variable `prefix' instead of using
51601 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
51602 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
51603 and terminal.
51604
51605 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
51606 * util/misc.c: Include <malloc.h>.
51607 (pupa_malloc): Rewritten so errors are correctly reported.
51608 (pupa_realloc): Likewise.
51609 (pupa_memalign): Likewise.
51610 (pupa_mm_init_region): Declare unused variables with
51611 `__attribute__ ((unused))' to silence a gcc warning.
51612 * normal/i386/setjmp.S: Remove tab at the end of the file to
51613 silence a gcc warning.
51614 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
51615 variables with `__attribute__ ((unused))' to silence a gcc
51616 warning.
51617 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
51618 local variable i unsigned to silence a gcc warning.
51619
51620 * kern/term.c: Include <pupa/misc.h>.
51621 (pupa_more_lines): New variable.
51622 (pupa_more): Likewise.
51623 (pupa_putcode): When the pager is active pause at the end of every
51624 screen.
51625 (pupa_set_more): New function.
51626 * include/pupa/term.h (pupa_set_more): New prototype.
51627
51628
51629 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
51630
51631 Now this project is GRUB 2 rather than PUPA. The location of
51632 the CVS repository was moved to GRUB's.
51633
51634 * configure.ac: Use bug-grub as the reporting address.
51635 Use GRUB instead of PUPA.
51636 Change the version number to 1.90.
51637
51638 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
51639
51640 * genkernsyms.sh: Updated copyright information.
51641 * genmk.rb: Likewise.
51642 * genmodsrc.sh: Likewise.
51643 * gensymlist.sh: Likewise.
51644 * boot/i386/pc/boot.S: Likewise.
51645 * boot/i386/pc/diskboot.S: Likewise.
51646 * disk/i386/pc/biosdisk.c: Likewise.
51647 * disk/i386/pc/partition.c: Likewise.
51648 * font/manager.c: Likewise.
51649 * fs/ext2.c: Likewise.
51650 * fs/fat.c: Likewise.
51651 * include/pupa/boot.h: Likewise.
51652 * include/pupa/device.h: Likewise.
51653 * include/pupa/disk.h: Likewise.
51654 * include/pupa/dl.h: Likewise.
51655 * include/pupa/elf.h: Likewise.
51656 * include/pupa/err.h: Likewise.
51657 * include/pupa/file.h: Likewise.
51658 * include/pupa/font.h: Likewise.
51659 * include/pupa/fs.h: Likewise.
51660 * include/pupa/kernel.h: Likewise.
51661 * include/pupa/loader.h: Likewise.
51662 * include/pupa/misc.h: Likewise.
51663 * include/pupa/mm.h: Likewise.
51664 * include/pupa/net.h: Likewise.
51665 * include/pupa/normal.h: Likewise.
51666 * include/pupa/rescue.h: Likewise.
51667 * include/pupa/setjmp.h: Likewise.
51668 * include/pupa/symbol.h: Likewise.
51669 * include/pupa/term.h: Likewise.
51670 * include/pupa/types.h: Likewise.
51671 * include/pupa/i386/setjmp.h: Likewise.
51672 * include/pupa/i386/types.h: Likewise.
51673 * include/pupa/i386/pc/biosdisk.h: Likewise.
51674 * include/pupa/i386/pc/boot.h: Likewise.
51675 * include/pupa/i386/pc/console.h: Likewise.
51676 * include/pupa/i386/pc/init.h: Likewise.
51677 * include/pupa/i386/pc/kernel.h: Likewise.
51678 * include/pupa/i386/pc/linux.h: Likewise.
51679 * include/pupa/i386/pc/loader.h: Likewise.
51680 * include/pupa/i386/pc/memory.h: Likewise.
51681 * include/pupa/i386/pc/multiboot.h: Likewise.
51682 * include/pupa/i386/pc/partition.h: Likewise.
51683 * include/pupa/i386/pc/time.h: Likewise.
51684 * include/pupa/i386/pc/vga.h: Likewise.
51685 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
51686 * include/pupa/util/getroot.h: Likewise.
51687 * include/pupa/util/misc.h: Likewise.
51688 * include/pupa/util/resolve.h: Likewise.
51689 * kern/device.c: Likewise.
51690 * kern/disk.c: Likewise.
51691 * kern/dl.c: Likewise.
51692 * kern/err.c: Likewise.
51693 * kern/file.c: Likewise.
51694 * kern/fs.c: Likewise.
51695 * kern/loader.c: Likewise.
51696 * kern/main.c: Likewise.
51697 * kern/misc.c: Likewise.
51698 * kern/mm.c: Likewise.
51699 * kern/rescue.c: Likewise.
51700 * kern/term.c: Likewise.
51701 * kern/i386/dl.c: Likewise.
51702 * kern/i386/pc/init.c: Likewise.
51703 * kern/i386/pc/lzo1x.S: Likewise.
51704 * kern/i386/pc/startup.S: Likewise.
51705 * loader/i386/pc/chainloader.c: Likewise.
51706 * loader/i386/pc/linux.c: Likewise.
51707 * loader/i386/pc/multiboot.c: Likewise.
51708 * normal/cmdline.c: Likewise.
51709 * normal/command.c: Likewise.
51710 * normal/main.c: Likewise.
51711 * normal/menu.c: Likewise.
51712 * normal/i386/setjmp.S: Likewise.
51713 * term/i386/pc/console.c: Likewise.
51714 * term/i386/pc/vga.c: Likewise.
51715 * util/console.c: Likewise.
51716 * util/genmoddep.c: Likewise.
51717 * util/misc.c: Likewise.
51718 * util/pupa-emu.c: Likewise.
51719 * util/resolve.c: Likewise.
51720 * util/unifont2pff.rb: Likewise.
51721 * util/i386/pc/biosdisk.c: Likewise.
51722 * util/i386/pc/getroot.c: Likewise.
51723 * util/i386/pc/pupa-mkimage.c: Likewise.
51724 * util/i386/pc/pupa-setup.c: Likewise.
51725
51726 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
51727
51728 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
51729 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
51730 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
51731 reading and reset it after reading.
51732 (pupa_ext2_close): Return PUPA_ERR_NONE.
51733
51734 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
51735 Correct value.
51736 (struct linux_kernel_header): Add kernel_version and
51737 initrd_addr_max.
51738 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
51739 pupa_file_read succeeds.
51740 (pupa_rescue_cmd_initrd): Implement.
51741
51742 2003-12-03 Marco Gerards <metgerards@student.han.nl>
51743
51744 * fs/ext2.c (pupa_ext2_label): New function.
51745 (pupa_ext2_fs): Added label.
51746 * fs/fat.c (pupa_fat_label): New function.
51747 (pupa_fat_fs): Added label.
51748 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
51749
51750 * kern/misc.c (pupa_strndup): New function.
51751 * include/pupa/misc.h (pupa_strndup): New prototype.
51752
51753 * include/pupa/normal.h: Include <pupa/err.h>.
51754 (pupa_set_history): New prototype.
51755 (pupa_iterate_commands): New prototype.
51756 * normal/cmdline.c: Include <pupa/machine/partition.h>,
51757 <pupa/disk.h>, <pupa/file.h>.
51758 (hist_size): New variable.
51759 (hist_lines): Likewise.
51760 (hist_end): Likewise.
51761 (hist_used): Likewise.
51762 (pupa_set_history): New function.
51763 (pupa_history_get): Likewise.
51764 (pupa_history_add): Likewise.
51765 (pupa_history_replace): Likewise.
51766 (pupa_tab_complete): Likewise.
51767 (pupa_cmdline_run): Added tab completion and history buffer. Tab
51768 completion shows partitionnames while completing partitions, this
51769 feature was suggested by Jeff Bailey.
51770 * normal/command.c (pupa_iterate_commands): New function.
51771 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
51772 (pupa_normal_init): Initialize history buffer.
51773 (PUPA_MOD_INIT): Likewise.
51774 (pupa_normal_fini): Free the history buffer.
51775 (PUPA_MOD_FINI): Likewise.
51776
51777 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
51778 key.
51779
51780 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
51781 * configure.ac [i386]: Check for regparam bug.
51782 (NESTED_FUNC_ATTR) [! i386]: Defined.
51783
51784 2003-11-17 Marco Gerards <metgerards@student.han.nl>
51785
51786 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
51787 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
51788 (pupa_emu_SOURCES): New variable.
51789 (pupa_emu_LDFLAGS): Likewise.
51790 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
51791 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
51792 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
51793 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
51794 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
51795 (pupa_jmp_buf): New typedef.
51796 (pupa_setjmp) [PUPA_UTIL]: New macro.
51797 (pupa_longjmp) [PUPA_UTIL]: Likewise.
51798 * include/pupa/term.h (struct pupa_term): New member `refresh'.
51799 (pupa_refresh): New prototype.
51800 * include/pupa/util/getroot.h: New file.
51801 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
51802 it.
51803 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
51804 (pupa_rescue_cmd_cat): Likewise.
51805 (pupa_rescue_cmd_ls): Likewise.
51806 (pupa_rescue_cmd_testload): Likewise.
51807 (pupa_rescue_cmd_lsmod): Likewise.
51808 * normal/cmdline.c (pupa_cmdline_get): Likewise.
51809 * normal/menu.c (run_menu): Likewise.
51810 * kern/term.c (pupa_cls): Likewise.
51811 (pupa_refresh): New function.
51812 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
51813 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
51814 * util/console.c: New file.
51815
51816 * util/i386/pc/getroot.c: New file.
51817 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
51818 (pupa_putchar): New function.
51819 (pupa_refresh): Likewise.
51820 (xgetcwd): Function moved to ...
51821 (strip_extra_slashes): Likewise.
51822 (get_prefix): Likewise.
51823 * util/i386/pc/getroot.c: ... here.
51824 (find_root_device): Function moved and renamed to...
51825 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
51826 Changed all callers.
51827 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
51828 and renamed to...
51829 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
51830 Changed all callers.
51831 * util/misc.c (pupa_memalign): New function.
51832 (pupa_mm_init_region): Likewise.
51833 (pupa_register_exported_symbols): Likewise.
51834 (pupa_putchar): Function removed.
51835 * util/pupa-emu.c: New file.
51836
51837 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
51838
51839 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
51840 (_multiboot_mod_SOURCES): New variable.
51841 (_multiboot_mod_CFLAGS): Likewise.
51842 * loader/i386/pc/multiboot.c: New file.
51843 * include/pupa/i386/pc/multiboot.h: Likewise.
51844 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
51845 (pupa_multiboot_real_boot): New function.
51846 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
51847 (pupa_multiboot_real_boot): New prototype.
51848 (pupa_rescue_cmd_multiboot): Likewise
51849 (pupa_rescue_cmd_module): Likewise.
51850
51851 * kern/loader.c (pupa_loader_set): Continue when
51852 pupa_loader_unload_func() fails.
51853 (pupa_loader_unset): New function.
51854 * include/pupa/loader.h (pupa_loader_unset): New prototype.
51855
51856 * kern/misc.c (pupa_stpcpy): New function.
51857 * include/pupa/misc.h (pupa_stpcpy): New prototype.
51858
51859 2003-11-12 Marco Gerards <metgerards@student.han.nl>
51860
51861 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
51862 for available extensions.
51863
51864 * include/pupa/i386/pc/time.h: New file.
51865 * kern/disk.c: Include <pupa/machine/time.h>.
51866 (PUPA_CACHE_TIMEOUT): New macro.
51867 (pupa_last_time): New variable.
51868 (pupa_disk_open): Flush the cache when there was a timeout.
51869 (pupa_disk_close): Reset the timer.
51870 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
51871 pupa_currticks.
51872 * util/misc.c: Include <sys/times.h>
51873 (pupa_get_rtc): New function.
51874
51875 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
51876
51877 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
51878 as blocks.
51879 (pupa_ext2_get_file_block): Use blocks member.
51880
51881 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
51882 first block. Return -1 instead of pupa_errno on error.
51883
51884 2003-10-27 Marco Gerards <metgerards@student.han.nl>
51885
51886 * README: In the pupa-mkimage example use _chain instead of chain
51887 and ext2 instead of fat.
51888 * TODO: Replace ext2fs with jfs as an example. Add an item for
51889 adding journal playback for ext2fs.
51890 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
51891 (pkgdata_MODULES): Added ext2.mod.
51892 (ext2_mod_SOURCES): New variable.
51893 (ext2_mod_CFLAGS): Likewise.
51894 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
51895 * include/pupa/misc.h (pupa_strncpy): New prototype.
51896 (pupa_strcat): Likewise.
51897 (pupa_strncmp): Likewise.
51898 * kern/misc.c (pupa_strcat): Enable function.
51899 (pupa_strncpy): New function.
51900 (pupa_strncmp): Likewise.
51901 * fs/ext2.c: New file.
51902
51903 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
51904 when the read failed before retrying.
51905 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
51906 (_FILE_OFFSET_BITS): Likewise.
51907 * configure.ac: Added AC_SYS_LARGEFILE.
51908
51909 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
51910
51911 * genmk.rb (PModule#rule): Make sure to get only symbol names
51912 from the output of nm.
51913 Reported by Robert Millan <rmh.grub@aybabtu.com>.
51914
51915 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
51916
51917 I forgot to check in these changes for a long time. This adds
51918 incomplete support for VGA console, and this is still very
51919 buggy. Also, a lot of consideration is required for I18N,
51920 UNICODE, and VGA font issues. Therefore, assume that this is
51921 such that "better than nothing".
51922
51923 * font/manager.c: New file.
51924 * include/pupa/font.h: Likewise.
51925 * include/pupa/i386/pc/vga.h: Likewise.
51926 * term/i386/pc/vga.c: Likewise.
51927 * util/unifont2pff.rb: Likewise.
51928
51929 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
51930 (pkgdata_MODULES): Added vga.mod and font.mod.
51931 (vga_mod_SOURCES): New variables.
51932 (vga_mod_CFLAGS): Likewise.
51933 (font_mod_SOURCES): Likewise.
51934 (font_mod_CFLAGS): Likewise.
51935
51936 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
51937
51938 * include/pupa/term.h: Include pupa/err.h.
51939 (struct pupa_term): Added init and fini.
51940 Changed the argument of putchar to pupa_uint32_t.
51941
51942 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
51943 (pupa_console_real_putchar): New prototype.
51944 (pupa_console_putchar): Removed.
51945 (pupa_console_checkkey): Exported.
51946 (pupa_console_getkey): Likewise.
51947
51948 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
51949 characters.
51950
51951 * kern/term.c (pupa_term_set_current): Rewritten.
51952 (pupa_putchar): Likewise.
51953 (pupa_putcode): New function.
51954
51955 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
51956 (pupa_console_real_putchar): ... this.
51957 (pupa_vga_set_mode): New function.
51958 (pupa_vga_get_font): Likewise.
51959
51960 * normal/command.c: Include pupa/term.h.
51961 (terminal_command): New function.
51962 (pupa_command_init): Register the command "terminal".
51963
51964 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
51965 (DISP_UP): Likewise.
51966 (DISP_RIGHT): Likewise.
51967 (DISP_DOWN): Likewise.
51968 (DISP_HLINE): Likewise.
51969 (DISP_VLINE): Likewise.
51970 (DISP_UL): Likewise.
51971 (DISP_UR): Likewise.
51972 (DISP_LL): Likewise.
51973 (DISP_LR): Likewise.
51974
51975 * term/i386/pc/console.c (pupa_console_putchar): New function.
51976
51977 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
51978
51979 * util/resolve.c (pupa_util_resolve_dependencies): BUG
51980 FIX. Reverse the path_list.
51981
51982 * include/pupa/normal.h: Export pupa_register_command and
51983 pupa_unregister_command.
51984
51985 * hello/hello.c (pupa_cmd_hello): New module.
51986 * conf/i386-pc.rmk: Added hello.mod.
51987
51988 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
51989
51990 * kern/i386/pc/lzo1x.S: New file.
51991
51992 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
51993 (compress_kernel): New variable.
51994 (generate_image): Heavily modified to support compressing a
51995 large part of the core image.
51996
51997 * util/misc.c (pupa_util_read_image): Fix a file descriptor
51998 leak.
51999 (pupa_util_load_image): New function.
52000
52001 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
52002 (pupa_compressed_size): New variable.
52003 (codestart): Enable Gate A20 here.
52004 Decompress the compressed part of the core image.
52005 Rearrange the code to put functions and variables which are
52006 required for initialization in the non-compressed part.
52007 Include lzo1x.S.
52008
52009 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
52010 here.
52011
52012 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
52013
52014 * include/pupa/i386/pc/kernel.h
52015 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
52016 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
52017 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
52018 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
52019 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
52020
52021 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
52022
52023 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
52024 (Utility#rule): Likewise.
52025
52026 * configure.ac: Check if LZO is available.
52027
52028 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
52029
52030 * include/pupa/normal.h: New file.
52031 * include/pupa/setjmp.h: Likewise.
52032 * include/pupa/i386/setjmp.h: Likewise.
52033 * normal/cmdline.c: Likewise.
52034 * normal/command.c: Likewise.
52035 * normal/main.c: Likewise.
52036 * normal/menu.c: Likewise.
52037 * normal/i386/setjmp.S: Likewise.
52038
52039 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
52040 (pupa_rescue_cmd_initrd): Likewise.
52041
52042 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
52043 Likewise.
52044
52045 * kern/i386/pc/startup.S (translation_table): New variable.
52046 (translate_keycode): New function.
52047 (pupa_console_getkey): Call translate_keycode.
52048
52049 * kern/rescue.c (attempt_normal_mode): New function.
52050 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
52051 it failed, print a message.
52052
52053 * kern/mm.c (pupa_real_malloc): Print more information when a
52054 free magic is broken.
52055 (pupa_free): If the first free header is not free actually, set
52056 it to P.
52057
52058 * kern/main.c (pupa_load_normal_mode): Just load the module
52059 "normal".
52060 (pupa_main): Don't print the message
52061 "Entering into rescue mode..." here.
52062
52063 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
52064 Declared.
52065 (pupa_rescue_cmd_initrd): Likewise.
52066 (pupa_rescue_cmd_initrd): Likewise.
52067
52068 * include/pupa/symbol.h (FUNCTION): Specify the type.
52069 (VARIABLE): Likewise.
52070
52071 * include/pupa/err.h (pupa_err_t): Added
52072 PUPA_ERR_UNKNOWN_COMMAND.
52073
52074 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
52075 (pupa_dl_get_prefix): Likewise.
52076
52077 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
52078 Added _chain.mod and _linux.mod instead of chain.mod and
52079 linux.mod.
52080 (chain_mod_SOURCES): Renamed to ...
52081 (_chain_mod_SOURCES): ... this.
52082 (chain_mod_CFLAGS): Renamed to ...
52083 (_chain_mod_CFLAGS): ... this.
52084 (linux_mod_SOURCES): Renamed to ...
52085 (_linux_mod_SOURCES): ... this.
52086 (linux_mod_CFLAGS): Renamed to ...
52087 (_linux_mod_CFLAGS): ... this.
52088 (normal_mod_SOURCES): New variable.
52089 (normal_mod_CFLAGS): Likewise.
52090 (normal_mod_ASFLAGS): Likewise.
52091
52092 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
52093
52094 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
52095 possible.
52096
52097 * kern/dl.c (pupa_dl_ref): Refer depending modules
52098 recursively.
52099 (pupa_dl_unref): Unrefer depending modules recursively.
52100 Don't call pupa_dl_unload implicitly, because PUPA can crash if
52101 a module is unloaded before one depending on that module is
52102 unloaded.
52103 (pupa_dl_unload): Unload depending modules explicitly,
52104 if possible.
52105
52106 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
52107
52108 * include/pupa/i386/pc/linux.h: New file.
52109 * loader/i386/pc/linux.c: Likewise.
52110
52111 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
52112 Removed.
52113 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
52114 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
52115 of PUPA_CHAINLOADER_BOOT_SECTOR.
52116
52117 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
52118 (pupa_linux_prot_size): New variable.
52119 (pupa_linux_tmp_addr): Likewise.
52120 (pupa_linux_real_addr): Likewise.
52121 (pupa_linux_boot_zimage): New function.
52122 (pupa_linux_boot_bzimage): Likewise.
52123
52124 * kern/i386/pc/init.c (struct mem_region): New structure.
52125 (MAX_REGIONS): New macro.
52126 (mem_regions): New variable.
52127 (num_regions): Likewise.
52128 (pupa_os_area_addr): Likewise.
52129 (pupa_os_area_size): Likewise.
52130 (pupa_lower_mem): Likewise.
52131 (pupa_upper_mem): Likewise.
52132 (add_mem_region): New function.
52133 (compact_mem_regions): Likewise.
52134 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
52135 the size of the conventional memory and that of so-called upper
52136 memory (before the first memory hole).
52137 Instead of adding each found region to free memory, use
52138 add_mem_region and add them after removing overlaps.
52139 Also, add only 1/4 of the upper memory to free memory. The rest
52140 is used for loading OS images. Maybe this is ad hoc, but this
52141 makes it much easier to relocate OS images when booting.
52142
52143 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
52144 (pupa_enter_rescue_mode): Don't register initrd and module.
52145
52146 * kern/mm.c: Include pupa/dl.h.
52147
52148 * kern/main.c: Include pupa/file.h and pupa/device.h.
52149
52150 * kern/loader.c (pupa_loader_load_module_func): Removed.
52151 (pupa_loader_load_module): Likewise.
52152
52153 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
52154 ``.o''.
52155
52156 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
52157 (pupa_linux_tmp_addr): Likewise.
52158 (pupa_linux_real_addr): Likewise.
52159 (pupa_linux_boot_zimage): Likewise.
52160 (pupa_linux_boot_bzimage): Likewise.
52161
52162 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
52163 (pupa_upper_mem): Likewise.
52164 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
52165 module is too dangerous.
52166
52167 * include/pupa/loader.h (pupa_os_area_addr): Declared.
52168 (pupa_os_area_size): Likewise.
52169 (pupa_loader_set): Remove the first argument. Loader doesn't
52170 manage modules or initrd any longer.
52171 (pupa_loader_load_module): Removed.
52172
52173 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
52174 (linux_mod_SOURCES): New variable.
52175 (linux_mod_CFLAGS): Likewise.
52176
52177 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
52178
52179 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
52180 the length of a blocklist correctly.
52181
52182 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
52183 Use ioctl only if the OS file is a block device.
52184 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
52185 not very useful for normal files.
52186
52187 * kern/main.c (pupa_set_root_dev): New function.
52188 (pupa_load_normal_mode): Likewise.
52189 (pupa_main): Call those above.
52190
52191 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
52192 pupa_uint16_t.
52193
52194 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
52195
52196 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
52197
52198 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
52199 (setup): Configure the installed partition information and the
52200 dl prefix.
52201
52202 * loader/i386/pc/chainloader.c (my_mod): New variable.
52203 (pupa_chainloader_unload): New function.
52204 (pupa_rescue_cmd_chainloader): Refer itself.
52205 (PUPA_MOD_INIT): Save its own module in MY_MOD.
52206
52207 * kern/i386/pc/startup.S (install_partition): Removed.
52208 (version_string): Likewise.
52209 (config_file): Likewise.
52210 (pupa_install_dos_part): New variable.
52211 (pupa_install_bsd_part): Likewise.
52212 (pupa_prefix): Likewise.
52213 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
52214
52215 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
52216 and pupa/misc.h.
52217 (make_install_device): New function.
52218 (pupa_machine_init): Set the dl prefix.
52219
52220 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
52221 (buf): Renamed to ...
52222 (linebuf): ... this.
52223 (pupa_rescue_cmd_prefix): New function.
52224 (pupa_rescue_cmd_insmod): Likewise.
52225 (pupa_rescue_cmd_rmmod): Likewise.
52226 (pupa_rescue_cmd_lsmod): Likewise.
52227 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
52228 rmmod and lsmod.
52229
52230 * kern/mm.c (pupa_memalign): If failed even after invalidating
52231 disk caches, unload unneeded modules and retry.
52232
52233 * kern/misc.c (pupa_memmove): New function.
52234 (pupa_memcpy): Removed.
52235 (pupa_strcpy): New function.
52236 (pupa_itoa): Made static.
52237
52238 * kern/dl.c (pupa_dl_iterate): New function.
52239 (pupa_dl_ref): Likewise.
52240 (pupa_dl_unref): Likewise.
52241 (pupa_dl_unload): Return if succeeded or not.
52242 (pupa_dl_unload_unneeded): New function.
52243 (pupa_dl_unload_all): Likewise.
52244 (pupa_dl_init): Renamed to ...
52245 (pupa_dl_set_prefix): ... this.
52246 (pupa_dl_get_prefix): New function.
52247
52248 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
52249 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
52250 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
52251 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
52252 (pupa_install_dos_part): Declared.
52253 (pupa_install_bsd_part): Likewise.
52254 (pupa_prefix): Likewise.
52255 (pupa_boot_drive): Likewise.
52256
52257 * include/pupa/types.h: Fix a typo.
52258
52259 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
52260 pupa_memmove.
52261 (pupa_memmove): Declared.
52262 (pupa_strcpy): Likewise.
52263
52264 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
52265 pupa_mod_init takes one argument, its own module.
52266 (pupa_dl_unload_unneeded): Declared.
52267 (pupa_dl_unload_all): Likewise.
52268 (pupa_dl_ref): Likewise.
52269 (pupa_dl_unref): Likewise.
52270 (pupa_dl_iterate): Likewise.
52271 (pupa_dl_init): Renamed to ...
52272 (pupa_dl_set_prefix): ... this.
52273 (pupa_dl_get_prefix): Declared.
52274
52275 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
52276 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
52277 unloaded.
52278 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
52279 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
52280
52281 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
52282 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
52283
52284 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
52285
52286 * util/i386/pc/pupa-setup.c (setup): Define the internal
52287 function find_first_partition_start at the top level, because GCC
52288 3.0.x cannot compile internal functions in deeper scopes
52289 correctly.
52290 (find_root_device): Use lstat instead of stat.
52291 Don't follow symbolic links.
52292 Fix the path-constructing code.
52293
52294 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
52295 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
52296 by a BLKGETSIZE ioctl first, because block devices don't fill
52297 the member st_mode of the structure stat on Linux.
52298 [__linux__] (linux_find_partition): Use a temporary buffer
52299 REAL_DEV for the working space. Copy it to DEV before returning.
52300 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
52301 buffer cache consistent.
52302 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
52303 strncmp. The previous value was merely wrong.
52304 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
52305
52306 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
52307 FAT size is 12. The previous value was merely wrong.
52308
52309 * kern/main.c (pupa_main): Don't split the starting message from
52310 newlines.
52311
52312 * kern/term.c (pupa_putchar): Put CR after LF instead of before
52313 LF, because BIOS goes crazy about character attributes in this
52314 case.
52315
52316 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
52317
52318 * include/i386/pc/util/biosdisk.h: New file.
52319 * util/i386/pc/biosdisk.c: Likewise.
52320 * util/i386/pc/pupa-setup.c: Likewise.
52321
52322 * Makefile.in (INCLUDE_DISTFILES): Added
52323 include/pupa/i386/pc/util/biosdisk.h.
52324 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
52325 directory util/i386/pc.
52326 (install-local): Added a rule for sbin_UTILITIES.
52327 (uninstall): Likewise.
52328
52329 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
52330
52331 * util/misc.c (xrealloc): New function.
52332 (pupa_malloc): Likewise.
52333 (pupa_free): Likewise.
52334 (pupa_realloc): Likewise.
52335 (pupa_stop): Likewise.
52336 (pupa_putchar): Likewise.
52337
52338 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
52339
52340 * include/pupa/util/misc.h (xrealloc): Declared.
52341
52342 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
52343 macro.
52344 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
52345 (PUPA_BOOT_MACHINE_BPB_END): ... this.
52346
52347 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
52348 [PUPA_UTIL] (pupa_fat_fini): Likewise.
52349
52350 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
52351 way should be implemented.
52352 [PUPA_UTIL] (pupa_fat_fini): Likewise.
52353
52354 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
52355 the size of NAME for safety.
52356 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
52357 0x88.
52358
52359 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
52360 (pupa_setup_SOURCES): Likewise.
52361
52362 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
52363
52364 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
52365
52366 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
52367 bunch of pushl's from pusha, because this destroys the return
52368 value.
52369
52370 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
52371
52372 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
52373 This means that any missing prototypes could be fatal. Also, you
52374 must take care when writing assembly code. See the comments at
52375 the beginning of startup.S, for more details.
52376
52377 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
52378 compilation mechanism.
52379 (pupa_chainloader_real_boot): Likewise.
52380 (pupa_biosdisk_rw_int13_extensions): Likewise.
52381 (pupa_biosdisk_rw_standard): Likewise.
52382 (pupa_biosdisk_check_int13_extensions): Likewise.
52383 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
52384 (pupa_biosdisk_get_diskinfo_standard): Likewise.
52385 (pupa_get_memsize): Likewise.
52386 (pupa_get_mmap_entry): Likewise.
52387 (pupa_console_putchar): Likewise.
52388 (pupa_console_setcursor): Likewise.
52389 (pupa_getrtsecs): Use pushl instead of push.
52390
52391 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
52392 memory instead of the stack for a mmap entry, because some
52393 BIOSes may ignore the maximum size and overflow.
52394
52395 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
52396
52397 * genmk.rb (PModule#rule): Compile automatically generated
52398 sources with module-specific CFLAGS as well as other sources.
52399
52400 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
52401
52402 * configure.ac: Check ld.
52403 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
52404 respectively, before checking endianness and sizes.
52405
52406 * Makefile.in (LD): New variable.
52407
52408 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
52409
52410 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
52411
52412 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
52413
52414 * Changelog: New file.
52415